github.com/pulumi/pulumi-aws/sdk/v6@v6.32.0/go/aws/ssoadmin/permissionSetInlinePolicy.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 // ## Example Usage 16 // 17 // ## Import 18 // 19 // Using `pulumi import`, import SSO Permission Set Inline Policies using the `permission_set_arn` and `instance_arn` separated by a comma (`,`). For example: 20 // 21 // ```sh 22 // $ pulumi import aws:ssoadmin/permissionSetInlinePolicy:PermissionSetInlinePolicy example arn:aws:sso:::permissionSet/ssoins-2938j0x8920sbj72/ps-80383020jr9302rk,arn:aws:sso:::instance/ssoins-2938j0x8920sbj72 23 // ``` 24 type PermissionSetInlinePolicy struct { 25 pulumi.CustomResourceState 26 27 // The IAM inline policy to attach to a Permission Set. 28 InlinePolicy pulumi.StringOutput `pulumi:"inlinePolicy"` 29 // The Amazon Resource Name (ARN) of the SSO Instance under which the operation will be executed. 30 InstanceArn pulumi.StringOutput `pulumi:"instanceArn"` 31 // The Amazon Resource Name (ARN) of the Permission Set. 32 PermissionSetArn pulumi.StringOutput `pulumi:"permissionSetArn"` 33 } 34 35 // NewPermissionSetInlinePolicy registers a new resource with the given unique name, arguments, and options. 36 func NewPermissionSetInlinePolicy(ctx *pulumi.Context, 37 name string, args *PermissionSetInlinePolicyArgs, opts ...pulumi.ResourceOption) (*PermissionSetInlinePolicy, error) { 38 if args == nil { 39 return nil, errors.New("missing one or more required arguments") 40 } 41 42 if args.InlinePolicy == nil { 43 return nil, errors.New("invalid value for required argument 'InlinePolicy'") 44 } 45 if args.InstanceArn == nil { 46 return nil, errors.New("invalid value for required argument 'InstanceArn'") 47 } 48 if args.PermissionSetArn == nil { 49 return nil, errors.New("invalid value for required argument 'PermissionSetArn'") 50 } 51 opts = internal.PkgResourceDefaultOpts(opts) 52 var resource PermissionSetInlinePolicy 53 err := ctx.RegisterResource("aws:ssoadmin/permissionSetInlinePolicy:PermissionSetInlinePolicy", name, args, &resource, opts...) 54 if err != nil { 55 return nil, err 56 } 57 return &resource, nil 58 } 59 60 // GetPermissionSetInlinePolicy gets an existing PermissionSetInlinePolicy resource's state with the given name, ID, and optional 61 // state properties that are used to uniquely qualify the lookup (nil if not required). 62 func GetPermissionSetInlinePolicy(ctx *pulumi.Context, 63 name string, id pulumi.IDInput, state *PermissionSetInlinePolicyState, opts ...pulumi.ResourceOption) (*PermissionSetInlinePolicy, error) { 64 var resource PermissionSetInlinePolicy 65 err := ctx.ReadResource("aws:ssoadmin/permissionSetInlinePolicy:PermissionSetInlinePolicy", name, id, state, &resource, opts...) 66 if err != nil { 67 return nil, err 68 } 69 return &resource, nil 70 } 71 72 // Input properties used for looking up and filtering PermissionSetInlinePolicy resources. 73 type permissionSetInlinePolicyState struct { 74 // The IAM inline policy to attach to a Permission Set. 75 InlinePolicy *string `pulumi:"inlinePolicy"` 76 // The Amazon Resource Name (ARN) of the SSO Instance under which the operation will be executed. 77 InstanceArn *string `pulumi:"instanceArn"` 78 // The Amazon Resource Name (ARN) of the Permission Set. 79 PermissionSetArn *string `pulumi:"permissionSetArn"` 80 } 81 82 type PermissionSetInlinePolicyState struct { 83 // The IAM inline policy to attach to a Permission Set. 84 InlinePolicy pulumi.StringPtrInput 85 // The Amazon Resource Name (ARN) of the SSO Instance under which the operation will be executed. 86 InstanceArn pulumi.StringPtrInput 87 // The Amazon Resource Name (ARN) of the Permission Set. 88 PermissionSetArn pulumi.StringPtrInput 89 } 90 91 func (PermissionSetInlinePolicyState) ElementType() reflect.Type { 92 return reflect.TypeOf((*permissionSetInlinePolicyState)(nil)).Elem() 93 } 94 95 type permissionSetInlinePolicyArgs struct { 96 // The IAM inline policy to attach to a Permission Set. 97 InlinePolicy string `pulumi:"inlinePolicy"` 98 // The Amazon Resource Name (ARN) of the SSO Instance under which the operation will be executed. 99 InstanceArn string `pulumi:"instanceArn"` 100 // The Amazon Resource Name (ARN) of the Permission Set. 101 PermissionSetArn string `pulumi:"permissionSetArn"` 102 } 103 104 // The set of arguments for constructing a PermissionSetInlinePolicy resource. 105 type PermissionSetInlinePolicyArgs struct { 106 // The IAM inline policy to attach to a Permission Set. 107 InlinePolicy pulumi.StringInput 108 // The Amazon Resource Name (ARN) of the SSO Instance under which the operation will be executed. 109 InstanceArn pulumi.StringInput 110 // The Amazon Resource Name (ARN) of the Permission Set. 111 PermissionSetArn pulumi.StringInput 112 } 113 114 func (PermissionSetInlinePolicyArgs) ElementType() reflect.Type { 115 return reflect.TypeOf((*permissionSetInlinePolicyArgs)(nil)).Elem() 116 } 117 118 type PermissionSetInlinePolicyInput interface { 119 pulumi.Input 120 121 ToPermissionSetInlinePolicyOutput() PermissionSetInlinePolicyOutput 122 ToPermissionSetInlinePolicyOutputWithContext(ctx context.Context) PermissionSetInlinePolicyOutput 123 } 124 125 func (*PermissionSetInlinePolicy) ElementType() reflect.Type { 126 return reflect.TypeOf((**PermissionSetInlinePolicy)(nil)).Elem() 127 } 128 129 func (i *PermissionSetInlinePolicy) ToPermissionSetInlinePolicyOutput() PermissionSetInlinePolicyOutput { 130 return i.ToPermissionSetInlinePolicyOutputWithContext(context.Background()) 131 } 132 133 func (i *PermissionSetInlinePolicy) ToPermissionSetInlinePolicyOutputWithContext(ctx context.Context) PermissionSetInlinePolicyOutput { 134 return pulumi.ToOutputWithContext(ctx, i).(PermissionSetInlinePolicyOutput) 135 } 136 137 // PermissionSetInlinePolicyArrayInput is an input type that accepts PermissionSetInlinePolicyArray and PermissionSetInlinePolicyArrayOutput values. 138 // You can construct a concrete instance of `PermissionSetInlinePolicyArrayInput` via: 139 // 140 // PermissionSetInlinePolicyArray{ PermissionSetInlinePolicyArgs{...} } 141 type PermissionSetInlinePolicyArrayInput interface { 142 pulumi.Input 143 144 ToPermissionSetInlinePolicyArrayOutput() PermissionSetInlinePolicyArrayOutput 145 ToPermissionSetInlinePolicyArrayOutputWithContext(context.Context) PermissionSetInlinePolicyArrayOutput 146 } 147 148 type PermissionSetInlinePolicyArray []PermissionSetInlinePolicyInput 149 150 func (PermissionSetInlinePolicyArray) ElementType() reflect.Type { 151 return reflect.TypeOf((*[]*PermissionSetInlinePolicy)(nil)).Elem() 152 } 153 154 func (i PermissionSetInlinePolicyArray) ToPermissionSetInlinePolicyArrayOutput() PermissionSetInlinePolicyArrayOutput { 155 return i.ToPermissionSetInlinePolicyArrayOutputWithContext(context.Background()) 156 } 157 158 func (i PermissionSetInlinePolicyArray) ToPermissionSetInlinePolicyArrayOutputWithContext(ctx context.Context) PermissionSetInlinePolicyArrayOutput { 159 return pulumi.ToOutputWithContext(ctx, i).(PermissionSetInlinePolicyArrayOutput) 160 } 161 162 // PermissionSetInlinePolicyMapInput is an input type that accepts PermissionSetInlinePolicyMap and PermissionSetInlinePolicyMapOutput values. 163 // You can construct a concrete instance of `PermissionSetInlinePolicyMapInput` via: 164 // 165 // PermissionSetInlinePolicyMap{ "key": PermissionSetInlinePolicyArgs{...} } 166 type PermissionSetInlinePolicyMapInput interface { 167 pulumi.Input 168 169 ToPermissionSetInlinePolicyMapOutput() PermissionSetInlinePolicyMapOutput 170 ToPermissionSetInlinePolicyMapOutputWithContext(context.Context) PermissionSetInlinePolicyMapOutput 171 } 172 173 type PermissionSetInlinePolicyMap map[string]PermissionSetInlinePolicyInput 174 175 func (PermissionSetInlinePolicyMap) ElementType() reflect.Type { 176 return reflect.TypeOf((*map[string]*PermissionSetInlinePolicy)(nil)).Elem() 177 } 178 179 func (i PermissionSetInlinePolicyMap) ToPermissionSetInlinePolicyMapOutput() PermissionSetInlinePolicyMapOutput { 180 return i.ToPermissionSetInlinePolicyMapOutputWithContext(context.Background()) 181 } 182 183 func (i PermissionSetInlinePolicyMap) ToPermissionSetInlinePolicyMapOutputWithContext(ctx context.Context) PermissionSetInlinePolicyMapOutput { 184 return pulumi.ToOutputWithContext(ctx, i).(PermissionSetInlinePolicyMapOutput) 185 } 186 187 type PermissionSetInlinePolicyOutput struct{ *pulumi.OutputState } 188 189 func (PermissionSetInlinePolicyOutput) ElementType() reflect.Type { 190 return reflect.TypeOf((**PermissionSetInlinePolicy)(nil)).Elem() 191 } 192 193 func (o PermissionSetInlinePolicyOutput) ToPermissionSetInlinePolicyOutput() PermissionSetInlinePolicyOutput { 194 return o 195 } 196 197 func (o PermissionSetInlinePolicyOutput) ToPermissionSetInlinePolicyOutputWithContext(ctx context.Context) PermissionSetInlinePolicyOutput { 198 return o 199 } 200 201 // The IAM inline policy to attach to a Permission Set. 202 func (o PermissionSetInlinePolicyOutput) InlinePolicy() pulumi.StringOutput { 203 return o.ApplyT(func(v *PermissionSetInlinePolicy) pulumi.StringOutput { return v.InlinePolicy }).(pulumi.StringOutput) 204 } 205 206 // The Amazon Resource Name (ARN) of the SSO Instance under which the operation will be executed. 207 func (o PermissionSetInlinePolicyOutput) InstanceArn() pulumi.StringOutput { 208 return o.ApplyT(func(v *PermissionSetInlinePolicy) pulumi.StringOutput { return v.InstanceArn }).(pulumi.StringOutput) 209 } 210 211 // The Amazon Resource Name (ARN) of the Permission Set. 212 func (o PermissionSetInlinePolicyOutput) PermissionSetArn() pulumi.StringOutput { 213 return o.ApplyT(func(v *PermissionSetInlinePolicy) pulumi.StringOutput { return v.PermissionSetArn }).(pulumi.StringOutput) 214 } 215 216 type PermissionSetInlinePolicyArrayOutput struct{ *pulumi.OutputState } 217 218 func (PermissionSetInlinePolicyArrayOutput) ElementType() reflect.Type { 219 return reflect.TypeOf((*[]*PermissionSetInlinePolicy)(nil)).Elem() 220 } 221 222 func (o PermissionSetInlinePolicyArrayOutput) ToPermissionSetInlinePolicyArrayOutput() PermissionSetInlinePolicyArrayOutput { 223 return o 224 } 225 226 func (o PermissionSetInlinePolicyArrayOutput) ToPermissionSetInlinePolicyArrayOutputWithContext(ctx context.Context) PermissionSetInlinePolicyArrayOutput { 227 return o 228 } 229 230 func (o PermissionSetInlinePolicyArrayOutput) Index(i pulumi.IntInput) PermissionSetInlinePolicyOutput { 231 return pulumi.All(o, i).ApplyT(func(vs []interface{}) *PermissionSetInlinePolicy { 232 return vs[0].([]*PermissionSetInlinePolicy)[vs[1].(int)] 233 }).(PermissionSetInlinePolicyOutput) 234 } 235 236 type PermissionSetInlinePolicyMapOutput struct{ *pulumi.OutputState } 237 238 func (PermissionSetInlinePolicyMapOutput) ElementType() reflect.Type { 239 return reflect.TypeOf((*map[string]*PermissionSetInlinePolicy)(nil)).Elem() 240 } 241 242 func (o PermissionSetInlinePolicyMapOutput) ToPermissionSetInlinePolicyMapOutput() PermissionSetInlinePolicyMapOutput { 243 return o 244 } 245 246 func (o PermissionSetInlinePolicyMapOutput) ToPermissionSetInlinePolicyMapOutputWithContext(ctx context.Context) PermissionSetInlinePolicyMapOutput { 247 return o 248 } 249 250 func (o PermissionSetInlinePolicyMapOutput) MapIndex(k pulumi.StringInput) PermissionSetInlinePolicyOutput { 251 return pulumi.All(o, k).ApplyT(func(vs []interface{}) *PermissionSetInlinePolicy { 252 return vs[0].(map[string]*PermissionSetInlinePolicy)[vs[1].(string)] 253 }).(PermissionSetInlinePolicyOutput) 254 } 255 256 func init() { 257 pulumi.RegisterInputType(reflect.TypeOf((*PermissionSetInlinePolicyInput)(nil)).Elem(), &PermissionSetInlinePolicy{}) 258 pulumi.RegisterInputType(reflect.TypeOf((*PermissionSetInlinePolicyArrayInput)(nil)).Elem(), PermissionSetInlinePolicyArray{}) 259 pulumi.RegisterInputType(reflect.TypeOf((*PermissionSetInlinePolicyMapInput)(nil)).Elem(), PermissionSetInlinePolicyMap{}) 260 pulumi.RegisterOutputType(PermissionSetInlinePolicyOutput{}) 261 pulumi.RegisterOutputType(PermissionSetInlinePolicyArrayOutput{}) 262 pulumi.RegisterOutputType(PermissionSetInlinePolicyMapOutput{}) 263 }