github.com/pulumi/pulumi-aws/sdk/v6@v6.32.0/go/aws/s3control/accessGrantsInstance.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 "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/internal" 11 "github.com/pulumi/pulumi/sdk/v3/go/pulumi" 12 ) 13 14 // Provides a resource to manage an S3 Access Grants instance, which serves as a logical grouping for access grants. 15 // You can have one S3 Access Grants instance per Region in your account. 16 // 17 // ## Example Usage 18 // 19 // ### Basic Usage 20 // 21 // <!--Start PulumiCodeChooser --> 22 // ```go 23 // package main 24 // 25 // import ( 26 // 27 // "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3control" 28 // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" 29 // 30 // ) 31 // 32 // func main() { 33 // pulumi.Run(func(ctx *pulumi.Context) error { 34 // _, err := s3control.NewAccessGrantsInstance(ctx, "example", nil) 35 // if err != nil { 36 // return err 37 // } 38 // return nil 39 // }) 40 // } 41 // 42 // ``` 43 // <!--End PulumiCodeChooser --> 44 // 45 // ### AWS IAM Identity Center 46 // 47 // <!--Start PulumiCodeChooser --> 48 // ```go 49 // package main 50 // 51 // import ( 52 // 53 // "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3control" 54 // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" 55 // 56 // ) 57 // 58 // func main() { 59 // pulumi.Run(func(ctx *pulumi.Context) error { 60 // _, err := s3control.NewAccessGrantsInstance(ctx, "example", &s3control.AccessGrantsInstanceArgs{ 61 // IdentityCenterArn: pulumi.String("arn:aws:sso:::instance/ssoins-890759e9c7bfdc1d"), 62 // }) 63 // if err != nil { 64 // return err 65 // } 66 // return nil 67 // }) 68 // } 69 // 70 // ``` 71 // <!--End PulumiCodeChooser --> 72 // 73 // ## Import 74 // 75 // Using `pulumi import`, import S3 Access Grants instances using the `account_id`. For example: 76 // 77 // ```sh 78 // $ pulumi import aws:s3control/accessGrantsInstance:AccessGrantsInstance example 123456789012 79 // ``` 80 type AccessGrantsInstance struct { 81 pulumi.CustomResourceState 82 83 // Amazon Resource Name (ARN) of the S3 Access Grants instance. 84 AccessGrantsInstanceArn pulumi.StringOutput `pulumi:"accessGrantsInstanceArn"` 85 // Unique ID of the S3 Access Grants instance. 86 AccessGrantsInstanceId pulumi.StringOutput `pulumi:"accessGrantsInstanceId"` 87 AccountId pulumi.StringOutput `pulumi:"accountId"` 88 // The ARN of the AWS IAM Identity Center instance application; a subresource of the original Identity Center instance. 89 IdentityCenterApplicationArn pulumi.StringOutput `pulumi:"identityCenterApplicationArn"` 90 // The ARN of the AWS IAM Identity Center instance associated with the S3 Access Grants instance. 91 IdentityCenterArn pulumi.StringPtrOutput `pulumi:"identityCenterArn"` 92 // Key-value map of resource tags. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. 93 Tags pulumi.StringMapOutput `pulumi:"tags"` 94 // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. 95 // 96 // Deprecated: Please use `tags` instead. 97 TagsAll pulumi.StringMapOutput `pulumi:"tagsAll"` 98 } 99 100 // NewAccessGrantsInstance registers a new resource with the given unique name, arguments, and options. 101 func NewAccessGrantsInstance(ctx *pulumi.Context, 102 name string, args *AccessGrantsInstanceArgs, opts ...pulumi.ResourceOption) (*AccessGrantsInstance, error) { 103 if args == nil { 104 args = &AccessGrantsInstanceArgs{} 105 } 106 107 opts = internal.PkgResourceDefaultOpts(opts) 108 var resource AccessGrantsInstance 109 err := ctx.RegisterResource("aws:s3control/accessGrantsInstance:AccessGrantsInstance", name, args, &resource, opts...) 110 if err != nil { 111 return nil, err 112 } 113 return &resource, nil 114 } 115 116 // GetAccessGrantsInstance gets an existing AccessGrantsInstance resource's state with the given name, ID, and optional 117 // state properties that are used to uniquely qualify the lookup (nil if not required). 118 func GetAccessGrantsInstance(ctx *pulumi.Context, 119 name string, id pulumi.IDInput, state *AccessGrantsInstanceState, opts ...pulumi.ResourceOption) (*AccessGrantsInstance, error) { 120 var resource AccessGrantsInstance 121 err := ctx.ReadResource("aws:s3control/accessGrantsInstance:AccessGrantsInstance", name, id, state, &resource, opts...) 122 if err != nil { 123 return nil, err 124 } 125 return &resource, nil 126 } 127 128 // Input properties used for looking up and filtering AccessGrantsInstance resources. 129 type accessGrantsInstanceState struct { 130 // Amazon Resource Name (ARN) of the S3 Access Grants instance. 131 AccessGrantsInstanceArn *string `pulumi:"accessGrantsInstanceArn"` 132 // Unique ID of the S3 Access Grants instance. 133 AccessGrantsInstanceId *string `pulumi:"accessGrantsInstanceId"` 134 AccountId *string `pulumi:"accountId"` 135 // The ARN of the AWS IAM Identity Center instance application; a subresource of the original Identity Center instance. 136 IdentityCenterApplicationArn *string `pulumi:"identityCenterApplicationArn"` 137 // The ARN of the AWS IAM Identity Center instance associated with the S3 Access Grants instance. 138 IdentityCenterArn *string `pulumi:"identityCenterArn"` 139 // Key-value map of resource tags. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. 140 Tags map[string]string `pulumi:"tags"` 141 // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. 142 // 143 // Deprecated: Please use `tags` instead. 144 TagsAll map[string]string `pulumi:"tagsAll"` 145 } 146 147 type AccessGrantsInstanceState struct { 148 // Amazon Resource Name (ARN) of the S3 Access Grants instance. 149 AccessGrantsInstanceArn pulumi.StringPtrInput 150 // Unique ID of the S3 Access Grants instance. 151 AccessGrantsInstanceId pulumi.StringPtrInput 152 AccountId pulumi.StringPtrInput 153 // The ARN of the AWS IAM Identity Center instance application; a subresource of the original Identity Center instance. 154 IdentityCenterApplicationArn pulumi.StringPtrInput 155 // The ARN of the AWS IAM Identity Center instance associated with the S3 Access Grants instance. 156 IdentityCenterArn pulumi.StringPtrInput 157 // Key-value map of resource tags. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. 158 Tags pulumi.StringMapInput 159 // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. 160 // 161 // Deprecated: Please use `tags` instead. 162 TagsAll pulumi.StringMapInput 163 } 164 165 func (AccessGrantsInstanceState) ElementType() reflect.Type { 166 return reflect.TypeOf((*accessGrantsInstanceState)(nil)).Elem() 167 } 168 169 type accessGrantsInstanceArgs struct { 170 AccountId *string `pulumi:"accountId"` 171 // The ARN of the AWS IAM Identity Center instance associated with the S3 Access Grants instance. 172 IdentityCenterArn *string `pulumi:"identityCenterArn"` 173 // Key-value map of resource tags. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. 174 Tags map[string]string `pulumi:"tags"` 175 } 176 177 // The set of arguments for constructing a AccessGrantsInstance resource. 178 type AccessGrantsInstanceArgs struct { 179 AccountId pulumi.StringPtrInput 180 // The ARN of the AWS IAM Identity Center instance associated with the S3 Access Grants instance. 181 IdentityCenterArn pulumi.StringPtrInput 182 // Key-value map of resource tags. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. 183 Tags pulumi.StringMapInput 184 } 185 186 func (AccessGrantsInstanceArgs) ElementType() reflect.Type { 187 return reflect.TypeOf((*accessGrantsInstanceArgs)(nil)).Elem() 188 } 189 190 type AccessGrantsInstanceInput interface { 191 pulumi.Input 192 193 ToAccessGrantsInstanceOutput() AccessGrantsInstanceOutput 194 ToAccessGrantsInstanceOutputWithContext(ctx context.Context) AccessGrantsInstanceOutput 195 } 196 197 func (*AccessGrantsInstance) ElementType() reflect.Type { 198 return reflect.TypeOf((**AccessGrantsInstance)(nil)).Elem() 199 } 200 201 func (i *AccessGrantsInstance) ToAccessGrantsInstanceOutput() AccessGrantsInstanceOutput { 202 return i.ToAccessGrantsInstanceOutputWithContext(context.Background()) 203 } 204 205 func (i *AccessGrantsInstance) ToAccessGrantsInstanceOutputWithContext(ctx context.Context) AccessGrantsInstanceOutput { 206 return pulumi.ToOutputWithContext(ctx, i).(AccessGrantsInstanceOutput) 207 } 208 209 // AccessGrantsInstanceArrayInput is an input type that accepts AccessGrantsInstanceArray and AccessGrantsInstanceArrayOutput values. 210 // You can construct a concrete instance of `AccessGrantsInstanceArrayInput` via: 211 // 212 // AccessGrantsInstanceArray{ AccessGrantsInstanceArgs{...} } 213 type AccessGrantsInstanceArrayInput interface { 214 pulumi.Input 215 216 ToAccessGrantsInstanceArrayOutput() AccessGrantsInstanceArrayOutput 217 ToAccessGrantsInstanceArrayOutputWithContext(context.Context) AccessGrantsInstanceArrayOutput 218 } 219 220 type AccessGrantsInstanceArray []AccessGrantsInstanceInput 221 222 func (AccessGrantsInstanceArray) ElementType() reflect.Type { 223 return reflect.TypeOf((*[]*AccessGrantsInstance)(nil)).Elem() 224 } 225 226 func (i AccessGrantsInstanceArray) ToAccessGrantsInstanceArrayOutput() AccessGrantsInstanceArrayOutput { 227 return i.ToAccessGrantsInstanceArrayOutputWithContext(context.Background()) 228 } 229 230 func (i AccessGrantsInstanceArray) ToAccessGrantsInstanceArrayOutputWithContext(ctx context.Context) AccessGrantsInstanceArrayOutput { 231 return pulumi.ToOutputWithContext(ctx, i).(AccessGrantsInstanceArrayOutput) 232 } 233 234 // AccessGrantsInstanceMapInput is an input type that accepts AccessGrantsInstanceMap and AccessGrantsInstanceMapOutput values. 235 // You can construct a concrete instance of `AccessGrantsInstanceMapInput` via: 236 // 237 // AccessGrantsInstanceMap{ "key": AccessGrantsInstanceArgs{...} } 238 type AccessGrantsInstanceMapInput interface { 239 pulumi.Input 240 241 ToAccessGrantsInstanceMapOutput() AccessGrantsInstanceMapOutput 242 ToAccessGrantsInstanceMapOutputWithContext(context.Context) AccessGrantsInstanceMapOutput 243 } 244 245 type AccessGrantsInstanceMap map[string]AccessGrantsInstanceInput 246 247 func (AccessGrantsInstanceMap) ElementType() reflect.Type { 248 return reflect.TypeOf((*map[string]*AccessGrantsInstance)(nil)).Elem() 249 } 250 251 func (i AccessGrantsInstanceMap) ToAccessGrantsInstanceMapOutput() AccessGrantsInstanceMapOutput { 252 return i.ToAccessGrantsInstanceMapOutputWithContext(context.Background()) 253 } 254 255 func (i AccessGrantsInstanceMap) ToAccessGrantsInstanceMapOutputWithContext(ctx context.Context) AccessGrantsInstanceMapOutput { 256 return pulumi.ToOutputWithContext(ctx, i).(AccessGrantsInstanceMapOutput) 257 } 258 259 type AccessGrantsInstanceOutput struct{ *pulumi.OutputState } 260 261 func (AccessGrantsInstanceOutput) ElementType() reflect.Type { 262 return reflect.TypeOf((**AccessGrantsInstance)(nil)).Elem() 263 } 264 265 func (o AccessGrantsInstanceOutput) ToAccessGrantsInstanceOutput() AccessGrantsInstanceOutput { 266 return o 267 } 268 269 func (o AccessGrantsInstanceOutput) ToAccessGrantsInstanceOutputWithContext(ctx context.Context) AccessGrantsInstanceOutput { 270 return o 271 } 272 273 // Amazon Resource Name (ARN) of the S3 Access Grants instance. 274 func (o AccessGrantsInstanceOutput) AccessGrantsInstanceArn() pulumi.StringOutput { 275 return o.ApplyT(func(v *AccessGrantsInstance) pulumi.StringOutput { return v.AccessGrantsInstanceArn }).(pulumi.StringOutput) 276 } 277 278 // Unique ID of the S3 Access Grants instance. 279 func (o AccessGrantsInstanceOutput) AccessGrantsInstanceId() pulumi.StringOutput { 280 return o.ApplyT(func(v *AccessGrantsInstance) pulumi.StringOutput { return v.AccessGrantsInstanceId }).(pulumi.StringOutput) 281 } 282 283 func (o AccessGrantsInstanceOutput) AccountId() pulumi.StringOutput { 284 return o.ApplyT(func(v *AccessGrantsInstance) pulumi.StringOutput { return v.AccountId }).(pulumi.StringOutput) 285 } 286 287 // The ARN of the AWS IAM Identity Center instance application; a subresource of the original Identity Center instance. 288 func (o AccessGrantsInstanceOutput) IdentityCenterApplicationArn() pulumi.StringOutput { 289 return o.ApplyT(func(v *AccessGrantsInstance) pulumi.StringOutput { return v.IdentityCenterApplicationArn }).(pulumi.StringOutput) 290 } 291 292 // The ARN of the AWS IAM Identity Center instance associated with the S3 Access Grants instance. 293 func (o AccessGrantsInstanceOutput) IdentityCenterArn() pulumi.StringPtrOutput { 294 return o.ApplyT(func(v *AccessGrantsInstance) pulumi.StringPtrOutput { return v.IdentityCenterArn }).(pulumi.StringPtrOutput) 295 } 296 297 // Key-value map of resource tags. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. 298 func (o AccessGrantsInstanceOutput) Tags() pulumi.StringMapOutput { 299 return o.ApplyT(func(v *AccessGrantsInstance) pulumi.StringMapOutput { return v.Tags }).(pulumi.StringMapOutput) 300 } 301 302 // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. 303 // 304 // Deprecated: Please use `tags` instead. 305 func (o AccessGrantsInstanceOutput) TagsAll() pulumi.StringMapOutput { 306 return o.ApplyT(func(v *AccessGrantsInstance) pulumi.StringMapOutput { return v.TagsAll }).(pulumi.StringMapOutput) 307 } 308 309 type AccessGrantsInstanceArrayOutput struct{ *pulumi.OutputState } 310 311 func (AccessGrantsInstanceArrayOutput) ElementType() reflect.Type { 312 return reflect.TypeOf((*[]*AccessGrantsInstance)(nil)).Elem() 313 } 314 315 func (o AccessGrantsInstanceArrayOutput) ToAccessGrantsInstanceArrayOutput() AccessGrantsInstanceArrayOutput { 316 return o 317 } 318 319 func (o AccessGrantsInstanceArrayOutput) ToAccessGrantsInstanceArrayOutputWithContext(ctx context.Context) AccessGrantsInstanceArrayOutput { 320 return o 321 } 322 323 func (o AccessGrantsInstanceArrayOutput) Index(i pulumi.IntInput) AccessGrantsInstanceOutput { 324 return pulumi.All(o, i).ApplyT(func(vs []interface{}) *AccessGrantsInstance { 325 return vs[0].([]*AccessGrantsInstance)[vs[1].(int)] 326 }).(AccessGrantsInstanceOutput) 327 } 328 329 type AccessGrantsInstanceMapOutput struct{ *pulumi.OutputState } 330 331 func (AccessGrantsInstanceMapOutput) ElementType() reflect.Type { 332 return reflect.TypeOf((*map[string]*AccessGrantsInstance)(nil)).Elem() 333 } 334 335 func (o AccessGrantsInstanceMapOutput) ToAccessGrantsInstanceMapOutput() AccessGrantsInstanceMapOutput { 336 return o 337 } 338 339 func (o AccessGrantsInstanceMapOutput) ToAccessGrantsInstanceMapOutputWithContext(ctx context.Context) AccessGrantsInstanceMapOutput { 340 return o 341 } 342 343 func (o AccessGrantsInstanceMapOutput) MapIndex(k pulumi.StringInput) AccessGrantsInstanceOutput { 344 return pulumi.All(o, k).ApplyT(func(vs []interface{}) *AccessGrantsInstance { 345 return vs[0].(map[string]*AccessGrantsInstance)[vs[1].(string)] 346 }).(AccessGrantsInstanceOutput) 347 } 348 349 func init() { 350 pulumi.RegisterInputType(reflect.TypeOf((*AccessGrantsInstanceInput)(nil)).Elem(), &AccessGrantsInstance{}) 351 pulumi.RegisterInputType(reflect.TypeOf((*AccessGrantsInstanceArrayInput)(nil)).Elem(), AccessGrantsInstanceArray{}) 352 pulumi.RegisterInputType(reflect.TypeOf((*AccessGrantsInstanceMapInput)(nil)).Elem(), AccessGrantsInstanceMap{}) 353 pulumi.RegisterOutputType(AccessGrantsInstanceOutput{}) 354 pulumi.RegisterOutputType(AccessGrantsInstanceArrayOutput{}) 355 pulumi.RegisterOutputType(AccessGrantsInstanceMapOutput{}) 356 }