github.com/pulumi/pulumi-aws/sdk/v6@v6.32.0/go/aws/cfg/organizationConformancePack.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 cfg 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 // Manages a Config Organization Conformance Pack. More information can be found in the [Managing Conformance Packs Across all Accounts in Your Organization](https://docs.aws.amazon.com/config/latest/developerguide/conformance-pack-organization-apis.html) and [AWS Config Managed Rules](https://docs.aws.amazon.com/config/latest/developerguide/evaluate-config_use-managed-rules.html) documentation. Example conformance pack templates may be found in the [AWS Config Rules Repository](https://github.com/awslabs/aws-config-rules/tree/master/aws-config-conformance-packs). 15 // 16 // > **NOTE:** This resource must be created in the Organization master account or a delegated administrator account, and the Organization must have all features enabled. Every Organization account except those configured in the `excludedAccounts` argument must have a Configuration Recorder with proper IAM permissions before the Organization Conformance Pack will successfully create or update. See also the `cfg.Recorder` resource. 17 // 18 // ## Example Usage 19 // 20 // ### Using Template Body 21 // 22 // <!--Start PulumiCodeChooser --> 23 // ```go 24 // package main 25 // 26 // import ( 27 // 28 // "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cfg" 29 // "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/organizations" 30 // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" 31 // 32 // ) 33 // 34 // func main() { 35 // pulumi.Run(func(ctx *pulumi.Context) error { 36 // exampleOrganization, err := organizations.NewOrganization(ctx, "example", &organizations.OrganizationArgs{ 37 // AwsServiceAccessPrincipals: pulumi.StringArray{ 38 // pulumi.String("config-multiaccountsetup.amazonaws.com"), 39 // }, 40 // FeatureSet: pulumi.String("ALL"), 41 // }) 42 // if err != nil { 43 // return err 44 // } 45 // _, err = cfg.NewOrganizationConformancePack(ctx, "example", &cfg.OrganizationConformancePackArgs{ 46 // Name: pulumi.String("example"), 47 // InputParameters: cfg.OrganizationConformancePackInputParameterArray{ 48 // &cfg.OrganizationConformancePackInputParameterArgs{ 49 // ParameterName: pulumi.String("AccessKeysRotatedParameterMaxAccessKeyAge"), 50 // ParameterValue: pulumi.String("90"), 51 // }, 52 // }, 53 // TemplateBody: pulumi.String(`Parameters: 54 // AccessKeysRotatedParameterMaxAccessKeyAge: 55 // Type: String 56 // 57 // Resources: 58 // 59 // IAMPasswordPolicy: 60 // Properties: 61 // ConfigRuleName: IAMPasswordPolicy 62 // Source: 63 // Owner: AWS 64 // SourceIdentifier: IAM_PASSWORD_POLICY 65 // Type: AWS::Config::ConfigRule 66 // 67 // `), 68 // 69 // }, pulumi.DependsOn([]pulumi.Resource{ 70 // exampleAwsConfigConfigurationRecorder, 71 // exampleOrganization, 72 // })) 73 // if err != nil { 74 // return err 75 // } 76 // return nil 77 // }) 78 // } 79 // 80 // ``` 81 // <!--End PulumiCodeChooser --> 82 // 83 // ### Using Template S3 URI 84 // 85 // <!--Start PulumiCodeChooser --> 86 // ```go 87 // package main 88 // 89 // import ( 90 // 91 // "fmt" 92 // 93 // "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cfg" 94 // "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/organizations" 95 // "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/s3" 96 // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" 97 // 98 // ) 99 // 100 // func main() { 101 // pulumi.Run(func(ctx *pulumi.Context) error { 102 // exampleOrganization, err := organizations.NewOrganization(ctx, "example", &organizations.OrganizationArgs{ 103 // AwsServiceAccessPrincipals: pulumi.StringArray{ 104 // pulumi.String("config-multiaccountsetup.amazonaws.com"), 105 // }, 106 // FeatureSet: pulumi.String("ALL"), 107 // }) 108 // if err != nil { 109 // return err 110 // } 111 // exampleBucketV2, err := s3.NewBucketV2(ctx, "example", &s3.BucketV2Args{ 112 // Bucket: pulumi.String("example"), 113 // }) 114 // if err != nil { 115 // return err 116 // } 117 // exampleBucketObjectv2, err := s3.NewBucketObjectv2(ctx, "example", &s3.BucketObjectv2Args{ 118 // Bucket: exampleBucketV2.ID(), 119 // Key: pulumi.String("example-key"), 120 // Content: pulumi.String(`Resources: 121 // IAMPasswordPolicy: 122 // Properties: 123 // ConfigRuleName: IAMPasswordPolicy 124 // Source: 125 // Owner: AWS 126 // SourceIdentifier: IAM_PASSWORD_POLICY 127 // Type: AWS::Config::ConfigRule 128 // 129 // `), 130 // 131 // }) 132 // if err != nil { 133 // return err 134 // } 135 // _, err = cfg.NewOrganizationConformancePack(ctx, "example", &cfg.OrganizationConformancePackArgs{ 136 // Name: pulumi.String("example"), 137 // TemplateS3Uri: pulumi.All(exampleBucketV2.Bucket, exampleBucketObjectv2.Key).ApplyT(func(_args []interface{}) (string, error) { 138 // bucket := _args[0].(string) 139 // key := _args[1].(string) 140 // return fmt.Sprintf("s3://%v/%v", bucket, key), nil 141 // }).(pulumi.StringOutput), 142 // }, pulumi.DependsOn([]pulumi.Resource{ 143 // exampleAwsConfigConfigurationRecorder, 144 // exampleOrganization, 145 // })) 146 // if err != nil { 147 // return err 148 // } 149 // return nil 150 // }) 151 // } 152 // 153 // ``` 154 // <!--End PulumiCodeChooser --> 155 // 156 // ## Import 157 // 158 // Using `pulumi import`, import Config Organization Conformance Packs using the `name`. For example: 159 // 160 // ```sh 161 // $ pulumi import aws:cfg/organizationConformancePack:OrganizationConformancePack example example 162 // ``` 163 type OrganizationConformancePack struct { 164 pulumi.CustomResourceState 165 166 // Amazon Resource Name (ARN) of the organization conformance pack. 167 Arn pulumi.StringOutput `pulumi:"arn"` 168 // Amazon S3 bucket where AWS Config stores conformance pack templates. Delivery bucket must begin with `awsconfigconforms` prefix. Maximum length of 63. 169 DeliveryS3Bucket pulumi.StringPtrOutput `pulumi:"deliveryS3Bucket"` 170 // The prefix for the Amazon S3 bucket. Maximum length of 1024. 171 DeliveryS3KeyPrefix pulumi.StringPtrOutput `pulumi:"deliveryS3KeyPrefix"` 172 // Set of AWS accounts to be excluded from an organization conformance pack while deploying a conformance pack. Maximum of 1000 accounts. 173 ExcludedAccounts pulumi.StringArrayOutput `pulumi:"excludedAccounts"` 174 // Set of configuration blocks describing input parameters passed to the conformance pack template. Documented below. When configured, the parameters must also be included in the `templateBody` or in the template stored in Amazon S3 if using `templateS3Uri`. 175 InputParameters OrganizationConformancePackInputParameterArrayOutput `pulumi:"inputParameters"` 176 // The name of the organization conformance pack. Must begin with a letter and contain from 1 to 128 alphanumeric characters and hyphens. 177 Name pulumi.StringOutput `pulumi:"name"` 178 // A string containing full conformance pack template body. Maximum length of 51200. Drift detection is not possible with this argument. 179 TemplateBody pulumi.StringPtrOutput `pulumi:"templateBody"` 180 // Location of file, e.g., `s3://bucketname/prefix`, containing the template body. The uri must point to the conformance pack template that is located in an Amazon S3 bucket in the same region as the conformance pack. Maximum length of 1024. Drift detection is not possible with this argument. 181 TemplateS3Uri pulumi.StringPtrOutput `pulumi:"templateS3Uri"` 182 } 183 184 // NewOrganizationConformancePack registers a new resource with the given unique name, arguments, and options. 185 func NewOrganizationConformancePack(ctx *pulumi.Context, 186 name string, args *OrganizationConformancePackArgs, opts ...pulumi.ResourceOption) (*OrganizationConformancePack, error) { 187 if args == nil { 188 args = &OrganizationConformancePackArgs{} 189 } 190 191 opts = internal.PkgResourceDefaultOpts(opts) 192 var resource OrganizationConformancePack 193 err := ctx.RegisterResource("aws:cfg/organizationConformancePack:OrganizationConformancePack", name, args, &resource, opts...) 194 if err != nil { 195 return nil, err 196 } 197 return &resource, nil 198 } 199 200 // GetOrganizationConformancePack gets an existing OrganizationConformancePack resource's state with the given name, ID, and optional 201 // state properties that are used to uniquely qualify the lookup (nil if not required). 202 func GetOrganizationConformancePack(ctx *pulumi.Context, 203 name string, id pulumi.IDInput, state *OrganizationConformancePackState, opts ...pulumi.ResourceOption) (*OrganizationConformancePack, error) { 204 var resource OrganizationConformancePack 205 err := ctx.ReadResource("aws:cfg/organizationConformancePack:OrganizationConformancePack", name, id, state, &resource, opts...) 206 if err != nil { 207 return nil, err 208 } 209 return &resource, nil 210 } 211 212 // Input properties used for looking up and filtering OrganizationConformancePack resources. 213 type organizationConformancePackState struct { 214 // Amazon Resource Name (ARN) of the organization conformance pack. 215 Arn *string `pulumi:"arn"` 216 // Amazon S3 bucket where AWS Config stores conformance pack templates. Delivery bucket must begin with `awsconfigconforms` prefix. Maximum length of 63. 217 DeliveryS3Bucket *string `pulumi:"deliveryS3Bucket"` 218 // The prefix for the Amazon S3 bucket. Maximum length of 1024. 219 DeliveryS3KeyPrefix *string `pulumi:"deliveryS3KeyPrefix"` 220 // Set of AWS accounts to be excluded from an organization conformance pack while deploying a conformance pack. Maximum of 1000 accounts. 221 ExcludedAccounts []string `pulumi:"excludedAccounts"` 222 // Set of configuration blocks describing input parameters passed to the conformance pack template. Documented below. When configured, the parameters must also be included in the `templateBody` or in the template stored in Amazon S3 if using `templateS3Uri`. 223 InputParameters []OrganizationConformancePackInputParameter `pulumi:"inputParameters"` 224 // The name of the organization conformance pack. Must begin with a letter and contain from 1 to 128 alphanumeric characters and hyphens. 225 Name *string `pulumi:"name"` 226 // A string containing full conformance pack template body. Maximum length of 51200. Drift detection is not possible with this argument. 227 TemplateBody *string `pulumi:"templateBody"` 228 // Location of file, e.g., `s3://bucketname/prefix`, containing the template body. The uri must point to the conformance pack template that is located in an Amazon S3 bucket in the same region as the conformance pack. Maximum length of 1024. Drift detection is not possible with this argument. 229 TemplateS3Uri *string `pulumi:"templateS3Uri"` 230 } 231 232 type OrganizationConformancePackState struct { 233 // Amazon Resource Name (ARN) of the organization conformance pack. 234 Arn pulumi.StringPtrInput 235 // Amazon S3 bucket where AWS Config stores conformance pack templates. Delivery bucket must begin with `awsconfigconforms` prefix. Maximum length of 63. 236 DeliveryS3Bucket pulumi.StringPtrInput 237 // The prefix for the Amazon S3 bucket. Maximum length of 1024. 238 DeliveryS3KeyPrefix pulumi.StringPtrInput 239 // Set of AWS accounts to be excluded from an organization conformance pack while deploying a conformance pack. Maximum of 1000 accounts. 240 ExcludedAccounts pulumi.StringArrayInput 241 // Set of configuration blocks describing input parameters passed to the conformance pack template. Documented below. When configured, the parameters must also be included in the `templateBody` or in the template stored in Amazon S3 if using `templateS3Uri`. 242 InputParameters OrganizationConformancePackInputParameterArrayInput 243 // The name of the organization conformance pack. Must begin with a letter and contain from 1 to 128 alphanumeric characters and hyphens. 244 Name pulumi.StringPtrInput 245 // A string containing full conformance pack template body. Maximum length of 51200. Drift detection is not possible with this argument. 246 TemplateBody pulumi.StringPtrInput 247 // Location of file, e.g., `s3://bucketname/prefix`, containing the template body. The uri must point to the conformance pack template that is located in an Amazon S3 bucket in the same region as the conformance pack. Maximum length of 1024. Drift detection is not possible with this argument. 248 TemplateS3Uri pulumi.StringPtrInput 249 } 250 251 func (OrganizationConformancePackState) ElementType() reflect.Type { 252 return reflect.TypeOf((*organizationConformancePackState)(nil)).Elem() 253 } 254 255 type organizationConformancePackArgs struct { 256 // Amazon S3 bucket where AWS Config stores conformance pack templates. Delivery bucket must begin with `awsconfigconforms` prefix. Maximum length of 63. 257 DeliveryS3Bucket *string `pulumi:"deliveryS3Bucket"` 258 // The prefix for the Amazon S3 bucket. Maximum length of 1024. 259 DeliveryS3KeyPrefix *string `pulumi:"deliveryS3KeyPrefix"` 260 // Set of AWS accounts to be excluded from an organization conformance pack while deploying a conformance pack. Maximum of 1000 accounts. 261 ExcludedAccounts []string `pulumi:"excludedAccounts"` 262 // Set of configuration blocks describing input parameters passed to the conformance pack template. Documented below. When configured, the parameters must also be included in the `templateBody` or in the template stored in Amazon S3 if using `templateS3Uri`. 263 InputParameters []OrganizationConformancePackInputParameter `pulumi:"inputParameters"` 264 // The name of the organization conformance pack. Must begin with a letter and contain from 1 to 128 alphanumeric characters and hyphens. 265 Name *string `pulumi:"name"` 266 // A string containing full conformance pack template body. Maximum length of 51200. Drift detection is not possible with this argument. 267 TemplateBody *string `pulumi:"templateBody"` 268 // Location of file, e.g., `s3://bucketname/prefix`, containing the template body. The uri must point to the conformance pack template that is located in an Amazon S3 bucket in the same region as the conformance pack. Maximum length of 1024. Drift detection is not possible with this argument. 269 TemplateS3Uri *string `pulumi:"templateS3Uri"` 270 } 271 272 // The set of arguments for constructing a OrganizationConformancePack resource. 273 type OrganizationConformancePackArgs struct { 274 // Amazon S3 bucket where AWS Config stores conformance pack templates. Delivery bucket must begin with `awsconfigconforms` prefix. Maximum length of 63. 275 DeliveryS3Bucket pulumi.StringPtrInput 276 // The prefix for the Amazon S3 bucket. Maximum length of 1024. 277 DeliveryS3KeyPrefix pulumi.StringPtrInput 278 // Set of AWS accounts to be excluded from an organization conformance pack while deploying a conformance pack. Maximum of 1000 accounts. 279 ExcludedAccounts pulumi.StringArrayInput 280 // Set of configuration blocks describing input parameters passed to the conformance pack template. Documented below. When configured, the parameters must also be included in the `templateBody` or in the template stored in Amazon S3 if using `templateS3Uri`. 281 InputParameters OrganizationConformancePackInputParameterArrayInput 282 // The name of the organization conformance pack. Must begin with a letter and contain from 1 to 128 alphanumeric characters and hyphens. 283 Name pulumi.StringPtrInput 284 // A string containing full conformance pack template body. Maximum length of 51200. Drift detection is not possible with this argument. 285 TemplateBody pulumi.StringPtrInput 286 // Location of file, e.g., `s3://bucketname/prefix`, containing the template body. The uri must point to the conformance pack template that is located in an Amazon S3 bucket in the same region as the conformance pack. Maximum length of 1024. Drift detection is not possible with this argument. 287 TemplateS3Uri pulumi.StringPtrInput 288 } 289 290 func (OrganizationConformancePackArgs) ElementType() reflect.Type { 291 return reflect.TypeOf((*organizationConformancePackArgs)(nil)).Elem() 292 } 293 294 type OrganizationConformancePackInput interface { 295 pulumi.Input 296 297 ToOrganizationConformancePackOutput() OrganizationConformancePackOutput 298 ToOrganizationConformancePackOutputWithContext(ctx context.Context) OrganizationConformancePackOutput 299 } 300 301 func (*OrganizationConformancePack) ElementType() reflect.Type { 302 return reflect.TypeOf((**OrganizationConformancePack)(nil)).Elem() 303 } 304 305 func (i *OrganizationConformancePack) ToOrganizationConformancePackOutput() OrganizationConformancePackOutput { 306 return i.ToOrganizationConformancePackOutputWithContext(context.Background()) 307 } 308 309 func (i *OrganizationConformancePack) ToOrganizationConformancePackOutputWithContext(ctx context.Context) OrganizationConformancePackOutput { 310 return pulumi.ToOutputWithContext(ctx, i).(OrganizationConformancePackOutput) 311 } 312 313 // OrganizationConformancePackArrayInput is an input type that accepts OrganizationConformancePackArray and OrganizationConformancePackArrayOutput values. 314 // You can construct a concrete instance of `OrganizationConformancePackArrayInput` via: 315 // 316 // OrganizationConformancePackArray{ OrganizationConformancePackArgs{...} } 317 type OrganizationConformancePackArrayInput interface { 318 pulumi.Input 319 320 ToOrganizationConformancePackArrayOutput() OrganizationConformancePackArrayOutput 321 ToOrganizationConformancePackArrayOutputWithContext(context.Context) OrganizationConformancePackArrayOutput 322 } 323 324 type OrganizationConformancePackArray []OrganizationConformancePackInput 325 326 func (OrganizationConformancePackArray) ElementType() reflect.Type { 327 return reflect.TypeOf((*[]*OrganizationConformancePack)(nil)).Elem() 328 } 329 330 func (i OrganizationConformancePackArray) ToOrganizationConformancePackArrayOutput() OrganizationConformancePackArrayOutput { 331 return i.ToOrganizationConformancePackArrayOutputWithContext(context.Background()) 332 } 333 334 func (i OrganizationConformancePackArray) ToOrganizationConformancePackArrayOutputWithContext(ctx context.Context) OrganizationConformancePackArrayOutput { 335 return pulumi.ToOutputWithContext(ctx, i).(OrganizationConformancePackArrayOutput) 336 } 337 338 // OrganizationConformancePackMapInput is an input type that accepts OrganizationConformancePackMap and OrganizationConformancePackMapOutput values. 339 // You can construct a concrete instance of `OrganizationConformancePackMapInput` via: 340 // 341 // OrganizationConformancePackMap{ "key": OrganizationConformancePackArgs{...} } 342 type OrganizationConformancePackMapInput interface { 343 pulumi.Input 344 345 ToOrganizationConformancePackMapOutput() OrganizationConformancePackMapOutput 346 ToOrganizationConformancePackMapOutputWithContext(context.Context) OrganizationConformancePackMapOutput 347 } 348 349 type OrganizationConformancePackMap map[string]OrganizationConformancePackInput 350 351 func (OrganizationConformancePackMap) ElementType() reflect.Type { 352 return reflect.TypeOf((*map[string]*OrganizationConformancePack)(nil)).Elem() 353 } 354 355 func (i OrganizationConformancePackMap) ToOrganizationConformancePackMapOutput() OrganizationConformancePackMapOutput { 356 return i.ToOrganizationConformancePackMapOutputWithContext(context.Background()) 357 } 358 359 func (i OrganizationConformancePackMap) ToOrganizationConformancePackMapOutputWithContext(ctx context.Context) OrganizationConformancePackMapOutput { 360 return pulumi.ToOutputWithContext(ctx, i).(OrganizationConformancePackMapOutput) 361 } 362 363 type OrganizationConformancePackOutput struct{ *pulumi.OutputState } 364 365 func (OrganizationConformancePackOutput) ElementType() reflect.Type { 366 return reflect.TypeOf((**OrganizationConformancePack)(nil)).Elem() 367 } 368 369 func (o OrganizationConformancePackOutput) ToOrganizationConformancePackOutput() OrganizationConformancePackOutput { 370 return o 371 } 372 373 func (o OrganizationConformancePackOutput) ToOrganizationConformancePackOutputWithContext(ctx context.Context) OrganizationConformancePackOutput { 374 return o 375 } 376 377 // Amazon Resource Name (ARN) of the organization conformance pack. 378 func (o OrganizationConformancePackOutput) Arn() pulumi.StringOutput { 379 return o.ApplyT(func(v *OrganizationConformancePack) pulumi.StringOutput { return v.Arn }).(pulumi.StringOutput) 380 } 381 382 // Amazon S3 bucket where AWS Config stores conformance pack templates. Delivery bucket must begin with `awsconfigconforms` prefix. Maximum length of 63. 383 func (o OrganizationConformancePackOutput) DeliveryS3Bucket() pulumi.StringPtrOutput { 384 return o.ApplyT(func(v *OrganizationConformancePack) pulumi.StringPtrOutput { return v.DeliveryS3Bucket }).(pulumi.StringPtrOutput) 385 } 386 387 // The prefix for the Amazon S3 bucket. Maximum length of 1024. 388 func (o OrganizationConformancePackOutput) DeliveryS3KeyPrefix() pulumi.StringPtrOutput { 389 return o.ApplyT(func(v *OrganizationConformancePack) pulumi.StringPtrOutput { return v.DeliveryS3KeyPrefix }).(pulumi.StringPtrOutput) 390 } 391 392 // Set of AWS accounts to be excluded from an organization conformance pack while deploying a conformance pack. Maximum of 1000 accounts. 393 func (o OrganizationConformancePackOutput) ExcludedAccounts() pulumi.StringArrayOutput { 394 return o.ApplyT(func(v *OrganizationConformancePack) pulumi.StringArrayOutput { return v.ExcludedAccounts }).(pulumi.StringArrayOutput) 395 } 396 397 // Set of configuration blocks describing input parameters passed to the conformance pack template. Documented below. When configured, the parameters must also be included in the `templateBody` or in the template stored in Amazon S3 if using `templateS3Uri`. 398 func (o OrganizationConformancePackOutput) InputParameters() OrganizationConformancePackInputParameterArrayOutput { 399 return o.ApplyT(func(v *OrganizationConformancePack) OrganizationConformancePackInputParameterArrayOutput { 400 return v.InputParameters 401 }).(OrganizationConformancePackInputParameterArrayOutput) 402 } 403 404 // The name of the organization conformance pack. Must begin with a letter and contain from 1 to 128 alphanumeric characters and hyphens. 405 func (o OrganizationConformancePackOutput) Name() pulumi.StringOutput { 406 return o.ApplyT(func(v *OrganizationConformancePack) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) 407 } 408 409 // A string containing full conformance pack template body. Maximum length of 51200. Drift detection is not possible with this argument. 410 func (o OrganizationConformancePackOutput) TemplateBody() pulumi.StringPtrOutput { 411 return o.ApplyT(func(v *OrganizationConformancePack) pulumi.StringPtrOutput { return v.TemplateBody }).(pulumi.StringPtrOutput) 412 } 413 414 // Location of file, e.g., `s3://bucketname/prefix`, containing the template body. The uri must point to the conformance pack template that is located in an Amazon S3 bucket in the same region as the conformance pack. Maximum length of 1024. Drift detection is not possible with this argument. 415 func (o OrganizationConformancePackOutput) TemplateS3Uri() pulumi.StringPtrOutput { 416 return o.ApplyT(func(v *OrganizationConformancePack) pulumi.StringPtrOutput { return v.TemplateS3Uri }).(pulumi.StringPtrOutput) 417 } 418 419 type OrganizationConformancePackArrayOutput struct{ *pulumi.OutputState } 420 421 func (OrganizationConformancePackArrayOutput) ElementType() reflect.Type { 422 return reflect.TypeOf((*[]*OrganizationConformancePack)(nil)).Elem() 423 } 424 425 func (o OrganizationConformancePackArrayOutput) ToOrganizationConformancePackArrayOutput() OrganizationConformancePackArrayOutput { 426 return o 427 } 428 429 func (o OrganizationConformancePackArrayOutput) ToOrganizationConformancePackArrayOutputWithContext(ctx context.Context) OrganizationConformancePackArrayOutput { 430 return o 431 } 432 433 func (o OrganizationConformancePackArrayOutput) Index(i pulumi.IntInput) OrganizationConformancePackOutput { 434 return pulumi.All(o, i).ApplyT(func(vs []interface{}) *OrganizationConformancePack { 435 return vs[0].([]*OrganizationConformancePack)[vs[1].(int)] 436 }).(OrganizationConformancePackOutput) 437 } 438 439 type OrganizationConformancePackMapOutput struct{ *pulumi.OutputState } 440 441 func (OrganizationConformancePackMapOutput) ElementType() reflect.Type { 442 return reflect.TypeOf((*map[string]*OrganizationConformancePack)(nil)).Elem() 443 } 444 445 func (o OrganizationConformancePackMapOutput) ToOrganizationConformancePackMapOutput() OrganizationConformancePackMapOutput { 446 return o 447 } 448 449 func (o OrganizationConformancePackMapOutput) ToOrganizationConformancePackMapOutputWithContext(ctx context.Context) OrganizationConformancePackMapOutput { 450 return o 451 } 452 453 func (o OrganizationConformancePackMapOutput) MapIndex(k pulumi.StringInput) OrganizationConformancePackOutput { 454 return pulumi.All(o, k).ApplyT(func(vs []interface{}) *OrganizationConformancePack { 455 return vs[0].(map[string]*OrganizationConformancePack)[vs[1].(string)] 456 }).(OrganizationConformancePackOutput) 457 } 458 459 func init() { 460 pulumi.RegisterInputType(reflect.TypeOf((*OrganizationConformancePackInput)(nil)).Elem(), &OrganizationConformancePack{}) 461 pulumi.RegisterInputType(reflect.TypeOf((*OrganizationConformancePackArrayInput)(nil)).Elem(), OrganizationConformancePackArray{}) 462 pulumi.RegisterInputType(reflect.TypeOf((*OrganizationConformancePackMapInput)(nil)).Elem(), OrganizationConformancePackMap{}) 463 pulumi.RegisterOutputType(OrganizationConformancePackOutput{}) 464 pulumi.RegisterOutputType(OrganizationConformancePackArrayOutput{}) 465 pulumi.RegisterOutputType(OrganizationConformancePackMapOutput{}) 466 }