github.com/pulumi/pulumi-aws/sdk/v6@v6.32.0/go/aws/ssoadmin/instanceAccessControlAttributes.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 // Provides a Single Sign-On (SSO) ABAC Resource: https://docs.aws.amazon.com/singlesignon/latest/userguide/abac.html 16 // 17 // ## Import 18 // 19 // Using `pulumi import`, import SSO Account Assignments using the `instance_arn`. For example: 20 // 21 // ```sh 22 // $ pulumi import aws:ssoadmin/instanceAccessControlAttributes:InstanceAccessControlAttributes example arn:aws:sso:::instance/ssoins-0123456789abcdef 23 // ``` 24 type InstanceAccessControlAttributes struct { 25 pulumi.CustomResourceState 26 27 // See AccessControlAttribute for more details. 28 Attributes InstanceAccessControlAttributesAttributeArrayOutput `pulumi:"attributes"` 29 // The Amazon Resource Name (ARN) of the SSO Instance. 30 InstanceArn pulumi.StringOutput `pulumi:"instanceArn"` 31 Status pulumi.StringOutput `pulumi:"status"` 32 StatusReason pulumi.StringOutput `pulumi:"statusReason"` 33 } 34 35 // NewInstanceAccessControlAttributes registers a new resource with the given unique name, arguments, and options. 36 func NewInstanceAccessControlAttributes(ctx *pulumi.Context, 37 name string, args *InstanceAccessControlAttributesArgs, opts ...pulumi.ResourceOption) (*InstanceAccessControlAttributes, error) { 38 if args == nil { 39 return nil, errors.New("missing one or more required arguments") 40 } 41 42 if args.Attributes == nil { 43 return nil, errors.New("invalid value for required argument 'Attributes'") 44 } 45 if args.InstanceArn == nil { 46 return nil, errors.New("invalid value for required argument 'InstanceArn'") 47 } 48 opts = internal.PkgResourceDefaultOpts(opts) 49 var resource InstanceAccessControlAttributes 50 err := ctx.RegisterResource("aws:ssoadmin/instanceAccessControlAttributes:InstanceAccessControlAttributes", name, args, &resource, opts...) 51 if err != nil { 52 return nil, err 53 } 54 return &resource, nil 55 } 56 57 // GetInstanceAccessControlAttributes gets an existing InstanceAccessControlAttributes resource's state with the given name, ID, and optional 58 // state properties that are used to uniquely qualify the lookup (nil if not required). 59 func GetInstanceAccessControlAttributes(ctx *pulumi.Context, 60 name string, id pulumi.IDInput, state *InstanceAccessControlAttributesState, opts ...pulumi.ResourceOption) (*InstanceAccessControlAttributes, error) { 61 var resource InstanceAccessControlAttributes 62 err := ctx.ReadResource("aws:ssoadmin/instanceAccessControlAttributes:InstanceAccessControlAttributes", name, id, state, &resource, opts...) 63 if err != nil { 64 return nil, err 65 } 66 return &resource, nil 67 } 68 69 // Input properties used for looking up and filtering InstanceAccessControlAttributes resources. 70 type instanceAccessControlAttributesState struct { 71 // See AccessControlAttribute for more details. 72 Attributes []InstanceAccessControlAttributesAttribute `pulumi:"attributes"` 73 // The Amazon Resource Name (ARN) of the SSO Instance. 74 InstanceArn *string `pulumi:"instanceArn"` 75 Status *string `pulumi:"status"` 76 StatusReason *string `pulumi:"statusReason"` 77 } 78 79 type InstanceAccessControlAttributesState struct { 80 // See AccessControlAttribute for more details. 81 Attributes InstanceAccessControlAttributesAttributeArrayInput 82 // The Amazon Resource Name (ARN) of the SSO Instance. 83 InstanceArn pulumi.StringPtrInput 84 Status pulumi.StringPtrInput 85 StatusReason pulumi.StringPtrInput 86 } 87 88 func (InstanceAccessControlAttributesState) ElementType() reflect.Type { 89 return reflect.TypeOf((*instanceAccessControlAttributesState)(nil)).Elem() 90 } 91 92 type instanceAccessControlAttributesArgs struct { 93 // See AccessControlAttribute for more details. 94 Attributes []InstanceAccessControlAttributesAttribute `pulumi:"attributes"` 95 // The Amazon Resource Name (ARN) of the SSO Instance. 96 InstanceArn string `pulumi:"instanceArn"` 97 } 98 99 // The set of arguments for constructing a InstanceAccessControlAttributes resource. 100 type InstanceAccessControlAttributesArgs struct { 101 // See AccessControlAttribute for more details. 102 Attributes InstanceAccessControlAttributesAttributeArrayInput 103 // The Amazon Resource Name (ARN) of the SSO Instance. 104 InstanceArn pulumi.StringInput 105 } 106 107 func (InstanceAccessControlAttributesArgs) ElementType() reflect.Type { 108 return reflect.TypeOf((*instanceAccessControlAttributesArgs)(nil)).Elem() 109 } 110 111 type InstanceAccessControlAttributesInput interface { 112 pulumi.Input 113 114 ToInstanceAccessControlAttributesOutput() InstanceAccessControlAttributesOutput 115 ToInstanceAccessControlAttributesOutputWithContext(ctx context.Context) InstanceAccessControlAttributesOutput 116 } 117 118 func (*InstanceAccessControlAttributes) ElementType() reflect.Type { 119 return reflect.TypeOf((**InstanceAccessControlAttributes)(nil)).Elem() 120 } 121 122 func (i *InstanceAccessControlAttributes) ToInstanceAccessControlAttributesOutput() InstanceAccessControlAttributesOutput { 123 return i.ToInstanceAccessControlAttributesOutputWithContext(context.Background()) 124 } 125 126 func (i *InstanceAccessControlAttributes) ToInstanceAccessControlAttributesOutputWithContext(ctx context.Context) InstanceAccessControlAttributesOutput { 127 return pulumi.ToOutputWithContext(ctx, i).(InstanceAccessControlAttributesOutput) 128 } 129 130 // InstanceAccessControlAttributesArrayInput is an input type that accepts InstanceAccessControlAttributesArray and InstanceAccessControlAttributesArrayOutput values. 131 // You can construct a concrete instance of `InstanceAccessControlAttributesArrayInput` via: 132 // 133 // InstanceAccessControlAttributesArray{ InstanceAccessControlAttributesArgs{...} } 134 type InstanceAccessControlAttributesArrayInput interface { 135 pulumi.Input 136 137 ToInstanceAccessControlAttributesArrayOutput() InstanceAccessControlAttributesArrayOutput 138 ToInstanceAccessControlAttributesArrayOutputWithContext(context.Context) InstanceAccessControlAttributesArrayOutput 139 } 140 141 type InstanceAccessControlAttributesArray []InstanceAccessControlAttributesInput 142 143 func (InstanceAccessControlAttributesArray) ElementType() reflect.Type { 144 return reflect.TypeOf((*[]*InstanceAccessControlAttributes)(nil)).Elem() 145 } 146 147 func (i InstanceAccessControlAttributesArray) ToInstanceAccessControlAttributesArrayOutput() InstanceAccessControlAttributesArrayOutput { 148 return i.ToInstanceAccessControlAttributesArrayOutputWithContext(context.Background()) 149 } 150 151 func (i InstanceAccessControlAttributesArray) ToInstanceAccessControlAttributesArrayOutputWithContext(ctx context.Context) InstanceAccessControlAttributesArrayOutput { 152 return pulumi.ToOutputWithContext(ctx, i).(InstanceAccessControlAttributesArrayOutput) 153 } 154 155 // InstanceAccessControlAttributesMapInput is an input type that accepts InstanceAccessControlAttributesMap and InstanceAccessControlAttributesMapOutput values. 156 // You can construct a concrete instance of `InstanceAccessControlAttributesMapInput` via: 157 // 158 // InstanceAccessControlAttributesMap{ "key": InstanceAccessControlAttributesArgs{...} } 159 type InstanceAccessControlAttributesMapInput interface { 160 pulumi.Input 161 162 ToInstanceAccessControlAttributesMapOutput() InstanceAccessControlAttributesMapOutput 163 ToInstanceAccessControlAttributesMapOutputWithContext(context.Context) InstanceAccessControlAttributesMapOutput 164 } 165 166 type InstanceAccessControlAttributesMap map[string]InstanceAccessControlAttributesInput 167 168 func (InstanceAccessControlAttributesMap) ElementType() reflect.Type { 169 return reflect.TypeOf((*map[string]*InstanceAccessControlAttributes)(nil)).Elem() 170 } 171 172 func (i InstanceAccessControlAttributesMap) ToInstanceAccessControlAttributesMapOutput() InstanceAccessControlAttributesMapOutput { 173 return i.ToInstanceAccessControlAttributesMapOutputWithContext(context.Background()) 174 } 175 176 func (i InstanceAccessControlAttributesMap) ToInstanceAccessControlAttributesMapOutputWithContext(ctx context.Context) InstanceAccessControlAttributesMapOutput { 177 return pulumi.ToOutputWithContext(ctx, i).(InstanceAccessControlAttributesMapOutput) 178 } 179 180 type InstanceAccessControlAttributesOutput struct{ *pulumi.OutputState } 181 182 func (InstanceAccessControlAttributesOutput) ElementType() reflect.Type { 183 return reflect.TypeOf((**InstanceAccessControlAttributes)(nil)).Elem() 184 } 185 186 func (o InstanceAccessControlAttributesOutput) ToInstanceAccessControlAttributesOutput() InstanceAccessControlAttributesOutput { 187 return o 188 } 189 190 func (o InstanceAccessControlAttributesOutput) ToInstanceAccessControlAttributesOutputWithContext(ctx context.Context) InstanceAccessControlAttributesOutput { 191 return o 192 } 193 194 // See AccessControlAttribute for more details. 195 func (o InstanceAccessControlAttributesOutput) Attributes() InstanceAccessControlAttributesAttributeArrayOutput { 196 return o.ApplyT(func(v *InstanceAccessControlAttributes) InstanceAccessControlAttributesAttributeArrayOutput { 197 return v.Attributes 198 }).(InstanceAccessControlAttributesAttributeArrayOutput) 199 } 200 201 // The Amazon Resource Name (ARN) of the SSO Instance. 202 func (o InstanceAccessControlAttributesOutput) InstanceArn() pulumi.StringOutput { 203 return o.ApplyT(func(v *InstanceAccessControlAttributes) pulumi.StringOutput { return v.InstanceArn }).(pulumi.StringOutput) 204 } 205 206 func (o InstanceAccessControlAttributesOutput) Status() pulumi.StringOutput { 207 return o.ApplyT(func(v *InstanceAccessControlAttributes) pulumi.StringOutput { return v.Status }).(pulumi.StringOutput) 208 } 209 210 func (o InstanceAccessControlAttributesOutput) StatusReason() pulumi.StringOutput { 211 return o.ApplyT(func(v *InstanceAccessControlAttributes) pulumi.StringOutput { return v.StatusReason }).(pulumi.StringOutput) 212 } 213 214 type InstanceAccessControlAttributesArrayOutput struct{ *pulumi.OutputState } 215 216 func (InstanceAccessControlAttributesArrayOutput) ElementType() reflect.Type { 217 return reflect.TypeOf((*[]*InstanceAccessControlAttributes)(nil)).Elem() 218 } 219 220 func (o InstanceAccessControlAttributesArrayOutput) ToInstanceAccessControlAttributesArrayOutput() InstanceAccessControlAttributesArrayOutput { 221 return o 222 } 223 224 func (o InstanceAccessControlAttributesArrayOutput) ToInstanceAccessControlAttributesArrayOutputWithContext(ctx context.Context) InstanceAccessControlAttributesArrayOutput { 225 return o 226 } 227 228 func (o InstanceAccessControlAttributesArrayOutput) Index(i pulumi.IntInput) InstanceAccessControlAttributesOutput { 229 return pulumi.All(o, i).ApplyT(func(vs []interface{}) *InstanceAccessControlAttributes { 230 return vs[0].([]*InstanceAccessControlAttributes)[vs[1].(int)] 231 }).(InstanceAccessControlAttributesOutput) 232 } 233 234 type InstanceAccessControlAttributesMapOutput struct{ *pulumi.OutputState } 235 236 func (InstanceAccessControlAttributesMapOutput) ElementType() reflect.Type { 237 return reflect.TypeOf((*map[string]*InstanceAccessControlAttributes)(nil)).Elem() 238 } 239 240 func (o InstanceAccessControlAttributesMapOutput) ToInstanceAccessControlAttributesMapOutput() InstanceAccessControlAttributesMapOutput { 241 return o 242 } 243 244 func (o InstanceAccessControlAttributesMapOutput) ToInstanceAccessControlAttributesMapOutputWithContext(ctx context.Context) InstanceAccessControlAttributesMapOutput { 245 return o 246 } 247 248 func (o InstanceAccessControlAttributesMapOutput) MapIndex(k pulumi.StringInput) InstanceAccessControlAttributesOutput { 249 return pulumi.All(o, k).ApplyT(func(vs []interface{}) *InstanceAccessControlAttributes { 250 return vs[0].(map[string]*InstanceAccessControlAttributes)[vs[1].(string)] 251 }).(InstanceAccessControlAttributesOutput) 252 } 253 254 func init() { 255 pulumi.RegisterInputType(reflect.TypeOf((*InstanceAccessControlAttributesInput)(nil)).Elem(), &InstanceAccessControlAttributes{}) 256 pulumi.RegisterInputType(reflect.TypeOf((*InstanceAccessControlAttributesArrayInput)(nil)).Elem(), InstanceAccessControlAttributesArray{}) 257 pulumi.RegisterInputType(reflect.TypeOf((*InstanceAccessControlAttributesMapInput)(nil)).Elem(), InstanceAccessControlAttributesMap{}) 258 pulumi.RegisterOutputType(InstanceAccessControlAttributesOutput{}) 259 pulumi.RegisterOutputType(InstanceAccessControlAttributesArrayOutput{}) 260 pulumi.RegisterOutputType(InstanceAccessControlAttributesMapOutput{}) 261 }