github.com/pulumi/pulumi-aws/sdk/v6@v6.32.0/go/aws/servicecatalog/organizationsAccess.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 Service Catalog AWS Organizations Access, a portfolio sharing feature through AWS Organizations. This allows Service Catalog to receive updates on your organization in order to sync your shares with the current structure. This resource will prompt AWS to set `organizations:EnableAWSServiceAccess` on your behalf so that your shares can be in sync with any changes in your AWS Organizations structure. 16 // 17 // > **NOTE:** This resource can only be used by the management account in the organization. In other words, a delegated administrator is not authorized to use the resource. 18 // 19 // ## Example Usage 20 // 21 // ### Basic Usage 22 // 23 // <!--Start PulumiCodeChooser --> 24 // ```go 25 // package main 26 // 27 // import ( 28 // 29 // "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/servicecatalog" 30 // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" 31 // 32 // ) 33 // 34 // func main() { 35 // pulumi.Run(func(ctx *pulumi.Context) error { 36 // _, err := servicecatalog.NewOrganizationsAccess(ctx, "example", &servicecatalog.OrganizationsAccessArgs{ 37 // Enabled: pulumi.Bool(true), 38 // }) 39 // if err != nil { 40 // return err 41 // } 42 // return nil 43 // }) 44 // } 45 // 46 // ``` 47 // <!--End PulumiCodeChooser --> 48 type OrganizationsAccess struct { 49 pulumi.CustomResourceState 50 51 // Whether to enable AWS Organizations access. 52 Enabled pulumi.BoolOutput `pulumi:"enabled"` 53 } 54 55 // NewOrganizationsAccess registers a new resource with the given unique name, arguments, and options. 56 func NewOrganizationsAccess(ctx *pulumi.Context, 57 name string, args *OrganizationsAccessArgs, opts ...pulumi.ResourceOption) (*OrganizationsAccess, error) { 58 if args == nil { 59 return nil, errors.New("missing one or more required arguments") 60 } 61 62 if args.Enabled == nil { 63 return nil, errors.New("invalid value for required argument 'Enabled'") 64 } 65 opts = internal.PkgResourceDefaultOpts(opts) 66 var resource OrganizationsAccess 67 err := ctx.RegisterResource("aws:servicecatalog/organizationsAccess:OrganizationsAccess", name, args, &resource, opts...) 68 if err != nil { 69 return nil, err 70 } 71 return &resource, nil 72 } 73 74 // GetOrganizationsAccess gets an existing OrganizationsAccess resource's state with the given name, ID, and optional 75 // state properties that are used to uniquely qualify the lookup (nil if not required). 76 func GetOrganizationsAccess(ctx *pulumi.Context, 77 name string, id pulumi.IDInput, state *OrganizationsAccessState, opts ...pulumi.ResourceOption) (*OrganizationsAccess, error) { 78 var resource OrganizationsAccess 79 err := ctx.ReadResource("aws:servicecatalog/organizationsAccess:OrganizationsAccess", name, id, state, &resource, opts...) 80 if err != nil { 81 return nil, err 82 } 83 return &resource, nil 84 } 85 86 // Input properties used for looking up and filtering OrganizationsAccess resources. 87 type organizationsAccessState struct { 88 // Whether to enable AWS Organizations access. 89 Enabled *bool `pulumi:"enabled"` 90 } 91 92 type OrganizationsAccessState struct { 93 // Whether to enable AWS Organizations access. 94 Enabled pulumi.BoolPtrInput 95 } 96 97 func (OrganizationsAccessState) ElementType() reflect.Type { 98 return reflect.TypeOf((*organizationsAccessState)(nil)).Elem() 99 } 100 101 type organizationsAccessArgs struct { 102 // Whether to enable AWS Organizations access. 103 Enabled bool `pulumi:"enabled"` 104 } 105 106 // The set of arguments for constructing a OrganizationsAccess resource. 107 type OrganizationsAccessArgs struct { 108 // Whether to enable AWS Organizations access. 109 Enabled pulumi.BoolInput 110 } 111 112 func (OrganizationsAccessArgs) ElementType() reflect.Type { 113 return reflect.TypeOf((*organizationsAccessArgs)(nil)).Elem() 114 } 115 116 type OrganizationsAccessInput interface { 117 pulumi.Input 118 119 ToOrganizationsAccessOutput() OrganizationsAccessOutput 120 ToOrganizationsAccessOutputWithContext(ctx context.Context) OrganizationsAccessOutput 121 } 122 123 func (*OrganizationsAccess) ElementType() reflect.Type { 124 return reflect.TypeOf((**OrganizationsAccess)(nil)).Elem() 125 } 126 127 func (i *OrganizationsAccess) ToOrganizationsAccessOutput() OrganizationsAccessOutput { 128 return i.ToOrganizationsAccessOutputWithContext(context.Background()) 129 } 130 131 func (i *OrganizationsAccess) ToOrganizationsAccessOutputWithContext(ctx context.Context) OrganizationsAccessOutput { 132 return pulumi.ToOutputWithContext(ctx, i).(OrganizationsAccessOutput) 133 } 134 135 // OrganizationsAccessArrayInput is an input type that accepts OrganizationsAccessArray and OrganizationsAccessArrayOutput values. 136 // You can construct a concrete instance of `OrganizationsAccessArrayInput` via: 137 // 138 // OrganizationsAccessArray{ OrganizationsAccessArgs{...} } 139 type OrganizationsAccessArrayInput interface { 140 pulumi.Input 141 142 ToOrganizationsAccessArrayOutput() OrganizationsAccessArrayOutput 143 ToOrganizationsAccessArrayOutputWithContext(context.Context) OrganizationsAccessArrayOutput 144 } 145 146 type OrganizationsAccessArray []OrganizationsAccessInput 147 148 func (OrganizationsAccessArray) ElementType() reflect.Type { 149 return reflect.TypeOf((*[]*OrganizationsAccess)(nil)).Elem() 150 } 151 152 func (i OrganizationsAccessArray) ToOrganizationsAccessArrayOutput() OrganizationsAccessArrayOutput { 153 return i.ToOrganizationsAccessArrayOutputWithContext(context.Background()) 154 } 155 156 func (i OrganizationsAccessArray) ToOrganizationsAccessArrayOutputWithContext(ctx context.Context) OrganizationsAccessArrayOutput { 157 return pulumi.ToOutputWithContext(ctx, i).(OrganizationsAccessArrayOutput) 158 } 159 160 // OrganizationsAccessMapInput is an input type that accepts OrganizationsAccessMap and OrganizationsAccessMapOutput values. 161 // You can construct a concrete instance of `OrganizationsAccessMapInput` via: 162 // 163 // OrganizationsAccessMap{ "key": OrganizationsAccessArgs{...} } 164 type OrganizationsAccessMapInput interface { 165 pulumi.Input 166 167 ToOrganizationsAccessMapOutput() OrganizationsAccessMapOutput 168 ToOrganizationsAccessMapOutputWithContext(context.Context) OrganizationsAccessMapOutput 169 } 170 171 type OrganizationsAccessMap map[string]OrganizationsAccessInput 172 173 func (OrganizationsAccessMap) ElementType() reflect.Type { 174 return reflect.TypeOf((*map[string]*OrganizationsAccess)(nil)).Elem() 175 } 176 177 func (i OrganizationsAccessMap) ToOrganizationsAccessMapOutput() OrganizationsAccessMapOutput { 178 return i.ToOrganizationsAccessMapOutputWithContext(context.Background()) 179 } 180 181 func (i OrganizationsAccessMap) ToOrganizationsAccessMapOutputWithContext(ctx context.Context) OrganizationsAccessMapOutput { 182 return pulumi.ToOutputWithContext(ctx, i).(OrganizationsAccessMapOutput) 183 } 184 185 type OrganizationsAccessOutput struct{ *pulumi.OutputState } 186 187 func (OrganizationsAccessOutput) ElementType() reflect.Type { 188 return reflect.TypeOf((**OrganizationsAccess)(nil)).Elem() 189 } 190 191 func (o OrganizationsAccessOutput) ToOrganizationsAccessOutput() OrganizationsAccessOutput { 192 return o 193 } 194 195 func (o OrganizationsAccessOutput) ToOrganizationsAccessOutputWithContext(ctx context.Context) OrganizationsAccessOutput { 196 return o 197 } 198 199 // Whether to enable AWS Organizations access. 200 func (o OrganizationsAccessOutput) Enabled() pulumi.BoolOutput { 201 return o.ApplyT(func(v *OrganizationsAccess) pulumi.BoolOutput { return v.Enabled }).(pulumi.BoolOutput) 202 } 203 204 type OrganizationsAccessArrayOutput struct{ *pulumi.OutputState } 205 206 func (OrganizationsAccessArrayOutput) ElementType() reflect.Type { 207 return reflect.TypeOf((*[]*OrganizationsAccess)(nil)).Elem() 208 } 209 210 func (o OrganizationsAccessArrayOutput) ToOrganizationsAccessArrayOutput() OrganizationsAccessArrayOutput { 211 return o 212 } 213 214 func (o OrganizationsAccessArrayOutput) ToOrganizationsAccessArrayOutputWithContext(ctx context.Context) OrganizationsAccessArrayOutput { 215 return o 216 } 217 218 func (o OrganizationsAccessArrayOutput) Index(i pulumi.IntInput) OrganizationsAccessOutput { 219 return pulumi.All(o, i).ApplyT(func(vs []interface{}) *OrganizationsAccess { 220 return vs[0].([]*OrganizationsAccess)[vs[1].(int)] 221 }).(OrganizationsAccessOutput) 222 } 223 224 type OrganizationsAccessMapOutput struct{ *pulumi.OutputState } 225 226 func (OrganizationsAccessMapOutput) ElementType() reflect.Type { 227 return reflect.TypeOf((*map[string]*OrganizationsAccess)(nil)).Elem() 228 } 229 230 func (o OrganizationsAccessMapOutput) ToOrganizationsAccessMapOutput() OrganizationsAccessMapOutput { 231 return o 232 } 233 234 func (o OrganizationsAccessMapOutput) ToOrganizationsAccessMapOutputWithContext(ctx context.Context) OrganizationsAccessMapOutput { 235 return o 236 } 237 238 func (o OrganizationsAccessMapOutput) MapIndex(k pulumi.StringInput) OrganizationsAccessOutput { 239 return pulumi.All(o, k).ApplyT(func(vs []interface{}) *OrganizationsAccess { 240 return vs[0].(map[string]*OrganizationsAccess)[vs[1].(string)] 241 }).(OrganizationsAccessOutput) 242 } 243 244 func init() { 245 pulumi.RegisterInputType(reflect.TypeOf((*OrganizationsAccessInput)(nil)).Elem(), &OrganizationsAccess{}) 246 pulumi.RegisterInputType(reflect.TypeOf((*OrganizationsAccessArrayInput)(nil)).Elem(), OrganizationsAccessArray{}) 247 pulumi.RegisterInputType(reflect.TypeOf((*OrganizationsAccessMapInput)(nil)).Elem(), OrganizationsAccessMap{}) 248 pulumi.RegisterOutputType(OrganizationsAccessOutput{}) 249 pulumi.RegisterOutputType(OrganizationsAccessArrayOutput{}) 250 pulumi.RegisterOutputType(OrganizationsAccessMapOutput{}) 251 }