github.com/pulumi/pulumi-aws/sdk/v6@v6.32.0/go/aws/inspector2/organizationConfiguration.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 inspector2 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 // Resource for managing an Amazon Inspector Organization Configuration. 16 // 17 // > **NOTE:** In order for this resource to work, the account you use must be an Inspector Delegated Admin Account. 18 // 19 // > **NOTE:** When this resource is deleted, EC2, ECR, Lambda, and Lambda code scans will no longer be automatically enabled for new members of your Amazon Inspector organization. 20 // 21 // ## Example Usage 22 // 23 // ### Basic Usage 24 // 25 // <!--Start PulumiCodeChooser --> 26 // ```go 27 // package main 28 // 29 // import ( 30 // 31 // "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/inspector2" 32 // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" 33 // 34 // ) 35 // 36 // func main() { 37 // pulumi.Run(func(ctx *pulumi.Context) error { 38 // _, err := inspector2.NewOrganizationConfiguration(ctx, "example", &inspector2.OrganizationConfigurationArgs{ 39 // AutoEnable: &inspector2.OrganizationConfigurationAutoEnableArgs{ 40 // Ec2: pulumi.Bool(true), 41 // Ecr: pulumi.Bool(false), 42 // Lambda: pulumi.Bool(true), 43 // LambdaCode: pulumi.Bool(true), 44 // }, 45 // }) 46 // if err != nil { 47 // return err 48 // } 49 // return nil 50 // }) 51 // } 52 // 53 // ``` 54 // <!--End PulumiCodeChooser --> 55 type OrganizationConfiguration struct { 56 pulumi.CustomResourceState 57 58 // Configuration block for auto enabling. See below. 59 AutoEnable OrganizationConfigurationAutoEnableOutput `pulumi:"autoEnable"` 60 // Whether your configuration reached the max account limit. 61 MaxAccountLimitReached pulumi.BoolOutput `pulumi:"maxAccountLimitReached"` 62 } 63 64 // NewOrganizationConfiguration registers a new resource with the given unique name, arguments, and options. 65 func NewOrganizationConfiguration(ctx *pulumi.Context, 66 name string, args *OrganizationConfigurationArgs, opts ...pulumi.ResourceOption) (*OrganizationConfiguration, error) { 67 if args == nil { 68 return nil, errors.New("missing one or more required arguments") 69 } 70 71 if args.AutoEnable == nil { 72 return nil, errors.New("invalid value for required argument 'AutoEnable'") 73 } 74 opts = internal.PkgResourceDefaultOpts(opts) 75 var resource OrganizationConfiguration 76 err := ctx.RegisterResource("aws:inspector2/organizationConfiguration:OrganizationConfiguration", name, args, &resource, opts...) 77 if err != nil { 78 return nil, err 79 } 80 return &resource, nil 81 } 82 83 // GetOrganizationConfiguration gets an existing OrganizationConfiguration resource's state with the given name, ID, and optional 84 // state properties that are used to uniquely qualify the lookup (nil if not required). 85 func GetOrganizationConfiguration(ctx *pulumi.Context, 86 name string, id pulumi.IDInput, state *OrganizationConfigurationState, opts ...pulumi.ResourceOption) (*OrganizationConfiguration, error) { 87 var resource OrganizationConfiguration 88 err := ctx.ReadResource("aws:inspector2/organizationConfiguration:OrganizationConfiguration", name, id, state, &resource, opts...) 89 if err != nil { 90 return nil, err 91 } 92 return &resource, nil 93 } 94 95 // Input properties used for looking up and filtering OrganizationConfiguration resources. 96 type organizationConfigurationState struct { 97 // Configuration block for auto enabling. See below. 98 AutoEnable *OrganizationConfigurationAutoEnable `pulumi:"autoEnable"` 99 // Whether your configuration reached the max account limit. 100 MaxAccountLimitReached *bool `pulumi:"maxAccountLimitReached"` 101 } 102 103 type OrganizationConfigurationState struct { 104 // Configuration block for auto enabling. See below. 105 AutoEnable OrganizationConfigurationAutoEnablePtrInput 106 // Whether your configuration reached the max account limit. 107 MaxAccountLimitReached pulumi.BoolPtrInput 108 } 109 110 func (OrganizationConfigurationState) ElementType() reflect.Type { 111 return reflect.TypeOf((*organizationConfigurationState)(nil)).Elem() 112 } 113 114 type organizationConfigurationArgs struct { 115 // Configuration block for auto enabling. See below. 116 AutoEnable OrganizationConfigurationAutoEnable `pulumi:"autoEnable"` 117 } 118 119 // The set of arguments for constructing a OrganizationConfiguration resource. 120 type OrganizationConfigurationArgs struct { 121 // Configuration block for auto enabling. See below. 122 AutoEnable OrganizationConfigurationAutoEnableInput 123 } 124 125 func (OrganizationConfigurationArgs) ElementType() reflect.Type { 126 return reflect.TypeOf((*organizationConfigurationArgs)(nil)).Elem() 127 } 128 129 type OrganizationConfigurationInput interface { 130 pulumi.Input 131 132 ToOrganizationConfigurationOutput() OrganizationConfigurationOutput 133 ToOrganizationConfigurationOutputWithContext(ctx context.Context) OrganizationConfigurationOutput 134 } 135 136 func (*OrganizationConfiguration) ElementType() reflect.Type { 137 return reflect.TypeOf((**OrganizationConfiguration)(nil)).Elem() 138 } 139 140 func (i *OrganizationConfiguration) ToOrganizationConfigurationOutput() OrganizationConfigurationOutput { 141 return i.ToOrganizationConfigurationOutputWithContext(context.Background()) 142 } 143 144 func (i *OrganizationConfiguration) ToOrganizationConfigurationOutputWithContext(ctx context.Context) OrganizationConfigurationOutput { 145 return pulumi.ToOutputWithContext(ctx, i).(OrganizationConfigurationOutput) 146 } 147 148 // OrganizationConfigurationArrayInput is an input type that accepts OrganizationConfigurationArray and OrganizationConfigurationArrayOutput values. 149 // You can construct a concrete instance of `OrganizationConfigurationArrayInput` via: 150 // 151 // OrganizationConfigurationArray{ OrganizationConfigurationArgs{...} } 152 type OrganizationConfigurationArrayInput interface { 153 pulumi.Input 154 155 ToOrganizationConfigurationArrayOutput() OrganizationConfigurationArrayOutput 156 ToOrganizationConfigurationArrayOutputWithContext(context.Context) OrganizationConfigurationArrayOutput 157 } 158 159 type OrganizationConfigurationArray []OrganizationConfigurationInput 160 161 func (OrganizationConfigurationArray) ElementType() reflect.Type { 162 return reflect.TypeOf((*[]*OrganizationConfiguration)(nil)).Elem() 163 } 164 165 func (i OrganizationConfigurationArray) ToOrganizationConfigurationArrayOutput() OrganizationConfigurationArrayOutput { 166 return i.ToOrganizationConfigurationArrayOutputWithContext(context.Background()) 167 } 168 169 func (i OrganizationConfigurationArray) ToOrganizationConfigurationArrayOutputWithContext(ctx context.Context) OrganizationConfigurationArrayOutput { 170 return pulumi.ToOutputWithContext(ctx, i).(OrganizationConfigurationArrayOutput) 171 } 172 173 // OrganizationConfigurationMapInput is an input type that accepts OrganizationConfigurationMap and OrganizationConfigurationMapOutput values. 174 // You can construct a concrete instance of `OrganizationConfigurationMapInput` via: 175 // 176 // OrganizationConfigurationMap{ "key": OrganizationConfigurationArgs{...} } 177 type OrganizationConfigurationMapInput interface { 178 pulumi.Input 179 180 ToOrganizationConfigurationMapOutput() OrganizationConfigurationMapOutput 181 ToOrganizationConfigurationMapOutputWithContext(context.Context) OrganizationConfigurationMapOutput 182 } 183 184 type OrganizationConfigurationMap map[string]OrganizationConfigurationInput 185 186 func (OrganizationConfigurationMap) ElementType() reflect.Type { 187 return reflect.TypeOf((*map[string]*OrganizationConfiguration)(nil)).Elem() 188 } 189 190 func (i OrganizationConfigurationMap) ToOrganizationConfigurationMapOutput() OrganizationConfigurationMapOutput { 191 return i.ToOrganizationConfigurationMapOutputWithContext(context.Background()) 192 } 193 194 func (i OrganizationConfigurationMap) ToOrganizationConfigurationMapOutputWithContext(ctx context.Context) OrganizationConfigurationMapOutput { 195 return pulumi.ToOutputWithContext(ctx, i).(OrganizationConfigurationMapOutput) 196 } 197 198 type OrganizationConfigurationOutput struct{ *pulumi.OutputState } 199 200 func (OrganizationConfigurationOutput) ElementType() reflect.Type { 201 return reflect.TypeOf((**OrganizationConfiguration)(nil)).Elem() 202 } 203 204 func (o OrganizationConfigurationOutput) ToOrganizationConfigurationOutput() OrganizationConfigurationOutput { 205 return o 206 } 207 208 func (o OrganizationConfigurationOutput) ToOrganizationConfigurationOutputWithContext(ctx context.Context) OrganizationConfigurationOutput { 209 return o 210 } 211 212 // Configuration block for auto enabling. See below. 213 func (o OrganizationConfigurationOutput) AutoEnable() OrganizationConfigurationAutoEnableOutput { 214 return o.ApplyT(func(v *OrganizationConfiguration) OrganizationConfigurationAutoEnableOutput { return v.AutoEnable }).(OrganizationConfigurationAutoEnableOutput) 215 } 216 217 // Whether your configuration reached the max account limit. 218 func (o OrganizationConfigurationOutput) MaxAccountLimitReached() pulumi.BoolOutput { 219 return o.ApplyT(func(v *OrganizationConfiguration) pulumi.BoolOutput { return v.MaxAccountLimitReached }).(pulumi.BoolOutput) 220 } 221 222 type OrganizationConfigurationArrayOutput struct{ *pulumi.OutputState } 223 224 func (OrganizationConfigurationArrayOutput) ElementType() reflect.Type { 225 return reflect.TypeOf((*[]*OrganizationConfiguration)(nil)).Elem() 226 } 227 228 func (o OrganizationConfigurationArrayOutput) ToOrganizationConfigurationArrayOutput() OrganizationConfigurationArrayOutput { 229 return o 230 } 231 232 func (o OrganizationConfigurationArrayOutput) ToOrganizationConfigurationArrayOutputWithContext(ctx context.Context) OrganizationConfigurationArrayOutput { 233 return o 234 } 235 236 func (o OrganizationConfigurationArrayOutput) Index(i pulumi.IntInput) OrganizationConfigurationOutput { 237 return pulumi.All(o, i).ApplyT(func(vs []interface{}) *OrganizationConfiguration { 238 return vs[0].([]*OrganizationConfiguration)[vs[1].(int)] 239 }).(OrganizationConfigurationOutput) 240 } 241 242 type OrganizationConfigurationMapOutput struct{ *pulumi.OutputState } 243 244 func (OrganizationConfigurationMapOutput) ElementType() reflect.Type { 245 return reflect.TypeOf((*map[string]*OrganizationConfiguration)(nil)).Elem() 246 } 247 248 func (o OrganizationConfigurationMapOutput) ToOrganizationConfigurationMapOutput() OrganizationConfigurationMapOutput { 249 return o 250 } 251 252 func (o OrganizationConfigurationMapOutput) ToOrganizationConfigurationMapOutputWithContext(ctx context.Context) OrganizationConfigurationMapOutput { 253 return o 254 } 255 256 func (o OrganizationConfigurationMapOutput) MapIndex(k pulumi.StringInput) OrganizationConfigurationOutput { 257 return pulumi.All(o, k).ApplyT(func(vs []interface{}) *OrganizationConfiguration { 258 return vs[0].(map[string]*OrganizationConfiguration)[vs[1].(string)] 259 }).(OrganizationConfigurationOutput) 260 } 261 262 func init() { 263 pulumi.RegisterInputType(reflect.TypeOf((*OrganizationConfigurationInput)(nil)).Elem(), &OrganizationConfiguration{}) 264 pulumi.RegisterInputType(reflect.TypeOf((*OrganizationConfigurationArrayInput)(nil)).Elem(), OrganizationConfigurationArray{}) 265 pulumi.RegisterInputType(reflect.TypeOf((*OrganizationConfigurationMapInput)(nil)).Elem(), OrganizationConfigurationMap{}) 266 pulumi.RegisterOutputType(OrganizationConfigurationOutput{}) 267 pulumi.RegisterOutputType(OrganizationConfigurationArrayOutput{}) 268 pulumi.RegisterOutputType(OrganizationConfigurationMapOutput{}) 269 }