github.com/pulumi/pulumi-aws/sdk/v6@v6.32.0/go/aws/m2/environment.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 m2
     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  // Resource for managing an [AWS Mainframe Modernization Environment](https://docs.aws.amazon.com/m2/latest/userguide/environments-m2.html).
    16  //
    17  // ## Example Usage
    18  //
    19  // ## Import
    20  //
    21  // Using `pulumi import`, import Mainframe Modernization Environment using the `01234567890abcdef012345678`. For example:
    22  //
    23  // ```sh
    24  // $ pulumi import aws:m2/environment:Environment example 01234567890abcdef012345678
    25  // ```
    26  type Environment struct {
    27  	pulumi.CustomResourceState
    28  
    29  	ApplyChangesDuringMaintenanceWindow pulumi.BoolPtrOutput `pulumi:"applyChangesDuringMaintenanceWindow"`
    30  	// ARN of the Environment.
    31  	Arn         pulumi.StringOutput    `pulumi:"arn"`
    32  	Description pulumi.StringPtrOutput `pulumi:"description"`
    33  	// Engine type must be `microfocus` or `bluage`.
    34  	EngineType pulumi.StringOutput `pulumi:"engineType"`
    35  	// The specific version of the engine for the Environment.
    36  	EngineVersion pulumi.StringOutput `pulumi:"engineVersion"`
    37  	// The id of the Environment.
    38  	EnvironmentId pulumi.StringOutput `pulumi:"environmentId"`
    39  	// Force update the environment even if applications are running.
    40  	ForceUpdate            pulumi.BoolPtrOutput                       `pulumi:"forceUpdate"`
    41  	HighAvailabilityConfig EnvironmentHighAvailabilityConfigPtrOutput `pulumi:"highAvailabilityConfig"`
    42  	// M2 Instance Type.
    43  	//
    44  	// The following arguments are optional:
    45  	InstanceType pulumi.StringOutput `pulumi:"instanceType"`
    46  	// ARN of the KMS key to use for the Environment.
    47  	KmsKeyId pulumi.StringPtrOutput `pulumi:"kmsKeyId"`
    48  	// ARN of the load balancer created by the Environment.
    49  	LoadBalancerArn pulumi.StringOutput `pulumi:"loadBalancerArn"`
    50  	// Name of the runtime environment. Must be unique within the account.
    51  	Name pulumi.StringOutput `pulumi:"name"`
    52  	// Configures the maintenance window that you want for the runtime environment. The maintenance window must have the format `ddd:hh24:mi-ddd:hh24:mi` and must be less than 24 hours. If not provided a random value will be used.
    53  	PreferredMaintenanceWindow pulumi.StringOutput `pulumi:"preferredMaintenanceWindow"`
    54  	// Allow applications deployed to this environment to be publicly accessible.
    55  	PubliclyAccessible pulumi.BoolOutput `pulumi:"publiclyAccessible"`
    56  	// List of security group ids.
    57  	SecurityGroupIds     pulumi.StringArrayOutput                 `pulumi:"securityGroupIds"`
    58  	StorageConfiguration EnvironmentStorageConfigurationPtrOutput `pulumi:"storageConfiguration"`
    59  	// List of subnet ids to deploy environment to.
    60  	SubnetIds pulumi.StringArrayOutput `pulumi:"subnetIds"`
    61  	// Key-value tags for the place index. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
    62  	Tags pulumi.StringMapOutput `pulumi:"tags"`
    63  	// Deprecated: Please use `tags` instead.
    64  	TagsAll  pulumi.StringMapOutput       `pulumi:"tagsAll"`
    65  	Timeouts EnvironmentTimeoutsPtrOutput `pulumi:"timeouts"`
    66  }
    67  
    68  // NewEnvironment registers a new resource with the given unique name, arguments, and options.
    69  func NewEnvironment(ctx *pulumi.Context,
    70  	name string, args *EnvironmentArgs, opts ...pulumi.ResourceOption) (*Environment, error) {
    71  	if args == nil {
    72  		return nil, errors.New("missing one or more required arguments")
    73  	}
    74  
    75  	if args.EngineType == nil {
    76  		return nil, errors.New("invalid value for required argument 'EngineType'")
    77  	}
    78  	if args.InstanceType == nil {
    79  		return nil, errors.New("invalid value for required argument 'InstanceType'")
    80  	}
    81  	opts = internal.PkgResourceDefaultOpts(opts)
    82  	var resource Environment
    83  	err := ctx.RegisterResource("aws:m2/environment:Environment", name, args, &resource, opts...)
    84  	if err != nil {
    85  		return nil, err
    86  	}
    87  	return &resource, nil
    88  }
    89  
    90  // GetEnvironment gets an existing Environment resource's state with the given name, ID, and optional
    91  // state properties that are used to uniquely qualify the lookup (nil if not required).
    92  func GetEnvironment(ctx *pulumi.Context,
    93  	name string, id pulumi.IDInput, state *EnvironmentState, opts ...pulumi.ResourceOption) (*Environment, error) {
    94  	var resource Environment
    95  	err := ctx.ReadResource("aws:m2/environment:Environment", name, id, state, &resource, opts...)
    96  	if err != nil {
    97  		return nil, err
    98  	}
    99  	return &resource, nil
   100  }
   101  
   102  // Input properties used for looking up and filtering Environment resources.
   103  type environmentState struct {
   104  	ApplyChangesDuringMaintenanceWindow *bool `pulumi:"applyChangesDuringMaintenanceWindow"`
   105  	// ARN of the Environment.
   106  	Arn         *string `pulumi:"arn"`
   107  	Description *string `pulumi:"description"`
   108  	// Engine type must be `microfocus` or `bluage`.
   109  	EngineType *string `pulumi:"engineType"`
   110  	// The specific version of the engine for the Environment.
   111  	EngineVersion *string `pulumi:"engineVersion"`
   112  	// The id of the Environment.
   113  	EnvironmentId *string `pulumi:"environmentId"`
   114  	// Force update the environment even if applications are running.
   115  	ForceUpdate            *bool                              `pulumi:"forceUpdate"`
   116  	HighAvailabilityConfig *EnvironmentHighAvailabilityConfig `pulumi:"highAvailabilityConfig"`
   117  	// M2 Instance Type.
   118  	//
   119  	// The following arguments are optional:
   120  	InstanceType *string `pulumi:"instanceType"`
   121  	// ARN of the KMS key to use for the Environment.
   122  	KmsKeyId *string `pulumi:"kmsKeyId"`
   123  	// ARN of the load balancer created by the Environment.
   124  	LoadBalancerArn *string `pulumi:"loadBalancerArn"`
   125  	// Name of the runtime environment. Must be unique within the account.
   126  	Name *string `pulumi:"name"`
   127  	// Configures the maintenance window that you want for the runtime environment. The maintenance window must have the format `ddd:hh24:mi-ddd:hh24:mi` and must be less than 24 hours. If not provided a random value will be used.
   128  	PreferredMaintenanceWindow *string `pulumi:"preferredMaintenanceWindow"`
   129  	// Allow applications deployed to this environment to be publicly accessible.
   130  	PubliclyAccessible *bool `pulumi:"publiclyAccessible"`
   131  	// List of security group ids.
   132  	SecurityGroupIds     []string                         `pulumi:"securityGroupIds"`
   133  	StorageConfiguration *EnvironmentStorageConfiguration `pulumi:"storageConfiguration"`
   134  	// List of subnet ids to deploy environment to.
   135  	SubnetIds []string `pulumi:"subnetIds"`
   136  	// Key-value tags for the place index. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
   137  	Tags map[string]string `pulumi:"tags"`
   138  	// Deprecated: Please use `tags` instead.
   139  	TagsAll  map[string]string    `pulumi:"tagsAll"`
   140  	Timeouts *EnvironmentTimeouts `pulumi:"timeouts"`
   141  }
   142  
   143  type EnvironmentState struct {
   144  	ApplyChangesDuringMaintenanceWindow pulumi.BoolPtrInput
   145  	// ARN of the Environment.
   146  	Arn         pulumi.StringPtrInput
   147  	Description pulumi.StringPtrInput
   148  	// Engine type must be `microfocus` or `bluage`.
   149  	EngineType pulumi.StringPtrInput
   150  	// The specific version of the engine for the Environment.
   151  	EngineVersion pulumi.StringPtrInput
   152  	// The id of the Environment.
   153  	EnvironmentId pulumi.StringPtrInput
   154  	// Force update the environment even if applications are running.
   155  	ForceUpdate            pulumi.BoolPtrInput
   156  	HighAvailabilityConfig EnvironmentHighAvailabilityConfigPtrInput
   157  	// M2 Instance Type.
   158  	//
   159  	// The following arguments are optional:
   160  	InstanceType pulumi.StringPtrInput
   161  	// ARN of the KMS key to use for the Environment.
   162  	KmsKeyId pulumi.StringPtrInput
   163  	// ARN of the load balancer created by the Environment.
   164  	LoadBalancerArn pulumi.StringPtrInput
   165  	// Name of the runtime environment. Must be unique within the account.
   166  	Name pulumi.StringPtrInput
   167  	// Configures the maintenance window that you want for the runtime environment. The maintenance window must have the format `ddd:hh24:mi-ddd:hh24:mi` and must be less than 24 hours. If not provided a random value will be used.
   168  	PreferredMaintenanceWindow pulumi.StringPtrInput
   169  	// Allow applications deployed to this environment to be publicly accessible.
   170  	PubliclyAccessible pulumi.BoolPtrInput
   171  	// List of security group ids.
   172  	SecurityGroupIds     pulumi.StringArrayInput
   173  	StorageConfiguration EnvironmentStorageConfigurationPtrInput
   174  	// List of subnet ids to deploy environment to.
   175  	SubnetIds pulumi.StringArrayInput
   176  	// Key-value tags for the place index. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
   177  	Tags pulumi.StringMapInput
   178  	// Deprecated: Please use `tags` instead.
   179  	TagsAll  pulumi.StringMapInput
   180  	Timeouts EnvironmentTimeoutsPtrInput
   181  }
   182  
   183  func (EnvironmentState) ElementType() reflect.Type {
   184  	return reflect.TypeOf((*environmentState)(nil)).Elem()
   185  }
   186  
   187  type environmentArgs struct {
   188  	ApplyChangesDuringMaintenanceWindow *bool   `pulumi:"applyChangesDuringMaintenanceWindow"`
   189  	Description                         *string `pulumi:"description"`
   190  	// Engine type must be `microfocus` or `bluage`.
   191  	EngineType string `pulumi:"engineType"`
   192  	// The specific version of the engine for the Environment.
   193  	EngineVersion *string `pulumi:"engineVersion"`
   194  	// Force update the environment even if applications are running.
   195  	ForceUpdate            *bool                              `pulumi:"forceUpdate"`
   196  	HighAvailabilityConfig *EnvironmentHighAvailabilityConfig `pulumi:"highAvailabilityConfig"`
   197  	// M2 Instance Type.
   198  	//
   199  	// The following arguments are optional:
   200  	InstanceType string `pulumi:"instanceType"`
   201  	// ARN of the KMS key to use for the Environment.
   202  	KmsKeyId *string `pulumi:"kmsKeyId"`
   203  	// Name of the runtime environment. Must be unique within the account.
   204  	Name *string `pulumi:"name"`
   205  	// Configures the maintenance window that you want for the runtime environment. The maintenance window must have the format `ddd:hh24:mi-ddd:hh24:mi` and must be less than 24 hours. If not provided a random value will be used.
   206  	PreferredMaintenanceWindow *string `pulumi:"preferredMaintenanceWindow"`
   207  	// Allow applications deployed to this environment to be publicly accessible.
   208  	PubliclyAccessible *bool `pulumi:"publiclyAccessible"`
   209  	// List of security group ids.
   210  	SecurityGroupIds     []string                         `pulumi:"securityGroupIds"`
   211  	StorageConfiguration *EnvironmentStorageConfiguration `pulumi:"storageConfiguration"`
   212  	// List of subnet ids to deploy environment to.
   213  	SubnetIds []string `pulumi:"subnetIds"`
   214  	// Key-value tags for the place index. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
   215  	Tags     map[string]string    `pulumi:"tags"`
   216  	Timeouts *EnvironmentTimeouts `pulumi:"timeouts"`
   217  }
   218  
   219  // The set of arguments for constructing a Environment resource.
   220  type EnvironmentArgs struct {
   221  	ApplyChangesDuringMaintenanceWindow pulumi.BoolPtrInput
   222  	Description                         pulumi.StringPtrInput
   223  	// Engine type must be `microfocus` or `bluage`.
   224  	EngineType pulumi.StringInput
   225  	// The specific version of the engine for the Environment.
   226  	EngineVersion pulumi.StringPtrInput
   227  	// Force update the environment even if applications are running.
   228  	ForceUpdate            pulumi.BoolPtrInput
   229  	HighAvailabilityConfig EnvironmentHighAvailabilityConfigPtrInput
   230  	// M2 Instance Type.
   231  	//
   232  	// The following arguments are optional:
   233  	InstanceType pulumi.StringInput
   234  	// ARN of the KMS key to use for the Environment.
   235  	KmsKeyId pulumi.StringPtrInput
   236  	// Name of the runtime environment. Must be unique within the account.
   237  	Name pulumi.StringPtrInput
   238  	// Configures the maintenance window that you want for the runtime environment. The maintenance window must have the format `ddd:hh24:mi-ddd:hh24:mi` and must be less than 24 hours. If not provided a random value will be used.
   239  	PreferredMaintenanceWindow pulumi.StringPtrInput
   240  	// Allow applications deployed to this environment to be publicly accessible.
   241  	PubliclyAccessible pulumi.BoolPtrInput
   242  	// List of security group ids.
   243  	SecurityGroupIds     pulumi.StringArrayInput
   244  	StorageConfiguration EnvironmentStorageConfigurationPtrInput
   245  	// List of subnet ids to deploy environment to.
   246  	SubnetIds pulumi.StringArrayInput
   247  	// Key-value tags for the place index. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
   248  	Tags     pulumi.StringMapInput
   249  	Timeouts EnvironmentTimeoutsPtrInput
   250  }
   251  
   252  func (EnvironmentArgs) ElementType() reflect.Type {
   253  	return reflect.TypeOf((*environmentArgs)(nil)).Elem()
   254  }
   255  
   256  type EnvironmentInput interface {
   257  	pulumi.Input
   258  
   259  	ToEnvironmentOutput() EnvironmentOutput
   260  	ToEnvironmentOutputWithContext(ctx context.Context) EnvironmentOutput
   261  }
   262  
   263  func (*Environment) ElementType() reflect.Type {
   264  	return reflect.TypeOf((**Environment)(nil)).Elem()
   265  }
   266  
   267  func (i *Environment) ToEnvironmentOutput() EnvironmentOutput {
   268  	return i.ToEnvironmentOutputWithContext(context.Background())
   269  }
   270  
   271  func (i *Environment) ToEnvironmentOutputWithContext(ctx context.Context) EnvironmentOutput {
   272  	return pulumi.ToOutputWithContext(ctx, i).(EnvironmentOutput)
   273  }
   274  
   275  // EnvironmentArrayInput is an input type that accepts EnvironmentArray and EnvironmentArrayOutput values.
   276  // You can construct a concrete instance of `EnvironmentArrayInput` via:
   277  //
   278  //	EnvironmentArray{ EnvironmentArgs{...} }
   279  type EnvironmentArrayInput interface {
   280  	pulumi.Input
   281  
   282  	ToEnvironmentArrayOutput() EnvironmentArrayOutput
   283  	ToEnvironmentArrayOutputWithContext(context.Context) EnvironmentArrayOutput
   284  }
   285  
   286  type EnvironmentArray []EnvironmentInput
   287  
   288  func (EnvironmentArray) ElementType() reflect.Type {
   289  	return reflect.TypeOf((*[]*Environment)(nil)).Elem()
   290  }
   291  
   292  func (i EnvironmentArray) ToEnvironmentArrayOutput() EnvironmentArrayOutput {
   293  	return i.ToEnvironmentArrayOutputWithContext(context.Background())
   294  }
   295  
   296  func (i EnvironmentArray) ToEnvironmentArrayOutputWithContext(ctx context.Context) EnvironmentArrayOutput {
   297  	return pulumi.ToOutputWithContext(ctx, i).(EnvironmentArrayOutput)
   298  }
   299  
   300  // EnvironmentMapInput is an input type that accepts EnvironmentMap and EnvironmentMapOutput values.
   301  // You can construct a concrete instance of `EnvironmentMapInput` via:
   302  //
   303  //	EnvironmentMap{ "key": EnvironmentArgs{...} }
   304  type EnvironmentMapInput interface {
   305  	pulumi.Input
   306  
   307  	ToEnvironmentMapOutput() EnvironmentMapOutput
   308  	ToEnvironmentMapOutputWithContext(context.Context) EnvironmentMapOutput
   309  }
   310  
   311  type EnvironmentMap map[string]EnvironmentInput
   312  
   313  func (EnvironmentMap) ElementType() reflect.Type {
   314  	return reflect.TypeOf((*map[string]*Environment)(nil)).Elem()
   315  }
   316  
   317  func (i EnvironmentMap) ToEnvironmentMapOutput() EnvironmentMapOutput {
   318  	return i.ToEnvironmentMapOutputWithContext(context.Background())
   319  }
   320  
   321  func (i EnvironmentMap) ToEnvironmentMapOutputWithContext(ctx context.Context) EnvironmentMapOutput {
   322  	return pulumi.ToOutputWithContext(ctx, i).(EnvironmentMapOutput)
   323  }
   324  
   325  type EnvironmentOutput struct{ *pulumi.OutputState }
   326  
   327  func (EnvironmentOutput) ElementType() reflect.Type {
   328  	return reflect.TypeOf((**Environment)(nil)).Elem()
   329  }
   330  
   331  func (o EnvironmentOutput) ToEnvironmentOutput() EnvironmentOutput {
   332  	return o
   333  }
   334  
   335  func (o EnvironmentOutput) ToEnvironmentOutputWithContext(ctx context.Context) EnvironmentOutput {
   336  	return o
   337  }
   338  
   339  func (o EnvironmentOutput) ApplyChangesDuringMaintenanceWindow() pulumi.BoolPtrOutput {
   340  	return o.ApplyT(func(v *Environment) pulumi.BoolPtrOutput { return v.ApplyChangesDuringMaintenanceWindow }).(pulumi.BoolPtrOutput)
   341  }
   342  
   343  // ARN of the Environment.
   344  func (o EnvironmentOutput) Arn() pulumi.StringOutput {
   345  	return o.ApplyT(func(v *Environment) pulumi.StringOutput { return v.Arn }).(pulumi.StringOutput)
   346  }
   347  
   348  func (o EnvironmentOutput) Description() pulumi.StringPtrOutput {
   349  	return o.ApplyT(func(v *Environment) pulumi.StringPtrOutput { return v.Description }).(pulumi.StringPtrOutput)
   350  }
   351  
   352  // Engine type must be `microfocus` or `bluage`.
   353  func (o EnvironmentOutput) EngineType() pulumi.StringOutput {
   354  	return o.ApplyT(func(v *Environment) pulumi.StringOutput { return v.EngineType }).(pulumi.StringOutput)
   355  }
   356  
   357  // The specific version of the engine for the Environment.
   358  func (o EnvironmentOutput) EngineVersion() pulumi.StringOutput {
   359  	return o.ApplyT(func(v *Environment) pulumi.StringOutput { return v.EngineVersion }).(pulumi.StringOutput)
   360  }
   361  
   362  // The id of the Environment.
   363  func (o EnvironmentOutput) EnvironmentId() pulumi.StringOutput {
   364  	return o.ApplyT(func(v *Environment) pulumi.StringOutput { return v.EnvironmentId }).(pulumi.StringOutput)
   365  }
   366  
   367  // Force update the environment even if applications are running.
   368  func (o EnvironmentOutput) ForceUpdate() pulumi.BoolPtrOutput {
   369  	return o.ApplyT(func(v *Environment) pulumi.BoolPtrOutput { return v.ForceUpdate }).(pulumi.BoolPtrOutput)
   370  }
   371  
   372  func (o EnvironmentOutput) HighAvailabilityConfig() EnvironmentHighAvailabilityConfigPtrOutput {
   373  	return o.ApplyT(func(v *Environment) EnvironmentHighAvailabilityConfigPtrOutput { return v.HighAvailabilityConfig }).(EnvironmentHighAvailabilityConfigPtrOutput)
   374  }
   375  
   376  // M2 Instance Type.
   377  //
   378  // The following arguments are optional:
   379  func (o EnvironmentOutput) InstanceType() pulumi.StringOutput {
   380  	return o.ApplyT(func(v *Environment) pulumi.StringOutput { return v.InstanceType }).(pulumi.StringOutput)
   381  }
   382  
   383  // ARN of the KMS key to use for the Environment.
   384  func (o EnvironmentOutput) KmsKeyId() pulumi.StringPtrOutput {
   385  	return o.ApplyT(func(v *Environment) pulumi.StringPtrOutput { return v.KmsKeyId }).(pulumi.StringPtrOutput)
   386  }
   387  
   388  // ARN of the load balancer created by the Environment.
   389  func (o EnvironmentOutput) LoadBalancerArn() pulumi.StringOutput {
   390  	return o.ApplyT(func(v *Environment) pulumi.StringOutput { return v.LoadBalancerArn }).(pulumi.StringOutput)
   391  }
   392  
   393  // Name of the runtime environment. Must be unique within the account.
   394  func (o EnvironmentOutput) Name() pulumi.StringOutput {
   395  	return o.ApplyT(func(v *Environment) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput)
   396  }
   397  
   398  // Configures the maintenance window that you want for the runtime environment. The maintenance window must have the format `ddd:hh24:mi-ddd:hh24:mi` and must be less than 24 hours. If not provided a random value will be used.
   399  func (o EnvironmentOutput) PreferredMaintenanceWindow() pulumi.StringOutput {
   400  	return o.ApplyT(func(v *Environment) pulumi.StringOutput { return v.PreferredMaintenanceWindow }).(pulumi.StringOutput)
   401  }
   402  
   403  // Allow applications deployed to this environment to be publicly accessible.
   404  func (o EnvironmentOutput) PubliclyAccessible() pulumi.BoolOutput {
   405  	return o.ApplyT(func(v *Environment) pulumi.BoolOutput { return v.PubliclyAccessible }).(pulumi.BoolOutput)
   406  }
   407  
   408  // List of security group ids.
   409  func (o EnvironmentOutput) SecurityGroupIds() pulumi.StringArrayOutput {
   410  	return o.ApplyT(func(v *Environment) pulumi.StringArrayOutput { return v.SecurityGroupIds }).(pulumi.StringArrayOutput)
   411  }
   412  
   413  func (o EnvironmentOutput) StorageConfiguration() EnvironmentStorageConfigurationPtrOutput {
   414  	return o.ApplyT(func(v *Environment) EnvironmentStorageConfigurationPtrOutput { return v.StorageConfiguration }).(EnvironmentStorageConfigurationPtrOutput)
   415  }
   416  
   417  // List of subnet ids to deploy environment to.
   418  func (o EnvironmentOutput) SubnetIds() pulumi.StringArrayOutput {
   419  	return o.ApplyT(func(v *Environment) pulumi.StringArrayOutput { return v.SubnetIds }).(pulumi.StringArrayOutput)
   420  }
   421  
   422  // Key-value tags for the place index. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
   423  func (o EnvironmentOutput) Tags() pulumi.StringMapOutput {
   424  	return o.ApplyT(func(v *Environment) pulumi.StringMapOutput { return v.Tags }).(pulumi.StringMapOutput)
   425  }
   426  
   427  // Deprecated: Please use `tags` instead.
   428  func (o EnvironmentOutput) TagsAll() pulumi.StringMapOutput {
   429  	return o.ApplyT(func(v *Environment) pulumi.StringMapOutput { return v.TagsAll }).(pulumi.StringMapOutput)
   430  }
   431  
   432  func (o EnvironmentOutput) Timeouts() EnvironmentTimeoutsPtrOutput {
   433  	return o.ApplyT(func(v *Environment) EnvironmentTimeoutsPtrOutput { return v.Timeouts }).(EnvironmentTimeoutsPtrOutput)
   434  }
   435  
   436  type EnvironmentArrayOutput struct{ *pulumi.OutputState }
   437  
   438  func (EnvironmentArrayOutput) ElementType() reflect.Type {
   439  	return reflect.TypeOf((*[]*Environment)(nil)).Elem()
   440  }
   441  
   442  func (o EnvironmentArrayOutput) ToEnvironmentArrayOutput() EnvironmentArrayOutput {
   443  	return o
   444  }
   445  
   446  func (o EnvironmentArrayOutput) ToEnvironmentArrayOutputWithContext(ctx context.Context) EnvironmentArrayOutput {
   447  	return o
   448  }
   449  
   450  func (o EnvironmentArrayOutput) Index(i pulumi.IntInput) EnvironmentOutput {
   451  	return pulumi.All(o, i).ApplyT(func(vs []interface{}) *Environment {
   452  		return vs[0].([]*Environment)[vs[1].(int)]
   453  	}).(EnvironmentOutput)
   454  }
   455  
   456  type EnvironmentMapOutput struct{ *pulumi.OutputState }
   457  
   458  func (EnvironmentMapOutput) ElementType() reflect.Type {
   459  	return reflect.TypeOf((*map[string]*Environment)(nil)).Elem()
   460  }
   461  
   462  func (o EnvironmentMapOutput) ToEnvironmentMapOutput() EnvironmentMapOutput {
   463  	return o
   464  }
   465  
   466  func (o EnvironmentMapOutput) ToEnvironmentMapOutputWithContext(ctx context.Context) EnvironmentMapOutput {
   467  	return o
   468  }
   469  
   470  func (o EnvironmentMapOutput) MapIndex(k pulumi.StringInput) EnvironmentOutput {
   471  	return pulumi.All(o, k).ApplyT(func(vs []interface{}) *Environment {
   472  		return vs[0].(map[string]*Environment)[vs[1].(string)]
   473  	}).(EnvironmentOutput)
   474  }
   475  
   476  func init() {
   477  	pulumi.RegisterInputType(reflect.TypeOf((*EnvironmentInput)(nil)).Elem(), &Environment{})
   478  	pulumi.RegisterInputType(reflect.TypeOf((*EnvironmentArrayInput)(nil)).Elem(), EnvironmentArray{})
   479  	pulumi.RegisterInputType(reflect.TypeOf((*EnvironmentMapInput)(nil)).Elem(), EnvironmentMap{})
   480  	pulumi.RegisterOutputType(EnvironmentOutput{})
   481  	pulumi.RegisterOutputType(EnvironmentArrayOutput{})
   482  	pulumi.RegisterOutputType(EnvironmentMapOutput{})
   483  }