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  }