github.com/pulumi/pulumi-aws/sdk/v6@v6.32.0/go/aws/ssoadmin/applicationAssignment.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. 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/ssoadmin" 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 := ssoadmin.NewApplicationAssignment(ctx, "example", &ssoadmin.ApplicationAssignmentArgs{ 35 // ApplicationArn: pulumi.Any(exampleAwsSsoadminApplication.ApplicationArn), 36 // PrincipalId: pulumi.Any(exampleAwsIdentitystoreUser.UserId), 37 // PrincipalType: pulumi.String("USER"), 38 // }) 39 // if err != nil { 40 // return err 41 // } 42 // return nil 43 // }) 44 // } 45 // 46 // ``` 47 // <!--End PulumiCodeChooser --> 48 // 49 // ### Group Type 50 // 51 // <!--Start PulumiCodeChooser --> 52 // ```go 53 // package main 54 // 55 // import ( 56 // 57 // "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ssoadmin" 58 // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" 59 // 60 // ) 61 // 62 // func main() { 63 // pulumi.Run(func(ctx *pulumi.Context) error { 64 // _, err := ssoadmin.NewApplicationAssignment(ctx, "example", &ssoadmin.ApplicationAssignmentArgs{ 65 // ApplicationArn: pulumi.Any(exampleAwsSsoadminApplication.ApplicationArn), 66 // PrincipalId: pulumi.Any(exampleAwsIdentitystoreGroup.GroupId), 67 // PrincipalType: pulumi.String("GROUP"), 68 // }) 69 // if err != nil { 70 // return err 71 // } 72 // return nil 73 // }) 74 // } 75 // 76 // ``` 77 // <!--End PulumiCodeChooser --> 78 // 79 // ## Import 80 // 81 // Using `pulumi import`, import SSO Admin Application Assignment using the `id`. For example: 82 // 83 // ```sh 84 // $ pulumi import aws:ssoadmin/applicationAssignment:ApplicationAssignment example arn:aws:sso::012345678901:application/id-12345678,abcd1234,USER 85 // ``` 86 type ApplicationAssignment struct { 87 pulumi.CustomResourceState 88 89 // ARN of the application. 90 ApplicationArn pulumi.StringOutput `pulumi:"applicationArn"` 91 // An identifier for an object in IAM Identity Center, such as a user or group. 92 PrincipalId pulumi.StringOutput `pulumi:"principalId"` 93 // Entity type for which the assignment will be created. Valid values are `USER` or `GROUP`. 94 PrincipalType pulumi.StringOutput `pulumi:"principalType"` 95 } 96 97 // NewApplicationAssignment registers a new resource with the given unique name, arguments, and options. 98 func NewApplicationAssignment(ctx *pulumi.Context, 99 name string, args *ApplicationAssignmentArgs, opts ...pulumi.ResourceOption) (*ApplicationAssignment, error) { 100 if args == nil { 101 return nil, errors.New("missing one or more required arguments") 102 } 103 104 if args.ApplicationArn == nil { 105 return nil, errors.New("invalid value for required argument 'ApplicationArn'") 106 } 107 if args.PrincipalId == nil { 108 return nil, errors.New("invalid value for required argument 'PrincipalId'") 109 } 110 if args.PrincipalType == nil { 111 return nil, errors.New("invalid value for required argument 'PrincipalType'") 112 } 113 opts = internal.PkgResourceDefaultOpts(opts) 114 var resource ApplicationAssignment 115 err := ctx.RegisterResource("aws:ssoadmin/applicationAssignment:ApplicationAssignment", name, args, &resource, opts...) 116 if err != nil { 117 return nil, err 118 } 119 return &resource, nil 120 } 121 122 // GetApplicationAssignment gets an existing ApplicationAssignment resource's state with the given name, ID, and optional 123 // state properties that are used to uniquely qualify the lookup (nil if not required). 124 func GetApplicationAssignment(ctx *pulumi.Context, 125 name string, id pulumi.IDInput, state *ApplicationAssignmentState, opts ...pulumi.ResourceOption) (*ApplicationAssignment, error) { 126 var resource ApplicationAssignment 127 err := ctx.ReadResource("aws:ssoadmin/applicationAssignment:ApplicationAssignment", name, id, state, &resource, opts...) 128 if err != nil { 129 return nil, err 130 } 131 return &resource, nil 132 } 133 134 // Input properties used for looking up and filtering ApplicationAssignment resources. 135 type applicationAssignmentState struct { 136 // ARN of the application. 137 ApplicationArn *string `pulumi:"applicationArn"` 138 // An identifier for an object in IAM Identity Center, such as a user or group. 139 PrincipalId *string `pulumi:"principalId"` 140 // Entity type for which the assignment will be created. Valid values are `USER` or `GROUP`. 141 PrincipalType *string `pulumi:"principalType"` 142 } 143 144 type ApplicationAssignmentState struct { 145 // ARN of the application. 146 ApplicationArn pulumi.StringPtrInput 147 // An identifier for an object in IAM Identity Center, such as a user or group. 148 PrincipalId pulumi.StringPtrInput 149 // Entity type for which the assignment will be created. Valid values are `USER` or `GROUP`. 150 PrincipalType pulumi.StringPtrInput 151 } 152 153 func (ApplicationAssignmentState) ElementType() reflect.Type { 154 return reflect.TypeOf((*applicationAssignmentState)(nil)).Elem() 155 } 156 157 type applicationAssignmentArgs struct { 158 // ARN of the application. 159 ApplicationArn string `pulumi:"applicationArn"` 160 // An identifier for an object in IAM Identity Center, such as a user or group. 161 PrincipalId string `pulumi:"principalId"` 162 // Entity type for which the assignment will be created. Valid values are `USER` or `GROUP`. 163 PrincipalType string `pulumi:"principalType"` 164 } 165 166 // The set of arguments for constructing a ApplicationAssignment resource. 167 type ApplicationAssignmentArgs struct { 168 // ARN of the application. 169 ApplicationArn pulumi.StringInput 170 // An identifier for an object in IAM Identity Center, such as a user or group. 171 PrincipalId pulumi.StringInput 172 // Entity type for which the assignment will be created. Valid values are `USER` or `GROUP`. 173 PrincipalType pulumi.StringInput 174 } 175 176 func (ApplicationAssignmentArgs) ElementType() reflect.Type { 177 return reflect.TypeOf((*applicationAssignmentArgs)(nil)).Elem() 178 } 179 180 type ApplicationAssignmentInput interface { 181 pulumi.Input 182 183 ToApplicationAssignmentOutput() ApplicationAssignmentOutput 184 ToApplicationAssignmentOutputWithContext(ctx context.Context) ApplicationAssignmentOutput 185 } 186 187 func (*ApplicationAssignment) ElementType() reflect.Type { 188 return reflect.TypeOf((**ApplicationAssignment)(nil)).Elem() 189 } 190 191 func (i *ApplicationAssignment) ToApplicationAssignmentOutput() ApplicationAssignmentOutput { 192 return i.ToApplicationAssignmentOutputWithContext(context.Background()) 193 } 194 195 func (i *ApplicationAssignment) ToApplicationAssignmentOutputWithContext(ctx context.Context) ApplicationAssignmentOutput { 196 return pulumi.ToOutputWithContext(ctx, i).(ApplicationAssignmentOutput) 197 } 198 199 // ApplicationAssignmentArrayInput is an input type that accepts ApplicationAssignmentArray and ApplicationAssignmentArrayOutput values. 200 // You can construct a concrete instance of `ApplicationAssignmentArrayInput` via: 201 // 202 // ApplicationAssignmentArray{ ApplicationAssignmentArgs{...} } 203 type ApplicationAssignmentArrayInput interface { 204 pulumi.Input 205 206 ToApplicationAssignmentArrayOutput() ApplicationAssignmentArrayOutput 207 ToApplicationAssignmentArrayOutputWithContext(context.Context) ApplicationAssignmentArrayOutput 208 } 209 210 type ApplicationAssignmentArray []ApplicationAssignmentInput 211 212 func (ApplicationAssignmentArray) ElementType() reflect.Type { 213 return reflect.TypeOf((*[]*ApplicationAssignment)(nil)).Elem() 214 } 215 216 func (i ApplicationAssignmentArray) ToApplicationAssignmentArrayOutput() ApplicationAssignmentArrayOutput { 217 return i.ToApplicationAssignmentArrayOutputWithContext(context.Background()) 218 } 219 220 func (i ApplicationAssignmentArray) ToApplicationAssignmentArrayOutputWithContext(ctx context.Context) ApplicationAssignmentArrayOutput { 221 return pulumi.ToOutputWithContext(ctx, i).(ApplicationAssignmentArrayOutput) 222 } 223 224 // ApplicationAssignmentMapInput is an input type that accepts ApplicationAssignmentMap and ApplicationAssignmentMapOutput values. 225 // You can construct a concrete instance of `ApplicationAssignmentMapInput` via: 226 // 227 // ApplicationAssignmentMap{ "key": ApplicationAssignmentArgs{...} } 228 type ApplicationAssignmentMapInput interface { 229 pulumi.Input 230 231 ToApplicationAssignmentMapOutput() ApplicationAssignmentMapOutput 232 ToApplicationAssignmentMapOutputWithContext(context.Context) ApplicationAssignmentMapOutput 233 } 234 235 type ApplicationAssignmentMap map[string]ApplicationAssignmentInput 236 237 func (ApplicationAssignmentMap) ElementType() reflect.Type { 238 return reflect.TypeOf((*map[string]*ApplicationAssignment)(nil)).Elem() 239 } 240 241 func (i ApplicationAssignmentMap) ToApplicationAssignmentMapOutput() ApplicationAssignmentMapOutput { 242 return i.ToApplicationAssignmentMapOutputWithContext(context.Background()) 243 } 244 245 func (i ApplicationAssignmentMap) ToApplicationAssignmentMapOutputWithContext(ctx context.Context) ApplicationAssignmentMapOutput { 246 return pulumi.ToOutputWithContext(ctx, i).(ApplicationAssignmentMapOutput) 247 } 248 249 type ApplicationAssignmentOutput struct{ *pulumi.OutputState } 250 251 func (ApplicationAssignmentOutput) ElementType() reflect.Type { 252 return reflect.TypeOf((**ApplicationAssignment)(nil)).Elem() 253 } 254 255 func (o ApplicationAssignmentOutput) ToApplicationAssignmentOutput() ApplicationAssignmentOutput { 256 return o 257 } 258 259 func (o ApplicationAssignmentOutput) ToApplicationAssignmentOutputWithContext(ctx context.Context) ApplicationAssignmentOutput { 260 return o 261 } 262 263 // ARN of the application. 264 func (o ApplicationAssignmentOutput) ApplicationArn() pulumi.StringOutput { 265 return o.ApplyT(func(v *ApplicationAssignment) pulumi.StringOutput { return v.ApplicationArn }).(pulumi.StringOutput) 266 } 267 268 // An identifier for an object in IAM Identity Center, such as a user or group. 269 func (o ApplicationAssignmentOutput) PrincipalId() pulumi.StringOutput { 270 return o.ApplyT(func(v *ApplicationAssignment) pulumi.StringOutput { return v.PrincipalId }).(pulumi.StringOutput) 271 } 272 273 // Entity type for which the assignment will be created. Valid values are `USER` or `GROUP`. 274 func (o ApplicationAssignmentOutput) PrincipalType() pulumi.StringOutput { 275 return o.ApplyT(func(v *ApplicationAssignment) pulumi.StringOutput { return v.PrincipalType }).(pulumi.StringOutput) 276 } 277 278 type ApplicationAssignmentArrayOutput struct{ *pulumi.OutputState } 279 280 func (ApplicationAssignmentArrayOutput) ElementType() reflect.Type { 281 return reflect.TypeOf((*[]*ApplicationAssignment)(nil)).Elem() 282 } 283 284 func (o ApplicationAssignmentArrayOutput) ToApplicationAssignmentArrayOutput() ApplicationAssignmentArrayOutput { 285 return o 286 } 287 288 func (o ApplicationAssignmentArrayOutput) ToApplicationAssignmentArrayOutputWithContext(ctx context.Context) ApplicationAssignmentArrayOutput { 289 return o 290 } 291 292 func (o ApplicationAssignmentArrayOutput) Index(i pulumi.IntInput) ApplicationAssignmentOutput { 293 return pulumi.All(o, i).ApplyT(func(vs []interface{}) *ApplicationAssignment { 294 return vs[0].([]*ApplicationAssignment)[vs[1].(int)] 295 }).(ApplicationAssignmentOutput) 296 } 297 298 type ApplicationAssignmentMapOutput struct{ *pulumi.OutputState } 299 300 func (ApplicationAssignmentMapOutput) ElementType() reflect.Type { 301 return reflect.TypeOf((*map[string]*ApplicationAssignment)(nil)).Elem() 302 } 303 304 func (o ApplicationAssignmentMapOutput) ToApplicationAssignmentMapOutput() ApplicationAssignmentMapOutput { 305 return o 306 } 307 308 func (o ApplicationAssignmentMapOutput) ToApplicationAssignmentMapOutputWithContext(ctx context.Context) ApplicationAssignmentMapOutput { 309 return o 310 } 311 312 func (o ApplicationAssignmentMapOutput) MapIndex(k pulumi.StringInput) ApplicationAssignmentOutput { 313 return pulumi.All(o, k).ApplyT(func(vs []interface{}) *ApplicationAssignment { 314 return vs[0].(map[string]*ApplicationAssignment)[vs[1].(string)] 315 }).(ApplicationAssignmentOutput) 316 } 317 318 func init() { 319 pulumi.RegisterInputType(reflect.TypeOf((*ApplicationAssignmentInput)(nil)).Elem(), &ApplicationAssignment{}) 320 pulumi.RegisterInputType(reflect.TypeOf((*ApplicationAssignmentArrayInput)(nil)).Elem(), ApplicationAssignmentArray{}) 321 pulumi.RegisterInputType(reflect.TypeOf((*ApplicationAssignmentMapInput)(nil)).Elem(), ApplicationAssignmentMap{}) 322 pulumi.RegisterOutputType(ApplicationAssignmentOutput{}) 323 pulumi.RegisterOutputType(ApplicationAssignmentArrayOutput{}) 324 pulumi.RegisterOutputType(ApplicationAssignmentMapOutput{}) 325 }