github.com/pulumi/pulumi-aws/sdk/v6@v6.32.0/go/aws/amplify/backendEnvironment.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 amplify
     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  // Provides an Amplify Backend Environment resource.
    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/amplify"
    26  //	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    27  //
    28  // )
    29  //
    30  //	func main() {
    31  //		pulumi.Run(func(ctx *pulumi.Context) error {
    32  //			example, err := amplify.NewApp(ctx, "example", &amplify.AppArgs{
    33  //				Name: pulumi.String("example"),
    34  //			})
    35  //			if err != nil {
    36  //				return err
    37  //			}
    38  //			_, err = amplify.NewBackendEnvironment(ctx, "example", &amplify.BackendEnvironmentArgs{
    39  //				AppId:               example.ID(),
    40  //				EnvironmentName:     pulumi.String("example"),
    41  //				DeploymentArtifacts: pulumi.String("app-example-deployment"),
    42  //				StackName:           pulumi.String("amplify-app-example"),
    43  //			})
    44  //			if err != nil {
    45  //				return err
    46  //			}
    47  //			return nil
    48  //		})
    49  //	}
    50  //
    51  // ```
    52  // <!--End PulumiCodeChooser -->
    53  //
    54  // ## Import
    55  //
    56  // Using `pulumi import`, import Amplify backend environment using `app_id` and `environment_name`. For example:
    57  //
    58  // ```sh
    59  // $ pulumi import aws:amplify/backendEnvironment:BackendEnvironment example d2ypk4k47z8u6/example
    60  // ```
    61  type BackendEnvironment struct {
    62  	pulumi.CustomResourceState
    63  
    64  	// Unique ID for an Amplify app.
    65  	AppId pulumi.StringOutput `pulumi:"appId"`
    66  	// ARN for a backend environment that is part of an Amplify app.
    67  	Arn pulumi.StringOutput `pulumi:"arn"`
    68  	// Name of deployment artifacts.
    69  	DeploymentArtifacts pulumi.StringOutput `pulumi:"deploymentArtifacts"`
    70  	// Name for the backend environment.
    71  	EnvironmentName pulumi.StringOutput `pulumi:"environmentName"`
    72  	// AWS CloudFormation stack name of a backend environment.
    73  	StackName pulumi.StringOutput `pulumi:"stackName"`
    74  }
    75  
    76  // NewBackendEnvironment registers a new resource with the given unique name, arguments, and options.
    77  func NewBackendEnvironment(ctx *pulumi.Context,
    78  	name string, args *BackendEnvironmentArgs, opts ...pulumi.ResourceOption) (*BackendEnvironment, error) {
    79  	if args == nil {
    80  		return nil, errors.New("missing one or more required arguments")
    81  	}
    82  
    83  	if args.AppId == nil {
    84  		return nil, errors.New("invalid value for required argument 'AppId'")
    85  	}
    86  	if args.EnvironmentName == nil {
    87  		return nil, errors.New("invalid value for required argument 'EnvironmentName'")
    88  	}
    89  	opts = internal.PkgResourceDefaultOpts(opts)
    90  	var resource BackendEnvironment
    91  	err := ctx.RegisterResource("aws:amplify/backendEnvironment:BackendEnvironment", name, args, &resource, opts...)
    92  	if err != nil {
    93  		return nil, err
    94  	}
    95  	return &resource, nil
    96  }
    97  
    98  // GetBackendEnvironment gets an existing BackendEnvironment resource's state with the given name, ID, and optional
    99  // state properties that are used to uniquely qualify the lookup (nil if not required).
   100  func GetBackendEnvironment(ctx *pulumi.Context,
   101  	name string, id pulumi.IDInput, state *BackendEnvironmentState, opts ...pulumi.ResourceOption) (*BackendEnvironment, error) {
   102  	var resource BackendEnvironment
   103  	err := ctx.ReadResource("aws:amplify/backendEnvironment:BackendEnvironment", name, id, state, &resource, opts...)
   104  	if err != nil {
   105  		return nil, err
   106  	}
   107  	return &resource, nil
   108  }
   109  
   110  // Input properties used for looking up and filtering BackendEnvironment resources.
   111  type backendEnvironmentState struct {
   112  	// Unique ID for an Amplify app.
   113  	AppId *string `pulumi:"appId"`
   114  	// ARN for a backend environment that is part of an Amplify app.
   115  	Arn *string `pulumi:"arn"`
   116  	// Name of deployment artifacts.
   117  	DeploymentArtifacts *string `pulumi:"deploymentArtifacts"`
   118  	// Name for the backend environment.
   119  	EnvironmentName *string `pulumi:"environmentName"`
   120  	// AWS CloudFormation stack name of a backend environment.
   121  	StackName *string `pulumi:"stackName"`
   122  }
   123  
   124  type BackendEnvironmentState struct {
   125  	// Unique ID for an Amplify app.
   126  	AppId pulumi.StringPtrInput
   127  	// ARN for a backend environment that is part of an Amplify app.
   128  	Arn pulumi.StringPtrInput
   129  	// Name of deployment artifacts.
   130  	DeploymentArtifacts pulumi.StringPtrInput
   131  	// Name for the backend environment.
   132  	EnvironmentName pulumi.StringPtrInput
   133  	// AWS CloudFormation stack name of a backend environment.
   134  	StackName pulumi.StringPtrInput
   135  }
   136  
   137  func (BackendEnvironmentState) ElementType() reflect.Type {
   138  	return reflect.TypeOf((*backendEnvironmentState)(nil)).Elem()
   139  }
   140  
   141  type backendEnvironmentArgs struct {
   142  	// Unique ID for an Amplify app.
   143  	AppId string `pulumi:"appId"`
   144  	// Name of deployment artifacts.
   145  	DeploymentArtifacts *string `pulumi:"deploymentArtifacts"`
   146  	// Name for the backend environment.
   147  	EnvironmentName string `pulumi:"environmentName"`
   148  	// AWS CloudFormation stack name of a backend environment.
   149  	StackName *string `pulumi:"stackName"`
   150  }
   151  
   152  // The set of arguments for constructing a BackendEnvironment resource.
   153  type BackendEnvironmentArgs struct {
   154  	// Unique ID for an Amplify app.
   155  	AppId pulumi.StringInput
   156  	// Name of deployment artifacts.
   157  	DeploymentArtifacts pulumi.StringPtrInput
   158  	// Name for the backend environment.
   159  	EnvironmentName pulumi.StringInput
   160  	// AWS CloudFormation stack name of a backend environment.
   161  	StackName pulumi.StringPtrInput
   162  }
   163  
   164  func (BackendEnvironmentArgs) ElementType() reflect.Type {
   165  	return reflect.TypeOf((*backendEnvironmentArgs)(nil)).Elem()
   166  }
   167  
   168  type BackendEnvironmentInput interface {
   169  	pulumi.Input
   170  
   171  	ToBackendEnvironmentOutput() BackendEnvironmentOutput
   172  	ToBackendEnvironmentOutputWithContext(ctx context.Context) BackendEnvironmentOutput
   173  }
   174  
   175  func (*BackendEnvironment) ElementType() reflect.Type {
   176  	return reflect.TypeOf((**BackendEnvironment)(nil)).Elem()
   177  }
   178  
   179  func (i *BackendEnvironment) ToBackendEnvironmentOutput() BackendEnvironmentOutput {
   180  	return i.ToBackendEnvironmentOutputWithContext(context.Background())
   181  }
   182  
   183  func (i *BackendEnvironment) ToBackendEnvironmentOutputWithContext(ctx context.Context) BackendEnvironmentOutput {
   184  	return pulumi.ToOutputWithContext(ctx, i).(BackendEnvironmentOutput)
   185  }
   186  
   187  // BackendEnvironmentArrayInput is an input type that accepts BackendEnvironmentArray and BackendEnvironmentArrayOutput values.
   188  // You can construct a concrete instance of `BackendEnvironmentArrayInput` via:
   189  //
   190  //	BackendEnvironmentArray{ BackendEnvironmentArgs{...} }
   191  type BackendEnvironmentArrayInput interface {
   192  	pulumi.Input
   193  
   194  	ToBackendEnvironmentArrayOutput() BackendEnvironmentArrayOutput
   195  	ToBackendEnvironmentArrayOutputWithContext(context.Context) BackendEnvironmentArrayOutput
   196  }
   197  
   198  type BackendEnvironmentArray []BackendEnvironmentInput
   199  
   200  func (BackendEnvironmentArray) ElementType() reflect.Type {
   201  	return reflect.TypeOf((*[]*BackendEnvironment)(nil)).Elem()
   202  }
   203  
   204  func (i BackendEnvironmentArray) ToBackendEnvironmentArrayOutput() BackendEnvironmentArrayOutput {
   205  	return i.ToBackendEnvironmentArrayOutputWithContext(context.Background())
   206  }
   207  
   208  func (i BackendEnvironmentArray) ToBackendEnvironmentArrayOutputWithContext(ctx context.Context) BackendEnvironmentArrayOutput {
   209  	return pulumi.ToOutputWithContext(ctx, i).(BackendEnvironmentArrayOutput)
   210  }
   211  
   212  // BackendEnvironmentMapInput is an input type that accepts BackendEnvironmentMap and BackendEnvironmentMapOutput values.
   213  // You can construct a concrete instance of `BackendEnvironmentMapInput` via:
   214  //
   215  //	BackendEnvironmentMap{ "key": BackendEnvironmentArgs{...} }
   216  type BackendEnvironmentMapInput interface {
   217  	pulumi.Input
   218  
   219  	ToBackendEnvironmentMapOutput() BackendEnvironmentMapOutput
   220  	ToBackendEnvironmentMapOutputWithContext(context.Context) BackendEnvironmentMapOutput
   221  }
   222  
   223  type BackendEnvironmentMap map[string]BackendEnvironmentInput
   224  
   225  func (BackendEnvironmentMap) ElementType() reflect.Type {
   226  	return reflect.TypeOf((*map[string]*BackendEnvironment)(nil)).Elem()
   227  }
   228  
   229  func (i BackendEnvironmentMap) ToBackendEnvironmentMapOutput() BackendEnvironmentMapOutput {
   230  	return i.ToBackendEnvironmentMapOutputWithContext(context.Background())
   231  }
   232  
   233  func (i BackendEnvironmentMap) ToBackendEnvironmentMapOutputWithContext(ctx context.Context) BackendEnvironmentMapOutput {
   234  	return pulumi.ToOutputWithContext(ctx, i).(BackendEnvironmentMapOutput)
   235  }
   236  
   237  type BackendEnvironmentOutput struct{ *pulumi.OutputState }
   238  
   239  func (BackendEnvironmentOutput) ElementType() reflect.Type {
   240  	return reflect.TypeOf((**BackendEnvironment)(nil)).Elem()
   241  }
   242  
   243  func (o BackendEnvironmentOutput) ToBackendEnvironmentOutput() BackendEnvironmentOutput {
   244  	return o
   245  }
   246  
   247  func (o BackendEnvironmentOutput) ToBackendEnvironmentOutputWithContext(ctx context.Context) BackendEnvironmentOutput {
   248  	return o
   249  }
   250  
   251  // Unique ID for an Amplify app.
   252  func (o BackendEnvironmentOutput) AppId() pulumi.StringOutput {
   253  	return o.ApplyT(func(v *BackendEnvironment) pulumi.StringOutput { return v.AppId }).(pulumi.StringOutput)
   254  }
   255  
   256  // ARN for a backend environment that is part of an Amplify app.
   257  func (o BackendEnvironmentOutput) Arn() pulumi.StringOutput {
   258  	return o.ApplyT(func(v *BackendEnvironment) pulumi.StringOutput { return v.Arn }).(pulumi.StringOutput)
   259  }
   260  
   261  // Name of deployment artifacts.
   262  func (o BackendEnvironmentOutput) DeploymentArtifacts() pulumi.StringOutput {
   263  	return o.ApplyT(func(v *BackendEnvironment) pulumi.StringOutput { return v.DeploymentArtifacts }).(pulumi.StringOutput)
   264  }
   265  
   266  // Name for the backend environment.
   267  func (o BackendEnvironmentOutput) EnvironmentName() pulumi.StringOutput {
   268  	return o.ApplyT(func(v *BackendEnvironment) pulumi.StringOutput { return v.EnvironmentName }).(pulumi.StringOutput)
   269  }
   270  
   271  // AWS CloudFormation stack name of a backend environment.
   272  func (o BackendEnvironmentOutput) StackName() pulumi.StringOutput {
   273  	return o.ApplyT(func(v *BackendEnvironment) pulumi.StringOutput { return v.StackName }).(pulumi.StringOutput)
   274  }
   275  
   276  type BackendEnvironmentArrayOutput struct{ *pulumi.OutputState }
   277  
   278  func (BackendEnvironmentArrayOutput) ElementType() reflect.Type {
   279  	return reflect.TypeOf((*[]*BackendEnvironment)(nil)).Elem()
   280  }
   281  
   282  func (o BackendEnvironmentArrayOutput) ToBackendEnvironmentArrayOutput() BackendEnvironmentArrayOutput {
   283  	return o
   284  }
   285  
   286  func (o BackendEnvironmentArrayOutput) ToBackendEnvironmentArrayOutputWithContext(ctx context.Context) BackendEnvironmentArrayOutput {
   287  	return o
   288  }
   289  
   290  func (o BackendEnvironmentArrayOutput) Index(i pulumi.IntInput) BackendEnvironmentOutput {
   291  	return pulumi.All(o, i).ApplyT(func(vs []interface{}) *BackendEnvironment {
   292  		return vs[0].([]*BackendEnvironment)[vs[1].(int)]
   293  	}).(BackendEnvironmentOutput)
   294  }
   295  
   296  type BackendEnvironmentMapOutput struct{ *pulumi.OutputState }
   297  
   298  func (BackendEnvironmentMapOutput) ElementType() reflect.Type {
   299  	return reflect.TypeOf((*map[string]*BackendEnvironment)(nil)).Elem()
   300  }
   301  
   302  func (o BackendEnvironmentMapOutput) ToBackendEnvironmentMapOutput() BackendEnvironmentMapOutput {
   303  	return o
   304  }
   305  
   306  func (o BackendEnvironmentMapOutput) ToBackendEnvironmentMapOutputWithContext(ctx context.Context) BackendEnvironmentMapOutput {
   307  	return o
   308  }
   309  
   310  func (o BackendEnvironmentMapOutput) MapIndex(k pulumi.StringInput) BackendEnvironmentOutput {
   311  	return pulumi.All(o, k).ApplyT(func(vs []interface{}) *BackendEnvironment {
   312  		return vs[0].(map[string]*BackendEnvironment)[vs[1].(string)]
   313  	}).(BackendEnvironmentOutput)
   314  }
   315  
   316  func init() {
   317  	pulumi.RegisterInputType(reflect.TypeOf((*BackendEnvironmentInput)(nil)).Elem(), &BackendEnvironment{})
   318  	pulumi.RegisterInputType(reflect.TypeOf((*BackendEnvironmentArrayInput)(nil)).Elem(), BackendEnvironmentArray{})
   319  	pulumi.RegisterInputType(reflect.TypeOf((*BackendEnvironmentMapInput)(nil)).Elem(), BackendEnvironmentMap{})
   320  	pulumi.RegisterOutputType(BackendEnvironmentOutput{})
   321  	pulumi.RegisterOutputType(BackendEnvironmentArrayOutput{})
   322  	pulumi.RegisterOutputType(BackendEnvironmentMapOutput{})
   323  }