github.com/pulumi/pulumi-aws/sdk/v6@v6.32.0/go/aws/s3control/multiRegionAccessPointPolicy.go (about) 1 // Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT. 2 // *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** 3 4 package s3control 5 6 import ( 7 "context" 8 "reflect" 9 10 "errors" 11 "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/internal" 12 "github.com/pulumi/pulumi/sdk/v3/go/pulumi" 13 ) 14 15 // Provides a resource to manage an S3 Multi-Region Access Point access control policy. 16 // 17 // ## Example Usage 18 // 19 // ## Import 20 // 21 // Using `pulumi import`, import Multi-Region Access Point Policies using the `account_id` and `name` of the Multi-Region Access Point separated by a colon (`:`). For example: 22 // 23 // ```sh 24 // $ pulumi import aws:s3control/multiRegionAccessPointPolicy:MultiRegionAccessPointPolicy example 123456789012:example 25 // ``` 26 type MultiRegionAccessPointPolicy struct { 27 pulumi.CustomResourceState 28 29 // The AWS account ID for the owner of the Multi-Region Access Point. Defaults to automatically determined account ID of the AWS provider. 30 AccountId pulumi.StringOutput `pulumi:"accountId"` 31 // A configuration block containing details about the policy for the Multi-Region Access Point. See Details Configuration Block below for more details 32 Details MultiRegionAccessPointPolicyDetailsOutput `pulumi:"details"` 33 // The last established policy for the Multi-Region Access Point. 34 Established pulumi.StringOutput `pulumi:"established"` 35 // The proposed policy for the Multi-Region Access Point. 36 Proposed pulumi.StringOutput `pulumi:"proposed"` 37 } 38 39 // NewMultiRegionAccessPointPolicy registers a new resource with the given unique name, arguments, and options. 40 func NewMultiRegionAccessPointPolicy(ctx *pulumi.Context, 41 name string, args *MultiRegionAccessPointPolicyArgs, opts ...pulumi.ResourceOption) (*MultiRegionAccessPointPolicy, error) { 42 if args == nil { 43 return nil, errors.New("missing one or more required arguments") 44 } 45 46 if args.Details == nil { 47 return nil, errors.New("invalid value for required argument 'Details'") 48 } 49 opts = internal.PkgResourceDefaultOpts(opts) 50 var resource MultiRegionAccessPointPolicy 51 err := ctx.RegisterResource("aws:s3control/multiRegionAccessPointPolicy:MultiRegionAccessPointPolicy", name, args, &resource, opts...) 52 if err != nil { 53 return nil, err 54 } 55 return &resource, nil 56 } 57 58 // GetMultiRegionAccessPointPolicy gets an existing MultiRegionAccessPointPolicy resource's state with the given name, ID, and optional 59 // state properties that are used to uniquely qualify the lookup (nil if not required). 60 func GetMultiRegionAccessPointPolicy(ctx *pulumi.Context, 61 name string, id pulumi.IDInput, state *MultiRegionAccessPointPolicyState, opts ...pulumi.ResourceOption) (*MultiRegionAccessPointPolicy, error) { 62 var resource MultiRegionAccessPointPolicy 63 err := ctx.ReadResource("aws:s3control/multiRegionAccessPointPolicy:MultiRegionAccessPointPolicy", name, id, state, &resource, opts...) 64 if err != nil { 65 return nil, err 66 } 67 return &resource, nil 68 } 69 70 // Input properties used for looking up and filtering MultiRegionAccessPointPolicy resources. 71 type multiRegionAccessPointPolicyState struct { 72 // The AWS account ID for the owner of the Multi-Region Access Point. Defaults to automatically determined account ID of the AWS provider. 73 AccountId *string `pulumi:"accountId"` 74 // A configuration block containing details about the policy for the Multi-Region Access Point. See Details Configuration Block below for more details 75 Details *MultiRegionAccessPointPolicyDetails `pulumi:"details"` 76 // The last established policy for the Multi-Region Access Point. 77 Established *string `pulumi:"established"` 78 // The proposed policy for the Multi-Region Access Point. 79 Proposed *string `pulumi:"proposed"` 80 } 81 82 type MultiRegionAccessPointPolicyState struct { 83 // The AWS account ID for the owner of the Multi-Region Access Point. Defaults to automatically determined account ID of the AWS provider. 84 AccountId pulumi.StringPtrInput 85 // A configuration block containing details about the policy for the Multi-Region Access Point. See Details Configuration Block below for more details 86 Details MultiRegionAccessPointPolicyDetailsPtrInput 87 // The last established policy for the Multi-Region Access Point. 88 Established pulumi.StringPtrInput 89 // The proposed policy for the Multi-Region Access Point. 90 Proposed pulumi.StringPtrInput 91 } 92 93 func (MultiRegionAccessPointPolicyState) ElementType() reflect.Type { 94 return reflect.TypeOf((*multiRegionAccessPointPolicyState)(nil)).Elem() 95 } 96 97 type multiRegionAccessPointPolicyArgs struct { 98 // The AWS account ID for the owner of the Multi-Region Access Point. Defaults to automatically determined account ID of the AWS provider. 99 AccountId *string `pulumi:"accountId"` 100 // A configuration block containing details about the policy for the Multi-Region Access Point. See Details Configuration Block below for more details 101 Details MultiRegionAccessPointPolicyDetails `pulumi:"details"` 102 } 103 104 // The set of arguments for constructing a MultiRegionAccessPointPolicy resource. 105 type MultiRegionAccessPointPolicyArgs struct { 106 // The AWS account ID for the owner of the Multi-Region Access Point. Defaults to automatically determined account ID of the AWS provider. 107 AccountId pulumi.StringPtrInput 108 // A configuration block containing details about the policy for the Multi-Region Access Point. See Details Configuration Block below for more details 109 Details MultiRegionAccessPointPolicyDetailsInput 110 } 111 112 func (MultiRegionAccessPointPolicyArgs) ElementType() reflect.Type { 113 return reflect.TypeOf((*multiRegionAccessPointPolicyArgs)(nil)).Elem() 114 } 115 116 type MultiRegionAccessPointPolicyInput interface { 117 pulumi.Input 118 119 ToMultiRegionAccessPointPolicyOutput() MultiRegionAccessPointPolicyOutput 120 ToMultiRegionAccessPointPolicyOutputWithContext(ctx context.Context) MultiRegionAccessPointPolicyOutput 121 } 122 123 func (*MultiRegionAccessPointPolicy) ElementType() reflect.Type { 124 return reflect.TypeOf((**MultiRegionAccessPointPolicy)(nil)).Elem() 125 } 126 127 func (i *MultiRegionAccessPointPolicy) ToMultiRegionAccessPointPolicyOutput() MultiRegionAccessPointPolicyOutput { 128 return i.ToMultiRegionAccessPointPolicyOutputWithContext(context.Background()) 129 } 130 131 func (i *MultiRegionAccessPointPolicy) ToMultiRegionAccessPointPolicyOutputWithContext(ctx context.Context) MultiRegionAccessPointPolicyOutput { 132 return pulumi.ToOutputWithContext(ctx, i).(MultiRegionAccessPointPolicyOutput) 133 } 134 135 // MultiRegionAccessPointPolicyArrayInput is an input type that accepts MultiRegionAccessPointPolicyArray and MultiRegionAccessPointPolicyArrayOutput values. 136 // You can construct a concrete instance of `MultiRegionAccessPointPolicyArrayInput` via: 137 // 138 // MultiRegionAccessPointPolicyArray{ MultiRegionAccessPointPolicyArgs{...} } 139 type MultiRegionAccessPointPolicyArrayInput interface { 140 pulumi.Input 141 142 ToMultiRegionAccessPointPolicyArrayOutput() MultiRegionAccessPointPolicyArrayOutput 143 ToMultiRegionAccessPointPolicyArrayOutputWithContext(context.Context) MultiRegionAccessPointPolicyArrayOutput 144 } 145 146 type MultiRegionAccessPointPolicyArray []MultiRegionAccessPointPolicyInput 147 148 func (MultiRegionAccessPointPolicyArray) ElementType() reflect.Type { 149 return reflect.TypeOf((*[]*MultiRegionAccessPointPolicy)(nil)).Elem() 150 } 151 152 func (i MultiRegionAccessPointPolicyArray) ToMultiRegionAccessPointPolicyArrayOutput() MultiRegionAccessPointPolicyArrayOutput { 153 return i.ToMultiRegionAccessPointPolicyArrayOutputWithContext(context.Background()) 154 } 155 156 func (i MultiRegionAccessPointPolicyArray) ToMultiRegionAccessPointPolicyArrayOutputWithContext(ctx context.Context) MultiRegionAccessPointPolicyArrayOutput { 157 return pulumi.ToOutputWithContext(ctx, i).(MultiRegionAccessPointPolicyArrayOutput) 158 } 159 160 // MultiRegionAccessPointPolicyMapInput is an input type that accepts MultiRegionAccessPointPolicyMap and MultiRegionAccessPointPolicyMapOutput values. 161 // You can construct a concrete instance of `MultiRegionAccessPointPolicyMapInput` via: 162 // 163 // MultiRegionAccessPointPolicyMap{ "key": MultiRegionAccessPointPolicyArgs{...} } 164 type MultiRegionAccessPointPolicyMapInput interface { 165 pulumi.Input 166 167 ToMultiRegionAccessPointPolicyMapOutput() MultiRegionAccessPointPolicyMapOutput 168 ToMultiRegionAccessPointPolicyMapOutputWithContext(context.Context) MultiRegionAccessPointPolicyMapOutput 169 } 170 171 type MultiRegionAccessPointPolicyMap map[string]MultiRegionAccessPointPolicyInput 172 173 func (MultiRegionAccessPointPolicyMap) ElementType() reflect.Type { 174 return reflect.TypeOf((*map[string]*MultiRegionAccessPointPolicy)(nil)).Elem() 175 } 176 177 func (i MultiRegionAccessPointPolicyMap) ToMultiRegionAccessPointPolicyMapOutput() MultiRegionAccessPointPolicyMapOutput { 178 return i.ToMultiRegionAccessPointPolicyMapOutputWithContext(context.Background()) 179 } 180 181 func (i MultiRegionAccessPointPolicyMap) ToMultiRegionAccessPointPolicyMapOutputWithContext(ctx context.Context) MultiRegionAccessPointPolicyMapOutput { 182 return pulumi.ToOutputWithContext(ctx, i).(MultiRegionAccessPointPolicyMapOutput) 183 } 184 185 type MultiRegionAccessPointPolicyOutput struct{ *pulumi.OutputState } 186 187 func (MultiRegionAccessPointPolicyOutput) ElementType() reflect.Type { 188 return reflect.TypeOf((**MultiRegionAccessPointPolicy)(nil)).Elem() 189 } 190 191 func (o MultiRegionAccessPointPolicyOutput) ToMultiRegionAccessPointPolicyOutput() MultiRegionAccessPointPolicyOutput { 192 return o 193 } 194 195 func (o MultiRegionAccessPointPolicyOutput) ToMultiRegionAccessPointPolicyOutputWithContext(ctx context.Context) MultiRegionAccessPointPolicyOutput { 196 return o 197 } 198 199 // The AWS account ID for the owner of the Multi-Region Access Point. Defaults to automatically determined account ID of the AWS provider. 200 func (o MultiRegionAccessPointPolicyOutput) AccountId() pulumi.StringOutput { 201 return o.ApplyT(func(v *MultiRegionAccessPointPolicy) pulumi.StringOutput { return v.AccountId }).(pulumi.StringOutput) 202 } 203 204 // A configuration block containing details about the policy for the Multi-Region Access Point. See Details Configuration Block below for more details 205 func (o MultiRegionAccessPointPolicyOutput) Details() MultiRegionAccessPointPolicyDetailsOutput { 206 return o.ApplyT(func(v *MultiRegionAccessPointPolicy) MultiRegionAccessPointPolicyDetailsOutput { return v.Details }).(MultiRegionAccessPointPolicyDetailsOutput) 207 } 208 209 // The last established policy for the Multi-Region Access Point. 210 func (o MultiRegionAccessPointPolicyOutput) Established() pulumi.StringOutput { 211 return o.ApplyT(func(v *MultiRegionAccessPointPolicy) pulumi.StringOutput { return v.Established }).(pulumi.StringOutput) 212 } 213 214 // The proposed policy for the Multi-Region Access Point. 215 func (o MultiRegionAccessPointPolicyOutput) Proposed() pulumi.StringOutput { 216 return o.ApplyT(func(v *MultiRegionAccessPointPolicy) pulumi.StringOutput { return v.Proposed }).(pulumi.StringOutput) 217 } 218 219 type MultiRegionAccessPointPolicyArrayOutput struct{ *pulumi.OutputState } 220 221 func (MultiRegionAccessPointPolicyArrayOutput) ElementType() reflect.Type { 222 return reflect.TypeOf((*[]*MultiRegionAccessPointPolicy)(nil)).Elem() 223 } 224 225 func (o MultiRegionAccessPointPolicyArrayOutput) ToMultiRegionAccessPointPolicyArrayOutput() MultiRegionAccessPointPolicyArrayOutput { 226 return o 227 } 228 229 func (o MultiRegionAccessPointPolicyArrayOutput) ToMultiRegionAccessPointPolicyArrayOutputWithContext(ctx context.Context) MultiRegionAccessPointPolicyArrayOutput { 230 return o 231 } 232 233 func (o MultiRegionAccessPointPolicyArrayOutput) Index(i pulumi.IntInput) MultiRegionAccessPointPolicyOutput { 234 return pulumi.All(o, i).ApplyT(func(vs []interface{}) *MultiRegionAccessPointPolicy { 235 return vs[0].([]*MultiRegionAccessPointPolicy)[vs[1].(int)] 236 }).(MultiRegionAccessPointPolicyOutput) 237 } 238 239 type MultiRegionAccessPointPolicyMapOutput struct{ *pulumi.OutputState } 240 241 func (MultiRegionAccessPointPolicyMapOutput) ElementType() reflect.Type { 242 return reflect.TypeOf((*map[string]*MultiRegionAccessPointPolicy)(nil)).Elem() 243 } 244 245 func (o MultiRegionAccessPointPolicyMapOutput) ToMultiRegionAccessPointPolicyMapOutput() MultiRegionAccessPointPolicyMapOutput { 246 return o 247 } 248 249 func (o MultiRegionAccessPointPolicyMapOutput) ToMultiRegionAccessPointPolicyMapOutputWithContext(ctx context.Context) MultiRegionAccessPointPolicyMapOutput { 250 return o 251 } 252 253 func (o MultiRegionAccessPointPolicyMapOutput) MapIndex(k pulumi.StringInput) MultiRegionAccessPointPolicyOutput { 254 return pulumi.All(o, k).ApplyT(func(vs []interface{}) *MultiRegionAccessPointPolicy { 255 return vs[0].(map[string]*MultiRegionAccessPointPolicy)[vs[1].(string)] 256 }).(MultiRegionAccessPointPolicyOutput) 257 } 258 259 func init() { 260 pulumi.RegisterInputType(reflect.TypeOf((*MultiRegionAccessPointPolicyInput)(nil)).Elem(), &MultiRegionAccessPointPolicy{}) 261 pulumi.RegisterInputType(reflect.TypeOf((*MultiRegionAccessPointPolicyArrayInput)(nil)).Elem(), MultiRegionAccessPointPolicyArray{}) 262 pulumi.RegisterInputType(reflect.TypeOf((*MultiRegionAccessPointPolicyMapInput)(nil)).Elem(), MultiRegionAccessPointPolicyMap{}) 263 pulumi.RegisterOutputType(MultiRegionAccessPointPolicyOutput{}) 264 pulumi.RegisterOutputType(MultiRegionAccessPointPolicyArrayOutput{}) 265 pulumi.RegisterOutputType(MultiRegionAccessPointPolicyMapOutput{}) 266 }