@@ -30,144 +30,80 @@ import com.adobe.testing.s3mock.dto.Owner
30
30
*/
31
31
object CannedAclUtil {
32
32
@JvmStatic
33
- fun policyForCannedAcl (cannedAcl : ObjectCannedACL ): AccessControlPolicy {
34
- return when (cannedAcl) {
33
+ fun policyForCannedAcl (cannedAcl : ObjectCannedACL ): AccessControlPolicy =
34
+ when (cannedAcl) {
35
35
ObjectCannedACL .PRIVATE -> privateAcl()
36
36
ObjectCannedACL .PUBLIC_READ -> publicReadAcl()
37
37
ObjectCannedACL .PUBLIC_READ_WRITE -> publicReadWriteAcl()
38
38
ObjectCannedACL .AWS_EXEC_READ -> awsExecReadAcl()
39
39
ObjectCannedACL .AUTHENTICATED_READ -> authenticatedReadAcl()
40
40
ObjectCannedACL .BUCKET_OWNER_READ -> bucketOwnerReadAcl()
41
- ObjectCannedACL .BUCKET_OWNER_FULL_CONTROL -> bucketOwnerFulleControlAcl ()
41
+ ObjectCannedACL .BUCKET_OWNER_FULL_CONTROL -> bucketOwnerFullControlAcl ()
42
42
}
43
- }
44
43
45
- private fun bucketOwnerFulleControlAcl (): AccessControlPolicy {
46
- return AccessControlPolicy (
47
- Owner .DEFAULT_OWNER ,
48
- listOf<Grant >(
49
- Grant (
50
- CanonicalUser (
51
- Owner .DEFAULT_OWNER .displayName, Owner .DEFAULT_OWNER .id
52
- ),
53
- Grant .Permission .FULL_CONTROL
54
- ),
55
- Grant (
56
- CanonicalUser (
57
- Owner .DEFAULT_OWNER_BUCKET .displayName, Owner .DEFAULT_OWNER_BUCKET .id
58
- ),
59
- Grant .Permission .READ
60
- )
61
- )
44
+ private val defaultOwner = Owner .DEFAULT_OWNER
45
+ private val defaultOwnerUser = CanonicalUser (defaultOwner.displayName, defaultOwner.id)
46
+
47
+ private fun policyWithOwner (vararg additionalGrants : Grant ): AccessControlPolicy =
48
+ AccessControlPolicy (
49
+ defaultOwner,
50
+ listOf (Grant (defaultOwnerUser, Grant .Permission .FULL_CONTROL )) + additionalGrants
51
+ )
52
+
53
+ private fun bucketOwnerFullControlAcl (): AccessControlPolicy =
54
+ policyWithOwner(
55
+ Grant (
56
+ CanonicalUser (
57
+ Owner .DEFAULT_OWNER_BUCKET .displayName,
58
+ Owner .DEFAULT_OWNER_BUCKET .id
59
+ ),
60
+ Grant .Permission .READ
61
+ )
62
62
)
63
- }
64
63
65
- private fun bucketOwnerReadAcl (): AccessControlPolicy {
66
- return AccessControlPolicy (
67
- Owner .DEFAULT_OWNER ,
68
- listOf<Grant >(
69
- Grant (
70
- CanonicalUser (
71
- Owner .DEFAULT_OWNER .displayName, Owner .DEFAULT_OWNER .id
72
- ),
73
- Grant .Permission .FULL_CONTROL
74
- ),
75
- Grant (
76
- CanonicalUser (
77
- Owner .DEFAULT_OWNER_BUCKET .displayName, Owner .DEFAULT_OWNER_BUCKET .id
78
- ),
79
- Grant .Permission .READ
80
- )
81
- )
64
+ private fun bucketOwnerReadAcl (): AccessControlPolicy =
65
+ policyWithOwner(
66
+ Grant (
67
+ CanonicalUser (
68
+ Owner .DEFAULT_OWNER_BUCKET .displayName,
69
+ Owner .DEFAULT_OWNER_BUCKET .id
70
+ ),
71
+ Grant .Permission .READ
72
+ )
82
73
)
83
- }
84
74
85
- private fun authenticatedReadAcl (): AccessControlPolicy {
86
- return AccessControlPolicy (
87
- Owner .DEFAULT_OWNER ,
88
- listOf<Grant >(
89
- Grant (
90
- CanonicalUser (
91
- Owner .DEFAULT_OWNER .displayName, Owner .DEFAULT_OWNER .id
92
- ),
93
- Grant .Permission .FULL_CONTROL
94
- ),
95
- Grant (
96
- Group (Group .AUTHENTICATED_USERS_URI ),
97
- Grant .Permission .READ
98
- )
99
- )
75
+ private fun authenticatedReadAcl (): AccessControlPolicy =
76
+ policyWithOwner(
77
+ Grant (
78
+ Group (Group .AUTHENTICATED_USERS_URI ),
79
+ Grant .Permission .READ
80
+ )
100
81
)
101
- }
102
82
103
83
/* *
104
84
* The documentation says that EC2 gets READ access. Not sure what to configure for that.
105
85
*/
106
- private fun awsExecReadAcl (): AccessControlPolicy {
107
- return AccessControlPolicy (
108
- Owner .DEFAULT_OWNER ,
109
- listOf<Grant >(
110
- Grant (
111
- CanonicalUser (
112
- Owner .DEFAULT_OWNER .displayName, Owner .DEFAULT_OWNER .id
113
- ),
114
- Grant .Permission .FULL_CONTROL
115
- )
116
- )
117
- )
118
- }
86
+ private fun awsExecReadAcl (): AccessControlPolicy = policyWithOwner()
119
87
120
- private fun publicReadWriteAcl (): AccessControlPolicy {
121
- return AccessControlPolicy (
122
- Owner .DEFAULT_OWNER ,
123
- listOf<Grant >(
124
- Grant (
125
- CanonicalUser (
126
- Owner .DEFAULT_OWNER .displayName, Owner .DEFAULT_OWNER .id
127
- ),
128
- Grant .Permission .FULL_CONTROL
129
- ),
130
- Grant (
131
- Group (Group .ALL_USERS_URI ),
132
- Grant .Permission .READ
133
- ),
134
- Grant (
135
- Group (Group .ALL_USERS_URI ),
136
- Grant .Permission .WRITE
137
- )
138
- )
88
+ private fun publicReadWriteAcl (): AccessControlPolicy =
89
+ policyWithOwner(
90
+ Grant (
91
+ Group (Group .ALL_USERS_URI ),
92
+ Grant .Permission .READ
93
+ ),
94
+ Grant (
95
+ Group (Group .ALL_USERS_URI ),
96
+ Grant .Permission .WRITE
97
+ )
139
98
)
140
- }
141
99
142
- private fun publicReadAcl (): AccessControlPolicy {
143
- return AccessControlPolicy (
144
- Owner .DEFAULT_OWNER ,
145
- listOf<Grant >(
146
- Grant (
147
- CanonicalUser (
148
- Owner .DEFAULT_OWNER .displayName, Owner .DEFAULT_OWNER .id
149
- ),
150
- Grant .Permission .FULL_CONTROL
151
- ),
152
- Grant (
153
- Group (Group .ALL_USERS_URI ),
154
- Grant .Permission .READ
155
- )
156
- )
100
+ private fun publicReadAcl (): AccessControlPolicy =
101
+ policyWithOwner(
102
+ Grant (
103
+ Group (Group .ALL_USERS_URI ),
104
+ Grant .Permission .READ
105
+ )
157
106
)
158
- }
159
107
160
- private fun privateAcl (): AccessControlPolicy {
161
- return AccessControlPolicy (
162
- Owner .DEFAULT_OWNER ,
163
- listOf<Grant >(
164
- Grant (
165
- CanonicalUser (
166
- Owner .DEFAULT_OWNER .displayName, Owner .DEFAULT_OWNER .id
167
- ),
168
- Grant .Permission .FULL_CONTROL
169
- )
170
- )
171
- )
172
- }
108
+ private fun privateAcl (): AccessControlPolicy = policyWithOwner()
173
109
}
0 commit comments