github.com/pulumi/pulumi-aws/sdk/v6@v6.32.0/go/aws/servicecatalog/principalPortfolioAssociation.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 servicecatalog 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 // Manages a Service Catalog Principal Portfolio Association. 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/servicecatalog" 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 := servicecatalog.NewPrincipalPortfolioAssociation(ctx, "example", &servicecatalog.PrincipalPortfolioAssociationArgs{ 35 // PortfolioId: pulumi.String("port-68656c6c6f"), 36 // PrincipalArn: pulumi.String("arn:aws:iam::123456789012:user/Eleanor"), 37 // }) 38 // if err != nil { 39 // return err 40 // } 41 // return nil 42 // }) 43 // } 44 // 45 // ``` 46 // <!--End PulumiCodeChooser --> 47 // 48 // ## Import 49 // 50 // Using `pulumi import`, import `aws_servicecatalog_principal_portfolio_association` using `accept_language`, `principal_arn`, `portfolio_id`, and `principal_type` separated by a comma. For example: 51 // 52 // ```sh 53 // $ pulumi import aws:servicecatalog/principalPortfolioAssociation:PrincipalPortfolioAssociation example en,arn:aws:iam::123456789012:user/Eleanor,port-68656c6c6f,IAM 54 // ``` 55 type PrincipalPortfolioAssociation struct { 56 pulumi.CustomResourceState 57 58 // Language code. Valid values: `en` (English), `jp` (Japanese), `zh` (Chinese). Default value is `en`. 59 AcceptLanguage pulumi.StringPtrOutput `pulumi:"acceptLanguage"` 60 // Portfolio identifier. 61 PortfolioId pulumi.StringOutput `pulumi:"portfolioId"` 62 // Principal ARN. 63 // 64 // The following arguments are optional: 65 PrincipalArn pulumi.StringOutput `pulumi:"principalArn"` 66 // Principal type. Setting this argument empty (e.g., `principalType = ""`) will result in an error. Valid values are `IAM` and `IAM_PATTERN`. Default is `IAM`. 67 PrincipalType pulumi.StringPtrOutput `pulumi:"principalType"` 68 } 69 70 // NewPrincipalPortfolioAssociation registers a new resource with the given unique name, arguments, and options. 71 func NewPrincipalPortfolioAssociation(ctx *pulumi.Context, 72 name string, args *PrincipalPortfolioAssociationArgs, opts ...pulumi.ResourceOption) (*PrincipalPortfolioAssociation, error) { 73 if args == nil { 74 return nil, errors.New("missing one or more required arguments") 75 } 76 77 if args.PortfolioId == nil { 78 return nil, errors.New("invalid value for required argument 'PortfolioId'") 79 } 80 if args.PrincipalArn == nil { 81 return nil, errors.New("invalid value for required argument 'PrincipalArn'") 82 } 83 opts = internal.PkgResourceDefaultOpts(opts) 84 var resource PrincipalPortfolioAssociation 85 err := ctx.RegisterResource("aws:servicecatalog/principalPortfolioAssociation:PrincipalPortfolioAssociation", name, args, &resource, opts...) 86 if err != nil { 87 return nil, err 88 } 89 return &resource, nil 90 } 91 92 // GetPrincipalPortfolioAssociation gets an existing PrincipalPortfolioAssociation resource's state with the given name, ID, and optional 93 // state properties that are used to uniquely qualify the lookup (nil if not required). 94 func GetPrincipalPortfolioAssociation(ctx *pulumi.Context, 95 name string, id pulumi.IDInput, state *PrincipalPortfolioAssociationState, opts ...pulumi.ResourceOption) (*PrincipalPortfolioAssociation, error) { 96 var resource PrincipalPortfolioAssociation 97 err := ctx.ReadResource("aws:servicecatalog/principalPortfolioAssociation:PrincipalPortfolioAssociation", name, id, state, &resource, opts...) 98 if err != nil { 99 return nil, err 100 } 101 return &resource, nil 102 } 103 104 // Input properties used for looking up and filtering PrincipalPortfolioAssociation resources. 105 type principalPortfolioAssociationState struct { 106 // Language code. Valid values: `en` (English), `jp` (Japanese), `zh` (Chinese). Default value is `en`. 107 AcceptLanguage *string `pulumi:"acceptLanguage"` 108 // Portfolio identifier. 109 PortfolioId *string `pulumi:"portfolioId"` 110 // Principal ARN. 111 // 112 // The following arguments are optional: 113 PrincipalArn *string `pulumi:"principalArn"` 114 // Principal type. Setting this argument empty (e.g., `principalType = ""`) will result in an error. Valid values are `IAM` and `IAM_PATTERN`. Default is `IAM`. 115 PrincipalType *string `pulumi:"principalType"` 116 } 117 118 type PrincipalPortfolioAssociationState struct { 119 // Language code. Valid values: `en` (English), `jp` (Japanese), `zh` (Chinese). Default value is `en`. 120 AcceptLanguage pulumi.StringPtrInput 121 // Portfolio identifier. 122 PortfolioId pulumi.StringPtrInput 123 // Principal ARN. 124 // 125 // The following arguments are optional: 126 PrincipalArn pulumi.StringPtrInput 127 // Principal type. Setting this argument empty (e.g., `principalType = ""`) will result in an error. Valid values are `IAM` and `IAM_PATTERN`. Default is `IAM`. 128 PrincipalType pulumi.StringPtrInput 129 } 130 131 func (PrincipalPortfolioAssociationState) ElementType() reflect.Type { 132 return reflect.TypeOf((*principalPortfolioAssociationState)(nil)).Elem() 133 } 134 135 type principalPortfolioAssociationArgs struct { 136 // Language code. Valid values: `en` (English), `jp` (Japanese), `zh` (Chinese). Default value is `en`. 137 AcceptLanguage *string `pulumi:"acceptLanguage"` 138 // Portfolio identifier. 139 PortfolioId string `pulumi:"portfolioId"` 140 // Principal ARN. 141 // 142 // The following arguments are optional: 143 PrincipalArn string `pulumi:"principalArn"` 144 // Principal type. Setting this argument empty (e.g., `principalType = ""`) will result in an error. Valid values are `IAM` and `IAM_PATTERN`. Default is `IAM`. 145 PrincipalType *string `pulumi:"principalType"` 146 } 147 148 // The set of arguments for constructing a PrincipalPortfolioAssociation resource. 149 type PrincipalPortfolioAssociationArgs struct { 150 // Language code. Valid values: `en` (English), `jp` (Japanese), `zh` (Chinese). Default value is `en`. 151 AcceptLanguage pulumi.StringPtrInput 152 // Portfolio identifier. 153 PortfolioId pulumi.StringInput 154 // Principal ARN. 155 // 156 // The following arguments are optional: 157 PrincipalArn pulumi.StringInput 158 // Principal type. Setting this argument empty (e.g., `principalType = ""`) will result in an error. Valid values are `IAM` and `IAM_PATTERN`. Default is `IAM`. 159 PrincipalType pulumi.StringPtrInput 160 } 161 162 func (PrincipalPortfolioAssociationArgs) ElementType() reflect.Type { 163 return reflect.TypeOf((*principalPortfolioAssociationArgs)(nil)).Elem() 164 } 165 166 type PrincipalPortfolioAssociationInput interface { 167 pulumi.Input 168 169 ToPrincipalPortfolioAssociationOutput() PrincipalPortfolioAssociationOutput 170 ToPrincipalPortfolioAssociationOutputWithContext(ctx context.Context) PrincipalPortfolioAssociationOutput 171 } 172 173 func (*PrincipalPortfolioAssociation) ElementType() reflect.Type { 174 return reflect.TypeOf((**PrincipalPortfolioAssociation)(nil)).Elem() 175 } 176 177 func (i *PrincipalPortfolioAssociation) ToPrincipalPortfolioAssociationOutput() PrincipalPortfolioAssociationOutput { 178 return i.ToPrincipalPortfolioAssociationOutputWithContext(context.Background()) 179 } 180 181 func (i *PrincipalPortfolioAssociation) ToPrincipalPortfolioAssociationOutputWithContext(ctx context.Context) PrincipalPortfolioAssociationOutput { 182 return pulumi.ToOutputWithContext(ctx, i).(PrincipalPortfolioAssociationOutput) 183 } 184 185 // PrincipalPortfolioAssociationArrayInput is an input type that accepts PrincipalPortfolioAssociationArray and PrincipalPortfolioAssociationArrayOutput values. 186 // You can construct a concrete instance of `PrincipalPortfolioAssociationArrayInput` via: 187 // 188 // PrincipalPortfolioAssociationArray{ PrincipalPortfolioAssociationArgs{...} } 189 type PrincipalPortfolioAssociationArrayInput interface { 190 pulumi.Input 191 192 ToPrincipalPortfolioAssociationArrayOutput() PrincipalPortfolioAssociationArrayOutput 193 ToPrincipalPortfolioAssociationArrayOutputWithContext(context.Context) PrincipalPortfolioAssociationArrayOutput 194 } 195 196 type PrincipalPortfolioAssociationArray []PrincipalPortfolioAssociationInput 197 198 func (PrincipalPortfolioAssociationArray) ElementType() reflect.Type { 199 return reflect.TypeOf((*[]*PrincipalPortfolioAssociation)(nil)).Elem() 200 } 201 202 func (i PrincipalPortfolioAssociationArray) ToPrincipalPortfolioAssociationArrayOutput() PrincipalPortfolioAssociationArrayOutput { 203 return i.ToPrincipalPortfolioAssociationArrayOutputWithContext(context.Background()) 204 } 205 206 func (i PrincipalPortfolioAssociationArray) ToPrincipalPortfolioAssociationArrayOutputWithContext(ctx context.Context) PrincipalPortfolioAssociationArrayOutput { 207 return pulumi.ToOutputWithContext(ctx, i).(PrincipalPortfolioAssociationArrayOutput) 208 } 209 210 // PrincipalPortfolioAssociationMapInput is an input type that accepts PrincipalPortfolioAssociationMap and PrincipalPortfolioAssociationMapOutput values. 211 // You can construct a concrete instance of `PrincipalPortfolioAssociationMapInput` via: 212 // 213 // PrincipalPortfolioAssociationMap{ "key": PrincipalPortfolioAssociationArgs{...} } 214 type PrincipalPortfolioAssociationMapInput interface { 215 pulumi.Input 216 217 ToPrincipalPortfolioAssociationMapOutput() PrincipalPortfolioAssociationMapOutput 218 ToPrincipalPortfolioAssociationMapOutputWithContext(context.Context) PrincipalPortfolioAssociationMapOutput 219 } 220 221 type PrincipalPortfolioAssociationMap map[string]PrincipalPortfolioAssociationInput 222 223 func (PrincipalPortfolioAssociationMap) ElementType() reflect.Type { 224 return reflect.TypeOf((*map[string]*PrincipalPortfolioAssociation)(nil)).Elem() 225 } 226 227 func (i PrincipalPortfolioAssociationMap) ToPrincipalPortfolioAssociationMapOutput() PrincipalPortfolioAssociationMapOutput { 228 return i.ToPrincipalPortfolioAssociationMapOutputWithContext(context.Background()) 229 } 230 231 func (i PrincipalPortfolioAssociationMap) ToPrincipalPortfolioAssociationMapOutputWithContext(ctx context.Context) PrincipalPortfolioAssociationMapOutput { 232 return pulumi.ToOutputWithContext(ctx, i).(PrincipalPortfolioAssociationMapOutput) 233 } 234 235 type PrincipalPortfolioAssociationOutput struct{ *pulumi.OutputState } 236 237 func (PrincipalPortfolioAssociationOutput) ElementType() reflect.Type { 238 return reflect.TypeOf((**PrincipalPortfolioAssociation)(nil)).Elem() 239 } 240 241 func (o PrincipalPortfolioAssociationOutput) ToPrincipalPortfolioAssociationOutput() PrincipalPortfolioAssociationOutput { 242 return o 243 } 244 245 func (o PrincipalPortfolioAssociationOutput) ToPrincipalPortfolioAssociationOutputWithContext(ctx context.Context) PrincipalPortfolioAssociationOutput { 246 return o 247 } 248 249 // Language code. Valid values: `en` (English), `jp` (Japanese), `zh` (Chinese). Default value is `en`. 250 func (o PrincipalPortfolioAssociationOutput) AcceptLanguage() pulumi.StringPtrOutput { 251 return o.ApplyT(func(v *PrincipalPortfolioAssociation) pulumi.StringPtrOutput { return v.AcceptLanguage }).(pulumi.StringPtrOutput) 252 } 253 254 // Portfolio identifier. 255 func (o PrincipalPortfolioAssociationOutput) PortfolioId() pulumi.StringOutput { 256 return o.ApplyT(func(v *PrincipalPortfolioAssociation) pulumi.StringOutput { return v.PortfolioId }).(pulumi.StringOutput) 257 } 258 259 // Principal ARN. 260 // 261 // The following arguments are optional: 262 func (o PrincipalPortfolioAssociationOutput) PrincipalArn() pulumi.StringOutput { 263 return o.ApplyT(func(v *PrincipalPortfolioAssociation) pulumi.StringOutput { return v.PrincipalArn }).(pulumi.StringOutput) 264 } 265 266 // Principal type. Setting this argument empty (e.g., `principalType = ""`) will result in an error. Valid values are `IAM` and `IAM_PATTERN`. Default is `IAM`. 267 func (o PrincipalPortfolioAssociationOutput) PrincipalType() pulumi.StringPtrOutput { 268 return o.ApplyT(func(v *PrincipalPortfolioAssociation) pulumi.StringPtrOutput { return v.PrincipalType }).(pulumi.StringPtrOutput) 269 } 270 271 type PrincipalPortfolioAssociationArrayOutput struct{ *pulumi.OutputState } 272 273 func (PrincipalPortfolioAssociationArrayOutput) ElementType() reflect.Type { 274 return reflect.TypeOf((*[]*PrincipalPortfolioAssociation)(nil)).Elem() 275 } 276 277 func (o PrincipalPortfolioAssociationArrayOutput) ToPrincipalPortfolioAssociationArrayOutput() PrincipalPortfolioAssociationArrayOutput { 278 return o 279 } 280 281 func (o PrincipalPortfolioAssociationArrayOutput) ToPrincipalPortfolioAssociationArrayOutputWithContext(ctx context.Context) PrincipalPortfolioAssociationArrayOutput { 282 return o 283 } 284 285 func (o PrincipalPortfolioAssociationArrayOutput) Index(i pulumi.IntInput) PrincipalPortfolioAssociationOutput { 286 return pulumi.All(o, i).ApplyT(func(vs []interface{}) *PrincipalPortfolioAssociation { 287 return vs[0].([]*PrincipalPortfolioAssociation)[vs[1].(int)] 288 }).(PrincipalPortfolioAssociationOutput) 289 } 290 291 type PrincipalPortfolioAssociationMapOutput struct{ *pulumi.OutputState } 292 293 func (PrincipalPortfolioAssociationMapOutput) ElementType() reflect.Type { 294 return reflect.TypeOf((*map[string]*PrincipalPortfolioAssociation)(nil)).Elem() 295 } 296 297 func (o PrincipalPortfolioAssociationMapOutput) ToPrincipalPortfolioAssociationMapOutput() PrincipalPortfolioAssociationMapOutput { 298 return o 299 } 300 301 func (o PrincipalPortfolioAssociationMapOutput) ToPrincipalPortfolioAssociationMapOutputWithContext(ctx context.Context) PrincipalPortfolioAssociationMapOutput { 302 return o 303 } 304 305 func (o PrincipalPortfolioAssociationMapOutput) MapIndex(k pulumi.StringInput) PrincipalPortfolioAssociationOutput { 306 return pulumi.All(o, k).ApplyT(func(vs []interface{}) *PrincipalPortfolioAssociation { 307 return vs[0].(map[string]*PrincipalPortfolioAssociation)[vs[1].(string)] 308 }).(PrincipalPortfolioAssociationOutput) 309 } 310 311 func init() { 312 pulumi.RegisterInputType(reflect.TypeOf((*PrincipalPortfolioAssociationInput)(nil)).Elem(), &PrincipalPortfolioAssociation{}) 313 pulumi.RegisterInputType(reflect.TypeOf((*PrincipalPortfolioAssociationArrayInput)(nil)).Elem(), PrincipalPortfolioAssociationArray{}) 314 pulumi.RegisterInputType(reflect.TypeOf((*PrincipalPortfolioAssociationMapInput)(nil)).Elem(), PrincipalPortfolioAssociationMap{}) 315 pulumi.RegisterOutputType(PrincipalPortfolioAssociationOutput{}) 316 pulumi.RegisterOutputType(PrincipalPortfolioAssociationArrayOutput{}) 317 pulumi.RegisterOutputType(PrincipalPortfolioAssociationMapOutput{}) 318 }