github.com/pulumi/pulumi-aws/sdk/v6@v6.32.0/go/aws/ssoadmin/applicationAssignmentConfiguration.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 ssoadmin 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 AWS SSO Admin Application Assignment Configuration. 16 // 17 // By default, applications will require users to have an explicit assignment in order to access an application. 18 // This resource can be used to adjust this default behavior if necessary. 19 // 20 // > Deleting this resource will return the assignment configuration for the application to the default AWS behavior (ie. `assignmentRequired = true`). 21 // 22 // ## Example Usage 23 // 24 // ### Basic Usage 25 // 26 // <!--Start PulumiCodeChooser --> 27 // ```go 28 // package main 29 // 30 // import ( 31 // 32 // "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ssoadmin" 33 // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" 34 // 35 // ) 36 // 37 // func main() { 38 // pulumi.Run(func(ctx *pulumi.Context) error { 39 // _, err := ssoadmin.NewApplicationAssignmentConfiguration(ctx, "example", &ssoadmin.ApplicationAssignmentConfigurationArgs{ 40 // ApplicationArn: pulumi.Any(exampleAwsSsoadminApplication.ApplicationArn), 41 // AssignmentRequired: pulumi.Bool(true), 42 // }) 43 // if err != nil { 44 // return err 45 // } 46 // return nil 47 // }) 48 // } 49 // 50 // ``` 51 // <!--End PulumiCodeChooser --> 52 // 53 // ## Import 54 // 55 // Using `pulumi import`, import SSO Admin Application Assignment Configuration using the `id`. For example: 56 // 57 // ```sh 58 // $ pulumi import aws:ssoadmin/applicationAssignmentConfiguration:ApplicationAssignmentConfiguration example arn:aws:sso::012345678901:application/id-12345678 59 // ``` 60 type ApplicationAssignmentConfiguration struct { 61 pulumi.CustomResourceState 62 63 // ARN of the application. 64 ApplicationArn pulumi.StringOutput `pulumi:"applicationArn"` 65 // Indicates whether users must have an explicit assignment to access the application. If `false`, all users have access to the application. 66 AssignmentRequired pulumi.BoolOutput `pulumi:"assignmentRequired"` 67 } 68 69 // NewApplicationAssignmentConfiguration registers a new resource with the given unique name, arguments, and options. 70 func NewApplicationAssignmentConfiguration(ctx *pulumi.Context, 71 name string, args *ApplicationAssignmentConfigurationArgs, opts ...pulumi.ResourceOption) (*ApplicationAssignmentConfiguration, error) { 72 if args == nil { 73 return nil, errors.New("missing one or more required arguments") 74 } 75 76 if args.ApplicationArn == nil { 77 return nil, errors.New("invalid value for required argument 'ApplicationArn'") 78 } 79 if args.AssignmentRequired == nil { 80 return nil, errors.New("invalid value for required argument 'AssignmentRequired'") 81 } 82 opts = internal.PkgResourceDefaultOpts(opts) 83 var resource ApplicationAssignmentConfiguration 84 err := ctx.RegisterResource("aws:ssoadmin/applicationAssignmentConfiguration:ApplicationAssignmentConfiguration", name, args, &resource, opts...) 85 if err != nil { 86 return nil, err 87 } 88 return &resource, nil 89 } 90 91 // GetApplicationAssignmentConfiguration gets an existing ApplicationAssignmentConfiguration resource's state with the given name, ID, and optional 92 // state properties that are used to uniquely qualify the lookup (nil if not required). 93 func GetApplicationAssignmentConfiguration(ctx *pulumi.Context, 94 name string, id pulumi.IDInput, state *ApplicationAssignmentConfigurationState, opts ...pulumi.ResourceOption) (*ApplicationAssignmentConfiguration, error) { 95 var resource ApplicationAssignmentConfiguration 96 err := ctx.ReadResource("aws:ssoadmin/applicationAssignmentConfiguration:ApplicationAssignmentConfiguration", name, id, state, &resource, opts...) 97 if err != nil { 98 return nil, err 99 } 100 return &resource, nil 101 } 102 103 // Input properties used for looking up and filtering ApplicationAssignmentConfiguration resources. 104 type applicationAssignmentConfigurationState struct { 105 // ARN of the application. 106 ApplicationArn *string `pulumi:"applicationArn"` 107 // Indicates whether users must have an explicit assignment to access the application. If `false`, all users have access to the application. 108 AssignmentRequired *bool `pulumi:"assignmentRequired"` 109 } 110 111 type ApplicationAssignmentConfigurationState struct { 112 // ARN of the application. 113 ApplicationArn pulumi.StringPtrInput 114 // Indicates whether users must have an explicit assignment to access the application. If `false`, all users have access to the application. 115 AssignmentRequired pulumi.BoolPtrInput 116 } 117 118 func (ApplicationAssignmentConfigurationState) ElementType() reflect.Type { 119 return reflect.TypeOf((*applicationAssignmentConfigurationState)(nil)).Elem() 120 } 121 122 type applicationAssignmentConfigurationArgs struct { 123 // ARN of the application. 124 ApplicationArn string `pulumi:"applicationArn"` 125 // Indicates whether users must have an explicit assignment to access the application. If `false`, all users have access to the application. 126 AssignmentRequired bool `pulumi:"assignmentRequired"` 127 } 128 129 // The set of arguments for constructing a ApplicationAssignmentConfiguration resource. 130 type ApplicationAssignmentConfigurationArgs struct { 131 // ARN of the application. 132 ApplicationArn pulumi.StringInput 133 // Indicates whether users must have an explicit assignment to access the application. If `false`, all users have access to the application. 134 AssignmentRequired pulumi.BoolInput 135 } 136 137 func (ApplicationAssignmentConfigurationArgs) ElementType() reflect.Type { 138 return reflect.TypeOf((*applicationAssignmentConfigurationArgs)(nil)).Elem() 139 } 140 141 type ApplicationAssignmentConfigurationInput interface { 142 pulumi.Input 143 144 ToApplicationAssignmentConfigurationOutput() ApplicationAssignmentConfigurationOutput 145 ToApplicationAssignmentConfigurationOutputWithContext(ctx context.Context) ApplicationAssignmentConfigurationOutput 146 } 147 148 func (*ApplicationAssignmentConfiguration) ElementType() reflect.Type { 149 return reflect.TypeOf((**ApplicationAssignmentConfiguration)(nil)).Elem() 150 } 151 152 func (i *ApplicationAssignmentConfiguration) ToApplicationAssignmentConfigurationOutput() ApplicationAssignmentConfigurationOutput { 153 return i.ToApplicationAssignmentConfigurationOutputWithContext(context.Background()) 154 } 155 156 func (i *ApplicationAssignmentConfiguration) ToApplicationAssignmentConfigurationOutputWithContext(ctx context.Context) ApplicationAssignmentConfigurationOutput { 157 return pulumi.ToOutputWithContext(ctx, i).(ApplicationAssignmentConfigurationOutput) 158 } 159 160 // ApplicationAssignmentConfigurationArrayInput is an input type that accepts ApplicationAssignmentConfigurationArray and ApplicationAssignmentConfigurationArrayOutput values. 161 // You can construct a concrete instance of `ApplicationAssignmentConfigurationArrayInput` via: 162 // 163 // ApplicationAssignmentConfigurationArray{ ApplicationAssignmentConfigurationArgs{...} } 164 type ApplicationAssignmentConfigurationArrayInput interface { 165 pulumi.Input 166 167 ToApplicationAssignmentConfigurationArrayOutput() ApplicationAssignmentConfigurationArrayOutput 168 ToApplicationAssignmentConfigurationArrayOutputWithContext(context.Context) ApplicationAssignmentConfigurationArrayOutput 169 } 170 171 type ApplicationAssignmentConfigurationArray []ApplicationAssignmentConfigurationInput 172 173 func (ApplicationAssignmentConfigurationArray) ElementType() reflect.Type { 174 return reflect.TypeOf((*[]*ApplicationAssignmentConfiguration)(nil)).Elem() 175 } 176 177 func (i ApplicationAssignmentConfigurationArray) ToApplicationAssignmentConfigurationArrayOutput() ApplicationAssignmentConfigurationArrayOutput { 178 return i.ToApplicationAssignmentConfigurationArrayOutputWithContext(context.Background()) 179 } 180 181 func (i ApplicationAssignmentConfigurationArray) ToApplicationAssignmentConfigurationArrayOutputWithContext(ctx context.Context) ApplicationAssignmentConfigurationArrayOutput { 182 return pulumi.ToOutputWithContext(ctx, i).(ApplicationAssignmentConfigurationArrayOutput) 183 } 184 185 // ApplicationAssignmentConfigurationMapInput is an input type that accepts ApplicationAssignmentConfigurationMap and ApplicationAssignmentConfigurationMapOutput values. 186 // You can construct a concrete instance of `ApplicationAssignmentConfigurationMapInput` via: 187 // 188 // ApplicationAssignmentConfigurationMap{ "key": ApplicationAssignmentConfigurationArgs{...} } 189 type ApplicationAssignmentConfigurationMapInput interface { 190 pulumi.Input 191 192 ToApplicationAssignmentConfigurationMapOutput() ApplicationAssignmentConfigurationMapOutput 193 ToApplicationAssignmentConfigurationMapOutputWithContext(context.Context) ApplicationAssignmentConfigurationMapOutput 194 } 195 196 type ApplicationAssignmentConfigurationMap map[string]ApplicationAssignmentConfigurationInput 197 198 func (ApplicationAssignmentConfigurationMap) ElementType() reflect.Type { 199 return reflect.TypeOf((*map[string]*ApplicationAssignmentConfiguration)(nil)).Elem() 200 } 201 202 func (i ApplicationAssignmentConfigurationMap) ToApplicationAssignmentConfigurationMapOutput() ApplicationAssignmentConfigurationMapOutput { 203 return i.ToApplicationAssignmentConfigurationMapOutputWithContext(context.Background()) 204 } 205 206 func (i ApplicationAssignmentConfigurationMap) ToApplicationAssignmentConfigurationMapOutputWithContext(ctx context.Context) ApplicationAssignmentConfigurationMapOutput { 207 return pulumi.ToOutputWithContext(ctx, i).(ApplicationAssignmentConfigurationMapOutput) 208 } 209 210 type ApplicationAssignmentConfigurationOutput struct{ *pulumi.OutputState } 211 212 func (ApplicationAssignmentConfigurationOutput) ElementType() reflect.Type { 213 return reflect.TypeOf((**ApplicationAssignmentConfiguration)(nil)).Elem() 214 } 215 216 func (o ApplicationAssignmentConfigurationOutput) ToApplicationAssignmentConfigurationOutput() ApplicationAssignmentConfigurationOutput { 217 return o 218 } 219 220 func (o ApplicationAssignmentConfigurationOutput) ToApplicationAssignmentConfigurationOutputWithContext(ctx context.Context) ApplicationAssignmentConfigurationOutput { 221 return o 222 } 223 224 // ARN of the application. 225 func (o ApplicationAssignmentConfigurationOutput) ApplicationArn() pulumi.StringOutput { 226 return o.ApplyT(func(v *ApplicationAssignmentConfiguration) pulumi.StringOutput { return v.ApplicationArn }).(pulumi.StringOutput) 227 } 228 229 // Indicates whether users must have an explicit assignment to access the application. If `false`, all users have access to the application. 230 func (o ApplicationAssignmentConfigurationOutput) AssignmentRequired() pulumi.BoolOutput { 231 return o.ApplyT(func(v *ApplicationAssignmentConfiguration) pulumi.BoolOutput { return v.AssignmentRequired }).(pulumi.BoolOutput) 232 } 233 234 type ApplicationAssignmentConfigurationArrayOutput struct{ *pulumi.OutputState } 235 236 func (ApplicationAssignmentConfigurationArrayOutput) ElementType() reflect.Type { 237 return reflect.TypeOf((*[]*ApplicationAssignmentConfiguration)(nil)).Elem() 238 } 239 240 func (o ApplicationAssignmentConfigurationArrayOutput) ToApplicationAssignmentConfigurationArrayOutput() ApplicationAssignmentConfigurationArrayOutput { 241 return o 242 } 243 244 func (o ApplicationAssignmentConfigurationArrayOutput) ToApplicationAssignmentConfigurationArrayOutputWithContext(ctx context.Context) ApplicationAssignmentConfigurationArrayOutput { 245 return o 246 } 247 248 func (o ApplicationAssignmentConfigurationArrayOutput) Index(i pulumi.IntInput) ApplicationAssignmentConfigurationOutput { 249 return pulumi.All(o, i).ApplyT(func(vs []interface{}) *ApplicationAssignmentConfiguration { 250 return vs[0].([]*ApplicationAssignmentConfiguration)[vs[1].(int)] 251 }).(ApplicationAssignmentConfigurationOutput) 252 } 253 254 type ApplicationAssignmentConfigurationMapOutput struct{ *pulumi.OutputState } 255 256 func (ApplicationAssignmentConfigurationMapOutput) ElementType() reflect.Type { 257 return reflect.TypeOf((*map[string]*ApplicationAssignmentConfiguration)(nil)).Elem() 258 } 259 260 func (o ApplicationAssignmentConfigurationMapOutput) ToApplicationAssignmentConfigurationMapOutput() ApplicationAssignmentConfigurationMapOutput { 261 return o 262 } 263 264 func (o ApplicationAssignmentConfigurationMapOutput) ToApplicationAssignmentConfigurationMapOutputWithContext(ctx context.Context) ApplicationAssignmentConfigurationMapOutput { 265 return o 266 } 267 268 func (o ApplicationAssignmentConfigurationMapOutput) MapIndex(k pulumi.StringInput) ApplicationAssignmentConfigurationOutput { 269 return pulumi.All(o, k).ApplyT(func(vs []interface{}) *ApplicationAssignmentConfiguration { 270 return vs[0].(map[string]*ApplicationAssignmentConfiguration)[vs[1].(string)] 271 }).(ApplicationAssignmentConfigurationOutput) 272 } 273 274 func init() { 275 pulumi.RegisterInputType(reflect.TypeOf((*ApplicationAssignmentConfigurationInput)(nil)).Elem(), &ApplicationAssignmentConfiguration{}) 276 pulumi.RegisterInputType(reflect.TypeOf((*ApplicationAssignmentConfigurationArrayInput)(nil)).Elem(), ApplicationAssignmentConfigurationArray{}) 277 pulumi.RegisterInputType(reflect.TypeOf((*ApplicationAssignmentConfigurationMapInput)(nil)).Elem(), ApplicationAssignmentConfigurationMap{}) 278 pulumi.RegisterOutputType(ApplicationAssignmentConfigurationOutput{}) 279 pulumi.RegisterOutputType(ApplicationAssignmentConfigurationArrayOutput{}) 280 pulumi.RegisterOutputType(ApplicationAssignmentConfigurationMapOutput{}) 281 }