github.com/pulumi/pulumi-aws/sdk/v6@v6.32.0/go/aws/redshiftserverless/namespace.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 redshiftserverless
     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  // Creates a new Amazon Redshift Serverless Namespace.
    16  //
    17  // ## Example Usage
    18  //
    19  // <!--Start PulumiCodeChooser -->
    20  // ```go
    21  // package main
    22  //
    23  // import (
    24  //
    25  //	"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/redshiftserverless"
    26  //	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    27  //
    28  // )
    29  //
    30  //	func main() {
    31  //		pulumi.Run(func(ctx *pulumi.Context) error {
    32  //			_, err := redshiftserverless.NewNamespace(ctx, "example", &redshiftserverless.NamespaceArgs{
    33  //				NamespaceName: pulumi.String("concurrency-scaling"),
    34  //			})
    35  //			if err != nil {
    36  //				return err
    37  //			}
    38  //			return nil
    39  //		})
    40  //	}
    41  //
    42  // ```
    43  // <!--End PulumiCodeChooser -->
    44  //
    45  // ## Import
    46  //
    47  // Using `pulumi import`, import Redshift Serverless Namespaces using the `namespace_name`. For example:
    48  //
    49  // ```sh
    50  // $ pulumi import aws:redshiftserverless/namespace:Namespace example example
    51  // ```
    52  type Namespace struct {
    53  	pulumi.CustomResourceState
    54  
    55  	AdminPasswordSecretArn pulumi.StringOutput `pulumi:"adminPasswordSecretArn"`
    56  	// ID of the KMS key used to encrypt the namespace's admin credentials secret.
    57  	AdminPasswordSecretKmsKeyId pulumi.StringOutput `pulumi:"adminPasswordSecretKmsKeyId"`
    58  	// The password of the administrator for the first database created in the namespace.
    59  	// Conflicts with `manageAdminPassword`.
    60  	AdminUserPassword pulumi.StringPtrOutput `pulumi:"adminUserPassword"`
    61  	// The username of the administrator for the first database created in the namespace.
    62  	AdminUsername pulumi.StringOutput `pulumi:"adminUsername"`
    63  	// Amazon Resource Name (ARN) of the Redshift Serverless Namespace.
    64  	Arn pulumi.StringOutput `pulumi:"arn"`
    65  	// The name of the first database created in the namespace.
    66  	DbName pulumi.StringOutput `pulumi:"dbName"`
    67  	// The Amazon Resource Name (ARN) of the IAM role to set as a default in the namespace. When specifying `defaultIamRoleArn`, it also must be part of `iamRoles`.
    68  	DefaultIamRoleArn pulumi.StringPtrOutput `pulumi:"defaultIamRoleArn"`
    69  	// A list of IAM roles to associate with the namespace.
    70  	IamRoles pulumi.StringArrayOutput `pulumi:"iamRoles"`
    71  	// The ARN of the Amazon Web Services Key Management Service key used to encrypt your data.
    72  	KmsKeyId pulumi.StringOutput `pulumi:"kmsKeyId"`
    73  	// The types of logs the namespace can export. Available export types are `userlog`, `connectionlog`, and `useractivitylog`.
    74  	LogExports pulumi.StringArrayOutput `pulumi:"logExports"`
    75  	// Whether to use AWS SecretManager to manage namespace's admin credentials.
    76  	// Conflicts with `adminUserPassword`.
    77  	ManageAdminPassword pulumi.BoolPtrOutput `pulumi:"manageAdminPassword"`
    78  	// The Redshift Namespace ID.
    79  	NamespaceId pulumi.StringOutput `pulumi:"namespaceId"`
    80  	// The name of the namespace.
    81  	NamespaceName pulumi.StringOutput `pulumi:"namespaceName"`
    82  	// A map of tags to assign to the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
    83  	Tags pulumi.StringMapOutput `pulumi:"tags"`
    84  	// A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.
    85  	//
    86  	// Deprecated: Please use `tags` instead.
    87  	TagsAll pulumi.StringMapOutput `pulumi:"tagsAll"`
    88  }
    89  
    90  // NewNamespace registers a new resource with the given unique name, arguments, and options.
    91  func NewNamespace(ctx *pulumi.Context,
    92  	name string, args *NamespaceArgs, opts ...pulumi.ResourceOption) (*Namespace, error) {
    93  	if args == nil {
    94  		return nil, errors.New("missing one or more required arguments")
    95  	}
    96  
    97  	if args.NamespaceName == nil {
    98  		return nil, errors.New("invalid value for required argument 'NamespaceName'")
    99  	}
   100  	if args.AdminUserPassword != nil {
   101  		args.AdminUserPassword = pulumi.ToSecret(args.AdminUserPassword).(pulumi.StringPtrInput)
   102  	}
   103  	if args.AdminUsername != nil {
   104  		args.AdminUsername = pulumi.ToSecret(args.AdminUsername).(pulumi.StringPtrInput)
   105  	}
   106  	secrets := pulumi.AdditionalSecretOutputs([]string{
   107  		"adminUserPassword",
   108  		"adminUsername",
   109  	})
   110  	opts = append(opts, secrets)
   111  	opts = internal.PkgResourceDefaultOpts(opts)
   112  	var resource Namespace
   113  	err := ctx.RegisterResource("aws:redshiftserverless/namespace:Namespace", name, args, &resource, opts...)
   114  	if err != nil {
   115  		return nil, err
   116  	}
   117  	return &resource, nil
   118  }
   119  
   120  // GetNamespace gets an existing Namespace resource's state with the given name, ID, and optional
   121  // state properties that are used to uniquely qualify the lookup (nil if not required).
   122  func GetNamespace(ctx *pulumi.Context,
   123  	name string, id pulumi.IDInput, state *NamespaceState, opts ...pulumi.ResourceOption) (*Namespace, error) {
   124  	var resource Namespace
   125  	err := ctx.ReadResource("aws:redshiftserverless/namespace:Namespace", name, id, state, &resource, opts...)
   126  	if err != nil {
   127  		return nil, err
   128  	}
   129  	return &resource, nil
   130  }
   131  
   132  // Input properties used for looking up and filtering Namespace resources.
   133  type namespaceState struct {
   134  	AdminPasswordSecretArn *string `pulumi:"adminPasswordSecretArn"`
   135  	// ID of the KMS key used to encrypt the namespace's admin credentials secret.
   136  	AdminPasswordSecretKmsKeyId *string `pulumi:"adminPasswordSecretKmsKeyId"`
   137  	// The password of the administrator for the first database created in the namespace.
   138  	// Conflicts with `manageAdminPassword`.
   139  	AdminUserPassword *string `pulumi:"adminUserPassword"`
   140  	// The username of the administrator for the first database created in the namespace.
   141  	AdminUsername *string `pulumi:"adminUsername"`
   142  	// Amazon Resource Name (ARN) of the Redshift Serverless Namespace.
   143  	Arn *string `pulumi:"arn"`
   144  	// The name of the first database created in the namespace.
   145  	DbName *string `pulumi:"dbName"`
   146  	// The Amazon Resource Name (ARN) of the IAM role to set as a default in the namespace. When specifying `defaultIamRoleArn`, it also must be part of `iamRoles`.
   147  	DefaultIamRoleArn *string `pulumi:"defaultIamRoleArn"`
   148  	// A list of IAM roles to associate with the namespace.
   149  	IamRoles []string `pulumi:"iamRoles"`
   150  	// The ARN of the Amazon Web Services Key Management Service key used to encrypt your data.
   151  	KmsKeyId *string `pulumi:"kmsKeyId"`
   152  	// The types of logs the namespace can export. Available export types are `userlog`, `connectionlog`, and `useractivitylog`.
   153  	LogExports []string `pulumi:"logExports"`
   154  	// Whether to use AWS SecretManager to manage namespace's admin credentials.
   155  	// Conflicts with `adminUserPassword`.
   156  	ManageAdminPassword *bool `pulumi:"manageAdminPassword"`
   157  	// The Redshift Namespace ID.
   158  	NamespaceId *string `pulumi:"namespaceId"`
   159  	// The name of the namespace.
   160  	NamespaceName *string `pulumi:"namespaceName"`
   161  	// A map of tags to assign to the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
   162  	Tags map[string]string `pulumi:"tags"`
   163  	// A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.
   164  	//
   165  	// Deprecated: Please use `tags` instead.
   166  	TagsAll map[string]string `pulumi:"tagsAll"`
   167  }
   168  
   169  type NamespaceState struct {
   170  	AdminPasswordSecretArn pulumi.StringPtrInput
   171  	// ID of the KMS key used to encrypt the namespace's admin credentials secret.
   172  	AdminPasswordSecretKmsKeyId pulumi.StringPtrInput
   173  	// The password of the administrator for the first database created in the namespace.
   174  	// Conflicts with `manageAdminPassword`.
   175  	AdminUserPassword pulumi.StringPtrInput
   176  	// The username of the administrator for the first database created in the namespace.
   177  	AdminUsername pulumi.StringPtrInput
   178  	// Amazon Resource Name (ARN) of the Redshift Serverless Namespace.
   179  	Arn pulumi.StringPtrInput
   180  	// The name of the first database created in the namespace.
   181  	DbName pulumi.StringPtrInput
   182  	// The Amazon Resource Name (ARN) of the IAM role to set as a default in the namespace. When specifying `defaultIamRoleArn`, it also must be part of `iamRoles`.
   183  	DefaultIamRoleArn pulumi.StringPtrInput
   184  	// A list of IAM roles to associate with the namespace.
   185  	IamRoles pulumi.StringArrayInput
   186  	// The ARN of the Amazon Web Services Key Management Service key used to encrypt your data.
   187  	KmsKeyId pulumi.StringPtrInput
   188  	// The types of logs the namespace can export. Available export types are `userlog`, `connectionlog`, and `useractivitylog`.
   189  	LogExports pulumi.StringArrayInput
   190  	// Whether to use AWS SecretManager to manage namespace's admin credentials.
   191  	// Conflicts with `adminUserPassword`.
   192  	ManageAdminPassword pulumi.BoolPtrInput
   193  	// The Redshift Namespace ID.
   194  	NamespaceId pulumi.StringPtrInput
   195  	// The name of the namespace.
   196  	NamespaceName pulumi.StringPtrInput
   197  	// A map of tags to assign to the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
   198  	Tags pulumi.StringMapInput
   199  	// A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.
   200  	//
   201  	// Deprecated: Please use `tags` instead.
   202  	TagsAll pulumi.StringMapInput
   203  }
   204  
   205  func (NamespaceState) ElementType() reflect.Type {
   206  	return reflect.TypeOf((*namespaceState)(nil)).Elem()
   207  }
   208  
   209  type namespaceArgs struct {
   210  	// ID of the KMS key used to encrypt the namespace's admin credentials secret.
   211  	AdminPasswordSecretKmsKeyId *string `pulumi:"adminPasswordSecretKmsKeyId"`
   212  	// The password of the administrator for the first database created in the namespace.
   213  	// Conflicts with `manageAdminPassword`.
   214  	AdminUserPassword *string `pulumi:"adminUserPassword"`
   215  	// The username of the administrator for the first database created in the namespace.
   216  	AdminUsername *string `pulumi:"adminUsername"`
   217  	// The name of the first database created in the namespace.
   218  	DbName *string `pulumi:"dbName"`
   219  	// The Amazon Resource Name (ARN) of the IAM role to set as a default in the namespace. When specifying `defaultIamRoleArn`, it also must be part of `iamRoles`.
   220  	DefaultIamRoleArn *string `pulumi:"defaultIamRoleArn"`
   221  	// A list of IAM roles to associate with the namespace.
   222  	IamRoles []string `pulumi:"iamRoles"`
   223  	// The ARN of the Amazon Web Services Key Management Service key used to encrypt your data.
   224  	KmsKeyId *string `pulumi:"kmsKeyId"`
   225  	// The types of logs the namespace can export. Available export types are `userlog`, `connectionlog`, and `useractivitylog`.
   226  	LogExports []string `pulumi:"logExports"`
   227  	// Whether to use AWS SecretManager to manage namespace's admin credentials.
   228  	// Conflicts with `adminUserPassword`.
   229  	ManageAdminPassword *bool `pulumi:"manageAdminPassword"`
   230  	// The name of the namespace.
   231  	NamespaceName string `pulumi:"namespaceName"`
   232  	// A map of tags to assign to the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
   233  	Tags map[string]string `pulumi:"tags"`
   234  }
   235  
   236  // The set of arguments for constructing a Namespace resource.
   237  type NamespaceArgs struct {
   238  	// ID of the KMS key used to encrypt the namespace's admin credentials secret.
   239  	AdminPasswordSecretKmsKeyId pulumi.StringPtrInput
   240  	// The password of the administrator for the first database created in the namespace.
   241  	// Conflicts with `manageAdminPassword`.
   242  	AdminUserPassword pulumi.StringPtrInput
   243  	// The username of the administrator for the first database created in the namespace.
   244  	AdminUsername pulumi.StringPtrInput
   245  	// The name of the first database created in the namespace.
   246  	DbName pulumi.StringPtrInput
   247  	// The Amazon Resource Name (ARN) of the IAM role to set as a default in the namespace. When specifying `defaultIamRoleArn`, it also must be part of `iamRoles`.
   248  	DefaultIamRoleArn pulumi.StringPtrInput
   249  	// A list of IAM roles to associate with the namespace.
   250  	IamRoles pulumi.StringArrayInput
   251  	// The ARN of the Amazon Web Services Key Management Service key used to encrypt your data.
   252  	KmsKeyId pulumi.StringPtrInput
   253  	// The types of logs the namespace can export. Available export types are `userlog`, `connectionlog`, and `useractivitylog`.
   254  	LogExports pulumi.StringArrayInput
   255  	// Whether to use AWS SecretManager to manage namespace's admin credentials.
   256  	// Conflicts with `adminUserPassword`.
   257  	ManageAdminPassword pulumi.BoolPtrInput
   258  	// The name of the namespace.
   259  	NamespaceName pulumi.StringInput
   260  	// A map of tags to assign to the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
   261  	Tags pulumi.StringMapInput
   262  }
   263  
   264  func (NamespaceArgs) ElementType() reflect.Type {
   265  	return reflect.TypeOf((*namespaceArgs)(nil)).Elem()
   266  }
   267  
   268  type NamespaceInput interface {
   269  	pulumi.Input
   270  
   271  	ToNamespaceOutput() NamespaceOutput
   272  	ToNamespaceOutputWithContext(ctx context.Context) NamespaceOutput
   273  }
   274  
   275  func (*Namespace) ElementType() reflect.Type {
   276  	return reflect.TypeOf((**Namespace)(nil)).Elem()
   277  }
   278  
   279  func (i *Namespace) ToNamespaceOutput() NamespaceOutput {
   280  	return i.ToNamespaceOutputWithContext(context.Background())
   281  }
   282  
   283  func (i *Namespace) ToNamespaceOutputWithContext(ctx context.Context) NamespaceOutput {
   284  	return pulumi.ToOutputWithContext(ctx, i).(NamespaceOutput)
   285  }
   286  
   287  // NamespaceArrayInput is an input type that accepts NamespaceArray and NamespaceArrayOutput values.
   288  // You can construct a concrete instance of `NamespaceArrayInput` via:
   289  //
   290  //	NamespaceArray{ NamespaceArgs{...} }
   291  type NamespaceArrayInput interface {
   292  	pulumi.Input
   293  
   294  	ToNamespaceArrayOutput() NamespaceArrayOutput
   295  	ToNamespaceArrayOutputWithContext(context.Context) NamespaceArrayOutput
   296  }
   297  
   298  type NamespaceArray []NamespaceInput
   299  
   300  func (NamespaceArray) ElementType() reflect.Type {
   301  	return reflect.TypeOf((*[]*Namespace)(nil)).Elem()
   302  }
   303  
   304  func (i NamespaceArray) ToNamespaceArrayOutput() NamespaceArrayOutput {
   305  	return i.ToNamespaceArrayOutputWithContext(context.Background())
   306  }
   307  
   308  func (i NamespaceArray) ToNamespaceArrayOutputWithContext(ctx context.Context) NamespaceArrayOutput {
   309  	return pulumi.ToOutputWithContext(ctx, i).(NamespaceArrayOutput)
   310  }
   311  
   312  // NamespaceMapInput is an input type that accepts NamespaceMap and NamespaceMapOutput values.
   313  // You can construct a concrete instance of `NamespaceMapInput` via:
   314  //
   315  //	NamespaceMap{ "key": NamespaceArgs{...} }
   316  type NamespaceMapInput interface {
   317  	pulumi.Input
   318  
   319  	ToNamespaceMapOutput() NamespaceMapOutput
   320  	ToNamespaceMapOutputWithContext(context.Context) NamespaceMapOutput
   321  }
   322  
   323  type NamespaceMap map[string]NamespaceInput
   324  
   325  func (NamespaceMap) ElementType() reflect.Type {
   326  	return reflect.TypeOf((*map[string]*Namespace)(nil)).Elem()
   327  }
   328  
   329  func (i NamespaceMap) ToNamespaceMapOutput() NamespaceMapOutput {
   330  	return i.ToNamespaceMapOutputWithContext(context.Background())
   331  }
   332  
   333  func (i NamespaceMap) ToNamespaceMapOutputWithContext(ctx context.Context) NamespaceMapOutput {
   334  	return pulumi.ToOutputWithContext(ctx, i).(NamespaceMapOutput)
   335  }
   336  
   337  type NamespaceOutput struct{ *pulumi.OutputState }
   338  
   339  func (NamespaceOutput) ElementType() reflect.Type {
   340  	return reflect.TypeOf((**Namespace)(nil)).Elem()
   341  }
   342  
   343  func (o NamespaceOutput) ToNamespaceOutput() NamespaceOutput {
   344  	return o
   345  }
   346  
   347  func (o NamespaceOutput) ToNamespaceOutputWithContext(ctx context.Context) NamespaceOutput {
   348  	return o
   349  }
   350  
   351  func (o NamespaceOutput) AdminPasswordSecretArn() pulumi.StringOutput {
   352  	return o.ApplyT(func(v *Namespace) pulumi.StringOutput { return v.AdminPasswordSecretArn }).(pulumi.StringOutput)
   353  }
   354  
   355  // ID of the KMS key used to encrypt the namespace's admin credentials secret.
   356  func (o NamespaceOutput) AdminPasswordSecretKmsKeyId() pulumi.StringOutput {
   357  	return o.ApplyT(func(v *Namespace) pulumi.StringOutput { return v.AdminPasswordSecretKmsKeyId }).(pulumi.StringOutput)
   358  }
   359  
   360  // The password of the administrator for the first database created in the namespace.
   361  // Conflicts with `manageAdminPassword`.
   362  func (o NamespaceOutput) AdminUserPassword() pulumi.StringPtrOutput {
   363  	return o.ApplyT(func(v *Namespace) pulumi.StringPtrOutput { return v.AdminUserPassword }).(pulumi.StringPtrOutput)
   364  }
   365  
   366  // The username of the administrator for the first database created in the namespace.
   367  func (o NamespaceOutput) AdminUsername() pulumi.StringOutput {
   368  	return o.ApplyT(func(v *Namespace) pulumi.StringOutput { return v.AdminUsername }).(pulumi.StringOutput)
   369  }
   370  
   371  // Amazon Resource Name (ARN) of the Redshift Serverless Namespace.
   372  func (o NamespaceOutput) Arn() pulumi.StringOutput {
   373  	return o.ApplyT(func(v *Namespace) pulumi.StringOutput { return v.Arn }).(pulumi.StringOutput)
   374  }
   375  
   376  // The name of the first database created in the namespace.
   377  func (o NamespaceOutput) DbName() pulumi.StringOutput {
   378  	return o.ApplyT(func(v *Namespace) pulumi.StringOutput { return v.DbName }).(pulumi.StringOutput)
   379  }
   380  
   381  // The Amazon Resource Name (ARN) of the IAM role to set as a default in the namespace. When specifying `defaultIamRoleArn`, it also must be part of `iamRoles`.
   382  func (o NamespaceOutput) DefaultIamRoleArn() pulumi.StringPtrOutput {
   383  	return o.ApplyT(func(v *Namespace) pulumi.StringPtrOutput { return v.DefaultIamRoleArn }).(pulumi.StringPtrOutput)
   384  }
   385  
   386  // A list of IAM roles to associate with the namespace.
   387  func (o NamespaceOutput) IamRoles() pulumi.StringArrayOutput {
   388  	return o.ApplyT(func(v *Namespace) pulumi.StringArrayOutput { return v.IamRoles }).(pulumi.StringArrayOutput)
   389  }
   390  
   391  // The ARN of the Amazon Web Services Key Management Service key used to encrypt your data.
   392  func (o NamespaceOutput) KmsKeyId() pulumi.StringOutput {
   393  	return o.ApplyT(func(v *Namespace) pulumi.StringOutput { return v.KmsKeyId }).(pulumi.StringOutput)
   394  }
   395  
   396  // The types of logs the namespace can export. Available export types are `userlog`, `connectionlog`, and `useractivitylog`.
   397  func (o NamespaceOutput) LogExports() pulumi.StringArrayOutput {
   398  	return o.ApplyT(func(v *Namespace) pulumi.StringArrayOutput { return v.LogExports }).(pulumi.StringArrayOutput)
   399  }
   400  
   401  // Whether to use AWS SecretManager to manage namespace's admin credentials.
   402  // Conflicts with `adminUserPassword`.
   403  func (o NamespaceOutput) ManageAdminPassword() pulumi.BoolPtrOutput {
   404  	return o.ApplyT(func(v *Namespace) pulumi.BoolPtrOutput { return v.ManageAdminPassword }).(pulumi.BoolPtrOutput)
   405  }
   406  
   407  // The Redshift Namespace ID.
   408  func (o NamespaceOutput) NamespaceId() pulumi.StringOutput {
   409  	return o.ApplyT(func(v *Namespace) pulumi.StringOutput { return v.NamespaceId }).(pulumi.StringOutput)
   410  }
   411  
   412  // The name of the namespace.
   413  func (o NamespaceOutput) NamespaceName() pulumi.StringOutput {
   414  	return o.ApplyT(func(v *Namespace) pulumi.StringOutput { return v.NamespaceName }).(pulumi.StringOutput)
   415  }
   416  
   417  // A map of tags to assign to the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
   418  func (o NamespaceOutput) Tags() pulumi.StringMapOutput {
   419  	return o.ApplyT(func(v *Namespace) pulumi.StringMapOutput { return v.Tags }).(pulumi.StringMapOutput)
   420  }
   421  
   422  // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.
   423  //
   424  // Deprecated: Please use `tags` instead.
   425  func (o NamespaceOutput) TagsAll() pulumi.StringMapOutput {
   426  	return o.ApplyT(func(v *Namespace) pulumi.StringMapOutput { return v.TagsAll }).(pulumi.StringMapOutput)
   427  }
   428  
   429  type NamespaceArrayOutput struct{ *pulumi.OutputState }
   430  
   431  func (NamespaceArrayOutput) ElementType() reflect.Type {
   432  	return reflect.TypeOf((*[]*Namespace)(nil)).Elem()
   433  }
   434  
   435  func (o NamespaceArrayOutput) ToNamespaceArrayOutput() NamespaceArrayOutput {
   436  	return o
   437  }
   438  
   439  func (o NamespaceArrayOutput) ToNamespaceArrayOutputWithContext(ctx context.Context) NamespaceArrayOutput {
   440  	return o
   441  }
   442  
   443  func (o NamespaceArrayOutput) Index(i pulumi.IntInput) NamespaceOutput {
   444  	return pulumi.All(o, i).ApplyT(func(vs []interface{}) *Namespace {
   445  		return vs[0].([]*Namespace)[vs[1].(int)]
   446  	}).(NamespaceOutput)
   447  }
   448  
   449  type NamespaceMapOutput struct{ *pulumi.OutputState }
   450  
   451  func (NamespaceMapOutput) ElementType() reflect.Type {
   452  	return reflect.TypeOf((*map[string]*Namespace)(nil)).Elem()
   453  }
   454  
   455  func (o NamespaceMapOutput) ToNamespaceMapOutput() NamespaceMapOutput {
   456  	return o
   457  }
   458  
   459  func (o NamespaceMapOutput) ToNamespaceMapOutputWithContext(ctx context.Context) NamespaceMapOutput {
   460  	return o
   461  }
   462  
   463  func (o NamespaceMapOutput) MapIndex(k pulumi.StringInput) NamespaceOutput {
   464  	return pulumi.All(o, k).ApplyT(func(vs []interface{}) *Namespace {
   465  		return vs[0].(map[string]*Namespace)[vs[1].(string)]
   466  	}).(NamespaceOutput)
   467  }
   468  
   469  func init() {
   470  	pulumi.RegisterInputType(reflect.TypeOf((*NamespaceInput)(nil)).Elem(), &Namespace{})
   471  	pulumi.RegisterInputType(reflect.TypeOf((*NamespaceArrayInput)(nil)).Elem(), NamespaceArray{})
   472  	pulumi.RegisterInputType(reflect.TypeOf((*NamespaceMapInput)(nil)).Elem(), NamespaceMap{})
   473  	pulumi.RegisterOutputType(NamespaceOutput{})
   474  	pulumi.RegisterOutputType(NamespaceArrayOutput{})
   475  	pulumi.RegisterOutputType(NamespaceMapOutput{})
   476  }