github.com/pulumi/pulumi-aws/sdk/v6@v6.32.0/go/aws/appmesh/getGatewayRoute.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 appmesh
     5  
     6  import (
     7  	"context"
     8  	"reflect"
     9  
    10  	"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/internal"
    11  	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    12  )
    13  
    14  // The App Mesh Gateway Route data source allows details of an App Mesh Gateway Route to be retrieved by its name, mesh_name, virtual_gateway_name, and optionally the mesh_owner.
    15  //
    16  // ## Example Usage
    17  //
    18  // <!--Start PulumiCodeChooser -->
    19  // ```go
    20  // package main
    21  //
    22  // import (
    23  //
    24  //	"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/appmesh"
    25  //	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    26  //
    27  // )
    28  //
    29  //	func main() {
    30  //		pulumi.Run(func(ctx *pulumi.Context) error {
    31  //			_, err := appmesh.LookupGatewayRoute(ctx, &appmesh.LookupGatewayRouteArgs{
    32  //				Name:               "test-route",
    33  //				MeshName:           "test-mesh",
    34  //				VirtualGatewayName: "test-gateway",
    35  //			}, nil)
    36  //			if err != nil {
    37  //				return err
    38  //			}
    39  //			return nil
    40  //		})
    41  //	}
    42  //
    43  // ```
    44  // <!--End PulumiCodeChooser -->
    45  func LookupGatewayRoute(ctx *pulumi.Context, args *LookupGatewayRouteArgs, opts ...pulumi.InvokeOption) (*LookupGatewayRouteResult, error) {
    46  	opts = internal.PkgInvokeDefaultOpts(opts)
    47  	var rv LookupGatewayRouteResult
    48  	err := ctx.Invoke("aws:appmesh/getGatewayRoute:getGatewayRoute", args, &rv, opts...)
    49  	if err != nil {
    50  		return nil, err
    51  	}
    52  	return &rv, nil
    53  }
    54  
    55  // A collection of arguments for invoking getGatewayRoute.
    56  type LookupGatewayRouteArgs struct {
    57  	// Name of the service mesh in which the virtual gateway exists.
    58  	MeshName string `pulumi:"meshName"`
    59  	// AWS account ID of the service mesh's owner.
    60  	MeshOwner *string `pulumi:"meshOwner"`
    61  	// Name of the gateway route.
    62  	Name string `pulumi:"name"`
    63  	// Map of tags.
    64  	Tags map[string]string `pulumi:"tags"`
    65  	// Name of the virtual gateway in which the route exists.
    66  	VirtualGatewayName string `pulumi:"virtualGatewayName"`
    67  }
    68  
    69  // A collection of values returned by getGatewayRoute.
    70  type LookupGatewayRouteResult struct {
    71  	// ARN of the gateway route.
    72  	Arn string `pulumi:"arn"`
    73  	// Creation date of the gateway route.
    74  	CreatedDate string `pulumi:"createdDate"`
    75  	// The provider-assigned unique ID for this managed resource.
    76  	Id string `pulumi:"id"`
    77  	// Last update date of the gateway route.
    78  	LastUpdatedDate string `pulumi:"lastUpdatedDate"`
    79  	MeshName        string `pulumi:"meshName"`
    80  	MeshOwner       string `pulumi:"meshOwner"`
    81  	Name            string `pulumi:"name"`
    82  	// Resource owner's AWS account ID.
    83  	ResourceOwner string `pulumi:"resourceOwner"`
    84  	// Gateway route specification. See the `appmesh.GatewayRoute` resource for details.
    85  	Specs []GetGatewayRouteSpec `pulumi:"specs"`
    86  	// Map of tags.
    87  	Tags               map[string]string `pulumi:"tags"`
    88  	VirtualGatewayName string            `pulumi:"virtualGatewayName"`
    89  }
    90  
    91  func LookupGatewayRouteOutput(ctx *pulumi.Context, args LookupGatewayRouteOutputArgs, opts ...pulumi.InvokeOption) LookupGatewayRouteResultOutput {
    92  	return pulumi.ToOutputWithContext(context.Background(), args).
    93  		ApplyT(func(v interface{}) (LookupGatewayRouteResult, error) {
    94  			args := v.(LookupGatewayRouteArgs)
    95  			r, err := LookupGatewayRoute(ctx, &args, opts...)
    96  			var s LookupGatewayRouteResult
    97  			if r != nil {
    98  				s = *r
    99  			}
   100  			return s, err
   101  		}).(LookupGatewayRouteResultOutput)
   102  }
   103  
   104  // A collection of arguments for invoking getGatewayRoute.
   105  type LookupGatewayRouteOutputArgs struct {
   106  	// Name of the service mesh in which the virtual gateway exists.
   107  	MeshName pulumi.StringInput `pulumi:"meshName"`
   108  	// AWS account ID of the service mesh's owner.
   109  	MeshOwner pulumi.StringPtrInput `pulumi:"meshOwner"`
   110  	// Name of the gateway route.
   111  	Name pulumi.StringInput `pulumi:"name"`
   112  	// Map of tags.
   113  	Tags pulumi.StringMapInput `pulumi:"tags"`
   114  	// Name of the virtual gateway in which the route exists.
   115  	VirtualGatewayName pulumi.StringInput `pulumi:"virtualGatewayName"`
   116  }
   117  
   118  func (LookupGatewayRouteOutputArgs) ElementType() reflect.Type {
   119  	return reflect.TypeOf((*LookupGatewayRouteArgs)(nil)).Elem()
   120  }
   121  
   122  // A collection of values returned by getGatewayRoute.
   123  type LookupGatewayRouteResultOutput struct{ *pulumi.OutputState }
   124  
   125  func (LookupGatewayRouteResultOutput) ElementType() reflect.Type {
   126  	return reflect.TypeOf((*LookupGatewayRouteResult)(nil)).Elem()
   127  }
   128  
   129  func (o LookupGatewayRouteResultOutput) ToLookupGatewayRouteResultOutput() LookupGatewayRouteResultOutput {
   130  	return o
   131  }
   132  
   133  func (o LookupGatewayRouteResultOutput) ToLookupGatewayRouteResultOutputWithContext(ctx context.Context) LookupGatewayRouteResultOutput {
   134  	return o
   135  }
   136  
   137  // ARN of the gateway route.
   138  func (o LookupGatewayRouteResultOutput) Arn() pulumi.StringOutput {
   139  	return o.ApplyT(func(v LookupGatewayRouteResult) string { return v.Arn }).(pulumi.StringOutput)
   140  }
   141  
   142  // Creation date of the gateway route.
   143  func (o LookupGatewayRouteResultOutput) CreatedDate() pulumi.StringOutput {
   144  	return o.ApplyT(func(v LookupGatewayRouteResult) string { return v.CreatedDate }).(pulumi.StringOutput)
   145  }
   146  
   147  // The provider-assigned unique ID for this managed resource.
   148  func (o LookupGatewayRouteResultOutput) Id() pulumi.StringOutput {
   149  	return o.ApplyT(func(v LookupGatewayRouteResult) string { return v.Id }).(pulumi.StringOutput)
   150  }
   151  
   152  // Last update date of the gateway route.
   153  func (o LookupGatewayRouteResultOutput) LastUpdatedDate() pulumi.StringOutput {
   154  	return o.ApplyT(func(v LookupGatewayRouteResult) string { return v.LastUpdatedDate }).(pulumi.StringOutput)
   155  }
   156  
   157  func (o LookupGatewayRouteResultOutput) MeshName() pulumi.StringOutput {
   158  	return o.ApplyT(func(v LookupGatewayRouteResult) string { return v.MeshName }).(pulumi.StringOutput)
   159  }
   160  
   161  func (o LookupGatewayRouteResultOutput) MeshOwner() pulumi.StringOutput {
   162  	return o.ApplyT(func(v LookupGatewayRouteResult) string { return v.MeshOwner }).(pulumi.StringOutput)
   163  }
   164  
   165  func (o LookupGatewayRouteResultOutput) Name() pulumi.StringOutput {
   166  	return o.ApplyT(func(v LookupGatewayRouteResult) string { return v.Name }).(pulumi.StringOutput)
   167  }
   168  
   169  // Resource owner's AWS account ID.
   170  func (o LookupGatewayRouteResultOutput) ResourceOwner() pulumi.StringOutput {
   171  	return o.ApplyT(func(v LookupGatewayRouteResult) string { return v.ResourceOwner }).(pulumi.StringOutput)
   172  }
   173  
   174  // Gateway route specification. See the `appmesh.GatewayRoute` resource for details.
   175  func (o LookupGatewayRouteResultOutput) Specs() GetGatewayRouteSpecArrayOutput {
   176  	return o.ApplyT(func(v LookupGatewayRouteResult) []GetGatewayRouteSpec { return v.Specs }).(GetGatewayRouteSpecArrayOutput)
   177  }
   178  
   179  // Map of tags.
   180  func (o LookupGatewayRouteResultOutput) Tags() pulumi.StringMapOutput {
   181  	return o.ApplyT(func(v LookupGatewayRouteResult) map[string]string { return v.Tags }).(pulumi.StringMapOutput)
   182  }
   183  
   184  func (o LookupGatewayRouteResultOutput) VirtualGatewayName() pulumi.StringOutput {
   185  	return o.ApplyT(func(v LookupGatewayRouteResult) string { return v.VirtualGatewayName }).(pulumi.StringOutput)
   186  }
   187  
   188  func init() {
   189  	pulumi.RegisterOutputType(LookupGatewayRouteResultOutput{})
   190  }