diff --git a/provider/cmd/pulumi-resource-aws/schema.json b/provider/cmd/pulumi-resource-aws/schema.json index e21d0c34239..620aad68899 100644 --- a/provider/cmd/pulumi-resource-aws/schema.json +++ b/provider/cmd/pulumi-resource-aws/schema.json @@ -151,6 +151,7 @@ "qldb": "Qldb", "quicksight": "Quicksight", "ram": "Ram", + "rbin": "Rbin", "rds": "Rds", "redshift": "RedShift", "redshiftdata": "RedshiftData", @@ -184,6 +185,7 @@ "sns": "Sns", "sqs": "Sqs", "ssm": "Ssm", + "ssmincidents": "SsmIncidents", "ssoadmin": "SsoAdmin", "storagegateway": "StorageGateway", "swf": "Swf", @@ -6727,6 +6729,10 @@ "httpRoute": { "$ref": "#/types/aws:appmesh/GatewayRouteSpecHttpRoute:GatewayRouteSpecHttpRoute", "description": "Specification of an HTTP gateway route.\n" + }, + "priority": { + "type": "integer", + "description": "Priority for the gateway route, between `0` and `1000`.\n" } }, "type": "object" @@ -6762,6 +6768,10 @@ }, "aws:appmesh/GatewayRouteSpecGrpcRouteActionTarget:GatewayRouteSpecGrpcRouteActionTarget": { "properties": { + "port": { + "type": "integer", + "description": "The port number that corresponds to the target for Virtual Service provider port. This is required when the provider (router or node) of the Virtual Service has multiple listeners.\n" + }, "virtualService": { "$ref": "#/types/aws:appmesh/GatewayRouteSpecGrpcRouteActionTargetVirtualService:GatewayRouteSpecGrpcRouteActionTargetVirtualService", "description": "Virtual service gateway route target.\n" @@ -6788,7 +6798,7 @@ "properties": { "port": { "type": "integer", - "description": "The port number to match from the request.\n" + "description": "The port number that corresponds to the target for Virtual Service provider port. This is required when the provider (router or node) of the Virtual Service has multiple listeners.\n" }, "serviceName": { "type": "string", @@ -6873,6 +6883,10 @@ }, "aws:appmesh/GatewayRouteSpecHttp2RouteActionTarget:GatewayRouteSpecHttp2RouteActionTarget": { "properties": { + "port": { + "type": "integer", + "description": "The port number that corresponds to the target for Virtual Service provider port. This is required when the provider (router or node) of the Virtual Service has multiple listeners.\n" + }, "virtualService": { "$ref": "#/types/aws:appmesh/GatewayRouteSpecHttp2RouteActionTargetVirtualService:GatewayRouteSpecHttp2RouteActionTargetVirtualService", "description": "Virtual service gateway route target.\n" @@ -6897,21 +6911,101 @@ }, "aws:appmesh/GatewayRouteSpecHttp2RouteMatch:GatewayRouteSpecHttp2RouteMatch": { "properties": { + "headers": { + "type": "array", + "items": { + "$ref": "#/types/aws:appmesh/GatewayRouteSpecHttp2RouteMatchHeader:GatewayRouteSpecHttp2RouteMatchHeader" + }, + "description": "Client request headers to match on.\n" + }, "hostname": { "$ref": "#/types/aws:appmesh/GatewayRouteSpecHttp2RouteMatchHostname:GatewayRouteSpecHttp2RouteMatchHostname", "description": "Host name to rewrite.\n" }, + "path": { + "$ref": "#/types/aws:appmesh/GatewayRouteSpecHttp2RouteMatchPath:GatewayRouteSpecHttp2RouteMatchPath", + "description": "Client request path to match on.\n" + }, "port": { "type": "integer", - "description": "The port number to match from the request.\n" + "description": "The port number that corresponds to the target for Virtual Service provider port. This is required when the provider (router or node) of the Virtual Service has multiple listeners.\n" + }, + "prefix": { + "type": "string", + "description": "Specified beginning characters to rewrite.\n" + }, + "queryParameters": { + "type": "array", + "items": { + "$ref": "#/types/aws:appmesh/GatewayRouteSpecHttp2RouteMatchQueryParameter:GatewayRouteSpecHttp2RouteMatchQueryParameter" + }, + "description": "Client request query parameters to match on.\n" + } + }, + "type": "object" + }, + "aws:appmesh/GatewayRouteSpecHttp2RouteMatchHeader:GatewayRouteSpecHttp2RouteMatchHeader": { + "properties": { + "invert": { + "type": "boolean", + "description": "If `true`, the match is on the opposite of the `match` method and value. Default is `false`.\n" + }, + "match": { + "$ref": "#/types/aws:appmesh/GatewayRouteSpecHttp2RouteMatchHeaderMatch:GatewayRouteSpecHttp2RouteMatchHeaderMatch", + "description": "Method and value to match the header value sent with a request. Specify one match method.\n" + }, + "name": { + "type": "string", + "description": "Name for the HTTP header in the client request that will be matched on.\n" + } + }, + "type": "object", + "required": [ + "name" + ] + }, + "aws:appmesh/GatewayRouteSpecHttp2RouteMatchHeaderMatch:GatewayRouteSpecHttp2RouteMatchHeaderMatch": { + "properties": { + "exact": { + "type": "string", + "description": "Header value sent by the client must match the specified value exactly.\n" }, "prefix": { "type": "string", "description": "Specified beginning characters to rewrite.\n" + }, + "range": { + "$ref": "#/types/aws:appmesh/GatewayRouteSpecHttp2RouteMatchHeaderMatchRange:GatewayRouteSpecHttp2RouteMatchHeaderMatchRange", + "description": "Object that specifies the range of numbers that the header value sent by the client must be included in.\n" + }, + "regex": { + "type": "string", + "description": "Header value sent by the client must include the specified characters.\n" + }, + "suffix": { + "type": "string", + "description": "Header value sent by the client must end with the specified characters.\n" } }, "type": "object" }, + "aws:appmesh/GatewayRouteSpecHttp2RouteMatchHeaderMatchRange:GatewayRouteSpecHttp2RouteMatchHeaderMatchRange": { + "properties": { + "end": { + "type": "integer", + "description": "End of the range.\n" + }, + "start": { + "type": "integer", + "description": "Start of the range.\n" + } + }, + "type": "object", + "required": [ + "end", + "start" + ] + }, "aws:appmesh/GatewayRouteSpecHttp2RouteMatchHostname:GatewayRouteSpecHttp2RouteMatchHostname": { "properties": { "exact": { @@ -6925,6 +7019,44 @@ }, "type": "object" }, + "aws:appmesh/GatewayRouteSpecHttp2RouteMatchPath:GatewayRouteSpecHttp2RouteMatchPath": { + "properties": { + "exact": { + "type": "string", + "description": "The exact path to match on.\n" + }, + "regex": { + "type": "string", + "description": "The regex used to match the path.\n" + } + }, + "type": "object" + }, + "aws:appmesh/GatewayRouteSpecHttp2RouteMatchQueryParameter:GatewayRouteSpecHttp2RouteMatchQueryParameter": { + "properties": { + "match": { + "$ref": "#/types/aws:appmesh/GatewayRouteSpecHttp2RouteMatchQueryParameterMatch:GatewayRouteSpecHttp2RouteMatchQueryParameterMatch", + "description": "The query parameter to match on.\n" + }, + "name": { + "type": "string", + "description": "Name for the query parameter that will be matched on.\n" + } + }, + "type": "object", + "required": [ + "name" + ] + }, + "aws:appmesh/GatewayRouteSpecHttp2RouteMatchQueryParameterMatch:GatewayRouteSpecHttp2RouteMatchQueryParameterMatch": { + "properties": { + "exact": { + "type": "string", + "description": "Header value sent by the client must match the specified value exactly.\n" + } + }, + "type": "object" + }, "aws:appmesh/GatewayRouteSpecHttpRoute:GatewayRouteSpecHttpRoute": { "properties": { "action": { @@ -6998,6 +7130,10 @@ }, "aws:appmesh/GatewayRouteSpecHttpRouteActionTarget:GatewayRouteSpecHttpRouteActionTarget": { "properties": { + "port": { + "type": "integer", + "description": "The port number that corresponds to the target for Virtual Service provider port. This is required when the provider (router or node) of the Virtual Service has multiple listeners.\n" + }, "virtualService": { "$ref": "#/types/aws:appmesh/GatewayRouteSpecHttpRouteActionTargetVirtualService:GatewayRouteSpecHttpRouteActionTargetVirtualService", "description": "Virtual service gateway route target.\n" @@ -7022,21 +7158,101 @@ }, "aws:appmesh/GatewayRouteSpecHttpRouteMatch:GatewayRouteSpecHttpRouteMatch": { "properties": { + "headers": { + "type": "array", + "items": { + "$ref": "#/types/aws:appmesh/GatewayRouteSpecHttpRouteMatchHeader:GatewayRouteSpecHttpRouteMatchHeader" + }, + "description": "Client request headers to match on.\n" + }, "hostname": { "$ref": "#/types/aws:appmesh/GatewayRouteSpecHttpRouteMatchHostname:GatewayRouteSpecHttpRouteMatchHostname", "description": "Host name to rewrite.\n" }, + "path": { + "$ref": "#/types/aws:appmesh/GatewayRouteSpecHttpRouteMatchPath:GatewayRouteSpecHttpRouteMatchPath", + "description": "Client request path to match on.\n" + }, "port": { "type": "integer", - "description": "The port number to match from the request.\n" + "description": "The port number that corresponds to the target for Virtual Service provider port. This is required when the provider (router or node) of the Virtual Service has multiple listeners.\n" + }, + "prefix": { + "type": "string", + "description": "Specified beginning characters to rewrite.\n" + }, + "queryParameters": { + "type": "array", + "items": { + "$ref": "#/types/aws:appmesh/GatewayRouteSpecHttpRouteMatchQueryParameter:GatewayRouteSpecHttpRouteMatchQueryParameter" + }, + "description": "Client request query parameters to match on.\n" + } + }, + "type": "object" + }, + "aws:appmesh/GatewayRouteSpecHttpRouteMatchHeader:GatewayRouteSpecHttpRouteMatchHeader": { + "properties": { + "invert": { + "type": "boolean", + "description": "If `true`, the match is on the opposite of the `match` method and value. Default is `false`.\n" + }, + "match": { + "$ref": "#/types/aws:appmesh/GatewayRouteSpecHttpRouteMatchHeaderMatch:GatewayRouteSpecHttpRouteMatchHeaderMatch", + "description": "Method and value to match the header value sent with a request. Specify one match method.\n" + }, + "name": { + "type": "string", + "description": "Name for the HTTP header in the client request that will be matched on.\n" + } + }, + "type": "object", + "required": [ + "name" + ] + }, + "aws:appmesh/GatewayRouteSpecHttpRouteMatchHeaderMatch:GatewayRouteSpecHttpRouteMatchHeaderMatch": { + "properties": { + "exact": { + "type": "string", + "description": "Header value sent by the client must match the specified value exactly.\n" }, "prefix": { "type": "string", "description": "Specified beginning characters to rewrite.\n" + }, + "range": { + "$ref": "#/types/aws:appmesh/GatewayRouteSpecHttpRouteMatchHeaderMatchRange:GatewayRouteSpecHttpRouteMatchHeaderMatchRange", + "description": "Object that specifies the range of numbers that the header value sent by the client must be included in.\n" + }, + "regex": { + "type": "string", + "description": "Header value sent by the client must include the specified characters.\n" + }, + "suffix": { + "type": "string", + "description": "Header value sent by the client must end with the specified characters.\n" } }, "type": "object" }, + "aws:appmesh/GatewayRouteSpecHttpRouteMatchHeaderMatchRange:GatewayRouteSpecHttpRouteMatchHeaderMatchRange": { + "properties": { + "end": { + "type": "integer", + "description": "End of the range.\n" + }, + "start": { + "type": "integer", + "description": "Start of the range.\n" + } + }, + "type": "object", + "required": [ + "end", + "start" + ] + }, "aws:appmesh/GatewayRouteSpecHttpRouteMatchHostname:GatewayRouteSpecHttpRouteMatchHostname": { "properties": { "exact": { @@ -7050,6 +7266,44 @@ }, "type": "object" }, + "aws:appmesh/GatewayRouteSpecHttpRouteMatchPath:GatewayRouteSpecHttpRouteMatchPath": { + "properties": { + "exact": { + "type": "string", + "description": "The exact path to match on.\n" + }, + "regex": { + "type": "string", + "description": "The regex used to match the path.\n" + } + }, + "type": "object" + }, + "aws:appmesh/GatewayRouteSpecHttpRouteMatchQueryParameter:GatewayRouteSpecHttpRouteMatchQueryParameter": { + "properties": { + "match": { + "$ref": "#/types/aws:appmesh/GatewayRouteSpecHttpRouteMatchQueryParameterMatch:GatewayRouteSpecHttpRouteMatchQueryParameterMatch", + "description": "The query parameter to match on.\n" + }, + "name": { + "type": "string", + "description": "Name for the query parameter that will be matched on.\n" + } + }, + "type": "object", + "required": [ + "name" + ] + }, + "aws:appmesh/GatewayRouteSpecHttpRouteMatchQueryParameterMatch:GatewayRouteSpecHttpRouteMatchQueryParameterMatch": { + "properties": { + "exact": { + "type": "string", + "description": "Header value sent by the client must match the specified value exactly.\n" + } + }, + "type": "object" + }, "aws:appmesh/MeshSpec:MeshSpec": { "properties": { "egressFilter": { @@ -7205,7 +7459,7 @@ "properties": { "exact": { "type": "string", - "description": "Value sent by the client must match the specified value exactly. Must be between 1 and 255 characters in length.\n" + "description": "The exact path to match on.\n" }, "prefix": { "type": "string", @@ -7217,7 +7471,7 @@ }, "regex": { "type": "string", - "description": "Value sent by the client must include the specified characters. Must be between 1 and 255 characters in length.\n" + "description": "The regex used to match the path.\n" }, "suffix": { "type": "string", @@ -7419,6 +7673,10 @@ "type": "string", "description": "Client request header method to match on. Valid values: `GET`, `HEAD`, `POST`, `PUT`, `DELETE`, `CONNECT`, `OPTIONS`, `TRACE`, `PATCH`.\n" }, + "path": { + "$ref": "#/types/aws:appmesh/RouteSpecHttp2RouteMatchPath:RouteSpecHttp2RouteMatchPath", + "description": "Client request path to match on.\n" + }, "port": { "type": "integer", "description": "The port number to match from the request.\n" @@ -7427,15 +7685,19 @@ "type": "string", "description": "Value sent by the client must begin with the specified characters. Must be between 1 and 255 characters in length.\nThis parameter must always start with /, which by itself matches all requests to the virtual router service name.\n" }, + "queryParameters": { + "type": "array", + "items": { + "$ref": "#/types/aws:appmesh/RouteSpecHttp2RouteMatchQueryParameter:RouteSpecHttp2RouteMatchQueryParameter" + }, + "description": "Client request query parameters to match on.\n" + }, "scheme": { "type": "string", "description": "Client request header scheme to match on. Valid values: `http`, `https`.\n" } }, - "type": "object", - "required": [ - "prefix" - ] + "type": "object" }, "aws:appmesh/RouteSpecHttp2RouteMatchHeader:RouteSpecHttp2RouteMatchHeader": { "properties": { @@ -7461,7 +7723,7 @@ "properties": { "exact": { "type": "string", - "description": "Value sent by the client must match the specified value exactly. Must be between 1 and 255 characters in length.\n" + "description": "The exact path to match on.\n" }, "prefix": { "type": "string", @@ -7473,7 +7735,7 @@ }, "regex": { "type": "string", - "description": "Value sent by the client must include the specified characters. Must be between 1 and 255 characters in length.\n" + "description": "The regex used to match the path.\n" }, "suffix": { "type": "string", @@ -7499,6 +7761,44 @@ "start" ] }, + "aws:appmesh/RouteSpecHttp2RouteMatchPath:RouteSpecHttp2RouteMatchPath": { + "properties": { + "exact": { + "type": "string", + "description": "Value sent by the client must match the specified value exactly. Must be between 1 and 255 characters in length.\n" + }, + "regex": { + "type": "string", + "description": "Value sent by the client must include the specified characters. Must be between 1 and 255 characters in length.\n" + } + }, + "type": "object" + }, + "aws:appmesh/RouteSpecHttp2RouteMatchQueryParameter:RouteSpecHttp2RouteMatchQueryParameter": { + "properties": { + "match": { + "$ref": "#/types/aws:appmesh/RouteSpecHttp2RouteMatchQueryParameterMatch:RouteSpecHttp2RouteMatchQueryParameterMatch", + "description": "Criteria for determining an gRPC request match.\n" + }, + "name": { + "type": "string", + "description": "Name to use for the route. Must be between 1 and 255 characters in length.\n" + } + }, + "type": "object", + "required": [ + "name" + ] + }, + "aws:appmesh/RouteSpecHttp2RouteMatchQueryParameterMatch:RouteSpecHttp2RouteMatchQueryParameterMatch": { + "properties": { + "exact": { + "type": "string", + "description": "The exact path to match on.\n" + } + }, + "type": "object" + }, "aws:appmesh/RouteSpecHttp2RouteRetryPolicy:RouteSpecHttp2RouteRetryPolicy": { "properties": { "httpRetryEvents": { @@ -7668,6 +7968,10 @@ "type": "string", "description": "Client request header method to match on. Valid values: `GET`, `HEAD`, `POST`, `PUT`, `DELETE`, `CONNECT`, `OPTIONS`, `TRACE`, `PATCH`.\n" }, + "path": { + "$ref": "#/types/aws:appmesh/RouteSpecHttpRouteMatchPath:RouteSpecHttpRouteMatchPath", + "description": "Client request path to match on.\n" + }, "port": { "type": "integer", "description": "The port number to match from the request.\n" @@ -7676,15 +7980,19 @@ "type": "string", "description": "Value sent by the client must begin with the specified characters. Must be between 1 and 255 characters in length.\nThis parameter must always start with /, which by itself matches all requests to the virtual router service name.\n" }, + "queryParameters": { + "type": "array", + "items": { + "$ref": "#/types/aws:appmesh/RouteSpecHttpRouteMatchQueryParameter:RouteSpecHttpRouteMatchQueryParameter" + }, + "description": "Client request query parameters to match on.\n" + }, "scheme": { "type": "string", "description": "Client request header scheme to match on. Valid values: `http`, `https`.\n" } }, - "type": "object", - "required": [ - "prefix" - ] + "type": "object" }, "aws:appmesh/RouteSpecHttpRouteMatchHeader:RouteSpecHttpRouteMatchHeader": { "properties": { @@ -7710,7 +8018,7 @@ "properties": { "exact": { "type": "string", - "description": "Value sent by the client must match the specified value exactly. Must be between 1 and 255 characters in length.\n" + "description": "The exact path to match on.\n" }, "prefix": { "type": "string", @@ -7722,7 +8030,7 @@ }, "regex": { "type": "string", - "description": "Value sent by the client must include the specified characters. Must be between 1 and 255 characters in length.\n" + "description": "The regex used to match the path.\n" }, "suffix": { "type": "string", @@ -7748,6 +8056,44 @@ "start" ] }, + "aws:appmesh/RouteSpecHttpRouteMatchPath:RouteSpecHttpRouteMatchPath": { + "properties": { + "exact": { + "type": "string", + "description": "Value sent by the client must match the specified value exactly. Must be between 1 and 255 characters in length.\n" + }, + "regex": { + "type": "string", + "description": "Value sent by the client must include the specified characters. Must be between 1 and 255 characters in length.\n" + } + }, + "type": "object" + }, + "aws:appmesh/RouteSpecHttpRouteMatchQueryParameter:RouteSpecHttpRouteMatchQueryParameter": { + "properties": { + "match": { + "$ref": "#/types/aws:appmesh/RouteSpecHttpRouteMatchQueryParameterMatch:RouteSpecHttpRouteMatchQueryParameterMatch", + "description": "Criteria for determining an gRPC request match.\n" + }, + "name": { + "type": "string", + "description": "Name to use for the route. Must be between 1 and 255 characters in length.\n" + } + }, + "type": "object", + "required": [ + "name" + ] + }, + "aws:appmesh/RouteSpecHttpRouteMatchQueryParameterMatch:RouteSpecHttpRouteMatchQueryParameterMatch": { + "properties": { + "exact": { + "type": "string", + "description": "The exact path to match on.\n" + } + }, + "type": "object" + }, "aws:appmesh/RouteSpecHttpRouteRetryPolicy:RouteSpecHttpRouteRetryPolicy": { "properties": { "httpRetryEvents": { @@ -9626,6 +9972,14 @@ "hostname": { "type": "string", "description": "DNS host name for your virtual node.\n" + }, + "ipPreference": { + "type": "string", + "description": "The preferred IP version that this virtual node uses. Valid values: `IPv6_PREFERRED`, `IPv4_PREFERRED`, `IPv4_ONLY`, `IPv6_ONLY`.\n" + }, + "responseType": { + "type": "string", + "description": "The DNS response type for the virtual node. Valid values: `LOADBALANCER`, `ENDPOINTS`.\n" } }, "type": "object", @@ -9640,10 +9994,7 @@ "description": "Listeners that the virtual router is expected to receive inbound traffic from.\nCurrently only one listener is supported per virtual router.\n" } }, - "type": "object", - "required": [ - "listener" - ] + "type": "object" }, "aws:appmesh/VirtualRouterSpecListener:VirtualRouterSpecListener": { "properties": { @@ -9720,19 +10071,36 @@ "virtualRouterName" ] }, - "aws:appmesh/getMeshSpec:getMeshSpec": { + "aws:appmesh/getGatewayRouteSpec:getGatewayRouteSpec": { "properties": { - "egressFilters": { + "grpcRoutes": { "type": "array", "items": { - "$ref": "#/types/aws:appmesh/getMeshSpecEgressFilter:getMeshSpecEgressFilter" - }, - "description": "Egress filter rules for the service mesh.\n" + "$ref": "#/types/aws:appmesh/getGatewayRouteSpecGrpcRoute:getGatewayRouteSpecGrpcRoute" + } + }, + "http2Routes": { + "type": "array", + "items": { + "$ref": "#/types/aws:appmesh/getGatewayRouteSpecHttp2Route:getGatewayRouteSpecHttp2Route" + } + }, + "httpRoutes": { + "type": "array", + "items": { + "$ref": "#/types/aws:appmesh/getGatewayRouteSpecHttpRoute:getGatewayRouteSpecHttpRoute" + } + }, + "priority": { + "type": "integer" } }, "type": "object", "required": [ - "egressFilters" + "grpcRoutes", + "http2Routes", + "httpRoutes", + "priority" ], "language": { "nodejs": { @@ -9740,16 +10108,25 @@ } } }, - "aws:appmesh/getMeshSpecEgressFilter:getMeshSpecEgressFilter": { + "aws:appmesh/getGatewayRouteSpecGrpcRoute:getGatewayRouteSpecGrpcRoute": { "properties": { - "type": { - "type": "string", - "description": "Egress filter type.\n" + "actions": { + "type": "array", + "items": { + "$ref": "#/types/aws:appmesh/getGatewayRouteSpecGrpcRouteAction:getGatewayRouteSpecGrpcRouteAction" + } + }, + "matches": { + "type": "array", + "items": { + "$ref": "#/types/aws:appmesh/getGatewayRouteSpecGrpcRouteMatch:getGatewayRouteSpecGrpcRouteMatch" + } } }, "type": "object", "required": [ - "type" + "actions", + "matches" ], "language": { "nodejs": { @@ -9757,48 +10134,77 @@ } } }, - "aws:appmesh/getRouteSpec:getRouteSpec": { + "aws:appmesh/getGatewayRouteSpecGrpcRouteAction:getGatewayRouteSpecGrpcRouteAction": { "properties": { - "grpcRoutes": { - "type": "array", - "items": { - "$ref": "#/types/aws:appmesh/getRouteSpecGrpcRoute:getRouteSpecGrpcRoute" - }, - "description": "GRPC routing information for the route.\n" - }, - "http2Routes": { + "targets": { "type": "array", "items": { - "$ref": "#/types/aws:appmesh/getRouteSpecHttp2Route:getRouteSpecHttp2Route" - }, - "description": "HTTP/2 routing information for the route.\n" + "$ref": "#/types/aws:appmesh/getGatewayRouteSpecGrpcRouteActionTarget:getGatewayRouteSpecGrpcRouteActionTarget" + } + } + }, + "type": "object", + "required": [ + "targets" + ], + "language": { + "nodejs": { + "requiredInputs": [] + } + } + }, + "aws:appmesh/getGatewayRouteSpecGrpcRouteActionTarget:getGatewayRouteSpecGrpcRouteActionTarget": { + "properties": { + "port": { + "type": "integer" }, - "httpRoutes": { + "virtualServices": { "type": "array", "items": { - "$ref": "#/types/aws:appmesh/getRouteSpecHttpRoute:getRouteSpecHttpRoute" - }, - "description": "HTTP routing information for the route.\n" - }, - "priority": { - "type": "integer", - "description": "Priority for the route, between `0` and `1000`.\n" + "$ref": "#/types/aws:appmesh/getGatewayRouteSpecGrpcRouteActionTargetVirtualService:getGatewayRouteSpecGrpcRouteActionTargetVirtualService" + } + } + }, + "type": "object", + "required": [ + "port", + "virtualServices" + ], + "language": { + "nodejs": { + "requiredInputs": [] + } + } + }, + "aws:appmesh/getGatewayRouteSpecGrpcRouteActionTargetVirtualService:getGatewayRouteSpecGrpcRouteActionTargetVirtualService": { + "properties": { + "virtualServiceName": { + "type": "string" + } + }, + "type": "object", + "required": [ + "virtualServiceName" + ], + "language": { + "nodejs": { + "requiredInputs": [] + } + } + }, + "aws:appmesh/getGatewayRouteSpecGrpcRouteMatch:getGatewayRouteSpecGrpcRouteMatch": { + "properties": { + "port": { + "type": "integer" }, - "tcpRoutes": { - "type": "array", - "items": { - "$ref": "#/types/aws:appmesh/getRouteSpecTcpRoute:getRouteSpecTcpRoute" - }, - "description": "TCP routing information for the route.\n" + "serviceName": { + "type": "string" } }, "type": "object", "required": [ - "grpcRoutes", - "http2Routes", - "httpRoutes", - "priority", - "tcpRoutes" + "port", + "serviceName" ], "language": { "nodejs": { @@ -9806,43 +10212,51 @@ } } }, - "aws:appmesh/getRouteSpecGrpcRoute:getRouteSpecGrpcRoute": { + "aws:appmesh/getGatewayRouteSpecHttp2Route:getGatewayRouteSpecHttp2Route": { "properties": { "actions": { "type": "array", "items": { - "$ref": "#/types/aws:appmesh/getRouteSpecGrpcRouteAction:getRouteSpecGrpcRouteAction" - }, - "description": "Action to take if a match is determined.\n" + "$ref": "#/types/aws:appmesh/getGatewayRouteSpecHttp2RouteAction:getGatewayRouteSpecHttp2RouteAction" + } }, "matches": { "type": "array", "items": { - "$ref": "#/types/aws:appmesh/getRouteSpecGrpcRouteMatch:getRouteSpecGrpcRouteMatch" - }, - "description": "Criteria for determining an HTTP request match.\n" - }, - "retryPolicies": { + "$ref": "#/types/aws:appmesh/getGatewayRouteSpecHttp2RouteMatch:getGatewayRouteSpecHttp2RouteMatch" + } + } + }, + "type": "object", + "required": [ + "actions", + "matches" + ], + "language": { + "nodejs": { + "requiredInputs": [] + } + } + }, + "aws:appmesh/getGatewayRouteSpecHttp2RouteAction:getGatewayRouteSpecHttp2RouteAction": { + "properties": { + "rewrites": { "type": "array", "items": { - "$ref": "#/types/aws:appmesh/getRouteSpecGrpcRouteRetryPolicy:getRouteSpecGrpcRouteRetryPolicy" - }, - "description": "Retry policy.\n" + "$ref": "#/types/aws:appmesh/getGatewayRouteSpecHttp2RouteActionRewrite:getGatewayRouteSpecHttp2RouteActionRewrite" + } }, - "timeouts": { + "targets": { "type": "array", "items": { - "$ref": "#/types/aws:appmesh/getRouteSpecGrpcRouteTimeout:getRouteSpecGrpcRouteTimeout" - }, - "description": "Types of timeouts.\n" + "$ref": "#/types/aws:appmesh/getGatewayRouteSpecHttp2RouteActionTarget:getGatewayRouteSpecHttp2RouteActionTarget" + } } }, "type": "object", "required": [ - "actions", - "matches", - "retryPolicies", - "timeouts" + "rewrites", + "targets" ], "language": { "nodejs": { @@ -9850,18 +10264,25 @@ } } }, - "aws:appmesh/getRouteSpecGrpcRouteAction:getRouteSpecGrpcRouteAction": { + "aws:appmesh/getGatewayRouteSpecHttp2RouteActionRewrite:getGatewayRouteSpecHttp2RouteActionRewrite": { "properties": { - "weightedTargets": { + "hostnames": { "type": "array", "items": { - "$ref": "#/types/aws:appmesh/getRouteSpecGrpcRouteActionWeightedTarget:getRouteSpecGrpcRouteActionWeightedTarget" + "$ref": "#/types/aws:appmesh/getGatewayRouteSpecHttp2RouteActionRewriteHostname:getGatewayRouteSpecHttp2RouteActionRewriteHostname" + } + }, + "prefixes": { + "type": "array", + "items": { + "$ref": "#/types/aws:appmesh/getGatewayRouteSpecHttp2RouteActionRewritePrefix:getGatewayRouteSpecHttp2RouteActionRewritePrefix" } } }, "type": "object", "required": [ - "weightedTargets" + "hostnames", + "prefixes" ], "language": { "nodejs": { @@ -9869,23 +10290,58 @@ } } }, - "aws:appmesh/getRouteSpecGrpcRouteActionWeightedTarget:getRouteSpecGrpcRouteActionWeightedTarget": { + "aws:appmesh/getGatewayRouteSpecHttp2RouteActionRewriteHostname:getGatewayRouteSpecHttp2RouteActionRewriteHostname": { "properties": { - "port": { - "type": "integer" - }, - "virtualNode": { + "defaultTargetHostname": { + "type": "string" + } + }, + "type": "object", + "required": [ + "defaultTargetHostname" + ], + "language": { + "nodejs": { + "requiredInputs": [] + } + } + }, + "aws:appmesh/getGatewayRouteSpecHttp2RouteActionRewritePrefix:getGatewayRouteSpecHttp2RouteActionRewritePrefix": { + "properties": { + "defaultPrefix": { "type": "string" }, - "weight": { + "value": { + "type": "string" + } + }, + "type": "object", + "required": [ + "defaultPrefix", + "value" + ], + "language": { + "nodejs": { + "requiredInputs": [] + } + } + }, + "aws:appmesh/getGatewayRouteSpecHttp2RouteActionTarget:getGatewayRouteSpecHttp2RouteActionTarget": { + "properties": { + "port": { "type": "integer" + }, + "virtualServices": { + "type": "array", + "items": { + "$ref": "#/types/aws:appmesh/getGatewayRouteSpecHttp2RouteActionTargetVirtualService:getGatewayRouteSpecHttp2RouteActionTargetVirtualService" + } } }, "type": "object", "required": [ "port", - "virtualNode", - "weight" + "virtualServices" ], "language": { "nodejs": { @@ -9893,16 +10349,41 @@ } } }, - "aws:appmesh/getRouteSpecGrpcRouteMatch:getRouteSpecGrpcRouteMatch": { + "aws:appmesh/getGatewayRouteSpecHttp2RouteActionTargetVirtualService:getGatewayRouteSpecHttp2RouteActionTargetVirtualService": { "properties": { - "metadatas": { + "virtualServiceName": { + "type": "string" + } + }, + "type": "object", + "required": [ + "virtualServiceName" + ], + "language": { + "nodejs": { + "requiredInputs": [] + } + } + }, + "aws:appmesh/getGatewayRouteSpecHttp2RouteMatch:getGatewayRouteSpecHttp2RouteMatch": { + "properties": { + "headers": { "type": "array", "items": { - "$ref": "#/types/aws:appmesh/getRouteSpecGrpcRouteMatchMetadata:getRouteSpecGrpcRouteMatchMetadata" + "$ref": "#/types/aws:appmesh/getGatewayRouteSpecHttp2RouteMatchHeader:getGatewayRouteSpecHttp2RouteMatchHeader" } }, - "methodName": { - "type": "string" + "hostnames": { + "type": "array", + "items": { + "$ref": "#/types/aws:appmesh/getGatewayRouteSpecHttp2RouteMatchHostname:getGatewayRouteSpecHttp2RouteMatchHostname" + } + }, + "paths": { + "type": "array", + "items": { + "$ref": "#/types/aws:appmesh/getGatewayRouteSpecHttp2RouteMatchPath:getGatewayRouteSpecHttp2RouteMatchPath" + } }, "port": { "type": "integer" @@ -9910,17 +10391,21 @@ "prefix": { "type": "string" }, - "serviceName": { - "type": "string" + "queryParameters": { + "type": "array", + "items": { + "$ref": "#/types/aws:appmesh/getGatewayRouteSpecHttp2RouteMatchQueryParameter:getGatewayRouteSpecHttp2RouteMatchQueryParameter" + } } }, "type": "object", "required": [ - "metadatas", - "methodName", + "headers", + "hostnames", + "paths", "port", "prefix", - "serviceName" + "queryParameters" ], "language": { "nodejs": { @@ -9928,7 +10413,7 @@ } } }, - "aws:appmesh/getRouteSpecGrpcRouteMatchMetadata:getRouteSpecGrpcRouteMatchMetadata": { + "aws:appmesh/getGatewayRouteSpecHttp2RouteMatchHeader:getGatewayRouteSpecHttp2RouteMatchHeader": { "properties": { "invert": { "type": "boolean" @@ -9936,13 +10421,12 @@ "matches": { "type": "array", "items": { - "$ref": "#/types/aws:appmesh/getRouteSpecGrpcRouteMatchMetadataMatch:getRouteSpecGrpcRouteMatchMetadataMatch" - }, - "description": "Criteria for determining an HTTP request match.\n" + "$ref": "#/types/aws:appmesh/getGatewayRouteSpecHttp2RouteMatchHeaderMatch:getGatewayRouteSpecHttp2RouteMatchHeaderMatch" + } }, "name": { "type": "string", - "description": "Name of the route.\n" + "description": "Name of the gateway route.\n" } }, "type": "object", @@ -9957,7 +10441,7 @@ } } }, - "aws:appmesh/getRouteSpecGrpcRouteMatchMetadataMatch:getRouteSpecGrpcRouteMatchMetadataMatch": { + "aws:appmesh/getGatewayRouteSpecHttp2RouteMatchHeaderMatch:getGatewayRouteSpecHttp2RouteMatchHeaderMatch": { "properties": { "exact": { "type": "string" @@ -9968,7 +10452,731 @@ "ranges": { "type": "array", "items": { - "$ref": "#/types/aws:appmesh/getRouteSpecGrpcRouteMatchMetadataMatchRange:getRouteSpecGrpcRouteMatchMetadataMatchRange" + "$ref": "#/types/aws:appmesh/getGatewayRouteSpecHttp2RouteMatchHeaderMatchRange:getGatewayRouteSpecHttp2RouteMatchHeaderMatchRange" + } + }, + "regex": { + "type": "string" + }, + "suffix": { + "type": "string" + } + }, + "type": "object", + "required": [ + "exact", + "prefix", + "ranges", + "regex", + "suffix" + ], + "language": { + "nodejs": { + "requiredInputs": [] + } + } + }, + "aws:appmesh/getGatewayRouteSpecHttp2RouteMatchHeaderMatchRange:getGatewayRouteSpecHttp2RouteMatchHeaderMatchRange": { + "properties": { + "end": { + "type": "integer" + }, + "start": { + "type": "integer" + } + }, + "type": "object", + "required": [ + "end", + "start" + ], + "language": { + "nodejs": { + "requiredInputs": [] + } + } + }, + "aws:appmesh/getGatewayRouteSpecHttp2RouteMatchHostname:getGatewayRouteSpecHttp2RouteMatchHostname": { + "properties": { + "exact": { + "type": "string" + }, + "suffix": { + "type": "string" + } + }, + "type": "object", + "required": [ + "exact", + "suffix" + ], + "language": { + "nodejs": { + "requiredInputs": [] + } + } + }, + "aws:appmesh/getGatewayRouteSpecHttp2RouteMatchPath:getGatewayRouteSpecHttp2RouteMatchPath": { + "properties": { + "exact": { + "type": "string" + }, + "regex": { + "type": "string" + } + }, + "type": "object", + "required": [ + "exact", + "regex" + ], + "language": { + "nodejs": { + "requiredInputs": [] + } + } + }, + "aws:appmesh/getGatewayRouteSpecHttp2RouteMatchQueryParameter:getGatewayRouteSpecHttp2RouteMatchQueryParameter": { + "properties": { + "matches": { + "type": "array", + "items": { + "$ref": "#/types/aws:appmesh/getGatewayRouteSpecHttp2RouteMatchQueryParameterMatch:getGatewayRouteSpecHttp2RouteMatchQueryParameterMatch" + } + }, + "name": { + "type": "string", + "description": "Name of the gateway route.\n" + } + }, + "type": "object", + "required": [ + "matches", + "name" + ], + "language": { + "nodejs": { + "requiredInputs": [] + } + } + }, + "aws:appmesh/getGatewayRouteSpecHttp2RouteMatchQueryParameterMatch:getGatewayRouteSpecHttp2RouteMatchQueryParameterMatch": { + "properties": { + "exact": { + "type": "string" + } + }, + "type": "object", + "required": [ + "exact" + ], + "language": { + "nodejs": { + "requiredInputs": [] + } + } + }, + "aws:appmesh/getGatewayRouteSpecHttpRoute:getGatewayRouteSpecHttpRoute": { + "properties": { + "actions": { + "type": "array", + "items": { + "$ref": "#/types/aws:appmesh/getGatewayRouteSpecHttpRouteAction:getGatewayRouteSpecHttpRouteAction" + } + }, + "matches": { + "type": "array", + "items": { + "$ref": "#/types/aws:appmesh/getGatewayRouteSpecHttpRouteMatch:getGatewayRouteSpecHttpRouteMatch" + } + } + }, + "type": "object", + "required": [ + "actions", + "matches" + ], + "language": { + "nodejs": { + "requiredInputs": [] + } + } + }, + "aws:appmesh/getGatewayRouteSpecHttpRouteAction:getGatewayRouteSpecHttpRouteAction": { + "properties": { + "rewrites": { + "type": "array", + "items": { + "$ref": "#/types/aws:appmesh/getGatewayRouteSpecHttpRouteActionRewrite:getGatewayRouteSpecHttpRouteActionRewrite" + } + }, + "targets": { + "type": "array", + "items": { + "$ref": "#/types/aws:appmesh/getGatewayRouteSpecHttpRouteActionTarget:getGatewayRouteSpecHttpRouteActionTarget" + } + } + }, + "type": "object", + "required": [ + "rewrites", + "targets" + ], + "language": { + "nodejs": { + "requiredInputs": [] + } + } + }, + "aws:appmesh/getGatewayRouteSpecHttpRouteActionRewrite:getGatewayRouteSpecHttpRouteActionRewrite": { + "properties": { + "hostnames": { + "type": "array", + "items": { + "$ref": "#/types/aws:appmesh/getGatewayRouteSpecHttpRouteActionRewriteHostname:getGatewayRouteSpecHttpRouteActionRewriteHostname" + } + }, + "prefixes": { + "type": "array", + "items": { + "$ref": "#/types/aws:appmesh/getGatewayRouteSpecHttpRouteActionRewritePrefix:getGatewayRouteSpecHttpRouteActionRewritePrefix" + } + } + }, + "type": "object", + "required": [ + "hostnames", + "prefixes" + ], + "language": { + "nodejs": { + "requiredInputs": [] + } + } + }, + "aws:appmesh/getGatewayRouteSpecHttpRouteActionRewriteHostname:getGatewayRouteSpecHttpRouteActionRewriteHostname": { + "properties": { + "defaultTargetHostname": { + "type": "string" + } + }, + "type": "object", + "required": [ + "defaultTargetHostname" + ], + "language": { + "nodejs": { + "requiredInputs": [] + } + } + }, + "aws:appmesh/getGatewayRouteSpecHttpRouteActionRewritePrefix:getGatewayRouteSpecHttpRouteActionRewritePrefix": { + "properties": { + "defaultPrefix": { + "type": "string" + }, + "value": { + "type": "string" + } + }, + "type": "object", + "required": [ + "defaultPrefix", + "value" + ], + "language": { + "nodejs": { + "requiredInputs": [] + } + } + }, + "aws:appmesh/getGatewayRouteSpecHttpRouteActionTarget:getGatewayRouteSpecHttpRouteActionTarget": { + "properties": { + "port": { + "type": "integer" + }, + "virtualServices": { + "type": "array", + "items": { + "$ref": "#/types/aws:appmesh/getGatewayRouteSpecHttpRouteActionTargetVirtualService:getGatewayRouteSpecHttpRouteActionTargetVirtualService" + } + } + }, + "type": "object", + "required": [ + "port", + "virtualServices" + ], + "language": { + "nodejs": { + "requiredInputs": [] + } + } + }, + "aws:appmesh/getGatewayRouteSpecHttpRouteActionTargetVirtualService:getGatewayRouteSpecHttpRouteActionTargetVirtualService": { + "properties": { + "virtualServiceName": { + "type": "string" + } + }, + "type": "object", + "required": [ + "virtualServiceName" + ], + "language": { + "nodejs": { + "requiredInputs": [] + } + } + }, + "aws:appmesh/getGatewayRouteSpecHttpRouteMatch:getGatewayRouteSpecHttpRouteMatch": { + "properties": { + "headers": { + "type": "array", + "items": { + "$ref": "#/types/aws:appmesh/getGatewayRouteSpecHttpRouteMatchHeader:getGatewayRouteSpecHttpRouteMatchHeader" + } + }, + "hostnames": { + "type": "array", + "items": { + "$ref": "#/types/aws:appmesh/getGatewayRouteSpecHttpRouteMatchHostname:getGatewayRouteSpecHttpRouteMatchHostname" + } + }, + "paths": { + "type": "array", + "items": { + "$ref": "#/types/aws:appmesh/getGatewayRouteSpecHttpRouteMatchPath:getGatewayRouteSpecHttpRouteMatchPath" + } + }, + "port": { + "type": "integer" + }, + "prefix": { + "type": "string" + }, + "queryParameters": { + "type": "array", + "items": { + "$ref": "#/types/aws:appmesh/getGatewayRouteSpecHttpRouteMatchQueryParameter:getGatewayRouteSpecHttpRouteMatchQueryParameter" + } + } + }, + "type": "object", + "required": [ + "headers", + "hostnames", + "paths", + "port", + "prefix", + "queryParameters" + ], + "language": { + "nodejs": { + "requiredInputs": [] + } + } + }, + "aws:appmesh/getGatewayRouteSpecHttpRouteMatchHeader:getGatewayRouteSpecHttpRouteMatchHeader": { + "properties": { + "invert": { + "type": "boolean" + }, + "matches": { + "type": "array", + "items": { + "$ref": "#/types/aws:appmesh/getGatewayRouteSpecHttpRouteMatchHeaderMatch:getGatewayRouteSpecHttpRouteMatchHeaderMatch" + } + }, + "name": { + "type": "string", + "description": "Name of the gateway route.\n" + } + }, + "type": "object", + "required": [ + "invert", + "matches", + "name" + ], + "language": { + "nodejs": { + "requiredInputs": [] + } + } + }, + "aws:appmesh/getGatewayRouteSpecHttpRouteMatchHeaderMatch:getGatewayRouteSpecHttpRouteMatchHeaderMatch": { + "properties": { + "exact": { + "type": "string" + }, + "prefix": { + "type": "string" + }, + "ranges": { + "type": "array", + "items": { + "$ref": "#/types/aws:appmesh/getGatewayRouteSpecHttpRouteMatchHeaderMatchRange:getGatewayRouteSpecHttpRouteMatchHeaderMatchRange" + } + }, + "regex": { + "type": "string" + }, + "suffix": { + "type": "string" + } + }, + "type": "object", + "required": [ + "exact", + "prefix", + "ranges", + "regex", + "suffix" + ], + "language": { + "nodejs": { + "requiredInputs": [] + } + } + }, + "aws:appmesh/getGatewayRouteSpecHttpRouteMatchHeaderMatchRange:getGatewayRouteSpecHttpRouteMatchHeaderMatchRange": { + "properties": { + "end": { + "type": "integer" + }, + "start": { + "type": "integer" + } + }, + "type": "object", + "required": [ + "end", + "start" + ], + "language": { + "nodejs": { + "requiredInputs": [] + } + } + }, + "aws:appmesh/getGatewayRouteSpecHttpRouteMatchHostname:getGatewayRouteSpecHttpRouteMatchHostname": { + "properties": { + "exact": { + "type": "string" + }, + "suffix": { + "type": "string" + } + }, + "type": "object", + "required": [ + "exact", + "suffix" + ], + "language": { + "nodejs": { + "requiredInputs": [] + } + } + }, + "aws:appmesh/getGatewayRouteSpecHttpRouteMatchPath:getGatewayRouteSpecHttpRouteMatchPath": { + "properties": { + "exact": { + "type": "string" + }, + "regex": { + "type": "string" + } + }, + "type": "object", + "required": [ + "exact", + "regex" + ], + "language": { + "nodejs": { + "requiredInputs": [] + } + } + }, + "aws:appmesh/getGatewayRouteSpecHttpRouteMatchQueryParameter:getGatewayRouteSpecHttpRouteMatchQueryParameter": { + "properties": { + "matches": { + "type": "array", + "items": { + "$ref": "#/types/aws:appmesh/getGatewayRouteSpecHttpRouteMatchQueryParameterMatch:getGatewayRouteSpecHttpRouteMatchQueryParameterMatch" + } + }, + "name": { + "type": "string", + "description": "Name of the gateway route.\n" + } + }, + "type": "object", + "required": [ + "matches", + "name" + ], + "language": { + "nodejs": { + "requiredInputs": [] + } + } + }, + "aws:appmesh/getGatewayRouteSpecHttpRouteMatchQueryParameterMatch:getGatewayRouteSpecHttpRouteMatchQueryParameterMatch": { + "properties": { + "exact": { + "type": "string" + } + }, + "type": "object", + "required": [ + "exact" + ], + "language": { + "nodejs": { + "requiredInputs": [] + } + } + }, + "aws:appmesh/getMeshSpec:getMeshSpec": { + "properties": { + "egressFilters": { + "type": "array", + "items": { + "$ref": "#/types/aws:appmesh/getMeshSpecEgressFilter:getMeshSpecEgressFilter" + } + } + }, + "type": "object", + "required": [ + "egressFilters" + ], + "language": { + "nodejs": { + "requiredInputs": [] + } + } + }, + "aws:appmesh/getMeshSpecEgressFilter:getMeshSpecEgressFilter": { + "properties": { + "type": { + "type": "string" + } + }, + "type": "object", + "required": [ + "type" + ], + "language": { + "nodejs": { + "requiredInputs": [] + } + } + }, + "aws:appmesh/getRouteSpec:getRouteSpec": { + "properties": { + "grpcRoutes": { + "type": "array", + "items": { + "$ref": "#/types/aws:appmesh/getRouteSpecGrpcRoute:getRouteSpecGrpcRoute" + } + }, + "http2Routes": { + "type": "array", + "items": { + "$ref": "#/types/aws:appmesh/getRouteSpecHttp2Route:getRouteSpecHttp2Route" + } + }, + "httpRoutes": { + "type": "array", + "items": { + "$ref": "#/types/aws:appmesh/getRouteSpecHttpRoute:getRouteSpecHttpRoute" + } + }, + "priority": { + "type": "integer" + }, + "tcpRoutes": { + "type": "array", + "items": { + "$ref": "#/types/aws:appmesh/getRouteSpecTcpRoute:getRouteSpecTcpRoute" + } + } + }, + "type": "object", + "required": [ + "grpcRoutes", + "http2Routes", + "httpRoutes", + "priority", + "tcpRoutes" + ], + "language": { + "nodejs": { + "requiredInputs": [] + } + } + }, + "aws:appmesh/getRouteSpecGrpcRoute:getRouteSpecGrpcRoute": { + "properties": { + "actions": { + "type": "array", + "items": { + "$ref": "#/types/aws:appmesh/getRouteSpecGrpcRouteAction:getRouteSpecGrpcRouteAction" + } + }, + "matches": { + "type": "array", + "items": { + "$ref": "#/types/aws:appmesh/getRouteSpecGrpcRouteMatch:getRouteSpecGrpcRouteMatch" + } + }, + "retryPolicies": { + "type": "array", + "items": { + "$ref": "#/types/aws:appmesh/getRouteSpecGrpcRouteRetryPolicy:getRouteSpecGrpcRouteRetryPolicy" + } + }, + "timeouts": { + "type": "array", + "items": { + "$ref": "#/types/aws:appmesh/getRouteSpecGrpcRouteTimeout:getRouteSpecGrpcRouteTimeout" + } + } + }, + "type": "object", + "required": [ + "actions", + "matches", + "retryPolicies", + "timeouts" + ], + "language": { + "nodejs": { + "requiredInputs": [] + } + } + }, + "aws:appmesh/getRouteSpecGrpcRouteAction:getRouteSpecGrpcRouteAction": { + "properties": { + "weightedTargets": { + "type": "array", + "items": { + "$ref": "#/types/aws:appmesh/getRouteSpecGrpcRouteActionWeightedTarget:getRouteSpecGrpcRouteActionWeightedTarget" + } + } + }, + "type": "object", + "required": [ + "weightedTargets" + ], + "language": { + "nodejs": { + "requiredInputs": [] + } + } + }, + "aws:appmesh/getRouteSpecGrpcRouteActionWeightedTarget:getRouteSpecGrpcRouteActionWeightedTarget": { + "properties": { + "port": { + "type": "integer" + }, + "virtualNode": { + "type": "string" + }, + "weight": { + "type": "integer" + } + }, + "type": "object", + "required": [ + "port", + "virtualNode", + "weight" + ], + "language": { + "nodejs": { + "requiredInputs": [] + } + } + }, + "aws:appmesh/getRouteSpecGrpcRouteMatch:getRouteSpecGrpcRouteMatch": { + "properties": { + "metadatas": { + "type": "array", + "items": { + "$ref": "#/types/aws:appmesh/getRouteSpecGrpcRouteMatchMetadata:getRouteSpecGrpcRouteMatchMetadata" + } + }, + "methodName": { + "type": "string" + }, + "port": { + "type": "integer" + }, + "prefix": { + "type": "string" + }, + "serviceName": { + "type": "string" + } + }, + "type": "object", + "required": [ + "metadatas", + "methodName", + "port", + "prefix", + "serviceName" + ], + "language": { + "nodejs": { + "requiredInputs": [] + } + } + }, + "aws:appmesh/getRouteSpecGrpcRouteMatchMetadata:getRouteSpecGrpcRouteMatchMetadata": { + "properties": { + "invert": { + "type": "boolean" + }, + "matches": { + "type": "array", + "items": { + "$ref": "#/types/aws:appmesh/getRouteSpecGrpcRouteMatchMetadataMatch:getRouteSpecGrpcRouteMatchMetadataMatch" + } + }, + "name": { + "type": "string", + "description": "Name of the route.\n" + } + }, + "type": "object", + "required": [ + "invert", + "matches", + "name" + ], + "language": { + "nodejs": { + "requiredInputs": [] + } + } + }, + "aws:appmesh/getRouteSpecGrpcRouteMatchMetadataMatch:getRouteSpecGrpcRouteMatchMetadataMatch": { + "properties": { + "exact": { + "type": "string" + }, + "prefix": { + "type": "string" + }, + "ranges": { + "type": "array", + "items": { + "$ref": "#/types/aws:appmesh/getRouteSpecGrpcRouteMatchMetadataMatchRange:getRouteSpecGrpcRouteMatchMetadataMatchRange" } }, "regex": { @@ -10148,29 +11356,25 @@ "type": "array", "items": { "$ref": "#/types/aws:appmesh/getRouteSpecHttp2RouteAction:getRouteSpecHttp2RouteAction" - }, - "description": "Action to take if a match is determined.\n" + } }, "matches": { "type": "array", "items": { "$ref": "#/types/aws:appmesh/getRouteSpecHttp2RouteMatch:getRouteSpecHttp2RouteMatch" - }, - "description": "Criteria for determining an HTTP request match.\n" + } }, "retryPolicies": { "type": "array", "items": { "$ref": "#/types/aws:appmesh/getRouteSpecHttp2RouteRetryPolicy:getRouteSpecHttp2RouteRetryPolicy" - }, - "description": "Retry policy.\n" + } }, "timeouts": { "type": "array", "items": { "$ref": "#/types/aws:appmesh/getRouteSpecHttp2RouteTimeout:getRouteSpecHttp2RouteTimeout" - }, - "description": "Types of timeouts.\n" + } } }, "type": "object", @@ -10240,12 +11444,24 @@ "method": { "type": "string" }, + "paths": { + "type": "array", + "items": { + "$ref": "#/types/aws:appmesh/getRouteSpecHttp2RouteMatchPath:getRouteSpecHttp2RouteMatchPath" + } + }, "port": { "type": "integer" }, "prefix": { "type": "string" }, + "queryParameters": { + "type": "array", + "items": { + "$ref": "#/types/aws:appmesh/getRouteSpecHttp2RouteMatchQueryParameter:getRouteSpecHttp2RouteMatchQueryParameter" + } + }, "scheme": { "type": "string" } @@ -10254,8 +11470,10 @@ "required": [ "headers", "method", + "paths", "port", "prefix", + "queryParameters", "scheme" ], "language": { @@ -10273,8 +11491,7 @@ "type": "array", "items": { "$ref": "#/types/aws:appmesh/getRouteSpecHttp2RouteMatchHeaderMatch:getRouteSpecHttp2RouteMatchHeaderMatch" - }, - "description": "Criteria for determining an HTTP request match.\n" + } }, "name": { "type": "string", @@ -10348,6 +11565,66 @@ } } }, + "aws:appmesh/getRouteSpecHttp2RouteMatchPath:getRouteSpecHttp2RouteMatchPath": { + "properties": { + "exact": { + "type": "string" + }, + "regex": { + "type": "string" + } + }, + "type": "object", + "required": [ + "exact", + "regex" + ], + "language": { + "nodejs": { + "requiredInputs": [] + } + } + }, + "aws:appmesh/getRouteSpecHttp2RouteMatchQueryParameter:getRouteSpecHttp2RouteMatchQueryParameter": { + "properties": { + "matches": { + "type": "array", + "items": { + "$ref": "#/types/aws:appmesh/getRouteSpecHttp2RouteMatchQueryParameterMatch:getRouteSpecHttp2RouteMatchQueryParameterMatch" + } + }, + "name": { + "type": "string", + "description": "Name of the route.\n" + } + }, + "type": "object", + "required": [ + "matches", + "name" + ], + "language": { + "nodejs": { + "requiredInputs": [] + } + } + }, + "aws:appmesh/getRouteSpecHttp2RouteMatchQueryParameterMatch:getRouteSpecHttp2RouteMatchQueryParameterMatch": { + "properties": { + "exact": { + "type": "string" + } + }, + "type": "object", + "required": [ + "exact" + ], + "language": { + "nodejs": { + "requiredInputs": [] + } + } + }, "aws:appmesh/getRouteSpecHttp2RouteRetryPolicy:getRouteSpecHttp2RouteRetryPolicy": { "properties": { "httpRetryEvents": { @@ -10477,29 +11754,25 @@ "type": "array", "items": { "$ref": "#/types/aws:appmesh/getRouteSpecHttpRouteAction:getRouteSpecHttpRouteAction" - }, - "description": "Action to take if a match is determined.\n" + } }, "matches": { "type": "array", "items": { "$ref": "#/types/aws:appmesh/getRouteSpecHttpRouteMatch:getRouteSpecHttpRouteMatch" - }, - "description": "Criteria for determining an HTTP request match.\n" + } }, "retryPolicies": { "type": "array", "items": { "$ref": "#/types/aws:appmesh/getRouteSpecHttpRouteRetryPolicy:getRouteSpecHttpRouteRetryPolicy" - }, - "description": "Retry policy.\n" + } }, "timeouts": { "type": "array", "items": { "$ref": "#/types/aws:appmesh/getRouteSpecHttpRouteTimeout:getRouteSpecHttpRouteTimeout" - }, - "description": "Types of timeouts.\n" + } } }, "type": "object", @@ -10569,12 +11842,24 @@ "method": { "type": "string" }, + "paths": { + "type": "array", + "items": { + "$ref": "#/types/aws:appmesh/getRouteSpecHttpRouteMatchPath:getRouteSpecHttpRouteMatchPath" + } + }, "port": { "type": "integer" }, "prefix": { "type": "string" }, + "queryParameters": { + "type": "array", + "items": { + "$ref": "#/types/aws:appmesh/getRouteSpecHttpRouteMatchQueryParameter:getRouteSpecHttpRouteMatchQueryParameter" + } + }, "scheme": { "type": "string" } @@ -10583,8 +11868,10 @@ "required": [ "headers", "method", + "paths", "port", "prefix", + "queryParameters", "scheme" ], "language": { @@ -10602,8 +11889,7 @@ "type": "array", "items": { "$ref": "#/types/aws:appmesh/getRouteSpecHttpRouteMatchHeaderMatch:getRouteSpecHttpRouteMatchHeaderMatch" - }, - "description": "Criteria for determining an HTTP request match.\n" + } }, "name": { "type": "string", @@ -10677,6 +11963,66 @@ } } }, + "aws:appmesh/getRouteSpecHttpRouteMatchPath:getRouteSpecHttpRouteMatchPath": { + "properties": { + "exact": { + "type": "string" + }, + "regex": { + "type": "string" + } + }, + "type": "object", + "required": [ + "exact", + "regex" + ], + "language": { + "nodejs": { + "requiredInputs": [] + } + } + }, + "aws:appmesh/getRouteSpecHttpRouteMatchQueryParameter:getRouteSpecHttpRouteMatchQueryParameter": { + "properties": { + "matches": { + "type": "array", + "items": { + "$ref": "#/types/aws:appmesh/getRouteSpecHttpRouteMatchQueryParameterMatch:getRouteSpecHttpRouteMatchQueryParameterMatch" + } + }, + "name": { + "type": "string", + "description": "Name of the route.\n" + } + }, + "type": "object", + "required": [ + "matches", + "name" + ], + "language": { + "nodejs": { + "requiredInputs": [] + } + } + }, + "aws:appmesh/getRouteSpecHttpRouteMatchQueryParameterMatch:getRouteSpecHttpRouteMatchQueryParameterMatch": { + "properties": { + "exact": { + "type": "string" + } + }, + "type": "object", + "required": [ + "exact" + ], + "language": { + "nodejs": { + "requiredInputs": [] + } + } + }, "aws:appmesh/getRouteSpecHttpRouteRetryPolicy:getRouteSpecHttpRouteRetryPolicy": { "properties": { "httpRetryEvents": { @@ -10806,22 +12152,19 @@ "type": "array", "items": { "$ref": "#/types/aws:appmesh/getRouteSpecTcpRouteAction:getRouteSpecTcpRouteAction" - }, - "description": "Action to take if a match is determined.\n" + } }, "matches": { "type": "array", "items": { "$ref": "#/types/aws:appmesh/getRouteSpecTcpRouteMatch:getRouteSpecTcpRouteMatch" - }, - "description": "Criteria for determining an HTTP request match.\n" + } }, "timeouts": { "type": "array", "items": { "$ref": "#/types/aws:appmesh/getRouteSpecTcpRouteTimeout:getRouteSpecTcpRouteTimeout" - }, - "description": "Types of timeouts.\n" + } } }, "type": "object", @@ -10940,22 +12283,19 @@ "type": "array", "items": { "$ref": "#/types/aws:appmesh/getVirtualGatewaySpecBackendDefault:getVirtualGatewaySpecBackendDefault" - }, - "description": "Defaults for backends.\n" + } }, "listeners": { "type": "array", "items": { "$ref": "#/types/aws:appmesh/getVirtualGatewaySpecListener:getVirtualGatewaySpecListener" - }, - "description": "Listeners that the mesh endpoint is expected to receive inbound traffic from. You can specify one listener.\n" + } }, "loggings": { "type": "array", "items": { "$ref": "#/types/aws:appmesh/getVirtualGatewaySpecLogging:getVirtualGatewaySpecLogging" - }, - "description": "Inbound and outbound access logging information for the virtual gateway.\n" + } } }, "type": "object", @@ -10976,8 +12316,7 @@ "type": "array", "items": { "$ref": "#/types/aws:appmesh/getVirtualGatewaySpecBackendDefaultClientPolicy:getVirtualGatewaySpecBackendDefaultClientPolicy" - }, - "description": "Default client policy for virtual gateway backends.\n" + } } }, "type": "object", @@ -10996,8 +12335,7 @@ "type": "array", "items": { "$ref": "#/types/aws:appmesh/getVirtualGatewaySpecBackendDefaultClientPolicyTl:getVirtualGatewaySpecBackendDefaultClientPolicyTl" - }, - "description": "Transport Layer Security (TLS) properties for the listener\n" + } } }, "type": "object", @@ -11016,26 +12354,22 @@ "type": "array", "items": { "$ref": "#/types/aws:appmesh/getVirtualGatewaySpecBackendDefaultClientPolicyTlCertificate:getVirtualGatewaySpecBackendDefaultClientPolicyTlCertificate" - }, - "description": "Listener's TLS certificate.\n" + } }, "enforce": { - "type": "boolean", - "description": "Whether the policy is enforced. Default is `true`.\n" + "type": "boolean" }, "ports": { "type": "array", "items": { "type": "integer" - }, - "description": "One or more ports that the policy is enforced for.\n" + } }, "validations": { "type": "array", "items": { "$ref": "#/types/aws:appmesh/getVirtualGatewaySpecBackendDefaultClientPolicyTlValidation:getVirtualGatewaySpecBackendDefaultClientPolicyTlValidation" - }, - "description": "Listener's Transport Layer Security (TLS) validation context.\n" + } } }, "type": "object", @@ -11057,15 +12391,13 @@ "type": "array", "items": { "$ref": "#/types/aws:appmesh/getVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateFile:getVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateFile" - }, - "description": "TLS validation context trust for a local file certificate.\n" + } }, "sds": { "type": "array", "items": { "$ref": "#/types/aws:appmesh/getVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateSd:getVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateSd" - }, - "description": "TLS validation context trust for a [Secret Discovery Service](https://www.envoyproxy.io/docs/envoy/latest/configuration/security/secret#secret-discovery-service-sds) certificate.\n" + } } }, "type": "object", @@ -11082,12 +12414,10 @@ "aws:appmesh/getVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateFile:getVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateFile": { "properties": { "certificateChain": { - "type": "string", - "description": "Certificate trust chain for a certificate stored on the file system of the mesh endpoint that the proxy is running on. Must be between 1 and 255 characters in length.\n" + "type": "string" }, "privateKey": { - "type": "string", - "description": "Private key for a certificate stored on the file system of the mesh endpoint that the proxy is running on. Must be between 1 and 255 characters in length.\n" + "type": "string" } }, "type": "object", @@ -11104,8 +12434,7 @@ "aws:appmesh/getVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateSd:getVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateSd": { "properties": { "secretName": { - "type": "string", - "description": "Name of the secret for a virtual gateway's Transport Layer Security (TLS) Secret Discovery Service validation context trust.\n" + "type": "string" } }, "type": "object", @@ -11124,15 +12453,13 @@ "type": "array", "items": { "$ref": "#/types/aws:appmesh/getVirtualGatewaySpecBackendDefaultClientPolicyTlValidationSubjectAlternativeName:getVirtualGatewaySpecBackendDefaultClientPolicyTlValidationSubjectAlternativeName" - }, - "description": "SANs for a virtual gateway's listener's Transport Layer Security (TLS) validation context.\n" + } }, "trusts": { "type": "array", "items": { "$ref": "#/types/aws:appmesh/getVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrust:getVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrust" - }, - "description": "TLS validation context trust.\n" + } } }, "type": "object", @@ -11152,8 +12479,7 @@ "type": "array", "items": { "$ref": "#/types/aws:appmesh/getVirtualGatewaySpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameMatch:getVirtualGatewaySpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameMatch" - }, - "description": "Criteria for determining a SAN's match.\n" + } } }, "type": "object", @@ -11172,8 +12498,7 @@ "type": "array", "items": { "type": "string" - }, - "description": "Values sent must match the specified values exactly.\n" + } } }, "type": "object", @@ -11192,22 +12517,19 @@ "type": "array", "items": { "$ref": "#/types/aws:appmesh/getVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustAcm:getVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustAcm" - }, - "description": "An AWS Certificate Manager (ACM) certificate.\n" + } }, "files": { "type": "array", "items": { "$ref": "#/types/aws:appmesh/getVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustFile:getVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustFile" - }, - "description": "TLS validation context trust for a local file certificate.\n" + } }, "sds": { "type": "array", "items": { "$ref": "#/types/aws:appmesh/getVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustSd:getVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustSd" - }, - "description": "TLS validation context trust for a [Secret Discovery Service](https://www.envoyproxy.io/docs/envoy/latest/configuration/security/secret#secret-discovery-service-sds) certificate.\n" + } } }, "type": "object", @@ -11228,8 +12550,7 @@ "type": "array", "items": { "type": "string" - }, - "description": "One or more ACM ARNs.\n" + } } }, "type": "object", @@ -11245,8 +12566,7 @@ "aws:appmesh/getVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustFile:getVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustFile": { "properties": { "certificateChain": { - "type": "string", - "description": "Certificate trust chain for a certificate stored on the file system of the mesh endpoint that the proxy is running on. Must be between 1 and 255 characters in length.\n" + "type": "string" } }, "type": "object", @@ -11262,8 +12582,7 @@ "aws:appmesh/getVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustSd:getVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustSd": { "properties": { "secretName": { - "type": "string", - "description": "Name of the secret for a virtual gateway's Transport Layer Security (TLS) Secret Discovery Service validation context trust.\n" + "type": "string" } }, "type": "object", @@ -11282,29 +12601,25 @@ "type": "array", "items": { "$ref": "#/types/aws:appmesh/getVirtualGatewaySpecListenerConnectionPool:getVirtualGatewaySpecListenerConnectionPool" - }, - "description": "Connection pool information for the listener.\n" + } }, "healthChecks": { "type": "array", "items": { "$ref": "#/types/aws:appmesh/getVirtualGatewaySpecListenerHealthCheck:getVirtualGatewaySpecListenerHealthCheck" - }, - "description": "Health check information for the listener.\n" + } }, "portMappings": { "type": "array", "items": { "$ref": "#/types/aws:appmesh/getVirtualGatewaySpecListenerPortMapping:getVirtualGatewaySpecListenerPortMapping" - }, - "description": "Port mapping information for the listener.\n" + } }, "tls": { "type": "array", "items": { "$ref": "#/types/aws:appmesh/getVirtualGatewaySpecListenerTl:getVirtualGatewaySpecListenerTl" - }, - "description": "Transport Layer Security (TLS) properties for the listener\n" + } } }, "type": "object", @@ -11326,22 +12641,19 @@ "type": "array", "items": { "$ref": "#/types/aws:appmesh/getVirtualGatewaySpecListenerConnectionPoolGrpc:getVirtualGatewaySpecListenerConnectionPoolGrpc" - }, - "description": "Connection pool information for gRPC listeners.\n" + } }, "http2s": { "type": "array", "items": { "$ref": "#/types/aws:appmesh/getVirtualGatewaySpecListenerConnectionPoolHttp2:getVirtualGatewaySpecListenerConnectionPoolHttp2" - }, - "description": "Connection pool information for HTTP2 listeners.\n" + } }, "https": { "type": "array", "items": { "$ref": "#/types/aws:appmesh/getVirtualGatewaySpecListenerConnectionPoolHttp:getVirtualGatewaySpecListenerConnectionPoolHttp" - }, - "description": "Connection pool information for HTTP listeners.\n" + } } }, "type": "object", @@ -11359,8 +12671,7 @@ "aws:appmesh/getVirtualGatewaySpecListenerConnectionPoolGrpc:getVirtualGatewaySpecListenerConnectionPoolGrpc": { "properties": { "maxRequests": { - "type": "integer", - "description": "Maximum number of inflight requests Envoy can concurrently support across hosts in upstream cluster. Minimum value of `1`.\n" + "type": "integer" } }, "type": "object", @@ -11376,8 +12687,7 @@ "aws:appmesh/getVirtualGatewaySpecListenerConnectionPoolHttp2:getVirtualGatewaySpecListenerConnectionPoolHttp2": { "properties": { "maxRequests": { - "type": "integer", - "description": "Maximum number of inflight requests Envoy can concurrently support across hosts in upstream cluster. Minimum value of `1`.\n" + "type": "integer" } }, "type": "object", @@ -11393,12 +12703,10 @@ "aws:appmesh/getVirtualGatewaySpecListenerConnectionPoolHttp:getVirtualGatewaySpecListenerConnectionPoolHttp": { "properties": { "maxConnections": { - "type": "integer", - "description": "Maximum number of outbound TCP connections Envoy can establish concurrently with all hosts in upstream cluster. Minimum value of `1`.\n" + "type": "integer" }, "maxPendingRequests": { - "type": "integer", - "description": "Number of overflowing requests after `max_connections` Envoy will queue to upstream cluster. Minimum value of `1`.\n" + "type": "integer" } }, "type": "object", @@ -11415,32 +12723,25 @@ "aws:appmesh/getVirtualGatewaySpecListenerHealthCheck:getVirtualGatewaySpecListenerHealthCheck": { "properties": { "healthyThreshold": { - "type": "integer", - "description": "Number of consecutive successful health checks that must occur before declaring listener healthy.\n" + "type": "integer" }, "intervalMillis": { - "type": "integer", - "description": "Time period in milliseconds between each health check execution.\n" + "type": "integer" }, "path": { - "type": "string", - "description": "Destination path for the health check request. This is only required if the specified protocol is `http` or `http2`.\n" + "type": "string" }, "port": { - "type": "integer", - "description": "Destination port for the health check request. This port must match the port defined in the `port_mapping` for the listener.\n" + "type": "integer" }, "protocol": { - "type": "string", - "description": "Protocol for the health check request. Valid values are `http`, `http2`, and `grpc`.\n" + "type": "string" }, "timeoutMillis": { - "type": "integer", - "description": "Amount of time to wait when receiving a response from the health check, in milliseconds.\n" + "type": "integer" }, "unhealthyThreshold": { - "type": "integer", - "description": "Number of consecutive failed health checks that must occur before declaring a virtual gateway unhealthy.\n" + "type": "integer" } }, "type": "object", @@ -11462,12 +12763,10 @@ "aws:appmesh/getVirtualGatewaySpecListenerPortMapping:getVirtualGatewaySpecListenerPortMapping": { "properties": { "port": { - "type": "integer", - "description": "Destination port for the health check request. This port must match the port defined in the `port_mapping` for the listener.\n" + "type": "integer" }, "protocol": { - "type": "string", - "description": "Protocol for the health check request. Valid values are `http`, `http2`, and `grpc`.\n" + "type": "string" } }, "type": "object", @@ -11487,19 +12786,16 @@ "type": "array", "items": { "$ref": "#/types/aws:appmesh/getVirtualGatewaySpecListenerTlCertificate:getVirtualGatewaySpecListenerTlCertificate" - }, - "description": "Listener's TLS certificate.\n" + } }, "mode": { - "type": "string", - "description": "Listener's TLS mode. Valid values: `DISABLED`, `PERMISSIVE`, `STRICT`.\n" + "type": "string" }, "validations": { "type": "array", "items": { "$ref": "#/types/aws:appmesh/getVirtualGatewaySpecListenerTlValidation:getVirtualGatewaySpecListenerTlValidation" - }, - "description": "Listener's Transport Layer Security (TLS) validation context.\n" + } } }, "type": "object", @@ -11520,22 +12816,19 @@ "type": "array", "items": { "$ref": "#/types/aws:appmesh/getVirtualGatewaySpecListenerTlCertificateAcm:getVirtualGatewaySpecListenerTlCertificateAcm" - }, - "description": "An AWS Certificate Manager (ACM) certificate.\n" + } }, "files": { "type": "array", "items": { "$ref": "#/types/aws:appmesh/getVirtualGatewaySpecListenerTlCertificateFile:getVirtualGatewaySpecListenerTlCertificateFile" - }, - "description": "TLS validation context trust for a local file certificate.\n" + } }, "sds": { "type": "array", "items": { "$ref": "#/types/aws:appmesh/getVirtualGatewaySpecListenerTlCertificateSd:getVirtualGatewaySpecListenerTlCertificateSd" - }, - "description": "TLS validation context trust for a [Secret Discovery Service](https://www.envoyproxy.io/docs/envoy/latest/configuration/security/secret#secret-discovery-service-sds) certificate.\n" + } } }, "type": "object", @@ -11553,8 +12846,7 @@ "aws:appmesh/getVirtualGatewaySpecListenerTlCertificateAcm:getVirtualGatewaySpecListenerTlCertificateAcm": { "properties": { "certificateArn": { - "type": "string", - "description": "ARN for the certificate.\n" + "type": "string" } }, "type": "object", @@ -11570,12 +12862,10 @@ "aws:appmesh/getVirtualGatewaySpecListenerTlCertificateFile:getVirtualGatewaySpecListenerTlCertificateFile": { "properties": { "certificateChain": { - "type": "string", - "description": "Certificate trust chain for a certificate stored on the file system of the mesh endpoint that the proxy is running on. Must be between 1 and 255 characters in length.\n" + "type": "string" }, "privateKey": { - "type": "string", - "description": "Private key for a certificate stored on the file system of the mesh endpoint that the proxy is running on. Must be between 1 and 255 characters in length.\n" + "type": "string" } }, "type": "object", @@ -11592,8 +12882,7 @@ "aws:appmesh/getVirtualGatewaySpecListenerTlCertificateSd:getVirtualGatewaySpecListenerTlCertificateSd": { "properties": { "secretName": { - "type": "string", - "description": "Name of the secret for a virtual gateway's Transport Layer Security (TLS) Secret Discovery Service validation context trust.\n" + "type": "string" } }, "type": "object", @@ -11612,15 +12901,13 @@ "type": "array", "items": { "$ref": "#/types/aws:appmesh/getVirtualGatewaySpecListenerTlValidationSubjectAlternativeName:getVirtualGatewaySpecListenerTlValidationSubjectAlternativeName" - }, - "description": "SANs for a virtual gateway's listener's Transport Layer Security (TLS) validation context.\n" + } }, "trusts": { "type": "array", "items": { "$ref": "#/types/aws:appmesh/getVirtualGatewaySpecListenerTlValidationTrust:getVirtualGatewaySpecListenerTlValidationTrust" - }, - "description": "TLS validation context trust.\n" + } } }, "type": "object", @@ -11640,8 +12927,7 @@ "type": "array", "items": { "$ref": "#/types/aws:appmesh/getVirtualGatewaySpecListenerTlValidationSubjectAlternativeNameMatch:getVirtualGatewaySpecListenerTlValidationSubjectAlternativeNameMatch" - }, - "description": "Criteria for determining a SAN's match.\n" + } } }, "type": "object", @@ -11660,8 +12946,7 @@ "type": "array", "items": { "type": "string" - }, - "description": "Values sent must match the specified values exactly.\n" + } } }, "type": "object", @@ -11680,15 +12965,13 @@ "type": "array", "items": { "$ref": "#/types/aws:appmesh/getVirtualGatewaySpecListenerTlValidationTrustFile:getVirtualGatewaySpecListenerTlValidationTrustFile" - }, - "description": "TLS validation context trust for a local file certificate.\n" + } }, "sds": { "type": "array", "items": { "$ref": "#/types/aws:appmesh/getVirtualGatewaySpecListenerTlValidationTrustSd:getVirtualGatewaySpecListenerTlValidationTrustSd" - }, - "description": "TLS validation context trust for a [Secret Discovery Service](https://www.envoyproxy.io/docs/envoy/latest/configuration/security/secret#secret-discovery-service-sds) certificate.\n" + } } }, "type": "object", @@ -11705,8 +12988,7 @@ "aws:appmesh/getVirtualGatewaySpecListenerTlValidationTrustFile:getVirtualGatewaySpecListenerTlValidationTrustFile": { "properties": { "certificateChain": { - "type": "string", - "description": "Certificate trust chain for a certificate stored on the file system of the mesh endpoint that the proxy is running on. Must be between 1 and 255 characters in length.\n" + "type": "string" } }, "type": "object", @@ -11722,8 +13004,7 @@ "aws:appmesh/getVirtualGatewaySpecListenerTlValidationTrustSd:getVirtualGatewaySpecListenerTlValidationTrustSd": { "properties": { "secretName": { - "type": "string", - "description": "Name of the secret for a virtual gateway's Transport Layer Security (TLS) Secret Discovery Service validation context trust.\n" + "type": "string" } }, "type": "object", @@ -11742,8 +13023,7 @@ "type": "array", "items": { "$ref": "#/types/aws:appmesh/getVirtualGatewaySpecLoggingAccessLog:getVirtualGatewaySpecLoggingAccessLog" - }, - "description": "Access log configuration for a virtual gateway.\n" + } } }, "type": "object", @@ -11762,8 +13042,7 @@ "type": "array", "items": { "$ref": "#/types/aws:appmesh/getVirtualGatewaySpecLoggingAccessLogFile:getVirtualGatewaySpecLoggingAccessLogFile" - }, - "description": "TLS validation context trust for a local file certificate.\n" + } } }, "type": "object", @@ -11785,8 +13064,7 @@ } }, "path": { - "type": "string", - "description": "Destination path for the health check request. This is only required if the specified protocol is `http` or `http2`.\n" + "type": "string" } }, "type": "object", @@ -11843,14 +13121,1702 @@ } } }, + "aws:appmesh/getVirtualNodeSpec:getVirtualNodeSpec": { + "properties": { + "backendDefaults": { + "type": "array", + "items": { + "$ref": "#/types/aws:appmesh/getVirtualNodeSpecBackendDefault:getVirtualNodeSpecBackendDefault" + } + }, + "backends": { + "type": "array", + "items": { + "$ref": "#/types/aws:appmesh/getVirtualNodeSpecBackend:getVirtualNodeSpecBackend" + } + }, + "listeners": { + "type": "array", + "items": { + "$ref": "#/types/aws:appmesh/getVirtualNodeSpecListener:getVirtualNodeSpecListener" + } + }, + "loggings": { + "type": "array", + "items": { + "$ref": "#/types/aws:appmesh/getVirtualNodeSpecLogging:getVirtualNodeSpecLogging" + } + }, + "serviceDiscoveries": { + "type": "array", + "items": { + "$ref": "#/types/aws:appmesh/getVirtualNodeSpecServiceDiscovery:getVirtualNodeSpecServiceDiscovery" + } + } + }, + "type": "object", + "required": [ + "backends", + "backendDefaults", + "listeners", + "loggings", + "serviceDiscoveries" + ], + "language": { + "nodejs": { + "requiredInputs": [] + } + } + }, + "aws:appmesh/getVirtualNodeSpecBackend:getVirtualNodeSpecBackend": { + "properties": { + "virtualServices": { + "type": "array", + "items": { + "$ref": "#/types/aws:appmesh/getVirtualNodeSpecBackendVirtualService:getVirtualNodeSpecBackendVirtualService" + } + } + }, + "type": "object", + "required": [ + "virtualServices" + ], + "language": { + "nodejs": { + "requiredInputs": [] + } + } + }, + "aws:appmesh/getVirtualNodeSpecBackendDefault:getVirtualNodeSpecBackendDefault": { + "properties": { + "clientPolicies": { + "type": "array", + "items": { + "$ref": "#/types/aws:appmesh/getVirtualNodeSpecBackendDefaultClientPolicy:getVirtualNodeSpecBackendDefaultClientPolicy" + } + } + }, + "type": "object", + "required": [ + "clientPolicies" + ], + "language": { + "nodejs": { + "requiredInputs": [] + } + } + }, + "aws:appmesh/getVirtualNodeSpecBackendDefaultClientPolicy:getVirtualNodeSpecBackendDefaultClientPolicy": { + "properties": { + "tls": { + "type": "array", + "items": { + "$ref": "#/types/aws:appmesh/getVirtualNodeSpecBackendDefaultClientPolicyTl:getVirtualNodeSpecBackendDefaultClientPolicyTl" + } + } + }, + "type": "object", + "required": [ + "tls" + ], + "language": { + "nodejs": { + "requiredInputs": [] + } + } + }, + "aws:appmesh/getVirtualNodeSpecBackendDefaultClientPolicyTl:getVirtualNodeSpecBackendDefaultClientPolicyTl": { + "properties": { + "certificates": { + "type": "array", + "items": { + "$ref": "#/types/aws:appmesh/getVirtualNodeSpecBackendDefaultClientPolicyTlCertificate:getVirtualNodeSpecBackendDefaultClientPolicyTlCertificate" + } + }, + "enforce": { + "type": "boolean" + }, + "ports": { + "type": "array", + "items": { + "type": "integer" + } + }, + "validations": { + "type": "array", + "items": { + "$ref": "#/types/aws:appmesh/getVirtualNodeSpecBackendDefaultClientPolicyTlValidation:getVirtualNodeSpecBackendDefaultClientPolicyTlValidation" + } + } + }, + "type": "object", + "required": [ + "certificates", + "enforce", + "ports", + "validations" + ], + "language": { + "nodejs": { + "requiredInputs": [] + } + } + }, + "aws:appmesh/getVirtualNodeSpecBackendDefaultClientPolicyTlCertificate:getVirtualNodeSpecBackendDefaultClientPolicyTlCertificate": { + "properties": { + "files": { + "type": "array", + "items": { + "$ref": "#/types/aws:appmesh/getVirtualNodeSpecBackendDefaultClientPolicyTlCertificateFile:getVirtualNodeSpecBackendDefaultClientPolicyTlCertificateFile" + } + }, + "sds": { + "type": "array", + "items": { + "$ref": "#/types/aws:appmesh/getVirtualNodeSpecBackendDefaultClientPolicyTlCertificateSd:getVirtualNodeSpecBackendDefaultClientPolicyTlCertificateSd" + } + } + }, + "type": "object", + "required": [ + "files", + "sds" + ], + "language": { + "nodejs": { + "requiredInputs": [] + } + } + }, + "aws:appmesh/getVirtualNodeSpecBackendDefaultClientPolicyTlCertificateFile:getVirtualNodeSpecBackendDefaultClientPolicyTlCertificateFile": { + "properties": { + "certificateChain": { + "type": "string" + }, + "privateKey": { + "type": "string" + } + }, + "type": "object", + "required": [ + "certificateChain", + "privateKey" + ], + "language": { + "nodejs": { + "requiredInputs": [] + } + } + }, + "aws:appmesh/getVirtualNodeSpecBackendDefaultClientPolicyTlCertificateSd:getVirtualNodeSpecBackendDefaultClientPolicyTlCertificateSd": { + "properties": { + "secretName": { + "type": "string" + } + }, + "type": "object", + "required": [ + "secretName" + ], + "language": { + "nodejs": { + "requiredInputs": [] + } + } + }, + "aws:appmesh/getVirtualNodeSpecBackendDefaultClientPolicyTlValidation:getVirtualNodeSpecBackendDefaultClientPolicyTlValidation": { + "properties": { + "subjectAlternativeNames": { + "type": "array", + "items": { + "$ref": "#/types/aws:appmesh/getVirtualNodeSpecBackendDefaultClientPolicyTlValidationSubjectAlternativeName:getVirtualNodeSpecBackendDefaultClientPolicyTlValidationSubjectAlternativeName" + } + }, + "trusts": { + "type": "array", + "items": { + "$ref": "#/types/aws:appmesh/getVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrust:getVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrust" + } + } + }, + "type": "object", + "required": [ + "subjectAlternativeNames", + "trusts" + ], + "language": { + "nodejs": { + "requiredInputs": [] + } + } + }, + "aws:appmesh/getVirtualNodeSpecBackendDefaultClientPolicyTlValidationSubjectAlternativeName:getVirtualNodeSpecBackendDefaultClientPolicyTlValidationSubjectAlternativeName": { + "properties": { + "matches": { + "type": "array", + "items": { + "$ref": "#/types/aws:appmesh/getVirtualNodeSpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameMatch:getVirtualNodeSpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameMatch" + } + } + }, + "type": "object", + "required": [ + "matches" + ], + "language": { + "nodejs": { + "requiredInputs": [] + } + } + }, + "aws:appmesh/getVirtualNodeSpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameMatch:getVirtualNodeSpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameMatch": { + "properties": { + "exacts": { + "type": "array", + "items": { + "type": "string" + } + } + }, + "type": "object", + "required": [ + "exacts" + ], + "language": { + "nodejs": { + "requiredInputs": [] + } + } + }, + "aws:appmesh/getVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrust:getVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrust": { + "properties": { + "acms": { + "type": "array", + "items": { + "$ref": "#/types/aws:appmesh/getVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustAcm:getVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustAcm" + } + }, + "files": { + "type": "array", + "items": { + "$ref": "#/types/aws:appmesh/getVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustFile:getVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustFile" + } + }, + "sds": { + "type": "array", + "items": { + "$ref": "#/types/aws:appmesh/getVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustSd:getVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustSd" + } + } + }, + "type": "object", + "required": [ + "acms", + "files", + "sds" + ], + "language": { + "nodejs": { + "requiredInputs": [] + } + } + }, + "aws:appmesh/getVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustAcm:getVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustAcm": { + "properties": { + "certificateAuthorityArns": { + "type": "array", + "items": { + "type": "string" + } + } + }, + "type": "object", + "required": [ + "certificateAuthorityArns" + ], + "language": { + "nodejs": { + "requiredInputs": [] + } + } + }, + "aws:appmesh/getVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustFile:getVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustFile": { + "properties": { + "certificateChain": { + "type": "string" + } + }, + "type": "object", + "required": [ + "certificateChain" + ], + "language": { + "nodejs": { + "requiredInputs": [] + } + } + }, + "aws:appmesh/getVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustSd:getVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustSd": { + "properties": { + "secretName": { + "type": "string" + } + }, + "type": "object", + "required": [ + "secretName" + ], + "language": { + "nodejs": { + "requiredInputs": [] + } + } + }, + "aws:appmesh/getVirtualNodeSpecBackendVirtualService:getVirtualNodeSpecBackendVirtualService": { + "properties": { + "clientPolicies": { + "type": "array", + "items": { + "$ref": "#/types/aws:appmesh/getVirtualNodeSpecBackendVirtualServiceClientPolicy:getVirtualNodeSpecBackendVirtualServiceClientPolicy" + } + }, + "virtualServiceName": { + "type": "string" + } + }, + "type": "object", + "required": [ + "clientPolicies", + "virtualServiceName" + ], + "language": { + "nodejs": { + "requiredInputs": [] + } + } + }, + "aws:appmesh/getVirtualNodeSpecBackendVirtualServiceClientPolicy:getVirtualNodeSpecBackendVirtualServiceClientPolicy": { + "properties": { + "tls": { + "type": "array", + "items": { + "$ref": "#/types/aws:appmesh/getVirtualNodeSpecBackendVirtualServiceClientPolicyTl:getVirtualNodeSpecBackendVirtualServiceClientPolicyTl" + } + } + }, + "type": "object", + "required": [ + "tls" + ], + "language": { + "nodejs": { + "requiredInputs": [] + } + } + }, + "aws:appmesh/getVirtualNodeSpecBackendVirtualServiceClientPolicyTl:getVirtualNodeSpecBackendVirtualServiceClientPolicyTl": { + "properties": { + "certificates": { + "type": "array", + "items": { + "$ref": "#/types/aws:appmesh/getVirtualNodeSpecBackendVirtualServiceClientPolicyTlCertificate:getVirtualNodeSpecBackendVirtualServiceClientPolicyTlCertificate" + } + }, + "enforce": { + "type": "boolean" + }, + "ports": { + "type": "array", + "items": { + "type": "integer" + } + }, + "validations": { + "type": "array", + "items": { + "$ref": "#/types/aws:appmesh/getVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidation:getVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidation" + } + } + }, + "type": "object", + "required": [ + "certificates", + "enforce", + "ports", + "validations" + ], + "language": { + "nodejs": { + "requiredInputs": [] + } + } + }, + "aws:appmesh/getVirtualNodeSpecBackendVirtualServiceClientPolicyTlCertificate:getVirtualNodeSpecBackendVirtualServiceClientPolicyTlCertificate": { + "properties": { + "files": { + "type": "array", + "items": { + "$ref": "#/types/aws:appmesh/getVirtualNodeSpecBackendVirtualServiceClientPolicyTlCertificateFile:getVirtualNodeSpecBackendVirtualServiceClientPolicyTlCertificateFile" + } + }, + "sds": { + "type": "array", + "items": { + "$ref": "#/types/aws:appmesh/getVirtualNodeSpecBackendVirtualServiceClientPolicyTlCertificateSd:getVirtualNodeSpecBackendVirtualServiceClientPolicyTlCertificateSd" + } + } + }, + "type": "object", + "required": [ + "files", + "sds" + ], + "language": { + "nodejs": { + "requiredInputs": [] + } + } + }, + "aws:appmesh/getVirtualNodeSpecBackendVirtualServiceClientPolicyTlCertificateFile:getVirtualNodeSpecBackendVirtualServiceClientPolicyTlCertificateFile": { + "properties": { + "certificateChain": { + "type": "string" + }, + "privateKey": { + "type": "string" + } + }, + "type": "object", + "required": [ + "certificateChain", + "privateKey" + ], + "language": { + "nodejs": { + "requiredInputs": [] + } + } + }, + "aws:appmesh/getVirtualNodeSpecBackendVirtualServiceClientPolicyTlCertificateSd:getVirtualNodeSpecBackendVirtualServiceClientPolicyTlCertificateSd": { + "properties": { + "secretName": { + "type": "string" + } + }, + "type": "object", + "required": [ + "secretName" + ], + "language": { + "nodejs": { + "requiredInputs": [] + } + } + }, + "aws:appmesh/getVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidation:getVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidation": { + "properties": { + "subjectAlternativeNames": { + "type": "array", + "items": { + "$ref": "#/types/aws:appmesh/getVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationSubjectAlternativeName:getVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationSubjectAlternativeName" + } + }, + "trusts": { + "type": "array", + "items": { + "$ref": "#/types/aws:appmesh/getVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrust:getVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrust" + } + } + }, + "type": "object", + "required": [ + "subjectAlternativeNames", + "trusts" + ], + "language": { + "nodejs": { + "requiredInputs": [] + } + } + }, + "aws:appmesh/getVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationSubjectAlternativeName:getVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationSubjectAlternativeName": { + "properties": { + "matches": { + "type": "array", + "items": { + "$ref": "#/types/aws:appmesh/getVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationSubjectAlternativeNameMatch:getVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationSubjectAlternativeNameMatch" + } + } + }, + "type": "object", + "required": [ + "matches" + ], + "language": { + "nodejs": { + "requiredInputs": [] + } + } + }, + "aws:appmesh/getVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationSubjectAlternativeNameMatch:getVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationSubjectAlternativeNameMatch": { + "properties": { + "exacts": { + "type": "array", + "items": { + "type": "string" + } + } + }, + "type": "object", + "required": [ + "exacts" + ], + "language": { + "nodejs": { + "requiredInputs": [] + } + } + }, + "aws:appmesh/getVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrust:getVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrust": { + "properties": { + "acms": { + "type": "array", + "items": { + "$ref": "#/types/aws:appmesh/getVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustAcm:getVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustAcm" + } + }, + "files": { + "type": "array", + "items": { + "$ref": "#/types/aws:appmesh/getVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustFile:getVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustFile" + } + }, + "sds": { + "type": "array", + "items": { + "$ref": "#/types/aws:appmesh/getVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustSd:getVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustSd" + } + } + }, + "type": "object", + "required": [ + "acms", + "files", + "sds" + ], + "language": { + "nodejs": { + "requiredInputs": [] + } + } + }, + "aws:appmesh/getVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustAcm:getVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustAcm": { + "properties": { + "certificateAuthorityArns": { + "type": "array", + "items": { + "type": "string" + } + } + }, + "type": "object", + "required": [ + "certificateAuthorityArns" + ], + "language": { + "nodejs": { + "requiredInputs": [] + } + } + }, + "aws:appmesh/getVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustFile:getVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustFile": { + "properties": { + "certificateChain": { + "type": "string" + } + }, + "type": "object", + "required": [ + "certificateChain" + ], + "language": { + "nodejs": { + "requiredInputs": [] + } + } + }, + "aws:appmesh/getVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustSd:getVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustSd": { + "properties": { + "secretName": { + "type": "string" + } + }, + "type": "object", + "required": [ + "secretName" + ], + "language": { + "nodejs": { + "requiredInputs": [] + } + } + }, + "aws:appmesh/getVirtualNodeSpecListener:getVirtualNodeSpecListener": { + "properties": { + "connectionPools": { + "type": "array", + "items": { + "$ref": "#/types/aws:appmesh/getVirtualNodeSpecListenerConnectionPool:getVirtualNodeSpecListenerConnectionPool" + } + }, + "healthChecks": { + "type": "array", + "items": { + "$ref": "#/types/aws:appmesh/getVirtualNodeSpecListenerHealthCheck:getVirtualNodeSpecListenerHealthCheck" + } + }, + "outlierDetections": { + "type": "array", + "items": { + "$ref": "#/types/aws:appmesh/getVirtualNodeSpecListenerOutlierDetection:getVirtualNodeSpecListenerOutlierDetection" + } + }, + "portMappings": { + "type": "array", + "items": { + "$ref": "#/types/aws:appmesh/getVirtualNodeSpecListenerPortMapping:getVirtualNodeSpecListenerPortMapping" + } + }, + "timeouts": { + "type": "array", + "items": { + "$ref": "#/types/aws:appmesh/getVirtualNodeSpecListenerTimeout:getVirtualNodeSpecListenerTimeout" + } + }, + "tls": { + "type": "array", + "items": { + "$ref": "#/types/aws:appmesh/getVirtualNodeSpecListenerTl:getVirtualNodeSpecListenerTl" + } + } + }, + "type": "object", + "required": [ + "connectionPools", + "healthChecks", + "outlierDetections", + "portMappings", + "timeouts", + "tls" + ], + "language": { + "nodejs": { + "requiredInputs": [] + } + } + }, + "aws:appmesh/getVirtualNodeSpecListenerConnectionPool:getVirtualNodeSpecListenerConnectionPool": { + "properties": { + "grpcs": { + "type": "array", + "items": { + "$ref": "#/types/aws:appmesh/getVirtualNodeSpecListenerConnectionPoolGrpc:getVirtualNodeSpecListenerConnectionPoolGrpc" + } + }, + "http2s": { + "type": "array", + "items": { + "$ref": "#/types/aws:appmesh/getVirtualNodeSpecListenerConnectionPoolHttp2:getVirtualNodeSpecListenerConnectionPoolHttp2" + } + }, + "https": { + "type": "array", + "items": { + "$ref": "#/types/aws:appmesh/getVirtualNodeSpecListenerConnectionPoolHttp:getVirtualNodeSpecListenerConnectionPoolHttp" + } + }, + "tcps": { + "type": "array", + "items": { + "$ref": "#/types/aws:appmesh/getVirtualNodeSpecListenerConnectionPoolTcp:getVirtualNodeSpecListenerConnectionPoolTcp" + } + } + }, + "type": "object", + "required": [ + "grpcs", + "https", + "http2s", + "tcps" + ], + "language": { + "nodejs": { + "requiredInputs": [] + } + } + }, + "aws:appmesh/getVirtualNodeSpecListenerConnectionPoolGrpc:getVirtualNodeSpecListenerConnectionPoolGrpc": { + "properties": { + "maxRequests": { + "type": "integer" + } + }, + "type": "object", + "required": [ + "maxRequests" + ], + "language": { + "nodejs": { + "requiredInputs": [] + } + } + }, + "aws:appmesh/getVirtualNodeSpecListenerConnectionPoolHttp2:getVirtualNodeSpecListenerConnectionPoolHttp2": { + "properties": { + "maxRequests": { + "type": "integer" + } + }, + "type": "object", + "required": [ + "maxRequests" + ], + "language": { + "nodejs": { + "requiredInputs": [] + } + } + }, + "aws:appmesh/getVirtualNodeSpecListenerConnectionPoolHttp:getVirtualNodeSpecListenerConnectionPoolHttp": { + "properties": { + "maxConnections": { + "type": "integer" + }, + "maxPendingRequests": { + "type": "integer" + } + }, + "type": "object", + "required": [ + "maxConnections", + "maxPendingRequests" + ], + "language": { + "nodejs": { + "requiredInputs": [] + } + } + }, + "aws:appmesh/getVirtualNodeSpecListenerConnectionPoolTcp:getVirtualNodeSpecListenerConnectionPoolTcp": { + "properties": { + "maxConnections": { + "type": "integer" + } + }, + "type": "object", + "required": [ + "maxConnections" + ], + "language": { + "nodejs": { + "requiredInputs": [] + } + } + }, + "aws:appmesh/getVirtualNodeSpecListenerHealthCheck:getVirtualNodeSpecListenerHealthCheck": { + "properties": { + "healthyThreshold": { + "type": "integer" + }, + "intervalMillis": { + "type": "integer" + }, + "path": { + "type": "string" + }, + "port": { + "type": "integer" + }, + "protocol": { + "type": "string" + }, + "timeoutMillis": { + "type": "integer" + }, + "unhealthyThreshold": { + "type": "integer" + } + }, + "type": "object", + "required": [ + "healthyThreshold", + "intervalMillis", + "path", + "port", + "protocol", + "timeoutMillis", + "unhealthyThreshold" + ], + "language": { + "nodejs": { + "requiredInputs": [] + } + } + }, + "aws:appmesh/getVirtualNodeSpecListenerOutlierDetection:getVirtualNodeSpecListenerOutlierDetection": { + "properties": { + "baseEjectionDurations": { + "type": "array", + "items": { + "$ref": "#/types/aws:appmesh/getVirtualNodeSpecListenerOutlierDetectionBaseEjectionDuration:getVirtualNodeSpecListenerOutlierDetectionBaseEjectionDuration" + } + }, + "intervals": { + "type": "array", + "items": { + "$ref": "#/types/aws:appmesh/getVirtualNodeSpecListenerOutlierDetectionInterval:getVirtualNodeSpecListenerOutlierDetectionInterval" + } + }, + "maxEjectionPercent": { + "type": "integer" + }, + "maxServerErrors": { + "type": "integer" + } + }, + "type": "object", + "required": [ + "baseEjectionDurations", + "intervals", + "maxEjectionPercent", + "maxServerErrors" + ], + "language": { + "nodejs": { + "requiredInputs": [] + } + } + }, + "aws:appmesh/getVirtualNodeSpecListenerOutlierDetectionBaseEjectionDuration:getVirtualNodeSpecListenerOutlierDetectionBaseEjectionDuration": { + "properties": { + "unit": { + "type": "string" + }, + "value": { + "type": "integer" + } + }, + "type": "object", + "required": [ + "unit", + "value" + ], + "language": { + "nodejs": { + "requiredInputs": [] + } + } + }, + "aws:appmesh/getVirtualNodeSpecListenerOutlierDetectionInterval:getVirtualNodeSpecListenerOutlierDetectionInterval": { + "properties": { + "unit": { + "type": "string" + }, + "value": { + "type": "integer" + } + }, + "type": "object", + "required": [ + "unit", + "value" + ], + "language": { + "nodejs": { + "requiredInputs": [] + } + } + }, + "aws:appmesh/getVirtualNodeSpecListenerPortMapping:getVirtualNodeSpecListenerPortMapping": { + "properties": { + "port": { + "type": "integer" + }, + "protocol": { + "type": "string" + } + }, + "type": "object", + "required": [ + "port", + "protocol" + ], + "language": { + "nodejs": { + "requiredInputs": [] + } + } + }, + "aws:appmesh/getVirtualNodeSpecListenerTimeout:getVirtualNodeSpecListenerTimeout": { + "properties": { + "grpcs": { + "type": "array", + "items": { + "$ref": "#/types/aws:appmesh/getVirtualNodeSpecListenerTimeoutGrpc:getVirtualNodeSpecListenerTimeoutGrpc" + } + }, + "http2s": { + "type": "array", + "items": { + "$ref": "#/types/aws:appmesh/getVirtualNodeSpecListenerTimeoutHttp2:getVirtualNodeSpecListenerTimeoutHttp2" + } + }, + "https": { + "type": "array", + "items": { + "$ref": "#/types/aws:appmesh/getVirtualNodeSpecListenerTimeoutHttp:getVirtualNodeSpecListenerTimeoutHttp" + } + }, + "tcps": { + "type": "array", + "items": { + "$ref": "#/types/aws:appmesh/getVirtualNodeSpecListenerTimeoutTcp:getVirtualNodeSpecListenerTimeoutTcp" + } + } + }, + "type": "object", + "required": [ + "grpcs", + "https", + "http2s", + "tcps" + ], + "language": { + "nodejs": { + "requiredInputs": [] + } + } + }, + "aws:appmesh/getVirtualNodeSpecListenerTimeoutGrpc:getVirtualNodeSpecListenerTimeoutGrpc": { + "properties": { + "idles": { + "type": "array", + "items": { + "$ref": "#/types/aws:appmesh/getVirtualNodeSpecListenerTimeoutGrpcIdle:getVirtualNodeSpecListenerTimeoutGrpcIdle" + } + }, + "perRequests": { + "type": "array", + "items": { + "$ref": "#/types/aws:appmesh/getVirtualNodeSpecListenerTimeoutGrpcPerRequest:getVirtualNodeSpecListenerTimeoutGrpcPerRequest" + } + } + }, + "type": "object", + "required": [ + "idles", + "perRequests" + ], + "language": { + "nodejs": { + "requiredInputs": [] + } + } + }, + "aws:appmesh/getVirtualNodeSpecListenerTimeoutGrpcIdle:getVirtualNodeSpecListenerTimeoutGrpcIdle": { + "properties": { + "unit": { + "type": "string" + }, + "value": { + "type": "integer" + } + }, + "type": "object", + "required": [ + "unit", + "value" + ], + "language": { + "nodejs": { + "requiredInputs": [] + } + } + }, + "aws:appmesh/getVirtualNodeSpecListenerTimeoutGrpcPerRequest:getVirtualNodeSpecListenerTimeoutGrpcPerRequest": { + "properties": { + "unit": { + "type": "string" + }, + "value": { + "type": "integer" + } + }, + "type": "object", + "required": [ + "unit", + "value" + ], + "language": { + "nodejs": { + "requiredInputs": [] + } + } + }, + "aws:appmesh/getVirtualNodeSpecListenerTimeoutHttp2:getVirtualNodeSpecListenerTimeoutHttp2": { + "properties": { + "idles": { + "type": "array", + "items": { + "$ref": "#/types/aws:appmesh/getVirtualNodeSpecListenerTimeoutHttp2Idle:getVirtualNodeSpecListenerTimeoutHttp2Idle" + } + }, + "perRequests": { + "type": "array", + "items": { + "$ref": "#/types/aws:appmesh/getVirtualNodeSpecListenerTimeoutHttp2PerRequest:getVirtualNodeSpecListenerTimeoutHttp2PerRequest" + } + } + }, + "type": "object", + "required": [ + "idles", + "perRequests" + ], + "language": { + "nodejs": { + "requiredInputs": [] + } + } + }, + "aws:appmesh/getVirtualNodeSpecListenerTimeoutHttp2Idle:getVirtualNodeSpecListenerTimeoutHttp2Idle": { + "properties": { + "unit": { + "type": "string" + }, + "value": { + "type": "integer" + } + }, + "type": "object", + "required": [ + "unit", + "value" + ], + "language": { + "nodejs": { + "requiredInputs": [] + } + } + }, + "aws:appmesh/getVirtualNodeSpecListenerTimeoutHttp2PerRequest:getVirtualNodeSpecListenerTimeoutHttp2PerRequest": { + "properties": { + "unit": { + "type": "string" + }, + "value": { + "type": "integer" + } + }, + "type": "object", + "required": [ + "unit", + "value" + ], + "language": { + "nodejs": { + "requiredInputs": [] + } + } + }, + "aws:appmesh/getVirtualNodeSpecListenerTimeoutHttp:getVirtualNodeSpecListenerTimeoutHttp": { + "properties": { + "idles": { + "type": "array", + "items": { + "$ref": "#/types/aws:appmesh/getVirtualNodeSpecListenerTimeoutHttpIdle:getVirtualNodeSpecListenerTimeoutHttpIdle" + } + }, + "perRequests": { + "type": "array", + "items": { + "$ref": "#/types/aws:appmesh/getVirtualNodeSpecListenerTimeoutHttpPerRequest:getVirtualNodeSpecListenerTimeoutHttpPerRequest" + } + } + }, + "type": "object", + "required": [ + "idles", + "perRequests" + ], + "language": { + "nodejs": { + "requiredInputs": [] + } + } + }, + "aws:appmesh/getVirtualNodeSpecListenerTimeoutHttpIdle:getVirtualNodeSpecListenerTimeoutHttpIdle": { + "properties": { + "unit": { + "type": "string" + }, + "value": { + "type": "integer" + } + }, + "type": "object", + "required": [ + "unit", + "value" + ], + "language": { + "nodejs": { + "requiredInputs": [] + } + } + }, + "aws:appmesh/getVirtualNodeSpecListenerTimeoutHttpPerRequest:getVirtualNodeSpecListenerTimeoutHttpPerRequest": { + "properties": { + "unit": { + "type": "string" + }, + "value": { + "type": "integer" + } + }, + "type": "object", + "required": [ + "unit", + "value" + ], + "language": { + "nodejs": { + "requiredInputs": [] + } + } + }, + "aws:appmesh/getVirtualNodeSpecListenerTimeoutTcp:getVirtualNodeSpecListenerTimeoutTcp": { + "properties": { + "idles": { + "type": "array", + "items": { + "$ref": "#/types/aws:appmesh/getVirtualNodeSpecListenerTimeoutTcpIdle:getVirtualNodeSpecListenerTimeoutTcpIdle" + } + } + }, + "type": "object", + "required": [ + "idles" + ], + "language": { + "nodejs": { + "requiredInputs": [] + } + } + }, + "aws:appmesh/getVirtualNodeSpecListenerTimeoutTcpIdle:getVirtualNodeSpecListenerTimeoutTcpIdle": { + "properties": { + "unit": { + "type": "string" + }, + "value": { + "type": "integer" + } + }, + "type": "object", + "required": [ + "unit", + "value" + ], + "language": { + "nodejs": { + "requiredInputs": [] + } + } + }, + "aws:appmesh/getVirtualNodeSpecListenerTl:getVirtualNodeSpecListenerTl": { + "properties": { + "certificates": { + "type": "array", + "items": { + "$ref": "#/types/aws:appmesh/getVirtualNodeSpecListenerTlCertificate:getVirtualNodeSpecListenerTlCertificate" + } + }, + "mode": { + "type": "string" + }, + "validations": { + "type": "array", + "items": { + "$ref": "#/types/aws:appmesh/getVirtualNodeSpecListenerTlValidation:getVirtualNodeSpecListenerTlValidation" + } + } + }, + "type": "object", + "required": [ + "certificates", + "mode", + "validations" + ], + "language": { + "nodejs": { + "requiredInputs": [] + } + } + }, + "aws:appmesh/getVirtualNodeSpecListenerTlCertificate:getVirtualNodeSpecListenerTlCertificate": { + "properties": { + "acms": { + "type": "array", + "items": { + "$ref": "#/types/aws:appmesh/getVirtualNodeSpecListenerTlCertificateAcm:getVirtualNodeSpecListenerTlCertificateAcm" + } + }, + "files": { + "type": "array", + "items": { + "$ref": "#/types/aws:appmesh/getVirtualNodeSpecListenerTlCertificateFile:getVirtualNodeSpecListenerTlCertificateFile" + } + }, + "sds": { + "type": "array", + "items": { + "$ref": "#/types/aws:appmesh/getVirtualNodeSpecListenerTlCertificateSd:getVirtualNodeSpecListenerTlCertificateSd" + } + } + }, + "type": "object", + "required": [ + "acms", + "files", + "sds" + ], + "language": { + "nodejs": { + "requiredInputs": [] + } + } + }, + "aws:appmesh/getVirtualNodeSpecListenerTlCertificateAcm:getVirtualNodeSpecListenerTlCertificateAcm": { + "properties": { + "certificateArn": { + "type": "string" + } + }, + "type": "object", + "required": [ + "certificateArn" + ], + "language": { + "nodejs": { + "requiredInputs": [] + } + } + }, + "aws:appmesh/getVirtualNodeSpecListenerTlCertificateFile:getVirtualNodeSpecListenerTlCertificateFile": { + "properties": { + "certificateChain": { + "type": "string" + }, + "privateKey": { + "type": "string" + } + }, + "type": "object", + "required": [ + "certificateChain", + "privateKey" + ], + "language": { + "nodejs": { + "requiredInputs": [] + } + } + }, + "aws:appmesh/getVirtualNodeSpecListenerTlCertificateSd:getVirtualNodeSpecListenerTlCertificateSd": { + "properties": { + "secretName": { + "type": "string" + } + }, + "type": "object", + "required": [ + "secretName" + ], + "language": { + "nodejs": { + "requiredInputs": [] + } + } + }, + "aws:appmesh/getVirtualNodeSpecListenerTlValidation:getVirtualNodeSpecListenerTlValidation": { + "properties": { + "subjectAlternativeNames": { + "type": "array", + "items": { + "$ref": "#/types/aws:appmesh/getVirtualNodeSpecListenerTlValidationSubjectAlternativeName:getVirtualNodeSpecListenerTlValidationSubjectAlternativeName" + } + }, + "trusts": { + "type": "array", + "items": { + "$ref": "#/types/aws:appmesh/getVirtualNodeSpecListenerTlValidationTrust:getVirtualNodeSpecListenerTlValidationTrust" + } + } + }, + "type": "object", + "required": [ + "subjectAlternativeNames", + "trusts" + ], + "language": { + "nodejs": { + "requiredInputs": [] + } + } + }, + "aws:appmesh/getVirtualNodeSpecListenerTlValidationSubjectAlternativeName:getVirtualNodeSpecListenerTlValidationSubjectAlternativeName": { + "properties": { + "matches": { + "type": "array", + "items": { + "$ref": "#/types/aws:appmesh/getVirtualNodeSpecListenerTlValidationSubjectAlternativeNameMatch:getVirtualNodeSpecListenerTlValidationSubjectAlternativeNameMatch" + } + } + }, + "type": "object", + "required": [ + "matches" + ], + "language": { + "nodejs": { + "requiredInputs": [] + } + } + }, + "aws:appmesh/getVirtualNodeSpecListenerTlValidationSubjectAlternativeNameMatch:getVirtualNodeSpecListenerTlValidationSubjectAlternativeNameMatch": { + "properties": { + "exacts": { + "type": "array", + "items": { + "type": "string" + } + } + }, + "type": "object", + "required": [ + "exacts" + ], + "language": { + "nodejs": { + "requiredInputs": [] + } + } + }, + "aws:appmesh/getVirtualNodeSpecListenerTlValidationTrust:getVirtualNodeSpecListenerTlValidationTrust": { + "properties": { + "files": { + "type": "array", + "items": { + "$ref": "#/types/aws:appmesh/getVirtualNodeSpecListenerTlValidationTrustFile:getVirtualNodeSpecListenerTlValidationTrustFile" + } + }, + "sds": { + "type": "array", + "items": { + "$ref": "#/types/aws:appmesh/getVirtualNodeSpecListenerTlValidationTrustSd:getVirtualNodeSpecListenerTlValidationTrustSd" + } + } + }, + "type": "object", + "required": [ + "files", + "sds" + ], + "language": { + "nodejs": { + "requiredInputs": [] + } + } + }, + "aws:appmesh/getVirtualNodeSpecListenerTlValidationTrustFile:getVirtualNodeSpecListenerTlValidationTrustFile": { + "properties": { + "certificateChain": { + "type": "string" + } + }, + "type": "object", + "required": [ + "certificateChain" + ], + "language": { + "nodejs": { + "requiredInputs": [] + } + } + }, + "aws:appmesh/getVirtualNodeSpecListenerTlValidationTrustSd:getVirtualNodeSpecListenerTlValidationTrustSd": { + "properties": { + "secretName": { + "type": "string" + } + }, + "type": "object", + "required": [ + "secretName" + ], + "language": { + "nodejs": { + "requiredInputs": [] + } + } + }, + "aws:appmesh/getVirtualNodeSpecLogging:getVirtualNodeSpecLogging": { + "properties": { + "accessLogs": { + "type": "array", + "items": { + "$ref": "#/types/aws:appmesh/getVirtualNodeSpecLoggingAccessLog:getVirtualNodeSpecLoggingAccessLog" + } + } + }, + "type": "object", + "required": [ + "accessLogs" + ], + "language": { + "nodejs": { + "requiredInputs": [] + } + } + }, + "aws:appmesh/getVirtualNodeSpecLoggingAccessLog:getVirtualNodeSpecLoggingAccessLog": { + "properties": { + "files": { + "type": "array", + "items": { + "$ref": "#/types/aws:appmesh/getVirtualNodeSpecLoggingAccessLogFile:getVirtualNodeSpecLoggingAccessLogFile" + } + } + }, + "type": "object", + "required": [ + "files" + ], + "language": { + "nodejs": { + "requiredInputs": [] + } + } + }, + "aws:appmesh/getVirtualNodeSpecLoggingAccessLogFile:getVirtualNodeSpecLoggingAccessLogFile": { + "properties": { + "formats": { + "type": "array", + "items": { + "$ref": "#/types/aws:appmesh/getVirtualNodeSpecLoggingAccessLogFileFormat:getVirtualNodeSpecLoggingAccessLogFileFormat" + } + }, + "path": { + "type": "string" + } + }, + "type": "object", + "required": [ + "formats", + "path" + ], + "language": { + "nodejs": { + "requiredInputs": [] + } + } + }, + "aws:appmesh/getVirtualNodeSpecLoggingAccessLogFileFormat:getVirtualNodeSpecLoggingAccessLogFileFormat": { + "properties": { + "jsons": { + "type": "array", + "items": { + "$ref": "#/types/aws:appmesh/getVirtualNodeSpecLoggingAccessLogFileFormatJson:getVirtualNodeSpecLoggingAccessLogFileFormatJson" + } + }, + "text": { + "type": "string" + } + }, + "type": "object", + "required": [ + "jsons", + "text" + ], + "language": { + "nodejs": { + "requiredInputs": [] + } + } + }, + "aws:appmesh/getVirtualNodeSpecLoggingAccessLogFileFormatJson:getVirtualNodeSpecLoggingAccessLogFileFormatJson": { + "properties": { + "key": { + "type": "string" + }, + "value": { + "type": "string" + } + }, + "type": "object", + "required": [ + "key", + "value" + ], + "language": { + "nodejs": { + "requiredInputs": [] + } + } + }, + "aws:appmesh/getVirtualNodeSpecServiceDiscovery:getVirtualNodeSpecServiceDiscovery": { + "properties": { + "awsCloudMaps": { + "type": "array", + "items": { + "$ref": "#/types/aws:appmesh/getVirtualNodeSpecServiceDiscoveryAwsCloudMap:getVirtualNodeSpecServiceDiscoveryAwsCloudMap" + } + }, + "dns": { + "type": "array", + "items": { + "$ref": "#/types/aws:appmesh/getVirtualNodeSpecServiceDiscoveryDn:getVirtualNodeSpecServiceDiscoveryDn" + } + } + }, + "type": "object", + "required": [ + "awsCloudMaps", + "dns" + ], + "language": { + "nodejs": { + "requiredInputs": [] + } + } + }, + "aws:appmesh/getVirtualNodeSpecServiceDiscoveryAwsCloudMap:getVirtualNodeSpecServiceDiscoveryAwsCloudMap": { + "properties": { + "attributes": { + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "namespaceName": { + "type": "string" + }, + "serviceName": { + "type": "string" + } + }, + "type": "object", + "required": [ + "attributes", + "namespaceName", + "serviceName" + ], + "language": { + "nodejs": { + "requiredInputs": [] + } + } + }, + "aws:appmesh/getVirtualNodeSpecServiceDiscoveryDn:getVirtualNodeSpecServiceDiscoveryDn": { + "properties": { + "hostname": { + "type": "string" + }, + "ipPreference": { + "type": "string" + }, + "responseType": { + "type": "string" + } + }, + "type": "object", + "required": [ + "hostname", + "ipPreference", + "responseType" + ], + "language": { + "nodejs": { + "requiredInputs": [] + } + } + }, + "aws:appmesh/getVirtualRouterSpec:getVirtualRouterSpec": { + "properties": { + "listeners": { + "type": "array", + "items": { + "$ref": "#/types/aws:appmesh/getVirtualRouterSpecListener:getVirtualRouterSpecListener" + } + } + }, + "type": "object", + "required": [ + "listeners" + ], + "language": { + "nodejs": { + "requiredInputs": [] + } + } + }, + "aws:appmesh/getVirtualRouterSpecListener:getVirtualRouterSpecListener": { + "properties": { + "portMappings": { + "type": "array", + "items": { + "$ref": "#/types/aws:appmesh/getVirtualRouterSpecListenerPortMapping:getVirtualRouterSpecListenerPortMapping" + } + } + }, + "type": "object", + "required": [ + "portMappings" + ], + "language": { + "nodejs": { + "requiredInputs": [] + } + } + }, + "aws:appmesh/getVirtualRouterSpecListenerPortMapping:getVirtualRouterSpecListenerPortMapping": { + "properties": { + "port": { + "type": "integer" + }, + "protocol": { + "type": "string" + } + }, + "type": "object", + "required": [ + "port", + "protocol" + ], + "language": { + "nodejs": { + "requiredInputs": [] + } + } + }, "aws:appmesh/getVirtualServiceSpec:getVirtualServiceSpec": { "properties": { "providers": { "type": "array", "items": { "$ref": "#/types/aws:appmesh/getVirtualServiceSpecProvider:getVirtualServiceSpecProvider" - }, - "description": "App Mesh object that is acting as the provider for a virtual service.\n" + } } }, "type": "object", @@ -11869,15 +14835,13 @@ "type": "array", "items": { "$ref": "#/types/aws:appmesh/getVirtualServiceSpecProviderVirtualNode:getVirtualServiceSpecProviderVirtualNode" - }, - "description": "Virtual node associated with the virtual service.\n" + } }, "virtualRouters": { "type": "array", "items": { "$ref": "#/types/aws:appmesh/getVirtualServiceSpecProviderVirtualRouter:getVirtualServiceSpecProviderVirtualRouter" - }, - "description": "Virtual router associated with the virtual service.\n" + } } }, "type": "object", @@ -11894,8 +14858,7 @@ "aws:appmesh/getVirtualServiceSpecProviderVirtualNode:getVirtualServiceSpecProviderVirtualNode": { "properties": { "virtualNodeName": { - "type": "string", - "description": "Name of the virtual node that is acting as a service provider.\n" + "type": "string" } }, "type": "object", @@ -11911,8 +14874,7 @@ "aws:appmesh/getVirtualServiceSpecProviderVirtualRouter:getVirtualServiceSpecProviderVirtualRouter": { "properties": { "virtualRouterName": { - "type": "string", - "description": "Name of the virtual router that is acting as a service provider.\n" + "type": "string" } }, "type": "object", @@ -85310,6 +88272,94 @@ "values" ] }, + "aws:rbin/RuleLockConfiguration:RuleLockConfiguration": { + "properties": { + "unlockDelay": { + "$ref": "#/types/aws:rbin/RuleLockConfigurationUnlockDelay:RuleLockConfigurationUnlockDelay", + "description": "Information about the retention rule unlock delay. See `unlock_delay` below.\n" + } + }, + "type": "object", + "required": [ + "unlockDelay" + ] + }, + "aws:rbin/RuleLockConfigurationUnlockDelay:RuleLockConfigurationUnlockDelay": { + "properties": { + "unlockDelayUnit": { + "type": "string", + "description": "The unit of time in which to measure the unlock delay. Currently, the unlock delay can be measure only in days.\n" + }, + "unlockDelayValue": { + "type": "integer", + "description": "The unlock delay period, measured in the unit specified for UnlockDelayUnit.\n" + } + }, + "type": "object", + "required": [ + "unlockDelayUnit", + "unlockDelayValue" + ] + }, + "aws:rbin/RuleResourceTag:RuleResourceTag": { + "properties": { + "resourceTagKey": { + "type": "string", + "description": "The tag key.\n" + }, + "resourceTagValue": { + "type": "string", + "description": "The tag value.\n" + } + }, + "type": "object", + "required": [ + "resourceTagKey" + ] + }, + "aws:rbin/RuleRetentionPeriod:RuleRetentionPeriod": { + "properties": { + "retentionPeriodUnit": { + "type": "string", + "description": "The unit of time in which the retention period is measured. Currently, only DAYS is supported.\n" + }, + "retentionPeriodValue": { + "type": "integer", + "description": "The period value for which the retention rule is to retain resources. The period is measured using the unit specified for RetentionPeriodUnit.\n" + } + }, + "type": "object", + "required": [ + "retentionPeriodUnit", + "retentionPeriodValue" + ] + }, + "aws:rds/ClusterMasterUserSecret:ClusterMasterUserSecret": { + "properties": { + "kmsKeyId": { + "type": "string", + "description": "The ARN for the KMS encryption key. When specifying `kms_key_id`, `storage_encrypted` needs to be set to true.\n" + }, + "secretArn": { + "type": "string", + "description": "The Amazon Resource Name (ARN) of the secret.\n" + }, + "secretStatus": { + "type": "string", + "description": "The status of the secret. Valid Values: `creating` | `active` | `rotating` | `impaired`.\n" + } + }, + "type": "object", + "language": { + "nodejs": { + "requiredOutputs": [ + "kmsKeyId", + "secretArn", + "secretStatus" + ] + } + } + }, "aws:rds/ClusterParameterGroupParameter:ClusterParameterGroupParameter": { "properties": { "applyMethod": { @@ -85531,6 +88581,32 @@ } } }, + "aws:rds/InstanceMasterUserSecret:InstanceMasterUserSecret": { + "properties": { + "kmsKeyId": { + "type": "string", + "description": "The ARN for the KMS encryption key. If creating an\nencrypted replica, set this to the destination KMS ARN.\n" + }, + "secretArn": { + "type": "string", + "description": "The Amazon Resource Name (ARN) of the secret.\n" + }, + "secretStatus": { + "type": "string", + "description": "The status of the secret. Valid Values: `creating` | `active` | `rotating` | `impaired`.\n" + } + }, + "type": "object", + "language": { + "nodejs": { + "requiredOutputs": [ + "kmsKeyId", + "secretArn", + "secretStatus" + ] + } + } + }, "aws:rds/InstanceRestoreToPointInTime:InstanceRestoreToPointInTime": { "properties": { "restoreTime": { @@ -86126,6 +89202,30 @@ } ] }, + "aws:rds/getClusterMasterUserSecret:getClusterMasterUserSecret": { + "properties": { + "kmsKeyId": { + "type": "string" + }, + "secretArn": { + "type": "string" + }, + "secretStatus": { + "type": "string" + } + }, + "type": "object", + "required": [ + "kmsKeyId", + "secretArn", + "secretStatus" + ], + "language": { + "nodejs": { + "requiredInputs": [] + } + } + }, "aws:rds/getClustersFilter:getClustersFilter": { "properties": { "name": { @@ -86164,6 +89264,33 @@ "values" ] }, + "aws:rds/getInstanceMasterUserSecret:getInstanceMasterUserSecret": { + "properties": { + "kmsKeyId": { + "type": "string", + "description": "The Amazon Web Services KMS key identifier that is used to encrypt the secret.\n" + }, + "secretArn": { + "type": "string", + "description": "The Amazon Resource Name (ARN) of the secret.\n" + }, + "secretStatus": { + "type": "string", + "description": "The status of the secret. Valid Values: `creating` | `active` | `rotating` | `impaired`.\n" + } + }, + "type": "object", + "required": [ + "kmsKeyId", + "secretArn", + "secretStatus" + ], + "language": { + "nodejs": { + "requiredInputs": [] + } + } + }, "aws:rds/getInstancesFilter:getInstancesFilter": { "properties": { "name": { @@ -91618,6 +94745,11 @@ "description": "Specifies configuration for a core dump from the model container when the process crashes. Fields are documented below.\n", "willReplaceOnChanges": true }, + "enableSsmAccess": { + "type": "boolean", + "description": "You can use this parameter to turn on native Amazon Web Services Systems Manager (SSM) access for a production variant behind an endpoint. By default, SSM access is disabled for all production variants behind an endpoints.\n", + "willReplaceOnChanges": true + }, "initialInstanceCount": { "type": "integer", "description": "Initial number of instances used for auto-scaling.\n", @@ -91727,6 +94859,11 @@ "description": "Specifies configuration for a core dump from the model container when the process crashes. Fields are documented below.\n", "willReplaceOnChanges": true }, + "enableSsmAccess": { + "type": "boolean", + "description": "You can use this parameter to turn on native Amazon Web Services Systems Manager (SSM) access for a production variant behind an endpoint. By default, SSM access is disabled for all production variants behind an endpoints.\n", + "willReplaceOnChanges": true + }, "initialInstanceCount": { "type": "integer", "description": "Initial number of instances used for auto-scaling.\n", @@ -97240,7 +100377,17 @@ "type": "string" } }, - "type": "object" + "type": "object", + "language": { + "nodejs": { + "requiredOutputs": [ + "defaultValue", + "description", + "name", + "type" + ] + } + } }, "aws:ssm/MaintenanceWindowTargetTarget:MaintenanceWindowTargetTarget": { "properties": { @@ -97780,6 +100927,71 @@ } } }, + "aws:ssmincidents/ReplicationSetRegion:ReplicationSetRegion": { + "properties": { + "kmsKeyArn": { + "type": "string", + "description": "The Amazon Resource name (ARN) of the customer managed key. If omitted, AWS manages the AWS KMS keys for you, using an AWS owned key, as indicated by a default value of `DefaultKey`.\n" + }, + "name": { + "type": "string", + "description": "The name of the Region, such as `ap-southeast-2`.\n" + }, + "status": { + "type": "string", + "description": "The current status of the Region.\n* Valid Values: `ACTIVE` | `CREATING` | `UPDATING` | `DELETING` | `FAILED`\n" + }, + "statusMessage": { + "type": "string", + "description": "More information about the status of a Region.\n" + } + }, + "type": "object", + "required": [ + "name" + ], + "language": { + "nodejs": { + "requiredOutputs": [ + "name", + "status", + "statusMessage" + ] + } + } + }, + "aws:ssmincidents/getReplicationSetRegion:getReplicationSetRegion": { + "properties": { + "kmsKeyArn": { + "type": "string", + "description": "The ARN of the AWS Key Management Service (AWS KMS) encryption key.\n" + }, + "name": { + "type": "string", + "description": "The name of the Region.\n" + }, + "status": { + "type": "string", + "description": "The current status of the Region.\n* Valid Values: `ACTIVE` | `CREATING` | `UPDATING` | `DELETING` | `FAILED`\n" + }, + "statusMessage": { + "type": "string", + "description": "More information about the status of a Region.\n" + } + }, + "type": "object", + "required": [ + "kmsKeyArn", + "name", + "status", + "statusMessage" + ], + "language": { + "nodejs": { + "requiredInputs": [] + } + } + }, "aws:ssoadmin/CustomerManagedPolicyAttachmentCustomerManagedPolicyReference:CustomerManagedPolicyAttachmentCustomerManagedPolicyReference": { "properties": { "name": { @@ -262764,6 +265976,13 @@ }, "description": "Map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.\n" }, + "tagsAll": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block.\n" + }, "virtualGatewayName": { "type": "string", "description": "Name of the virtual gateway to associate the gateway route with. Must be between 1 and 255 characters in length.\n", @@ -263381,6 +266600,13 @@ "type": "string" }, "description": "Map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.\n" + }, + "tagsAll": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block.\n" } }, "requiredInputs": [ @@ -263530,6 +266756,13 @@ "type": "string" }, "description": "Map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.\n" + }, + "tagsAll": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block.\n" } }, "requiredInputs": [ @@ -277495,6 +280728,13 @@ }, "description": "A map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.\n" }, + "tagsAll": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block.\n" + }, "targetArn": { "type": "string", "description": "The ARN of the target Amazon Kinesis stream resource for the destination.\n" @@ -277678,6 +280918,13 @@ "type": "string" }, "description": "A map of tags to assign to the resource. .If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.\n" + }, + "tagsAll": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block.\n" } }, "stateInputs": { @@ -336459,6 +339706,10 @@ "type": "string", "description": "The DNS name of the accelerator. For example, `a5d53ff5ee6bca4ce.awsglobalaccelerator.com`.\n" }, + "dualStackDnsName": { + "type": "string", + "description": "The Domain Name System (DNS) name that Global Accelerator creates that points to a dual-stack accelerator's four static IP addresses: two IPv4 addresses and two IPv6 addresses. For example, `a1234567890abcdef.dualstack.awsglobalaccelerator.com`.\n" + }, "enabled": { "type": "boolean", "description": "Indicates whether the accelerator is enabled. Defaults to `true`. Valid values: `true`, `false`.\n" @@ -336506,6 +339757,7 @@ }, "required": [ "dnsName", + "dualStackDnsName", "hostedZoneId", "ipSets", "name", @@ -336555,6 +339807,10 @@ "type": "string", "description": "The DNS name of the accelerator. For example, `a5d53ff5ee6bca4ce.awsglobalaccelerator.com`.\n" }, + "dualStackDnsName": { + "type": "string", + "description": "The Domain Name System (DNS) name that Global Accelerator creates that points to a dual-stack accelerator's four static IP addresses: two IPv4 addresses and two IPv6 addresses. For example, `a1234567890abcdef.dualstack.awsglobalaccelerator.com`.\n" + }, "enabled": { "type": "boolean", "description": "Indicates whether the accelerator is enabled. Defaults to `true`. Valid values: `true`, `false`.\n" @@ -342142,6 +345398,7 @@ "arn", "createDate", "name", + "namePrefix", "tagsAll", "uniqueId" ], @@ -342180,6 +345437,13 @@ "type": "string" }, "description": "Map of resource tags for the IAM Instance Profile. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.\n" + }, + "tagsAll": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block.\n" } }, "stateInputs": { @@ -342306,6 +345570,13 @@ }, "description": "Map of resource tags for the IAM OIDC provider. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.\n" }, + "tagsAll": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block.\n" + }, "thumbprintLists": { "type": "array", "items": { @@ -342423,6 +345694,7 @@ "required": [ "arn", "name", + "namePrefix", "policy", "policyId", "tagsAll" @@ -342472,6 +345744,13 @@ "type": "string" }, "description": "Map of resource tags for the IAM Policy. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.\n" + }, + "tagsAll": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block.\n" } }, "requiredInputs": [ @@ -342862,6 +346141,13 @@ "type": "string" }, "description": "Key-value mapping of tags for the IAM role. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.\n" + }, + "tagsAll": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block.\n" } }, "requiredInputs": [ @@ -343196,6 +346482,13 @@ "type": "string" }, "description": "Map of resource tags for the IAM SAML provider. .If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.\n" + }, + "tagsAll": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block.\n" } }, "requiredInputs": [ @@ -343342,6 +346635,13 @@ "type": "string" }, "description": "Map of resource tags for the server certificate. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.\n" + }, + "tagsAll": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block.\n" } }, "requiredInputs": [ @@ -343492,6 +346792,13 @@ "type": "string" }, "description": "Key-value mapping of tags for the IAM role. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.\n" + }, + "tagsAll": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block.\n" } }, "requiredInputs": [ @@ -343879,6 +347186,13 @@ "type": "string" }, "description": "Key-value mapping of tags for the IAM user. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.\n" + }, + "tagsAll": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block.\n" } }, "stateInputs": { @@ -344307,6 +347621,13 @@ }, "description": "Map of resource tags for the virtual mfa device. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.\n" }, + "tagsAll": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block.\n" + }, "virtualMfaDeviceName": { "type": "string", "description": "The name of the virtual MFA device. Use with path to uniquely identify a virtual MFA device.\n", @@ -346490,6 +349811,13 @@ }, "description": "Key-value map of tags for the Inspector assessment template. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.\n" }, + "tagsAll": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block.\n" + }, "targetArn": { "type": "string", "description": "The assessment target ARN to attach the template to.\n", @@ -380603,8 +383931,167 @@ "type": "object" } }, + "aws:rbin/rule:Rule": { + "description": "Resource for managing an AWS RBin Rule.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n### Basic Usage\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.rbin.Rule(\"example\", {\n description: \"example_rule\",\n resourceType: \"EBS_SNAPSHOT\",\n resourceTags: [{\n resourceTagKey: tag_key,\n resourceTagValue: \"tag_value\",\n }],\n retentionPeriod: {\n retentionPeriodValue: 10,\n retentionPeriodUnit: \"DAYS\",\n },\n tags: {\n test_tag_key: \"test_tag_value\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.rbin.Rule(\"example\",\n description=\"example_rule\",\n resource_type=\"EBS_SNAPSHOT\",\n resource_tags=[aws.rbin.RuleResourceTagArgs(\n resource_tag_key=tag_key,\n resource_tag_value=\"tag_value\",\n )],\n retention_period=aws.rbin.RuleRetentionPeriodArgs(\n retention_period_value=10,\n retention_period_unit=\"DAYS\",\n ),\n tags={\n \"test_tag_key\": \"test_tag_value\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Rbin.Rule(\"example\", new()\n {\n Description = \"example_rule\",\n ResourceType = \"EBS_SNAPSHOT\",\n ResourceTags = new[]\n {\n new Aws.Rbin.Inputs.RuleResourceTagArgs\n {\n ResourceTagKey = tag_key,\n ResourceTagValue = \"tag_value\",\n },\n },\n RetentionPeriod = new Aws.Rbin.Inputs.RuleRetentionPeriodArgs\n {\n RetentionPeriodValue = 10,\n RetentionPeriodUnit = \"DAYS\",\n },\n Tags = \n {\n { \"test_tag_key\", \"test_tag_value\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/rbin\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := rbin.NewRule(ctx, \"example\", \u0026rbin.RuleArgs{\n\t\t\tDescription: pulumi.String(\"example_rule\"),\n\t\t\tResourceType: pulumi.String(\"EBS_SNAPSHOT\"),\n\t\t\tResourceTags: rbin.RuleResourceTagArray{\n\t\t\t\t\u0026rbin.RuleResourceTagArgs{\n\t\t\t\t\tResourceTagKey: pulumi.Any(tag_key),\n\t\t\t\t\tResourceTagValue: pulumi.String(\"tag_value\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tRetentionPeriod: \u0026rbin.RuleRetentionPeriodArgs{\n\t\t\t\tRetentionPeriodValue: pulumi.Int(10),\n\t\t\t\tRetentionPeriodUnit: pulumi.String(\"DAYS\"),\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"test_tag_key\": pulumi.String(\"test_tag_value\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.rbin.Rule;\nimport com.pulumi.aws.rbin.RuleArgs;\nimport com.pulumi.aws.rbin.inputs.RuleResourceTagArgs;\nimport com.pulumi.aws.rbin.inputs.RuleRetentionPeriodArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Rule(\"example\", RuleArgs.builder() \n .description(\"example_rule\")\n .resourceType(\"EBS_SNAPSHOT\")\n .resourceTags(RuleResourceTagArgs.builder()\n .resourceTagKey(tag_key)\n .resourceTagValue(\"tag_value\")\n .build())\n .retentionPeriod(RuleRetentionPeriodArgs.builder()\n .retentionPeriodValue(10)\n .retentionPeriodUnit(\"DAYS\")\n .build())\n .tags(Map.of(\"test_tag_key\", \"test_tag_value\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:rbin:Rule\n properties:\n description: example_rule\n resourceType: EBS_SNAPSHOT\n resourceTags:\n - resourceTagKey: ${tag_key}\n resourceTagValue: tag_value\n retentionPeriod:\n retentionPeriodValue: 10\n retentionPeriodUnit: DAYS\n tags:\n test_tag_key: test_tag_value\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nRBin Rule can be imported using the `id`, e.g.,\n\n```sh\n $ pulumi import aws:rbin/rule:Rule example examplerule\n```\n\n ", + "properties": { + "arn": { + "type": "string" + }, + "description": { + "type": "string", + "description": "The retention rule description.\n" + }, + "lockConfiguration": { + "$ref": "#/types/aws:rbin/RuleLockConfiguration:RuleLockConfiguration", + "description": "Information about the retention rule lock configuration. See `lock_configuration` below.\n" + }, + "lockEndTime": { + "type": "string", + "description": "(Timestamp) The date and time at which the unlock delay is set to expire. Only returned for retention rules that have been unlocked and that are still within the unlock delay period.\n" + }, + "lockState": { + "type": "string", + "description": "(Optional) The lock state of the retention rules to list. Only retention rules with the specified lock state are returned. Valid values are `locked`, `pending_unlock`, `unlocked`.\n" + }, + "resourceTags": { + "type": "array", + "items": { + "$ref": "#/types/aws:rbin/RuleResourceTag:RuleResourceTag" + }, + "description": "Specifies the resource tags to use to identify resources that are to be retained by a tag-level retention rule. See `resource_tags` below.\n" + }, + "resourceType": { + "type": "string", + "description": "The resource type to be retained by the retention rule. Valid values are `EBS_SNAPSHOT` and `EC2_IMAGE`.\n" + }, + "retentionPeriod": { + "$ref": "#/types/aws:rbin/RuleRetentionPeriod:RuleRetentionPeriod", + "description": "Information about the retention period for which the retention rule is to retain resources. See `retention_period` below.\n" + }, + "status": { + "type": "string", + "description": "(String) The state of the retention rule. Only retention rules that are in the `available` state retain resources. Valid values include `pending` and `available`.\n" + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "tagsAll": { + "type": "object", + "additionalProperties": { + "type": "string" + } + } + }, + "required": [ + "arn", + "description", + "lockEndTime", + "lockState", + "resourceTags", + "resourceType", + "retentionPeriod", + "status", + "tagsAll" + ], + "inputProperties": { + "description": { + "type": "string", + "description": "The retention rule description.\n" + }, + "lockConfiguration": { + "$ref": "#/types/aws:rbin/RuleLockConfiguration:RuleLockConfiguration", + "description": "Information about the retention rule lock configuration. See `lock_configuration` below.\n" + }, + "resourceTags": { + "type": "array", + "items": { + "$ref": "#/types/aws:rbin/RuleResourceTag:RuleResourceTag" + }, + "description": "Specifies the resource tags to use to identify resources that are to be retained by a tag-level retention rule. See `resource_tags` below.\n" + }, + "resourceType": { + "type": "string", + "description": "The resource type to be retained by the retention rule. Valid values are `EBS_SNAPSHOT` and `EC2_IMAGE`.\n", + "willReplaceOnChanges": true + }, + "retentionPeriod": { + "$ref": "#/types/aws:rbin/RuleRetentionPeriod:RuleRetentionPeriod", + "description": "Information about the retention period for which the retention rule is to retain resources. See `retention_period` below.\n" + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + } + } + }, + "requiredInputs": [ + "resourceType", + "retentionPeriod" + ], + "stateInputs": { + "description": "Input properties used for looking up and filtering Rule resources.\n", + "properties": { + "arn": { + "type": "string" + }, + "description": { + "type": "string", + "description": "The retention rule description.\n" + }, + "lockConfiguration": { + "$ref": "#/types/aws:rbin/RuleLockConfiguration:RuleLockConfiguration", + "description": "Information about the retention rule lock configuration. See `lock_configuration` below.\n" + }, + "lockEndTime": { + "type": "string", + "description": "(Timestamp) The date and time at which the unlock delay is set to expire. Only returned for retention rules that have been unlocked and that are still within the unlock delay period.\n" + }, + "lockState": { + "type": "string", + "description": "(Optional) The lock state of the retention rules to list. Only retention rules with the specified lock state are returned. Valid values are `locked`, `pending_unlock`, `unlocked`.\n" + }, + "resourceTags": { + "type": "array", + "items": { + "$ref": "#/types/aws:rbin/RuleResourceTag:RuleResourceTag" + }, + "description": "Specifies the resource tags to use to identify resources that are to be retained by a tag-level retention rule. See `resource_tags` below.\n" + }, + "resourceType": { + "type": "string", + "description": "The resource type to be retained by the retention rule. Valid values are `EBS_SNAPSHOT` and `EC2_IMAGE`.\n", + "willReplaceOnChanges": true + }, + "retentionPeriod": { + "$ref": "#/types/aws:rbin/RuleRetentionPeriod:RuleRetentionPeriod", + "description": "Information about the retention period for which the retention rule is to retain resources. See `retention_period` below.\n" + }, + "status": { + "type": "string", + "description": "(String) The state of the retention rule. Only retention rules that are in the `available` state retain resources. Valid values include `pending` and `available`.\n" + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "tagsAll": { + "type": "object", + "additionalProperties": { + "type": "string" + } + } + }, + "type": "object" + } + }, "aws:rds/cluster:Cluster": { - "description": "Manages a [RDS Aurora Cluster](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Aurora.html). To manage cluster instances that inherit configuration from the cluster (when not running the cluster in `serverless` engine mode), see the `aws.rds.ClusterInstance` resource. To manage non-Aurora databases (e.g., MySQL, PostgreSQL, SQL Server, etc.), see the `aws.rds.Instance` resource.\n\nFor information on the difference between the available Aurora MySQL engines\nsee [Comparison between Aurora MySQL 1 and Aurora MySQL 2](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/AuroraMySQL.Updates.20180206.html)\nin the Amazon RDS User Guide.\n\nChanges to an RDS Cluster can occur when you manually change a\nparameter, such as `port`, and are reflected in the next maintenance\nwindow. Because of this, this provider may report a difference in its planning\nphase because a modification has not yet taken place. You can use the\n`apply_immediately` flag to instruct the service to apply the change immediately\n(see documentation below).\n\n\u003e **Note:** using `apply_immediately` can result in a\nbrief downtime as the server reboots. See the AWS Docs on [RDS Maintenance](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_UpgradeDBInstance.Maintenance.html)\nfor more information.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n### Aurora MySQL 2.x (MySQL 5.7)\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst _default = new aws.rds.Cluster(\"default\", {\n availabilityZones: [\n \"us-west-2a\",\n \"us-west-2b\",\n \"us-west-2c\",\n ],\n backupRetentionPeriod: 5,\n clusterIdentifier: \"aurora-cluster-demo\",\n databaseName: \"mydb\",\n engine: \"aurora-mysql\",\n engineVersion: \"5.7.mysql_aurora.2.03.2\",\n masterPassword: \"bar\",\n masterUsername: \"foo\",\n preferredBackupWindow: \"07:00-09:00\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ndefault = aws.rds.Cluster(\"default\",\n availability_zones=[\n \"us-west-2a\",\n \"us-west-2b\",\n \"us-west-2c\",\n ],\n backup_retention_period=5,\n cluster_identifier=\"aurora-cluster-demo\",\n database_name=\"mydb\",\n engine=\"aurora-mysql\",\n engine_version=\"5.7.mysql_aurora.2.03.2\",\n master_password=\"bar\",\n master_username=\"foo\",\n preferred_backup_window=\"07:00-09:00\")\n```\n```csharp\nusing System.Collections.Generic;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Aws.Rds.Cluster(\"default\", new()\n {\n AvailabilityZones = new[]\n {\n \"us-west-2a\",\n \"us-west-2b\",\n \"us-west-2c\",\n },\n BackupRetentionPeriod = 5,\n ClusterIdentifier = \"aurora-cluster-demo\",\n DatabaseName = \"mydb\",\n Engine = \"aurora-mysql\",\n EngineVersion = \"5.7.mysql_aurora.2.03.2\",\n MasterPassword = \"bar\",\n MasterUsername = \"foo\",\n PreferredBackupWindow = \"07:00-09:00\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/rds\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := rds.NewCluster(ctx, \"default\", \u0026rds.ClusterArgs{\n\t\t\tAvailabilityZones: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"us-west-2a\"),\n\t\t\t\tpulumi.String(\"us-west-2b\"),\n\t\t\t\tpulumi.String(\"us-west-2c\"),\n\t\t\t},\n\t\t\tBackupRetentionPeriod: pulumi.Int(5),\n\t\t\tClusterIdentifier: pulumi.String(\"aurora-cluster-demo\"),\n\t\t\tDatabaseName: pulumi.String(\"mydb\"),\n\t\t\tEngine: pulumi.String(\"aurora-mysql\"),\n\t\t\tEngineVersion: pulumi.String(\"5.7.mysql_aurora.2.03.2\"),\n\t\t\tMasterPassword: pulumi.String(\"bar\"),\n\t\t\tMasterUsername: pulumi.String(\"foo\"),\n\t\t\tPreferredBackupWindow: pulumi.String(\"07:00-09:00\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.rds.Cluster;\nimport com.pulumi.aws.rds.ClusterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var default_ = new Cluster(\"default\", ClusterArgs.builder() \n .availabilityZones( \n \"us-west-2a\",\n \"us-west-2b\",\n \"us-west-2c\")\n .backupRetentionPeriod(5)\n .clusterIdentifier(\"aurora-cluster-demo\")\n .databaseName(\"mydb\")\n .engine(\"aurora-mysql\")\n .engineVersion(\"5.7.mysql_aurora.2.03.2\")\n .masterPassword(\"bar\")\n .masterUsername(\"foo\")\n .preferredBackupWindow(\"07:00-09:00\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: aws:rds:Cluster\n properties:\n availabilityZones:\n - us-west-2a\n - us-west-2b\n - us-west-2c\n backupRetentionPeriod: 5\n clusterIdentifier: aurora-cluster-demo\n databaseName: mydb\n engine: aurora-mysql\n engineVersion: 5.7.mysql_aurora.2.03.2\n masterPassword: bar\n masterUsername: foo\n preferredBackupWindow: 07:00-09:00\n```\n{{% /example %}}\n{{% example %}}\n### Aurora MySQL 1.x (MySQL 5.6)\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst _default = new aws.rds.Cluster(\"default\", {\n availabilityZones: [\n \"us-west-2a\",\n \"us-west-2b\",\n \"us-west-2c\",\n ],\n backupRetentionPeriod: 5,\n clusterIdentifier: \"aurora-cluster-demo\",\n databaseName: \"mydb\",\n masterPassword: \"bar\",\n masterUsername: \"foo\",\n preferredBackupWindow: \"07:00-09:00\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ndefault = aws.rds.Cluster(\"default\",\n availability_zones=[\n \"us-west-2a\",\n \"us-west-2b\",\n \"us-west-2c\",\n ],\n backup_retention_period=5,\n cluster_identifier=\"aurora-cluster-demo\",\n database_name=\"mydb\",\n master_password=\"bar\",\n master_username=\"foo\",\n preferred_backup_window=\"07:00-09:00\")\n```\n```csharp\nusing System.Collections.Generic;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Aws.Rds.Cluster(\"default\", new()\n {\n AvailabilityZones = new[]\n {\n \"us-west-2a\",\n \"us-west-2b\",\n \"us-west-2c\",\n },\n BackupRetentionPeriod = 5,\n ClusterIdentifier = \"aurora-cluster-demo\",\n DatabaseName = \"mydb\",\n MasterPassword = \"bar\",\n MasterUsername = \"foo\",\n PreferredBackupWindow = \"07:00-09:00\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/rds\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := rds.NewCluster(ctx, \"default\", \u0026rds.ClusterArgs{\n\t\t\tAvailabilityZones: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"us-west-2a\"),\n\t\t\t\tpulumi.String(\"us-west-2b\"),\n\t\t\t\tpulumi.String(\"us-west-2c\"),\n\t\t\t},\n\t\t\tBackupRetentionPeriod: pulumi.Int(5),\n\t\t\tClusterIdentifier: pulumi.String(\"aurora-cluster-demo\"),\n\t\t\tDatabaseName: pulumi.String(\"mydb\"),\n\t\t\tMasterPassword: pulumi.String(\"bar\"),\n\t\t\tMasterUsername: pulumi.String(\"foo\"),\n\t\t\tPreferredBackupWindow: pulumi.String(\"07:00-09:00\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.rds.Cluster;\nimport com.pulumi.aws.rds.ClusterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var default_ = new Cluster(\"default\", ClusterArgs.builder() \n .availabilityZones( \n \"us-west-2a\",\n \"us-west-2b\",\n \"us-west-2c\")\n .backupRetentionPeriod(5)\n .clusterIdentifier(\"aurora-cluster-demo\")\n .databaseName(\"mydb\")\n .masterPassword(\"bar\")\n .masterUsername(\"foo\")\n .preferredBackupWindow(\"07:00-09:00\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: aws:rds:Cluster\n properties:\n availabilityZones:\n - us-west-2a\n - us-west-2b\n - us-west-2c\n backupRetentionPeriod: 5\n clusterIdentifier: aurora-cluster-demo\n databaseName: mydb\n masterPassword: bar\n masterUsername: foo\n preferredBackupWindow: 07:00-09:00\n```\n{{% /example %}}\n{{% example %}}\n### Aurora with PostgreSQL engine\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst postgresql = new aws.rds.Cluster(\"postgresql\", {\n availabilityZones: [\n \"us-west-2a\",\n \"us-west-2b\",\n \"us-west-2c\",\n ],\n backupRetentionPeriod: 5,\n clusterIdentifier: \"aurora-cluster-demo\",\n databaseName: \"mydb\",\n engine: \"aurora-postgresql\",\n masterPassword: \"bar\",\n masterUsername: \"foo\",\n preferredBackupWindow: \"07:00-09:00\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\npostgresql = aws.rds.Cluster(\"postgresql\",\n availability_zones=[\n \"us-west-2a\",\n \"us-west-2b\",\n \"us-west-2c\",\n ],\n backup_retention_period=5,\n cluster_identifier=\"aurora-cluster-demo\",\n database_name=\"mydb\",\n engine=\"aurora-postgresql\",\n master_password=\"bar\",\n master_username=\"foo\",\n preferred_backup_window=\"07:00-09:00\")\n```\n```csharp\nusing System.Collections.Generic;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var postgresql = new Aws.Rds.Cluster(\"postgresql\", new()\n {\n AvailabilityZones = new[]\n {\n \"us-west-2a\",\n \"us-west-2b\",\n \"us-west-2c\",\n },\n BackupRetentionPeriod = 5,\n ClusterIdentifier = \"aurora-cluster-demo\",\n DatabaseName = \"mydb\",\n Engine = \"aurora-postgresql\",\n MasterPassword = \"bar\",\n MasterUsername = \"foo\",\n PreferredBackupWindow = \"07:00-09:00\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/rds\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := rds.NewCluster(ctx, \"postgresql\", \u0026rds.ClusterArgs{\n\t\t\tAvailabilityZones: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"us-west-2a\"),\n\t\t\t\tpulumi.String(\"us-west-2b\"),\n\t\t\t\tpulumi.String(\"us-west-2c\"),\n\t\t\t},\n\t\t\tBackupRetentionPeriod: pulumi.Int(5),\n\t\t\tClusterIdentifier: pulumi.String(\"aurora-cluster-demo\"),\n\t\t\tDatabaseName: pulumi.String(\"mydb\"),\n\t\t\tEngine: pulumi.String(\"aurora-postgresql\"),\n\t\t\tMasterPassword: pulumi.String(\"bar\"),\n\t\t\tMasterUsername: pulumi.String(\"foo\"),\n\t\t\tPreferredBackupWindow: pulumi.String(\"07:00-09:00\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.rds.Cluster;\nimport com.pulumi.aws.rds.ClusterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var postgresql = new Cluster(\"postgresql\", ClusterArgs.builder() \n .availabilityZones( \n \"us-west-2a\",\n \"us-west-2b\",\n \"us-west-2c\")\n .backupRetentionPeriod(5)\n .clusterIdentifier(\"aurora-cluster-demo\")\n .databaseName(\"mydb\")\n .engine(\"aurora-postgresql\")\n .masterPassword(\"bar\")\n .masterUsername(\"foo\")\n .preferredBackupWindow(\"07:00-09:00\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n postgresql:\n type: aws:rds:Cluster\n properties:\n availabilityZones:\n - us-west-2a\n - us-west-2b\n - us-west-2c\n backupRetentionPeriod: 5\n clusterIdentifier: aurora-cluster-demo\n databaseName: mydb\n engine: aurora-postgresql\n masterPassword: bar\n masterUsername: foo\n preferredBackupWindow: 07:00-09:00\n```\n{{% /example %}}\n{{% example %}}\n### Aurora Multi-Master Cluster\n\n\u003e More information about Aurora Multi-Master Clusters can be found in the [RDS User Guide](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/aurora-multi-master.html).\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.rds.Cluster(\"example\", {\n clusterIdentifier: \"example\",\n dbSubnetGroupName: aws_db_subnet_group.example.name,\n engineMode: \"multimaster\",\n masterPassword: \"barbarbarbar\",\n masterUsername: \"foo\",\n skipFinalSnapshot: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.rds.Cluster(\"example\",\n cluster_identifier=\"example\",\n db_subnet_group_name=aws_db_subnet_group[\"example\"][\"name\"],\n engine_mode=\"multimaster\",\n master_password=\"barbarbarbar\",\n master_username=\"foo\",\n skip_final_snapshot=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Rds.Cluster(\"example\", new()\n {\n ClusterIdentifier = \"example\",\n DbSubnetGroupName = aws_db_subnet_group.Example.Name,\n EngineMode = \"multimaster\",\n MasterPassword = \"barbarbarbar\",\n MasterUsername = \"foo\",\n SkipFinalSnapshot = true,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/rds\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := rds.NewCluster(ctx, \"example\", \u0026rds.ClusterArgs{\n\t\t\tClusterIdentifier: pulumi.String(\"example\"),\n\t\t\tDbSubnetGroupName: pulumi.Any(aws_db_subnet_group.Example.Name),\n\t\t\tEngineMode: pulumi.String(\"multimaster\"),\n\t\t\tMasterPassword: pulumi.String(\"barbarbarbar\"),\n\t\t\tMasterUsername: pulumi.String(\"foo\"),\n\t\t\tSkipFinalSnapshot: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.rds.Cluster;\nimport com.pulumi.aws.rds.ClusterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Cluster(\"example\", ClusterArgs.builder() \n .clusterIdentifier(\"example\")\n .dbSubnetGroupName(aws_db_subnet_group.example().name())\n .engineMode(\"multimaster\")\n .masterPassword(\"barbarbarbar\")\n .masterUsername(\"foo\")\n .skipFinalSnapshot(true)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:rds:Cluster\n properties:\n clusterIdentifier: example\n dbSubnetGroupName: ${aws_db_subnet_group.example.name}\n engineMode: multimaster\n masterPassword: barbarbarbar\n masterUsername: foo\n skipFinalSnapshot: true\n```\n{{% /example %}}\n{{% example %}}\n### RDS Multi-AZ Cluster\n\n\u003e More information about RDS Multi-AZ Clusters can be found in the [RDS User Guide](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/multi-az-db-clusters-concepts.html).\n\nTo create a Multi-AZ RDS cluster, you must additionally specify the `engine`, `storage_type`, `allocated_storage`, `iops` and `db_cluster_instance_class` attributes.\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.rds.Cluster(\"example\", {\n allocatedStorage: 100,\n availabilityZones: [\n \"us-west-2a\",\n \"us-west-2b\",\n \"us-west-2c\",\n ],\n clusterIdentifier: \"example\",\n dbClusterInstanceClass: \"db.r6gd.xlarge\",\n engine: \"mysql\",\n iops: 1000,\n masterPassword: \"mustbeeightcharaters\",\n masterUsername: \"test\",\n storageType: \"io1\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.rds.Cluster(\"example\",\n allocated_storage=100,\n availability_zones=[\n \"us-west-2a\",\n \"us-west-2b\",\n \"us-west-2c\",\n ],\n cluster_identifier=\"example\",\n db_cluster_instance_class=\"db.r6gd.xlarge\",\n engine=\"mysql\",\n iops=1000,\n master_password=\"mustbeeightcharaters\",\n master_username=\"test\",\n storage_type=\"io1\")\n```\n```csharp\nusing System.Collections.Generic;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Rds.Cluster(\"example\", new()\n {\n AllocatedStorage = 100,\n AvailabilityZones = new[]\n {\n \"us-west-2a\",\n \"us-west-2b\",\n \"us-west-2c\",\n },\n ClusterIdentifier = \"example\",\n DbClusterInstanceClass = \"db.r6gd.xlarge\",\n Engine = \"mysql\",\n Iops = 1000,\n MasterPassword = \"mustbeeightcharaters\",\n MasterUsername = \"test\",\n StorageType = \"io1\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/rds\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := rds.NewCluster(ctx, \"example\", \u0026rds.ClusterArgs{\n\t\t\tAllocatedStorage: pulumi.Int(100),\n\t\t\tAvailabilityZones: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"us-west-2a\"),\n\t\t\t\tpulumi.String(\"us-west-2b\"),\n\t\t\t\tpulumi.String(\"us-west-2c\"),\n\t\t\t},\n\t\t\tClusterIdentifier: pulumi.String(\"example\"),\n\t\t\tDbClusterInstanceClass: pulumi.String(\"db.r6gd.xlarge\"),\n\t\t\tEngine: pulumi.String(\"mysql\"),\n\t\t\tIops: pulumi.Int(1000),\n\t\t\tMasterPassword: pulumi.String(\"mustbeeightcharaters\"),\n\t\t\tMasterUsername: pulumi.String(\"test\"),\n\t\t\tStorageType: pulumi.String(\"io1\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.rds.Cluster;\nimport com.pulumi.aws.rds.ClusterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Cluster(\"example\", ClusterArgs.builder() \n .allocatedStorage(100)\n .availabilityZones( \n \"us-west-2a\",\n \"us-west-2b\",\n \"us-west-2c\")\n .clusterIdentifier(\"example\")\n .dbClusterInstanceClass(\"db.r6gd.xlarge\")\n .engine(\"mysql\")\n .iops(1000)\n .masterPassword(\"mustbeeightcharaters\")\n .masterUsername(\"test\")\n .storageType(\"io1\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:rds:Cluster\n properties:\n allocatedStorage: 100\n availabilityZones:\n - us-west-2a\n - us-west-2b\n - us-west-2c\n clusterIdentifier: example\n dbClusterInstanceClass: db.r6gd.xlarge\n engine: mysql\n iops: 1000\n masterPassword: mustbeeightcharaters\n masterUsername: test\n storageType: io1\n```\n{{% /example %}}\n{{% example %}}\n### RDS Serverless v2 Cluster\n\n\u003e More information about RDS Serverless v2 Clusters can be found in the [RDS User Guide](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/aurora-serverless-v2.html).\n\nTo create a Serverless v2 RDS cluster, you must additionally specify the `engine_mode` and `serverlessv2_scaling_configuration` attributes. An `aws.rds.ClusterInstance` resource must also be added to the cluster with the `instance_class` attribute specified.\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst exampleCluster = new aws.rds.Cluster(\"exampleCluster\", {\n clusterIdentifier: \"example\",\n engine: \"aurora-postgresql\",\n engineMode: \"provisioned\",\n engineVersion: \"13.6\",\n databaseName: \"test\",\n masterUsername: \"test\",\n masterPassword: \"must_be_eight_characters\",\n serverlessv2ScalingConfiguration: {\n maxCapacity: 1,\n minCapacity: 0.5,\n },\n});\nconst exampleClusterInstance = new aws.rds.ClusterInstance(\"exampleClusterInstance\", {\n clusterIdentifier: exampleCluster.id,\n instanceClass: \"db.serverless\",\n engine: exampleCluster.engine,\n engineVersion: exampleCluster.engineVersion,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample_cluster = aws.rds.Cluster(\"exampleCluster\",\n cluster_identifier=\"example\",\n engine=\"aurora-postgresql\",\n engine_mode=\"provisioned\",\n engine_version=\"13.6\",\n database_name=\"test\",\n master_username=\"test\",\n master_password=\"must_be_eight_characters\",\n serverlessv2_scaling_configuration=aws.rds.ClusterServerlessv2ScalingConfigurationArgs(\n max_capacity=1,\n min_capacity=0.5,\n ))\nexample_cluster_instance = aws.rds.ClusterInstance(\"exampleClusterInstance\",\n cluster_identifier=example_cluster.id,\n instance_class=\"db.serverless\",\n engine=example_cluster.engine,\n engine_version=example_cluster.engine_version)\n```\n```csharp\nusing System.Collections.Generic;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var exampleCluster = new Aws.Rds.Cluster(\"exampleCluster\", new()\n {\n ClusterIdentifier = \"example\",\n Engine = \"aurora-postgresql\",\n EngineMode = \"provisioned\",\n EngineVersion = \"13.6\",\n DatabaseName = \"test\",\n MasterUsername = \"test\",\n MasterPassword = \"must_be_eight_characters\",\n Serverlessv2ScalingConfiguration = new Aws.Rds.Inputs.ClusterServerlessv2ScalingConfigurationArgs\n {\n MaxCapacity = 1,\n MinCapacity = 0.5,\n },\n });\n\n var exampleClusterInstance = new Aws.Rds.ClusterInstance(\"exampleClusterInstance\", new()\n {\n ClusterIdentifier = exampleCluster.Id,\n InstanceClass = \"db.serverless\",\n Engine = exampleCluster.Engine,\n EngineVersion = exampleCluster.EngineVersion,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/rds\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleCluster, err := rds.NewCluster(ctx, \"exampleCluster\", \u0026rds.ClusterArgs{\n\t\t\tClusterIdentifier: pulumi.String(\"example\"),\n\t\t\tEngine: pulumi.String(\"aurora-postgresql\"),\n\t\t\tEngineMode: pulumi.String(\"provisioned\"),\n\t\t\tEngineVersion: pulumi.String(\"13.6\"),\n\t\t\tDatabaseName: pulumi.String(\"test\"),\n\t\t\tMasterUsername: pulumi.String(\"test\"),\n\t\t\tMasterPassword: pulumi.String(\"must_be_eight_characters\"),\n\t\t\tServerlessv2ScalingConfiguration: \u0026rds.ClusterServerlessv2ScalingConfigurationArgs{\n\t\t\t\tMaxCapacity: pulumi.Float64(1),\n\t\t\t\tMinCapacity: pulumi.Float64(0.5),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = rds.NewClusterInstance(ctx, \"exampleClusterInstance\", \u0026rds.ClusterInstanceArgs{\n\t\t\tClusterIdentifier: exampleCluster.ID(),\n\t\t\tInstanceClass: pulumi.String(\"db.serverless\"),\n\t\t\tEngine: exampleCluster.Engine,\n\t\t\tEngineVersion: exampleCluster.EngineVersion,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.rds.Cluster;\nimport com.pulumi.aws.rds.ClusterArgs;\nimport com.pulumi.aws.rds.inputs.ClusterServerlessv2ScalingConfigurationArgs;\nimport com.pulumi.aws.rds.ClusterInstance;\nimport com.pulumi.aws.rds.ClusterInstanceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var exampleCluster = new Cluster(\"exampleCluster\", ClusterArgs.builder() \n .clusterIdentifier(\"example\")\n .engine(\"aurora-postgresql\")\n .engineMode(\"provisioned\")\n .engineVersion(\"13.6\")\n .databaseName(\"test\")\n .masterUsername(\"test\")\n .masterPassword(\"must_be_eight_characters\")\n .serverlessv2ScalingConfiguration(ClusterServerlessv2ScalingConfigurationArgs.builder()\n .maxCapacity(1)\n .minCapacity(0.5)\n .build())\n .build());\n\n var exampleClusterInstance = new ClusterInstance(\"exampleClusterInstance\", ClusterInstanceArgs.builder() \n .clusterIdentifier(exampleCluster.id())\n .instanceClass(\"db.serverless\")\n .engine(exampleCluster.engine())\n .engineVersion(exampleCluster.engineVersion())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleCluster:\n type: aws:rds:Cluster\n properties:\n clusterIdentifier: example\n engine: aurora-postgresql\n engineMode: provisioned\n engineVersion: '13.6'\n databaseName: test\n masterUsername: test\n masterPassword: must_be_eight_characters\n serverlessv2ScalingConfiguration:\n maxCapacity: 1\n minCapacity: 0.5\n exampleClusterInstance:\n type: aws:rds:ClusterInstance\n properties:\n clusterIdentifier: ${exampleCluster.id}\n instanceClass: db.serverless\n engine: ${exampleCluster.engine}\n engineVersion: ${exampleCluster.engineVersion}\n```\n{{% /example %}}\n{{% example %}}\n### Global Cluster Restored From Snapshot\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst exampleClusterSnapshot = aws.rds.getClusterSnapshot({\n dbClusterIdentifier: \"example-original-cluster\",\n mostRecent: true,\n});\nconst exampleCluster = new aws.rds.Cluster(\"exampleCluster\", {\n engine: \"aurora\",\n engineVersion: \"5.6.mysql_aurora.1.22.4\",\n clusterIdentifier: \"example\",\n snapshotIdentifier: exampleClusterSnapshot.then(exampleClusterSnapshot =\u003e exampleClusterSnapshot.id),\n});\nconst exampleGlobalCluster = new aws.rds.GlobalCluster(\"exampleGlobalCluster\", {\n globalClusterIdentifier: \"example\",\n sourceDbClusterIdentifier: exampleCluster.arn,\n forceDestroy: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample_cluster_snapshot = aws.rds.get_cluster_snapshot(db_cluster_identifier=\"example-original-cluster\",\n most_recent=True)\nexample_cluster = aws.rds.Cluster(\"exampleCluster\",\n engine=\"aurora\",\n engine_version=\"5.6.mysql_aurora.1.22.4\",\n cluster_identifier=\"example\",\n snapshot_identifier=example_cluster_snapshot.id)\nexample_global_cluster = aws.rds.GlobalCluster(\"exampleGlobalCluster\",\n global_cluster_identifier=\"example\",\n source_db_cluster_identifier=example_cluster.arn,\n force_destroy=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var exampleClusterSnapshot = Aws.Rds.GetClusterSnapshot.Invoke(new()\n {\n DbClusterIdentifier = \"example-original-cluster\",\n MostRecent = true,\n });\n\n var exampleCluster = new Aws.Rds.Cluster(\"exampleCluster\", new()\n {\n Engine = \"aurora\",\n EngineVersion = \"5.6.mysql_aurora.1.22.4\",\n ClusterIdentifier = \"example\",\n SnapshotIdentifier = exampleClusterSnapshot.Apply(getClusterSnapshotResult =\u003e getClusterSnapshotResult.Id),\n });\n\n var exampleGlobalCluster = new Aws.Rds.GlobalCluster(\"exampleGlobalCluster\", new()\n {\n GlobalClusterIdentifier = \"example\",\n SourceDbClusterIdentifier = exampleCluster.Arn,\n ForceDestroy = true,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/rds\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleClusterSnapshot, err := rds.LookupClusterSnapshot(ctx, \u0026rds.LookupClusterSnapshotArgs{\n\t\t\tDbClusterIdentifier: pulumi.StringRef(\"example-original-cluster\"),\n\t\t\tMostRecent: pulumi.BoolRef(true),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleCluster, err := rds.NewCluster(ctx, \"exampleCluster\", \u0026rds.ClusterArgs{\n\t\t\tEngine: pulumi.String(\"aurora\"),\n\t\t\tEngineVersion: pulumi.String(\"5.6.mysql_aurora.1.22.4\"),\n\t\t\tClusterIdentifier: pulumi.String(\"example\"),\n\t\t\tSnapshotIdentifier: *pulumi.String(exampleClusterSnapshot.Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = rds.NewGlobalCluster(ctx, \"exampleGlobalCluster\", \u0026rds.GlobalClusterArgs{\n\t\t\tGlobalClusterIdentifier: pulumi.String(\"example\"),\n\t\t\tSourceDbClusterIdentifier: exampleCluster.Arn,\n\t\t\tForceDestroy: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.rds.RdsFunctions;\nimport com.pulumi.aws.rds.inputs.GetClusterSnapshotArgs;\nimport com.pulumi.aws.rds.Cluster;\nimport com.pulumi.aws.rds.ClusterArgs;\nimport com.pulumi.aws.rds.GlobalCluster;\nimport com.pulumi.aws.rds.GlobalClusterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var exampleClusterSnapshot = RdsFunctions.getClusterSnapshot(GetClusterSnapshotArgs.builder()\n .dbClusterIdentifier(\"example-original-cluster\")\n .mostRecent(true)\n .build());\n\n var exampleCluster = new Cluster(\"exampleCluster\", ClusterArgs.builder() \n .engine(\"aurora\")\n .engineVersion(\"5.6.mysql_aurora.1.22.4\")\n .clusterIdentifier(\"example\")\n .snapshotIdentifier(exampleClusterSnapshot.applyValue(getClusterSnapshotResult -\u003e getClusterSnapshotResult.id()))\n .build());\n\n var exampleGlobalCluster = new GlobalCluster(\"exampleGlobalCluster\", GlobalClusterArgs.builder() \n .globalClusterIdentifier(\"example\")\n .sourceDbClusterIdentifier(exampleCluster.arn())\n .forceDestroy(true)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleCluster:\n type: aws:rds:Cluster\n properties:\n # Because the global cluster is sourced from this cluster, the initial \n # # engine and engine_version values are defined here and automatically\n # # inherited by the global cluster.\n engine: aurora\n engineVersion: 5.6.mysql_aurora.1.22.4\n clusterIdentifier: example\n snapshotIdentifier: ${exampleClusterSnapshot.id}\n exampleGlobalCluster:\n type: aws:rds:GlobalCluster\n properties:\n globalClusterIdentifier: example\n sourceDbClusterIdentifier: ${exampleCluster.arn}\n forceDestroy: true\nvariables:\n exampleClusterSnapshot:\n fn::invoke:\n Function: aws:rds:getClusterSnapshot\n Arguments:\n dbClusterIdentifier: example-original-cluster\n mostRecent: true\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nRDS Clusters can be imported using the `cluster_identifier`, e.g.,\n\n```sh\n $ pulumi import aws:rds/cluster:Cluster aurora_cluster aurora-prod-cluster\n```\n\n ", + "description": "Manages a [RDS Aurora Cluster](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Aurora.html). To manage cluster instances that inherit configuration from the cluster (when not running the cluster in `serverless` engine mode), see the `aws.rds.ClusterInstance` resource. To manage non-Aurora databases (e.g., MySQL, PostgreSQL, SQL Server, etc.), see the `aws.rds.Instance` resource.\n\nFor information on the difference between the available Aurora MySQL engines\nsee [Comparison between Aurora MySQL 1 and Aurora MySQL 2](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/AuroraMySQL.Updates.20180206.html)\nin the Amazon RDS User Guide.\n\nChanges to an RDS Cluster can occur when you manually change a\nparameter, such as `port`, and are reflected in the next maintenance\nwindow. Because of this, this provider may report a difference in its planning\nphase because a modification has not yet taken place. You can use the\n`apply_immediately` flag to instruct the service to apply the change immediately\n(see documentation below).\n\n\u003e **Note:** using `apply_immediately` can result in a\nbrief downtime as the server reboots. See the AWS Docs on [RDS Maintenance](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_UpgradeDBInstance.Maintenance.html)\nfor more information.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n### Aurora MySQL 2.x (MySQL 5.7)\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst _default = new aws.rds.Cluster(\"default\", {\n availabilityZones: [\n \"us-west-2a\",\n \"us-west-2b\",\n \"us-west-2c\",\n ],\n backupRetentionPeriod: 5,\n clusterIdentifier: \"aurora-cluster-demo\",\n databaseName: \"mydb\",\n engine: \"aurora-mysql\",\n engineVersion: \"5.7.mysql_aurora.2.03.2\",\n masterPassword: \"bar\",\n masterUsername: \"foo\",\n preferredBackupWindow: \"07:00-09:00\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ndefault = aws.rds.Cluster(\"default\",\n availability_zones=[\n \"us-west-2a\",\n \"us-west-2b\",\n \"us-west-2c\",\n ],\n backup_retention_period=5,\n cluster_identifier=\"aurora-cluster-demo\",\n database_name=\"mydb\",\n engine=\"aurora-mysql\",\n engine_version=\"5.7.mysql_aurora.2.03.2\",\n master_password=\"bar\",\n master_username=\"foo\",\n preferred_backup_window=\"07:00-09:00\")\n```\n```csharp\nusing System.Collections.Generic;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Aws.Rds.Cluster(\"default\", new()\n {\n AvailabilityZones = new[]\n {\n \"us-west-2a\",\n \"us-west-2b\",\n \"us-west-2c\",\n },\n BackupRetentionPeriod = 5,\n ClusterIdentifier = \"aurora-cluster-demo\",\n DatabaseName = \"mydb\",\n Engine = \"aurora-mysql\",\n EngineVersion = \"5.7.mysql_aurora.2.03.2\",\n MasterPassword = \"bar\",\n MasterUsername = \"foo\",\n PreferredBackupWindow = \"07:00-09:00\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/rds\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := rds.NewCluster(ctx, \"default\", \u0026rds.ClusterArgs{\n\t\t\tAvailabilityZones: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"us-west-2a\"),\n\t\t\t\tpulumi.String(\"us-west-2b\"),\n\t\t\t\tpulumi.String(\"us-west-2c\"),\n\t\t\t},\n\t\t\tBackupRetentionPeriod: pulumi.Int(5),\n\t\t\tClusterIdentifier: pulumi.String(\"aurora-cluster-demo\"),\n\t\t\tDatabaseName: pulumi.String(\"mydb\"),\n\t\t\tEngine: pulumi.String(\"aurora-mysql\"),\n\t\t\tEngineVersion: pulumi.String(\"5.7.mysql_aurora.2.03.2\"),\n\t\t\tMasterPassword: pulumi.String(\"bar\"),\n\t\t\tMasterUsername: pulumi.String(\"foo\"),\n\t\t\tPreferredBackupWindow: pulumi.String(\"07:00-09:00\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.rds.Cluster;\nimport com.pulumi.aws.rds.ClusterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var default_ = new Cluster(\"default\", ClusterArgs.builder() \n .availabilityZones( \n \"us-west-2a\",\n \"us-west-2b\",\n \"us-west-2c\")\n .backupRetentionPeriod(5)\n .clusterIdentifier(\"aurora-cluster-demo\")\n .databaseName(\"mydb\")\n .engine(\"aurora-mysql\")\n .engineVersion(\"5.7.mysql_aurora.2.03.2\")\n .masterPassword(\"bar\")\n .masterUsername(\"foo\")\n .preferredBackupWindow(\"07:00-09:00\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: aws:rds:Cluster\n properties:\n availabilityZones:\n - us-west-2a\n - us-west-2b\n - us-west-2c\n backupRetentionPeriod: 5\n clusterIdentifier: aurora-cluster-demo\n databaseName: mydb\n engine: aurora-mysql\n engineVersion: 5.7.mysql_aurora.2.03.2\n masterPassword: bar\n masterUsername: foo\n preferredBackupWindow: 07:00-09:00\n```\n{{% /example %}}\n{{% example %}}\n### Aurora MySQL 1.x (MySQL 5.6)\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst _default = new aws.rds.Cluster(\"default\", {\n availabilityZones: [\n \"us-west-2a\",\n \"us-west-2b\",\n \"us-west-2c\",\n ],\n backupRetentionPeriod: 5,\n clusterIdentifier: \"aurora-cluster-demo\",\n databaseName: \"mydb\",\n masterPassword: \"bar\",\n masterUsername: \"foo\",\n preferredBackupWindow: \"07:00-09:00\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ndefault = aws.rds.Cluster(\"default\",\n availability_zones=[\n \"us-west-2a\",\n \"us-west-2b\",\n \"us-west-2c\",\n ],\n backup_retention_period=5,\n cluster_identifier=\"aurora-cluster-demo\",\n database_name=\"mydb\",\n master_password=\"bar\",\n master_username=\"foo\",\n preferred_backup_window=\"07:00-09:00\")\n```\n```csharp\nusing System.Collections.Generic;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Aws.Rds.Cluster(\"default\", new()\n {\n AvailabilityZones = new[]\n {\n \"us-west-2a\",\n \"us-west-2b\",\n \"us-west-2c\",\n },\n BackupRetentionPeriod = 5,\n ClusterIdentifier = \"aurora-cluster-demo\",\n DatabaseName = \"mydb\",\n MasterPassword = \"bar\",\n MasterUsername = \"foo\",\n PreferredBackupWindow = \"07:00-09:00\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/rds\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := rds.NewCluster(ctx, \"default\", \u0026rds.ClusterArgs{\n\t\t\tAvailabilityZones: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"us-west-2a\"),\n\t\t\t\tpulumi.String(\"us-west-2b\"),\n\t\t\t\tpulumi.String(\"us-west-2c\"),\n\t\t\t},\n\t\t\tBackupRetentionPeriod: pulumi.Int(5),\n\t\t\tClusterIdentifier: pulumi.String(\"aurora-cluster-demo\"),\n\t\t\tDatabaseName: pulumi.String(\"mydb\"),\n\t\t\tMasterPassword: pulumi.String(\"bar\"),\n\t\t\tMasterUsername: pulumi.String(\"foo\"),\n\t\t\tPreferredBackupWindow: pulumi.String(\"07:00-09:00\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.rds.Cluster;\nimport com.pulumi.aws.rds.ClusterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var default_ = new Cluster(\"default\", ClusterArgs.builder() \n .availabilityZones( \n \"us-west-2a\",\n \"us-west-2b\",\n \"us-west-2c\")\n .backupRetentionPeriod(5)\n .clusterIdentifier(\"aurora-cluster-demo\")\n .databaseName(\"mydb\")\n .masterPassword(\"bar\")\n .masterUsername(\"foo\")\n .preferredBackupWindow(\"07:00-09:00\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: aws:rds:Cluster\n properties:\n availabilityZones:\n - us-west-2a\n - us-west-2b\n - us-west-2c\n backupRetentionPeriod: 5\n clusterIdentifier: aurora-cluster-demo\n databaseName: mydb\n masterPassword: bar\n masterUsername: foo\n preferredBackupWindow: 07:00-09:00\n```\n{{% /example %}}\n{{% example %}}\n### Aurora with PostgreSQL engine\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst postgresql = new aws.rds.Cluster(\"postgresql\", {\n availabilityZones: [\n \"us-west-2a\",\n \"us-west-2b\",\n \"us-west-2c\",\n ],\n backupRetentionPeriod: 5,\n clusterIdentifier: \"aurora-cluster-demo\",\n databaseName: \"mydb\",\n engine: \"aurora-postgresql\",\n masterPassword: \"bar\",\n masterUsername: \"foo\",\n preferredBackupWindow: \"07:00-09:00\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\npostgresql = aws.rds.Cluster(\"postgresql\",\n availability_zones=[\n \"us-west-2a\",\n \"us-west-2b\",\n \"us-west-2c\",\n ],\n backup_retention_period=5,\n cluster_identifier=\"aurora-cluster-demo\",\n database_name=\"mydb\",\n engine=\"aurora-postgresql\",\n master_password=\"bar\",\n master_username=\"foo\",\n preferred_backup_window=\"07:00-09:00\")\n```\n```csharp\nusing System.Collections.Generic;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var postgresql = new Aws.Rds.Cluster(\"postgresql\", new()\n {\n AvailabilityZones = new[]\n {\n \"us-west-2a\",\n \"us-west-2b\",\n \"us-west-2c\",\n },\n BackupRetentionPeriod = 5,\n ClusterIdentifier = \"aurora-cluster-demo\",\n DatabaseName = \"mydb\",\n Engine = \"aurora-postgresql\",\n MasterPassword = \"bar\",\n MasterUsername = \"foo\",\n PreferredBackupWindow = \"07:00-09:00\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/rds\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := rds.NewCluster(ctx, \"postgresql\", \u0026rds.ClusterArgs{\n\t\t\tAvailabilityZones: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"us-west-2a\"),\n\t\t\t\tpulumi.String(\"us-west-2b\"),\n\t\t\t\tpulumi.String(\"us-west-2c\"),\n\t\t\t},\n\t\t\tBackupRetentionPeriod: pulumi.Int(5),\n\t\t\tClusterIdentifier: pulumi.String(\"aurora-cluster-demo\"),\n\t\t\tDatabaseName: pulumi.String(\"mydb\"),\n\t\t\tEngine: pulumi.String(\"aurora-postgresql\"),\n\t\t\tMasterPassword: pulumi.String(\"bar\"),\n\t\t\tMasterUsername: pulumi.String(\"foo\"),\n\t\t\tPreferredBackupWindow: pulumi.String(\"07:00-09:00\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.rds.Cluster;\nimport com.pulumi.aws.rds.ClusterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var postgresql = new Cluster(\"postgresql\", ClusterArgs.builder() \n .availabilityZones( \n \"us-west-2a\",\n \"us-west-2b\",\n \"us-west-2c\")\n .backupRetentionPeriod(5)\n .clusterIdentifier(\"aurora-cluster-demo\")\n .databaseName(\"mydb\")\n .engine(\"aurora-postgresql\")\n .masterPassword(\"bar\")\n .masterUsername(\"foo\")\n .preferredBackupWindow(\"07:00-09:00\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n postgresql:\n type: aws:rds:Cluster\n properties:\n availabilityZones:\n - us-west-2a\n - us-west-2b\n - us-west-2c\n backupRetentionPeriod: 5\n clusterIdentifier: aurora-cluster-demo\n databaseName: mydb\n engine: aurora-postgresql\n masterPassword: bar\n masterUsername: foo\n preferredBackupWindow: 07:00-09:00\n```\n{{% /example %}}\n{{% example %}}\n### Aurora Multi-Master Cluster\n\n\u003e More information about Aurora Multi-Master Clusters can be found in the [RDS User Guide](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/aurora-multi-master.html).\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.rds.Cluster(\"example\", {\n clusterIdentifier: \"example\",\n dbSubnetGroupName: aws_db_subnet_group.example.name,\n engineMode: \"multimaster\",\n masterPassword: \"barbarbarbar\",\n masterUsername: \"foo\",\n skipFinalSnapshot: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.rds.Cluster(\"example\",\n cluster_identifier=\"example\",\n db_subnet_group_name=aws_db_subnet_group[\"example\"][\"name\"],\n engine_mode=\"multimaster\",\n master_password=\"barbarbarbar\",\n master_username=\"foo\",\n skip_final_snapshot=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Rds.Cluster(\"example\", new()\n {\n ClusterIdentifier = \"example\",\n DbSubnetGroupName = aws_db_subnet_group.Example.Name,\n EngineMode = \"multimaster\",\n MasterPassword = \"barbarbarbar\",\n MasterUsername = \"foo\",\n SkipFinalSnapshot = true,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/rds\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := rds.NewCluster(ctx, \"example\", \u0026rds.ClusterArgs{\n\t\t\tClusterIdentifier: pulumi.String(\"example\"),\n\t\t\tDbSubnetGroupName: pulumi.Any(aws_db_subnet_group.Example.Name),\n\t\t\tEngineMode: pulumi.String(\"multimaster\"),\n\t\t\tMasterPassword: pulumi.String(\"barbarbarbar\"),\n\t\t\tMasterUsername: pulumi.String(\"foo\"),\n\t\t\tSkipFinalSnapshot: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.rds.Cluster;\nimport com.pulumi.aws.rds.ClusterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Cluster(\"example\", ClusterArgs.builder() \n .clusterIdentifier(\"example\")\n .dbSubnetGroupName(aws_db_subnet_group.example().name())\n .engineMode(\"multimaster\")\n .masterPassword(\"barbarbarbar\")\n .masterUsername(\"foo\")\n .skipFinalSnapshot(true)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:rds:Cluster\n properties:\n clusterIdentifier: example\n dbSubnetGroupName: ${aws_db_subnet_group.example.name}\n engineMode: multimaster\n masterPassword: barbarbarbar\n masterUsername: foo\n skipFinalSnapshot: true\n```\n{{% /example %}}\n{{% example %}}\n### RDS Multi-AZ Cluster\n\n\u003e More information about RDS Multi-AZ Clusters can be found in the [RDS User Guide](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/multi-az-db-clusters-concepts.html).\n\nTo create a Multi-AZ RDS cluster, you must additionally specify the `engine`, `storage_type`, `allocated_storage`, `iops` and `db_cluster_instance_class` attributes.\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.rds.Cluster(\"example\", {\n allocatedStorage: 100,\n availabilityZones: [\n \"us-west-2a\",\n \"us-west-2b\",\n \"us-west-2c\",\n ],\n clusterIdentifier: \"example\",\n dbClusterInstanceClass: \"db.r6gd.xlarge\",\n engine: \"mysql\",\n iops: 1000,\n masterPassword: \"mustbeeightcharaters\",\n masterUsername: \"test\",\n storageType: \"io1\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.rds.Cluster(\"example\",\n allocated_storage=100,\n availability_zones=[\n \"us-west-2a\",\n \"us-west-2b\",\n \"us-west-2c\",\n ],\n cluster_identifier=\"example\",\n db_cluster_instance_class=\"db.r6gd.xlarge\",\n engine=\"mysql\",\n iops=1000,\n master_password=\"mustbeeightcharaters\",\n master_username=\"test\",\n storage_type=\"io1\")\n```\n```csharp\nusing System.Collections.Generic;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Rds.Cluster(\"example\", new()\n {\n AllocatedStorage = 100,\n AvailabilityZones = new[]\n {\n \"us-west-2a\",\n \"us-west-2b\",\n \"us-west-2c\",\n },\n ClusterIdentifier = \"example\",\n DbClusterInstanceClass = \"db.r6gd.xlarge\",\n Engine = \"mysql\",\n Iops = 1000,\n MasterPassword = \"mustbeeightcharaters\",\n MasterUsername = \"test\",\n StorageType = \"io1\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/rds\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := rds.NewCluster(ctx, \"example\", \u0026rds.ClusterArgs{\n\t\t\tAllocatedStorage: pulumi.Int(100),\n\t\t\tAvailabilityZones: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"us-west-2a\"),\n\t\t\t\tpulumi.String(\"us-west-2b\"),\n\t\t\t\tpulumi.String(\"us-west-2c\"),\n\t\t\t},\n\t\t\tClusterIdentifier: pulumi.String(\"example\"),\n\t\t\tDbClusterInstanceClass: pulumi.String(\"db.r6gd.xlarge\"),\n\t\t\tEngine: pulumi.String(\"mysql\"),\n\t\t\tIops: pulumi.Int(1000),\n\t\t\tMasterPassword: pulumi.String(\"mustbeeightcharaters\"),\n\t\t\tMasterUsername: pulumi.String(\"test\"),\n\t\t\tStorageType: pulumi.String(\"io1\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.rds.Cluster;\nimport com.pulumi.aws.rds.ClusterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Cluster(\"example\", ClusterArgs.builder() \n .allocatedStorage(100)\n .availabilityZones( \n \"us-west-2a\",\n \"us-west-2b\",\n \"us-west-2c\")\n .clusterIdentifier(\"example\")\n .dbClusterInstanceClass(\"db.r6gd.xlarge\")\n .engine(\"mysql\")\n .iops(1000)\n .masterPassword(\"mustbeeightcharaters\")\n .masterUsername(\"test\")\n .storageType(\"io1\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:rds:Cluster\n properties:\n allocatedStorage: 100\n availabilityZones:\n - us-west-2a\n - us-west-2b\n - us-west-2c\n clusterIdentifier: example\n dbClusterInstanceClass: db.r6gd.xlarge\n engine: mysql\n iops: 1000\n masterPassword: mustbeeightcharaters\n masterUsername: test\n storageType: io1\n```\n{{% /example %}}\n{{% example %}}\n### RDS Serverless v2 Cluster\n\n\u003e More information about RDS Serverless v2 Clusters can be found in the [RDS User Guide](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/aurora-serverless-v2.html).\n\nTo create a Serverless v2 RDS cluster, you must additionally specify the `engine_mode` and `serverlessv2_scaling_configuration` attributes. An `aws.rds.ClusterInstance` resource must also be added to the cluster with the `instance_class` attribute specified.\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst exampleCluster = new aws.rds.Cluster(\"exampleCluster\", {\n clusterIdentifier: \"example\",\n engine: \"aurora-postgresql\",\n engineMode: \"provisioned\",\n engineVersion: \"13.6\",\n databaseName: \"test\",\n masterUsername: \"test\",\n masterPassword: \"must_be_eight_characters\",\n serverlessv2ScalingConfiguration: {\n maxCapacity: 1,\n minCapacity: 0.5,\n },\n});\nconst exampleClusterInstance = new aws.rds.ClusterInstance(\"exampleClusterInstance\", {\n clusterIdentifier: exampleCluster.id,\n instanceClass: \"db.serverless\",\n engine: exampleCluster.engine,\n engineVersion: exampleCluster.engineVersion,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample_cluster = aws.rds.Cluster(\"exampleCluster\",\n cluster_identifier=\"example\",\n engine=\"aurora-postgresql\",\n engine_mode=\"provisioned\",\n engine_version=\"13.6\",\n database_name=\"test\",\n master_username=\"test\",\n master_password=\"must_be_eight_characters\",\n serverlessv2_scaling_configuration=aws.rds.ClusterServerlessv2ScalingConfigurationArgs(\n max_capacity=1,\n min_capacity=0.5,\n ))\nexample_cluster_instance = aws.rds.ClusterInstance(\"exampleClusterInstance\",\n cluster_identifier=example_cluster.id,\n instance_class=\"db.serverless\",\n engine=example_cluster.engine,\n engine_version=example_cluster.engine_version)\n```\n```csharp\nusing System.Collections.Generic;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var exampleCluster = new Aws.Rds.Cluster(\"exampleCluster\", new()\n {\n ClusterIdentifier = \"example\",\n Engine = \"aurora-postgresql\",\n EngineMode = \"provisioned\",\n EngineVersion = \"13.6\",\n DatabaseName = \"test\",\n MasterUsername = \"test\",\n MasterPassword = \"must_be_eight_characters\",\n Serverlessv2ScalingConfiguration = new Aws.Rds.Inputs.ClusterServerlessv2ScalingConfigurationArgs\n {\n MaxCapacity = 1,\n MinCapacity = 0.5,\n },\n });\n\n var exampleClusterInstance = new Aws.Rds.ClusterInstance(\"exampleClusterInstance\", new()\n {\n ClusterIdentifier = exampleCluster.Id,\n InstanceClass = \"db.serverless\",\n Engine = exampleCluster.Engine,\n EngineVersion = exampleCluster.EngineVersion,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/rds\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleCluster, err := rds.NewCluster(ctx, \"exampleCluster\", \u0026rds.ClusterArgs{\n\t\t\tClusterIdentifier: pulumi.String(\"example\"),\n\t\t\tEngine: pulumi.String(\"aurora-postgresql\"),\n\t\t\tEngineMode: pulumi.String(\"provisioned\"),\n\t\t\tEngineVersion: pulumi.String(\"13.6\"),\n\t\t\tDatabaseName: pulumi.String(\"test\"),\n\t\t\tMasterUsername: pulumi.String(\"test\"),\n\t\t\tMasterPassword: pulumi.String(\"must_be_eight_characters\"),\n\t\t\tServerlessv2ScalingConfiguration: \u0026rds.ClusterServerlessv2ScalingConfigurationArgs{\n\t\t\t\tMaxCapacity: pulumi.Float64(1),\n\t\t\t\tMinCapacity: pulumi.Float64(0.5),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = rds.NewClusterInstance(ctx, \"exampleClusterInstance\", \u0026rds.ClusterInstanceArgs{\n\t\t\tClusterIdentifier: exampleCluster.ID(),\n\t\t\tInstanceClass: pulumi.String(\"db.serverless\"),\n\t\t\tEngine: exampleCluster.Engine,\n\t\t\tEngineVersion: exampleCluster.EngineVersion,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.rds.Cluster;\nimport com.pulumi.aws.rds.ClusterArgs;\nimport com.pulumi.aws.rds.inputs.ClusterServerlessv2ScalingConfigurationArgs;\nimport com.pulumi.aws.rds.ClusterInstance;\nimport com.pulumi.aws.rds.ClusterInstanceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var exampleCluster = new Cluster(\"exampleCluster\", ClusterArgs.builder() \n .clusterIdentifier(\"example\")\n .engine(\"aurora-postgresql\")\n .engineMode(\"provisioned\")\n .engineVersion(\"13.6\")\n .databaseName(\"test\")\n .masterUsername(\"test\")\n .masterPassword(\"must_be_eight_characters\")\n .serverlessv2ScalingConfiguration(ClusterServerlessv2ScalingConfigurationArgs.builder()\n .maxCapacity(1)\n .minCapacity(0.5)\n .build())\n .build());\n\n var exampleClusterInstance = new ClusterInstance(\"exampleClusterInstance\", ClusterInstanceArgs.builder() \n .clusterIdentifier(exampleCluster.id())\n .instanceClass(\"db.serverless\")\n .engine(exampleCluster.engine())\n .engineVersion(exampleCluster.engineVersion())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleCluster:\n type: aws:rds:Cluster\n properties:\n clusterIdentifier: example\n engine: aurora-postgresql\n engineMode: provisioned\n engineVersion: '13.6'\n databaseName: test\n masterUsername: test\n masterPassword: must_be_eight_characters\n serverlessv2ScalingConfiguration:\n maxCapacity: 1\n minCapacity: 0.5\n exampleClusterInstance:\n type: aws:rds:ClusterInstance\n properties:\n clusterIdentifier: ${exampleCluster.id}\n instanceClass: db.serverless\n engine: ${exampleCluster.engine}\n engineVersion: ${exampleCluster.engineVersion}\n```\n{{% /example %}}\n{{% example %}}\n### RDS/Aurora Managed Master Passwords via Secrets Manager, default KMS Key\n\n\u003e More information about RDS/Aurora Aurora integrates with Secrets Manager to manage master user passwords for your DB clusters can be found in the [RDS User Guide](https://aws.amazon.com/about-aws/whats-new/2022/12/amazon-rds-integration-aws-secrets-manager/) and [Aurora User Guide](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/rds-secrets-manager.html).\n\nYou can specify the `manage_master_user_password` attribute to enable managing the master password with Secrets Manager. You can also update an existing cluster to use Secrets Manager by specify the `manage_master_user_password` attribute and removing the `master_password` attribute (removal is required).\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = new aws.rds.Cluster(\"test\", {\n clusterIdentifier: \"example\",\n databaseName: \"test\",\n manageMasterUserPassword: true,\n masterUsername: \"test\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.rds.Cluster(\"test\",\n cluster_identifier=\"example\",\n database_name=\"test\",\n manage_master_user_password=True,\n master_username=\"test\")\n```\n```csharp\nusing System.Collections.Generic;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = new Aws.Rds.Cluster(\"test\", new()\n {\n ClusterIdentifier = \"example\",\n DatabaseName = \"test\",\n ManageMasterUserPassword = true,\n MasterUsername = \"test\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/rds\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := rds.NewCluster(ctx, \"test\", \u0026rds.ClusterArgs{\n\t\t\tClusterIdentifier: pulumi.String(\"example\"),\n\t\t\tDatabaseName: pulumi.String(\"test\"),\n\t\t\tManageMasterUserPassword: pulumi.Bool(true),\n\t\t\tMasterUsername: pulumi.String(\"test\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.rds.Cluster;\nimport com.pulumi.aws.rds.ClusterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var test = new Cluster(\"test\", ClusterArgs.builder() \n .clusterIdentifier(\"example\")\n .databaseName(\"test\")\n .manageMasterUserPassword(true)\n .masterUsername(\"test\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n test:\n type: aws:rds:Cluster\n properties:\n clusterIdentifier: example\n databaseName: test\n manageMasterUserPassword: true\n masterUsername: test\n```\n{{% /example %}}\n{{% example %}}\n### RDS/Aurora Managed Master Passwords via Secrets Manager, specific KMS Key\n\n\u003e More information about RDS/Aurora Aurora integrates with Secrets Manager to manage master user passwords for your DB clusters can be found in the [RDS User Guide](https://aws.amazon.com/about-aws/whats-new/2022/12/amazon-rds-integration-aws-secrets-manager/) and [Aurora User Guide](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/rds-secrets-manager.html).\n\nYou can specify the `master_user_secret_kms_key_id` attribute to specify a specific KMS Key.\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.kms.Key(\"example\", {description: \"Example KMS Key\"});\nconst test = new aws.rds.Cluster(\"test\", {\n clusterIdentifier: \"example\",\n databaseName: \"test\",\n manageMasterUserPassword: true,\n masterUsername: \"test\",\n masterUserSecretKmsKeyId: example.keyId,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.kms.Key(\"example\", description=\"Example KMS Key\")\ntest = aws.rds.Cluster(\"test\",\n cluster_identifier=\"example\",\n database_name=\"test\",\n manage_master_user_password=True,\n master_username=\"test\",\n master_user_secret_kms_key_id=example.key_id)\n```\n```csharp\nusing System.Collections.Generic;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Kms.Key(\"example\", new()\n {\n Description = \"Example KMS Key\",\n });\n\n var test = new Aws.Rds.Cluster(\"test\", new()\n {\n ClusterIdentifier = \"example\",\n DatabaseName = \"test\",\n ManageMasterUserPassword = true,\n MasterUsername = \"test\",\n MasterUserSecretKmsKeyId = example.KeyId,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/kms\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/rds\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := kms.NewKey(ctx, \"example\", \u0026kms.KeyArgs{\n\t\t\tDescription: pulumi.String(\"Example KMS Key\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = rds.NewCluster(ctx, \"test\", \u0026rds.ClusterArgs{\n\t\t\tClusterIdentifier: pulumi.String(\"example\"),\n\t\t\tDatabaseName: pulumi.String(\"test\"),\n\t\t\tManageMasterUserPassword: pulumi.Bool(true),\n\t\t\tMasterUsername: pulumi.String(\"test\"),\n\t\t\tMasterUserSecretKmsKeyId: example.KeyId,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.kms.Key;\nimport com.pulumi.aws.kms.KeyArgs;\nimport com.pulumi.aws.rds.Cluster;\nimport com.pulumi.aws.rds.ClusterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Key(\"example\", KeyArgs.builder() \n .description(\"Example KMS Key\")\n .build());\n\n var test = new Cluster(\"test\", ClusterArgs.builder() \n .clusterIdentifier(\"example\")\n .databaseName(\"test\")\n .manageMasterUserPassword(true)\n .masterUsername(\"test\")\n .masterUserSecretKmsKeyId(example.keyId())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:kms:Key\n properties:\n description: Example KMS Key\n test:\n type: aws:rds:Cluster\n properties:\n clusterIdentifier: example\n databaseName: test\n manageMasterUserPassword: true\n masterUsername: test\n masterUserSecretKmsKeyId: ${example.keyId}\n```\n{{% /example %}}\n{{% example %}}\n### Global Cluster Restored From Snapshot\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst exampleClusterSnapshot = aws.rds.getClusterSnapshot({\n dbClusterIdentifier: \"example-original-cluster\",\n mostRecent: true,\n});\nconst exampleCluster = new aws.rds.Cluster(\"exampleCluster\", {\n engine: \"aurora\",\n engineVersion: \"5.6.mysql_aurora.1.22.4\",\n clusterIdentifier: \"example\",\n snapshotIdentifier: exampleClusterSnapshot.then(exampleClusterSnapshot =\u003e exampleClusterSnapshot.id),\n});\nconst exampleGlobalCluster = new aws.rds.GlobalCluster(\"exampleGlobalCluster\", {\n globalClusterIdentifier: \"example\",\n sourceDbClusterIdentifier: exampleCluster.arn,\n forceDestroy: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample_cluster_snapshot = aws.rds.get_cluster_snapshot(db_cluster_identifier=\"example-original-cluster\",\n most_recent=True)\nexample_cluster = aws.rds.Cluster(\"exampleCluster\",\n engine=\"aurora\",\n engine_version=\"5.6.mysql_aurora.1.22.4\",\n cluster_identifier=\"example\",\n snapshot_identifier=example_cluster_snapshot.id)\nexample_global_cluster = aws.rds.GlobalCluster(\"exampleGlobalCluster\",\n global_cluster_identifier=\"example\",\n source_db_cluster_identifier=example_cluster.arn,\n force_destroy=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var exampleClusterSnapshot = Aws.Rds.GetClusterSnapshot.Invoke(new()\n {\n DbClusterIdentifier = \"example-original-cluster\",\n MostRecent = true,\n });\n\n var exampleCluster = new Aws.Rds.Cluster(\"exampleCluster\", new()\n {\n Engine = \"aurora\",\n EngineVersion = \"5.6.mysql_aurora.1.22.4\",\n ClusterIdentifier = \"example\",\n SnapshotIdentifier = exampleClusterSnapshot.Apply(getClusterSnapshotResult =\u003e getClusterSnapshotResult.Id),\n });\n\n var exampleGlobalCluster = new Aws.Rds.GlobalCluster(\"exampleGlobalCluster\", new()\n {\n GlobalClusterIdentifier = \"example\",\n SourceDbClusterIdentifier = exampleCluster.Arn,\n ForceDestroy = true,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/rds\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleClusterSnapshot, err := rds.LookupClusterSnapshot(ctx, \u0026rds.LookupClusterSnapshotArgs{\n\t\t\tDbClusterIdentifier: pulumi.StringRef(\"example-original-cluster\"),\n\t\t\tMostRecent: pulumi.BoolRef(true),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleCluster, err := rds.NewCluster(ctx, \"exampleCluster\", \u0026rds.ClusterArgs{\n\t\t\tEngine: pulumi.String(\"aurora\"),\n\t\t\tEngineVersion: pulumi.String(\"5.6.mysql_aurora.1.22.4\"),\n\t\t\tClusterIdentifier: pulumi.String(\"example\"),\n\t\t\tSnapshotIdentifier: *pulumi.String(exampleClusterSnapshot.Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = rds.NewGlobalCluster(ctx, \"exampleGlobalCluster\", \u0026rds.GlobalClusterArgs{\n\t\t\tGlobalClusterIdentifier: pulumi.String(\"example\"),\n\t\t\tSourceDbClusterIdentifier: exampleCluster.Arn,\n\t\t\tForceDestroy: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.rds.RdsFunctions;\nimport com.pulumi.aws.rds.inputs.GetClusterSnapshotArgs;\nimport com.pulumi.aws.rds.Cluster;\nimport com.pulumi.aws.rds.ClusterArgs;\nimport com.pulumi.aws.rds.GlobalCluster;\nimport com.pulumi.aws.rds.GlobalClusterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var exampleClusterSnapshot = RdsFunctions.getClusterSnapshot(GetClusterSnapshotArgs.builder()\n .dbClusterIdentifier(\"example-original-cluster\")\n .mostRecent(true)\n .build());\n\n var exampleCluster = new Cluster(\"exampleCluster\", ClusterArgs.builder() \n .engine(\"aurora\")\n .engineVersion(\"5.6.mysql_aurora.1.22.4\")\n .clusterIdentifier(\"example\")\n .snapshotIdentifier(exampleClusterSnapshot.applyValue(getClusterSnapshotResult -\u003e getClusterSnapshotResult.id()))\n .build());\n\n var exampleGlobalCluster = new GlobalCluster(\"exampleGlobalCluster\", GlobalClusterArgs.builder() \n .globalClusterIdentifier(\"example\")\n .sourceDbClusterIdentifier(exampleCluster.arn())\n .forceDestroy(true)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleCluster:\n type: aws:rds:Cluster\n properties:\n # Because the global cluster is sourced from this cluster, the initial \n # # engine and engine_version values are defined here and automatically\n # # inherited by the global cluster.\n engine: aurora\n engineVersion: 5.6.mysql_aurora.1.22.4\n clusterIdentifier: example\n snapshotIdentifier: ${exampleClusterSnapshot.id}\n exampleGlobalCluster:\n type: aws:rds:GlobalCluster\n properties:\n globalClusterIdentifier: example\n sourceDbClusterIdentifier: ${exampleCluster.arn}\n forceDestroy: true\nvariables:\n exampleClusterSnapshot:\n fn::invoke:\n Function: aws:rds:getClusterSnapshot\n Arguments:\n dbClusterIdentifier: example-original-cluster\n mostRecent: true\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nRDS Clusters can be imported using the `cluster_identifier`, e.g.,\n\n```sh\n $ pulumi import aws:rds/cluster:Cluster aurora_cluster aurora-prod-cluster\n```\n\n ", "properties": { "allocatedStorage": { "type": "integer", @@ -380750,11 +384237,26 @@ "type": "string", "description": "The ARN for the KMS encryption key. When specifying `kms_key_id`, `storage_encrypted` needs to be set to true.\n" }, + "manageMasterUserPassword": { + "type": "boolean", + "description": "Set to true to allow RDS to manage the master user password in Secrets Manager. Cannot be set if `master_password` is provided.\n" + }, "masterPassword": { "type": "string", - "description": "Password for the master DB user. Note that this may show up in logs, and it will be stored in the state file. Please refer to the [RDS Naming Constraints](http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Limits.html#RDS_Limits.Constraints)\n", + "description": "Password for the master DB user. Note that this may show up in logs, and it will be stored in the state file. Please refer to the [RDS Naming Constraints](http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Limits.html#RDS_Limits.Constraints). Cannot be set if `manage_master_user_password` is set to `true`.\n", "secret": true }, + "masterUserSecretKmsKeyId": { + "type": "string", + "description": "The Amazon Web Services KMS key identifier is the key ARN, key ID, alias ARN, or alias name for the KMS key. To use a KMS key in a different Amazon Web Services account, specify the key ARN or alias ARN. If not specified, the default KMS key for your Amazon Web Services account is used.\n" + }, + "masterUserSecrets": { + "type": "array", + "items": { + "$ref": "#/types/aws:rds/ClusterMasterUserSecret:ClusterMasterUserSecret" + }, + "description": "A block that specifies the master user secret. Only available when `manage_master_user_password` is set to true. Documented below.\n" + }, "masterUsername": { "type": "string", "description": "Username for the master DB user. Please refer to the [RDS Naming Constraints](http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Limits.html#RDS_Limits.Constraints). This argument does not support in-place updates and cannot be changed during a restore from snapshot.\n" @@ -380858,6 +384360,8 @@ "hostedZoneId", "iamRoles", "kmsKeyId", + "masterUserSecrets", + "masterUserSecretKmsKeyId", "masterUsername", "networkType", "port", @@ -381019,11 +384523,19 @@ "description": "The ARN for the KMS encryption key. When specifying `kms_key_id`, `storage_encrypted` needs to be set to true.\n", "willReplaceOnChanges": true }, + "manageMasterUserPassword": { + "type": "boolean", + "description": "Set to true to allow RDS to manage the master user password in Secrets Manager. Cannot be set if `master_password` is provided.\n" + }, "masterPassword": { "type": "string", - "description": "Password for the master DB user. Note that this may show up in logs, and it will be stored in the state file. Please refer to the [RDS Naming Constraints](http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Limits.html#RDS_Limits.Constraints)\n", + "description": "Password for the master DB user. Note that this may show up in logs, and it will be stored in the state file. Please refer to the [RDS Naming Constraints](http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Limits.html#RDS_Limits.Constraints). Cannot be set if `manage_master_user_password` is set to `true`.\n", "secret": true }, + "masterUserSecretKmsKeyId": { + "type": "string", + "description": "The Amazon Web Services KMS key identifier is the key ARN, key ID, alias ARN, or alias name for the KMS key. To use a KMS key in a different Amazon Web Services account, specify the key ARN or alias ARN. If not specified, the default KMS key for your Amazon Web Services account is used.\n" + }, "masterUsername": { "type": "string", "description": "Username for the master DB user. Please refer to the [RDS Naming Constraints](http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Limits.html#RDS_Limits.Constraints). This argument does not support in-place updates and cannot be changed during a restore from snapshot.\n", @@ -381276,11 +384788,26 @@ "description": "The ARN for the KMS encryption key. When specifying `kms_key_id`, `storage_encrypted` needs to be set to true.\n", "willReplaceOnChanges": true }, + "manageMasterUserPassword": { + "type": "boolean", + "description": "Set to true to allow RDS to manage the master user password in Secrets Manager. Cannot be set if `master_password` is provided.\n" + }, "masterPassword": { "type": "string", - "description": "Password for the master DB user. Note that this may show up in logs, and it will be stored in the state file. Please refer to the [RDS Naming Constraints](http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Limits.html#RDS_Limits.Constraints)\n", + "description": "Password for the master DB user. Note that this may show up in logs, and it will be stored in the state file. Please refer to the [RDS Naming Constraints](http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Limits.html#RDS_Limits.Constraints). Cannot be set if `manage_master_user_password` is set to `true`.\n", "secret": true }, + "masterUserSecretKmsKeyId": { + "type": "string", + "description": "The Amazon Web Services KMS key identifier is the key ARN, key ID, alias ARN, or alias name for the KMS key. To use a KMS key in a different Amazon Web Services account, specify the key ARN or alias ARN. If not specified, the default KMS key for your Amazon Web Services account is used.\n" + }, + "masterUserSecrets": { + "type": "array", + "items": { + "$ref": "#/types/aws:rds/ClusterMasterUserSecret:ClusterMasterUserSecret" + }, + "description": "A block that specifies the master user secret. Only available when `manage_master_user_password` is set to true. Documented below.\n" + }, "masterUsername": { "type": "string", "description": "Username for the master DB user. Please refer to the [RDS Naming Constraints](http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Limits.html#RDS_Limits.Constraints). This argument does not support in-place updates and cannot be changed during a restore from snapshot.\n", @@ -382837,7 +386364,7 @@ } }, "aws:rds/instance:Instance": { - "description": "Provides an RDS instance resource. A DB instance is an isolated database\nenvironment in the cloud. A DB instance can contain multiple user-created\ndatabases.\n\nChanges to a DB instance can occur when you manually change a parameter, such as\n`allocated_storage`, and are reflected in the next maintenance window. Because\nof this, this provider may report a difference in its planning phase because a\nmodification has not yet taken place. You can use the `apply_immediately` flag\nto instruct the service to apply the change immediately (see documentation\nbelow).\n\nWhen upgrading the major version of an engine, `allow_major_version_upgrade` must be set to `true`.\n\n\u003e **Note:** using `apply_immediately` can result in a brief downtime as the server reboots.\nSee the AWS Docs on [RDS Instance Maintenance][instance-maintenance] for more information.\n\n\u003e **Note:** All arguments including the username and password will be stored in the raw state as plain-text.\nRead more about sensitive data instate.\n\n\n## RDS Instance Class Types\n\nAmazon RDS supports three types of instance classes: Standard, Memory Optimized, and Burstable Performance.\nFor more information please read the AWS RDS documentation about [DB Instance Class Types](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.DBInstanceClass.html)\n\n## Low-Downtime Updates\n\nBy default, RDS applies updates to DB Instances in-place, which can lead to service interruptions.\nLow-downtime updates minimize service interruptions by performing the updates with an [RDS Blue/Green deployment][blue-green] and switching over the instances when complete.\n\nLow-downtime updates are only available for DB Instances using MySQL and MariaDB,\nas other engines are not supported by RDS Blue/Green deployments.\n\nBackups must be enabled to use low-downtime updates.\n\nEnable low-downtime updates by setting `blue_green_update.enabled` to `true`.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n### Basic Usage\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst _default = new aws.rds.Instance(\"default\", {\n allocatedStorage: 10,\n dbName: \"mydb\",\n engine: \"mysql\",\n engineVersion: \"5.7\",\n instanceClass: \"db.t3.micro\",\n parameterGroupName: \"default.mysql5.7\",\n password: \"foobarbaz\",\n skipFinalSnapshot: true,\n username: \"foo\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ndefault = aws.rds.Instance(\"default\",\n allocated_storage=10,\n db_name=\"mydb\",\n engine=\"mysql\",\n engine_version=\"5.7\",\n instance_class=\"db.t3.micro\",\n parameter_group_name=\"default.mysql5.7\",\n password=\"foobarbaz\",\n skip_final_snapshot=True,\n username=\"foo\")\n```\n```csharp\nusing System.Collections.Generic;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Aws.Rds.Instance(\"default\", new()\n {\n AllocatedStorage = 10,\n DbName = \"mydb\",\n Engine = \"mysql\",\n EngineVersion = \"5.7\",\n InstanceClass = \"db.t3.micro\",\n ParameterGroupName = \"default.mysql5.7\",\n Password = \"foobarbaz\",\n SkipFinalSnapshot = true,\n Username = \"foo\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/rds\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := rds.NewInstance(ctx, \"default\", \u0026rds.InstanceArgs{\n\t\t\tAllocatedStorage: pulumi.Int(10),\n\t\t\tDbName: pulumi.String(\"mydb\"),\n\t\t\tEngine: pulumi.String(\"mysql\"),\n\t\t\tEngineVersion: pulumi.String(\"5.7\"),\n\t\t\tInstanceClass: pulumi.String(\"db.t3.micro\"),\n\t\t\tParameterGroupName: pulumi.String(\"default.mysql5.7\"),\n\t\t\tPassword: pulumi.String(\"foobarbaz\"),\n\t\t\tSkipFinalSnapshot: pulumi.Bool(true),\n\t\t\tUsername: pulumi.String(\"foo\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.rds.Instance;\nimport com.pulumi.aws.rds.InstanceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var default_ = new Instance(\"default\", InstanceArgs.builder() \n .allocatedStorage(10)\n .dbName(\"mydb\")\n .engine(\"mysql\")\n .engineVersion(\"5.7\")\n .instanceClass(\"db.t3.micro\")\n .parameterGroupName(\"default.mysql5.7\")\n .password(\"foobarbaz\")\n .skipFinalSnapshot(true)\n .username(\"foo\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: aws:rds:Instance\n properties:\n allocatedStorage: 10\n dbName: mydb\n engine: mysql\n engineVersion: '5.7'\n instanceClass: db.t3.micro\n parameterGroupName: default.mysql5.7\n password: foobarbaz\n skipFinalSnapshot: true\n username: foo\n```\n{{% /example %}}\n{{% example %}}\n### Storage Autoscaling\n\nTo enable Storage Autoscaling with instances that support the feature, define the `max_allocated_storage` argument higher than the `allocated_storage` argument. This provider will automatically hide differences with the `allocated_storage` argument value if autoscaling occurs.\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.rds.Instance(\"example\", {\n allocatedStorage: 50,\n maxAllocatedStorage: 100,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.rds.Instance(\"example\",\n allocated_storage=50,\n max_allocated_storage=100)\n```\n```csharp\nusing System.Collections.Generic;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Rds.Instance(\"example\", new()\n {\n AllocatedStorage = 50,\n MaxAllocatedStorage = 100,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/rds\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := rds.NewInstance(ctx, \"example\", \u0026rds.InstanceArgs{\n\t\t\tAllocatedStorage: pulumi.Int(50),\n\t\t\tMaxAllocatedStorage: pulumi.Int(100),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.rds.Instance;\nimport com.pulumi.aws.rds.InstanceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Instance(\"example\", InstanceArgs.builder() \n .allocatedStorage(50)\n .maxAllocatedStorage(100)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:rds:Instance\n properties:\n allocatedStorage: 50\n maxAllocatedStorage: 100\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nDB Instances can be imported using the `identifier`, e.g.,\n\n```sh\n $ pulumi import aws:rds/instance:Instance default mydb-rds-instance\n```\n\n ", + "description": "Provides an RDS instance resource. A DB instance is an isolated database\nenvironment in the cloud. A DB instance can contain multiple user-created\ndatabases.\n\nChanges to a DB instance can occur when you manually change a parameter, such as\n`allocated_storage`, and are reflected in the next maintenance window. Because\nof this, this provider may report a difference in its planning phase because a\nmodification has not yet taken place. You can use the `apply_immediately` flag\nto instruct the service to apply the change immediately (see documentation\nbelow).\n\nWhen upgrading the major version of an engine, `allow_major_version_upgrade` must be set to `true`.\n\n\u003e **Note:** using `apply_immediately` can result in a brief downtime as the server reboots.\nSee the AWS Docs on [RDS Instance Maintenance][instance-maintenance] for more information.\n\n\u003e **Note:** All arguments including the username and password will be stored in the raw state as plain-text.\nRead more about sensitive data instate.\n\n\n## RDS Instance Class Types\n\nAmazon RDS supports three types of instance classes: Standard, Memory Optimized, and Burstable Performance.\nFor more information please read the AWS RDS documentation about [DB Instance Class Types](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.DBInstanceClass.html)\n\n## Low-Downtime Updates\n\nBy default, RDS applies updates to DB Instances in-place, which can lead to service interruptions.\nLow-downtime updates minimize service interruptions by performing the updates with an [RDS Blue/Green deployment][blue-green] and switching over the instances when complete.\n\nLow-downtime updates are only available for DB Instances using MySQL and MariaDB,\nas other engines are not supported by RDS Blue/Green deployments.\n\nBackups must be enabled to use low-downtime updates.\n\nEnable low-downtime updates by setting `blue_green_update.enabled` to `true`.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n### Basic Usage\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst _default = new aws.rds.Instance(\"default\", {\n allocatedStorage: 10,\n dbName: \"mydb\",\n engine: \"mysql\",\n engineVersion: \"5.7\",\n instanceClass: \"db.t3.micro\",\n parameterGroupName: \"default.mysql5.7\",\n password: \"foobarbaz\",\n skipFinalSnapshot: true,\n username: \"foo\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ndefault = aws.rds.Instance(\"default\",\n allocated_storage=10,\n db_name=\"mydb\",\n engine=\"mysql\",\n engine_version=\"5.7\",\n instance_class=\"db.t3.micro\",\n parameter_group_name=\"default.mysql5.7\",\n password=\"foobarbaz\",\n skip_final_snapshot=True,\n username=\"foo\")\n```\n```csharp\nusing System.Collections.Generic;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Aws.Rds.Instance(\"default\", new()\n {\n AllocatedStorage = 10,\n DbName = \"mydb\",\n Engine = \"mysql\",\n EngineVersion = \"5.7\",\n InstanceClass = \"db.t3.micro\",\n ParameterGroupName = \"default.mysql5.7\",\n Password = \"foobarbaz\",\n SkipFinalSnapshot = true,\n Username = \"foo\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/rds\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := rds.NewInstance(ctx, \"default\", \u0026rds.InstanceArgs{\n\t\t\tAllocatedStorage: pulumi.Int(10),\n\t\t\tDbName: pulumi.String(\"mydb\"),\n\t\t\tEngine: pulumi.String(\"mysql\"),\n\t\t\tEngineVersion: pulumi.String(\"5.7\"),\n\t\t\tInstanceClass: pulumi.String(\"db.t3.micro\"),\n\t\t\tParameterGroupName: pulumi.String(\"default.mysql5.7\"),\n\t\t\tPassword: pulumi.String(\"foobarbaz\"),\n\t\t\tSkipFinalSnapshot: pulumi.Bool(true),\n\t\t\tUsername: pulumi.String(\"foo\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.rds.Instance;\nimport com.pulumi.aws.rds.InstanceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var default_ = new Instance(\"default\", InstanceArgs.builder() \n .allocatedStorage(10)\n .dbName(\"mydb\")\n .engine(\"mysql\")\n .engineVersion(\"5.7\")\n .instanceClass(\"db.t3.micro\")\n .parameterGroupName(\"default.mysql5.7\")\n .password(\"foobarbaz\")\n .skipFinalSnapshot(true)\n .username(\"foo\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: aws:rds:Instance\n properties:\n allocatedStorage: 10\n dbName: mydb\n engine: mysql\n engineVersion: '5.7'\n instanceClass: db.t3.micro\n parameterGroupName: default.mysql5.7\n password: foobarbaz\n skipFinalSnapshot: true\n username: foo\n```\n{{% /example %}}\n{{% example %}}\n### Storage Autoscaling\n\nTo enable Storage Autoscaling with instances that support the feature, define the `max_allocated_storage` argument higher than the `allocated_storage` argument. This provider will automatically hide differences with the `allocated_storage` argument value if autoscaling occurs.\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.rds.Instance(\"example\", {\n allocatedStorage: 50,\n maxAllocatedStorage: 100,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.rds.Instance(\"example\",\n allocated_storage=50,\n max_allocated_storage=100)\n```\n```csharp\nusing System.Collections.Generic;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Rds.Instance(\"example\", new()\n {\n AllocatedStorage = 50,\n MaxAllocatedStorage = 100,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/rds\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := rds.NewInstance(ctx, \"example\", \u0026rds.InstanceArgs{\n\t\t\tAllocatedStorage: pulumi.Int(50),\n\t\t\tMaxAllocatedStorage: pulumi.Int(100),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.rds.Instance;\nimport com.pulumi.aws.rds.InstanceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Instance(\"example\", InstanceArgs.builder() \n .allocatedStorage(50)\n .maxAllocatedStorage(100)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:rds:Instance\n properties:\n allocatedStorage: 50\n maxAllocatedStorage: 100\n```\n{{% /example %}}\n{{% example %}}\n### Managed Master Passwords via Secrets Manager, default KMS Key\n\n\u003e More information about RDS/Aurora Aurora integrates with Secrets Manager to manage master user passwords for your DB clusters can be found in the [RDS User Guide](https://aws.amazon.com/about-aws/whats-new/2022/12/amazon-rds-integration-aws-secrets-manager/) and [Aurora User Guide](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/rds-secrets-manager.html).\n\nYou can specify the `manage_master_user_password` attribute to enable managing the master password with Secrets Manager. You can also update an existing cluster to use Secrets Manager by specify the `manage_master_user_password` attribute and removing the `password` attribute (removal is required).\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst _default = new aws.rds.Instance(\"default\", {\n allocatedStorage: 10,\n dbName: \"mydb\",\n engine: \"mysql\",\n engineVersion: \"5.7\",\n instanceClass: \"db.t3.micro\",\n manageMasterUserPassword: true,\n parameterGroupName: \"default.mysql5.7\",\n username: \"foo\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ndefault = aws.rds.Instance(\"default\",\n allocated_storage=10,\n db_name=\"mydb\",\n engine=\"mysql\",\n engine_version=\"5.7\",\n instance_class=\"db.t3.micro\",\n manage_master_user_password=True,\n parameter_group_name=\"default.mysql5.7\",\n username=\"foo\")\n```\n```csharp\nusing System.Collections.Generic;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @default = new Aws.Rds.Instance(\"default\", new()\n {\n AllocatedStorage = 10,\n DbName = \"mydb\",\n Engine = \"mysql\",\n EngineVersion = \"5.7\",\n InstanceClass = \"db.t3.micro\",\n ManageMasterUserPassword = true,\n ParameterGroupName = \"default.mysql5.7\",\n Username = \"foo\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/rds\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := rds.NewInstance(ctx, \"default\", \u0026rds.InstanceArgs{\n\t\t\tAllocatedStorage: pulumi.Int(10),\n\t\t\tDbName: pulumi.String(\"mydb\"),\n\t\t\tEngine: pulumi.String(\"mysql\"),\n\t\t\tEngineVersion: pulumi.String(\"5.7\"),\n\t\t\tInstanceClass: pulumi.String(\"db.t3.micro\"),\n\t\t\tManageMasterUserPassword: pulumi.Bool(true),\n\t\t\tParameterGroupName: pulumi.String(\"default.mysql5.7\"),\n\t\t\tUsername: pulumi.String(\"foo\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.rds.Instance;\nimport com.pulumi.aws.rds.InstanceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var default_ = new Instance(\"default\", InstanceArgs.builder() \n .allocatedStorage(10)\n .dbName(\"mydb\")\n .engine(\"mysql\")\n .engineVersion(\"5.7\")\n .instanceClass(\"db.t3.micro\")\n .manageMasterUserPassword(true)\n .parameterGroupName(\"default.mysql5.7\")\n .username(\"foo\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n default:\n type: aws:rds:Instance\n properties:\n allocatedStorage: 10\n dbName: mydb\n engine: mysql\n engineVersion: '5.7'\n instanceClass: db.t3.micro\n manageMasterUserPassword: true\n parameterGroupName: default.mysql5.7\n username: foo\n```\n{{% /example %}}\n{{% example %}}\n### Managed Master Passwords via Secrets Manager, specific KMS Key\n\n\u003e More information about RDS/Aurora Aurora integrates with Secrets Manager to manage master user passwords for your DB clusters can be found in the [RDS User Guide](https://aws.amazon.com/about-aws/whats-new/2022/12/amazon-rds-integration-aws-secrets-manager/) and [Aurora User Guide](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/rds-secrets-manager.html).\n\nYou can specify the `master_user_secret_kms_key_id` attribute to specify a specific KMS Key.\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = new aws.kms.Key(\"example\", {description: \"Example KMS Key\"});\nconst _default = new aws.rds.Instance(\"default\", {\n allocatedStorage: 10,\n dbName: \"mydb\",\n engine: \"mysql\",\n engineVersion: \"5.7\",\n instanceClass: \"db.t3.micro\",\n manageMasterUserPassword: true,\n masterUserSecretKmsKeyId: example.keyId,\n username: \"foo\",\n parameterGroupName: \"default.mysql5.7\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.kms.Key(\"example\", description=\"Example KMS Key\")\ndefault = aws.rds.Instance(\"default\",\n allocated_storage=10,\n db_name=\"mydb\",\n engine=\"mysql\",\n engine_version=\"5.7\",\n instance_class=\"db.t3.micro\",\n manage_master_user_password=True,\n master_user_secret_kms_key_id=example.key_id,\n username=\"foo\",\n parameter_group_name=\"default.mysql5.7\")\n```\n```csharp\nusing System.Collections.Generic;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Aws.Kms.Key(\"example\", new()\n {\n Description = \"Example KMS Key\",\n });\n\n var @default = new Aws.Rds.Instance(\"default\", new()\n {\n AllocatedStorage = 10,\n DbName = \"mydb\",\n Engine = \"mysql\",\n EngineVersion = \"5.7\",\n InstanceClass = \"db.t3.micro\",\n ManageMasterUserPassword = true,\n MasterUserSecretKmsKeyId = example.KeyId,\n Username = \"foo\",\n ParameterGroupName = \"default.mysql5.7\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/kms\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/rds\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := kms.NewKey(ctx, \"example\", \u0026kms.KeyArgs{\n\t\t\tDescription: pulumi.String(\"Example KMS Key\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = rds.NewInstance(ctx, \"default\", \u0026rds.InstanceArgs{\n\t\t\tAllocatedStorage: pulumi.Int(10),\n\t\t\tDbName: pulumi.String(\"mydb\"),\n\t\t\tEngine: pulumi.String(\"mysql\"),\n\t\t\tEngineVersion: pulumi.String(\"5.7\"),\n\t\t\tInstanceClass: pulumi.String(\"db.t3.micro\"),\n\t\t\tManageMasterUserPassword: pulumi.Bool(true),\n\t\t\tMasterUserSecretKmsKeyId: example.KeyId,\n\t\t\tUsername: pulumi.String(\"foo\"),\n\t\t\tParameterGroupName: pulumi.String(\"default.mysql5.7\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.kms.Key;\nimport com.pulumi.aws.kms.KeyArgs;\nimport com.pulumi.aws.rds.Instance;\nimport com.pulumi.aws.rds.InstanceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Key(\"example\", KeyArgs.builder() \n .description(\"Example KMS Key\")\n .build());\n\n var default_ = new Instance(\"default\", InstanceArgs.builder() \n .allocatedStorage(10)\n .dbName(\"mydb\")\n .engine(\"mysql\")\n .engineVersion(\"5.7\")\n .instanceClass(\"db.t3.micro\")\n .manageMasterUserPassword(true)\n .masterUserSecretKmsKeyId(example.keyId())\n .username(\"foo\")\n .parameterGroupName(\"default.mysql5.7\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: aws:kms:Key\n properties:\n description: Example KMS Key\n default:\n type: aws:rds:Instance\n properties:\n allocatedStorage: 10\n dbName: mydb\n engine: mysql\n engineVersion: '5.7'\n instanceClass: db.t3.micro\n manageMasterUserPassword: true\n masterUserSecretKmsKeyId: ${example.keyId}\n username: foo\n parameterGroupName: default.mysql5.7\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nDB Instances can be imported using the `identifier`, e.g.,\n\n```sh\n $ pulumi import aws:rds/instance:Instance default mydb-rds-instance\n```\n\n ", "properties": { "address": { "type": "string", @@ -382997,6 +386524,21 @@ "type": "string", "description": "The window to perform maintenance in.\nSyntax: \"ddd:hh24:mi-ddd:hh24:mi\". Eg: \"Mon:00:00-Mon:03:00\". See [RDS\nMaintenance Window\ndocs](http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_UpgradeDBInstance.Maintenance.html#AdjustingTheMaintenanceWindow)\nfor more information.\n" }, + "manageMasterUserPassword": { + "type": "boolean", + "description": "Set to true to allow RDS to manage the master user password in Secrets Manager. Cannot be set if `password` is provided.\n" + }, + "masterUserSecretKmsKeyId": { + "type": "string", + "description": "The Amazon Web Services KMS key identifier is the key ARN, key ID, alias ARN, or alias name for the KMS key. To use a KMS key in a different Amazon Web Services account, specify the key ARN or alias ARN. If not specified, the default KMS key for your Amazon Web Services account is used.\n" + }, + "masterUserSecrets": { + "type": "array", + "items": { + "$ref": "#/types/aws:rds/InstanceMasterUserSecret:InstanceMasterUserSecret" + }, + "description": "A block that specifies the master user secret. Only available when `manage_master_user_password` is set to true. Documented below.\n" + }, "maxAllocatedStorage": { "type": "integer", "description": "When configured, the upper limit to which Amazon RDS can automatically scale the storage of the DB instance. Configuring this will automatically ignore differences to `allocated_storage`. Must be greater than or equal to `allocated_storage` or `0` to disable Storage Autoscaling.\n" @@ -383035,7 +386577,7 @@ }, "password": { "type": "string", - "description": "(Required unless a `snapshot_identifier` or `replicate_source_db`\nis provided) Password for the master DB user. Note that this may show up in\nlogs, and it will be stored in the state file.\n", + "description": "(Required unless `manage_master_user_password` is set to true or unless a `snapshot_identifier` or `replicate_source_db`\nis provided or `manage_master_user_password` is set.) Password for the master DB user. Note that this may show up in\nlogs, and it will be stored in the state file. Cannot be set if `manage_master_user_password` is set to `true`.\n", "secret": true }, "performanceInsightsEnabled": { @@ -383171,6 +386713,8 @@ "licenseModel", "listenerEndpoints", "maintenanceWindow", + "masterUserSecrets", + "masterUserSecretKmsKeyId", "monitoringRoleArn", "multiAz", "name", @@ -383338,6 +386882,14 @@ "type": "string", "description": "The window to perform maintenance in.\nSyntax: \"ddd:hh24:mi-ddd:hh24:mi\". Eg: \"Mon:00:00-Mon:03:00\". See [RDS\nMaintenance Window\ndocs](http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_UpgradeDBInstance.Maintenance.html#AdjustingTheMaintenanceWindow)\nfor more information.\n" }, + "manageMasterUserPassword": { + "type": "boolean", + "description": "Set to true to allow RDS to manage the master user password in Secrets Manager. Cannot be set if `password` is provided.\n" + }, + "masterUserSecretKmsKeyId": { + "type": "string", + "description": "The Amazon Web Services KMS key identifier is the key ARN, key ID, alias ARN, or alias name for the KMS key. To use a KMS key in a different Amazon Web Services account, specify the key ARN or alias ARN. If not specified, the default KMS key for your Amazon Web Services account is used.\n" + }, "maxAllocatedStorage": { "type": "integer", "description": "When configured, the upper limit to which Amazon RDS can automatically scale the storage of the DB instance. Configuring this will automatically ignore differences to `allocated_storage`. Must be greater than or equal to `allocated_storage` or `0` to disable Storage Autoscaling.\n" @@ -383378,7 +386930,7 @@ }, "password": { "type": "string", - "description": "(Required unless a `snapshot_identifier` or `replicate_source_db`\nis provided) Password for the master DB user. Note that this may show up in\nlogs, and it will be stored in the state file.\n", + "description": "(Required unless `manage_master_user_password` is set to true or unless a `snapshot_identifier` or `replicate_source_db`\nis provided or `manage_master_user_password` is set.) Password for the master DB user. Note that this may show up in\nlogs, and it will be stored in the state file. Cannot be set if `manage_master_user_password` is set to `true`.\n", "secret": true }, "performanceInsightsEnabled": { @@ -383663,6 +387215,21 @@ "type": "string", "description": "The window to perform maintenance in.\nSyntax: \"ddd:hh24:mi-ddd:hh24:mi\". Eg: \"Mon:00:00-Mon:03:00\". See [RDS\nMaintenance Window\ndocs](http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_UpgradeDBInstance.Maintenance.html#AdjustingTheMaintenanceWindow)\nfor more information.\n" }, + "manageMasterUserPassword": { + "type": "boolean", + "description": "Set to true to allow RDS to manage the master user password in Secrets Manager. Cannot be set if `password` is provided.\n" + }, + "masterUserSecretKmsKeyId": { + "type": "string", + "description": "The Amazon Web Services KMS key identifier is the key ARN, key ID, alias ARN, or alias name for the KMS key. To use a KMS key in a different Amazon Web Services account, specify the key ARN or alias ARN. If not specified, the default KMS key for your Amazon Web Services account is used.\n" + }, + "masterUserSecrets": { + "type": "array", + "items": { + "$ref": "#/types/aws:rds/InstanceMasterUserSecret:InstanceMasterUserSecret" + }, + "description": "A block that specifies the master user secret. Only available when `manage_master_user_password` is set to true. Documented below.\n" + }, "maxAllocatedStorage": { "type": "integer", "description": "When configured, the upper limit to which Amazon RDS can automatically scale the storage of the DB instance. Configuring this will automatically ignore differences to `allocated_storage`. Must be greater than or equal to `allocated_storage` or `0` to disable Storage Autoscaling.\n" @@ -383703,7 +387270,7 @@ }, "password": { "type": "string", - "description": "(Required unless a `snapshot_identifier` or `replicate_source_db`\nis provided) Password for the master DB user. Note that this may show up in\nlogs, and it will be stored in the state file.\n", + "description": "(Required unless `manage_master_user_password` is set to true or unless a `snapshot_identifier` or `replicate_source_db`\nis provided or `manage_master_user_password` is set.) Password for the master DB user. Note that this may show up in\nlogs, and it will be stored in the state file. Cannot be set if `manage_master_user_password` is set to `true`.\n", "secret": true }, "performanceInsightsEnabled": { @@ -390061,6 +393628,13 @@ }, "description": "A map of tags to assign to the health check. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.\n" }, + "tagsAll": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block.\n" + }, "type": { "type": "string", "description": "The protocol to use when performing health checks. Valid values are `HTTP`, `HTTPS`, `HTTP_STR_MATCH`, `HTTPS_STR_MATCH`, `TCP`, `CALCULATED`, `CLOUDWATCH_METRIC` and `RECOVERY_CONTROL`.\n", @@ -392233,6 +395807,13 @@ }, "description": "A mapping of tags to assign to the zone. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.\n" }, + "tagsAll": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block.\n" + }, "vpcs": { "type": "array", "items": { @@ -395305,6 +398886,13 @@ }, "description": "Map of tags to assign to the object. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.\n" }, + "tagsAll": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block.\n" + }, "websiteRedirect": { "type": "string", "description": "Target URL for [website redirect](http://docs.aws.amazon.com/AmazonS3/latest/dev/how-to-page-redirect.html).\n" @@ -395640,137 +399228,144 @@ }, "description": "Map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block.\n" }, - "versionId": { - "type": "string", - "description": "Unique version ID value for the object, if bucket versioning is enabled.\n" - }, - "websiteRedirect": { - "type": "string", - "description": "Target URL for [website redirect](http://docs.aws.amazon.com/AmazonS3/latest/dev/how-to-page-redirect.html).\n" - } - }, - "required": [ - "bucket", - "bucketKeyEnabled", - "contentType", - "etag", - "key", - "kmsKeyId", - "serverSideEncryption", - "storageClass", - "tagsAll", - "versionId" - ], - "inputProperties": { - "acl": { - "type": "string", - "description": "[Canned ACL](https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#canned-acl) to apply. Valid values are `private`, `public-read`, `public-read-write`, `aws-exec-read`, `authenticated-read`, `bucket-owner-read`, and `bucket-owner-full-control`. Defaults to `private`.\n" - }, - "bucket": { - "type": "string", - "oneOf": [ - { - "type": "string" - }, - { - "type": "string", - "$ref": "#/types/aws:s3/bucket:Bucket" - } - ], - "description": "Name of the bucket to put the file in. Alternatively, an [S3 access point](https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html) ARN can be specified.\n", - "willReplaceOnChanges": true - }, - "bucketKeyEnabled": { - "type": "boolean", - "description": "Whether or not to use [Amazon S3 Bucket Keys](https://docs.aws.amazon.com/AmazonS3/latest/dev/bucket-key.html) for SSE-KMS.\n" - }, - "cacheControl": { - "type": "string", - "description": "Caching behavior along the request/reply chain Read [w3c cache_control](http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.9) for further details.\n" - }, - "content": { - "type": "string", - "description": "Literal string value to use as the object content, which will be uploaded as UTF-8-encoded text.\n" - }, - "contentBase64": { - "type": "string", - "description": "Base64-encoded data that will be decoded and uploaded as raw bytes for the object content. This allows safely uploading non-UTF8 binary data, but is recommended only for small content such as the result of the `gzipbase64` function with small text strings. For larger objects, use `source` to stream the content from a disk file.\n" - }, - "contentDisposition": { - "type": "string", - "description": "Presentational information for the object. Read [w3c content_disposition](http://www.w3.org/Protocols/rfc2616/rfc2616-sec19.html#sec19.5.1) for further information.\n" - }, - "contentEncoding": { - "type": "string", - "description": "Content encodings that have been applied to the object and thus what decoding mechanisms must be applied to obtain the media-type referenced by the Content-Type header field. Read [w3c content encoding](http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.11) for further information.\n" - }, - "contentLanguage": { - "type": "string", - "description": "Language the content is in e.g., en-US or en-GB.\n" - }, - "contentType": { - "type": "string", - "description": "Standard MIME type describing the format of the object data, e.g., application/octet-stream. All Valid MIME Types are valid for this input.\n" - }, - "etag": { - "type": "string", - "description": "Triggers updates when the value changes. This attribute is not compatible with KMS encryption, `kms_key_id` or `server_side_encryption = \"aws:kms\"`, also if an object is larger than 16 MB, the AWS Management Console will upload or copy that object as a Multipart Upload, and therefore the ETag will not be an MD5 digest (see `source_hash` instead).\n" - }, - "forceDestroy": { - "type": "boolean", - "description": "Whether to allow the object to be deleted by removing any legal hold on any object version. Default is `false`. This value should be set to `true` only if the bucket has S3 object lock enabled.\n" - }, - "key": { - "type": "string", - "description": "Name of the object once it is in the bucket.\n", - "willReplaceOnChanges": true - }, - "kmsKeyId": { - "type": "string", - "description": "ARN of the KMS Key to use for object encryption. If the S3 Bucket has server-side encryption enabled, that value will automatically be used. If referencing the `aws.kms.Key` resource, use the `arn` attribute. If referencing the `aws.kms.Alias` data source or resource, use the `target_key_arn` attribute. The provider will only perform drift detection if a configuration value is provided.\n" - }, - "metadata": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "Map of keys/values to provision metadata (will be automatically prefixed by `x-amz-meta-`, note that only lowercase label are currently supported by the AWS Go API).\n" - }, - "objectLockLegalHoldStatus": { - "type": "string", - "description": "[Legal hold](https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock-overview.html#object-lock-legal-holds) status that you want to apply to the specified object. Valid values are `ON` and `OFF`.\n" - }, - "objectLockMode": { - "type": "string", - "description": "Object lock [retention mode](https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock-overview.html#object-lock-retention-modes) that you want to apply to this object. Valid values are `GOVERNANCE` and `COMPLIANCE`.\n" - }, - "objectLockRetainUntilDate": { - "type": "string", - "description": "Date and time, in [RFC3339 format](https://tools.ietf.org/html/rfc3339#section-5.8), when this object's object lock will [expire](https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock-overview.html#object-lock-retention-periods).\n" - }, - "serverSideEncryption": { - "type": "string", - "description": "Server-side encryption of the object in S3. Valid values are \"`AES256`\" and \"`aws:kms`\".\n" - }, - "source": { - "$ref": "pulumi.json#/Asset", - "description": "Path to a file that will be read and uploaded as raw bytes for the object content.\n" - }, - "sourceHash": { - "type": "string", - "description": "Triggers updates like `etag` but useful to address `etag` encryption limitations. (The value is only stored in state and not saved by AWS.)\n" - }, - "storageClass": { - "type": "string", - "description": "[Storage Class](https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObject.html#AmazonS3-PutObject-request-header-StorageClass) for the object. Defaults to \"`STANDARD`\".\n" - }, - "tags": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "Map of tags to assign to the object. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.\n" - }, + "versionId": { + "type": "string", + "description": "Unique version ID value for the object, if bucket versioning is enabled.\n" + }, + "websiteRedirect": { + "type": "string", + "description": "Target URL for [website redirect](http://docs.aws.amazon.com/AmazonS3/latest/dev/how-to-page-redirect.html).\n" + } + }, + "required": [ + "bucket", + "bucketKeyEnabled", + "contentType", + "etag", + "key", + "kmsKeyId", + "serverSideEncryption", + "storageClass", + "tagsAll", + "versionId" + ], + "inputProperties": { + "acl": { + "type": "string", + "description": "[Canned ACL](https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#canned-acl) to apply. Valid values are `private`, `public-read`, `public-read-write`, `aws-exec-read`, `authenticated-read`, `bucket-owner-read`, and `bucket-owner-full-control`. Defaults to `private`.\n" + }, + "bucket": { + "type": "string", + "oneOf": [ + { + "type": "string" + }, + { + "type": "string", + "$ref": "#/types/aws:s3/bucket:Bucket" + } + ], + "description": "Name of the bucket to put the file in. Alternatively, an [S3 access point](https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html) ARN can be specified.\n", + "willReplaceOnChanges": true + }, + "bucketKeyEnabled": { + "type": "boolean", + "description": "Whether or not to use [Amazon S3 Bucket Keys](https://docs.aws.amazon.com/AmazonS3/latest/dev/bucket-key.html) for SSE-KMS.\n" + }, + "cacheControl": { + "type": "string", + "description": "Caching behavior along the request/reply chain Read [w3c cache_control](http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.9) for further details.\n" + }, + "content": { + "type": "string", + "description": "Literal string value to use as the object content, which will be uploaded as UTF-8-encoded text.\n" + }, + "contentBase64": { + "type": "string", + "description": "Base64-encoded data that will be decoded and uploaded as raw bytes for the object content. This allows safely uploading non-UTF8 binary data, but is recommended only for small content such as the result of the `gzipbase64` function with small text strings. For larger objects, use `source` to stream the content from a disk file.\n" + }, + "contentDisposition": { + "type": "string", + "description": "Presentational information for the object. Read [w3c content_disposition](http://www.w3.org/Protocols/rfc2616/rfc2616-sec19.html#sec19.5.1) for further information.\n" + }, + "contentEncoding": { + "type": "string", + "description": "Content encodings that have been applied to the object and thus what decoding mechanisms must be applied to obtain the media-type referenced by the Content-Type header field. Read [w3c content encoding](http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.11) for further information.\n" + }, + "contentLanguage": { + "type": "string", + "description": "Language the content is in e.g., en-US or en-GB.\n" + }, + "contentType": { + "type": "string", + "description": "Standard MIME type describing the format of the object data, e.g., application/octet-stream. All Valid MIME Types are valid for this input.\n" + }, + "etag": { + "type": "string", + "description": "Triggers updates when the value changes. This attribute is not compatible with KMS encryption, `kms_key_id` or `server_side_encryption = \"aws:kms\"`, also if an object is larger than 16 MB, the AWS Management Console will upload or copy that object as a Multipart Upload, and therefore the ETag will not be an MD5 digest (see `source_hash` instead).\n" + }, + "forceDestroy": { + "type": "boolean", + "description": "Whether to allow the object to be deleted by removing any legal hold on any object version. Default is `false`. This value should be set to `true` only if the bucket has S3 object lock enabled.\n" + }, + "key": { + "type": "string", + "description": "Name of the object once it is in the bucket.\n", + "willReplaceOnChanges": true + }, + "kmsKeyId": { + "type": "string", + "description": "ARN of the KMS Key to use for object encryption. If the S3 Bucket has server-side encryption enabled, that value will automatically be used. If referencing the `aws.kms.Key` resource, use the `arn` attribute. If referencing the `aws.kms.Alias` data source or resource, use the `target_key_arn` attribute. The provider will only perform drift detection if a configuration value is provided.\n" + }, + "metadata": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Map of keys/values to provision metadata (will be automatically prefixed by `x-amz-meta-`, note that only lowercase label are currently supported by the AWS Go API).\n" + }, + "objectLockLegalHoldStatus": { + "type": "string", + "description": "[Legal hold](https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock-overview.html#object-lock-legal-holds) status that you want to apply to the specified object. Valid values are `ON` and `OFF`.\n" + }, + "objectLockMode": { + "type": "string", + "description": "Object lock [retention mode](https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock-overview.html#object-lock-retention-modes) that you want to apply to this object. Valid values are `GOVERNANCE` and `COMPLIANCE`.\n" + }, + "objectLockRetainUntilDate": { + "type": "string", + "description": "Date and time, in [RFC3339 format](https://tools.ietf.org/html/rfc3339#section-5.8), when this object's object lock will [expire](https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock-overview.html#object-lock-retention-periods).\n" + }, + "serverSideEncryption": { + "type": "string", + "description": "Server-side encryption of the object in S3. Valid values are \"`AES256`\" and \"`aws:kms`\".\n" + }, + "source": { + "$ref": "pulumi.json#/Asset", + "description": "Path to a file that will be read and uploaded as raw bytes for the object content.\n" + }, + "sourceHash": { + "type": "string", + "description": "Triggers updates like `etag` but useful to address `etag` encryption limitations. (The value is only stored in state and not saved by AWS.)\n" + }, + "storageClass": { + "type": "string", + "description": "[Storage Class](https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObject.html#AmazonS3-PutObject-request-header-StorageClass) for the object. Defaults to \"`STANDARD`\".\n" + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Map of tags to assign to the object. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.\n" + }, + "tagsAll": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block.\n" + }, "websiteRedirect": { "type": "string", "description": "Target URL for [website redirect](http://docs.aws.amazon.com/AmazonS3/latest/dev/how-to-page-redirect.html).\n" @@ -396483,6 +400078,7 @@ "arn", "bucket", "bucketDomainName", + "bucketPrefix", "bucketRegionalDomainName", "corsRules", "grants", @@ -396602,6 +400198,13 @@ }, "description": "Map of tags to assign to the bucket. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.\n" }, + "tagsAll": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block.\n" + }, "versionings": { "type": "array", "items": { @@ -397519,6 +401122,13 @@ }, "description": "Map of tags to assign to the object. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.\n" }, + "tagsAll": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block.\n" + }, "websiteRedirect": { "type": "string", "description": "Specifies a target URL for [website redirect](http://docs.aws.amazon.com/AmazonS3/latest/dev/how-to-page-redirect.html).\n" @@ -403874,6 +407484,13 @@ "type": "string" }, "description": "Tags to apply to the connection. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.\n" + }, + "tagsAll": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block.\n" } }, "requiredInputs": [ @@ -404252,6 +407869,13 @@ }, "description": "Tags to apply to the product. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.\n" }, + "tagsAll": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block.\n" + }, "type": { "type": "string", "description": "Type of product. See [AWS Docs](https://docs.aws.amazon.com/servicecatalog/latest/dg/API_CreateProduct.html#API_CreateProduct_RequestSyntax) for valid list of values.\n" @@ -404628,6 +408252,13 @@ "type": "string" }, "description": "Tags to apply to the provisioned product. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.\n" + }, + "tagsAll": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block.\n" } }, "stateInputs": { @@ -408815,6 +412446,53 @@ "type": "object" } }, + "aws:sns/dataProtectionPolicy:DataProtectionPolicy": { + "description": "Provides an SNS data protection topic policy resource\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst exampleTopic = new aws.sns.Topic(\"exampleTopic\", {});\nconst exampleDataProtectionPolicy = new aws.sns.DataProtectionPolicy(\"exampleDataProtectionPolicy\", {\n arn: exampleTopic.arn,\n policy: JSON.stringify({\n Description: \"Example data protection policy\",\n Name: \"__example_data_protection_policy\",\n Statement: [{\n DataDirection: \"Inbound\",\n DataIdentifier: [\"arn:aws:dataprotection::aws:data-identifier/EmailAddress\"],\n Operation: {\n Deny: {},\n },\n Principal: [\"*\"],\n Sid: \"__deny_statement_11ba9d96\",\n }],\n Version: \"2021-06-01\",\n }),\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\n\nexample_topic = aws.sns.Topic(\"exampleTopic\")\nexample_data_protection_policy = aws.sns.DataProtectionPolicy(\"exampleDataProtectionPolicy\",\n arn=example_topic.arn,\n policy=json.dumps({\n \"Description\": \"Example data protection policy\",\n \"Name\": \"__example_data_protection_policy\",\n \"Statement\": [{\n \"DataDirection\": \"Inbound\",\n \"DataIdentifier\": [\"arn:aws:dataprotection::aws:data-identifier/EmailAddress\"],\n \"Operation\": {\n \"Deny\": {},\n },\n \"Principal\": [\"*\"],\n \"Sid\": \"__deny_statement_11ba9d96\",\n }],\n \"Version\": \"2021-06-01\",\n }))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var exampleTopic = new Aws.Sns.Topic(\"exampleTopic\");\n\n var exampleDataProtectionPolicy = new Aws.Sns.DataProtectionPolicy(\"exampleDataProtectionPolicy\", new()\n {\n Arn = exampleTopic.Arn,\n Policy = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n {\n [\"Description\"] = \"Example data protection policy\",\n [\"Name\"] = \"__example_data_protection_policy\",\n [\"Statement\"] = new[]\n {\n new Dictionary\u003cstring, object?\u003e\n {\n [\"DataDirection\"] = \"Inbound\",\n [\"DataIdentifier\"] = new[]\n {\n \"arn:aws:dataprotection::aws:data-identifier/EmailAddress\",\n },\n [\"Operation\"] = new Dictionary\u003cstring, object?\u003e\n {\n [\"Deny\"] = new Dictionary\u003cstring, object?\u003e\n {\n },\n },\n [\"Principal\"] = new[]\n {\n \"*\",\n },\n [\"Sid\"] = \"__deny_statement_11ba9d96\",\n },\n },\n [\"Version\"] = \"2021-06-01\",\n }),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/sns\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleTopic, err := sns.NewTopic(ctx, \"exampleTopic\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"Description\": \"Example data protection policy\",\n\t\t\t\"Name\": \"__example_data_protection_policy\",\n\t\t\t\"Statement\": []map[string]interface{}{\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"DataDirection\": \"Inbound\",\n\t\t\t\t\t\"DataIdentifier\": []string{\n\t\t\t\t\t\t\"arn:aws:dataprotection::aws:data-identifier/EmailAddress\",\n\t\t\t\t\t},\n\t\t\t\t\t\"Operation\": map[string]interface{}{\n\t\t\t\t\t\t\"Deny\": nil,\n\t\t\t\t\t},\n\t\t\t\t\t\"Principal\": []string{\n\t\t\t\t\t\t\"*\",\n\t\t\t\t\t},\n\t\t\t\t\t\"Sid\": \"__deny_statement_11ba9d96\",\n\t\t\t\t},\n\t\t\t},\n\t\t\t\"Version\": \"2021-06-01\",\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tjson0 := string(tmpJSON0)\n\t\t_, err = sns.NewDataProtectionPolicy(ctx, \"exampleDataProtectionPolicy\", \u0026sns.DataProtectionPolicyArgs{\n\t\t\tArn: exampleTopic.Arn,\n\t\t\tPolicy: pulumi.String(json0),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.sns.Topic;\nimport com.pulumi.aws.sns.DataProtectionPolicy;\nimport com.pulumi.aws.sns.DataProtectionPolicyArgs;\nimport static com.pulumi.codegen.internal.Serialization.*;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var exampleTopic = new Topic(\"exampleTopic\");\n\n var exampleDataProtectionPolicy = new DataProtectionPolicy(\"exampleDataProtectionPolicy\", DataProtectionPolicyArgs.builder() \n .arn(exampleTopic.arn())\n .policy(serializeJson(\n jsonObject(\n jsonProperty(\"Description\", \"Example data protection policy\"),\n jsonProperty(\"Name\", \"__example_data_protection_policy\"),\n jsonProperty(\"Statement\", jsonArray(jsonObject(\n jsonProperty(\"DataDirection\", \"Inbound\"),\n jsonProperty(\"DataIdentifier\", jsonArray(\"arn:aws:dataprotection::aws:data-identifier/EmailAddress\")),\n jsonProperty(\"Operation\", jsonObject(\n jsonProperty(\"Deny\", jsonObject(\n\n ))\n )),\n jsonProperty(\"Principal\", jsonArray(\"*\")),\n jsonProperty(\"Sid\", \"__deny_statement_11ba9d96\")\n ))),\n jsonProperty(\"Version\", \"2021-06-01\")\n )))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleTopic:\n type: aws:sns:Topic\n exampleDataProtectionPolicy:\n type: aws:sns:DataProtectionPolicy\n properties:\n arn: ${exampleTopic.arn}\n policy:\n fn::toJSON:\n Description: Example data protection policy\n Name: __example_data_protection_policy\n Statement:\n - DataDirection: Inbound\n DataIdentifier:\n - arn:aws:dataprotection::aws:data-identifier/EmailAddress\n Operation:\n Deny: {}\n Principal:\n - '*'\n Sid: __deny_statement_11ba9d96\n Version: 2021-06-01\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nSNS Data Protection Topic Policy can be imported using the topic ARN, e.g.,\n\n```sh\n $ pulumi import aws:sns/dataProtectionPolicy:DataProtectionPolicy example arn:aws:sns:us-west-2:0123456789012:example\n```\n\n ", + "properties": { + "arn": { + "type": "string", + "description": "The ARN of the SNS topic\n" + }, + "policy": { + "type": "string", + "description": "The fully-formed AWS policy as JSON. For more information about building AWS IAM policy documents with this provider, see the AWS IAM Policy Document Guide.\n" + } + }, + "required": [ + "arn", + "policy" + ], + "inputProperties": { + "arn": { + "type": "string", + "description": "The ARN of the SNS topic\n", + "willReplaceOnChanges": true + }, + "policy": { + "type": "string", + "description": "The fully-formed AWS policy as JSON. For more information about building AWS IAM policy documents with this provider, see the AWS IAM Policy Document Guide.\n" + } + }, + "requiredInputs": [ + "arn", + "policy" + ], + "stateInputs": { + "description": "Input properties used for looking up and filtering DataProtectionPolicy resources.\n", + "properties": { + "arn": { + "type": "string", + "description": "The ARN of the SNS topic\n", + "willReplaceOnChanges": true + }, + "policy": { + "type": "string", + "description": "The fully-formed AWS policy as JSON. For more information about building AWS IAM policy documents with this provider, see the AWS IAM Policy Document Guide.\n" + } + }, + "type": "object" + } + }, "aws:sns/platformApplication:PlatformApplication": { "description": "Provides an SNS platform application resource\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n### Apple Push Notification Service (APNS) using certificate-based authentication\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst apnsApplication = new aws.sns.PlatformApplication(\"apnsApplication\", {\n platform: \"APNS\",\n platformCredential: \"\u003cAPNS PRIVATE KEY\u003e\",\n platformPrincipal: \"\u003cAPNS CERTIFICATE\u003e\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\napns_application = aws.sns.PlatformApplication(\"apnsApplication\",\n platform=\"APNS\",\n platform_credential=\"\u003cAPNS PRIVATE KEY\u003e\",\n platform_principal=\"\u003cAPNS CERTIFICATE\u003e\")\n```\n```csharp\nusing System.Collections.Generic;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var apnsApplication = new Aws.Sns.PlatformApplication(\"apnsApplication\", new()\n {\n Platform = \"APNS\",\n PlatformCredential = \"\u003cAPNS PRIVATE KEY\u003e\",\n PlatformPrincipal = \"\u003cAPNS CERTIFICATE\u003e\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/sns\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := sns.NewPlatformApplication(ctx, \"apnsApplication\", \u0026sns.PlatformApplicationArgs{\n\t\t\tPlatform: pulumi.String(\"APNS\"),\n\t\t\tPlatformCredential: pulumi.String(\"\u003cAPNS PRIVATE KEY\u003e\"),\n\t\t\tPlatformPrincipal: pulumi.String(\"\u003cAPNS CERTIFICATE\u003e\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.sns.PlatformApplication;\nimport com.pulumi.aws.sns.PlatformApplicationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var apnsApplication = new PlatformApplication(\"apnsApplication\", PlatformApplicationArgs.builder() \n .platform(\"APNS\")\n .platformCredential(\"\u003cAPNS PRIVATE KEY\u003e\")\n .platformPrincipal(\"\u003cAPNS CERTIFICATE\u003e\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n apnsApplication:\n type: aws:sns:PlatformApplication\n properties:\n platform: APNS\n platformCredential: \u003cAPNS PRIVATE KEY\u003e\n platformPrincipal: \u003cAPNS CERTIFICATE\u003e\n```\n{{% /example %}}\n{{% example %}}\n### Apple Push Notification Service (APNS) using token-based authentication\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst apnsApplication = new aws.sns.PlatformApplication(\"apnsApplication\", {\n applePlatformBundleId: \"\u003cAPPLE BUNDLE ID\u003e\",\n applePlatformTeamId: \"\u003cAPPLE TEAM ID\u003e\",\n platform: \"APNS\",\n platformCredential: \"\u003cAPNS SIGNING KEY\u003e\",\n platformPrincipal: \"\u003cAPNS SIGNING KEY ID\u003e\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\napns_application = aws.sns.PlatformApplication(\"apnsApplication\",\n apple_platform_bundle_id=\"\u003cAPPLE BUNDLE ID\u003e\",\n apple_platform_team_id=\"\u003cAPPLE TEAM ID\u003e\",\n platform=\"APNS\",\n platform_credential=\"\u003cAPNS SIGNING KEY\u003e\",\n platform_principal=\"\u003cAPNS SIGNING KEY ID\u003e\")\n```\n```csharp\nusing System.Collections.Generic;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var apnsApplication = new Aws.Sns.PlatformApplication(\"apnsApplication\", new()\n {\n ApplePlatformBundleId = \"\u003cAPPLE BUNDLE ID\u003e\",\n ApplePlatformTeamId = \"\u003cAPPLE TEAM ID\u003e\",\n Platform = \"APNS\",\n PlatformCredential = \"\u003cAPNS SIGNING KEY\u003e\",\n PlatformPrincipal = \"\u003cAPNS SIGNING KEY ID\u003e\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/sns\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := sns.NewPlatformApplication(ctx, \"apnsApplication\", \u0026sns.PlatformApplicationArgs{\n\t\t\tApplePlatformBundleId: pulumi.String(\"\u003cAPPLE BUNDLE ID\u003e\"),\n\t\t\tApplePlatformTeamId: pulumi.String(\"\u003cAPPLE TEAM ID\u003e\"),\n\t\t\tPlatform: pulumi.String(\"APNS\"),\n\t\t\tPlatformCredential: pulumi.String(\"\u003cAPNS SIGNING KEY\u003e\"),\n\t\t\tPlatformPrincipal: pulumi.String(\"\u003cAPNS SIGNING KEY ID\u003e\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.sns.PlatformApplication;\nimport com.pulumi.aws.sns.PlatformApplicationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var apnsApplication = new PlatformApplication(\"apnsApplication\", PlatformApplicationArgs.builder() \n .applePlatformBundleId(\"\u003cAPPLE BUNDLE ID\u003e\")\n .applePlatformTeamId(\"\u003cAPPLE TEAM ID\u003e\")\n .platform(\"APNS\")\n .platformCredential(\"\u003cAPNS SIGNING KEY\u003e\")\n .platformPrincipal(\"\u003cAPNS SIGNING KEY ID\u003e\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n apnsApplication:\n type: aws:sns:PlatformApplication\n properties:\n applePlatformBundleId: \u003cAPPLE BUNDLE ID\u003e\n applePlatformTeamId: \u003cAPPLE TEAM ID\u003e\n platform: APNS\n platformCredential: \u003cAPNS SIGNING KEY\u003e\n platformPrincipal: \u003cAPNS SIGNING KEY ID\u003e\n```\n{{% /example %}}\n{{% example %}}\n### Google Cloud Messaging (GCM)\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst gcmApplication = new aws.sns.PlatformApplication(\"gcmApplication\", {\n platform: \"GCM\",\n platformCredential: \"\u003cGCM API KEY\u003e\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ngcm_application = aws.sns.PlatformApplication(\"gcmApplication\",\n platform=\"GCM\",\n platform_credential=\"\u003cGCM API KEY\u003e\")\n```\n```csharp\nusing System.Collections.Generic;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var gcmApplication = new Aws.Sns.PlatformApplication(\"gcmApplication\", new()\n {\n Platform = \"GCM\",\n PlatformCredential = \"\u003cGCM API KEY\u003e\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/sns\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := sns.NewPlatformApplication(ctx, \"gcmApplication\", \u0026sns.PlatformApplicationArgs{\n\t\t\tPlatform: pulumi.String(\"GCM\"),\n\t\t\tPlatformCredential: pulumi.String(\"\u003cGCM API KEY\u003e\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.sns.PlatformApplication;\nimport com.pulumi.aws.sns.PlatformApplicationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var gcmApplication = new PlatformApplication(\"gcmApplication\", PlatformApplicationArgs.builder() \n .platform(\"GCM\")\n .platformCredential(\"\u003cGCM API KEY\u003e\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n gcmApplication:\n type: aws:sns:PlatformApplication\n properties:\n platform: GCM\n platformCredential: \u003cGCM API KEY\u003e\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nSNS platform applications can be imported using the ARN, e.g.,\n\n```sh\n $ pulumi import aws:sns/platformApplication:PlatformApplication gcm_application arn:aws:sns:us-west-2:0123456789012:app/GCM/gcm_application\n```\n\n ", "properties": { @@ -410323,6 +414001,13 @@ }, "description": "A map of tags to assign to the object. .If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.\n", "willReplaceOnChanges": true + }, + "tagsAll": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block.\n" } }, "requiredInputs": [ @@ -410837,6 +414522,13 @@ }, "description": "A map of tags to assign to the object. .If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.\n" }, + "tagsAll": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block.\n" + }, "targetType": { "type": "string", "description": "The target type which defines the kinds of resources the document can run on. For example, /AWS::EC2::Instance. For a list of valid resource types, see AWS Resource Types Reference (http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-template-resource-type-ref.html)\n" @@ -411029,66 +414721,73 @@ "description": "A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block.\n" } }, - "required": [ - "cutoff", - "duration", - "name", - "schedule", - "tagsAll" - ], - "inputProperties": { - "allowUnassociatedTargets": { - "type": "boolean", - "description": "Whether targets must be registered with the Maintenance Window before tasks can be defined for those targets.\n" - }, - "cutoff": { - "type": "integer", - "description": "The number of hours before the end of the Maintenance Window that Systems Manager stops scheduling new tasks for execution.\n" - }, - "description": { - "type": "string", - "description": "A description for the maintenance window.\n" - }, - "duration": { - "type": "integer", - "description": "The duration of the Maintenance Window in hours.\n" - }, - "enabled": { - "type": "boolean", - "description": "Whether the maintenance window is enabled. Default: `true`.\n" - }, - "endDate": { - "type": "string", - "description": "Timestamp in [ISO-8601 extended format](https://www.iso.org/iso-8601-date-and-time-format.html) when to no longer run the maintenance window.\n" - }, - "name": { - "type": "string", - "description": "The name of the maintenance window.\n" - }, - "schedule": { - "type": "string", - "description": "The schedule of the Maintenance Window in the form of a [cron or rate expression](https://docs.aws.amazon.com/systems-manager/latest/userguide/reference-cron-and-rate-expressions.html).\n" - }, - "scheduleOffset": { - "type": "integer", - "description": "The number of days to wait after the date and time specified by a CRON expression before running the maintenance window.\n" - }, - "scheduleTimezone": { - "type": "string", - "description": "Timezone for schedule in [Internet Assigned Numbers Authority (IANA) Time Zone Database format](https://www.iana.org/time-zones). For example: `America/Los_Angeles`, `etc/UTC`, or `Asia/Seoul`.\n" - }, - "startDate": { - "type": "string", - "description": "Timestamp in [ISO-8601 extended format](https://www.iso.org/iso-8601-date-and-time-format.html) when to begin the maintenance window.\n" - }, - "tags": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "A map of tags to assign to the resource. .If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.\n" - } - }, + "required": [ + "cutoff", + "duration", + "name", + "schedule", + "tagsAll" + ], + "inputProperties": { + "allowUnassociatedTargets": { + "type": "boolean", + "description": "Whether targets must be registered with the Maintenance Window before tasks can be defined for those targets.\n" + }, + "cutoff": { + "type": "integer", + "description": "The number of hours before the end of the Maintenance Window that Systems Manager stops scheduling new tasks for execution.\n" + }, + "description": { + "type": "string", + "description": "A description for the maintenance window.\n" + }, + "duration": { + "type": "integer", + "description": "The duration of the Maintenance Window in hours.\n" + }, + "enabled": { + "type": "boolean", + "description": "Whether the maintenance window is enabled. Default: `true`.\n" + }, + "endDate": { + "type": "string", + "description": "Timestamp in [ISO-8601 extended format](https://www.iso.org/iso-8601-date-and-time-format.html) when to no longer run the maintenance window.\n" + }, + "name": { + "type": "string", + "description": "The name of the maintenance window.\n" + }, + "schedule": { + "type": "string", + "description": "The schedule of the Maintenance Window in the form of a [cron or rate expression](https://docs.aws.amazon.com/systems-manager/latest/userguide/reference-cron-and-rate-expressions.html).\n" + }, + "scheduleOffset": { + "type": "integer", + "description": "The number of days to wait after the date and time specified by a CRON expression before running the maintenance window.\n" + }, + "scheduleTimezone": { + "type": "string", + "description": "Timezone for schedule in [Internet Assigned Numbers Authority (IANA) Time Zone Database format](https://www.iana.org/time-zones). For example: `America/Los_Angeles`, `etc/UTC`, or `Asia/Seoul`.\n" + }, + "startDate": { + "type": "string", + "description": "Timestamp in [ISO-8601 extended format](https://www.iso.org/iso-8601-date-and-time-format.html) when to begin the maintenance window.\n" + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "A map of tags to assign to the resource. .If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.\n" + }, + "tagsAll": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block.\n" + } + }, "requiredInputs": [ "cutoff", "duration", @@ -411593,6 +415292,13 @@ }, "description": "Map of tags to assign to the object. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.\n" }, + "tagsAll": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block.\n" + }, "tier": { "type": "string", "description": "Parameter tier to assign to the parameter. If not specified, will use the default parameter tier for the region. Valid tiers are `Standard`, `Advanced`, and `Intelligent-Tiering`. Downgrading an `Advanced` tier parameter to `Standard` will recreate the resource. For more information on parameter tiers, see the [AWS SSM Parameter tier comparison and guide](https://docs.aws.amazon.com/systems-manager/latest/userguide/parameter-store-advanced-parameters.html).\n" @@ -411853,6 +415559,13 @@ "type": "string" }, "description": "A map of tags to assign to the resource. .If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.\n" + }, + "tagsAll": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block.\n" } }, "stateInputs": { @@ -412115,6 +415828,124 @@ "type": "object" } }, + "aws:ssmincidents/replicationSet:ReplicationSet": { + "description": "Provides a resource for managing a replication set in AWS Systems Manager Incident Manager.\n\n\u003e **NOTE:** Deleting a replication set also deletes all Incident Manager related data including response plans, incident records, contacts and escalation plans.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n### Basic Usage\n\nCreate a replication set.\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst replicationSetName = new aws.ssmincidents.ReplicationSet(\"replicationSetName\", {\n regions: [{\n name: \"us-west-2\",\n }],\n tags: {\n exampleTag: \"exampleValue\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nreplication_set_name = aws.ssmincidents.ReplicationSet(\"replicationSetName\",\n regions=[aws.ssmincidents.ReplicationSetRegionArgs(\n name=\"us-west-2\",\n )],\n tags={\n \"exampleTag\": \"exampleValue\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var replicationSetName = new Aws.SsmIncidents.ReplicationSet(\"replicationSetName\", new()\n {\n Regions = new[]\n {\n new Aws.SsmIncidents.Inputs.ReplicationSetRegionArgs\n {\n Name = \"us-west-2\",\n },\n },\n Tags = \n {\n { \"exampleTag\", \"exampleValue\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/ssmincidents\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ssmincidents.NewReplicationSet(ctx, \"replicationSetName\", \u0026ssmincidents.ReplicationSetArgs{\n\t\t\tRegions: ssmincidents.ReplicationSetRegionArray{\n\t\t\t\t\u0026ssmincidents.ReplicationSetRegionArgs{\n\t\t\t\t\tName: pulumi.String(\"us-west-2\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"exampleTag\": pulumi.String(\"exampleValue\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ssmincidents.ReplicationSet;\nimport com.pulumi.aws.ssmincidents.ReplicationSetArgs;\nimport com.pulumi.aws.ssmincidents.inputs.ReplicationSetRegionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var replicationSetName = new ReplicationSet(\"replicationSetName\", ReplicationSetArgs.builder() \n .regions(ReplicationSetRegionArgs.builder()\n .name(\"us-west-2\")\n .build())\n .tags(Map.of(\"exampleTag\", \"exampleValue\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n replicationSetName:\n type: aws:ssmincidents:ReplicationSet\n properties:\n regions:\n - name: us-west-2\n tags:\n exampleTag: exampleValue\n```\n\nAdd a Region to a replication set. (You can add only one Region at a time.)\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst replicationSetName = new aws.ssmincidents.ReplicationSet(\"replicationSetName\", {regions: [\n {\n name: \"us-west-2\",\n },\n {\n name: \"ap-southeast-2\",\n },\n]});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nreplication_set_name = aws.ssmincidents.ReplicationSet(\"replicationSetName\", regions=[\n aws.ssmincidents.ReplicationSetRegionArgs(\n name=\"us-west-2\",\n ),\n aws.ssmincidents.ReplicationSetRegionArgs(\n name=\"ap-southeast-2\",\n ),\n])\n```\n```csharp\nusing System.Collections.Generic;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var replicationSetName = new Aws.SsmIncidents.ReplicationSet(\"replicationSetName\", new()\n {\n Regions = new[]\n {\n new Aws.SsmIncidents.Inputs.ReplicationSetRegionArgs\n {\n Name = \"us-west-2\",\n },\n new Aws.SsmIncidents.Inputs.ReplicationSetRegionArgs\n {\n Name = \"ap-southeast-2\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/ssmincidents\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ssmincidents.NewReplicationSet(ctx, \"replicationSetName\", \u0026ssmincidents.ReplicationSetArgs{\n\t\t\tRegions: ssmincidents.ReplicationSetRegionArray{\n\t\t\t\t\u0026ssmincidents.ReplicationSetRegionArgs{\n\t\t\t\t\tName: pulumi.String(\"us-west-2\"),\n\t\t\t\t},\n\t\t\t\t\u0026ssmincidents.ReplicationSetRegionArgs{\n\t\t\t\t\tName: pulumi.String(\"ap-southeast-2\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ssmincidents.ReplicationSet;\nimport com.pulumi.aws.ssmincidents.ReplicationSetArgs;\nimport com.pulumi.aws.ssmincidents.inputs.ReplicationSetRegionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var replicationSetName = new ReplicationSet(\"replicationSetName\", ReplicationSetArgs.builder() \n .regions( \n ReplicationSetRegionArgs.builder()\n .name(\"us-west-2\")\n .build(),\n ReplicationSetRegionArgs.builder()\n .name(\"ap-southeast-2\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n replicationSetName:\n type: aws:ssmincidents:ReplicationSet\n properties:\n regions:\n - name: us-west-2\n - name: ap-southeast-2\n```\n\nDelete a Region from a replication set. (You can delete only one Region at a time.)\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst replicationSetName = new aws.ssmincidents.ReplicationSet(\"replicationSetName\", {regions: [{\n name: \"us-west-2\",\n}]});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nreplication_set_name = aws.ssmincidents.ReplicationSet(\"replicationSetName\", regions=[aws.ssmincidents.ReplicationSetRegionArgs(\n name=\"us-west-2\",\n)])\n```\n```csharp\nusing System.Collections.Generic;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var replicationSetName = new Aws.SsmIncidents.ReplicationSet(\"replicationSetName\", new()\n {\n Regions = new[]\n {\n new Aws.SsmIncidents.Inputs.ReplicationSetRegionArgs\n {\n Name = \"us-west-2\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/ssmincidents\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ssmincidents.NewReplicationSet(ctx, \"replicationSetName\", \u0026ssmincidents.ReplicationSetArgs{\n\t\t\tRegions: ssmincidents.ReplicationSetRegionArray{\n\t\t\t\t\u0026ssmincidents.ReplicationSetRegionArgs{\n\t\t\t\t\tName: pulumi.String(\"us-west-2\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ssmincidents.ReplicationSet;\nimport com.pulumi.aws.ssmincidents.ReplicationSetArgs;\nimport com.pulumi.aws.ssmincidents.inputs.ReplicationSetRegionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var replicationSetName = new ReplicationSet(\"replicationSetName\", ReplicationSetArgs.builder() \n .regions(ReplicationSetRegionArgs.builder()\n .name(\"us-west-2\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n replicationSetName:\n type: aws:ssmincidents:ReplicationSet\n properties:\n regions:\n - name: us-west-2\n```\n{{% /example %}}\n{{% /examples %}}\n## Basic Usage with an AWS Customer Managed Key\n\nCreate a replication set with an AWS Key Management Service (AWS KMS) customer manager key:\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst exampleKey = new aws.kms.Key(\"exampleKey\", {});\nconst replicationSetName = new aws.ssmincidents.ReplicationSet(\"replicationSetName\", {\n regions: [{\n name: \"us-west-2\",\n kmsKeyArn: exampleKey.arn,\n }],\n tags: {\n exampleTag: \"exampleValue\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample_key = aws.kms.Key(\"exampleKey\")\nreplication_set_name = aws.ssmincidents.ReplicationSet(\"replicationSetName\",\n regions=[aws.ssmincidents.ReplicationSetRegionArgs(\n name=\"us-west-2\",\n kms_key_arn=example_key.arn,\n )],\n tags={\n \"exampleTag\": \"exampleValue\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var exampleKey = new Aws.Kms.Key(\"exampleKey\");\n\n var replicationSetName = new Aws.SsmIncidents.ReplicationSet(\"replicationSetName\", new()\n {\n Regions = new[]\n {\n new Aws.SsmIncidents.Inputs.ReplicationSetRegionArgs\n {\n Name = \"us-west-2\",\n KmsKeyArn = exampleKey.Arn,\n },\n },\n Tags = \n {\n { \"exampleTag\", \"exampleValue\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/kms\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/ssmincidents\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleKey, err := kms.NewKey(ctx, \"exampleKey\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = ssmincidents.NewReplicationSet(ctx, \"replicationSetName\", \u0026ssmincidents.ReplicationSetArgs{\n\t\t\tRegions: ssmincidents.ReplicationSetRegionArray{\n\t\t\t\t\u0026ssmincidents.ReplicationSetRegionArgs{\n\t\t\t\t\tName: pulumi.String(\"us-west-2\"),\n\t\t\t\t\tKmsKeyArn: exampleKey.Arn,\n\t\t\t\t},\n\t\t\t},\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"exampleTag\": pulumi.String(\"exampleValue\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.kms.Key;\nimport com.pulumi.aws.ssmincidents.ReplicationSet;\nimport com.pulumi.aws.ssmincidents.ReplicationSetArgs;\nimport com.pulumi.aws.ssmincidents.inputs.ReplicationSetRegionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var exampleKey = new Key(\"exampleKey\");\n\n var replicationSetName = new ReplicationSet(\"replicationSetName\", ReplicationSetArgs.builder() \n .regions(ReplicationSetRegionArgs.builder()\n .name(\"us-west-2\")\n .kmsKeyArn(exampleKey.arn())\n .build())\n .tags(Map.of(\"exampleTag\", \"exampleValue\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleKey:\n type: aws:kms:Key\n replicationSetName:\n type: aws:ssmincidents:ReplicationSet\n properties:\n regions:\n - name: us-west-2\n kmsKeyArn: ${exampleKey.arn}\n tags:\n exampleTag: exampleValue\n```\n\n\n## Import\n\nUse the following command to import an Incident Manager replication set\n\n```sh\n $ pulumi import aws:ssmincidents/replicationSet:ReplicationSet replicationSetName import\n```\n\n ", + "properties": { + "arn": { + "type": "string", + "description": "The ARN of the replication set.\n" + }, + "createdBy": { + "type": "string", + "description": "The ARN of the user who created the replication set.\n" + }, + "deletionProtected": { + "type": "boolean", + "description": "If `true`, the last region in a replication set cannot be deleted.\n" + }, + "lastModifiedBy": { + "type": "string", + "description": "A timestamp showing when the replication set was last modified.\n" + }, + "regions": { + "type": "array", + "items": { + "$ref": "#/types/aws:ssmincidents/ReplicationSetRegion:ReplicationSetRegion" + } + }, + "status": { + "type": "string", + "description": "The current status of the Region.\n* Valid Values: `ACTIVE` | `CREATING` | `UPDATING` | `DELETING` | `FAILED`\n" + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Tags applied to the replication set.\n" + }, + "tagsAll": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block.\n" + } + }, + "required": [ + "arn", + "createdBy", + "deletionProtected", + "lastModifiedBy", + "regions", + "status", + "tagsAll" + ], + "inputProperties": { + "regions": { + "type": "array", + "items": { + "$ref": "#/types/aws:ssmincidents/ReplicationSetRegion:ReplicationSetRegion" + } + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Tags applied to the replication set.\n" + } + }, + "requiredInputs": [ + "regions" + ], + "stateInputs": { + "description": "Input properties used for looking up and filtering ReplicationSet resources.\n", + "properties": { + "arn": { + "type": "string", + "description": "The ARN of the replication set.\n" + }, + "createdBy": { + "type": "string", + "description": "The ARN of the user who created the replication set.\n" + }, + "deletionProtected": { + "type": "boolean", + "description": "If `true`, the last region in a replication set cannot be deleted.\n" + }, + "lastModifiedBy": { + "type": "string", + "description": "A timestamp showing when the replication set was last modified.\n" + }, + "regions": { + "type": "array", + "items": { + "$ref": "#/types/aws:ssmincidents/ReplicationSetRegion:ReplicationSetRegion" + } + }, + "status": { + "type": "string", + "description": "The current status of the Region.\n* Valid Values: `ACTIVE` | `CREATING` | `UPDATING` | `DELETING` | `FAILED`\n" + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Tags applied to the replication set.\n" + }, + "tagsAll": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block.\n" + } + }, + "type": "object" + } + }, "aws:ssoadmin/accountAssignment:AccountAssignment": { "description": "Provides a Single Sign-On (SSO) Account Assignment resource\n\n\n## Import\n\nSSO Account Assignments can be imported using the `principal_id`, `principal_type`, `target_id`, `target_type`, `permission_set_arn`, `instance_arn` separated by commas (`,`) e.g.,\n\n```sh\n $ pulumi import aws:ssoadmin/accountAssignment:AccountAssignment example f81d4fae-7dec-11d0-a765-00a0c91e6bf6,GROUP,1234567890,AWS_ACCOUNT,arn:aws:sso:::permissionSet/ssoins-0123456789abcdef/ps-0123456789abcdef,arn:aws:sso:::instance/ssoins-0123456789abcdef\n```\n\n ", "properties": { @@ -412517,6 +416348,13 @@ "type": "string" }, "description": "Key-value map of resource tags. .If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.\n" + }, + "tagsAll": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block.\n" } }, "requiredInputs": [ @@ -422746,6 +426584,108 @@ ] } }, + "aws:appmesh/getGatewayRoute:getGatewayRoute": { + "description": "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.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = aws.appmesh.getGatewayRoute({\n meshName: \"test-mesh\",\n name: \"test-route\",\n virtualGatewayName: \"test-gateway\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.appmesh.get_gateway_route(mesh_name=\"test-mesh\",\n name=\"test-route\",\n virtual_gateway_name=\"test-gateway\")\n```\n```csharp\nusing System.Collections.Generic;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = Aws.AppMesh.GetGatewayRoute.Invoke(new()\n {\n MeshName = \"test-mesh\",\n Name = \"test-route\",\n VirtualGatewayName = \"test-gateway\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/appmesh\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := appmesh.LookupGatewayRoute(ctx, \u0026appmesh.LookupGatewayRouteArgs{\n\t\t\tMeshName: \"test-mesh\",\n\t\t\tName: \"test-route\",\n\t\t\tVirtualGatewayName: \"test-gateway\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.appmesh.AppmeshFunctions;\nimport com.pulumi.aws.appmesh.inputs.GetGatewayRouteArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var test = AppmeshFunctions.getGatewayRoute(GetGatewayRouteArgs.builder()\n .meshName(\"test-mesh\")\n .name(\"test-route\")\n .virtualGatewayName(\"test-gateway\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n test:\n fn::invoke:\n Function: aws:appmesh:getGatewayRoute\n Arguments:\n meshName: test-mesh\n name: test-route\n virtualGatewayName: test-gateway\n```\n{{% /example %}}\n{{% /examples %}}", + "inputs": { + "description": "A collection of arguments for invoking getGatewayRoute.\n", + "properties": { + "meshName": { + "type": "string", + "description": "Name of the service mesh in which the virtual gateway exists.\n" + }, + "meshOwner": { + "type": "string", + "description": "AWS account ID of the service mesh's owner.\n" + }, + "name": { + "type": "string", + "description": "Name of the gateway route.\n" + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Map of tags.\n" + }, + "virtualGatewayName": { + "type": "string", + "description": "Name of the virtual gateway in which the route exists.\n" + } + }, + "type": "object", + "required": [ + "meshName", + "name", + "virtualGatewayName" + ] + }, + "outputs": { + "description": "A collection of values returned by getGatewayRoute.\n", + "properties": { + "arn": { + "type": "string", + "description": "ARN of the gateway route.\n" + }, + "createdDate": { + "type": "string", + "description": "Creation date of the gateway route.\n" + }, + "id": { + "type": "string", + "description": "The provider-assigned unique ID for this managed resource.\n" + }, + "lastUpdatedDate": { + "type": "string", + "description": "Last update date of the gateway route.\n" + }, + "meshName": { + "type": "string" + }, + "meshOwner": { + "type": "string" + }, + "name": { + "type": "string" + }, + "resourceOwner": { + "type": "string", + "description": "Resource owner's AWS account ID.\n" + }, + "specs": { + "type": "array", + "items": { + "$ref": "#/types/aws:appmesh/getGatewayRouteSpec:getGatewayRouteSpec" + }, + "description": "Gateway route specification. See the `aws.appmesh.GatewayRoute` resource for details.\n" + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Map of tags.\n" + }, + "virtualGatewayName": { + "type": "string" + } + }, + "type": "object", + "required": [ + "arn", + "createdDate", + "lastUpdatedDate", + "meshName", + "meshOwner", + "name", + "resourceOwner", + "specs", + "tags", + "virtualGatewayName", + "id" + ] + } + }, "aws:appmesh/getMesh:getMesh": { "description": "The App Mesh Mesh data source allows details of an App Mesh Mesh to be retrieved by its name and optionally the mesh_owner.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst simple = aws.appmesh.getMesh({\n name: \"simpleapp\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nsimple = aws.appmesh.get_mesh(name=\"simpleapp\")\n```\n```csharp\nusing System.Collections.Generic;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var simple = Aws.AppMesh.GetMesh.Invoke(new()\n {\n Name = \"simpleapp\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/appmesh\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := appmesh.LookupMesh(ctx, \u0026appmesh.LookupMeshArgs{\n\t\t\tName: \"simpleapp\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.appmesh.AppmeshFunctions;\nimport com.pulumi.aws.appmesh.inputs.GetMeshArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var simple = AppmeshFunctions.getMesh(GetMeshArgs.builder()\n .name(\"simpleapp\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n simple:\n fn::invoke:\n Function: aws:appmesh:getMesh\n Arguments:\n name: simpleapp\n```\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst current = aws.getCallerIdentity({});\nconst simple = current.then(current =\u003e aws.appmesh.getMesh({\n name: \"simpleapp\",\n meshOwner: current.accountId,\n}));\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ncurrent = aws.get_caller_identity()\nsimple = aws.appmesh.get_mesh(name=\"simpleapp\",\n mesh_owner=current.account_id)\n```\n```csharp\nusing System.Collections.Generic;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var current = Aws.GetCallerIdentity.Invoke();\n\n var simple = Aws.AppMesh.GetMesh.Invoke(new()\n {\n Name = \"simpleapp\",\n MeshOwner = current.Apply(getCallerIdentityResult =\u003e getCallerIdentityResult.AccountId),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v5/go/aws\"\n\t\"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/appmesh\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := aws.GetCallerIdentity(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = appmesh.LookupMesh(ctx, \u0026appmesh.LookupMeshArgs{\n\t\t\tName: \"simpleapp\",\n\t\t\tMeshOwner: pulumi.StringRef(current.AccountId),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.AwsFunctions;\nimport com.pulumi.aws.appmesh.AppmeshFunctions;\nimport com.pulumi.aws.appmesh.inputs.GetMeshArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var current = AwsFunctions.getCallerIdentity();\n\n final var simple = AppmeshFunctions.getMesh(GetMeshArgs.builder()\n .name(\"simpleapp\")\n .meshOwner(current.applyValue(getCallerIdentityResult -\u003e getCallerIdentityResult.accountId()))\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n current:\n fn::invoke:\n Function: aws:getCallerIdentity\n Arguments: {}\n simple:\n fn::invoke:\n Function: aws:appmesh:getMesh\n Arguments:\n name: simpleapp\n meshOwner: ${current.accountId}\n```\n{{% /example %}}\n{{% /examples %}}", "inputs": { @@ -422806,7 +426746,7 @@ "items": { "$ref": "#/types/aws:appmesh/getMeshSpec:getMeshSpec" }, - "description": "Service mesh specification.\n" + "description": "Service mesh specification. See the `aws.appmesh.Mesh` resource for details.\n" }, "tags": { "type": "object", @@ -422903,7 +426843,7 @@ "items": { "$ref": "#/types/aws:appmesh/getRouteSpec:getRouteSpec" }, - "description": "Route specification\n" + "description": "Route specification. See the `aws.appmesh.Route` resource for details.\n" }, "tags": { "type": "object", @@ -422996,7 +426936,192 @@ "items": { "$ref": "#/types/aws:appmesh/getVirtualGatewaySpec:getVirtualGatewaySpec" }, - "description": "Virtual gateway specification\n" + "description": "Virtual gateway specification. See the `aws.appmesh.VirtualGateway` resource for details.\n" + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Map of tags.\n" + } + }, + "type": "object", + "required": [ + "arn", + "createdDate", + "lastUpdatedDate", + "meshName", + "meshOwner", + "name", + "resourceOwner", + "specs", + "tags", + "id" + ] + } + }, + "aws:appmesh/getVirtualNode:getVirtualNode": { + "description": "Data source for managing an AWS App Mesh Virtual Node.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = aws.appmesh.getVirtualNode({\n meshName: \"example-mesh\",\n name: \"serviceBv1\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.appmesh.get_virtual_node(mesh_name=\"example-mesh\",\n name=\"serviceBv1\")\n```\n```csharp\nusing System.Collections.Generic;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = Aws.AppMesh.GetVirtualNode.Invoke(new()\n {\n MeshName = \"example-mesh\",\n Name = \"serviceBv1\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/appmesh\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := appmesh.LookupVirtualNode(ctx, \u0026appmesh.LookupVirtualNodeArgs{\n\t\t\tMeshName: \"example-mesh\",\n\t\t\tName: \"serviceBv1\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.appmesh.AppmeshFunctions;\nimport com.pulumi.aws.appmesh.inputs.GetVirtualNodeArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var test = AppmeshFunctions.getVirtualNode(GetVirtualNodeArgs.builder()\n .meshName(\"example-mesh\")\n .name(\"serviceBv1\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n test:\n fn::invoke:\n Function: aws:appmesh:getVirtualNode\n Arguments:\n meshName: example-mesh\n name: serviceBv1\n```\n{{% /example %}}\n{{% /examples %}}", + "inputs": { + "description": "A collection of arguments for invoking getVirtualNode.\n", + "properties": { + "meshName": { + "type": "string", + "description": "Name of the service mesh in which the virtual node exists.\n" + }, + "meshOwner": { + "type": "string", + "description": "AWS account ID of the service mesh's owner.\n" + }, + "name": { + "type": "string", + "description": "Name of the virtual node.\n" + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Map of tags.\n" + } + }, + "type": "object", + "required": [ + "meshName", + "name" + ] + }, + "outputs": { + "description": "A collection of values returned by getVirtualNode.\n", + "properties": { + "arn": { + "type": "string", + "description": "ARN of the virtual node.\n" + }, + "createdDate": { + "type": "string", + "description": "Creation date of the virtual node.\n" + }, + "id": { + "type": "string", + "description": "The provider-assigned unique ID for this managed resource.\n" + }, + "lastUpdatedDate": { + "type": "string", + "description": "Last update date of the virtual node.\n" + }, + "meshName": { + "type": "string" + }, + "meshOwner": { + "type": "string" + }, + "name": { + "type": "string" + }, + "resourceOwner": { + "type": "string", + "description": "Resource owner's AWS account ID.\n" + }, + "specs": { + "type": "array", + "items": { + "$ref": "#/types/aws:appmesh/getVirtualNodeSpec:getVirtualNodeSpec" + }, + "description": "Virtual node specification. See the `aws.appmesh.VirtualNode` resource for details.\n" + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Map of tags.\n" + } + }, + "type": "object", + "required": [ + "arn", + "createdDate", + "lastUpdatedDate", + "meshName", + "meshOwner", + "name", + "resourceOwner", + "specs", + "tags", + "id" + ] + } + }, + "aws:appmesh/getVirtualRouter:getVirtualRouter": { + "description": "The App Mesh Virtual Router data source allows details of an App Mesh Virtual Service to be retrieved by its name and mesh_name.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst test = aws.appmesh.getVirtualRouter({\n meshName: \"example-mesh-name\",\n name: \"example-router-name\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\ntest = aws.appmesh.get_virtual_router(mesh_name=\"example-mesh-name\",\n name=\"example-router-name\")\n```\n```csharp\nusing System.Collections.Generic;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var test = Aws.AppMesh.GetVirtualRouter.Invoke(new()\n {\n MeshName = \"example-mesh-name\",\n Name = \"example-router-name\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/appmesh\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := appmesh.LookupVirtualRouter(ctx, \u0026appmesh.LookupVirtualRouterArgs{\n\t\t\tMeshName: \"example-mesh-name\",\n\t\t\tName: \"example-router-name\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.appmesh.AppmeshFunctions;\nimport com.pulumi.aws.appmesh.inputs.GetVirtualRouterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var test = AppmeshFunctions.getVirtualRouter(GetVirtualRouterArgs.builder()\n .meshName(\"example-mesh-name\")\n .name(\"example-router-name\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n test:\n fn::invoke:\n Function: aws:appmesh:getVirtualRouter\n Arguments:\n meshName: example-mesh-name\n name: example-router-name\n```\n{{% /example %}}\n{{% /examples %}}", + "inputs": { + "description": "A collection of arguments for invoking getVirtualRouter.\n", + "properties": { + "meshName": { + "type": "string", + "description": "Name of the mesh in which the virtual router exists\n" + }, + "meshOwner": { + "type": "string" + }, + "name": { + "type": "string", + "description": "Name of the virtual router.\n" + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Map of tags.\n" + } + }, + "type": "object", + "required": [ + "meshName", + "name" + ] + }, + "outputs": { + "description": "A collection of values returned by getVirtualRouter.\n", + "properties": { + "arn": { + "type": "string", + "description": "ARN of the virtual router.\n" + }, + "createdDate": { + "type": "string", + "description": "Creation date of the virtual router.\n" + }, + "id": { + "type": "string", + "description": "The provider-assigned unique ID for this managed resource.\n" + }, + "lastUpdatedDate": { + "type": "string", + "description": "Last update date of the virtual router.\n" + }, + "meshName": { + "type": "string" + }, + "meshOwner": { + "type": "string" + }, + "name": { + "type": "string" + }, + "resourceOwner": { + "type": "string", + "description": "Resource owner's AWS account ID.\n" + }, + "specs": { + "type": "array", + "items": { + "$ref": "#/types/aws:appmesh/getVirtualRouterSpec:getVirtualRouterSpec" + }, + "description": "Virtual routers specification. See the `aws.appmesh.VirtualRouter` resource for details.\n" }, "tags": { "type": "object", @@ -423089,7 +427214,7 @@ "items": { "$ref": "#/types/aws:appmesh/getVirtualServiceSpec:getVirtualServiceSpec" }, - "description": "Virtual service specification\n" + "description": "Virtual service specification. See the `aws.appmesh.VirtualService` resource for details.\n" }, "tags": { "type": "object", @@ -449203,6 +453328,93 @@ ] } }, + "aws:oam/getSink:getSink": { + "description": "Data source for managing an AWS CloudWatch Observability Access Manager Sink.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n### Basic Usage\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.oam.getSink({\n sinkIdentifier: \"arn:aws:oam:us-west-1:111111111111:sink/abcd1234-a123-456a-a12b-a123b456c789\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.oam.get_sink(sink_identifier=\"arn:aws:oam:us-west-1:111111111111:sink/abcd1234-a123-456a-a12b-a123b456c789\")\n```\n```csharp\nusing System.Collections.Generic;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Oam.GetSink.Invoke(new()\n {\n SinkIdentifier = \"arn:aws:oam:us-west-1:111111111111:sink/abcd1234-a123-456a-a12b-a123b456c789\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/oam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := oam.LookupSink(ctx, \u0026oam.LookupSinkArgs{\n\t\t\tSinkIdentifier: \"arn:aws:oam:us-west-1:111111111111:sink/abcd1234-a123-456a-a12b-a123b456c789\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.oam.OamFunctions;\nimport com.pulumi.aws.oam.inputs.GetSinkArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = OamFunctions.getSink(GetSinkArgs.builder()\n .sinkIdentifier(\"arn:aws:oam:us-west-1:111111111111:sink/abcd1234-a123-456a-a12b-a123b456c789\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:oam:getSink\n Arguments:\n sinkIdentifier: arn:aws:oam:us-west-1:111111111111:sink/abcd1234-a123-456a-a12b-a123b456c789\n```\n{{% /example %}}\n{{% /examples %}}", + "inputs": { + "description": "A collection of arguments for invoking getSink.\n", + "properties": { + "sinkIdentifier": { + "type": "string", + "description": "ARN of the sink.\n" + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Tags assigned to the sink.\n" + } + }, + "type": "object", + "required": [ + "sinkIdentifier" + ] + }, + "outputs": { + "description": "A collection of values returned by getSink.\n", + "properties": { + "arn": { + "type": "string", + "description": "ARN of the sink.\n" + }, + "id": { + "type": "string", + "description": "The provider-assigned unique ID for this managed resource.\n" + }, + "name": { + "type": "string", + "description": "Name of the sink.\n" + }, + "sinkId": { + "type": "string", + "description": "Random ID string that AWS generated as part of the sink ARN.\n" + }, + "sinkIdentifier": { + "type": "string" + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Tags assigned to the sink.\n" + } + }, + "type": "object", + "required": [ + "arn", + "name", + "sinkId", + "sinkIdentifier", + "tags", + "id" + ] + } + }, + "aws:oam/getSinks:getSinks": { + "description": "Data source for managing an AWS CloudWatch Observability Access Manager Sinks.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n### Basic Usage\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.oam.getSinks({});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.oam.get_sinks()\n```\n```csharp\nusing System.Collections.Generic;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.Oam.GetSinks.Invoke();\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/oam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := oam.GetSinks(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.oam.OamFunctions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = OamFunctions.getSinks();\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:oam:getSinks\n Arguments: {}\n```\n{{% /example %}}\n{{% /examples %}}", + "outputs": { + "description": "A collection of values returned by getSinks.\n", + "properties": { + "arns": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Set of ARN of the Sinks.\n" + }, + "id": { + "type": "string", + "description": "The provider-assigned unique ID for this managed resource.\n" + } + }, + "type": "object", + "required": [ + "arns", + "id" + ] + } + }, "aws:opensearch/getDomain:getDomain": { "description": "Use this data source to get information about an OpenSearch Domain\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst myDomain = aws.opensearch.getDomain({\n domainName: \"my-domain-name\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nmy_domain = aws.opensearch.get_domain(domain_name=\"my-domain-name\")\n```\n```csharp\nusing System.Collections.Generic;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var myDomain = Aws.OpenSearch.GetDomain.Invoke(new()\n {\n DomainName = \"my-domain-name\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/opensearch\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := opensearch.LookupDomain(ctx, \u0026opensearch.LookupDomainArgs{\n\t\t\tDomainName: \"my-domain-name\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.opensearch.OpensearchFunctions;\nimport com.pulumi.aws.opensearch.inputs.GetDomainArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var myDomain = OpensearchFunctions.getDomain(GetDomainArgs.builder()\n .domainName(\"my-domain-name\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n myDomain:\n fn::invoke:\n Function: aws:opensearch:getDomain\n Arguments:\n domainName: my-domain-name\n```\n{{% /example %}}\n{{% /examples %}}", "inputs": { @@ -450524,6 +454736,12 @@ "kmsKeyId": { "type": "string" }, + "masterUserSecrets": { + "type": "array", + "items": { + "$ref": "#/types/aws:rds/getClusterMasterUserSecret:getClusterMasterUserSecret" + } + }, "masterUsername": { "type": "string" }, @@ -450584,6 +454802,7 @@ "iamDatabaseAuthenticationEnabled", "iamRoles", "kmsKeyId", + "masterUserSecrets", "masterUsername", "networkType", "port", @@ -451132,12 +455351,19 @@ }, "kmsKeyId": { "type": "string", - "description": "If StorageEncrypted is true, the KMS key identifier for the encrypted DB instance.\n" + "description": "The Amazon Web Services KMS key identifier that is used to encrypt the secret.\n" }, "licenseModel": { "type": "string", "description": "License model information for this DB instance.\n" }, + "masterUserSecrets": { + "type": "array", + "items": { + "$ref": "#/types/aws:rds/getInstanceMasterUserSecret:getInstanceMasterUserSecret" + }, + "description": "Provides the master user secret. Only available when `manage_master_user_password` is set to true. Documented below.\n" + }, "masterUsername": { "type": "string", "description": "Contains the master username for the DB instance.\n" @@ -451244,6 +455470,7 @@ "iops", "kmsKeyId", "licenseModel", + "masterUserSecrets", "masterUsername", "monitoringInterval", "monitoringRoleArn", @@ -456452,6 +460679,75 @@ ] } }, + "aws:ssmincidents/getReplicationSet:getReplicationSet": { + "description": "\u003e **NOTE:** The AWS Region specified by a provider must always be one of the Regions specified for the replication set.\n\nUse this data source to manage a replication set in AWS Systems Manager Incident Manager.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n### Basic Usage\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\n\nconst example = aws.ssmincidents.getReplicationSet({});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\n\nexample = aws.ssmincidents.get_replication_set()\n```\n```csharp\nusing System.Collections.Generic;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Aws.SsmIncidents.GetReplicationSet.Invoke();\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/ssmincidents\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := ssmincidents.LookupReplicationSet(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.ssmincidents.SsmincidentsFunctions;\nimport com.pulumi.aws.ssmincidents.inputs.GetReplicationSetArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = SsmincidentsFunctions.getReplicationSet();\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: aws:ssmincidents:getReplicationSet\n Arguments: {}\n```\n{{% /example %}}\n{{% /examples %}}", + "inputs": { + "description": "A collection of arguments for invoking getReplicationSet.\n", + "properties": { + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "All tags applied to the replication set.\n" + } + }, + "type": "object" + }, + "outputs": { + "description": "A collection of values returned by getReplicationSet.\n", + "properties": { + "arn": { + "type": "string", + "description": "The Amazon Resouce Name (ARN) of the replication set.\n" + }, + "createdBy": { + "type": "string", + "description": "The ARN of the user who created the replication set.\n" + }, + "deletionProtected": { + "type": "boolean", + "description": "If `true`, the last remaining Region in a replication set can’t be deleted.\n" + }, + "id": { + "type": "string", + "description": "The provider-assigned unique ID for this managed resource.\n" + }, + "lastModifiedBy": { + "type": "string", + "description": "The ARN of the user who last modified the replication set.\n" + }, + "regions": { + "type": "array", + "items": { + "$ref": "#/types/aws:ssmincidents/getReplicationSetRegion:getReplicationSetRegion" + } + }, + "status": { + "type": "string", + "description": "The current status of the Region.\n* Valid Values: `ACTIVE` | `CREATING` | `UPDATING` | `DELETING` | `FAILED`\n" + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "All tags applied to the replication set.\n" + } + }, + "type": "object", + "required": [ + "arn", + "createdBy", + "deletionProtected", + "lastModifiedBy", + "regions", + "status", + "tags", + "id" + ] + } + }, "aws:ssoadmin/getInstances:getInstances": { "description": "Use this data source to get ARNs and Identity Store IDs of Single Sign-On (SSO) Instances.\n", "outputs": { diff --git a/provider/go.mod b/provider/go.mod index f26ab26ed9d..0cfb9a2a200 100644 --- a/provider/go.mod +++ b/provider/go.mod @@ -57,7 +57,7 @@ require ( github.com/apparentlymart/go-textseg/v13 v13.0.0 // indirect github.com/armon/go-metrics v0.4.0 // indirect github.com/armon/go-radix v1.0.0 // indirect - github.com/aws/aws-sdk-go v1.44.226 // indirect + github.com/aws/aws-sdk-go v1.44.232 // indirect github.com/aws/aws-sdk-go-v2 v1.17.7 // indirect github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.4.3 // indirect github.com/aws/aws-sdk-go-v2/config v1.18.12 // indirect @@ -70,7 +70,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/auditmanager v1.24.3 // indirect github.com/aws/aws-sdk-go-v2/service/cloudcontrol v1.11.7 // indirect github.com/aws/aws-sdk-go-v2/service/cloudwatchlogs v1.20.7 // indirect - github.com/aws/aws-sdk-go-v2/service/comprehend v1.22.2 // indirect + github.com/aws/aws-sdk-go-v2/service/comprehend v1.23.0 // indirect github.com/aws/aws-sdk-go-v2/service/computeoptimizer v1.21.5 // indirect github.com/aws/aws-sdk-go-v2/service/ec2 v1.91.0 // indirect github.com/aws/aws-sdk-go-v2/service/fis v1.14.6 // indirect @@ -86,12 +86,12 @@ require ( github.com/aws/aws-sdk-go-v2/service/kendra v1.38.7 // indirect github.com/aws/aws-sdk-go-v2/service/kms v1.18.1 // indirect github.com/aws/aws-sdk-go-v2/service/lambda v1.30.2 // indirect - github.com/aws/aws-sdk-go-v2/service/medialive v1.30.2 // indirect + github.com/aws/aws-sdk-go-v2/service/medialive v1.31.0 // indirect github.com/aws/aws-sdk-go-v2/service/oam v1.1.7 // indirect - github.com/aws/aws-sdk-go-v2/service/opensearchserverless v1.1.7 // indirect + github.com/aws/aws-sdk-go-v2/service/opensearchserverless v1.2.0 // indirect github.com/aws/aws-sdk-go-v2/service/pipes v1.2.2 // indirect github.com/aws/aws-sdk-go-v2/service/rbin v1.8.7 // indirect - github.com/aws/aws-sdk-go-v2/service/rds v1.40.7 // indirect + github.com/aws/aws-sdk-go-v2/service/rds v1.42.0 // indirect github.com/aws/aws-sdk-go-v2/service/resourceexplorer2 v1.2.8 // indirect github.com/aws/aws-sdk-go-v2/service/rolesanywhere v1.1.7 // indirect github.com/aws/aws-sdk-go-v2/service/route53domains v1.14.6 // indirect @@ -99,9 +99,9 @@ require ( github.com/aws/aws-sdk-go-v2/service/s3control v1.31.1 // indirect github.com/aws/aws-sdk-go-v2/service/scheduler v1.1.6 // indirect github.com/aws/aws-sdk-go-v2/service/sesv2 v1.17.2 // indirect - github.com/aws/aws-sdk-go-v2/service/ssm v1.35.7 // indirect - github.com/aws/aws-sdk-go-v2/service/ssmcontacts v1.14.6 // indirect - github.com/aws/aws-sdk-go-v2/service/ssmincidents v1.20.6 // indirect + github.com/aws/aws-sdk-go-v2/service/ssm v1.36.0 // indirect + github.com/aws/aws-sdk-go-v2/service/ssmcontacts v1.15.0 // indirect + github.com/aws/aws-sdk-go-v2/service/ssmincidents v1.21.0 // indirect github.com/aws/aws-sdk-go-v2/service/sso v1.12.6 // indirect github.com/aws/aws-sdk-go-v2/service/ssooidc v1.14.6 // indirect github.com/aws/aws-sdk-go-v2/service/sts v1.18.7 // indirect @@ -168,18 +168,18 @@ require ( github.com/hashicorp/golang-lru v0.5.4 // indirect github.com/hashicorp/hc-install v0.5.0 // indirect github.com/hashicorp/hcl v1.0.0 // indirect - github.com/hashicorp/hcl/v2 v2.16.1 // indirect + github.com/hashicorp/hcl/v2 v2.16.2 // indirect github.com/hashicorp/hil v0.0.0-20190212132231-97b3a9cdfa93 // indirect github.com/hashicorp/logutils v1.0.0 // indirect - github.com/hashicorp/terraform-exec v0.17.3 // indirect - github.com/hashicorp/terraform-json v0.15.0 // indirect - github.com/hashicorp/terraform-plugin-framework v1.1.1 // indirect + github.com/hashicorp/terraform-exec v0.18.1 // indirect + github.com/hashicorp/terraform-json v0.16.0 // indirect + github.com/hashicorp/terraform-plugin-framework v1.2.0 // indirect github.com/hashicorp/terraform-plugin-framework-timeouts v0.3.1 // indirect github.com/hashicorp/terraform-plugin-framework-validators v0.10.0 // indirect github.com/hashicorp/terraform-plugin-go v0.14.3 // indirect github.com/hashicorp/terraform-plugin-log v0.8.0 // indirect github.com/hashicorp/terraform-plugin-mux v0.9.0 // indirect - github.com/hashicorp/terraform-plugin-sdk/v2 v2.25.0 // indirect + github.com/hashicorp/terraform-plugin-sdk/v2 v2.26.1 // indirect github.com/hashicorp/terraform-provider-aws v1.60.1-0.20220923175450-ca71523cdc36 // indirect github.com/hashicorp/terraform-registry-address v0.1.0 // indirect github.com/hashicorp/terraform-svchost v0.1.0 // indirect @@ -258,7 +258,7 @@ require ( github.com/xeipuuv/gojsonpointer v0.0.0-20190905194746-02993c407bfb // indirect github.com/xeipuuv/gojsonreference v0.0.0-20180127040603-bd5ef7bd5415 // indirect github.com/xeipuuv/gojsonschema v1.2.0 // indirect - github.com/zclconf/go-cty v1.12.1 // indirect + github.com/zclconf/go-cty v1.13.1 // indirect go.opencensus.io v0.24.0 // indirect go.opentelemetry.io/otel v1.14.0 // indirect go.opentelemetry.io/otel/trace v1.14.0 // indirect diff --git a/provider/go.sum b/provider/go.sum index cca5acc9eb6..be73faef90d 100644 --- a/provider/go.sum +++ b/provider/go.sum @@ -396,8 +396,8 @@ github.com/aws/aws-sdk-go v1.43.31/go.mod h1:y4AeaBuwd2Lk+GepC1E9v0qOiTws0MIWAX4 github.com/aws/aws-sdk-go v1.44.45/go.mod h1:y4AeaBuwd2Lk+GepC1E9v0qOiTws0MIWAX4oIKwKHZo= github.com/aws/aws-sdk-go v1.44.68/go.mod h1:y4AeaBuwd2Lk+GepC1E9v0qOiTws0MIWAX4oIKwKHZo= github.com/aws/aws-sdk-go v1.44.122/go.mod h1:y4AeaBuwd2Lk+GepC1E9v0qOiTws0MIWAX4oIKwKHZo= -github.com/aws/aws-sdk-go v1.44.226 h1:lqTNeHJUq0U6dpMGJc9ZcmfTUkuAjklcwewj96RhMlc= -github.com/aws/aws-sdk-go v1.44.226/go.mod h1:aVsgQcEevwlmQ7qHE9I3h+dtQgpqhFB+i8Phjh7fkwI= +github.com/aws/aws-sdk-go v1.44.232 h1:rZ9gv+v7GAcWspk1JMa28L3XamRwoiMzD1vphUIm8Xg= +github.com/aws/aws-sdk-go v1.44.232/go.mod h1:aVsgQcEevwlmQ7qHE9I3h+dtQgpqhFB+i8Phjh7fkwI= github.com/aws/aws-sdk-go-v2 v0.18.0/go.mod h1:JWVYvqSMppoMJC0x5wdwiImzgXTI9FuZwxzkQq9wy+g= github.com/aws/aws-sdk-go-v2 v1.16.8/go.mod h1:6CpKuLXg2w7If3ABZCl/qZ6rEgwtjZTn4eAf4RcEyuw= github.com/aws/aws-sdk-go-v2 v1.17.4/go.mod h1:uzbQtefpm44goOPmdKyAlXSNcwlRgF3ePWVW6EtJvvw= @@ -436,8 +436,8 @@ github.com/aws/aws-sdk-go-v2/service/cloudcontrol v1.11.7 h1:JwKSQTZV35fxTgy+xcu github.com/aws/aws-sdk-go-v2/service/cloudcontrol v1.11.7/go.mod h1:sMVHADAF+VIxSMJ1LNQo1+FmAjKlLMToHJuu0XxUzYQ= github.com/aws/aws-sdk-go-v2/service/cloudwatchlogs v1.20.7 h1:Sv9ixBhjrihZUZih+SJfyo892LXutFspfqPt5XQGc9Q= github.com/aws/aws-sdk-go-v2/service/cloudwatchlogs v1.20.7/go.mod h1:pvT0/gXJx7Xe2pcs+/wXWHBiD45zml+gwO2bhCBFq+Q= -github.com/aws/aws-sdk-go-v2/service/comprehend v1.22.2 h1:QEZ3opVJyT5I6NdUoKh48YNM4Q0HlaCcVBKrQW3xM6c= -github.com/aws/aws-sdk-go-v2/service/comprehend v1.22.2/go.mod h1:Oo3a8+A4QcEw0m5u1XOd65fmckULX/IvfgmW2VnLtJc= +github.com/aws/aws-sdk-go-v2/service/comprehend v1.23.0 h1:EKuauKU/qKUCPpq1YtqQRfAh1LGspXHSZcwlm5TKF3k= +github.com/aws/aws-sdk-go-v2/service/comprehend v1.23.0/go.mod h1:Oo3a8+A4QcEw0m5u1XOd65fmckULX/IvfgmW2VnLtJc= github.com/aws/aws-sdk-go-v2/service/computeoptimizer v1.21.5 h1:5jEXwqB7128t9Jj4RdOek4GrQKmnvkzOo1zxVFmpFUc= github.com/aws/aws-sdk-go-v2/service/computeoptimizer v1.21.5/go.mod h1:B+fjhR6uAO48wa5tDUwZ4luJg50MQ1BGfLdh0fzQGtU= github.com/aws/aws-sdk-go-v2/service/ec2 v1.91.0 h1:b4Qme29Ml9nl3QBxWobytF5UxlfmYUJI7+u1FTqjehs= @@ -471,18 +471,18 @@ github.com/aws/aws-sdk-go-v2/service/kms v1.18.1 h1:y07kzPdcjuuyDVYWf1CCsQQ6kcAW github.com/aws/aws-sdk-go-v2/service/kms v1.18.1/go.mod h1:4PZMUkc9rXHWGVB5J9vKaZy3D7Nai79ORworQ3ASMiM= github.com/aws/aws-sdk-go-v2/service/lambda v1.30.2 h1:JEUEgBM8HZ27ahhZsIlgfj7xPITxkRoHXdpW7lLzGB0= github.com/aws/aws-sdk-go-v2/service/lambda v1.30.2/go.mod h1:PmNd6f36wPbp2+B3ZSuvHqqSwggfagEdI18tIb8s91o= -github.com/aws/aws-sdk-go-v2/service/medialive v1.30.2 h1:A1tB0k90suzaxdarNUsNTCbKDUjHaAAUpnUDdDvATyM= -github.com/aws/aws-sdk-go-v2/service/medialive v1.30.2/go.mod h1:xMm9ftEcjgzlYu/taqbHr2q4EKjus4F2bi98LgFtPl0= +github.com/aws/aws-sdk-go-v2/service/medialive v1.31.0 h1:EyrQ1iIpZ+1ep1AZKJ0rn+YwoqlG78LORzWBl5Yaj+k= +github.com/aws/aws-sdk-go-v2/service/medialive v1.31.0/go.mod h1:xMm9ftEcjgzlYu/taqbHr2q4EKjus4F2bi98LgFtPl0= github.com/aws/aws-sdk-go-v2/service/oam v1.1.7 h1:EHkc5p3bd/isOPhTbDK9EOONAblY76dU9R02j+QzCxE= github.com/aws/aws-sdk-go-v2/service/oam v1.1.7/go.mod h1:vy3iHiV8djFWziYqJP9VDM/A4ksOjbP6/g+pfxm82XA= -github.com/aws/aws-sdk-go-v2/service/opensearchserverless v1.1.7 h1:zyaFTkxNk092+PmARcVLk3R8bG4TmLhz/I/mmBJax6A= -github.com/aws/aws-sdk-go-v2/service/opensearchserverless v1.1.7/go.mod h1:e4tF159DHMz41KBqOS7VRFcC9KzbIzVj1Zjgp/P6Cu8= +github.com/aws/aws-sdk-go-v2/service/opensearchserverless v1.2.0 h1:rvah+bkAJtNvO1JIZ+/jJlaws+NncdrejA8Vljh9sNw= +github.com/aws/aws-sdk-go-v2/service/opensearchserverless v1.2.0/go.mod h1:e4tF159DHMz41KBqOS7VRFcC9KzbIzVj1Zjgp/P6Cu8= github.com/aws/aws-sdk-go-v2/service/pipes v1.2.2 h1:pGVj3iv8Zhj3HopofOTgt8xc+OxYx7pbfW4gyyi0JPo= github.com/aws/aws-sdk-go-v2/service/pipes v1.2.2/go.mod h1:ix9n6B+j4sBxDm+ti64CsyrkDGFI4d2aw1pKbnw3TX0= github.com/aws/aws-sdk-go-v2/service/rbin v1.8.7 h1:fgM+Kqn31cIkZriqdR+D6AeC431doyIa9TVcG0+2iEg= github.com/aws/aws-sdk-go-v2/service/rbin v1.8.7/go.mod h1:V71Cf9QQKukM1z5FUZW3vULuuri0txE27uiZpxrNMJY= -github.com/aws/aws-sdk-go-v2/service/rds v1.40.7 h1:sM5284kIpXLvkHUgR3FBfWMf7HJ8KZjSG1ST0hTqhxk= -github.com/aws/aws-sdk-go-v2/service/rds v1.40.7/go.mod h1:es+Xl+GSYsY3ESUW8H6zwieX0ePwycTheaC91KgrpJI= +github.com/aws/aws-sdk-go-v2/service/rds v1.42.0 h1:/FdXrQQyMCi1UwkrkrTRVv+PCj3cYC8cKn30YuSIVso= +github.com/aws/aws-sdk-go-v2/service/rds v1.42.0/go.mod h1:es+Xl+GSYsY3ESUW8H6zwieX0ePwycTheaC91KgrpJI= github.com/aws/aws-sdk-go-v2/service/resourceexplorer2 v1.2.8 h1:zesthvVJhxTGhyrjjEMFpqk7gt7b+fdeABuHxoDW0l0= github.com/aws/aws-sdk-go-v2/service/resourceexplorer2 v1.2.8/go.mod h1:VvzVAxo5lqTxoeq1GAyZ5vMfP+UIadaHVANyJblTA2A= github.com/aws/aws-sdk-go-v2/service/rolesanywhere v1.1.7 h1:R9JkLhNkCtpGC2f7jLj7NaeRrFrggxOA4TOdgCmrs60= @@ -501,12 +501,12 @@ github.com/aws/aws-sdk-go-v2/service/sesv2 v1.17.2/go.mod h1:Ym44Peh6n3qTmR7rZml github.com/aws/aws-sdk-go-v2/service/sns v1.17.10/go.mod h1:uITsRNVMeCB3MkWpXxXw0eDz8pW4TYLzj+eyQtbhSxM= github.com/aws/aws-sdk-go-v2/service/sqs v1.19.1/go.mod h1:A94o564Gj+Yn+7QO1eLFeI7UVv3riy/YBFOfICVqFvU= github.com/aws/aws-sdk-go-v2/service/ssm v1.27.6/go.mod h1:fiFzQgj4xNOg4/wqmAiPvzgDMXPD+cUEplX/CYn+0j0= -github.com/aws/aws-sdk-go-v2/service/ssm v1.35.7 h1:mt7DqUE5Itjj1KGYVbxqwzotnuE71E2fVSU1t1huJy0= -github.com/aws/aws-sdk-go-v2/service/ssm v1.35.7/go.mod h1:nCdeJmEFby1HKwKhDdKdVxPOJQUNht7Ngw+ejzbzvDU= -github.com/aws/aws-sdk-go-v2/service/ssmcontacts v1.14.6 h1:JNsez6Q4VWLZCmWrBKJUtChbzE3d+7ApUlNzaW3LVOY= -github.com/aws/aws-sdk-go-v2/service/ssmcontacts v1.14.6/go.mod h1:m+xmImOW5SRsyufOGEH6UZ0jil/CisWohdOy/bSzga8= -github.com/aws/aws-sdk-go-v2/service/ssmincidents v1.20.6 h1:KyWljVWxCtu8xQGs5oMKDqE8NFAfijjjOypi3uXyoqs= -github.com/aws/aws-sdk-go-v2/service/ssmincidents v1.20.6/go.mod h1:W1l+oXqtBfjRn44ZE1ds1Jn6CtZeLFdAluGPwRbTKjM= +github.com/aws/aws-sdk-go-v2/service/ssm v1.36.0 h1:L1gK0SF7Filotf8Jbhiq0Y+rKVs/W1av8MH0+AXPrAg= +github.com/aws/aws-sdk-go-v2/service/ssm v1.36.0/go.mod h1:nCdeJmEFby1HKwKhDdKdVxPOJQUNht7Ngw+ejzbzvDU= +github.com/aws/aws-sdk-go-v2/service/ssmcontacts v1.15.0 h1:tdDPqucWdb6bAY6p9FhbdnzXdtmwg7YwYzvP3qB6SVE= +github.com/aws/aws-sdk-go-v2/service/ssmcontacts v1.15.0/go.mod h1:m+xmImOW5SRsyufOGEH6UZ0jil/CisWohdOy/bSzga8= +github.com/aws/aws-sdk-go-v2/service/ssmincidents v1.21.0 h1:YhtQQynYSzQM0k2PI8sXeXRUQ6a+L4R9+10pvyiRy4I= +github.com/aws/aws-sdk-go-v2/service/ssmincidents v1.21.0/go.mod h1:W1l+oXqtBfjRn44ZE1ds1Jn6CtZeLFdAluGPwRbTKjM= github.com/aws/aws-sdk-go-v2/service/sso v1.11.13/go.mod h1:d7ptRksDDgvXaUvxyHZ9SYh+iMDymm94JbVcgvSYSzU= github.com/aws/aws-sdk-go-v2/service/sso v1.12.1/go.mod h1:IgV8l3sj22nQDd5qcAGY0WenwCzCphqdbFOpfktZPrI= github.com/aws/aws-sdk-go-v2/service/sso v1.12.6 h1:5V7DWLBd7wTELVz5bPpwzYy/sikk0gsgZfj40X+l5OI= @@ -1254,8 +1254,8 @@ github.com/hashicorp/hcl v1.0.0 h1:0Anlzjpi4vEasTeNFn2mLJgTSwt0+6sfsiTG8qcWGx4= github.com/hashicorp/hcl v1.0.0/go.mod h1:E5yfLk+7swimpb2L/Alb/PJmXilQ/rhwaUYs4T20WEQ= github.com/hashicorp/hcl/v2 v2.0.0/go.mod h1:oVVDG71tEinNGYCxinCYadcmKU9bglqW9pV3txagJ90= github.com/hashicorp/hcl/v2 v2.13.0/go.mod h1:e4z5nxYlWNPdDSNYX+ph14EvWYMFm3eP0zIUqPc2jr0= -github.com/hashicorp/hcl/v2 v2.16.1 h1:BwuxEMD/tsYgbhIW7UuI3crjovf3MzuFWiVgiv57iHg= -github.com/hashicorp/hcl/v2 v2.16.1/go.mod h1:JRmR89jycNkrrqnMmvPDMd56n1rQJ2Q6KocSLCMCXng= +github.com/hashicorp/hcl/v2 v2.16.2 h1:mpkHZh/Tv+xet3sy3F9Ld4FyI2tUpWe9x3XtPx9f1a0= +github.com/hashicorp/hcl/v2 v2.16.2/go.mod h1:JRmR89jycNkrrqnMmvPDMd56n1rQJ2Q6KocSLCMCXng= github.com/hashicorp/hil v0.0.0-20190212132231-97b3a9cdfa93 h1:T1Q6ag9tCwun16AW+XK3tAql24P4uTGUMIn1/92WsQQ= github.com/hashicorp/hil v0.0.0-20190212132231-97b3a9cdfa93/go.mod h1:n2TSygSNwsLJ76m8qFXTSc7beTb+auJxYdqrnoqwZWE= github.com/hashicorp/logutils v1.0.0 h1:dLEQVugN8vlakKOUE3ihGLTZJRB4j+M2cdTm/ORI65Y= @@ -1270,14 +1270,14 @@ github.com/hashicorp/serf v0.8.2/go.mod h1:6hOLApaqBFA1NXqRQAsxw9QxuDEvNxSQRwA/J github.com/hashicorp/serf v0.9.6/go.mod h1:TXZNMjZQijwlDvp+r0b63xZ45H7JmCmgg4gpTwn9UV4= github.com/hashicorp/terraform-config-inspect v0.0.0-20191115094559-17f92b0546e8/go.mod h1:p+ivJws3dpqbp1iP84+npOyAmTTOLMgCzrXd3GSdn/A= github.com/hashicorp/terraform-exec v0.17.2/go.mod h1:tuIbsL2l4MlwwIZx9HPM+LOV9vVyEfBYu2GsO1uH3/8= -github.com/hashicorp/terraform-exec v0.17.3 h1:MX14Kvnka/oWGmIkyuyvL6POx25ZmKrjlaclkx3eErU= -github.com/hashicorp/terraform-exec v0.17.3/go.mod h1:+NELG0EqQekJzhvikkeQsOAZpsw0cv/03rbeQJqscAI= +github.com/hashicorp/terraform-exec v0.18.1 h1:LAbfDvNQU1l0NOQlTuudjczVhHj061fNX5H8XZxHlH4= +github.com/hashicorp/terraform-exec v0.18.1/go.mod h1:58wg4IeuAJ6LVsLUeD2DWZZoc/bYi6dzhLHzxM41980= github.com/hashicorp/terraform-json v0.4.0/go.mod h1:eAbqb4w0pSlRmdvl8fOyHAi/+8jnkVYN28gJkSJrLhU= github.com/hashicorp/terraform-json v0.14.0/go.mod h1:5A9HIWPkk4e5aeeXIBbkcOvaZbIYnAIkEyqP2pNSckM= -github.com/hashicorp/terraform-json v0.15.0 h1:/gIyNtR6SFw6h5yzlbDbACyGvIhKtQi8mTsbkNd79lE= -github.com/hashicorp/terraform-json v0.15.0/go.mod h1:+L1RNzjDU5leLFZkHTFTbJXaoqUC6TqXlFgDoOXrtvk= -github.com/hashicorp/terraform-plugin-framework v1.1.1 h1:PbnEKHsIU8KTTzoztHQGgjZUWx7Kk8uGtpGMMc1p+oI= -github.com/hashicorp/terraform-plugin-framework v1.1.1/go.mod h1:DyZPxQA+4OKK5ELxFIIcqggcszqdWWUpTLPHAhS/tkY= +github.com/hashicorp/terraform-json v0.16.0 h1:UKkeWRWb23do5LNAFlh/K3N0ymn1qTOO8c+85Albo3s= +github.com/hashicorp/terraform-json v0.16.0/go.mod h1:v0Ufk9jJnk6tcIZvScHvetlKfiNTC+WS21mnXIlc0B0= +github.com/hashicorp/terraform-plugin-framework v1.2.0 h1:MZjFFfULnFq8fh04FqrKPcJ/nGpHOvX4buIygT3MSNY= +github.com/hashicorp/terraform-plugin-framework v1.2.0/go.mod h1:nToI62JylqXDq84weLJ/U3umUsBhZAaTmU0HXIVUOcw= github.com/hashicorp/terraform-plugin-framework-timeouts v0.3.1 h1:5GhozvHUsrqxqku+yd0UIRTkmDLp2QPX5paL1Kq5uUA= github.com/hashicorp/terraform-plugin-framework-timeouts v0.3.1/go.mod h1:ThtYDU8p6sJ9+SI+TYxXrw28vXxgBwYOpoPv1EojSJI= github.com/hashicorp/terraform-plugin-framework-validators v0.10.0 h1:4L0tmy/8esP6OcvocVymw52lY0HyQ5OxB7VNl7k4bS0= @@ -1962,9 +1962,11 @@ github.com/vmihailenco/msgpack v4.0.4+incompatible h1:dSLoQfGFAo3F6OoNhwUmLwVgaU github.com/vmihailenco/msgpack v4.0.4+incompatible/go.mod h1:fy3FlTQTDXWkZ7Bh6AcGMlsjHatGryHQYUTf1ShIgkk= github.com/vmihailenco/msgpack/v4 v4.3.12 h1:07s4sz9IReOgdikxLTKNbBdqDMLsjPKXwvCazn8G65U= github.com/vmihailenco/msgpack/v4 v4.3.12/go.mod h1:gborTTJjAo/GWTqqRjrLCn9pgNN+NXzzngzBKDPIqw4= +github.com/vmihailenco/msgpack/v5 v5.3.5 h1:5gO0H1iULLWGhs2H5tbAHIZTV8/cYafcFOr9znI5mJU= github.com/vmihailenco/tagparser v0.1.1/go.mod h1:OeAg3pn3UbLjkWt+rN9oFYB6u/cQgqMEUPoW2WPyhdI= github.com/vmihailenco/tagparser v0.1.2 h1:gnjoVuB/kljJ5wICEEOpx98oXMWPLj22G67Vbd1qPqc= github.com/vmihailenco/tagparser v0.1.2/go.mod h1:OeAg3pn3UbLjkWt+rN9oFYB6u/cQgqMEUPoW2WPyhdI= +github.com/vmihailenco/tagparser/v2 v2.0.0 h1:y09buUbR+b5aycVFQs/g70pqKVZNBmxwAhO7/IwNM9g= github.com/vultr/govultr/v2 v2.17.2/go.mod h1:ZFOKGWmgjytfyjeyAdhQlSWwTjh2ig+X49cAp50dzXI= github.com/willf/bitset v1.1.11-0.20200630133818-d5bec3311243/go.mod h1:RjeCKbqT1RxIR/KWY6phxZiaY1IyutSBfGjNPySAYV4= github.com/willf/bitset v1.1.11/go.mod h1:83CECat5yLh5zVOf4P1ErAgKA5UDvKtgyUABdr3+MjI= @@ -2002,8 +2004,8 @@ github.com/zclconf/go-cty v1.2.0/go.mod h1:hOPWgoHbaTUnI5k4D2ld+GRpFJSCe6bCM7m1q github.com/zclconf/go-cty v1.2.1/go.mod h1:hOPWgoHbaTUnI5k4D2ld+GRpFJSCe6bCM7m1q/N4PQ8= github.com/zclconf/go-cty v1.8.0/go.mod h1:vVKLxnk3puL4qRAv72AO+W99LUD4da90g3uUAzyuvAk= github.com/zclconf/go-cty v1.10.0/go.mod h1:vVKLxnk3puL4qRAv72AO+W99LUD4da90g3uUAzyuvAk= -github.com/zclconf/go-cty v1.12.1 h1:PcupnljUm9EIvbgSHQnHhUr3fO6oFmkOrvs2BAFNXXY= -github.com/zclconf/go-cty v1.12.1/go.mod h1:s9IfD1LK5ccNMSWCVFCE2rJfHiZgi7JijgeWIMfhLvA= +github.com/zclconf/go-cty v1.13.1 h1:0a6bRwuiSHtAmqCqNOE+c2oHgepv0ctoxU4FUe43kwc= +github.com/zclconf/go-cty v1.13.1/go.mod h1:YKQzy/7pZ7iq2jNFzy5go57xdxdWoLLpaEp4u238AE0= github.com/zclconf/go-cty-debug v0.0.0-20191215020915-b22d67c1ba0b/go.mod h1:ZRKQfBXbGkpdV6QMzT3rU1kSTAnfu1dO8dPKjYprgj8= github.com/zclconf/go-cty-yaml v1.0.1 h1:up11wlgAaDvlAGENcFDnZgkn0qUJurso7k6EpURKNF8= github.com/zclconf/go-cty-yaml v1.0.1/go.mod h1:IP3Ylp0wQpYm50IHK8OZWKMu6sPJIUgKa8XhiVHura0= diff --git a/provider/resources.go b/provider/resources.go index 759fa43ed3b..cd16d7eb9fc 100644 --- a/provider/resources.go +++ b/provider/resources.go @@ -173,6 +173,7 @@ const ( qldbMod = "Qldb" // QLDB quicksightMod = "Quicksight" // Quicksight ramMod = "Ram" // Resource Access Manager + rbinMod = "Rbin" // Recycle Bin rdsMod = "Rds" // Relational Database Service (RDS) redshiftMod = "RedShift" // RedShift redshiftDataMod = "RedshiftData" // RedshiftData @@ -197,6 +198,7 @@ const ( s3ControlMod = "S3Control" // S3 Control s3OutpostsMod = "S3Outposts" // S3 Outposts ssmMod = "Ssm" // System Manager + ssmIncidentsMod = "SsmIncidents" // Systems Manager Incident Manager secretsmanagerMod = "SecretsManager" // Secrets Manager servicecatalogMod = "ServiceCatalog" // Service Catalog servicediscoveryMod = "ServiceDiscovery" // Service Discovery @@ -3319,6 +3321,10 @@ func Provider() tfbridge.ProviderInfo { }, "aws_ssm_resource_data_sync": {Tok: awsResource(ssmMod, "ResourceDataSync")}, "aws_ssm_service_setting": {Tok: awsResource(ssmMod, "ServiceSetting")}, + + // SSM Incidents + "aws_ssmincidents_replication_set": {Tok: awsResource(ssmIncidentsMod, "ReplicationSet")}, + // SimpleDB "aws_simpledb_domain": {Tok: awsResource(simpledbMod, "Domain")}, // Simple Queuing Service (SQS) @@ -3425,6 +3431,7 @@ func Provider() tfbridge.ProviderInfo { }, }, }, + "aws_sns_topic_data_protection_policy": {Tok: awsResource(snsMod, "DataProtectionPolicy")}, // Step Functions (SFN) "aws_sfn_activity": {Tok: awsResource(sfnMod, "Activity")}, "aws_sfn_state_machine": {Tok: awsResource(sfnMod, "StateMachine")}, @@ -3767,6 +3774,9 @@ func Provider() tfbridge.ProviderInfo { // controlTower "aws_controltower_control": {Tok: awsResource(controlTowerMod, "ControlTowerControl")}, + + // rbin + "aws_rbin_rule": {Tok: awsResource(rbinMod, "Rule")}, }, ExtraTypes: map[string]schema.ComplexTypeSpec{ "aws:index/Region:Region": { @@ -5717,6 +5727,9 @@ func Provider() tfbridge.ProviderInfo { "aws_appmesh_virtual_service": {Tok: awsDataSource(appmeshMod, "getVirtualService")}, "aws_appmesh_route": {Tok: awsDataSource(appmeshMod, "getRoute")}, "aws_appmesh_virtual_gateway": {Tok: awsDataSource(appmeshMod, "getVirtualGateway")}, + "aws_appmesh_gateway_route": {Tok: awsDataSource(appmeshMod, "getGatewayRoute")}, + "aws_appmesh_virtual_node": {Tok: awsDataSource(appmeshMod, "getVirtualNode")}, + "aws_appmesh_virtual_router": {Tok: awsDataSource(appmeshMod, "getVirtualRouter")}, // API Gateway "aws_api_gateway_api_key": {Tok: awsDataSource(apigatewayMod, "getKey")}, "aws_api_gateway_resource": {Tok: awsDataSource(apigatewayMod, "getResource")}, @@ -6131,6 +6144,9 @@ func Provider() tfbridge.ProviderInfo { "aws_db_proxy": {Tok: awsDataSource(rdsMod, "getProxy")}, // Ram "aws_ram_resource_share": {Tok: awsDataSource(ramMod, "getResourceShare")}, + // OAM + "aws_oam_sink": {Tok: awsDataSource(oamMod, "getSink")}, + "aws_oam_sinks": {Tok: awsDataSource(oamMod, "getSinks")}, // RedShift "aws_redshift_cluster": {Tok: awsDataSource(redshiftMod, "getCluster")}, "aws_redshift_service_account": {Tok: awsDataSource(redshiftMod, "getServiceAccount")}, @@ -6180,6 +6196,8 @@ func Provider() tfbridge.ProviderInfo { "aws_ssm_parameters_by_path": {Tok: awsDataSource(ssmMod, "getParametersByPath")}, "aws_ssm_instances": {Tok: awsDataSource(ssmMod, "getInstances")}, "aws_ssm_maintenance_windows": {Tok: awsDataSource(ssmMod, "getMaintenanceWindows")}, + // SSM Incidents + "aws_ssmincidents_replication_set": {Tok: awsDataSource(ssmIncidentsMod, "getReplicationSet")}, // Storage Gateway "aws_storagegateway_local_disk": {Tok: awsDataSource(storagegatewayMod, "getLocalDisk")}, // Transfer diff --git a/provider/shim/go.mod b/provider/shim/go.mod index 5ae5b7b7ac4..6f89b42e3be 100644 --- a/provider/shim/go.mod +++ b/provider/shim/go.mod @@ -3,7 +3,7 @@ module github.com/hashicorp/terraform-provider-aws/shim go 1.18 require ( - github.com/hashicorp/terraform-plugin-sdk/v2 v2.25.0 + github.com/hashicorp/terraform-plugin-sdk/v2 v2.26.1 github.com/hashicorp/terraform-provider-aws v1.60.1-0.20220923175450-ca71523cdc36 ) @@ -13,7 +13,7 @@ require ( github.com/ProtonMail/go-crypto v0.0.0-20230201104953-d1d05f4e2bfb // indirect github.com/agext/levenshtein v1.2.3 // indirect github.com/apparentlymart/go-textseg/v13 v13.0.0 // indirect - github.com/aws/aws-sdk-go v1.44.226 // indirect + github.com/aws/aws-sdk-go v1.44.232 // indirect github.com/aws/aws-sdk-go-v2 v1.17.7 // indirect github.com/aws/aws-sdk-go-v2/config v1.18.12 // indirect github.com/aws/aws-sdk-go-v2/credentials v1.13.12 // indirect @@ -24,7 +24,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/auditmanager v1.24.3 // indirect github.com/aws/aws-sdk-go-v2/service/cloudcontrol v1.11.7 // indirect github.com/aws/aws-sdk-go-v2/service/cloudwatchlogs v1.20.7 // indirect - github.com/aws/aws-sdk-go-v2/service/comprehend v1.22.2 // indirect + github.com/aws/aws-sdk-go-v2/service/comprehend v1.23.0 // indirect github.com/aws/aws-sdk-go-v2/service/computeoptimizer v1.21.5 // indirect github.com/aws/aws-sdk-go-v2/service/ec2 v1.91.0 // indirect github.com/aws/aws-sdk-go-v2/service/fis v1.14.6 // indirect @@ -37,21 +37,21 @@ require ( github.com/aws/aws-sdk-go-v2/service/ivschat v1.4.1 // indirect github.com/aws/aws-sdk-go-v2/service/kendra v1.38.7 // indirect github.com/aws/aws-sdk-go-v2/service/lambda v1.30.2 // indirect - github.com/aws/aws-sdk-go-v2/service/medialive v1.30.2 // indirect + github.com/aws/aws-sdk-go-v2/service/medialive v1.31.0 // indirect github.com/aws/aws-sdk-go-v2/service/oam v1.1.7 // indirect - github.com/aws/aws-sdk-go-v2/service/opensearchserverless v1.1.7 // indirect + github.com/aws/aws-sdk-go-v2/service/opensearchserverless v1.2.0 // indirect github.com/aws/aws-sdk-go-v2/service/pipes v1.2.2 // indirect github.com/aws/aws-sdk-go-v2/service/rbin v1.8.7 // indirect - github.com/aws/aws-sdk-go-v2/service/rds v1.40.7 // indirect + github.com/aws/aws-sdk-go-v2/service/rds v1.42.0 // indirect github.com/aws/aws-sdk-go-v2/service/resourceexplorer2 v1.2.8 // indirect github.com/aws/aws-sdk-go-v2/service/rolesanywhere v1.1.7 // indirect github.com/aws/aws-sdk-go-v2/service/route53domains v1.14.6 // indirect github.com/aws/aws-sdk-go-v2/service/s3control v1.31.1 // indirect github.com/aws/aws-sdk-go-v2/service/scheduler v1.1.6 // indirect github.com/aws/aws-sdk-go-v2/service/sesv2 v1.17.2 // indirect - github.com/aws/aws-sdk-go-v2/service/ssm v1.35.7 // indirect - github.com/aws/aws-sdk-go-v2/service/ssmcontacts v1.14.6 // indirect - github.com/aws/aws-sdk-go-v2/service/ssmincidents v1.20.6 // indirect + github.com/aws/aws-sdk-go-v2/service/ssm v1.36.0 // indirect + github.com/aws/aws-sdk-go-v2/service/ssmcontacts v1.15.0 // indirect + github.com/aws/aws-sdk-go-v2/service/ssmincidents v1.21.0 // indirect github.com/aws/aws-sdk-go-v2/service/sso v1.12.6 // indirect github.com/aws/aws-sdk-go-v2/service/ssooidc v1.14.6 // indirect github.com/aws/aws-sdk-go-v2/service/sts v1.18.7 // indirect @@ -77,11 +77,11 @@ require ( github.com/hashicorp/go-uuid v1.0.3 // indirect github.com/hashicorp/go-version v1.6.0 // indirect github.com/hashicorp/hc-install v0.5.0 // indirect - github.com/hashicorp/hcl/v2 v2.16.1 // indirect + github.com/hashicorp/hcl/v2 v2.16.2 // indirect github.com/hashicorp/logutils v1.0.0 // indirect - github.com/hashicorp/terraform-exec v0.17.3 // indirect - github.com/hashicorp/terraform-json v0.15.0 // indirect - github.com/hashicorp/terraform-plugin-framework v1.1.1 // indirect + github.com/hashicorp/terraform-exec v0.18.1 // indirect + github.com/hashicorp/terraform-json v0.16.0 // indirect + github.com/hashicorp/terraform-plugin-framework v1.2.0 // indirect github.com/hashicorp/terraform-plugin-framework-timeouts v0.3.1 // indirect github.com/hashicorp/terraform-plugin-framework-validators v0.10.0 // indirect github.com/hashicorp/terraform-plugin-go v0.14.3 // indirect @@ -108,7 +108,7 @@ require ( github.com/xeipuuv/gojsonpointer v0.0.0-20190905194746-02993c407bfb // indirect github.com/xeipuuv/gojsonreference v0.0.0-20180127040603-bd5ef7bd5415 // indirect github.com/xeipuuv/gojsonschema v1.2.0 // indirect - github.com/zclconf/go-cty v1.12.1 // indirect + github.com/zclconf/go-cty v1.13.1 // indirect go.opentelemetry.io/otel v1.14.0 // indirect go.opentelemetry.io/otel/trace v1.14.0 // indirect golang.org/x/crypto v0.7.0 // indirect diff --git a/provider/shim/go.sum b/provider/shim/go.sum index 2b8383d44c3..4aba4760584 100644 --- a/provider/shim/go.sum +++ b/provider/shim/go.sum @@ -20,8 +20,8 @@ github.com/apparentlymart/go-textseg/v13 v13.0.0/go.mod h1:ZK2fH7c4NqDTLtiYLvIkE github.com/armon/go-radix v0.0.0-20180808171621-7fddfc383310/go.mod h1:ufUuZ+zHj4x4TnLV4JWEpy2hxWSpsRywHrMgIH9cCH8= github.com/armon/go-socks5 v0.0.0-20160902184237-e75332964ef5/go.mod h1:wHh0iHkYZB8zMSxRWpUBQtwG5a7fFgvEO+odwuTv2gs= github.com/aws/aws-sdk-go v1.31.9/go.mod h1:5zCpMtNQVjRREroY7sYe8lOMRSxkhG6MZveU8YkpAk0= -github.com/aws/aws-sdk-go v1.44.226 h1:lqTNeHJUq0U6dpMGJc9ZcmfTUkuAjklcwewj96RhMlc= -github.com/aws/aws-sdk-go v1.44.226/go.mod h1:aVsgQcEevwlmQ7qHE9I3h+dtQgpqhFB+i8Phjh7fkwI= +github.com/aws/aws-sdk-go v1.44.232 h1:rZ9gv+v7GAcWspk1JMa28L3XamRwoiMzD1vphUIm8Xg= +github.com/aws/aws-sdk-go v1.44.232/go.mod h1:aVsgQcEevwlmQ7qHE9I3h+dtQgpqhFB+i8Phjh7fkwI= github.com/aws/aws-sdk-go-v2 v1.17.4/go.mod h1:uzbQtefpm44goOPmdKyAlXSNcwlRgF3ePWVW6EtJvvw= github.com/aws/aws-sdk-go-v2 v1.17.7 h1:CLSjnhJSTSogvqUGhIC6LqFKATMRexcxLZ0i/Nzk9Eg= github.com/aws/aws-sdk-go-v2 v1.17.7/go.mod h1:uzbQtefpm44goOPmdKyAlXSNcwlRgF3ePWVW6EtJvvw= @@ -46,8 +46,8 @@ github.com/aws/aws-sdk-go-v2/service/cloudcontrol v1.11.7 h1:JwKSQTZV35fxTgy+xcu github.com/aws/aws-sdk-go-v2/service/cloudcontrol v1.11.7/go.mod h1:sMVHADAF+VIxSMJ1LNQo1+FmAjKlLMToHJuu0XxUzYQ= github.com/aws/aws-sdk-go-v2/service/cloudwatchlogs v1.20.7 h1:Sv9ixBhjrihZUZih+SJfyo892LXutFspfqPt5XQGc9Q= github.com/aws/aws-sdk-go-v2/service/cloudwatchlogs v1.20.7/go.mod h1:pvT0/gXJx7Xe2pcs+/wXWHBiD45zml+gwO2bhCBFq+Q= -github.com/aws/aws-sdk-go-v2/service/comprehend v1.22.2 h1:QEZ3opVJyT5I6NdUoKh48YNM4Q0HlaCcVBKrQW3xM6c= -github.com/aws/aws-sdk-go-v2/service/comprehend v1.22.2/go.mod h1:Oo3a8+A4QcEw0m5u1XOd65fmckULX/IvfgmW2VnLtJc= +github.com/aws/aws-sdk-go-v2/service/comprehend v1.23.0 h1:EKuauKU/qKUCPpq1YtqQRfAh1LGspXHSZcwlm5TKF3k= +github.com/aws/aws-sdk-go-v2/service/comprehend v1.23.0/go.mod h1:Oo3a8+A4QcEw0m5u1XOd65fmckULX/IvfgmW2VnLtJc= github.com/aws/aws-sdk-go-v2/service/computeoptimizer v1.21.5 h1:5jEXwqB7128t9Jj4RdOek4GrQKmnvkzOo1zxVFmpFUc= github.com/aws/aws-sdk-go-v2/service/computeoptimizer v1.21.5/go.mod h1:B+fjhR6uAO48wa5tDUwZ4luJg50MQ1BGfLdh0fzQGtU= github.com/aws/aws-sdk-go-v2/service/ec2 v1.91.0 h1:b4Qme29Ml9nl3QBxWobytF5UxlfmYUJI7+u1FTqjehs= @@ -73,18 +73,18 @@ github.com/aws/aws-sdk-go-v2/service/kendra v1.38.7 h1:Lu6GMrhWI4uNREMKeRwkh60bm github.com/aws/aws-sdk-go-v2/service/kendra v1.38.7/go.mod h1:AIygUOfpUxR0mTrIsaDmBqkP5nyWPCF0yAqLA2N0/Og= github.com/aws/aws-sdk-go-v2/service/lambda v1.30.2 h1:JEUEgBM8HZ27ahhZsIlgfj7xPITxkRoHXdpW7lLzGB0= github.com/aws/aws-sdk-go-v2/service/lambda v1.30.2/go.mod h1:PmNd6f36wPbp2+B3ZSuvHqqSwggfagEdI18tIb8s91o= -github.com/aws/aws-sdk-go-v2/service/medialive v1.30.2 h1:A1tB0k90suzaxdarNUsNTCbKDUjHaAAUpnUDdDvATyM= -github.com/aws/aws-sdk-go-v2/service/medialive v1.30.2/go.mod h1:xMm9ftEcjgzlYu/taqbHr2q4EKjus4F2bi98LgFtPl0= +github.com/aws/aws-sdk-go-v2/service/medialive v1.31.0 h1:EyrQ1iIpZ+1ep1AZKJ0rn+YwoqlG78LORzWBl5Yaj+k= +github.com/aws/aws-sdk-go-v2/service/medialive v1.31.0/go.mod h1:xMm9ftEcjgzlYu/taqbHr2q4EKjus4F2bi98LgFtPl0= github.com/aws/aws-sdk-go-v2/service/oam v1.1.7 h1:EHkc5p3bd/isOPhTbDK9EOONAblY76dU9R02j+QzCxE= github.com/aws/aws-sdk-go-v2/service/oam v1.1.7/go.mod h1:vy3iHiV8djFWziYqJP9VDM/A4ksOjbP6/g+pfxm82XA= -github.com/aws/aws-sdk-go-v2/service/opensearchserverless v1.1.7 h1:zyaFTkxNk092+PmARcVLk3R8bG4TmLhz/I/mmBJax6A= -github.com/aws/aws-sdk-go-v2/service/opensearchserverless v1.1.7/go.mod h1:e4tF159DHMz41KBqOS7VRFcC9KzbIzVj1Zjgp/P6Cu8= +github.com/aws/aws-sdk-go-v2/service/opensearchserverless v1.2.0 h1:rvah+bkAJtNvO1JIZ+/jJlaws+NncdrejA8Vljh9sNw= +github.com/aws/aws-sdk-go-v2/service/opensearchserverless v1.2.0/go.mod h1:e4tF159DHMz41KBqOS7VRFcC9KzbIzVj1Zjgp/P6Cu8= github.com/aws/aws-sdk-go-v2/service/pipes v1.2.2 h1:pGVj3iv8Zhj3HopofOTgt8xc+OxYx7pbfW4gyyi0JPo= github.com/aws/aws-sdk-go-v2/service/pipes v1.2.2/go.mod h1:ix9n6B+j4sBxDm+ti64CsyrkDGFI4d2aw1pKbnw3TX0= github.com/aws/aws-sdk-go-v2/service/rbin v1.8.7 h1:fgM+Kqn31cIkZriqdR+D6AeC431doyIa9TVcG0+2iEg= github.com/aws/aws-sdk-go-v2/service/rbin v1.8.7/go.mod h1:V71Cf9QQKukM1z5FUZW3vULuuri0txE27uiZpxrNMJY= -github.com/aws/aws-sdk-go-v2/service/rds v1.40.7 h1:sM5284kIpXLvkHUgR3FBfWMf7HJ8KZjSG1ST0hTqhxk= -github.com/aws/aws-sdk-go-v2/service/rds v1.40.7/go.mod h1:es+Xl+GSYsY3ESUW8H6zwieX0ePwycTheaC91KgrpJI= +github.com/aws/aws-sdk-go-v2/service/rds v1.42.0 h1:/FdXrQQyMCi1UwkrkrTRVv+PCj3cYC8cKn30YuSIVso= +github.com/aws/aws-sdk-go-v2/service/rds v1.42.0/go.mod h1:es+Xl+GSYsY3ESUW8H6zwieX0ePwycTheaC91KgrpJI= github.com/aws/aws-sdk-go-v2/service/resourceexplorer2 v1.2.8 h1:zesthvVJhxTGhyrjjEMFpqk7gt7b+fdeABuHxoDW0l0= github.com/aws/aws-sdk-go-v2/service/resourceexplorer2 v1.2.8/go.mod h1:VvzVAxo5lqTxoeq1GAyZ5vMfP+UIadaHVANyJblTA2A= github.com/aws/aws-sdk-go-v2/service/rolesanywhere v1.1.7 h1:R9JkLhNkCtpGC2f7jLj7NaeRrFrggxOA4TOdgCmrs60= @@ -97,12 +97,12 @@ github.com/aws/aws-sdk-go-v2/service/scheduler v1.1.6 h1:FiFUXvyS91yPdQo+Bty+ZGr github.com/aws/aws-sdk-go-v2/service/scheduler v1.1.6/go.mod h1:4Ac3JoGbiIfpUlZMNqMpJbAVCiMpcO7FGeCnYqB9ALg= github.com/aws/aws-sdk-go-v2/service/sesv2 v1.17.2 h1:jxYG0lW2AGc11834RsUneuOOg4aZON8IABvG76iBTkg= github.com/aws/aws-sdk-go-v2/service/sesv2 v1.17.2/go.mod h1:Ym44Peh6n3qTmR7rZmlpj7jGNXQqZL5lJQjVA0Cb7E8= -github.com/aws/aws-sdk-go-v2/service/ssm v1.35.7 h1:mt7DqUE5Itjj1KGYVbxqwzotnuE71E2fVSU1t1huJy0= -github.com/aws/aws-sdk-go-v2/service/ssm v1.35.7/go.mod h1:nCdeJmEFby1HKwKhDdKdVxPOJQUNht7Ngw+ejzbzvDU= -github.com/aws/aws-sdk-go-v2/service/ssmcontacts v1.14.6 h1:JNsez6Q4VWLZCmWrBKJUtChbzE3d+7ApUlNzaW3LVOY= -github.com/aws/aws-sdk-go-v2/service/ssmcontacts v1.14.6/go.mod h1:m+xmImOW5SRsyufOGEH6UZ0jil/CisWohdOy/bSzga8= -github.com/aws/aws-sdk-go-v2/service/ssmincidents v1.20.6 h1:KyWljVWxCtu8xQGs5oMKDqE8NFAfijjjOypi3uXyoqs= -github.com/aws/aws-sdk-go-v2/service/ssmincidents v1.20.6/go.mod h1:W1l+oXqtBfjRn44ZE1ds1Jn6CtZeLFdAluGPwRbTKjM= +github.com/aws/aws-sdk-go-v2/service/ssm v1.36.0 h1:L1gK0SF7Filotf8Jbhiq0Y+rKVs/W1av8MH0+AXPrAg= +github.com/aws/aws-sdk-go-v2/service/ssm v1.36.0/go.mod h1:nCdeJmEFby1HKwKhDdKdVxPOJQUNht7Ngw+ejzbzvDU= +github.com/aws/aws-sdk-go-v2/service/ssmcontacts v1.15.0 h1:tdDPqucWdb6bAY6p9FhbdnzXdtmwg7YwYzvP3qB6SVE= +github.com/aws/aws-sdk-go-v2/service/ssmcontacts v1.15.0/go.mod h1:m+xmImOW5SRsyufOGEH6UZ0jil/CisWohdOy/bSzga8= +github.com/aws/aws-sdk-go-v2/service/ssmincidents v1.21.0 h1:YhtQQynYSzQM0k2PI8sXeXRUQ6a+L4R9+10pvyiRy4I= +github.com/aws/aws-sdk-go-v2/service/ssmincidents v1.21.0/go.mod h1:W1l+oXqtBfjRn44ZE1ds1Jn6CtZeLFdAluGPwRbTKjM= github.com/aws/aws-sdk-go-v2/service/sso v1.12.1/go.mod h1:IgV8l3sj22nQDd5qcAGY0WenwCzCphqdbFOpfktZPrI= github.com/aws/aws-sdk-go-v2/service/sso v1.12.6 h1:5V7DWLBd7wTELVz5bPpwzYy/sikk0gsgZfj40X+l5OI= github.com/aws/aws-sdk-go-v2/service/sso v1.12.6/go.mod h1:Y1VOmit/Fn6Tz1uFAeCO6Q7M2fmfXSCLeL5INVYsLuY= @@ -198,16 +198,16 @@ github.com/hashicorp/go-version v1.6.0 h1:feTTfFNnjP967rlCxM/I9g701jU+RN74YKx2mO github.com/hashicorp/go-version v1.6.0/go.mod h1:fltr4n8CU8Ke44wwGCBoEymUuxUHl09ZGVZPK5anwXA= github.com/hashicorp/hc-install v0.5.0 h1:D9bl4KayIYKEeJ4vUDe9L5huqxZXczKaykSRcmQ0xY0= github.com/hashicorp/hc-install v0.5.0/go.mod h1:JyzMfbzfSBSjoDCRPna1vi/24BEDxFaCPfdHtM5SCdo= -github.com/hashicorp/hcl/v2 v2.16.1 h1:BwuxEMD/tsYgbhIW7UuI3crjovf3MzuFWiVgiv57iHg= -github.com/hashicorp/hcl/v2 v2.16.1/go.mod h1:JRmR89jycNkrrqnMmvPDMd56n1rQJ2Q6KocSLCMCXng= +github.com/hashicorp/hcl/v2 v2.16.2 h1:mpkHZh/Tv+xet3sy3F9Ld4FyI2tUpWe9x3XtPx9f1a0= +github.com/hashicorp/hcl/v2 v2.16.2/go.mod h1:JRmR89jycNkrrqnMmvPDMd56n1rQJ2Q6KocSLCMCXng= github.com/hashicorp/logutils v1.0.0 h1:dLEQVugN8vlakKOUE3ihGLTZJRB4j+M2cdTm/ORI65Y= github.com/hashicorp/logutils v1.0.0/go.mod h1:QIAnNjmIWmVIIkWDTG1z5v++HQmx9WQRO+LraFDTW64= -github.com/hashicorp/terraform-exec v0.17.3 h1:MX14Kvnka/oWGmIkyuyvL6POx25ZmKrjlaclkx3eErU= -github.com/hashicorp/terraform-exec v0.17.3/go.mod h1:+NELG0EqQekJzhvikkeQsOAZpsw0cv/03rbeQJqscAI= -github.com/hashicorp/terraform-json v0.15.0 h1:/gIyNtR6SFw6h5yzlbDbACyGvIhKtQi8mTsbkNd79lE= -github.com/hashicorp/terraform-json v0.15.0/go.mod h1:+L1RNzjDU5leLFZkHTFTbJXaoqUC6TqXlFgDoOXrtvk= -github.com/hashicorp/terraform-plugin-framework v1.1.1 h1:PbnEKHsIU8KTTzoztHQGgjZUWx7Kk8uGtpGMMc1p+oI= -github.com/hashicorp/terraform-plugin-framework v1.1.1/go.mod h1:DyZPxQA+4OKK5ELxFIIcqggcszqdWWUpTLPHAhS/tkY= +github.com/hashicorp/terraform-exec v0.18.1 h1:LAbfDvNQU1l0NOQlTuudjczVhHj061fNX5H8XZxHlH4= +github.com/hashicorp/terraform-exec v0.18.1/go.mod h1:58wg4IeuAJ6LVsLUeD2DWZZoc/bYi6dzhLHzxM41980= +github.com/hashicorp/terraform-json v0.16.0 h1:UKkeWRWb23do5LNAFlh/K3N0ymn1qTOO8c+85Albo3s= +github.com/hashicorp/terraform-json v0.16.0/go.mod h1:v0Ufk9jJnk6tcIZvScHvetlKfiNTC+WS21mnXIlc0B0= +github.com/hashicorp/terraform-plugin-framework v1.2.0 h1:MZjFFfULnFq8fh04FqrKPcJ/nGpHOvX4buIygT3MSNY= +github.com/hashicorp/terraform-plugin-framework v1.2.0/go.mod h1:nToI62JylqXDq84weLJ/U3umUsBhZAaTmU0HXIVUOcw= github.com/hashicorp/terraform-plugin-framework-timeouts v0.3.1 h1:5GhozvHUsrqxqku+yd0UIRTkmDLp2QPX5paL1Kq5uUA= github.com/hashicorp/terraform-plugin-framework-timeouts v0.3.1/go.mod h1:ThtYDU8p6sJ9+SI+TYxXrw28vXxgBwYOpoPv1EojSJI= github.com/hashicorp/terraform-plugin-framework-validators v0.10.0 h1:4L0tmy/8esP6OcvocVymw52lY0HyQ5OxB7VNl7k4bS0= @@ -218,8 +218,8 @@ github.com/hashicorp/terraform-plugin-log v0.8.0 h1:pX2VQ/TGKu+UU1rCay0OlzosNKe4 github.com/hashicorp/terraform-plugin-log v0.8.0/go.mod h1:1myFrhVsBLeylQzYYEV17VVjtG8oYPRFdaZs7xdW2xs= github.com/hashicorp/terraform-plugin-mux v0.9.0 h1:a2Xh63cunDB/1GZECrV02cGA74AhQGUjY9X8W3P/L7k= github.com/hashicorp/terraform-plugin-mux v0.9.0/go.mod h1:8NUFbgeMigms7Tma/r2Vgi5Jv5mPv4xcJ05pJtIOhwc= -github.com/hashicorp/terraform-plugin-sdk/v2 v2.25.0 h1:iNRjaJCatQS1rIbHs/vDvJ0GECsaGgxx780chA2Irpk= -github.com/hashicorp/terraform-plugin-sdk/v2 v2.25.0/go.mod h1:XnVNLIS6bdMJbjSDujhX4Rlk24QpbGKbnrVFM4tZ7OU= +github.com/hashicorp/terraform-plugin-sdk/v2 v2.26.1 h1:G9WAfb8LHeCxu7Ae8nc1agZlQOSCUWsb610iAogBhCs= +github.com/hashicorp/terraform-plugin-sdk/v2 v2.26.1/go.mod h1:xcOSYlRVdPLmDUoqPhO9fiO/YCN/l6MGYeTzGt5jgkQ= github.com/hashicorp/terraform-registry-address v0.1.0 h1:W6JkV9wbum+m516rCl5/NjKxCyTVaaUBbzYcMzBDO3U= github.com/hashicorp/terraform-registry-address v0.1.0/go.mod h1:EnyO2jYO6j29DTHbJcm00E5nQTFeTtyZH3H5ycydQ5A= github.com/hashicorp/terraform-svchost v0.0.0-20200729002733-f050f53b9734/go.mod h1:kNDNcF7sN4DocDLBkQYz73HGKwN1ANB1blq4lIYLYvg= @@ -293,7 +293,6 @@ github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZN github.com/posener/complete v1.1.1/go.mod h1:em0nMJCgc9GFtwrmVmEMR/ZL6WyhyjMBndrE9hABlRI= github.com/pquerna/otp v1.4.0 h1:wZvl1TIVxKRThZIBiwOOHOGP/1+nZyWBil9Y2XNEDzg= github.com/rogpeppe/go-internal v1.9.0 h1:73kH8U+JUqXU8lRuOHeVHaa/SZPifC7BkcraZVejAe8= -github.com/sebdah/goldie v1.0.0/go.mod h1:jXP4hmWywNEwZzhMuv2ccnqTSFpuq8iyQhtQdkkZBH4= github.com/sergi/go-diff v1.1.0/go.mod h1:STckp+ISIX8hZLjrqAeVduY0gWCT9IjLuqbuNXdaHfM= github.com/sergi/go-diff v1.2.0 h1:XU+rvMAioB0UC3q1MFrIQy4Vo5/4VsRDQQXHsEya6xQ= github.com/shopspring/decimal v1.2.0/go.mod h1:DKyhrW/HYNuLGql+MJL6WCR6knT2jwCFRcu2hWCYk4o= @@ -330,11 +329,8 @@ github.com/xeipuuv/gojsonschema v1.2.0 h1:LhYJRs+L4fBtjZUfuSZIKGeVu0QRy8e5Xi7D17 github.com/xeipuuv/gojsonschema v1.2.0/go.mod h1:anYRn/JVcOK2ZgGU+IjEV4nwlhoK5sQluxsYJ78Id3Y= github.com/yuin/goldmark v1.4.13/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY= github.com/zclconf/go-cty v1.1.0/go.mod h1:xnAOWiHeOqg2nWS62VtQ7pbOu17FtxJNW8RLEih+O3s= -github.com/zclconf/go-cty v1.2.0/go.mod h1:hOPWgoHbaTUnI5k4D2ld+GRpFJSCe6bCM7m1q/N4PQ8= -github.com/zclconf/go-cty v1.10.0/go.mod h1:vVKLxnk3puL4qRAv72AO+W99LUD4da90g3uUAzyuvAk= -github.com/zclconf/go-cty v1.12.1 h1:PcupnljUm9EIvbgSHQnHhUr3fO6oFmkOrvs2BAFNXXY= -github.com/zclconf/go-cty v1.12.1/go.mod h1:s9IfD1LK5ccNMSWCVFCE2rJfHiZgi7JijgeWIMfhLvA= -github.com/zclconf/go-cty-debug v0.0.0-20191215020915-b22d67c1ba0b/go.mod h1:ZRKQfBXbGkpdV6QMzT3rU1kSTAnfu1dO8dPKjYprgj8= +github.com/zclconf/go-cty v1.13.1 h1:0a6bRwuiSHtAmqCqNOE+c2oHgepv0ctoxU4FUe43kwc= +github.com/zclconf/go-cty v1.13.1/go.mod h1:YKQzy/7pZ7iq2jNFzy5go57xdxdWoLLpaEp4u238AE0= go.opentelemetry.io/otel v1.14.0 h1:/79Huy8wbf5DnIPhemGB+zEPVwnN6fuQybr/SRXa6hM= go.opentelemetry.io/otel v1.14.0/go.mod h1:o4buv+dJzx8rohcUeRmWUZhqupFvzWis188WlggnNeU= go.opentelemetry.io/otel/trace v1.14.0 h1:wp2Mmvj41tDsyAJXiWDWpfNsOiIyd38fy85pyKcFq/M= @@ -409,7 +405,6 @@ golang.org/x/term v0.6.0 h1:clScbb1cHjoCkyRbWwBEUZ5H/tIFu5TAXIqaZD0Gcjw= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.3.5/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= golang.org/x/text v0.4.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= golang.org/x/text v0.6.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= diff --git a/sdk/dotnet/AppMesh/GatewayRoute.cs b/sdk/dotnet/AppMesh/GatewayRoute.cs index 80cdab8c121..9e66a594f55 100644 --- a/sdk/dotnet/AppMesh/GatewayRoute.cs +++ b/sdk/dotnet/AppMesh/GatewayRoute.cs @@ -213,6 +213,18 @@ public InputMap Tags set => _tags = value; } + [Input("tagsAll")] + private InputMap? _tagsAll; + + /// + /// Map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. + /// + public InputMap TagsAll + { + get => _tagsAll ?? (_tagsAll = new InputMap()); + set => _tagsAll = value; + } + /// /// Name of the virtual gateway to associate the gateway route with. Must be between 1 and 255 characters in length. /// diff --git a/sdk/dotnet/AppMesh/GetGatewayRoute.cs b/sdk/dotnet/AppMesh/GetGatewayRoute.cs new file mode 100644 index 00000000000..a8fb9bf25b4 --- /dev/null +++ b/sdk/dotnet/AppMesh/GetGatewayRoute.cs @@ -0,0 +1,236 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.AppMesh +{ + public static class GetGatewayRoute + { + /// + /// 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. + /// + /// {{% examples %}} + /// ## Example Usage + /// {{% example %}} + /// + /// ```csharp + /// using System.Collections.Generic; + /// using Pulumi; + /// using Aws = Pulumi.Aws; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var test = Aws.AppMesh.GetGatewayRoute.Invoke(new() + /// { + /// MeshName = "test-mesh", + /// Name = "test-route", + /// VirtualGatewayName = "test-gateway", + /// }); + /// + /// }); + /// ``` + /// {{% /example %}} + /// {{% /examples %}} + /// + public static Task InvokeAsync(GetGatewayRouteArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.InvokeAsync("aws:appmesh/getGatewayRoute:getGatewayRoute", args ?? new GetGatewayRouteArgs(), options.WithDefaults()); + + /// + /// 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. + /// + /// {{% examples %}} + /// ## Example Usage + /// {{% example %}} + /// + /// ```csharp + /// using System.Collections.Generic; + /// using Pulumi; + /// using Aws = Pulumi.Aws; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var test = Aws.AppMesh.GetGatewayRoute.Invoke(new() + /// { + /// MeshName = "test-mesh", + /// Name = "test-route", + /// VirtualGatewayName = "test-gateway", + /// }); + /// + /// }); + /// ``` + /// {{% /example %}} + /// {{% /examples %}} + /// + public static Output Invoke(GetGatewayRouteInvokeArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.Invoke("aws:appmesh/getGatewayRoute:getGatewayRoute", args ?? new GetGatewayRouteInvokeArgs(), options.WithDefaults()); + } + + + public sealed class GetGatewayRouteArgs : global::Pulumi.InvokeArgs + { + /// + /// Name of the service mesh in which the virtual gateway exists. + /// + [Input("meshName", required: true)] + public string MeshName { get; set; } = null!; + + /// + /// AWS account ID of the service mesh's owner. + /// + [Input("meshOwner")] + public string? MeshOwner { get; set; } + + /// + /// Name of the gateway route. + /// + [Input("name", required: true)] + public string Name { get; set; } = null!; + + [Input("tags")] + private Dictionary? _tags; + + /// + /// Map of tags. + /// + public Dictionary Tags + { + get => _tags ?? (_tags = new Dictionary()); + set => _tags = value; + } + + /// + /// Name of the virtual gateway in which the route exists. + /// + [Input("virtualGatewayName", required: true)] + public string VirtualGatewayName { get; set; } = null!; + + public GetGatewayRouteArgs() + { + } + public static new GetGatewayRouteArgs Empty => new GetGatewayRouteArgs(); + } + + public sealed class GetGatewayRouteInvokeArgs : global::Pulumi.InvokeArgs + { + /// + /// Name of the service mesh in which the virtual gateway exists. + /// + [Input("meshName", required: true)] + public Input MeshName { get; set; } = null!; + + /// + /// AWS account ID of the service mesh's owner. + /// + [Input("meshOwner")] + public Input? MeshOwner { get; set; } + + /// + /// Name of the gateway route. + /// + [Input("name", required: true)] + public Input Name { get; set; } = null!; + + [Input("tags")] + private InputMap? _tags; + + /// + /// Map of tags. + /// + public InputMap Tags + { + get => _tags ?? (_tags = new InputMap()); + set => _tags = value; + } + + /// + /// Name of the virtual gateway in which the route exists. + /// + [Input("virtualGatewayName", required: true)] + public Input VirtualGatewayName { get; set; } = null!; + + public GetGatewayRouteInvokeArgs() + { + } + public static new GetGatewayRouteInvokeArgs Empty => new GetGatewayRouteInvokeArgs(); + } + + + [OutputType] + public sealed class GetGatewayRouteResult + { + /// + /// ARN of the gateway route. + /// + public readonly string Arn; + /// + /// Creation date of the gateway route. + /// + public readonly string CreatedDate; + /// + /// The provider-assigned unique ID for this managed resource. + /// + public readonly string Id; + /// + /// Last update date of the gateway route. + /// + public readonly string LastUpdatedDate; + public readonly string MeshName; + public readonly string MeshOwner; + public readonly string Name; + /// + /// Resource owner's AWS account ID. + /// + public readonly string ResourceOwner; + /// + /// Gateway route specification. See the `aws.appmesh.GatewayRoute` resource for details. + /// + public readonly ImmutableArray Specs; + /// + /// Map of tags. + /// + public readonly ImmutableDictionary Tags; + public readonly string VirtualGatewayName; + + [OutputConstructor] + private GetGatewayRouteResult( + string arn, + + string createdDate, + + string id, + + string lastUpdatedDate, + + string meshName, + + string meshOwner, + + string name, + + string resourceOwner, + + ImmutableArray specs, + + ImmutableDictionary tags, + + string virtualGatewayName) + { + Arn = arn; + CreatedDate = createdDate; + Id = id; + LastUpdatedDate = lastUpdatedDate; + MeshName = meshName; + MeshOwner = meshOwner; + Name = name; + ResourceOwner = resourceOwner; + Specs = specs; + Tags = tags; + VirtualGatewayName = virtualGatewayName; + } + } +} diff --git a/sdk/dotnet/AppMesh/GetMesh.cs b/sdk/dotnet/AppMesh/GetMesh.cs index 2593b6aa560..36b150d4b40 100644 --- a/sdk/dotnet/AppMesh/GetMesh.cs +++ b/sdk/dotnet/AppMesh/GetMesh.cs @@ -194,7 +194,7 @@ public sealed class GetMeshResult /// public readonly string ResourceOwner; /// - /// Service mesh specification. + /// Service mesh specification. See the `aws.appmesh.Mesh` resource for details. /// public readonly ImmutableArray Specs; /// diff --git a/sdk/dotnet/AppMesh/GetRoute.cs b/sdk/dotnet/AppMesh/GetRoute.cs index 7588f13f508..ce4c8863fa0 100644 --- a/sdk/dotnet/AppMesh/GetRoute.cs +++ b/sdk/dotnet/AppMesh/GetRoute.cs @@ -141,7 +141,7 @@ public sealed class GetRouteResult /// public readonly string ResourceOwner; /// - /// Route specification + /// Route specification. See the `aws.appmesh.Route` resource for details. /// public readonly ImmutableArray Specs; /// diff --git a/sdk/dotnet/AppMesh/GetVirtualGateway.cs b/sdk/dotnet/AppMesh/GetVirtualGateway.cs index eb9589a5dbe..3b651167822 100644 --- a/sdk/dotnet/AppMesh/GetVirtualGateway.cs +++ b/sdk/dotnet/AppMesh/GetVirtualGateway.cs @@ -125,7 +125,7 @@ public sealed class GetVirtualGatewayResult /// public readonly string ResourceOwner; /// - /// Virtual gateway specification + /// Virtual gateway specification. See the `aws.appmesh.VirtualGateway` resource for details. /// public readonly ImmutableArray Specs; /// diff --git a/sdk/dotnet/AppMesh/GetVirtualNode.cs b/sdk/dotnet/AppMesh/GetVirtualNode.cs new file mode 100644 index 00000000000..d1786aacac8 --- /dev/null +++ b/sdk/dotnet/AppMesh/GetVirtualNode.cs @@ -0,0 +1,218 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.AppMesh +{ + public static class GetVirtualNode + { + /// + /// Data source for managing an AWS App Mesh Virtual Node. + /// + /// {{% examples %}} + /// ## Example Usage + /// {{% example %}} + /// + /// ```csharp + /// using System.Collections.Generic; + /// using Pulumi; + /// using Aws = Pulumi.Aws; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var test = Aws.AppMesh.GetVirtualNode.Invoke(new() + /// { + /// MeshName = "example-mesh", + /// Name = "serviceBv1", + /// }); + /// + /// }); + /// ``` + /// {{% /example %}} + /// {{% /examples %}} + /// + public static Task InvokeAsync(GetVirtualNodeArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.InvokeAsync("aws:appmesh/getVirtualNode:getVirtualNode", args ?? new GetVirtualNodeArgs(), options.WithDefaults()); + + /// + /// Data source for managing an AWS App Mesh Virtual Node. + /// + /// {{% examples %}} + /// ## Example Usage + /// {{% example %}} + /// + /// ```csharp + /// using System.Collections.Generic; + /// using Pulumi; + /// using Aws = Pulumi.Aws; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var test = Aws.AppMesh.GetVirtualNode.Invoke(new() + /// { + /// MeshName = "example-mesh", + /// Name = "serviceBv1", + /// }); + /// + /// }); + /// ``` + /// {{% /example %}} + /// {{% /examples %}} + /// + public static Output Invoke(GetVirtualNodeInvokeArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.Invoke("aws:appmesh/getVirtualNode:getVirtualNode", args ?? new GetVirtualNodeInvokeArgs(), options.WithDefaults()); + } + + + public sealed class GetVirtualNodeArgs : global::Pulumi.InvokeArgs + { + /// + /// Name of the service mesh in which the virtual node exists. + /// + [Input("meshName", required: true)] + public string MeshName { get; set; } = null!; + + /// + /// AWS account ID of the service mesh's owner. + /// + [Input("meshOwner")] + public string? MeshOwner { get; set; } + + /// + /// Name of the virtual node. + /// + [Input("name", required: true)] + public string Name { get; set; } = null!; + + [Input("tags")] + private Dictionary? _tags; + + /// + /// Map of tags. + /// + public Dictionary Tags + { + get => _tags ?? (_tags = new Dictionary()); + set => _tags = value; + } + + public GetVirtualNodeArgs() + { + } + public static new GetVirtualNodeArgs Empty => new GetVirtualNodeArgs(); + } + + public sealed class GetVirtualNodeInvokeArgs : global::Pulumi.InvokeArgs + { + /// + /// Name of the service mesh in which the virtual node exists. + /// + [Input("meshName", required: true)] + public Input MeshName { get; set; } = null!; + + /// + /// AWS account ID of the service mesh's owner. + /// + [Input("meshOwner")] + public Input? MeshOwner { get; set; } + + /// + /// Name of the virtual node. + /// + [Input("name", required: true)] + public Input Name { get; set; } = null!; + + [Input("tags")] + private InputMap? _tags; + + /// + /// Map of tags. + /// + public InputMap Tags + { + get => _tags ?? (_tags = new InputMap()); + set => _tags = value; + } + + public GetVirtualNodeInvokeArgs() + { + } + public static new GetVirtualNodeInvokeArgs Empty => new GetVirtualNodeInvokeArgs(); + } + + + [OutputType] + public sealed class GetVirtualNodeResult + { + /// + /// ARN of the virtual node. + /// + public readonly string Arn; + /// + /// Creation date of the virtual node. + /// + public readonly string CreatedDate; + /// + /// The provider-assigned unique ID for this managed resource. + /// + public readonly string Id; + /// + /// Last update date of the virtual node. + /// + public readonly string LastUpdatedDate; + public readonly string MeshName; + public readonly string MeshOwner; + public readonly string Name; + /// + /// Resource owner's AWS account ID. + /// + public readonly string ResourceOwner; + /// + /// Virtual node specification. See the `aws.appmesh.VirtualNode` resource for details. + /// + public readonly ImmutableArray Specs; + /// + /// Map of tags. + /// + public readonly ImmutableDictionary Tags; + + [OutputConstructor] + private GetVirtualNodeResult( + string arn, + + string createdDate, + + string id, + + string lastUpdatedDate, + + string meshName, + + string meshOwner, + + string name, + + string resourceOwner, + + ImmutableArray specs, + + ImmutableDictionary tags) + { + Arn = arn; + CreatedDate = createdDate; + Id = id; + LastUpdatedDate = lastUpdatedDate; + MeshName = meshName; + MeshOwner = meshOwner; + Name = name; + ResourceOwner = resourceOwner; + Specs = specs; + Tags = tags; + } + } +} diff --git a/sdk/dotnet/AppMesh/GetVirtualRouter.cs b/sdk/dotnet/AppMesh/GetVirtualRouter.cs new file mode 100644 index 00000000000..7fa28632800 --- /dev/null +++ b/sdk/dotnet/AppMesh/GetVirtualRouter.cs @@ -0,0 +1,212 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.AppMesh +{ + public static class GetVirtualRouter + { + /// + /// The App Mesh Virtual Router data source allows details of an App Mesh Virtual Service to be retrieved by its name and mesh_name. + /// + /// {{% examples %}} + /// ## Example Usage + /// {{% example %}} + /// + /// ```csharp + /// using System.Collections.Generic; + /// using Pulumi; + /// using Aws = Pulumi.Aws; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var test = Aws.AppMesh.GetVirtualRouter.Invoke(new() + /// { + /// MeshName = "example-mesh-name", + /// Name = "example-router-name", + /// }); + /// + /// }); + /// ``` + /// {{% /example %}} + /// {{% /examples %}} + /// + public static Task InvokeAsync(GetVirtualRouterArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.InvokeAsync("aws:appmesh/getVirtualRouter:getVirtualRouter", args ?? new GetVirtualRouterArgs(), options.WithDefaults()); + + /// + /// The App Mesh Virtual Router data source allows details of an App Mesh Virtual Service to be retrieved by its name and mesh_name. + /// + /// {{% examples %}} + /// ## Example Usage + /// {{% example %}} + /// + /// ```csharp + /// using System.Collections.Generic; + /// using Pulumi; + /// using Aws = Pulumi.Aws; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var test = Aws.AppMesh.GetVirtualRouter.Invoke(new() + /// { + /// MeshName = "example-mesh-name", + /// Name = "example-router-name", + /// }); + /// + /// }); + /// ``` + /// {{% /example %}} + /// {{% /examples %}} + /// + public static Output Invoke(GetVirtualRouterInvokeArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.Invoke("aws:appmesh/getVirtualRouter:getVirtualRouter", args ?? new GetVirtualRouterInvokeArgs(), options.WithDefaults()); + } + + + public sealed class GetVirtualRouterArgs : global::Pulumi.InvokeArgs + { + /// + /// Name of the mesh in which the virtual router exists + /// + [Input("meshName", required: true)] + public string MeshName { get; set; } = null!; + + [Input("meshOwner")] + public string? MeshOwner { get; set; } + + /// + /// Name of the virtual router. + /// + [Input("name", required: true)] + public string Name { get; set; } = null!; + + [Input("tags")] + private Dictionary? _tags; + + /// + /// Map of tags. + /// + public Dictionary Tags + { + get => _tags ?? (_tags = new Dictionary()); + set => _tags = value; + } + + public GetVirtualRouterArgs() + { + } + public static new GetVirtualRouterArgs Empty => new GetVirtualRouterArgs(); + } + + public sealed class GetVirtualRouterInvokeArgs : global::Pulumi.InvokeArgs + { + /// + /// Name of the mesh in which the virtual router exists + /// + [Input("meshName", required: true)] + public Input MeshName { get; set; } = null!; + + [Input("meshOwner")] + public Input? MeshOwner { get; set; } + + /// + /// Name of the virtual router. + /// + [Input("name", required: true)] + public Input Name { get; set; } = null!; + + [Input("tags")] + private InputMap? _tags; + + /// + /// Map of tags. + /// + public InputMap Tags + { + get => _tags ?? (_tags = new InputMap()); + set => _tags = value; + } + + public GetVirtualRouterInvokeArgs() + { + } + public static new GetVirtualRouterInvokeArgs Empty => new GetVirtualRouterInvokeArgs(); + } + + + [OutputType] + public sealed class GetVirtualRouterResult + { + /// + /// ARN of the virtual router. + /// + public readonly string Arn; + /// + /// Creation date of the virtual router. + /// + public readonly string CreatedDate; + /// + /// The provider-assigned unique ID for this managed resource. + /// + public readonly string Id; + /// + /// Last update date of the virtual router. + /// + public readonly string LastUpdatedDate; + public readonly string MeshName; + public readonly string MeshOwner; + public readonly string Name; + /// + /// Resource owner's AWS account ID. + /// + public readonly string ResourceOwner; + /// + /// Virtual routers specification. See the `aws.appmesh.VirtualRouter` resource for details. + /// + public readonly ImmutableArray Specs; + /// + /// Map of tags. + /// + public readonly ImmutableDictionary Tags; + + [OutputConstructor] + private GetVirtualRouterResult( + string arn, + + string createdDate, + + string id, + + string lastUpdatedDate, + + string meshName, + + string meshOwner, + + string name, + + string resourceOwner, + + ImmutableArray specs, + + ImmutableDictionary tags) + { + Arn = arn; + CreatedDate = createdDate; + Id = id; + LastUpdatedDate = lastUpdatedDate; + MeshName = meshName; + MeshOwner = meshOwner; + Name = name; + ResourceOwner = resourceOwner; + Specs = specs; + Tags = tags; + } + } +} diff --git a/sdk/dotnet/AppMesh/GetVirtualService.cs b/sdk/dotnet/AppMesh/GetVirtualService.cs index 55adbae7bfb..d0566154784 100644 --- a/sdk/dotnet/AppMesh/GetVirtualService.cs +++ b/sdk/dotnet/AppMesh/GetVirtualService.cs @@ -211,7 +211,7 @@ public sealed class GetVirtualServiceResult /// public readonly string ResourceOwner; /// - /// Virtual service specification + /// Virtual service specification. See the `aws.appmesh.VirtualService` resource for details. /// public readonly ImmutableArray Specs; /// diff --git a/sdk/dotnet/AppMesh/Inputs/GatewayRouteSpecArgs.cs b/sdk/dotnet/AppMesh/Inputs/GatewayRouteSpecArgs.cs index 3c3b305b51a..ed7c88529db 100644 --- a/sdk/dotnet/AppMesh/Inputs/GatewayRouteSpecArgs.cs +++ b/sdk/dotnet/AppMesh/Inputs/GatewayRouteSpecArgs.cs @@ -30,6 +30,12 @@ public sealed class GatewayRouteSpecArgs : global::Pulumi.ResourceArgs [Input("httpRoute")] public Input? HttpRoute { get; set; } + /// + /// Priority for the gateway route, between `0` and `1000`. + /// + [Input("priority")] + public Input? Priority { get; set; } + public GatewayRouteSpecArgs() { } diff --git a/sdk/dotnet/AppMesh/Inputs/GatewayRouteSpecGetArgs.cs b/sdk/dotnet/AppMesh/Inputs/GatewayRouteSpecGetArgs.cs index c580f0f52ab..aa2bd6835b8 100644 --- a/sdk/dotnet/AppMesh/Inputs/GatewayRouteSpecGetArgs.cs +++ b/sdk/dotnet/AppMesh/Inputs/GatewayRouteSpecGetArgs.cs @@ -30,6 +30,12 @@ public sealed class GatewayRouteSpecGetArgs : global::Pulumi.ResourceArgs [Input("httpRoute")] public Input? HttpRoute { get; set; } + /// + /// Priority for the gateway route, between `0` and `1000`. + /// + [Input("priority")] + public Input? Priority { get; set; } + public GatewayRouteSpecGetArgs() { } diff --git a/sdk/dotnet/AppMesh/Inputs/GatewayRouteSpecGrpcRouteActionTargetArgs.cs b/sdk/dotnet/AppMesh/Inputs/GatewayRouteSpecGrpcRouteActionTargetArgs.cs index 8e2765d08ea..3d74e81094f 100644 --- a/sdk/dotnet/AppMesh/Inputs/GatewayRouteSpecGrpcRouteActionTargetArgs.cs +++ b/sdk/dotnet/AppMesh/Inputs/GatewayRouteSpecGrpcRouteActionTargetArgs.cs @@ -12,6 +12,12 @@ namespace Pulumi.Aws.AppMesh.Inputs public sealed class GatewayRouteSpecGrpcRouteActionTargetArgs : global::Pulumi.ResourceArgs { + /// + /// The port number that corresponds to the target for Virtual Service provider port. This is required when the provider (router or node) of the Virtual Service has multiple listeners. + /// + [Input("port")] + public Input? Port { get; set; } + /// /// Virtual service gateway route target. /// diff --git a/sdk/dotnet/AppMesh/Inputs/GatewayRouteSpecGrpcRouteActionTargetGetArgs.cs b/sdk/dotnet/AppMesh/Inputs/GatewayRouteSpecGrpcRouteActionTargetGetArgs.cs index 3db230027c1..c61c6444bf0 100644 --- a/sdk/dotnet/AppMesh/Inputs/GatewayRouteSpecGrpcRouteActionTargetGetArgs.cs +++ b/sdk/dotnet/AppMesh/Inputs/GatewayRouteSpecGrpcRouteActionTargetGetArgs.cs @@ -12,6 +12,12 @@ namespace Pulumi.Aws.AppMesh.Inputs public sealed class GatewayRouteSpecGrpcRouteActionTargetGetArgs : global::Pulumi.ResourceArgs { + /// + /// The port number that corresponds to the target for Virtual Service provider port. This is required when the provider (router or node) of the Virtual Service has multiple listeners. + /// + [Input("port")] + public Input? Port { get; set; } + /// /// Virtual service gateway route target. /// diff --git a/sdk/dotnet/AppMesh/Inputs/GatewayRouteSpecGrpcRouteMatchArgs.cs b/sdk/dotnet/AppMesh/Inputs/GatewayRouteSpecGrpcRouteMatchArgs.cs index c37cd520e69..8af803502a6 100644 --- a/sdk/dotnet/AppMesh/Inputs/GatewayRouteSpecGrpcRouteMatchArgs.cs +++ b/sdk/dotnet/AppMesh/Inputs/GatewayRouteSpecGrpcRouteMatchArgs.cs @@ -13,7 +13,7 @@ namespace Pulumi.Aws.AppMesh.Inputs public sealed class GatewayRouteSpecGrpcRouteMatchArgs : global::Pulumi.ResourceArgs { /// - /// The port number to match from the request. + /// The port number that corresponds to the target for Virtual Service provider port. This is required when the provider (router or node) of the Virtual Service has multiple listeners. /// [Input("port")] public Input? Port { get; set; } diff --git a/sdk/dotnet/AppMesh/Inputs/GatewayRouteSpecGrpcRouteMatchGetArgs.cs b/sdk/dotnet/AppMesh/Inputs/GatewayRouteSpecGrpcRouteMatchGetArgs.cs index 55692b3d088..d629366e781 100644 --- a/sdk/dotnet/AppMesh/Inputs/GatewayRouteSpecGrpcRouteMatchGetArgs.cs +++ b/sdk/dotnet/AppMesh/Inputs/GatewayRouteSpecGrpcRouteMatchGetArgs.cs @@ -13,7 +13,7 @@ namespace Pulumi.Aws.AppMesh.Inputs public sealed class GatewayRouteSpecGrpcRouteMatchGetArgs : global::Pulumi.ResourceArgs { /// - /// The port number to match from the request. + /// The port number that corresponds to the target for Virtual Service provider port. This is required when the provider (router or node) of the Virtual Service has multiple listeners. /// [Input("port")] public Input? Port { get; set; } diff --git a/sdk/dotnet/AppMesh/Inputs/GatewayRouteSpecHttp2RouteActionTargetArgs.cs b/sdk/dotnet/AppMesh/Inputs/GatewayRouteSpecHttp2RouteActionTargetArgs.cs index 79ff67c84c7..f8983831210 100644 --- a/sdk/dotnet/AppMesh/Inputs/GatewayRouteSpecHttp2RouteActionTargetArgs.cs +++ b/sdk/dotnet/AppMesh/Inputs/GatewayRouteSpecHttp2RouteActionTargetArgs.cs @@ -12,6 +12,12 @@ namespace Pulumi.Aws.AppMesh.Inputs public sealed class GatewayRouteSpecHttp2RouteActionTargetArgs : global::Pulumi.ResourceArgs { + /// + /// The port number that corresponds to the target for Virtual Service provider port. This is required when the provider (router or node) of the Virtual Service has multiple listeners. + /// + [Input("port")] + public Input? Port { get; set; } + /// /// Virtual service gateway route target. /// diff --git a/sdk/dotnet/AppMesh/Inputs/GatewayRouteSpecHttp2RouteActionTargetGetArgs.cs b/sdk/dotnet/AppMesh/Inputs/GatewayRouteSpecHttp2RouteActionTargetGetArgs.cs index 7b369707487..37e1dbfea06 100644 --- a/sdk/dotnet/AppMesh/Inputs/GatewayRouteSpecHttp2RouteActionTargetGetArgs.cs +++ b/sdk/dotnet/AppMesh/Inputs/GatewayRouteSpecHttp2RouteActionTargetGetArgs.cs @@ -12,6 +12,12 @@ namespace Pulumi.Aws.AppMesh.Inputs public sealed class GatewayRouteSpecHttp2RouteActionTargetGetArgs : global::Pulumi.ResourceArgs { + /// + /// The port number that corresponds to the target for Virtual Service provider port. This is required when the provider (router or node) of the Virtual Service has multiple listeners. + /// + [Input("port")] + public Input? Port { get; set; } + /// /// Virtual service gateway route target. /// diff --git a/sdk/dotnet/AppMesh/Inputs/GatewayRouteSpecHttp2RouteMatchArgs.cs b/sdk/dotnet/AppMesh/Inputs/GatewayRouteSpecHttp2RouteMatchArgs.cs index 12936b0d703..66cbb8ed753 100644 --- a/sdk/dotnet/AppMesh/Inputs/GatewayRouteSpecHttp2RouteMatchArgs.cs +++ b/sdk/dotnet/AppMesh/Inputs/GatewayRouteSpecHttp2RouteMatchArgs.cs @@ -12,6 +12,18 @@ namespace Pulumi.Aws.AppMesh.Inputs public sealed class GatewayRouteSpecHttp2RouteMatchArgs : global::Pulumi.ResourceArgs { + [Input("headers")] + private InputList? _headers; + + /// + /// Client request headers to match on. + /// + public InputList Headers + { + get => _headers ?? (_headers = new InputList()); + set => _headers = value; + } + /// /// Host name to rewrite. /// @@ -19,7 +31,13 @@ public sealed class GatewayRouteSpecHttp2RouteMatchArgs : global::Pulumi.Resourc public Input? Hostname { get; set; } /// - /// The port number to match from the request. + /// Client request path to match on. + /// + [Input("path")] + public Input? Path { get; set; } + + /// + /// The port number that corresponds to the target for Virtual Service provider port. This is required when the provider (router or node) of the Virtual Service has multiple listeners. /// [Input("port")] public Input? Port { get; set; } @@ -30,6 +48,18 @@ public sealed class GatewayRouteSpecHttp2RouteMatchArgs : global::Pulumi.Resourc [Input("prefix")] public Input? Prefix { get; set; } + [Input("queryParameters")] + private InputList? _queryParameters; + + /// + /// Client request query parameters to match on. + /// + public InputList QueryParameters + { + get => _queryParameters ?? (_queryParameters = new InputList()); + set => _queryParameters = value; + } + public GatewayRouteSpecHttp2RouteMatchArgs() { } diff --git a/sdk/dotnet/AppMesh/Inputs/GatewayRouteSpecHttp2RouteMatchGetArgs.cs b/sdk/dotnet/AppMesh/Inputs/GatewayRouteSpecHttp2RouteMatchGetArgs.cs index 4ecc8141a33..de656c56041 100644 --- a/sdk/dotnet/AppMesh/Inputs/GatewayRouteSpecHttp2RouteMatchGetArgs.cs +++ b/sdk/dotnet/AppMesh/Inputs/GatewayRouteSpecHttp2RouteMatchGetArgs.cs @@ -12,6 +12,18 @@ namespace Pulumi.Aws.AppMesh.Inputs public sealed class GatewayRouteSpecHttp2RouteMatchGetArgs : global::Pulumi.ResourceArgs { + [Input("headers")] + private InputList? _headers; + + /// + /// Client request headers to match on. + /// + public InputList Headers + { + get => _headers ?? (_headers = new InputList()); + set => _headers = value; + } + /// /// Host name to rewrite. /// @@ -19,7 +31,13 @@ public sealed class GatewayRouteSpecHttp2RouteMatchGetArgs : global::Pulumi.Reso public Input? Hostname { get; set; } /// - /// The port number to match from the request. + /// Client request path to match on. + /// + [Input("path")] + public Input? Path { get; set; } + + /// + /// The port number that corresponds to the target for Virtual Service provider port. This is required when the provider (router or node) of the Virtual Service has multiple listeners. /// [Input("port")] public Input? Port { get; set; } @@ -30,6 +48,18 @@ public sealed class GatewayRouteSpecHttp2RouteMatchGetArgs : global::Pulumi.Reso [Input("prefix")] public Input? Prefix { get; set; } + [Input("queryParameters")] + private InputList? _queryParameters; + + /// + /// Client request query parameters to match on. + /// + public InputList QueryParameters + { + get => _queryParameters ?? (_queryParameters = new InputList()); + set => _queryParameters = value; + } + public GatewayRouteSpecHttp2RouteMatchGetArgs() { } diff --git a/sdk/dotnet/AppMesh/Inputs/GatewayRouteSpecHttp2RouteMatchHeaderArgs.cs b/sdk/dotnet/AppMesh/Inputs/GatewayRouteSpecHttp2RouteMatchHeaderArgs.cs new file mode 100644 index 00000000000..3ba369ea0db --- /dev/null +++ b/sdk/dotnet/AppMesh/Inputs/GatewayRouteSpecHttp2RouteMatchHeaderArgs.cs @@ -0,0 +1,38 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.AppMesh.Inputs +{ + + public sealed class GatewayRouteSpecHttp2RouteMatchHeaderArgs : global::Pulumi.ResourceArgs + { + /// + /// If `true`, the match is on the opposite of the `match` method and value. Default is `false`. + /// + [Input("invert")] + public Input? Invert { get; set; } + + /// + /// Method and value to match the header value sent with a request. Specify one match method. + /// + [Input("match")] + public Input? Match { get; set; } + + /// + /// Name for the HTTP header in the client request that will be matched on. + /// + [Input("name", required: true)] + public Input Name { get; set; } = null!; + + public GatewayRouteSpecHttp2RouteMatchHeaderArgs() + { + } + public static new GatewayRouteSpecHttp2RouteMatchHeaderArgs Empty => new GatewayRouteSpecHttp2RouteMatchHeaderArgs(); + } +} diff --git a/sdk/dotnet/AppMesh/Inputs/GatewayRouteSpecHttp2RouteMatchHeaderGetArgs.cs b/sdk/dotnet/AppMesh/Inputs/GatewayRouteSpecHttp2RouteMatchHeaderGetArgs.cs new file mode 100644 index 00000000000..78c70c751ca --- /dev/null +++ b/sdk/dotnet/AppMesh/Inputs/GatewayRouteSpecHttp2RouteMatchHeaderGetArgs.cs @@ -0,0 +1,38 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.AppMesh.Inputs +{ + + public sealed class GatewayRouteSpecHttp2RouteMatchHeaderGetArgs : global::Pulumi.ResourceArgs + { + /// + /// If `true`, the match is on the opposite of the `match` method and value. Default is `false`. + /// + [Input("invert")] + public Input? Invert { get; set; } + + /// + /// Method and value to match the header value sent with a request. Specify one match method. + /// + [Input("match")] + public Input? Match { get; set; } + + /// + /// Name for the HTTP header in the client request that will be matched on. + /// + [Input("name", required: true)] + public Input Name { get; set; } = null!; + + public GatewayRouteSpecHttp2RouteMatchHeaderGetArgs() + { + } + public static new GatewayRouteSpecHttp2RouteMatchHeaderGetArgs Empty => new GatewayRouteSpecHttp2RouteMatchHeaderGetArgs(); + } +} diff --git a/sdk/dotnet/AppMesh/Inputs/GatewayRouteSpecHttp2RouteMatchHeaderMatchArgs.cs b/sdk/dotnet/AppMesh/Inputs/GatewayRouteSpecHttp2RouteMatchHeaderMatchArgs.cs new file mode 100644 index 00000000000..9f0e592bd7e --- /dev/null +++ b/sdk/dotnet/AppMesh/Inputs/GatewayRouteSpecHttp2RouteMatchHeaderMatchArgs.cs @@ -0,0 +1,50 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.AppMesh.Inputs +{ + + public sealed class GatewayRouteSpecHttp2RouteMatchHeaderMatchArgs : global::Pulumi.ResourceArgs + { + /// + /// Header value sent by the client must match the specified value exactly. + /// + [Input("exact")] + public Input? Exact { get; set; } + + /// + /// Specified beginning characters to rewrite. + /// + [Input("prefix")] + public Input? Prefix { get; set; } + + /// + /// Object that specifies the range of numbers that the header value sent by the client must be included in. + /// + [Input("range")] + public Input? Range { get; set; } + + /// + /// Header value sent by the client must include the specified characters. + /// + [Input("regex")] + public Input? Regex { get; set; } + + /// + /// Header value sent by the client must end with the specified characters. + /// + [Input("suffix")] + public Input? Suffix { get; set; } + + public GatewayRouteSpecHttp2RouteMatchHeaderMatchArgs() + { + } + public static new GatewayRouteSpecHttp2RouteMatchHeaderMatchArgs Empty => new GatewayRouteSpecHttp2RouteMatchHeaderMatchArgs(); + } +} diff --git a/sdk/dotnet/AppMesh/Inputs/GatewayRouteSpecHttp2RouteMatchHeaderMatchGetArgs.cs b/sdk/dotnet/AppMesh/Inputs/GatewayRouteSpecHttp2RouteMatchHeaderMatchGetArgs.cs new file mode 100644 index 00000000000..d8465001c6a --- /dev/null +++ b/sdk/dotnet/AppMesh/Inputs/GatewayRouteSpecHttp2RouteMatchHeaderMatchGetArgs.cs @@ -0,0 +1,50 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.AppMesh.Inputs +{ + + public sealed class GatewayRouteSpecHttp2RouteMatchHeaderMatchGetArgs : global::Pulumi.ResourceArgs + { + /// + /// Header value sent by the client must match the specified value exactly. + /// + [Input("exact")] + public Input? Exact { get; set; } + + /// + /// Specified beginning characters to rewrite. + /// + [Input("prefix")] + public Input? Prefix { get; set; } + + /// + /// Object that specifies the range of numbers that the header value sent by the client must be included in. + /// + [Input("range")] + public Input? Range { get; set; } + + /// + /// Header value sent by the client must include the specified characters. + /// + [Input("regex")] + public Input? Regex { get; set; } + + /// + /// Header value sent by the client must end with the specified characters. + /// + [Input("suffix")] + public Input? Suffix { get; set; } + + public GatewayRouteSpecHttp2RouteMatchHeaderMatchGetArgs() + { + } + public static new GatewayRouteSpecHttp2RouteMatchHeaderMatchGetArgs Empty => new GatewayRouteSpecHttp2RouteMatchHeaderMatchGetArgs(); + } +} diff --git a/sdk/dotnet/AppMesh/Inputs/GatewayRouteSpecHttp2RouteMatchHeaderMatchRangeArgs.cs b/sdk/dotnet/AppMesh/Inputs/GatewayRouteSpecHttp2RouteMatchHeaderMatchRangeArgs.cs new file mode 100644 index 00000000000..da136ceaac7 --- /dev/null +++ b/sdk/dotnet/AppMesh/Inputs/GatewayRouteSpecHttp2RouteMatchHeaderMatchRangeArgs.cs @@ -0,0 +1,32 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.AppMesh.Inputs +{ + + public sealed class GatewayRouteSpecHttp2RouteMatchHeaderMatchRangeArgs : global::Pulumi.ResourceArgs + { + /// + /// End of the range. + /// + [Input("end", required: true)] + public Input End { get; set; } = null!; + + /// + /// Start of the range. + /// + [Input("start", required: true)] + public Input Start { get; set; } = null!; + + public GatewayRouteSpecHttp2RouteMatchHeaderMatchRangeArgs() + { + } + public static new GatewayRouteSpecHttp2RouteMatchHeaderMatchRangeArgs Empty => new GatewayRouteSpecHttp2RouteMatchHeaderMatchRangeArgs(); + } +} diff --git a/sdk/dotnet/AppMesh/Inputs/GatewayRouteSpecHttp2RouteMatchHeaderMatchRangeGetArgs.cs b/sdk/dotnet/AppMesh/Inputs/GatewayRouteSpecHttp2RouteMatchHeaderMatchRangeGetArgs.cs new file mode 100644 index 00000000000..f162d25a18f --- /dev/null +++ b/sdk/dotnet/AppMesh/Inputs/GatewayRouteSpecHttp2RouteMatchHeaderMatchRangeGetArgs.cs @@ -0,0 +1,32 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.AppMesh.Inputs +{ + + public sealed class GatewayRouteSpecHttp2RouteMatchHeaderMatchRangeGetArgs : global::Pulumi.ResourceArgs + { + /// + /// End of the range. + /// + [Input("end", required: true)] + public Input End { get; set; } = null!; + + /// + /// Start of the range. + /// + [Input("start", required: true)] + public Input Start { get; set; } = null!; + + public GatewayRouteSpecHttp2RouteMatchHeaderMatchRangeGetArgs() + { + } + public static new GatewayRouteSpecHttp2RouteMatchHeaderMatchRangeGetArgs Empty => new GatewayRouteSpecHttp2RouteMatchHeaderMatchRangeGetArgs(); + } +} diff --git a/sdk/dotnet/AppMesh/Inputs/GatewayRouteSpecHttp2RouteMatchPathArgs.cs b/sdk/dotnet/AppMesh/Inputs/GatewayRouteSpecHttp2RouteMatchPathArgs.cs new file mode 100644 index 00000000000..54acb3d4881 --- /dev/null +++ b/sdk/dotnet/AppMesh/Inputs/GatewayRouteSpecHttp2RouteMatchPathArgs.cs @@ -0,0 +1,32 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.AppMesh.Inputs +{ + + public sealed class GatewayRouteSpecHttp2RouteMatchPathArgs : global::Pulumi.ResourceArgs + { + /// + /// The exact path to match on. + /// + [Input("exact")] + public Input? Exact { get; set; } + + /// + /// The regex used to match the path. + /// + [Input("regex")] + public Input? Regex { get; set; } + + public GatewayRouteSpecHttp2RouteMatchPathArgs() + { + } + public static new GatewayRouteSpecHttp2RouteMatchPathArgs Empty => new GatewayRouteSpecHttp2RouteMatchPathArgs(); + } +} diff --git a/sdk/dotnet/AppMesh/Inputs/GatewayRouteSpecHttp2RouteMatchPathGetArgs.cs b/sdk/dotnet/AppMesh/Inputs/GatewayRouteSpecHttp2RouteMatchPathGetArgs.cs new file mode 100644 index 00000000000..5f2bc538f8a --- /dev/null +++ b/sdk/dotnet/AppMesh/Inputs/GatewayRouteSpecHttp2RouteMatchPathGetArgs.cs @@ -0,0 +1,32 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.AppMesh.Inputs +{ + + public sealed class GatewayRouteSpecHttp2RouteMatchPathGetArgs : global::Pulumi.ResourceArgs + { + /// + /// The exact path to match on. + /// + [Input("exact")] + public Input? Exact { get; set; } + + /// + /// The regex used to match the path. + /// + [Input("regex")] + public Input? Regex { get; set; } + + public GatewayRouteSpecHttp2RouteMatchPathGetArgs() + { + } + public static new GatewayRouteSpecHttp2RouteMatchPathGetArgs Empty => new GatewayRouteSpecHttp2RouteMatchPathGetArgs(); + } +} diff --git a/sdk/dotnet/AppMesh/Inputs/GatewayRouteSpecHttp2RouteMatchQueryParameterArgs.cs b/sdk/dotnet/AppMesh/Inputs/GatewayRouteSpecHttp2RouteMatchQueryParameterArgs.cs new file mode 100644 index 00000000000..e041e1ef451 --- /dev/null +++ b/sdk/dotnet/AppMesh/Inputs/GatewayRouteSpecHttp2RouteMatchQueryParameterArgs.cs @@ -0,0 +1,32 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.AppMesh.Inputs +{ + + public sealed class GatewayRouteSpecHttp2RouteMatchQueryParameterArgs : global::Pulumi.ResourceArgs + { + /// + /// The query parameter to match on. + /// + [Input("match")] + public Input? Match { get; set; } + + /// + /// Name for the query parameter that will be matched on. + /// + [Input("name", required: true)] + public Input Name { get; set; } = null!; + + public GatewayRouteSpecHttp2RouteMatchQueryParameterArgs() + { + } + public static new GatewayRouteSpecHttp2RouteMatchQueryParameterArgs Empty => new GatewayRouteSpecHttp2RouteMatchQueryParameterArgs(); + } +} diff --git a/sdk/dotnet/AppMesh/Inputs/GatewayRouteSpecHttp2RouteMatchQueryParameterGetArgs.cs b/sdk/dotnet/AppMesh/Inputs/GatewayRouteSpecHttp2RouteMatchQueryParameterGetArgs.cs new file mode 100644 index 00000000000..82f719a6e37 --- /dev/null +++ b/sdk/dotnet/AppMesh/Inputs/GatewayRouteSpecHttp2RouteMatchQueryParameterGetArgs.cs @@ -0,0 +1,32 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.AppMesh.Inputs +{ + + public sealed class GatewayRouteSpecHttp2RouteMatchQueryParameterGetArgs : global::Pulumi.ResourceArgs + { + /// + /// The query parameter to match on. + /// + [Input("match")] + public Input? Match { get; set; } + + /// + /// Name for the query parameter that will be matched on. + /// + [Input("name", required: true)] + public Input Name { get; set; } = null!; + + public GatewayRouteSpecHttp2RouteMatchQueryParameterGetArgs() + { + } + public static new GatewayRouteSpecHttp2RouteMatchQueryParameterGetArgs Empty => new GatewayRouteSpecHttp2RouteMatchQueryParameterGetArgs(); + } +} diff --git a/sdk/dotnet/AppMesh/Inputs/GatewayRouteSpecHttp2RouteMatchQueryParameterMatchArgs.cs b/sdk/dotnet/AppMesh/Inputs/GatewayRouteSpecHttp2RouteMatchQueryParameterMatchArgs.cs new file mode 100644 index 00000000000..f89b550ab24 --- /dev/null +++ b/sdk/dotnet/AppMesh/Inputs/GatewayRouteSpecHttp2RouteMatchQueryParameterMatchArgs.cs @@ -0,0 +1,26 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.AppMesh.Inputs +{ + + public sealed class GatewayRouteSpecHttp2RouteMatchQueryParameterMatchArgs : global::Pulumi.ResourceArgs + { + /// + /// Header value sent by the client must match the specified value exactly. + /// + [Input("exact")] + public Input? Exact { get; set; } + + public GatewayRouteSpecHttp2RouteMatchQueryParameterMatchArgs() + { + } + public static new GatewayRouteSpecHttp2RouteMatchQueryParameterMatchArgs Empty => new GatewayRouteSpecHttp2RouteMatchQueryParameterMatchArgs(); + } +} diff --git a/sdk/dotnet/AppMesh/Inputs/GatewayRouteSpecHttp2RouteMatchQueryParameterMatchGetArgs.cs b/sdk/dotnet/AppMesh/Inputs/GatewayRouteSpecHttp2RouteMatchQueryParameterMatchGetArgs.cs new file mode 100644 index 00000000000..3cf6d42b8b4 --- /dev/null +++ b/sdk/dotnet/AppMesh/Inputs/GatewayRouteSpecHttp2RouteMatchQueryParameterMatchGetArgs.cs @@ -0,0 +1,26 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.AppMesh.Inputs +{ + + public sealed class GatewayRouteSpecHttp2RouteMatchQueryParameterMatchGetArgs : global::Pulumi.ResourceArgs + { + /// + /// Header value sent by the client must match the specified value exactly. + /// + [Input("exact")] + public Input? Exact { get; set; } + + public GatewayRouteSpecHttp2RouteMatchQueryParameterMatchGetArgs() + { + } + public static new GatewayRouteSpecHttp2RouteMatchQueryParameterMatchGetArgs Empty => new GatewayRouteSpecHttp2RouteMatchQueryParameterMatchGetArgs(); + } +} diff --git a/sdk/dotnet/AppMesh/Inputs/GatewayRouteSpecHttpRouteActionTargetArgs.cs b/sdk/dotnet/AppMesh/Inputs/GatewayRouteSpecHttpRouteActionTargetArgs.cs index 952413196ed..e8ec81c1dd6 100644 --- a/sdk/dotnet/AppMesh/Inputs/GatewayRouteSpecHttpRouteActionTargetArgs.cs +++ b/sdk/dotnet/AppMesh/Inputs/GatewayRouteSpecHttpRouteActionTargetArgs.cs @@ -12,6 +12,12 @@ namespace Pulumi.Aws.AppMesh.Inputs public sealed class GatewayRouteSpecHttpRouteActionTargetArgs : global::Pulumi.ResourceArgs { + /// + /// The port number that corresponds to the target for Virtual Service provider port. This is required when the provider (router or node) of the Virtual Service has multiple listeners. + /// + [Input("port")] + public Input? Port { get; set; } + /// /// Virtual service gateway route target. /// diff --git a/sdk/dotnet/AppMesh/Inputs/GatewayRouteSpecHttpRouteActionTargetGetArgs.cs b/sdk/dotnet/AppMesh/Inputs/GatewayRouteSpecHttpRouteActionTargetGetArgs.cs index 8bab1173f60..c409d161eab 100644 --- a/sdk/dotnet/AppMesh/Inputs/GatewayRouteSpecHttpRouteActionTargetGetArgs.cs +++ b/sdk/dotnet/AppMesh/Inputs/GatewayRouteSpecHttpRouteActionTargetGetArgs.cs @@ -12,6 +12,12 @@ namespace Pulumi.Aws.AppMesh.Inputs public sealed class GatewayRouteSpecHttpRouteActionTargetGetArgs : global::Pulumi.ResourceArgs { + /// + /// The port number that corresponds to the target for Virtual Service provider port. This is required when the provider (router or node) of the Virtual Service has multiple listeners. + /// + [Input("port")] + public Input? Port { get; set; } + /// /// Virtual service gateway route target. /// diff --git a/sdk/dotnet/AppMesh/Inputs/GatewayRouteSpecHttpRouteMatchArgs.cs b/sdk/dotnet/AppMesh/Inputs/GatewayRouteSpecHttpRouteMatchArgs.cs index 806c1b5866c..a8c3eb03b71 100644 --- a/sdk/dotnet/AppMesh/Inputs/GatewayRouteSpecHttpRouteMatchArgs.cs +++ b/sdk/dotnet/AppMesh/Inputs/GatewayRouteSpecHttpRouteMatchArgs.cs @@ -12,6 +12,18 @@ namespace Pulumi.Aws.AppMesh.Inputs public sealed class GatewayRouteSpecHttpRouteMatchArgs : global::Pulumi.ResourceArgs { + [Input("headers")] + private InputList? _headers; + + /// + /// Client request headers to match on. + /// + public InputList Headers + { + get => _headers ?? (_headers = new InputList()); + set => _headers = value; + } + /// /// Host name to rewrite. /// @@ -19,7 +31,13 @@ public sealed class GatewayRouteSpecHttpRouteMatchArgs : global::Pulumi.Resource public Input? Hostname { get; set; } /// - /// The port number to match from the request. + /// Client request path to match on. + /// + [Input("path")] + public Input? Path { get; set; } + + /// + /// The port number that corresponds to the target for Virtual Service provider port. This is required when the provider (router or node) of the Virtual Service has multiple listeners. /// [Input("port")] public Input? Port { get; set; } @@ -30,6 +48,18 @@ public sealed class GatewayRouteSpecHttpRouteMatchArgs : global::Pulumi.Resource [Input("prefix")] public Input? Prefix { get; set; } + [Input("queryParameters")] + private InputList? _queryParameters; + + /// + /// Client request query parameters to match on. + /// + public InputList QueryParameters + { + get => _queryParameters ?? (_queryParameters = new InputList()); + set => _queryParameters = value; + } + public GatewayRouteSpecHttpRouteMatchArgs() { } diff --git a/sdk/dotnet/AppMesh/Inputs/GatewayRouteSpecHttpRouteMatchGetArgs.cs b/sdk/dotnet/AppMesh/Inputs/GatewayRouteSpecHttpRouteMatchGetArgs.cs index 9ea3b1e9ffc..b1bfaee73b3 100644 --- a/sdk/dotnet/AppMesh/Inputs/GatewayRouteSpecHttpRouteMatchGetArgs.cs +++ b/sdk/dotnet/AppMesh/Inputs/GatewayRouteSpecHttpRouteMatchGetArgs.cs @@ -12,6 +12,18 @@ namespace Pulumi.Aws.AppMesh.Inputs public sealed class GatewayRouteSpecHttpRouteMatchGetArgs : global::Pulumi.ResourceArgs { + [Input("headers")] + private InputList? _headers; + + /// + /// Client request headers to match on. + /// + public InputList Headers + { + get => _headers ?? (_headers = new InputList()); + set => _headers = value; + } + /// /// Host name to rewrite. /// @@ -19,7 +31,13 @@ public sealed class GatewayRouteSpecHttpRouteMatchGetArgs : global::Pulumi.Resou public Input? Hostname { get; set; } /// - /// The port number to match from the request. + /// Client request path to match on. + /// + [Input("path")] + public Input? Path { get; set; } + + /// + /// The port number that corresponds to the target for Virtual Service provider port. This is required when the provider (router or node) of the Virtual Service has multiple listeners. /// [Input("port")] public Input? Port { get; set; } @@ -30,6 +48,18 @@ public sealed class GatewayRouteSpecHttpRouteMatchGetArgs : global::Pulumi.Resou [Input("prefix")] public Input? Prefix { get; set; } + [Input("queryParameters")] + private InputList? _queryParameters; + + /// + /// Client request query parameters to match on. + /// + public InputList QueryParameters + { + get => _queryParameters ?? (_queryParameters = new InputList()); + set => _queryParameters = value; + } + public GatewayRouteSpecHttpRouteMatchGetArgs() { } diff --git a/sdk/dotnet/AppMesh/Inputs/GatewayRouteSpecHttpRouteMatchHeaderArgs.cs b/sdk/dotnet/AppMesh/Inputs/GatewayRouteSpecHttpRouteMatchHeaderArgs.cs new file mode 100644 index 00000000000..351b7327acb --- /dev/null +++ b/sdk/dotnet/AppMesh/Inputs/GatewayRouteSpecHttpRouteMatchHeaderArgs.cs @@ -0,0 +1,38 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.AppMesh.Inputs +{ + + public sealed class GatewayRouteSpecHttpRouteMatchHeaderArgs : global::Pulumi.ResourceArgs + { + /// + /// If `true`, the match is on the opposite of the `match` method and value. Default is `false`. + /// + [Input("invert")] + public Input? Invert { get; set; } + + /// + /// Method and value to match the header value sent with a request. Specify one match method. + /// + [Input("match")] + public Input? Match { get; set; } + + /// + /// Name for the HTTP header in the client request that will be matched on. + /// + [Input("name", required: true)] + public Input Name { get; set; } = null!; + + public GatewayRouteSpecHttpRouteMatchHeaderArgs() + { + } + public static new GatewayRouteSpecHttpRouteMatchHeaderArgs Empty => new GatewayRouteSpecHttpRouteMatchHeaderArgs(); + } +} diff --git a/sdk/dotnet/AppMesh/Inputs/GatewayRouteSpecHttpRouteMatchHeaderGetArgs.cs b/sdk/dotnet/AppMesh/Inputs/GatewayRouteSpecHttpRouteMatchHeaderGetArgs.cs new file mode 100644 index 00000000000..ce34b890523 --- /dev/null +++ b/sdk/dotnet/AppMesh/Inputs/GatewayRouteSpecHttpRouteMatchHeaderGetArgs.cs @@ -0,0 +1,38 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.AppMesh.Inputs +{ + + public sealed class GatewayRouteSpecHttpRouteMatchHeaderGetArgs : global::Pulumi.ResourceArgs + { + /// + /// If `true`, the match is on the opposite of the `match` method and value. Default is `false`. + /// + [Input("invert")] + public Input? Invert { get; set; } + + /// + /// Method and value to match the header value sent with a request. Specify one match method. + /// + [Input("match")] + public Input? Match { get; set; } + + /// + /// Name for the HTTP header in the client request that will be matched on. + /// + [Input("name", required: true)] + public Input Name { get; set; } = null!; + + public GatewayRouteSpecHttpRouteMatchHeaderGetArgs() + { + } + public static new GatewayRouteSpecHttpRouteMatchHeaderGetArgs Empty => new GatewayRouteSpecHttpRouteMatchHeaderGetArgs(); + } +} diff --git a/sdk/dotnet/AppMesh/Inputs/GatewayRouteSpecHttpRouteMatchHeaderMatchArgs.cs b/sdk/dotnet/AppMesh/Inputs/GatewayRouteSpecHttpRouteMatchHeaderMatchArgs.cs new file mode 100644 index 00000000000..60c306ea6a5 --- /dev/null +++ b/sdk/dotnet/AppMesh/Inputs/GatewayRouteSpecHttpRouteMatchHeaderMatchArgs.cs @@ -0,0 +1,50 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.AppMesh.Inputs +{ + + public sealed class GatewayRouteSpecHttpRouteMatchHeaderMatchArgs : global::Pulumi.ResourceArgs + { + /// + /// Header value sent by the client must match the specified value exactly. + /// + [Input("exact")] + public Input? Exact { get; set; } + + /// + /// Specified beginning characters to rewrite. + /// + [Input("prefix")] + public Input? Prefix { get; set; } + + /// + /// Object that specifies the range of numbers that the header value sent by the client must be included in. + /// + [Input("range")] + public Input? Range { get; set; } + + /// + /// Header value sent by the client must include the specified characters. + /// + [Input("regex")] + public Input? Regex { get; set; } + + /// + /// Header value sent by the client must end with the specified characters. + /// + [Input("suffix")] + public Input? Suffix { get; set; } + + public GatewayRouteSpecHttpRouteMatchHeaderMatchArgs() + { + } + public static new GatewayRouteSpecHttpRouteMatchHeaderMatchArgs Empty => new GatewayRouteSpecHttpRouteMatchHeaderMatchArgs(); + } +} diff --git a/sdk/dotnet/AppMesh/Inputs/GatewayRouteSpecHttpRouteMatchHeaderMatchGetArgs.cs b/sdk/dotnet/AppMesh/Inputs/GatewayRouteSpecHttpRouteMatchHeaderMatchGetArgs.cs new file mode 100644 index 00000000000..92ecadda61e --- /dev/null +++ b/sdk/dotnet/AppMesh/Inputs/GatewayRouteSpecHttpRouteMatchHeaderMatchGetArgs.cs @@ -0,0 +1,50 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.AppMesh.Inputs +{ + + public sealed class GatewayRouteSpecHttpRouteMatchHeaderMatchGetArgs : global::Pulumi.ResourceArgs + { + /// + /// Header value sent by the client must match the specified value exactly. + /// + [Input("exact")] + public Input? Exact { get; set; } + + /// + /// Specified beginning characters to rewrite. + /// + [Input("prefix")] + public Input? Prefix { get; set; } + + /// + /// Object that specifies the range of numbers that the header value sent by the client must be included in. + /// + [Input("range")] + public Input? Range { get; set; } + + /// + /// Header value sent by the client must include the specified characters. + /// + [Input("regex")] + public Input? Regex { get; set; } + + /// + /// Header value sent by the client must end with the specified characters. + /// + [Input("suffix")] + public Input? Suffix { get; set; } + + public GatewayRouteSpecHttpRouteMatchHeaderMatchGetArgs() + { + } + public static new GatewayRouteSpecHttpRouteMatchHeaderMatchGetArgs Empty => new GatewayRouteSpecHttpRouteMatchHeaderMatchGetArgs(); + } +} diff --git a/sdk/dotnet/AppMesh/Inputs/GatewayRouteSpecHttpRouteMatchHeaderMatchRangeArgs.cs b/sdk/dotnet/AppMesh/Inputs/GatewayRouteSpecHttpRouteMatchHeaderMatchRangeArgs.cs new file mode 100644 index 00000000000..b6a0ea83cd3 --- /dev/null +++ b/sdk/dotnet/AppMesh/Inputs/GatewayRouteSpecHttpRouteMatchHeaderMatchRangeArgs.cs @@ -0,0 +1,32 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.AppMesh.Inputs +{ + + public sealed class GatewayRouteSpecHttpRouteMatchHeaderMatchRangeArgs : global::Pulumi.ResourceArgs + { + /// + /// End of the range. + /// + [Input("end", required: true)] + public Input End { get; set; } = null!; + + /// + /// Start of the range. + /// + [Input("start", required: true)] + public Input Start { get; set; } = null!; + + public GatewayRouteSpecHttpRouteMatchHeaderMatchRangeArgs() + { + } + public static new GatewayRouteSpecHttpRouteMatchHeaderMatchRangeArgs Empty => new GatewayRouteSpecHttpRouteMatchHeaderMatchRangeArgs(); + } +} diff --git a/sdk/dotnet/AppMesh/Inputs/GatewayRouteSpecHttpRouteMatchHeaderMatchRangeGetArgs.cs b/sdk/dotnet/AppMesh/Inputs/GatewayRouteSpecHttpRouteMatchHeaderMatchRangeGetArgs.cs new file mode 100644 index 00000000000..a2aa5a531af --- /dev/null +++ b/sdk/dotnet/AppMesh/Inputs/GatewayRouteSpecHttpRouteMatchHeaderMatchRangeGetArgs.cs @@ -0,0 +1,32 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.AppMesh.Inputs +{ + + public sealed class GatewayRouteSpecHttpRouteMatchHeaderMatchRangeGetArgs : global::Pulumi.ResourceArgs + { + /// + /// End of the range. + /// + [Input("end", required: true)] + public Input End { get; set; } = null!; + + /// + /// Start of the range. + /// + [Input("start", required: true)] + public Input Start { get; set; } = null!; + + public GatewayRouteSpecHttpRouteMatchHeaderMatchRangeGetArgs() + { + } + public static new GatewayRouteSpecHttpRouteMatchHeaderMatchRangeGetArgs Empty => new GatewayRouteSpecHttpRouteMatchHeaderMatchRangeGetArgs(); + } +} diff --git a/sdk/dotnet/AppMesh/Inputs/GatewayRouteSpecHttpRouteMatchPathArgs.cs b/sdk/dotnet/AppMesh/Inputs/GatewayRouteSpecHttpRouteMatchPathArgs.cs new file mode 100644 index 00000000000..aa1a12ade6d --- /dev/null +++ b/sdk/dotnet/AppMesh/Inputs/GatewayRouteSpecHttpRouteMatchPathArgs.cs @@ -0,0 +1,32 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.AppMesh.Inputs +{ + + public sealed class GatewayRouteSpecHttpRouteMatchPathArgs : global::Pulumi.ResourceArgs + { + /// + /// The exact path to match on. + /// + [Input("exact")] + public Input? Exact { get; set; } + + /// + /// The regex used to match the path. + /// + [Input("regex")] + public Input? Regex { get; set; } + + public GatewayRouteSpecHttpRouteMatchPathArgs() + { + } + public static new GatewayRouteSpecHttpRouteMatchPathArgs Empty => new GatewayRouteSpecHttpRouteMatchPathArgs(); + } +} diff --git a/sdk/dotnet/AppMesh/Inputs/GatewayRouteSpecHttpRouteMatchPathGetArgs.cs b/sdk/dotnet/AppMesh/Inputs/GatewayRouteSpecHttpRouteMatchPathGetArgs.cs new file mode 100644 index 00000000000..df856353697 --- /dev/null +++ b/sdk/dotnet/AppMesh/Inputs/GatewayRouteSpecHttpRouteMatchPathGetArgs.cs @@ -0,0 +1,32 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.AppMesh.Inputs +{ + + public sealed class GatewayRouteSpecHttpRouteMatchPathGetArgs : global::Pulumi.ResourceArgs + { + /// + /// The exact path to match on. + /// + [Input("exact")] + public Input? Exact { get; set; } + + /// + /// The regex used to match the path. + /// + [Input("regex")] + public Input? Regex { get; set; } + + public GatewayRouteSpecHttpRouteMatchPathGetArgs() + { + } + public static new GatewayRouteSpecHttpRouteMatchPathGetArgs Empty => new GatewayRouteSpecHttpRouteMatchPathGetArgs(); + } +} diff --git a/sdk/dotnet/AppMesh/Inputs/GatewayRouteSpecHttpRouteMatchQueryParameterArgs.cs b/sdk/dotnet/AppMesh/Inputs/GatewayRouteSpecHttpRouteMatchQueryParameterArgs.cs new file mode 100644 index 00000000000..1ce5f2e77b5 --- /dev/null +++ b/sdk/dotnet/AppMesh/Inputs/GatewayRouteSpecHttpRouteMatchQueryParameterArgs.cs @@ -0,0 +1,32 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.AppMesh.Inputs +{ + + public sealed class GatewayRouteSpecHttpRouteMatchQueryParameterArgs : global::Pulumi.ResourceArgs + { + /// + /// The query parameter to match on. + /// + [Input("match")] + public Input? Match { get; set; } + + /// + /// Name for the query parameter that will be matched on. + /// + [Input("name", required: true)] + public Input Name { get; set; } = null!; + + public GatewayRouteSpecHttpRouteMatchQueryParameterArgs() + { + } + public static new GatewayRouteSpecHttpRouteMatchQueryParameterArgs Empty => new GatewayRouteSpecHttpRouteMatchQueryParameterArgs(); + } +} diff --git a/sdk/dotnet/AppMesh/Inputs/GatewayRouteSpecHttpRouteMatchQueryParameterGetArgs.cs b/sdk/dotnet/AppMesh/Inputs/GatewayRouteSpecHttpRouteMatchQueryParameterGetArgs.cs new file mode 100644 index 00000000000..d614eb43e1a --- /dev/null +++ b/sdk/dotnet/AppMesh/Inputs/GatewayRouteSpecHttpRouteMatchQueryParameterGetArgs.cs @@ -0,0 +1,32 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.AppMesh.Inputs +{ + + public sealed class GatewayRouteSpecHttpRouteMatchQueryParameterGetArgs : global::Pulumi.ResourceArgs + { + /// + /// The query parameter to match on. + /// + [Input("match")] + public Input? Match { get; set; } + + /// + /// Name for the query parameter that will be matched on. + /// + [Input("name", required: true)] + public Input Name { get; set; } = null!; + + public GatewayRouteSpecHttpRouteMatchQueryParameterGetArgs() + { + } + public static new GatewayRouteSpecHttpRouteMatchQueryParameterGetArgs Empty => new GatewayRouteSpecHttpRouteMatchQueryParameterGetArgs(); + } +} diff --git a/sdk/dotnet/AppMesh/Inputs/GatewayRouteSpecHttpRouteMatchQueryParameterMatchArgs.cs b/sdk/dotnet/AppMesh/Inputs/GatewayRouteSpecHttpRouteMatchQueryParameterMatchArgs.cs new file mode 100644 index 00000000000..496c2609eaf --- /dev/null +++ b/sdk/dotnet/AppMesh/Inputs/GatewayRouteSpecHttpRouteMatchQueryParameterMatchArgs.cs @@ -0,0 +1,26 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.AppMesh.Inputs +{ + + public sealed class GatewayRouteSpecHttpRouteMatchQueryParameterMatchArgs : global::Pulumi.ResourceArgs + { + /// + /// Header value sent by the client must match the specified value exactly. + /// + [Input("exact")] + public Input? Exact { get; set; } + + public GatewayRouteSpecHttpRouteMatchQueryParameterMatchArgs() + { + } + public static new GatewayRouteSpecHttpRouteMatchQueryParameterMatchArgs Empty => new GatewayRouteSpecHttpRouteMatchQueryParameterMatchArgs(); + } +} diff --git a/sdk/dotnet/AppMesh/Inputs/GatewayRouteSpecHttpRouteMatchQueryParameterMatchGetArgs.cs b/sdk/dotnet/AppMesh/Inputs/GatewayRouteSpecHttpRouteMatchQueryParameterMatchGetArgs.cs new file mode 100644 index 00000000000..61165c606fa --- /dev/null +++ b/sdk/dotnet/AppMesh/Inputs/GatewayRouteSpecHttpRouteMatchQueryParameterMatchGetArgs.cs @@ -0,0 +1,26 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.AppMesh.Inputs +{ + + public sealed class GatewayRouteSpecHttpRouteMatchQueryParameterMatchGetArgs : global::Pulumi.ResourceArgs + { + /// + /// Header value sent by the client must match the specified value exactly. + /// + [Input("exact")] + public Input? Exact { get; set; } + + public GatewayRouteSpecHttpRouteMatchQueryParameterMatchGetArgs() + { + } + public static new GatewayRouteSpecHttpRouteMatchQueryParameterMatchGetArgs Empty => new GatewayRouteSpecHttpRouteMatchQueryParameterMatchGetArgs(); + } +} diff --git a/sdk/dotnet/AppMesh/Inputs/RouteSpecGrpcRouteMatchMetadataMatchArgs.cs b/sdk/dotnet/AppMesh/Inputs/RouteSpecGrpcRouteMatchMetadataMatchArgs.cs index 539ca2b9fdf..ef6b42e2d0b 100644 --- a/sdk/dotnet/AppMesh/Inputs/RouteSpecGrpcRouteMatchMetadataMatchArgs.cs +++ b/sdk/dotnet/AppMesh/Inputs/RouteSpecGrpcRouteMatchMetadataMatchArgs.cs @@ -13,7 +13,7 @@ namespace Pulumi.Aws.AppMesh.Inputs public sealed class RouteSpecGrpcRouteMatchMetadataMatchArgs : global::Pulumi.ResourceArgs { /// - /// Value sent by the client must match the specified value exactly. Must be between 1 and 255 characters in length. + /// The exact path to match on. /// [Input("exact")] public Input? Exact { get; set; } @@ -32,7 +32,7 @@ public sealed class RouteSpecGrpcRouteMatchMetadataMatchArgs : global::Pulumi.Re public Input? Range { get; set; } /// - /// Value sent by the client must include the specified characters. Must be between 1 and 255 characters in length. + /// The regex used to match the path. /// [Input("regex")] public Input? Regex { get; set; } diff --git a/sdk/dotnet/AppMesh/Inputs/RouteSpecGrpcRouteMatchMetadataMatchGetArgs.cs b/sdk/dotnet/AppMesh/Inputs/RouteSpecGrpcRouteMatchMetadataMatchGetArgs.cs index 618be730c53..c98025b4b83 100644 --- a/sdk/dotnet/AppMesh/Inputs/RouteSpecGrpcRouteMatchMetadataMatchGetArgs.cs +++ b/sdk/dotnet/AppMesh/Inputs/RouteSpecGrpcRouteMatchMetadataMatchGetArgs.cs @@ -13,7 +13,7 @@ namespace Pulumi.Aws.AppMesh.Inputs public sealed class RouteSpecGrpcRouteMatchMetadataMatchGetArgs : global::Pulumi.ResourceArgs { /// - /// Value sent by the client must match the specified value exactly. Must be between 1 and 255 characters in length. + /// The exact path to match on. /// [Input("exact")] public Input? Exact { get; set; } @@ -32,7 +32,7 @@ public sealed class RouteSpecGrpcRouteMatchMetadataMatchGetArgs : global::Pulumi public Input? Range { get; set; } /// - /// Value sent by the client must include the specified characters. Must be between 1 and 255 characters in length. + /// The regex used to match the path. /// [Input("regex")] public Input? Regex { get; set; } diff --git a/sdk/dotnet/AppMesh/Inputs/RouteSpecHttp2RouteMatchArgs.cs b/sdk/dotnet/AppMesh/Inputs/RouteSpecHttp2RouteMatchArgs.cs index 6fb7a8464e5..222c66c4844 100644 --- a/sdk/dotnet/AppMesh/Inputs/RouteSpecHttp2RouteMatchArgs.cs +++ b/sdk/dotnet/AppMesh/Inputs/RouteSpecHttp2RouteMatchArgs.cs @@ -30,6 +30,12 @@ public InputList Headers [Input("method")] public Input? Method { get; set; } + /// + /// Client request path to match on. + /// + [Input("path")] + public Input? Path { get; set; } + /// /// The port number to match from the request. /// @@ -40,8 +46,20 @@ public InputList Headers /// Value sent by the client must begin with the specified characters. Must be between 1 and 255 characters in length. /// This parameter must always start with /, which by itself matches all requests to the virtual router service name. /// - [Input("prefix", required: true)] - public Input Prefix { get; set; } = null!; + [Input("prefix")] + public Input? Prefix { get; set; } + + [Input("queryParameters")] + private InputList? _queryParameters; + + /// + /// Client request query parameters to match on. + /// + public InputList QueryParameters + { + get => _queryParameters ?? (_queryParameters = new InputList()); + set => _queryParameters = value; + } /// /// Client request header scheme to match on. Valid values: `http`, `https`. diff --git a/sdk/dotnet/AppMesh/Inputs/RouteSpecHttp2RouteMatchGetArgs.cs b/sdk/dotnet/AppMesh/Inputs/RouteSpecHttp2RouteMatchGetArgs.cs index 5e0670badaf..9ec7b423f57 100644 --- a/sdk/dotnet/AppMesh/Inputs/RouteSpecHttp2RouteMatchGetArgs.cs +++ b/sdk/dotnet/AppMesh/Inputs/RouteSpecHttp2RouteMatchGetArgs.cs @@ -30,6 +30,12 @@ public InputList Headers [Input("method")] public Input? Method { get; set; } + /// + /// Client request path to match on. + /// + [Input("path")] + public Input? Path { get; set; } + /// /// The port number to match from the request. /// @@ -40,8 +46,20 @@ public InputList Headers /// Value sent by the client must begin with the specified characters. Must be between 1 and 255 characters in length. /// This parameter must always start with /, which by itself matches all requests to the virtual router service name. /// - [Input("prefix", required: true)] - public Input Prefix { get; set; } = null!; + [Input("prefix")] + public Input? Prefix { get; set; } + + [Input("queryParameters")] + private InputList? _queryParameters; + + /// + /// Client request query parameters to match on. + /// + public InputList QueryParameters + { + get => _queryParameters ?? (_queryParameters = new InputList()); + set => _queryParameters = value; + } /// /// Client request header scheme to match on. Valid values: `http`, `https`. diff --git a/sdk/dotnet/AppMesh/Inputs/RouteSpecHttp2RouteMatchHeaderMatchArgs.cs b/sdk/dotnet/AppMesh/Inputs/RouteSpecHttp2RouteMatchHeaderMatchArgs.cs index 47fd6781351..a42addae512 100644 --- a/sdk/dotnet/AppMesh/Inputs/RouteSpecHttp2RouteMatchHeaderMatchArgs.cs +++ b/sdk/dotnet/AppMesh/Inputs/RouteSpecHttp2RouteMatchHeaderMatchArgs.cs @@ -13,7 +13,7 @@ namespace Pulumi.Aws.AppMesh.Inputs public sealed class RouteSpecHttp2RouteMatchHeaderMatchArgs : global::Pulumi.ResourceArgs { /// - /// Value sent by the client must match the specified value exactly. Must be between 1 and 255 characters in length. + /// The exact path to match on. /// [Input("exact")] public Input? Exact { get; set; } @@ -32,7 +32,7 @@ public sealed class RouteSpecHttp2RouteMatchHeaderMatchArgs : global::Pulumi.Res public Input? Range { get; set; } /// - /// Value sent by the client must include the specified characters. Must be between 1 and 255 characters in length. + /// The regex used to match the path. /// [Input("regex")] public Input? Regex { get; set; } diff --git a/sdk/dotnet/AppMesh/Inputs/RouteSpecHttp2RouteMatchHeaderMatchGetArgs.cs b/sdk/dotnet/AppMesh/Inputs/RouteSpecHttp2RouteMatchHeaderMatchGetArgs.cs index ceec7b0a7f4..a84e6f5c127 100644 --- a/sdk/dotnet/AppMesh/Inputs/RouteSpecHttp2RouteMatchHeaderMatchGetArgs.cs +++ b/sdk/dotnet/AppMesh/Inputs/RouteSpecHttp2RouteMatchHeaderMatchGetArgs.cs @@ -13,7 +13,7 @@ namespace Pulumi.Aws.AppMesh.Inputs public sealed class RouteSpecHttp2RouteMatchHeaderMatchGetArgs : global::Pulumi.ResourceArgs { /// - /// Value sent by the client must match the specified value exactly. Must be between 1 and 255 characters in length. + /// The exact path to match on. /// [Input("exact")] public Input? Exact { get; set; } @@ -32,7 +32,7 @@ public sealed class RouteSpecHttp2RouteMatchHeaderMatchGetArgs : global::Pulumi. public Input? Range { get; set; } /// - /// Value sent by the client must include the specified characters. Must be between 1 and 255 characters in length. + /// The regex used to match the path. /// [Input("regex")] public Input? Regex { get; set; } diff --git a/sdk/dotnet/AppMesh/Inputs/RouteSpecHttp2RouteMatchPathArgs.cs b/sdk/dotnet/AppMesh/Inputs/RouteSpecHttp2RouteMatchPathArgs.cs new file mode 100644 index 00000000000..125cb87a22c --- /dev/null +++ b/sdk/dotnet/AppMesh/Inputs/RouteSpecHttp2RouteMatchPathArgs.cs @@ -0,0 +1,32 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.AppMesh.Inputs +{ + + public sealed class RouteSpecHttp2RouteMatchPathArgs : global::Pulumi.ResourceArgs + { + /// + /// Value sent by the client must match the specified value exactly. Must be between 1 and 255 characters in length. + /// + [Input("exact")] + public Input? Exact { get; set; } + + /// + /// Value sent by the client must include the specified characters. Must be between 1 and 255 characters in length. + /// + [Input("regex")] + public Input? Regex { get; set; } + + public RouteSpecHttp2RouteMatchPathArgs() + { + } + public static new RouteSpecHttp2RouteMatchPathArgs Empty => new RouteSpecHttp2RouteMatchPathArgs(); + } +} diff --git a/sdk/dotnet/AppMesh/Inputs/RouteSpecHttp2RouteMatchPathGetArgs.cs b/sdk/dotnet/AppMesh/Inputs/RouteSpecHttp2RouteMatchPathGetArgs.cs new file mode 100644 index 00000000000..c61ca8574dd --- /dev/null +++ b/sdk/dotnet/AppMesh/Inputs/RouteSpecHttp2RouteMatchPathGetArgs.cs @@ -0,0 +1,32 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.AppMesh.Inputs +{ + + public sealed class RouteSpecHttp2RouteMatchPathGetArgs : global::Pulumi.ResourceArgs + { + /// + /// Value sent by the client must match the specified value exactly. Must be between 1 and 255 characters in length. + /// + [Input("exact")] + public Input? Exact { get; set; } + + /// + /// Value sent by the client must include the specified characters. Must be between 1 and 255 characters in length. + /// + [Input("regex")] + public Input? Regex { get; set; } + + public RouteSpecHttp2RouteMatchPathGetArgs() + { + } + public static new RouteSpecHttp2RouteMatchPathGetArgs Empty => new RouteSpecHttp2RouteMatchPathGetArgs(); + } +} diff --git a/sdk/dotnet/AppMesh/Inputs/RouteSpecHttp2RouteMatchQueryParameterArgs.cs b/sdk/dotnet/AppMesh/Inputs/RouteSpecHttp2RouteMatchQueryParameterArgs.cs new file mode 100644 index 00000000000..dde21da3046 --- /dev/null +++ b/sdk/dotnet/AppMesh/Inputs/RouteSpecHttp2RouteMatchQueryParameterArgs.cs @@ -0,0 +1,32 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.AppMesh.Inputs +{ + + public sealed class RouteSpecHttp2RouteMatchQueryParameterArgs : global::Pulumi.ResourceArgs + { + /// + /// Criteria for determining an gRPC request match. + /// + [Input("match")] + public Input? Match { get; set; } + + /// + /// Name to use for the route. Must be between 1 and 255 characters in length. + /// + [Input("name", required: true)] + public Input Name { get; set; } = null!; + + public RouteSpecHttp2RouteMatchQueryParameterArgs() + { + } + public static new RouteSpecHttp2RouteMatchQueryParameterArgs Empty => new RouteSpecHttp2RouteMatchQueryParameterArgs(); + } +} diff --git a/sdk/dotnet/AppMesh/Inputs/RouteSpecHttp2RouteMatchQueryParameterGetArgs.cs b/sdk/dotnet/AppMesh/Inputs/RouteSpecHttp2RouteMatchQueryParameterGetArgs.cs new file mode 100644 index 00000000000..e364124a890 --- /dev/null +++ b/sdk/dotnet/AppMesh/Inputs/RouteSpecHttp2RouteMatchQueryParameterGetArgs.cs @@ -0,0 +1,32 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.AppMesh.Inputs +{ + + public sealed class RouteSpecHttp2RouteMatchQueryParameterGetArgs : global::Pulumi.ResourceArgs + { + /// + /// Criteria for determining an gRPC request match. + /// + [Input("match")] + public Input? Match { get; set; } + + /// + /// Name to use for the route. Must be between 1 and 255 characters in length. + /// + [Input("name", required: true)] + public Input Name { get; set; } = null!; + + public RouteSpecHttp2RouteMatchQueryParameterGetArgs() + { + } + public static new RouteSpecHttp2RouteMatchQueryParameterGetArgs Empty => new RouteSpecHttp2RouteMatchQueryParameterGetArgs(); + } +} diff --git a/sdk/dotnet/AppMesh/Inputs/RouteSpecHttp2RouteMatchQueryParameterMatchArgs.cs b/sdk/dotnet/AppMesh/Inputs/RouteSpecHttp2RouteMatchQueryParameterMatchArgs.cs new file mode 100644 index 00000000000..be1f01aaa7d --- /dev/null +++ b/sdk/dotnet/AppMesh/Inputs/RouteSpecHttp2RouteMatchQueryParameterMatchArgs.cs @@ -0,0 +1,26 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.AppMesh.Inputs +{ + + public sealed class RouteSpecHttp2RouteMatchQueryParameterMatchArgs : global::Pulumi.ResourceArgs + { + /// + /// The exact path to match on. + /// + [Input("exact")] + public Input? Exact { get; set; } + + public RouteSpecHttp2RouteMatchQueryParameterMatchArgs() + { + } + public static new RouteSpecHttp2RouteMatchQueryParameterMatchArgs Empty => new RouteSpecHttp2RouteMatchQueryParameterMatchArgs(); + } +} diff --git a/sdk/dotnet/AppMesh/Inputs/RouteSpecHttp2RouteMatchQueryParameterMatchGetArgs.cs b/sdk/dotnet/AppMesh/Inputs/RouteSpecHttp2RouteMatchQueryParameterMatchGetArgs.cs new file mode 100644 index 00000000000..0b6c3248e47 --- /dev/null +++ b/sdk/dotnet/AppMesh/Inputs/RouteSpecHttp2RouteMatchQueryParameterMatchGetArgs.cs @@ -0,0 +1,26 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.AppMesh.Inputs +{ + + public sealed class RouteSpecHttp2RouteMatchQueryParameterMatchGetArgs : global::Pulumi.ResourceArgs + { + /// + /// The exact path to match on. + /// + [Input("exact")] + public Input? Exact { get; set; } + + public RouteSpecHttp2RouteMatchQueryParameterMatchGetArgs() + { + } + public static new RouteSpecHttp2RouteMatchQueryParameterMatchGetArgs Empty => new RouteSpecHttp2RouteMatchQueryParameterMatchGetArgs(); + } +} diff --git a/sdk/dotnet/AppMesh/Inputs/RouteSpecHttpRouteMatchArgs.cs b/sdk/dotnet/AppMesh/Inputs/RouteSpecHttpRouteMatchArgs.cs index 11539d11bb6..fbaf4136d32 100644 --- a/sdk/dotnet/AppMesh/Inputs/RouteSpecHttpRouteMatchArgs.cs +++ b/sdk/dotnet/AppMesh/Inputs/RouteSpecHttpRouteMatchArgs.cs @@ -30,6 +30,12 @@ public InputList Headers [Input("method")] public Input? Method { get; set; } + /// + /// Client request path to match on. + /// + [Input("path")] + public Input? Path { get; set; } + /// /// The port number to match from the request. /// @@ -40,8 +46,20 @@ public InputList Headers /// Value sent by the client must begin with the specified characters. Must be between 1 and 255 characters in length. /// This parameter must always start with /, which by itself matches all requests to the virtual router service name. /// - [Input("prefix", required: true)] - public Input Prefix { get; set; } = null!; + [Input("prefix")] + public Input? Prefix { get; set; } + + [Input("queryParameters")] + private InputList? _queryParameters; + + /// + /// Client request query parameters to match on. + /// + public InputList QueryParameters + { + get => _queryParameters ?? (_queryParameters = new InputList()); + set => _queryParameters = value; + } /// /// Client request header scheme to match on. Valid values: `http`, `https`. diff --git a/sdk/dotnet/AppMesh/Inputs/RouteSpecHttpRouteMatchGetArgs.cs b/sdk/dotnet/AppMesh/Inputs/RouteSpecHttpRouteMatchGetArgs.cs index 7481ea41635..2da48f12ca1 100644 --- a/sdk/dotnet/AppMesh/Inputs/RouteSpecHttpRouteMatchGetArgs.cs +++ b/sdk/dotnet/AppMesh/Inputs/RouteSpecHttpRouteMatchGetArgs.cs @@ -30,6 +30,12 @@ public InputList Headers [Input("method")] public Input? Method { get; set; } + /// + /// Client request path to match on. + /// + [Input("path")] + public Input? Path { get; set; } + /// /// The port number to match from the request. /// @@ -40,8 +46,20 @@ public InputList Headers /// Value sent by the client must begin with the specified characters. Must be between 1 and 255 characters in length. /// This parameter must always start with /, which by itself matches all requests to the virtual router service name. /// - [Input("prefix", required: true)] - public Input Prefix { get; set; } = null!; + [Input("prefix")] + public Input? Prefix { get; set; } + + [Input("queryParameters")] + private InputList? _queryParameters; + + /// + /// Client request query parameters to match on. + /// + public InputList QueryParameters + { + get => _queryParameters ?? (_queryParameters = new InputList()); + set => _queryParameters = value; + } /// /// Client request header scheme to match on. Valid values: `http`, `https`. diff --git a/sdk/dotnet/AppMesh/Inputs/RouteSpecHttpRouteMatchHeaderMatchArgs.cs b/sdk/dotnet/AppMesh/Inputs/RouteSpecHttpRouteMatchHeaderMatchArgs.cs index 825d2ebbffe..7aad4589753 100644 --- a/sdk/dotnet/AppMesh/Inputs/RouteSpecHttpRouteMatchHeaderMatchArgs.cs +++ b/sdk/dotnet/AppMesh/Inputs/RouteSpecHttpRouteMatchHeaderMatchArgs.cs @@ -13,7 +13,7 @@ namespace Pulumi.Aws.AppMesh.Inputs public sealed class RouteSpecHttpRouteMatchHeaderMatchArgs : global::Pulumi.ResourceArgs { /// - /// Value sent by the client must match the specified value exactly. Must be between 1 and 255 characters in length. + /// The exact path to match on. /// [Input("exact")] public Input? Exact { get; set; } @@ -32,7 +32,7 @@ public sealed class RouteSpecHttpRouteMatchHeaderMatchArgs : global::Pulumi.Reso public Input? Range { get; set; } /// - /// Value sent by the client must include the specified characters. Must be between 1 and 255 characters in length. + /// The regex used to match the path. /// [Input("regex")] public Input? Regex { get; set; } diff --git a/sdk/dotnet/AppMesh/Inputs/RouteSpecHttpRouteMatchHeaderMatchGetArgs.cs b/sdk/dotnet/AppMesh/Inputs/RouteSpecHttpRouteMatchHeaderMatchGetArgs.cs index 2933a65ee81..d890595b3d5 100644 --- a/sdk/dotnet/AppMesh/Inputs/RouteSpecHttpRouteMatchHeaderMatchGetArgs.cs +++ b/sdk/dotnet/AppMesh/Inputs/RouteSpecHttpRouteMatchHeaderMatchGetArgs.cs @@ -13,7 +13,7 @@ namespace Pulumi.Aws.AppMesh.Inputs public sealed class RouteSpecHttpRouteMatchHeaderMatchGetArgs : global::Pulumi.ResourceArgs { /// - /// Value sent by the client must match the specified value exactly. Must be between 1 and 255 characters in length. + /// The exact path to match on. /// [Input("exact")] public Input? Exact { get; set; } @@ -32,7 +32,7 @@ public sealed class RouteSpecHttpRouteMatchHeaderMatchGetArgs : global::Pulumi.R public Input? Range { get; set; } /// - /// Value sent by the client must include the specified characters. Must be between 1 and 255 characters in length. + /// The regex used to match the path. /// [Input("regex")] public Input? Regex { get; set; } diff --git a/sdk/dotnet/AppMesh/Inputs/RouteSpecHttpRouteMatchPathArgs.cs b/sdk/dotnet/AppMesh/Inputs/RouteSpecHttpRouteMatchPathArgs.cs new file mode 100644 index 00000000000..bf4e6cddab0 --- /dev/null +++ b/sdk/dotnet/AppMesh/Inputs/RouteSpecHttpRouteMatchPathArgs.cs @@ -0,0 +1,32 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.AppMesh.Inputs +{ + + public sealed class RouteSpecHttpRouteMatchPathArgs : global::Pulumi.ResourceArgs + { + /// + /// Value sent by the client must match the specified value exactly. Must be between 1 and 255 characters in length. + /// + [Input("exact")] + public Input? Exact { get; set; } + + /// + /// Value sent by the client must include the specified characters. Must be between 1 and 255 characters in length. + /// + [Input("regex")] + public Input? Regex { get; set; } + + public RouteSpecHttpRouteMatchPathArgs() + { + } + public static new RouteSpecHttpRouteMatchPathArgs Empty => new RouteSpecHttpRouteMatchPathArgs(); + } +} diff --git a/sdk/dotnet/AppMesh/Inputs/RouteSpecHttpRouteMatchPathGetArgs.cs b/sdk/dotnet/AppMesh/Inputs/RouteSpecHttpRouteMatchPathGetArgs.cs new file mode 100644 index 00000000000..50a9b326811 --- /dev/null +++ b/sdk/dotnet/AppMesh/Inputs/RouteSpecHttpRouteMatchPathGetArgs.cs @@ -0,0 +1,32 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.AppMesh.Inputs +{ + + public sealed class RouteSpecHttpRouteMatchPathGetArgs : global::Pulumi.ResourceArgs + { + /// + /// Value sent by the client must match the specified value exactly. Must be between 1 and 255 characters in length. + /// + [Input("exact")] + public Input? Exact { get; set; } + + /// + /// Value sent by the client must include the specified characters. Must be between 1 and 255 characters in length. + /// + [Input("regex")] + public Input? Regex { get; set; } + + public RouteSpecHttpRouteMatchPathGetArgs() + { + } + public static new RouteSpecHttpRouteMatchPathGetArgs Empty => new RouteSpecHttpRouteMatchPathGetArgs(); + } +} diff --git a/sdk/dotnet/AppMesh/Inputs/RouteSpecHttpRouteMatchQueryParameterArgs.cs b/sdk/dotnet/AppMesh/Inputs/RouteSpecHttpRouteMatchQueryParameterArgs.cs new file mode 100644 index 00000000000..809f4c5c995 --- /dev/null +++ b/sdk/dotnet/AppMesh/Inputs/RouteSpecHttpRouteMatchQueryParameterArgs.cs @@ -0,0 +1,32 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.AppMesh.Inputs +{ + + public sealed class RouteSpecHttpRouteMatchQueryParameterArgs : global::Pulumi.ResourceArgs + { + /// + /// Criteria for determining an gRPC request match. + /// + [Input("match")] + public Input? Match { get; set; } + + /// + /// Name to use for the route. Must be between 1 and 255 characters in length. + /// + [Input("name", required: true)] + public Input Name { get; set; } = null!; + + public RouteSpecHttpRouteMatchQueryParameterArgs() + { + } + public static new RouteSpecHttpRouteMatchQueryParameterArgs Empty => new RouteSpecHttpRouteMatchQueryParameterArgs(); + } +} diff --git a/sdk/dotnet/AppMesh/Inputs/RouteSpecHttpRouteMatchQueryParameterGetArgs.cs b/sdk/dotnet/AppMesh/Inputs/RouteSpecHttpRouteMatchQueryParameterGetArgs.cs new file mode 100644 index 00000000000..7a4e05b499d --- /dev/null +++ b/sdk/dotnet/AppMesh/Inputs/RouteSpecHttpRouteMatchQueryParameterGetArgs.cs @@ -0,0 +1,32 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.AppMesh.Inputs +{ + + public sealed class RouteSpecHttpRouteMatchQueryParameterGetArgs : global::Pulumi.ResourceArgs + { + /// + /// Criteria for determining an gRPC request match. + /// + [Input("match")] + public Input? Match { get; set; } + + /// + /// Name to use for the route. Must be between 1 and 255 characters in length. + /// + [Input("name", required: true)] + public Input Name { get; set; } = null!; + + public RouteSpecHttpRouteMatchQueryParameterGetArgs() + { + } + public static new RouteSpecHttpRouteMatchQueryParameterGetArgs Empty => new RouteSpecHttpRouteMatchQueryParameterGetArgs(); + } +} diff --git a/sdk/dotnet/AppMesh/Inputs/RouteSpecHttpRouteMatchQueryParameterMatchArgs.cs b/sdk/dotnet/AppMesh/Inputs/RouteSpecHttpRouteMatchQueryParameterMatchArgs.cs new file mode 100644 index 00000000000..c07f764b1fd --- /dev/null +++ b/sdk/dotnet/AppMesh/Inputs/RouteSpecHttpRouteMatchQueryParameterMatchArgs.cs @@ -0,0 +1,26 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.AppMesh.Inputs +{ + + public sealed class RouteSpecHttpRouteMatchQueryParameterMatchArgs : global::Pulumi.ResourceArgs + { + /// + /// The exact path to match on. + /// + [Input("exact")] + public Input? Exact { get; set; } + + public RouteSpecHttpRouteMatchQueryParameterMatchArgs() + { + } + public static new RouteSpecHttpRouteMatchQueryParameterMatchArgs Empty => new RouteSpecHttpRouteMatchQueryParameterMatchArgs(); + } +} diff --git a/sdk/dotnet/AppMesh/Inputs/RouteSpecHttpRouteMatchQueryParameterMatchGetArgs.cs b/sdk/dotnet/AppMesh/Inputs/RouteSpecHttpRouteMatchQueryParameterMatchGetArgs.cs new file mode 100644 index 00000000000..1917e0f85cf --- /dev/null +++ b/sdk/dotnet/AppMesh/Inputs/RouteSpecHttpRouteMatchQueryParameterMatchGetArgs.cs @@ -0,0 +1,26 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.AppMesh.Inputs +{ + + public sealed class RouteSpecHttpRouteMatchQueryParameterMatchGetArgs : global::Pulumi.ResourceArgs + { + /// + /// The exact path to match on. + /// + [Input("exact")] + public Input? Exact { get; set; } + + public RouteSpecHttpRouteMatchQueryParameterMatchGetArgs() + { + } + public static new RouteSpecHttpRouteMatchQueryParameterMatchGetArgs Empty => new RouteSpecHttpRouteMatchQueryParameterMatchGetArgs(); + } +} diff --git a/sdk/dotnet/AppMesh/Inputs/VirtualNodeSpecServiceDiscoveryDnsArgs.cs b/sdk/dotnet/AppMesh/Inputs/VirtualNodeSpecServiceDiscoveryDnsArgs.cs index af3641d5dcf..ee9e61f021b 100644 --- a/sdk/dotnet/AppMesh/Inputs/VirtualNodeSpecServiceDiscoveryDnsArgs.cs +++ b/sdk/dotnet/AppMesh/Inputs/VirtualNodeSpecServiceDiscoveryDnsArgs.cs @@ -18,6 +18,18 @@ public sealed class VirtualNodeSpecServiceDiscoveryDnsArgs : global::Pulumi.Reso [Input("hostname", required: true)] public Input Hostname { get; set; } = null!; + /// + /// The preferred IP version that this virtual node uses. Valid values: `IPv6_PREFERRED`, `IPv4_PREFERRED`, `IPv4_ONLY`, `IPv6_ONLY`. + /// + [Input("ipPreference")] + public Input? IpPreference { get; set; } + + /// + /// The DNS response type for the virtual node. Valid values: `LOADBALANCER`, `ENDPOINTS`. + /// + [Input("responseType")] + public Input? ResponseType { get; set; } + public VirtualNodeSpecServiceDiscoveryDnsArgs() { } diff --git a/sdk/dotnet/AppMesh/Inputs/VirtualNodeSpecServiceDiscoveryDnsGetArgs.cs b/sdk/dotnet/AppMesh/Inputs/VirtualNodeSpecServiceDiscoveryDnsGetArgs.cs index d0aca8ea5a4..05376bd8f83 100644 --- a/sdk/dotnet/AppMesh/Inputs/VirtualNodeSpecServiceDiscoveryDnsGetArgs.cs +++ b/sdk/dotnet/AppMesh/Inputs/VirtualNodeSpecServiceDiscoveryDnsGetArgs.cs @@ -18,6 +18,18 @@ public sealed class VirtualNodeSpecServiceDiscoveryDnsGetArgs : global::Pulumi.R [Input("hostname", required: true)] public Input Hostname { get; set; } = null!; + /// + /// The preferred IP version that this virtual node uses. Valid values: `IPv6_PREFERRED`, `IPv4_PREFERRED`, `IPv4_ONLY`, `IPv6_ONLY`. + /// + [Input("ipPreference")] + public Input? IpPreference { get; set; } + + /// + /// The DNS response type for the virtual node. Valid values: `LOADBALANCER`, `ENDPOINTS`. + /// + [Input("responseType")] + public Input? ResponseType { get; set; } + public VirtualNodeSpecServiceDiscoveryDnsGetArgs() { } diff --git a/sdk/dotnet/AppMesh/Inputs/VirtualRouterSpecArgs.cs b/sdk/dotnet/AppMesh/Inputs/VirtualRouterSpecArgs.cs index 2bb8150c7f1..7df4fd132e9 100644 --- a/sdk/dotnet/AppMesh/Inputs/VirtualRouterSpecArgs.cs +++ b/sdk/dotnet/AppMesh/Inputs/VirtualRouterSpecArgs.cs @@ -16,8 +16,8 @@ public sealed class VirtualRouterSpecArgs : global::Pulumi.ResourceArgs /// Listeners that the virtual router is expected to receive inbound traffic from. /// Currently only one listener is supported per virtual router. /// - [Input("listener", required: true)] - public Input Listener { get; set; } = null!; + [Input("listener")] + public Input? Listener { get; set; } public VirtualRouterSpecArgs() { diff --git a/sdk/dotnet/AppMesh/Inputs/VirtualRouterSpecGetArgs.cs b/sdk/dotnet/AppMesh/Inputs/VirtualRouterSpecGetArgs.cs index 4997b9cfbe6..0c09207e186 100644 --- a/sdk/dotnet/AppMesh/Inputs/VirtualRouterSpecGetArgs.cs +++ b/sdk/dotnet/AppMesh/Inputs/VirtualRouterSpecGetArgs.cs @@ -16,8 +16,8 @@ public sealed class VirtualRouterSpecGetArgs : global::Pulumi.ResourceArgs /// Listeners that the virtual router is expected to receive inbound traffic from. /// Currently only one listener is supported per virtual router. /// - [Input("listener", required: true)] - public Input Listener { get; set; } = null!; + [Input("listener")] + public Input? Listener { get; set; } public VirtualRouterSpecGetArgs() { diff --git a/sdk/dotnet/AppMesh/Outputs/GatewayRouteSpec.cs b/sdk/dotnet/AppMesh/Outputs/GatewayRouteSpec.cs index 394b19e4ee7..06770c3a75c 100644 --- a/sdk/dotnet/AppMesh/Outputs/GatewayRouteSpec.cs +++ b/sdk/dotnet/AppMesh/Outputs/GatewayRouteSpec.cs @@ -25,6 +25,10 @@ public sealed class GatewayRouteSpec /// Specification of an HTTP gateway route. /// public readonly Outputs.GatewayRouteSpecHttpRoute? HttpRoute; + /// + /// Priority for the gateway route, between `0` and `1000`. + /// + public readonly int? Priority; [OutputConstructor] private GatewayRouteSpec( @@ -32,11 +36,14 @@ private GatewayRouteSpec( Outputs.GatewayRouteSpecHttp2Route? http2Route, - Outputs.GatewayRouteSpecHttpRoute? httpRoute) + Outputs.GatewayRouteSpecHttpRoute? httpRoute, + + int? priority) { GrpcRoute = grpcRoute; Http2Route = http2Route; HttpRoute = httpRoute; + Priority = priority; } } } diff --git a/sdk/dotnet/AppMesh/Outputs/GatewayRouteSpecGrpcRouteActionTarget.cs b/sdk/dotnet/AppMesh/Outputs/GatewayRouteSpecGrpcRouteActionTarget.cs index 46fe82b0230..3dc6294d203 100644 --- a/sdk/dotnet/AppMesh/Outputs/GatewayRouteSpecGrpcRouteActionTarget.cs +++ b/sdk/dotnet/AppMesh/Outputs/GatewayRouteSpecGrpcRouteActionTarget.cs @@ -13,14 +13,22 @@ namespace Pulumi.Aws.AppMesh.Outputs [OutputType] public sealed class GatewayRouteSpecGrpcRouteActionTarget { + /// + /// The port number that corresponds to the target for Virtual Service provider port. This is required when the provider (router or node) of the Virtual Service has multiple listeners. + /// + public readonly int? Port; /// /// Virtual service gateway route target. /// public readonly Outputs.GatewayRouteSpecGrpcRouteActionTargetVirtualService VirtualService; [OutputConstructor] - private GatewayRouteSpecGrpcRouteActionTarget(Outputs.GatewayRouteSpecGrpcRouteActionTargetVirtualService virtualService) + private GatewayRouteSpecGrpcRouteActionTarget( + int? port, + + Outputs.GatewayRouteSpecGrpcRouteActionTargetVirtualService virtualService) { + Port = port; VirtualService = virtualService; } } diff --git a/sdk/dotnet/AppMesh/Outputs/GatewayRouteSpecGrpcRouteMatch.cs b/sdk/dotnet/AppMesh/Outputs/GatewayRouteSpecGrpcRouteMatch.cs index 8a4c94b6d52..40d19aadce1 100644 --- a/sdk/dotnet/AppMesh/Outputs/GatewayRouteSpecGrpcRouteMatch.cs +++ b/sdk/dotnet/AppMesh/Outputs/GatewayRouteSpecGrpcRouteMatch.cs @@ -14,7 +14,7 @@ namespace Pulumi.Aws.AppMesh.Outputs public sealed class GatewayRouteSpecGrpcRouteMatch { /// - /// The port number to match from the request. + /// The port number that corresponds to the target for Virtual Service provider port. This is required when the provider (router or node) of the Virtual Service has multiple listeners. /// public readonly int? Port; /// diff --git a/sdk/dotnet/AppMesh/Outputs/GatewayRouteSpecHttp2RouteActionTarget.cs b/sdk/dotnet/AppMesh/Outputs/GatewayRouteSpecHttp2RouteActionTarget.cs index 711bb84f59c..4bb57f238d6 100644 --- a/sdk/dotnet/AppMesh/Outputs/GatewayRouteSpecHttp2RouteActionTarget.cs +++ b/sdk/dotnet/AppMesh/Outputs/GatewayRouteSpecHttp2RouteActionTarget.cs @@ -13,14 +13,22 @@ namespace Pulumi.Aws.AppMesh.Outputs [OutputType] public sealed class GatewayRouteSpecHttp2RouteActionTarget { + /// + /// The port number that corresponds to the target for Virtual Service provider port. This is required when the provider (router or node) of the Virtual Service has multiple listeners. + /// + public readonly int? Port; /// /// Virtual service gateway route target. /// public readonly Outputs.GatewayRouteSpecHttp2RouteActionTargetVirtualService VirtualService; [OutputConstructor] - private GatewayRouteSpecHttp2RouteActionTarget(Outputs.GatewayRouteSpecHttp2RouteActionTargetVirtualService virtualService) + private GatewayRouteSpecHttp2RouteActionTarget( + int? port, + + Outputs.GatewayRouteSpecHttp2RouteActionTargetVirtualService virtualService) { + Port = port; VirtualService = virtualService; } } diff --git a/sdk/dotnet/AppMesh/Outputs/GatewayRouteSpecHttp2RouteMatch.cs b/sdk/dotnet/AppMesh/Outputs/GatewayRouteSpecHttp2RouteMatch.cs index 8ecd6259038..921d6f464f2 100644 --- a/sdk/dotnet/AppMesh/Outputs/GatewayRouteSpecHttp2RouteMatch.cs +++ b/sdk/dotnet/AppMesh/Outputs/GatewayRouteSpecHttp2RouteMatch.cs @@ -13,30 +13,51 @@ namespace Pulumi.Aws.AppMesh.Outputs [OutputType] public sealed class GatewayRouteSpecHttp2RouteMatch { + /// + /// Client request headers to match on. + /// + public readonly ImmutableArray Headers; /// /// Host name to rewrite. /// public readonly Outputs.GatewayRouteSpecHttp2RouteMatchHostname? Hostname; /// - /// The port number to match from the request. + /// Client request path to match on. + /// + public readonly Outputs.GatewayRouteSpecHttp2RouteMatchPath? Path; + /// + /// The port number that corresponds to the target for Virtual Service provider port. This is required when the provider (router or node) of the Virtual Service has multiple listeners. /// public readonly int? Port; /// /// Specified beginning characters to rewrite. /// public readonly string? Prefix; + /// + /// Client request query parameters to match on. + /// + public readonly ImmutableArray QueryParameters; [OutputConstructor] private GatewayRouteSpecHttp2RouteMatch( + ImmutableArray headers, + Outputs.GatewayRouteSpecHttp2RouteMatchHostname? hostname, + Outputs.GatewayRouteSpecHttp2RouteMatchPath? path, + int? port, - string? prefix) + string? prefix, + + ImmutableArray queryParameters) { + Headers = headers; Hostname = hostname; + Path = path; Port = port; Prefix = prefix; + QueryParameters = queryParameters; } } } diff --git a/sdk/dotnet/AppMesh/Outputs/GatewayRouteSpecHttp2RouteMatchHeader.cs b/sdk/dotnet/AppMesh/Outputs/GatewayRouteSpecHttp2RouteMatchHeader.cs new file mode 100644 index 00000000000..fbbe31933ba --- /dev/null +++ b/sdk/dotnet/AppMesh/Outputs/GatewayRouteSpecHttp2RouteMatchHeader.cs @@ -0,0 +1,42 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.AppMesh.Outputs +{ + + [OutputType] + public sealed class GatewayRouteSpecHttp2RouteMatchHeader + { + /// + /// If `true`, the match is on the opposite of the `match` method and value. Default is `false`. + /// + public readonly bool? Invert; + /// + /// Method and value to match the header value sent with a request. Specify one match method. + /// + public readonly Outputs.GatewayRouteSpecHttp2RouteMatchHeaderMatch? Match; + /// + /// Name for the HTTP header in the client request that will be matched on. + /// + public readonly string Name; + + [OutputConstructor] + private GatewayRouteSpecHttp2RouteMatchHeader( + bool? invert, + + Outputs.GatewayRouteSpecHttp2RouteMatchHeaderMatch? match, + + string name) + { + Invert = invert; + Match = match; + Name = name; + } + } +} diff --git a/sdk/dotnet/AppMesh/Outputs/GatewayRouteSpecHttp2RouteMatchHeaderMatch.cs b/sdk/dotnet/AppMesh/Outputs/GatewayRouteSpecHttp2RouteMatchHeaderMatch.cs new file mode 100644 index 00000000000..269dcd4b354 --- /dev/null +++ b/sdk/dotnet/AppMesh/Outputs/GatewayRouteSpecHttp2RouteMatchHeaderMatch.cs @@ -0,0 +1,56 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.AppMesh.Outputs +{ + + [OutputType] + public sealed class GatewayRouteSpecHttp2RouteMatchHeaderMatch + { + /// + /// Header value sent by the client must match the specified value exactly. + /// + public readonly string? Exact; + /// + /// Specified beginning characters to rewrite. + /// + public readonly string? Prefix; + /// + /// Object that specifies the range of numbers that the header value sent by the client must be included in. + /// + public readonly Outputs.GatewayRouteSpecHttp2RouteMatchHeaderMatchRange? Range; + /// + /// Header value sent by the client must include the specified characters. + /// + public readonly string? Regex; + /// + /// Header value sent by the client must end with the specified characters. + /// + public readonly string? Suffix; + + [OutputConstructor] + private GatewayRouteSpecHttp2RouteMatchHeaderMatch( + string? exact, + + string? prefix, + + Outputs.GatewayRouteSpecHttp2RouteMatchHeaderMatchRange? range, + + string? regex, + + string? suffix) + { + Exact = exact; + Prefix = prefix; + Range = range; + Regex = regex; + Suffix = suffix; + } + } +} diff --git a/sdk/dotnet/AppMesh/Outputs/GatewayRouteSpecHttp2RouteMatchHeaderMatchRange.cs b/sdk/dotnet/AppMesh/Outputs/GatewayRouteSpecHttp2RouteMatchHeaderMatchRange.cs new file mode 100644 index 00000000000..c5068e24f7a --- /dev/null +++ b/sdk/dotnet/AppMesh/Outputs/GatewayRouteSpecHttp2RouteMatchHeaderMatchRange.cs @@ -0,0 +1,35 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.AppMesh.Outputs +{ + + [OutputType] + public sealed class GatewayRouteSpecHttp2RouteMatchHeaderMatchRange + { + /// + /// End of the range. + /// + public readonly int End; + /// + /// Start of the range. + /// + public readonly int Start; + + [OutputConstructor] + private GatewayRouteSpecHttp2RouteMatchHeaderMatchRange( + int end, + + int start) + { + End = end; + Start = start; + } + } +} diff --git a/sdk/dotnet/AppMesh/Outputs/GatewayRouteSpecHttp2RouteMatchPath.cs b/sdk/dotnet/AppMesh/Outputs/GatewayRouteSpecHttp2RouteMatchPath.cs new file mode 100644 index 00000000000..df86e640709 --- /dev/null +++ b/sdk/dotnet/AppMesh/Outputs/GatewayRouteSpecHttp2RouteMatchPath.cs @@ -0,0 +1,35 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.AppMesh.Outputs +{ + + [OutputType] + public sealed class GatewayRouteSpecHttp2RouteMatchPath + { + /// + /// The exact path to match on. + /// + public readonly string? Exact; + /// + /// The regex used to match the path. + /// + public readonly string? Regex; + + [OutputConstructor] + private GatewayRouteSpecHttp2RouteMatchPath( + string? exact, + + string? regex) + { + Exact = exact; + Regex = regex; + } + } +} diff --git a/sdk/dotnet/AppMesh/Outputs/GatewayRouteSpecHttp2RouteMatchQueryParameter.cs b/sdk/dotnet/AppMesh/Outputs/GatewayRouteSpecHttp2RouteMatchQueryParameter.cs new file mode 100644 index 00000000000..77ffe8bd083 --- /dev/null +++ b/sdk/dotnet/AppMesh/Outputs/GatewayRouteSpecHttp2RouteMatchQueryParameter.cs @@ -0,0 +1,35 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.AppMesh.Outputs +{ + + [OutputType] + public sealed class GatewayRouteSpecHttp2RouteMatchQueryParameter + { + /// + /// The query parameter to match on. + /// + public readonly Outputs.GatewayRouteSpecHttp2RouteMatchQueryParameterMatch? Match; + /// + /// Name for the query parameter that will be matched on. + /// + public readonly string Name; + + [OutputConstructor] + private GatewayRouteSpecHttp2RouteMatchQueryParameter( + Outputs.GatewayRouteSpecHttp2RouteMatchQueryParameterMatch? match, + + string name) + { + Match = match; + Name = name; + } + } +} diff --git a/sdk/dotnet/AppMesh/Outputs/GatewayRouteSpecHttp2RouteMatchQueryParameterMatch.cs b/sdk/dotnet/AppMesh/Outputs/GatewayRouteSpecHttp2RouteMatchQueryParameterMatch.cs new file mode 100644 index 00000000000..ff455b284f8 --- /dev/null +++ b/sdk/dotnet/AppMesh/Outputs/GatewayRouteSpecHttp2RouteMatchQueryParameterMatch.cs @@ -0,0 +1,27 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.AppMesh.Outputs +{ + + [OutputType] + public sealed class GatewayRouteSpecHttp2RouteMatchQueryParameterMatch + { + /// + /// Header value sent by the client must match the specified value exactly. + /// + public readonly string? Exact; + + [OutputConstructor] + private GatewayRouteSpecHttp2RouteMatchQueryParameterMatch(string? exact) + { + Exact = exact; + } + } +} diff --git a/sdk/dotnet/AppMesh/Outputs/GatewayRouteSpecHttpRouteActionTarget.cs b/sdk/dotnet/AppMesh/Outputs/GatewayRouteSpecHttpRouteActionTarget.cs index a6ea8483564..e064d127f00 100644 --- a/sdk/dotnet/AppMesh/Outputs/GatewayRouteSpecHttpRouteActionTarget.cs +++ b/sdk/dotnet/AppMesh/Outputs/GatewayRouteSpecHttpRouteActionTarget.cs @@ -13,14 +13,22 @@ namespace Pulumi.Aws.AppMesh.Outputs [OutputType] public sealed class GatewayRouteSpecHttpRouteActionTarget { + /// + /// The port number that corresponds to the target for Virtual Service provider port. This is required when the provider (router or node) of the Virtual Service has multiple listeners. + /// + public readonly int? Port; /// /// Virtual service gateway route target. /// public readonly Outputs.GatewayRouteSpecHttpRouteActionTargetVirtualService VirtualService; [OutputConstructor] - private GatewayRouteSpecHttpRouteActionTarget(Outputs.GatewayRouteSpecHttpRouteActionTargetVirtualService virtualService) + private GatewayRouteSpecHttpRouteActionTarget( + int? port, + + Outputs.GatewayRouteSpecHttpRouteActionTargetVirtualService virtualService) { + Port = port; VirtualService = virtualService; } } diff --git a/sdk/dotnet/AppMesh/Outputs/GatewayRouteSpecHttpRouteMatch.cs b/sdk/dotnet/AppMesh/Outputs/GatewayRouteSpecHttpRouteMatch.cs index 1601834baa3..6ab736b72ce 100644 --- a/sdk/dotnet/AppMesh/Outputs/GatewayRouteSpecHttpRouteMatch.cs +++ b/sdk/dotnet/AppMesh/Outputs/GatewayRouteSpecHttpRouteMatch.cs @@ -13,30 +13,51 @@ namespace Pulumi.Aws.AppMesh.Outputs [OutputType] public sealed class GatewayRouteSpecHttpRouteMatch { + /// + /// Client request headers to match on. + /// + public readonly ImmutableArray Headers; /// /// Host name to rewrite. /// public readonly Outputs.GatewayRouteSpecHttpRouteMatchHostname? Hostname; /// - /// The port number to match from the request. + /// Client request path to match on. + /// + public readonly Outputs.GatewayRouteSpecHttpRouteMatchPath? Path; + /// + /// The port number that corresponds to the target for Virtual Service provider port. This is required when the provider (router or node) of the Virtual Service has multiple listeners. /// public readonly int? Port; /// /// Specified beginning characters to rewrite. /// public readonly string? Prefix; + /// + /// Client request query parameters to match on. + /// + public readonly ImmutableArray QueryParameters; [OutputConstructor] private GatewayRouteSpecHttpRouteMatch( + ImmutableArray headers, + Outputs.GatewayRouteSpecHttpRouteMatchHostname? hostname, + Outputs.GatewayRouteSpecHttpRouteMatchPath? path, + int? port, - string? prefix) + string? prefix, + + ImmutableArray queryParameters) { + Headers = headers; Hostname = hostname; + Path = path; Port = port; Prefix = prefix; + QueryParameters = queryParameters; } } } diff --git a/sdk/dotnet/AppMesh/Outputs/GatewayRouteSpecHttpRouteMatchHeader.cs b/sdk/dotnet/AppMesh/Outputs/GatewayRouteSpecHttpRouteMatchHeader.cs new file mode 100644 index 00000000000..80b548726df --- /dev/null +++ b/sdk/dotnet/AppMesh/Outputs/GatewayRouteSpecHttpRouteMatchHeader.cs @@ -0,0 +1,42 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.AppMesh.Outputs +{ + + [OutputType] + public sealed class GatewayRouteSpecHttpRouteMatchHeader + { + /// + /// If `true`, the match is on the opposite of the `match` method and value. Default is `false`. + /// + public readonly bool? Invert; + /// + /// Method and value to match the header value sent with a request. Specify one match method. + /// + public readonly Outputs.GatewayRouteSpecHttpRouteMatchHeaderMatch? Match; + /// + /// Name for the HTTP header in the client request that will be matched on. + /// + public readonly string Name; + + [OutputConstructor] + private GatewayRouteSpecHttpRouteMatchHeader( + bool? invert, + + Outputs.GatewayRouteSpecHttpRouteMatchHeaderMatch? match, + + string name) + { + Invert = invert; + Match = match; + Name = name; + } + } +} diff --git a/sdk/dotnet/AppMesh/Outputs/GatewayRouteSpecHttpRouteMatchHeaderMatch.cs b/sdk/dotnet/AppMesh/Outputs/GatewayRouteSpecHttpRouteMatchHeaderMatch.cs new file mode 100644 index 00000000000..b2930a6945d --- /dev/null +++ b/sdk/dotnet/AppMesh/Outputs/GatewayRouteSpecHttpRouteMatchHeaderMatch.cs @@ -0,0 +1,56 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.AppMesh.Outputs +{ + + [OutputType] + public sealed class GatewayRouteSpecHttpRouteMatchHeaderMatch + { + /// + /// Header value sent by the client must match the specified value exactly. + /// + public readonly string? Exact; + /// + /// Specified beginning characters to rewrite. + /// + public readonly string? Prefix; + /// + /// Object that specifies the range of numbers that the header value sent by the client must be included in. + /// + public readonly Outputs.GatewayRouteSpecHttpRouteMatchHeaderMatchRange? Range; + /// + /// Header value sent by the client must include the specified characters. + /// + public readonly string? Regex; + /// + /// Header value sent by the client must end with the specified characters. + /// + public readonly string? Suffix; + + [OutputConstructor] + private GatewayRouteSpecHttpRouteMatchHeaderMatch( + string? exact, + + string? prefix, + + Outputs.GatewayRouteSpecHttpRouteMatchHeaderMatchRange? range, + + string? regex, + + string? suffix) + { + Exact = exact; + Prefix = prefix; + Range = range; + Regex = regex; + Suffix = suffix; + } + } +} diff --git a/sdk/dotnet/AppMesh/Outputs/GatewayRouteSpecHttpRouteMatchHeaderMatchRange.cs b/sdk/dotnet/AppMesh/Outputs/GatewayRouteSpecHttpRouteMatchHeaderMatchRange.cs new file mode 100644 index 00000000000..9eb9dca1572 --- /dev/null +++ b/sdk/dotnet/AppMesh/Outputs/GatewayRouteSpecHttpRouteMatchHeaderMatchRange.cs @@ -0,0 +1,35 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.AppMesh.Outputs +{ + + [OutputType] + public sealed class GatewayRouteSpecHttpRouteMatchHeaderMatchRange + { + /// + /// End of the range. + /// + public readonly int End; + /// + /// Start of the range. + /// + public readonly int Start; + + [OutputConstructor] + private GatewayRouteSpecHttpRouteMatchHeaderMatchRange( + int end, + + int start) + { + End = end; + Start = start; + } + } +} diff --git a/sdk/dotnet/AppMesh/Outputs/GatewayRouteSpecHttpRouteMatchPath.cs b/sdk/dotnet/AppMesh/Outputs/GatewayRouteSpecHttpRouteMatchPath.cs new file mode 100644 index 00000000000..739b354b57b --- /dev/null +++ b/sdk/dotnet/AppMesh/Outputs/GatewayRouteSpecHttpRouteMatchPath.cs @@ -0,0 +1,35 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.AppMesh.Outputs +{ + + [OutputType] + public sealed class GatewayRouteSpecHttpRouteMatchPath + { + /// + /// The exact path to match on. + /// + public readonly string? Exact; + /// + /// The regex used to match the path. + /// + public readonly string? Regex; + + [OutputConstructor] + private GatewayRouteSpecHttpRouteMatchPath( + string? exact, + + string? regex) + { + Exact = exact; + Regex = regex; + } + } +} diff --git a/sdk/dotnet/AppMesh/Outputs/GatewayRouteSpecHttpRouteMatchQueryParameter.cs b/sdk/dotnet/AppMesh/Outputs/GatewayRouteSpecHttpRouteMatchQueryParameter.cs new file mode 100644 index 00000000000..39b7e7aac7f --- /dev/null +++ b/sdk/dotnet/AppMesh/Outputs/GatewayRouteSpecHttpRouteMatchQueryParameter.cs @@ -0,0 +1,35 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.AppMesh.Outputs +{ + + [OutputType] + public sealed class GatewayRouteSpecHttpRouteMatchQueryParameter + { + /// + /// The query parameter to match on. + /// + public readonly Outputs.GatewayRouteSpecHttpRouteMatchQueryParameterMatch? Match; + /// + /// Name for the query parameter that will be matched on. + /// + public readonly string Name; + + [OutputConstructor] + private GatewayRouteSpecHttpRouteMatchQueryParameter( + Outputs.GatewayRouteSpecHttpRouteMatchQueryParameterMatch? match, + + string name) + { + Match = match; + Name = name; + } + } +} diff --git a/sdk/dotnet/AppMesh/Outputs/GatewayRouteSpecHttpRouteMatchQueryParameterMatch.cs b/sdk/dotnet/AppMesh/Outputs/GatewayRouteSpecHttpRouteMatchQueryParameterMatch.cs new file mode 100644 index 00000000000..b7d3db567a4 --- /dev/null +++ b/sdk/dotnet/AppMesh/Outputs/GatewayRouteSpecHttpRouteMatchQueryParameterMatch.cs @@ -0,0 +1,27 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.AppMesh.Outputs +{ + + [OutputType] + public sealed class GatewayRouteSpecHttpRouteMatchQueryParameterMatch + { + /// + /// Header value sent by the client must match the specified value exactly. + /// + public readonly string? Exact; + + [OutputConstructor] + private GatewayRouteSpecHttpRouteMatchQueryParameterMatch(string? exact) + { + Exact = exact; + } + } +} diff --git a/sdk/dotnet/AppMesh/Outputs/GetGatewayRouteSpecGrpcRouteActionResult.cs b/sdk/dotnet/AppMesh/Outputs/GetGatewayRouteSpecGrpcRouteActionResult.cs new file mode 100644 index 00000000000..539fe0de7e9 --- /dev/null +++ b/sdk/dotnet/AppMesh/Outputs/GetGatewayRouteSpecGrpcRouteActionResult.cs @@ -0,0 +1,24 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.AppMesh.Outputs +{ + + [OutputType] + public sealed class GetGatewayRouteSpecGrpcRouteActionResult + { + public readonly ImmutableArray Targets; + + [OutputConstructor] + private GetGatewayRouteSpecGrpcRouteActionResult(ImmutableArray targets) + { + Targets = targets; + } + } +} diff --git a/sdk/dotnet/AppMesh/Outputs/GetGatewayRouteSpecGrpcRouteActionTargetResult.cs b/sdk/dotnet/AppMesh/Outputs/GetGatewayRouteSpecGrpcRouteActionTargetResult.cs new file mode 100644 index 00000000000..66f45c3d88c --- /dev/null +++ b/sdk/dotnet/AppMesh/Outputs/GetGatewayRouteSpecGrpcRouteActionTargetResult.cs @@ -0,0 +1,29 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.AppMesh.Outputs +{ + + [OutputType] + public sealed class GetGatewayRouteSpecGrpcRouteActionTargetResult + { + public readonly int Port; + public readonly ImmutableArray VirtualServices; + + [OutputConstructor] + private GetGatewayRouteSpecGrpcRouteActionTargetResult( + int port, + + ImmutableArray virtualServices) + { + Port = port; + VirtualServices = virtualServices; + } + } +} diff --git a/sdk/dotnet/AppMesh/Outputs/GetGatewayRouteSpecGrpcRouteActionTargetVirtualServiceResult.cs b/sdk/dotnet/AppMesh/Outputs/GetGatewayRouteSpecGrpcRouteActionTargetVirtualServiceResult.cs new file mode 100644 index 00000000000..9f34630376c --- /dev/null +++ b/sdk/dotnet/AppMesh/Outputs/GetGatewayRouteSpecGrpcRouteActionTargetVirtualServiceResult.cs @@ -0,0 +1,24 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.AppMesh.Outputs +{ + + [OutputType] + public sealed class GetGatewayRouteSpecGrpcRouteActionTargetVirtualServiceResult + { + public readonly string VirtualServiceName; + + [OutputConstructor] + private GetGatewayRouteSpecGrpcRouteActionTargetVirtualServiceResult(string virtualServiceName) + { + VirtualServiceName = virtualServiceName; + } + } +} diff --git a/sdk/dotnet/AppMesh/Outputs/GetGatewayRouteSpecGrpcRouteMatchResult.cs b/sdk/dotnet/AppMesh/Outputs/GetGatewayRouteSpecGrpcRouteMatchResult.cs new file mode 100644 index 00000000000..284f054a044 --- /dev/null +++ b/sdk/dotnet/AppMesh/Outputs/GetGatewayRouteSpecGrpcRouteMatchResult.cs @@ -0,0 +1,29 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.AppMesh.Outputs +{ + + [OutputType] + public sealed class GetGatewayRouteSpecGrpcRouteMatchResult + { + public readonly int Port; + public readonly string ServiceName; + + [OutputConstructor] + private GetGatewayRouteSpecGrpcRouteMatchResult( + int port, + + string serviceName) + { + Port = port; + ServiceName = serviceName; + } + } +} diff --git a/sdk/dotnet/AppMesh/Outputs/GetGatewayRouteSpecGrpcRouteResult.cs b/sdk/dotnet/AppMesh/Outputs/GetGatewayRouteSpecGrpcRouteResult.cs new file mode 100644 index 00000000000..a08ae5ca8b5 --- /dev/null +++ b/sdk/dotnet/AppMesh/Outputs/GetGatewayRouteSpecGrpcRouteResult.cs @@ -0,0 +1,29 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.AppMesh.Outputs +{ + + [OutputType] + public sealed class GetGatewayRouteSpecGrpcRouteResult + { + public readonly ImmutableArray Actions; + public readonly ImmutableArray Matches; + + [OutputConstructor] + private GetGatewayRouteSpecGrpcRouteResult( + ImmutableArray actions, + + ImmutableArray matches) + { + Actions = actions; + Matches = matches; + } + } +} diff --git a/sdk/dotnet/AppMesh/Outputs/GetGatewayRouteSpecHttp2RouteActionResult.cs b/sdk/dotnet/AppMesh/Outputs/GetGatewayRouteSpecHttp2RouteActionResult.cs new file mode 100644 index 00000000000..17a7ea9ccc5 --- /dev/null +++ b/sdk/dotnet/AppMesh/Outputs/GetGatewayRouteSpecHttp2RouteActionResult.cs @@ -0,0 +1,29 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.AppMesh.Outputs +{ + + [OutputType] + public sealed class GetGatewayRouteSpecHttp2RouteActionResult + { + public readonly ImmutableArray Rewrites; + public readonly ImmutableArray Targets; + + [OutputConstructor] + private GetGatewayRouteSpecHttp2RouteActionResult( + ImmutableArray rewrites, + + ImmutableArray targets) + { + Rewrites = rewrites; + Targets = targets; + } + } +} diff --git a/sdk/dotnet/AppMesh/Outputs/GetGatewayRouteSpecHttp2RouteActionRewriteHostnameResult.cs b/sdk/dotnet/AppMesh/Outputs/GetGatewayRouteSpecHttp2RouteActionRewriteHostnameResult.cs new file mode 100644 index 00000000000..a636ec6f9cc --- /dev/null +++ b/sdk/dotnet/AppMesh/Outputs/GetGatewayRouteSpecHttp2RouteActionRewriteHostnameResult.cs @@ -0,0 +1,24 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.AppMesh.Outputs +{ + + [OutputType] + public sealed class GetGatewayRouteSpecHttp2RouteActionRewriteHostnameResult + { + public readonly string DefaultTargetHostname; + + [OutputConstructor] + private GetGatewayRouteSpecHttp2RouteActionRewriteHostnameResult(string defaultTargetHostname) + { + DefaultTargetHostname = defaultTargetHostname; + } + } +} diff --git a/sdk/dotnet/AppMesh/Outputs/GetGatewayRouteSpecHttp2RouteActionRewritePrefixResult.cs b/sdk/dotnet/AppMesh/Outputs/GetGatewayRouteSpecHttp2RouteActionRewritePrefixResult.cs new file mode 100644 index 00000000000..7fde44d1b5a --- /dev/null +++ b/sdk/dotnet/AppMesh/Outputs/GetGatewayRouteSpecHttp2RouteActionRewritePrefixResult.cs @@ -0,0 +1,29 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.AppMesh.Outputs +{ + + [OutputType] + public sealed class GetGatewayRouteSpecHttp2RouteActionRewritePrefixResult + { + public readonly string DefaultPrefix; + public readonly string Value; + + [OutputConstructor] + private GetGatewayRouteSpecHttp2RouteActionRewritePrefixResult( + string defaultPrefix, + + string value) + { + DefaultPrefix = defaultPrefix; + Value = value; + } + } +} diff --git a/sdk/dotnet/AppMesh/Outputs/GetGatewayRouteSpecHttp2RouteActionRewriteResult.cs b/sdk/dotnet/AppMesh/Outputs/GetGatewayRouteSpecHttp2RouteActionRewriteResult.cs new file mode 100644 index 00000000000..df587adccb8 --- /dev/null +++ b/sdk/dotnet/AppMesh/Outputs/GetGatewayRouteSpecHttp2RouteActionRewriteResult.cs @@ -0,0 +1,29 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.AppMesh.Outputs +{ + + [OutputType] + public sealed class GetGatewayRouteSpecHttp2RouteActionRewriteResult + { + public readonly ImmutableArray Hostnames; + public readonly ImmutableArray Prefixes; + + [OutputConstructor] + private GetGatewayRouteSpecHttp2RouteActionRewriteResult( + ImmutableArray hostnames, + + ImmutableArray prefixes) + { + Hostnames = hostnames; + Prefixes = prefixes; + } + } +} diff --git a/sdk/dotnet/AppMesh/Outputs/GetGatewayRouteSpecHttp2RouteActionTargetResult.cs b/sdk/dotnet/AppMesh/Outputs/GetGatewayRouteSpecHttp2RouteActionTargetResult.cs new file mode 100644 index 00000000000..0f953fb73d5 --- /dev/null +++ b/sdk/dotnet/AppMesh/Outputs/GetGatewayRouteSpecHttp2RouteActionTargetResult.cs @@ -0,0 +1,29 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.AppMesh.Outputs +{ + + [OutputType] + public sealed class GetGatewayRouteSpecHttp2RouteActionTargetResult + { + public readonly int Port; + public readonly ImmutableArray VirtualServices; + + [OutputConstructor] + private GetGatewayRouteSpecHttp2RouteActionTargetResult( + int port, + + ImmutableArray virtualServices) + { + Port = port; + VirtualServices = virtualServices; + } + } +} diff --git a/sdk/dotnet/AppMesh/Outputs/GetGatewayRouteSpecHttp2RouteActionTargetVirtualServiceResult.cs b/sdk/dotnet/AppMesh/Outputs/GetGatewayRouteSpecHttp2RouteActionTargetVirtualServiceResult.cs new file mode 100644 index 00000000000..18ce9b57e34 --- /dev/null +++ b/sdk/dotnet/AppMesh/Outputs/GetGatewayRouteSpecHttp2RouteActionTargetVirtualServiceResult.cs @@ -0,0 +1,24 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.AppMesh.Outputs +{ + + [OutputType] + public sealed class GetGatewayRouteSpecHttp2RouteActionTargetVirtualServiceResult + { + public readonly string VirtualServiceName; + + [OutputConstructor] + private GetGatewayRouteSpecHttp2RouteActionTargetVirtualServiceResult(string virtualServiceName) + { + VirtualServiceName = virtualServiceName; + } + } +} diff --git a/sdk/dotnet/AppMesh/Outputs/GetGatewayRouteSpecHttp2RouteMatchHeaderMatchRangeResult.cs b/sdk/dotnet/AppMesh/Outputs/GetGatewayRouteSpecHttp2RouteMatchHeaderMatchRangeResult.cs new file mode 100644 index 00000000000..8975ce3a558 --- /dev/null +++ b/sdk/dotnet/AppMesh/Outputs/GetGatewayRouteSpecHttp2RouteMatchHeaderMatchRangeResult.cs @@ -0,0 +1,29 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.AppMesh.Outputs +{ + + [OutputType] + public sealed class GetGatewayRouteSpecHttp2RouteMatchHeaderMatchRangeResult + { + public readonly int End; + public readonly int Start; + + [OutputConstructor] + private GetGatewayRouteSpecHttp2RouteMatchHeaderMatchRangeResult( + int end, + + int start) + { + End = end; + Start = start; + } + } +} diff --git a/sdk/dotnet/AppMesh/Outputs/GetGatewayRouteSpecHttp2RouteMatchHeaderMatchResult.cs b/sdk/dotnet/AppMesh/Outputs/GetGatewayRouteSpecHttp2RouteMatchHeaderMatchResult.cs new file mode 100644 index 00000000000..a1162b7c282 --- /dev/null +++ b/sdk/dotnet/AppMesh/Outputs/GetGatewayRouteSpecHttp2RouteMatchHeaderMatchResult.cs @@ -0,0 +1,41 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.AppMesh.Outputs +{ + + [OutputType] + public sealed class GetGatewayRouteSpecHttp2RouteMatchHeaderMatchResult + { + public readonly string Exact; + public readonly string Prefix; + public readonly ImmutableArray Ranges; + public readonly string Regex; + public readonly string Suffix; + + [OutputConstructor] + private GetGatewayRouteSpecHttp2RouteMatchHeaderMatchResult( + string exact, + + string prefix, + + ImmutableArray ranges, + + string regex, + + string suffix) + { + Exact = exact; + Prefix = prefix; + Ranges = ranges; + Regex = regex; + Suffix = suffix; + } + } +} diff --git a/sdk/dotnet/AppMesh/Outputs/GetGatewayRouteSpecHttp2RouteMatchHeaderResult.cs b/sdk/dotnet/AppMesh/Outputs/GetGatewayRouteSpecHttp2RouteMatchHeaderResult.cs new file mode 100644 index 00000000000..afe1c9e0fe8 --- /dev/null +++ b/sdk/dotnet/AppMesh/Outputs/GetGatewayRouteSpecHttp2RouteMatchHeaderResult.cs @@ -0,0 +1,36 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.AppMesh.Outputs +{ + + [OutputType] + public sealed class GetGatewayRouteSpecHttp2RouteMatchHeaderResult + { + public readonly bool Invert; + public readonly ImmutableArray Matches; + /// + /// Name of the gateway route. + /// + public readonly string Name; + + [OutputConstructor] + private GetGatewayRouteSpecHttp2RouteMatchHeaderResult( + bool invert, + + ImmutableArray matches, + + string name) + { + Invert = invert; + Matches = matches; + Name = name; + } + } +} diff --git a/sdk/dotnet/AppMesh/Outputs/GetGatewayRouteSpecHttp2RouteMatchHostnameResult.cs b/sdk/dotnet/AppMesh/Outputs/GetGatewayRouteSpecHttp2RouteMatchHostnameResult.cs new file mode 100644 index 00000000000..49f86b768fd --- /dev/null +++ b/sdk/dotnet/AppMesh/Outputs/GetGatewayRouteSpecHttp2RouteMatchHostnameResult.cs @@ -0,0 +1,29 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.AppMesh.Outputs +{ + + [OutputType] + public sealed class GetGatewayRouteSpecHttp2RouteMatchHostnameResult + { + public readonly string Exact; + public readonly string Suffix; + + [OutputConstructor] + private GetGatewayRouteSpecHttp2RouteMatchHostnameResult( + string exact, + + string suffix) + { + Exact = exact; + Suffix = suffix; + } + } +} diff --git a/sdk/dotnet/AppMesh/Outputs/GetGatewayRouteSpecHttp2RouteMatchPathResult.cs b/sdk/dotnet/AppMesh/Outputs/GetGatewayRouteSpecHttp2RouteMatchPathResult.cs new file mode 100644 index 00000000000..08adc09493c --- /dev/null +++ b/sdk/dotnet/AppMesh/Outputs/GetGatewayRouteSpecHttp2RouteMatchPathResult.cs @@ -0,0 +1,29 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.AppMesh.Outputs +{ + + [OutputType] + public sealed class GetGatewayRouteSpecHttp2RouteMatchPathResult + { + public readonly string Exact; + public readonly string Regex; + + [OutputConstructor] + private GetGatewayRouteSpecHttp2RouteMatchPathResult( + string exact, + + string regex) + { + Exact = exact; + Regex = regex; + } + } +} diff --git a/sdk/dotnet/AppMesh/Outputs/GetGatewayRouteSpecHttp2RouteMatchQueryParameterMatchResult.cs b/sdk/dotnet/AppMesh/Outputs/GetGatewayRouteSpecHttp2RouteMatchQueryParameterMatchResult.cs new file mode 100644 index 00000000000..3ca935e6522 --- /dev/null +++ b/sdk/dotnet/AppMesh/Outputs/GetGatewayRouteSpecHttp2RouteMatchQueryParameterMatchResult.cs @@ -0,0 +1,24 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.AppMesh.Outputs +{ + + [OutputType] + public sealed class GetGatewayRouteSpecHttp2RouteMatchQueryParameterMatchResult + { + public readonly string Exact; + + [OutputConstructor] + private GetGatewayRouteSpecHttp2RouteMatchQueryParameterMatchResult(string exact) + { + Exact = exact; + } + } +} diff --git a/sdk/dotnet/AppMesh/Outputs/GetGatewayRouteSpecHttp2RouteMatchQueryParameterResult.cs b/sdk/dotnet/AppMesh/Outputs/GetGatewayRouteSpecHttp2RouteMatchQueryParameterResult.cs new file mode 100644 index 00000000000..e16e195e1f1 --- /dev/null +++ b/sdk/dotnet/AppMesh/Outputs/GetGatewayRouteSpecHttp2RouteMatchQueryParameterResult.cs @@ -0,0 +1,32 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.AppMesh.Outputs +{ + + [OutputType] + public sealed class GetGatewayRouteSpecHttp2RouteMatchQueryParameterResult + { + public readonly ImmutableArray Matches; + /// + /// Name of the gateway route. + /// + public readonly string Name; + + [OutputConstructor] + private GetGatewayRouteSpecHttp2RouteMatchQueryParameterResult( + ImmutableArray matches, + + string name) + { + Matches = matches; + Name = name; + } + } +} diff --git a/sdk/dotnet/AppMesh/Outputs/GetGatewayRouteSpecHttp2RouteMatchResult.cs b/sdk/dotnet/AppMesh/Outputs/GetGatewayRouteSpecHttp2RouteMatchResult.cs new file mode 100644 index 00000000000..94d81917afc --- /dev/null +++ b/sdk/dotnet/AppMesh/Outputs/GetGatewayRouteSpecHttp2RouteMatchResult.cs @@ -0,0 +1,45 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.AppMesh.Outputs +{ + + [OutputType] + public sealed class GetGatewayRouteSpecHttp2RouteMatchResult + { + public readonly ImmutableArray Headers; + public readonly ImmutableArray Hostnames; + public readonly ImmutableArray Paths; + public readonly int Port; + public readonly string Prefix; + public readonly ImmutableArray QueryParameters; + + [OutputConstructor] + private GetGatewayRouteSpecHttp2RouteMatchResult( + ImmutableArray headers, + + ImmutableArray hostnames, + + ImmutableArray paths, + + int port, + + string prefix, + + ImmutableArray queryParameters) + { + Headers = headers; + Hostnames = hostnames; + Paths = paths; + Port = port; + Prefix = prefix; + QueryParameters = queryParameters; + } + } +} diff --git a/sdk/dotnet/AppMesh/Outputs/GetGatewayRouteSpecHttp2RouteResult.cs b/sdk/dotnet/AppMesh/Outputs/GetGatewayRouteSpecHttp2RouteResult.cs new file mode 100644 index 00000000000..6a72e2eb2ff --- /dev/null +++ b/sdk/dotnet/AppMesh/Outputs/GetGatewayRouteSpecHttp2RouteResult.cs @@ -0,0 +1,29 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.AppMesh.Outputs +{ + + [OutputType] + public sealed class GetGatewayRouteSpecHttp2RouteResult + { + public readonly ImmutableArray Actions; + public readonly ImmutableArray Matches; + + [OutputConstructor] + private GetGatewayRouteSpecHttp2RouteResult( + ImmutableArray actions, + + ImmutableArray matches) + { + Actions = actions; + Matches = matches; + } + } +} diff --git a/sdk/dotnet/AppMesh/Outputs/GetGatewayRouteSpecHttpRouteActionResult.cs b/sdk/dotnet/AppMesh/Outputs/GetGatewayRouteSpecHttpRouteActionResult.cs new file mode 100644 index 00000000000..4626d18ab0a --- /dev/null +++ b/sdk/dotnet/AppMesh/Outputs/GetGatewayRouteSpecHttpRouteActionResult.cs @@ -0,0 +1,29 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.AppMesh.Outputs +{ + + [OutputType] + public sealed class GetGatewayRouteSpecHttpRouteActionResult + { + public readonly ImmutableArray Rewrites; + public readonly ImmutableArray Targets; + + [OutputConstructor] + private GetGatewayRouteSpecHttpRouteActionResult( + ImmutableArray rewrites, + + ImmutableArray targets) + { + Rewrites = rewrites; + Targets = targets; + } + } +} diff --git a/sdk/dotnet/AppMesh/Outputs/GetGatewayRouteSpecHttpRouteActionRewriteHostnameResult.cs b/sdk/dotnet/AppMesh/Outputs/GetGatewayRouteSpecHttpRouteActionRewriteHostnameResult.cs new file mode 100644 index 00000000000..0fcf4143b15 --- /dev/null +++ b/sdk/dotnet/AppMesh/Outputs/GetGatewayRouteSpecHttpRouteActionRewriteHostnameResult.cs @@ -0,0 +1,24 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.AppMesh.Outputs +{ + + [OutputType] + public sealed class GetGatewayRouteSpecHttpRouteActionRewriteHostnameResult + { + public readonly string DefaultTargetHostname; + + [OutputConstructor] + private GetGatewayRouteSpecHttpRouteActionRewriteHostnameResult(string defaultTargetHostname) + { + DefaultTargetHostname = defaultTargetHostname; + } + } +} diff --git a/sdk/dotnet/AppMesh/Outputs/GetGatewayRouteSpecHttpRouteActionRewritePrefixResult.cs b/sdk/dotnet/AppMesh/Outputs/GetGatewayRouteSpecHttpRouteActionRewritePrefixResult.cs new file mode 100644 index 00000000000..b9f7ef294ed --- /dev/null +++ b/sdk/dotnet/AppMesh/Outputs/GetGatewayRouteSpecHttpRouteActionRewritePrefixResult.cs @@ -0,0 +1,29 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.AppMesh.Outputs +{ + + [OutputType] + public sealed class GetGatewayRouteSpecHttpRouteActionRewritePrefixResult + { + public readonly string DefaultPrefix; + public readonly string Value; + + [OutputConstructor] + private GetGatewayRouteSpecHttpRouteActionRewritePrefixResult( + string defaultPrefix, + + string value) + { + DefaultPrefix = defaultPrefix; + Value = value; + } + } +} diff --git a/sdk/dotnet/AppMesh/Outputs/GetGatewayRouteSpecHttpRouteActionRewriteResult.cs b/sdk/dotnet/AppMesh/Outputs/GetGatewayRouteSpecHttpRouteActionRewriteResult.cs new file mode 100644 index 00000000000..0c67b3764aa --- /dev/null +++ b/sdk/dotnet/AppMesh/Outputs/GetGatewayRouteSpecHttpRouteActionRewriteResult.cs @@ -0,0 +1,29 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.AppMesh.Outputs +{ + + [OutputType] + public sealed class GetGatewayRouteSpecHttpRouteActionRewriteResult + { + public readonly ImmutableArray Hostnames; + public readonly ImmutableArray Prefixes; + + [OutputConstructor] + private GetGatewayRouteSpecHttpRouteActionRewriteResult( + ImmutableArray hostnames, + + ImmutableArray prefixes) + { + Hostnames = hostnames; + Prefixes = prefixes; + } + } +} diff --git a/sdk/dotnet/AppMesh/Outputs/GetGatewayRouteSpecHttpRouteActionTargetResult.cs b/sdk/dotnet/AppMesh/Outputs/GetGatewayRouteSpecHttpRouteActionTargetResult.cs new file mode 100644 index 00000000000..afab2cf4dcf --- /dev/null +++ b/sdk/dotnet/AppMesh/Outputs/GetGatewayRouteSpecHttpRouteActionTargetResult.cs @@ -0,0 +1,29 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.AppMesh.Outputs +{ + + [OutputType] + public sealed class GetGatewayRouteSpecHttpRouteActionTargetResult + { + public readonly int Port; + public readonly ImmutableArray VirtualServices; + + [OutputConstructor] + private GetGatewayRouteSpecHttpRouteActionTargetResult( + int port, + + ImmutableArray virtualServices) + { + Port = port; + VirtualServices = virtualServices; + } + } +} diff --git a/sdk/dotnet/AppMesh/Outputs/GetGatewayRouteSpecHttpRouteActionTargetVirtualServiceResult.cs b/sdk/dotnet/AppMesh/Outputs/GetGatewayRouteSpecHttpRouteActionTargetVirtualServiceResult.cs new file mode 100644 index 00000000000..9df87eddcd8 --- /dev/null +++ b/sdk/dotnet/AppMesh/Outputs/GetGatewayRouteSpecHttpRouteActionTargetVirtualServiceResult.cs @@ -0,0 +1,24 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.AppMesh.Outputs +{ + + [OutputType] + public sealed class GetGatewayRouteSpecHttpRouteActionTargetVirtualServiceResult + { + public readonly string VirtualServiceName; + + [OutputConstructor] + private GetGatewayRouteSpecHttpRouteActionTargetVirtualServiceResult(string virtualServiceName) + { + VirtualServiceName = virtualServiceName; + } + } +} diff --git a/sdk/dotnet/AppMesh/Outputs/GetGatewayRouteSpecHttpRouteMatchHeaderMatchRangeResult.cs b/sdk/dotnet/AppMesh/Outputs/GetGatewayRouteSpecHttpRouteMatchHeaderMatchRangeResult.cs new file mode 100644 index 00000000000..143db087e51 --- /dev/null +++ b/sdk/dotnet/AppMesh/Outputs/GetGatewayRouteSpecHttpRouteMatchHeaderMatchRangeResult.cs @@ -0,0 +1,29 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.AppMesh.Outputs +{ + + [OutputType] + public sealed class GetGatewayRouteSpecHttpRouteMatchHeaderMatchRangeResult + { + public readonly int End; + public readonly int Start; + + [OutputConstructor] + private GetGatewayRouteSpecHttpRouteMatchHeaderMatchRangeResult( + int end, + + int start) + { + End = end; + Start = start; + } + } +} diff --git a/sdk/dotnet/AppMesh/Outputs/GetGatewayRouteSpecHttpRouteMatchHeaderMatchResult.cs b/sdk/dotnet/AppMesh/Outputs/GetGatewayRouteSpecHttpRouteMatchHeaderMatchResult.cs new file mode 100644 index 00000000000..d918566f6b0 --- /dev/null +++ b/sdk/dotnet/AppMesh/Outputs/GetGatewayRouteSpecHttpRouteMatchHeaderMatchResult.cs @@ -0,0 +1,41 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.AppMesh.Outputs +{ + + [OutputType] + public sealed class GetGatewayRouteSpecHttpRouteMatchHeaderMatchResult + { + public readonly string Exact; + public readonly string Prefix; + public readonly ImmutableArray Ranges; + public readonly string Regex; + public readonly string Suffix; + + [OutputConstructor] + private GetGatewayRouteSpecHttpRouteMatchHeaderMatchResult( + string exact, + + string prefix, + + ImmutableArray ranges, + + string regex, + + string suffix) + { + Exact = exact; + Prefix = prefix; + Ranges = ranges; + Regex = regex; + Suffix = suffix; + } + } +} diff --git a/sdk/dotnet/AppMesh/Outputs/GetGatewayRouteSpecHttpRouteMatchHeaderResult.cs b/sdk/dotnet/AppMesh/Outputs/GetGatewayRouteSpecHttpRouteMatchHeaderResult.cs new file mode 100644 index 00000000000..2007f8c29ca --- /dev/null +++ b/sdk/dotnet/AppMesh/Outputs/GetGatewayRouteSpecHttpRouteMatchHeaderResult.cs @@ -0,0 +1,36 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.AppMesh.Outputs +{ + + [OutputType] + public sealed class GetGatewayRouteSpecHttpRouteMatchHeaderResult + { + public readonly bool Invert; + public readonly ImmutableArray Matches; + /// + /// Name of the gateway route. + /// + public readonly string Name; + + [OutputConstructor] + private GetGatewayRouteSpecHttpRouteMatchHeaderResult( + bool invert, + + ImmutableArray matches, + + string name) + { + Invert = invert; + Matches = matches; + Name = name; + } + } +} diff --git a/sdk/dotnet/AppMesh/Outputs/GetGatewayRouteSpecHttpRouteMatchHostnameResult.cs b/sdk/dotnet/AppMesh/Outputs/GetGatewayRouteSpecHttpRouteMatchHostnameResult.cs new file mode 100644 index 00000000000..57f3b445010 --- /dev/null +++ b/sdk/dotnet/AppMesh/Outputs/GetGatewayRouteSpecHttpRouteMatchHostnameResult.cs @@ -0,0 +1,29 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.AppMesh.Outputs +{ + + [OutputType] + public sealed class GetGatewayRouteSpecHttpRouteMatchHostnameResult + { + public readonly string Exact; + public readonly string Suffix; + + [OutputConstructor] + private GetGatewayRouteSpecHttpRouteMatchHostnameResult( + string exact, + + string suffix) + { + Exact = exact; + Suffix = suffix; + } + } +} diff --git a/sdk/dotnet/AppMesh/Outputs/GetGatewayRouteSpecHttpRouteMatchPathResult.cs b/sdk/dotnet/AppMesh/Outputs/GetGatewayRouteSpecHttpRouteMatchPathResult.cs new file mode 100644 index 00000000000..a1e6517fefc --- /dev/null +++ b/sdk/dotnet/AppMesh/Outputs/GetGatewayRouteSpecHttpRouteMatchPathResult.cs @@ -0,0 +1,29 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.AppMesh.Outputs +{ + + [OutputType] + public sealed class GetGatewayRouteSpecHttpRouteMatchPathResult + { + public readonly string Exact; + public readonly string Regex; + + [OutputConstructor] + private GetGatewayRouteSpecHttpRouteMatchPathResult( + string exact, + + string regex) + { + Exact = exact; + Regex = regex; + } + } +} diff --git a/sdk/dotnet/AppMesh/Outputs/GetGatewayRouteSpecHttpRouteMatchQueryParameterMatchResult.cs b/sdk/dotnet/AppMesh/Outputs/GetGatewayRouteSpecHttpRouteMatchQueryParameterMatchResult.cs new file mode 100644 index 00000000000..6e5febe6f0e --- /dev/null +++ b/sdk/dotnet/AppMesh/Outputs/GetGatewayRouteSpecHttpRouteMatchQueryParameterMatchResult.cs @@ -0,0 +1,24 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.AppMesh.Outputs +{ + + [OutputType] + public sealed class GetGatewayRouteSpecHttpRouteMatchQueryParameterMatchResult + { + public readonly string Exact; + + [OutputConstructor] + private GetGatewayRouteSpecHttpRouteMatchQueryParameterMatchResult(string exact) + { + Exact = exact; + } + } +} diff --git a/sdk/dotnet/AppMesh/Outputs/GetGatewayRouteSpecHttpRouteMatchQueryParameterResult.cs b/sdk/dotnet/AppMesh/Outputs/GetGatewayRouteSpecHttpRouteMatchQueryParameterResult.cs new file mode 100644 index 00000000000..93adf8c2a5b --- /dev/null +++ b/sdk/dotnet/AppMesh/Outputs/GetGatewayRouteSpecHttpRouteMatchQueryParameterResult.cs @@ -0,0 +1,32 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.AppMesh.Outputs +{ + + [OutputType] + public sealed class GetGatewayRouteSpecHttpRouteMatchQueryParameterResult + { + public readonly ImmutableArray Matches; + /// + /// Name of the gateway route. + /// + public readonly string Name; + + [OutputConstructor] + private GetGatewayRouteSpecHttpRouteMatchQueryParameterResult( + ImmutableArray matches, + + string name) + { + Matches = matches; + Name = name; + } + } +} diff --git a/sdk/dotnet/AppMesh/Outputs/GetGatewayRouteSpecHttpRouteMatchResult.cs b/sdk/dotnet/AppMesh/Outputs/GetGatewayRouteSpecHttpRouteMatchResult.cs new file mode 100644 index 00000000000..41f89eb4b00 --- /dev/null +++ b/sdk/dotnet/AppMesh/Outputs/GetGatewayRouteSpecHttpRouteMatchResult.cs @@ -0,0 +1,45 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.AppMesh.Outputs +{ + + [OutputType] + public sealed class GetGatewayRouteSpecHttpRouteMatchResult + { + public readonly ImmutableArray Headers; + public readonly ImmutableArray Hostnames; + public readonly ImmutableArray Paths; + public readonly int Port; + public readonly string Prefix; + public readonly ImmutableArray QueryParameters; + + [OutputConstructor] + private GetGatewayRouteSpecHttpRouteMatchResult( + ImmutableArray headers, + + ImmutableArray hostnames, + + ImmutableArray paths, + + int port, + + string prefix, + + ImmutableArray queryParameters) + { + Headers = headers; + Hostnames = hostnames; + Paths = paths; + Port = port; + Prefix = prefix; + QueryParameters = queryParameters; + } + } +} diff --git a/sdk/dotnet/AppMesh/Outputs/GetGatewayRouteSpecHttpRouteResult.cs b/sdk/dotnet/AppMesh/Outputs/GetGatewayRouteSpecHttpRouteResult.cs new file mode 100644 index 00000000000..1a5539e0dc6 --- /dev/null +++ b/sdk/dotnet/AppMesh/Outputs/GetGatewayRouteSpecHttpRouteResult.cs @@ -0,0 +1,29 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.AppMesh.Outputs +{ + + [OutputType] + public sealed class GetGatewayRouteSpecHttpRouteResult + { + public readonly ImmutableArray Actions; + public readonly ImmutableArray Matches; + + [OutputConstructor] + private GetGatewayRouteSpecHttpRouteResult( + ImmutableArray actions, + + ImmutableArray matches) + { + Actions = actions; + Matches = matches; + } + } +} diff --git a/sdk/dotnet/AppMesh/Outputs/GetGatewayRouteSpecResult.cs b/sdk/dotnet/AppMesh/Outputs/GetGatewayRouteSpecResult.cs new file mode 100644 index 00000000000..bf6101bfb4a --- /dev/null +++ b/sdk/dotnet/AppMesh/Outputs/GetGatewayRouteSpecResult.cs @@ -0,0 +1,37 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.AppMesh.Outputs +{ + + [OutputType] + public sealed class GetGatewayRouteSpecResult + { + public readonly ImmutableArray GrpcRoutes; + public readonly ImmutableArray Http2Routes; + public readonly ImmutableArray HttpRoutes; + public readonly int Priority; + + [OutputConstructor] + private GetGatewayRouteSpecResult( + ImmutableArray grpcRoutes, + + ImmutableArray http2Routes, + + ImmutableArray httpRoutes, + + int priority) + { + GrpcRoutes = grpcRoutes; + Http2Routes = http2Routes; + HttpRoutes = httpRoutes; + Priority = priority; + } + } +} diff --git a/sdk/dotnet/AppMesh/Outputs/GetMeshSpecEgressFilterResult.cs b/sdk/dotnet/AppMesh/Outputs/GetMeshSpecEgressFilterResult.cs index de8c555795a..956296f278b 100644 --- a/sdk/dotnet/AppMesh/Outputs/GetMeshSpecEgressFilterResult.cs +++ b/sdk/dotnet/AppMesh/Outputs/GetMeshSpecEgressFilterResult.cs @@ -13,9 +13,6 @@ namespace Pulumi.Aws.AppMesh.Outputs [OutputType] public sealed class GetMeshSpecEgressFilterResult { - /// - /// Egress filter type. - /// public readonly string Type; [OutputConstructor] diff --git a/sdk/dotnet/AppMesh/Outputs/GetMeshSpecResult.cs b/sdk/dotnet/AppMesh/Outputs/GetMeshSpecResult.cs index f6a06be11cf..464529e8277 100644 --- a/sdk/dotnet/AppMesh/Outputs/GetMeshSpecResult.cs +++ b/sdk/dotnet/AppMesh/Outputs/GetMeshSpecResult.cs @@ -13,9 +13,6 @@ namespace Pulumi.Aws.AppMesh.Outputs [OutputType] public sealed class GetMeshSpecResult { - /// - /// Egress filter rules for the service mesh. - /// public readonly ImmutableArray EgressFilters; [OutputConstructor] diff --git a/sdk/dotnet/AppMesh/Outputs/GetRouteSpecGrpcRouteMatchMetadataResult.cs b/sdk/dotnet/AppMesh/Outputs/GetRouteSpecGrpcRouteMatchMetadataResult.cs index 9eb705c4d3a..32c47a50af1 100644 --- a/sdk/dotnet/AppMesh/Outputs/GetRouteSpecGrpcRouteMatchMetadataResult.cs +++ b/sdk/dotnet/AppMesh/Outputs/GetRouteSpecGrpcRouteMatchMetadataResult.cs @@ -14,9 +14,6 @@ namespace Pulumi.Aws.AppMesh.Outputs public sealed class GetRouteSpecGrpcRouteMatchMetadataResult { public readonly bool Invert; - /// - /// Criteria for determining an HTTP request match. - /// public readonly ImmutableArray Matches; /// /// Name of the route. diff --git a/sdk/dotnet/AppMesh/Outputs/GetRouteSpecGrpcRouteResult.cs b/sdk/dotnet/AppMesh/Outputs/GetRouteSpecGrpcRouteResult.cs index 86bdae3f923..1c13de041f5 100644 --- a/sdk/dotnet/AppMesh/Outputs/GetRouteSpecGrpcRouteResult.cs +++ b/sdk/dotnet/AppMesh/Outputs/GetRouteSpecGrpcRouteResult.cs @@ -13,21 +13,9 @@ namespace Pulumi.Aws.AppMesh.Outputs [OutputType] public sealed class GetRouteSpecGrpcRouteResult { - /// - /// Action to take if a match is determined. - /// public readonly ImmutableArray Actions; - /// - /// Criteria for determining an HTTP request match. - /// public readonly ImmutableArray Matches; - /// - /// Retry policy. - /// public readonly ImmutableArray RetryPolicies; - /// - /// Types of timeouts. - /// public readonly ImmutableArray Timeouts; [OutputConstructor] diff --git a/sdk/dotnet/AppMesh/Outputs/GetRouteSpecHttp2RouteMatchHeaderResult.cs b/sdk/dotnet/AppMesh/Outputs/GetRouteSpecHttp2RouteMatchHeaderResult.cs index d7bf1e711ef..154d9f67147 100644 --- a/sdk/dotnet/AppMesh/Outputs/GetRouteSpecHttp2RouteMatchHeaderResult.cs +++ b/sdk/dotnet/AppMesh/Outputs/GetRouteSpecHttp2RouteMatchHeaderResult.cs @@ -14,9 +14,6 @@ namespace Pulumi.Aws.AppMesh.Outputs public sealed class GetRouteSpecHttp2RouteMatchHeaderResult { public readonly bool Invert; - /// - /// Criteria for determining an HTTP request match. - /// public readonly ImmutableArray Matches; /// /// Name of the route. diff --git a/sdk/dotnet/AppMesh/Outputs/GetRouteSpecHttp2RouteMatchPathResult.cs b/sdk/dotnet/AppMesh/Outputs/GetRouteSpecHttp2RouteMatchPathResult.cs new file mode 100644 index 00000000000..157c5fee906 --- /dev/null +++ b/sdk/dotnet/AppMesh/Outputs/GetRouteSpecHttp2RouteMatchPathResult.cs @@ -0,0 +1,29 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.AppMesh.Outputs +{ + + [OutputType] + public sealed class GetRouteSpecHttp2RouteMatchPathResult + { + public readonly string Exact; + public readonly string Regex; + + [OutputConstructor] + private GetRouteSpecHttp2RouteMatchPathResult( + string exact, + + string regex) + { + Exact = exact; + Regex = regex; + } + } +} diff --git a/sdk/dotnet/AppMesh/Outputs/GetRouteSpecHttp2RouteMatchQueryParameterMatchResult.cs b/sdk/dotnet/AppMesh/Outputs/GetRouteSpecHttp2RouteMatchQueryParameterMatchResult.cs new file mode 100644 index 00000000000..33097c9efd1 --- /dev/null +++ b/sdk/dotnet/AppMesh/Outputs/GetRouteSpecHttp2RouteMatchQueryParameterMatchResult.cs @@ -0,0 +1,24 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.AppMesh.Outputs +{ + + [OutputType] + public sealed class GetRouteSpecHttp2RouteMatchQueryParameterMatchResult + { + public readonly string Exact; + + [OutputConstructor] + private GetRouteSpecHttp2RouteMatchQueryParameterMatchResult(string exact) + { + Exact = exact; + } + } +} diff --git a/sdk/dotnet/AppMesh/Outputs/GetRouteSpecHttp2RouteMatchQueryParameterResult.cs b/sdk/dotnet/AppMesh/Outputs/GetRouteSpecHttp2RouteMatchQueryParameterResult.cs new file mode 100644 index 00000000000..3ba98b75c5e --- /dev/null +++ b/sdk/dotnet/AppMesh/Outputs/GetRouteSpecHttp2RouteMatchQueryParameterResult.cs @@ -0,0 +1,32 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.AppMesh.Outputs +{ + + [OutputType] + public sealed class GetRouteSpecHttp2RouteMatchQueryParameterResult + { + public readonly ImmutableArray Matches; + /// + /// Name of the route. + /// + public readonly string Name; + + [OutputConstructor] + private GetRouteSpecHttp2RouteMatchQueryParameterResult( + ImmutableArray matches, + + string name) + { + Matches = matches; + Name = name; + } + } +} diff --git a/sdk/dotnet/AppMesh/Outputs/GetRouteSpecHttp2RouteMatchResult.cs b/sdk/dotnet/AppMesh/Outputs/GetRouteSpecHttp2RouteMatchResult.cs index cf8c51f8d7d..36f658e5bc6 100644 --- a/sdk/dotnet/AppMesh/Outputs/GetRouteSpecHttp2RouteMatchResult.cs +++ b/sdk/dotnet/AppMesh/Outputs/GetRouteSpecHttp2RouteMatchResult.cs @@ -15,8 +15,10 @@ public sealed class GetRouteSpecHttp2RouteMatchResult { public readonly ImmutableArray Headers; public readonly string Method; + public readonly ImmutableArray Paths; public readonly int Port; public readonly string Prefix; + public readonly ImmutableArray QueryParameters; public readonly string Scheme; [OutputConstructor] @@ -25,16 +27,22 @@ private GetRouteSpecHttp2RouteMatchResult( string method, + ImmutableArray paths, + int port, string prefix, + ImmutableArray queryParameters, + string scheme) { Headers = headers; Method = method; + Paths = paths; Port = port; Prefix = prefix; + QueryParameters = queryParameters; Scheme = scheme; } } diff --git a/sdk/dotnet/AppMesh/Outputs/GetRouteSpecHttp2RouteResult.cs b/sdk/dotnet/AppMesh/Outputs/GetRouteSpecHttp2RouteResult.cs index eaab0c2136a..327de9923c4 100644 --- a/sdk/dotnet/AppMesh/Outputs/GetRouteSpecHttp2RouteResult.cs +++ b/sdk/dotnet/AppMesh/Outputs/GetRouteSpecHttp2RouteResult.cs @@ -13,21 +13,9 @@ namespace Pulumi.Aws.AppMesh.Outputs [OutputType] public sealed class GetRouteSpecHttp2RouteResult { - /// - /// Action to take if a match is determined. - /// public readonly ImmutableArray Actions; - /// - /// Criteria for determining an HTTP request match. - /// public readonly ImmutableArray Matches; - /// - /// Retry policy. - /// public readonly ImmutableArray RetryPolicies; - /// - /// Types of timeouts. - /// public readonly ImmutableArray Timeouts; [OutputConstructor] diff --git a/sdk/dotnet/AppMesh/Outputs/GetRouteSpecHttpRouteMatchHeaderResult.cs b/sdk/dotnet/AppMesh/Outputs/GetRouteSpecHttpRouteMatchHeaderResult.cs index 84728b50c7b..64f5a57d96e 100644 --- a/sdk/dotnet/AppMesh/Outputs/GetRouteSpecHttpRouteMatchHeaderResult.cs +++ b/sdk/dotnet/AppMesh/Outputs/GetRouteSpecHttpRouteMatchHeaderResult.cs @@ -14,9 +14,6 @@ namespace Pulumi.Aws.AppMesh.Outputs public sealed class GetRouteSpecHttpRouteMatchHeaderResult { public readonly bool Invert; - /// - /// Criteria for determining an HTTP request match. - /// public readonly ImmutableArray Matches; /// /// Name of the route. diff --git a/sdk/dotnet/AppMesh/Outputs/GetRouteSpecHttpRouteMatchPathResult.cs b/sdk/dotnet/AppMesh/Outputs/GetRouteSpecHttpRouteMatchPathResult.cs new file mode 100644 index 00000000000..d092c1732be --- /dev/null +++ b/sdk/dotnet/AppMesh/Outputs/GetRouteSpecHttpRouteMatchPathResult.cs @@ -0,0 +1,29 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.AppMesh.Outputs +{ + + [OutputType] + public sealed class GetRouteSpecHttpRouteMatchPathResult + { + public readonly string Exact; + public readonly string Regex; + + [OutputConstructor] + private GetRouteSpecHttpRouteMatchPathResult( + string exact, + + string regex) + { + Exact = exact; + Regex = regex; + } + } +} diff --git a/sdk/dotnet/AppMesh/Outputs/GetRouteSpecHttpRouteMatchQueryParameterMatchResult.cs b/sdk/dotnet/AppMesh/Outputs/GetRouteSpecHttpRouteMatchQueryParameterMatchResult.cs new file mode 100644 index 00000000000..0eebc054ba6 --- /dev/null +++ b/sdk/dotnet/AppMesh/Outputs/GetRouteSpecHttpRouteMatchQueryParameterMatchResult.cs @@ -0,0 +1,24 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.AppMesh.Outputs +{ + + [OutputType] + public sealed class GetRouteSpecHttpRouteMatchQueryParameterMatchResult + { + public readonly string Exact; + + [OutputConstructor] + private GetRouteSpecHttpRouteMatchQueryParameterMatchResult(string exact) + { + Exact = exact; + } + } +} diff --git a/sdk/dotnet/AppMesh/Outputs/GetRouteSpecHttpRouteMatchQueryParameterResult.cs b/sdk/dotnet/AppMesh/Outputs/GetRouteSpecHttpRouteMatchQueryParameterResult.cs new file mode 100644 index 00000000000..05fc0890659 --- /dev/null +++ b/sdk/dotnet/AppMesh/Outputs/GetRouteSpecHttpRouteMatchQueryParameterResult.cs @@ -0,0 +1,32 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.AppMesh.Outputs +{ + + [OutputType] + public sealed class GetRouteSpecHttpRouteMatchQueryParameterResult + { + public readonly ImmutableArray Matches; + /// + /// Name of the route. + /// + public readonly string Name; + + [OutputConstructor] + private GetRouteSpecHttpRouteMatchQueryParameterResult( + ImmutableArray matches, + + string name) + { + Matches = matches; + Name = name; + } + } +} diff --git a/sdk/dotnet/AppMesh/Outputs/GetRouteSpecHttpRouteMatchResult.cs b/sdk/dotnet/AppMesh/Outputs/GetRouteSpecHttpRouteMatchResult.cs index f3d9050810e..9920434aa5b 100644 --- a/sdk/dotnet/AppMesh/Outputs/GetRouteSpecHttpRouteMatchResult.cs +++ b/sdk/dotnet/AppMesh/Outputs/GetRouteSpecHttpRouteMatchResult.cs @@ -15,8 +15,10 @@ public sealed class GetRouteSpecHttpRouteMatchResult { public readonly ImmutableArray Headers; public readonly string Method; + public readonly ImmutableArray Paths; public readonly int Port; public readonly string Prefix; + public readonly ImmutableArray QueryParameters; public readonly string Scheme; [OutputConstructor] @@ -25,16 +27,22 @@ private GetRouteSpecHttpRouteMatchResult( string method, + ImmutableArray paths, + int port, string prefix, + ImmutableArray queryParameters, + string scheme) { Headers = headers; Method = method; + Paths = paths; Port = port; Prefix = prefix; + QueryParameters = queryParameters; Scheme = scheme; } } diff --git a/sdk/dotnet/AppMesh/Outputs/GetRouteSpecHttpRouteResult.cs b/sdk/dotnet/AppMesh/Outputs/GetRouteSpecHttpRouteResult.cs index ef13dc0b2f1..6e9644d80ed 100644 --- a/sdk/dotnet/AppMesh/Outputs/GetRouteSpecHttpRouteResult.cs +++ b/sdk/dotnet/AppMesh/Outputs/GetRouteSpecHttpRouteResult.cs @@ -13,21 +13,9 @@ namespace Pulumi.Aws.AppMesh.Outputs [OutputType] public sealed class GetRouteSpecHttpRouteResult { - /// - /// Action to take if a match is determined. - /// public readonly ImmutableArray Actions; - /// - /// Criteria for determining an HTTP request match. - /// public readonly ImmutableArray Matches; - /// - /// Retry policy. - /// public readonly ImmutableArray RetryPolicies; - /// - /// Types of timeouts. - /// public readonly ImmutableArray Timeouts; [OutputConstructor] diff --git a/sdk/dotnet/AppMesh/Outputs/GetRouteSpecResult.cs b/sdk/dotnet/AppMesh/Outputs/GetRouteSpecResult.cs index db51f7b644b..e2b7b4e6b05 100644 --- a/sdk/dotnet/AppMesh/Outputs/GetRouteSpecResult.cs +++ b/sdk/dotnet/AppMesh/Outputs/GetRouteSpecResult.cs @@ -13,25 +13,10 @@ namespace Pulumi.Aws.AppMesh.Outputs [OutputType] public sealed class GetRouteSpecResult { - /// - /// GRPC routing information for the route. - /// public readonly ImmutableArray GrpcRoutes; - /// - /// HTTP/2 routing information for the route. - /// public readonly ImmutableArray Http2Routes; - /// - /// HTTP routing information for the route. - /// public readonly ImmutableArray HttpRoutes; - /// - /// Priority for the route, between `0` and `1000`. - /// public readonly int Priority; - /// - /// TCP routing information for the route. - /// public readonly ImmutableArray TcpRoutes; [OutputConstructor] diff --git a/sdk/dotnet/AppMesh/Outputs/GetRouteSpecTcpRouteResult.cs b/sdk/dotnet/AppMesh/Outputs/GetRouteSpecTcpRouteResult.cs index 5249abb62b7..d5b320081a0 100644 --- a/sdk/dotnet/AppMesh/Outputs/GetRouteSpecTcpRouteResult.cs +++ b/sdk/dotnet/AppMesh/Outputs/GetRouteSpecTcpRouteResult.cs @@ -13,17 +13,8 @@ namespace Pulumi.Aws.AppMesh.Outputs [OutputType] public sealed class GetRouteSpecTcpRouteResult { - /// - /// Action to take if a match is determined. - /// public readonly ImmutableArray Actions; - /// - /// Criteria for determining an HTTP request match. - /// public readonly ImmutableArray Matches; - /// - /// Types of timeouts. - /// public readonly ImmutableArray Timeouts; [OutputConstructor] diff --git a/sdk/dotnet/AppMesh/Outputs/GetVirtualGatewaySpecBackendDefaultClientPolicyResult.cs b/sdk/dotnet/AppMesh/Outputs/GetVirtualGatewaySpecBackendDefaultClientPolicyResult.cs index 98ad58630ec..e6d911b9103 100644 --- a/sdk/dotnet/AppMesh/Outputs/GetVirtualGatewaySpecBackendDefaultClientPolicyResult.cs +++ b/sdk/dotnet/AppMesh/Outputs/GetVirtualGatewaySpecBackendDefaultClientPolicyResult.cs @@ -13,9 +13,6 @@ namespace Pulumi.Aws.AppMesh.Outputs [OutputType] public sealed class GetVirtualGatewaySpecBackendDefaultClientPolicyResult { - /// - /// Transport Layer Security (TLS) properties for the listener - /// public readonly ImmutableArray Tls; [OutputConstructor] diff --git a/sdk/dotnet/AppMesh/Outputs/GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateFileResult.cs b/sdk/dotnet/AppMesh/Outputs/GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateFileResult.cs index 0d593765a07..5037de1755b 100644 --- a/sdk/dotnet/AppMesh/Outputs/GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateFileResult.cs +++ b/sdk/dotnet/AppMesh/Outputs/GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateFileResult.cs @@ -13,13 +13,7 @@ namespace Pulumi.Aws.AppMesh.Outputs [OutputType] public sealed class GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateFileResult { - /// - /// Certificate trust chain for a certificate stored on the file system of the mesh endpoint that the proxy is running on. Must be between 1 and 255 characters in length. - /// public readonly string CertificateChain; - /// - /// Private key for a certificate stored on the file system of the mesh endpoint that the proxy is running on. Must be between 1 and 255 characters in length. - /// public readonly string PrivateKey; [OutputConstructor] diff --git a/sdk/dotnet/AppMesh/Outputs/GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateResult.cs b/sdk/dotnet/AppMesh/Outputs/GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateResult.cs index 394c6e85eaa..ec40d11ac9f 100644 --- a/sdk/dotnet/AppMesh/Outputs/GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateResult.cs +++ b/sdk/dotnet/AppMesh/Outputs/GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateResult.cs @@ -13,13 +13,7 @@ namespace Pulumi.Aws.AppMesh.Outputs [OutputType] public sealed class GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateResult { - /// - /// TLS validation context trust for a local file certificate. - /// public readonly ImmutableArray Files; - /// - /// TLS validation context trust for a [Secret Discovery Service](https://www.envoyproxy.io/docs/envoy/latest/configuration/security/secret#secret-discovery-service-sds) certificate. - /// public readonly ImmutableArray Sds; [OutputConstructor] diff --git a/sdk/dotnet/AppMesh/Outputs/GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateSdResult.cs b/sdk/dotnet/AppMesh/Outputs/GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateSdResult.cs index bce471024c0..b334a92b034 100644 --- a/sdk/dotnet/AppMesh/Outputs/GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateSdResult.cs +++ b/sdk/dotnet/AppMesh/Outputs/GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateSdResult.cs @@ -13,9 +13,6 @@ namespace Pulumi.Aws.AppMesh.Outputs [OutputType] public sealed class GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateSdResult { - /// - /// Name of the secret for a virtual gateway's Transport Layer Security (TLS) Secret Discovery Service validation context trust. - /// public readonly string SecretName; [OutputConstructor] diff --git a/sdk/dotnet/AppMesh/Outputs/GetVirtualGatewaySpecBackendDefaultClientPolicyTlResult.cs b/sdk/dotnet/AppMesh/Outputs/GetVirtualGatewaySpecBackendDefaultClientPolicyTlResult.cs index aeb527ccfd3..a061a163e8e 100644 --- a/sdk/dotnet/AppMesh/Outputs/GetVirtualGatewaySpecBackendDefaultClientPolicyTlResult.cs +++ b/sdk/dotnet/AppMesh/Outputs/GetVirtualGatewaySpecBackendDefaultClientPolicyTlResult.cs @@ -13,21 +13,9 @@ namespace Pulumi.Aws.AppMesh.Outputs [OutputType] public sealed class GetVirtualGatewaySpecBackendDefaultClientPolicyTlResult { - /// - /// Listener's TLS certificate. - /// public readonly ImmutableArray Certificates; - /// - /// Whether the policy is enforced. Default is `true`. - /// public readonly bool Enforce; - /// - /// One or more ports that the policy is enforced for. - /// public readonly ImmutableArray Ports; - /// - /// Listener's Transport Layer Security (TLS) validation context. - /// public readonly ImmutableArray Validations; [OutputConstructor] diff --git a/sdk/dotnet/AppMesh/Outputs/GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationResult.cs b/sdk/dotnet/AppMesh/Outputs/GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationResult.cs index 16e02b6a2c2..c18ebd0dd4d 100644 --- a/sdk/dotnet/AppMesh/Outputs/GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationResult.cs +++ b/sdk/dotnet/AppMesh/Outputs/GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationResult.cs @@ -13,13 +13,7 @@ namespace Pulumi.Aws.AppMesh.Outputs [OutputType] public sealed class GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationResult { - /// - /// SANs for a virtual gateway's listener's Transport Layer Security (TLS) validation context. - /// public readonly ImmutableArray SubjectAlternativeNames; - /// - /// TLS validation context trust. - /// public readonly ImmutableArray Trusts; [OutputConstructor] diff --git a/sdk/dotnet/AppMesh/Outputs/GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameMatchResult.cs b/sdk/dotnet/AppMesh/Outputs/GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameMatchResult.cs index cfafc3151fa..6eaa58c5547 100644 --- a/sdk/dotnet/AppMesh/Outputs/GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameMatchResult.cs +++ b/sdk/dotnet/AppMesh/Outputs/GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameMatchResult.cs @@ -13,9 +13,6 @@ namespace Pulumi.Aws.AppMesh.Outputs [OutputType] public sealed class GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameMatchResult { - /// - /// Values sent must match the specified values exactly. - /// public readonly ImmutableArray Exacts; [OutputConstructor] diff --git a/sdk/dotnet/AppMesh/Outputs/GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameResult.cs b/sdk/dotnet/AppMesh/Outputs/GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameResult.cs index c6409087302..b03a5d03684 100644 --- a/sdk/dotnet/AppMesh/Outputs/GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameResult.cs +++ b/sdk/dotnet/AppMesh/Outputs/GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameResult.cs @@ -13,9 +13,6 @@ namespace Pulumi.Aws.AppMesh.Outputs [OutputType] public sealed class GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameResult { - /// - /// Criteria for determining a SAN's match. - /// public readonly ImmutableArray Matches; [OutputConstructor] diff --git a/sdk/dotnet/AppMesh/Outputs/GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustAcmResult.cs b/sdk/dotnet/AppMesh/Outputs/GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustAcmResult.cs index 412cbe71e59..256d226ddf2 100644 --- a/sdk/dotnet/AppMesh/Outputs/GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustAcmResult.cs +++ b/sdk/dotnet/AppMesh/Outputs/GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustAcmResult.cs @@ -13,9 +13,6 @@ namespace Pulumi.Aws.AppMesh.Outputs [OutputType] public sealed class GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustAcmResult { - /// - /// One or more ACM ARNs. - /// public readonly ImmutableArray CertificateAuthorityArns; [OutputConstructor] diff --git a/sdk/dotnet/AppMesh/Outputs/GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustFileResult.cs b/sdk/dotnet/AppMesh/Outputs/GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustFileResult.cs index 67cab5f6ed2..d01b02007d2 100644 --- a/sdk/dotnet/AppMesh/Outputs/GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustFileResult.cs +++ b/sdk/dotnet/AppMesh/Outputs/GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustFileResult.cs @@ -13,9 +13,6 @@ namespace Pulumi.Aws.AppMesh.Outputs [OutputType] public sealed class GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustFileResult { - /// - /// Certificate trust chain for a certificate stored on the file system of the mesh endpoint that the proxy is running on. Must be between 1 and 255 characters in length. - /// public readonly string CertificateChain; [OutputConstructor] diff --git a/sdk/dotnet/AppMesh/Outputs/GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustResult.cs b/sdk/dotnet/AppMesh/Outputs/GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustResult.cs index c41c2adc418..39e3a573c1b 100644 --- a/sdk/dotnet/AppMesh/Outputs/GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustResult.cs +++ b/sdk/dotnet/AppMesh/Outputs/GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustResult.cs @@ -13,17 +13,8 @@ namespace Pulumi.Aws.AppMesh.Outputs [OutputType] public sealed class GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustResult { - /// - /// An AWS Certificate Manager (ACM) certificate. - /// public readonly ImmutableArray Acms; - /// - /// TLS validation context trust for a local file certificate. - /// public readonly ImmutableArray Files; - /// - /// TLS validation context trust for a [Secret Discovery Service](https://www.envoyproxy.io/docs/envoy/latest/configuration/security/secret#secret-discovery-service-sds) certificate. - /// public readonly ImmutableArray Sds; [OutputConstructor] diff --git a/sdk/dotnet/AppMesh/Outputs/GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustSdResult.cs b/sdk/dotnet/AppMesh/Outputs/GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustSdResult.cs index 9341bcf8fdb..60cc9de8b77 100644 --- a/sdk/dotnet/AppMesh/Outputs/GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustSdResult.cs +++ b/sdk/dotnet/AppMesh/Outputs/GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustSdResult.cs @@ -13,9 +13,6 @@ namespace Pulumi.Aws.AppMesh.Outputs [OutputType] public sealed class GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustSdResult { - /// - /// Name of the secret for a virtual gateway's Transport Layer Security (TLS) Secret Discovery Service validation context trust. - /// public readonly string SecretName; [OutputConstructor] diff --git a/sdk/dotnet/AppMesh/Outputs/GetVirtualGatewaySpecBackendDefaultResult.cs b/sdk/dotnet/AppMesh/Outputs/GetVirtualGatewaySpecBackendDefaultResult.cs index f458fb0d26a..b9b3c33f4a7 100644 --- a/sdk/dotnet/AppMesh/Outputs/GetVirtualGatewaySpecBackendDefaultResult.cs +++ b/sdk/dotnet/AppMesh/Outputs/GetVirtualGatewaySpecBackendDefaultResult.cs @@ -13,9 +13,6 @@ namespace Pulumi.Aws.AppMesh.Outputs [OutputType] public sealed class GetVirtualGatewaySpecBackendDefaultResult { - /// - /// Default client policy for virtual gateway backends. - /// public readonly ImmutableArray ClientPolicies; [OutputConstructor] diff --git a/sdk/dotnet/AppMesh/Outputs/GetVirtualGatewaySpecListenerConnectionPoolGrpcResult.cs b/sdk/dotnet/AppMesh/Outputs/GetVirtualGatewaySpecListenerConnectionPoolGrpcResult.cs index a2be0e39609..325dd20aab0 100644 --- a/sdk/dotnet/AppMesh/Outputs/GetVirtualGatewaySpecListenerConnectionPoolGrpcResult.cs +++ b/sdk/dotnet/AppMesh/Outputs/GetVirtualGatewaySpecListenerConnectionPoolGrpcResult.cs @@ -13,9 +13,6 @@ namespace Pulumi.Aws.AppMesh.Outputs [OutputType] public sealed class GetVirtualGatewaySpecListenerConnectionPoolGrpcResult { - /// - /// Maximum number of inflight requests Envoy can concurrently support across hosts in upstream cluster. Minimum value of `1`. - /// public readonly int MaxRequests; [OutputConstructor] diff --git a/sdk/dotnet/AppMesh/Outputs/GetVirtualGatewaySpecListenerConnectionPoolHttp2Result.cs b/sdk/dotnet/AppMesh/Outputs/GetVirtualGatewaySpecListenerConnectionPoolHttp2Result.cs index bb899ca33cf..eae018d81b9 100644 --- a/sdk/dotnet/AppMesh/Outputs/GetVirtualGatewaySpecListenerConnectionPoolHttp2Result.cs +++ b/sdk/dotnet/AppMesh/Outputs/GetVirtualGatewaySpecListenerConnectionPoolHttp2Result.cs @@ -13,9 +13,6 @@ namespace Pulumi.Aws.AppMesh.Outputs [OutputType] public sealed class GetVirtualGatewaySpecListenerConnectionPoolHttp2Result { - /// - /// Maximum number of inflight requests Envoy can concurrently support across hosts in upstream cluster. Minimum value of `1`. - /// public readonly int MaxRequests; [OutputConstructor] diff --git a/sdk/dotnet/AppMesh/Outputs/GetVirtualGatewaySpecListenerConnectionPoolHttpResult.cs b/sdk/dotnet/AppMesh/Outputs/GetVirtualGatewaySpecListenerConnectionPoolHttpResult.cs index 24ba120ba36..4f53ba998c3 100644 --- a/sdk/dotnet/AppMesh/Outputs/GetVirtualGatewaySpecListenerConnectionPoolHttpResult.cs +++ b/sdk/dotnet/AppMesh/Outputs/GetVirtualGatewaySpecListenerConnectionPoolHttpResult.cs @@ -13,13 +13,7 @@ namespace Pulumi.Aws.AppMesh.Outputs [OutputType] public sealed class GetVirtualGatewaySpecListenerConnectionPoolHttpResult { - /// - /// Maximum number of outbound TCP connections Envoy can establish concurrently with all hosts in upstream cluster. Minimum value of `1`. - /// public readonly int MaxConnections; - /// - /// Number of overflowing requests after `max_connections` Envoy will queue to upstream cluster. Minimum value of `1`. - /// public readonly int MaxPendingRequests; [OutputConstructor] diff --git a/sdk/dotnet/AppMesh/Outputs/GetVirtualGatewaySpecListenerConnectionPoolResult.cs b/sdk/dotnet/AppMesh/Outputs/GetVirtualGatewaySpecListenerConnectionPoolResult.cs index b661483f3d5..a9c9ec3e79e 100644 --- a/sdk/dotnet/AppMesh/Outputs/GetVirtualGatewaySpecListenerConnectionPoolResult.cs +++ b/sdk/dotnet/AppMesh/Outputs/GetVirtualGatewaySpecListenerConnectionPoolResult.cs @@ -13,17 +13,8 @@ namespace Pulumi.Aws.AppMesh.Outputs [OutputType] public sealed class GetVirtualGatewaySpecListenerConnectionPoolResult { - /// - /// Connection pool information for gRPC listeners. - /// public readonly ImmutableArray Grpcs; - /// - /// Connection pool information for HTTP2 listeners. - /// public readonly ImmutableArray Http2s; - /// - /// Connection pool information for HTTP listeners. - /// public readonly ImmutableArray Https; [OutputConstructor] diff --git a/sdk/dotnet/AppMesh/Outputs/GetVirtualGatewaySpecListenerHealthCheckResult.cs b/sdk/dotnet/AppMesh/Outputs/GetVirtualGatewaySpecListenerHealthCheckResult.cs index d1d419ddb93..7be002c5109 100644 --- a/sdk/dotnet/AppMesh/Outputs/GetVirtualGatewaySpecListenerHealthCheckResult.cs +++ b/sdk/dotnet/AppMesh/Outputs/GetVirtualGatewaySpecListenerHealthCheckResult.cs @@ -13,33 +13,12 @@ namespace Pulumi.Aws.AppMesh.Outputs [OutputType] public sealed class GetVirtualGatewaySpecListenerHealthCheckResult { - /// - /// Number of consecutive successful health checks that must occur before declaring listener healthy. - /// public readonly int HealthyThreshold; - /// - /// Time period in milliseconds between each health check execution. - /// public readonly int IntervalMillis; - /// - /// Destination path for the health check request. This is only required if the specified protocol is `http` or `http2`. - /// public readonly string Path; - /// - /// Destination port for the health check request. This port must match the port defined in the `port_mapping` for the listener. - /// public readonly int Port; - /// - /// Protocol for the health check request. Valid values are `http`, `http2`, and `grpc`. - /// public readonly string Protocol; - /// - /// Amount of time to wait when receiving a response from the health check, in milliseconds. - /// public readonly int TimeoutMillis; - /// - /// Number of consecutive failed health checks that must occur before declaring a virtual gateway unhealthy. - /// public readonly int UnhealthyThreshold; [OutputConstructor] diff --git a/sdk/dotnet/AppMesh/Outputs/GetVirtualGatewaySpecListenerPortMappingResult.cs b/sdk/dotnet/AppMesh/Outputs/GetVirtualGatewaySpecListenerPortMappingResult.cs index 6c612eec77b..67aaa37bf1f 100644 --- a/sdk/dotnet/AppMesh/Outputs/GetVirtualGatewaySpecListenerPortMappingResult.cs +++ b/sdk/dotnet/AppMesh/Outputs/GetVirtualGatewaySpecListenerPortMappingResult.cs @@ -13,13 +13,7 @@ namespace Pulumi.Aws.AppMesh.Outputs [OutputType] public sealed class GetVirtualGatewaySpecListenerPortMappingResult { - /// - /// Destination port for the health check request. This port must match the port defined in the `port_mapping` for the listener. - /// public readonly int Port; - /// - /// Protocol for the health check request. Valid values are `http`, `http2`, and `grpc`. - /// public readonly string Protocol; [OutputConstructor] diff --git a/sdk/dotnet/AppMesh/Outputs/GetVirtualGatewaySpecListenerResult.cs b/sdk/dotnet/AppMesh/Outputs/GetVirtualGatewaySpecListenerResult.cs index 01d56fcc92d..e077509a80c 100644 --- a/sdk/dotnet/AppMesh/Outputs/GetVirtualGatewaySpecListenerResult.cs +++ b/sdk/dotnet/AppMesh/Outputs/GetVirtualGatewaySpecListenerResult.cs @@ -13,21 +13,9 @@ namespace Pulumi.Aws.AppMesh.Outputs [OutputType] public sealed class GetVirtualGatewaySpecListenerResult { - /// - /// Connection pool information for the listener. - /// public readonly ImmutableArray ConnectionPools; - /// - /// Health check information for the listener. - /// public readonly ImmutableArray HealthChecks; - /// - /// Port mapping information for the listener. - /// public readonly ImmutableArray PortMappings; - /// - /// Transport Layer Security (TLS) properties for the listener - /// public readonly ImmutableArray Tls; [OutputConstructor] diff --git a/sdk/dotnet/AppMesh/Outputs/GetVirtualGatewaySpecListenerTlCertificateAcmResult.cs b/sdk/dotnet/AppMesh/Outputs/GetVirtualGatewaySpecListenerTlCertificateAcmResult.cs index 330b3c0b6a7..f2473339fb1 100644 --- a/sdk/dotnet/AppMesh/Outputs/GetVirtualGatewaySpecListenerTlCertificateAcmResult.cs +++ b/sdk/dotnet/AppMesh/Outputs/GetVirtualGatewaySpecListenerTlCertificateAcmResult.cs @@ -13,9 +13,6 @@ namespace Pulumi.Aws.AppMesh.Outputs [OutputType] public sealed class GetVirtualGatewaySpecListenerTlCertificateAcmResult { - /// - /// ARN for the certificate. - /// public readonly string CertificateArn; [OutputConstructor] diff --git a/sdk/dotnet/AppMesh/Outputs/GetVirtualGatewaySpecListenerTlCertificateFileResult.cs b/sdk/dotnet/AppMesh/Outputs/GetVirtualGatewaySpecListenerTlCertificateFileResult.cs index 49288091159..d8a5bb70302 100644 --- a/sdk/dotnet/AppMesh/Outputs/GetVirtualGatewaySpecListenerTlCertificateFileResult.cs +++ b/sdk/dotnet/AppMesh/Outputs/GetVirtualGatewaySpecListenerTlCertificateFileResult.cs @@ -13,13 +13,7 @@ namespace Pulumi.Aws.AppMesh.Outputs [OutputType] public sealed class GetVirtualGatewaySpecListenerTlCertificateFileResult { - /// - /// Certificate trust chain for a certificate stored on the file system of the mesh endpoint that the proxy is running on. Must be between 1 and 255 characters in length. - /// public readonly string CertificateChain; - /// - /// Private key for a certificate stored on the file system of the mesh endpoint that the proxy is running on. Must be between 1 and 255 characters in length. - /// public readonly string PrivateKey; [OutputConstructor] diff --git a/sdk/dotnet/AppMesh/Outputs/GetVirtualGatewaySpecListenerTlCertificateResult.cs b/sdk/dotnet/AppMesh/Outputs/GetVirtualGatewaySpecListenerTlCertificateResult.cs index 4248ca56533..ff77a3d8122 100644 --- a/sdk/dotnet/AppMesh/Outputs/GetVirtualGatewaySpecListenerTlCertificateResult.cs +++ b/sdk/dotnet/AppMesh/Outputs/GetVirtualGatewaySpecListenerTlCertificateResult.cs @@ -13,17 +13,8 @@ namespace Pulumi.Aws.AppMesh.Outputs [OutputType] public sealed class GetVirtualGatewaySpecListenerTlCertificateResult { - /// - /// An AWS Certificate Manager (ACM) certificate. - /// public readonly ImmutableArray Acms; - /// - /// TLS validation context trust for a local file certificate. - /// public readonly ImmutableArray Files; - /// - /// TLS validation context trust for a [Secret Discovery Service](https://www.envoyproxy.io/docs/envoy/latest/configuration/security/secret#secret-discovery-service-sds) certificate. - /// public readonly ImmutableArray Sds; [OutputConstructor] diff --git a/sdk/dotnet/AppMesh/Outputs/GetVirtualGatewaySpecListenerTlCertificateSdResult.cs b/sdk/dotnet/AppMesh/Outputs/GetVirtualGatewaySpecListenerTlCertificateSdResult.cs index 732bac34f45..4eac0dfa3d6 100644 --- a/sdk/dotnet/AppMesh/Outputs/GetVirtualGatewaySpecListenerTlCertificateSdResult.cs +++ b/sdk/dotnet/AppMesh/Outputs/GetVirtualGatewaySpecListenerTlCertificateSdResult.cs @@ -13,9 +13,6 @@ namespace Pulumi.Aws.AppMesh.Outputs [OutputType] public sealed class GetVirtualGatewaySpecListenerTlCertificateSdResult { - /// - /// Name of the secret for a virtual gateway's Transport Layer Security (TLS) Secret Discovery Service validation context trust. - /// public readonly string SecretName; [OutputConstructor] diff --git a/sdk/dotnet/AppMesh/Outputs/GetVirtualGatewaySpecListenerTlResult.cs b/sdk/dotnet/AppMesh/Outputs/GetVirtualGatewaySpecListenerTlResult.cs index d08d52bff41..7ebc4f6d967 100644 --- a/sdk/dotnet/AppMesh/Outputs/GetVirtualGatewaySpecListenerTlResult.cs +++ b/sdk/dotnet/AppMesh/Outputs/GetVirtualGatewaySpecListenerTlResult.cs @@ -13,17 +13,8 @@ namespace Pulumi.Aws.AppMesh.Outputs [OutputType] public sealed class GetVirtualGatewaySpecListenerTlResult { - /// - /// Listener's TLS certificate. - /// public readonly ImmutableArray Certificates; - /// - /// Listener's TLS mode. Valid values: `DISABLED`, `PERMISSIVE`, `STRICT`. - /// public readonly string Mode; - /// - /// Listener's Transport Layer Security (TLS) validation context. - /// public readonly ImmutableArray Validations; [OutputConstructor] diff --git a/sdk/dotnet/AppMesh/Outputs/GetVirtualGatewaySpecListenerTlValidationResult.cs b/sdk/dotnet/AppMesh/Outputs/GetVirtualGatewaySpecListenerTlValidationResult.cs index 8a61a7f6c92..8984757f0b1 100644 --- a/sdk/dotnet/AppMesh/Outputs/GetVirtualGatewaySpecListenerTlValidationResult.cs +++ b/sdk/dotnet/AppMesh/Outputs/GetVirtualGatewaySpecListenerTlValidationResult.cs @@ -13,13 +13,7 @@ namespace Pulumi.Aws.AppMesh.Outputs [OutputType] public sealed class GetVirtualGatewaySpecListenerTlValidationResult { - /// - /// SANs for a virtual gateway's listener's Transport Layer Security (TLS) validation context. - /// public readonly ImmutableArray SubjectAlternativeNames; - /// - /// TLS validation context trust. - /// public readonly ImmutableArray Trusts; [OutputConstructor] diff --git a/sdk/dotnet/AppMesh/Outputs/GetVirtualGatewaySpecListenerTlValidationSubjectAlternativeNameMatchResult.cs b/sdk/dotnet/AppMesh/Outputs/GetVirtualGatewaySpecListenerTlValidationSubjectAlternativeNameMatchResult.cs index 80848e79059..ed923e52c69 100644 --- a/sdk/dotnet/AppMesh/Outputs/GetVirtualGatewaySpecListenerTlValidationSubjectAlternativeNameMatchResult.cs +++ b/sdk/dotnet/AppMesh/Outputs/GetVirtualGatewaySpecListenerTlValidationSubjectAlternativeNameMatchResult.cs @@ -13,9 +13,6 @@ namespace Pulumi.Aws.AppMesh.Outputs [OutputType] public sealed class GetVirtualGatewaySpecListenerTlValidationSubjectAlternativeNameMatchResult { - /// - /// Values sent must match the specified values exactly. - /// public readonly ImmutableArray Exacts; [OutputConstructor] diff --git a/sdk/dotnet/AppMesh/Outputs/GetVirtualGatewaySpecListenerTlValidationSubjectAlternativeNameResult.cs b/sdk/dotnet/AppMesh/Outputs/GetVirtualGatewaySpecListenerTlValidationSubjectAlternativeNameResult.cs index 50245e89ad0..e145c6cc351 100644 --- a/sdk/dotnet/AppMesh/Outputs/GetVirtualGatewaySpecListenerTlValidationSubjectAlternativeNameResult.cs +++ b/sdk/dotnet/AppMesh/Outputs/GetVirtualGatewaySpecListenerTlValidationSubjectAlternativeNameResult.cs @@ -13,9 +13,6 @@ namespace Pulumi.Aws.AppMesh.Outputs [OutputType] public sealed class GetVirtualGatewaySpecListenerTlValidationSubjectAlternativeNameResult { - /// - /// Criteria for determining a SAN's match. - /// public readonly ImmutableArray Matches; [OutputConstructor] diff --git a/sdk/dotnet/AppMesh/Outputs/GetVirtualGatewaySpecListenerTlValidationTrustFileResult.cs b/sdk/dotnet/AppMesh/Outputs/GetVirtualGatewaySpecListenerTlValidationTrustFileResult.cs index 7c92a23a6a0..6b584a967b7 100644 --- a/sdk/dotnet/AppMesh/Outputs/GetVirtualGatewaySpecListenerTlValidationTrustFileResult.cs +++ b/sdk/dotnet/AppMesh/Outputs/GetVirtualGatewaySpecListenerTlValidationTrustFileResult.cs @@ -13,9 +13,6 @@ namespace Pulumi.Aws.AppMesh.Outputs [OutputType] public sealed class GetVirtualGatewaySpecListenerTlValidationTrustFileResult { - /// - /// Certificate trust chain for a certificate stored on the file system of the mesh endpoint that the proxy is running on. Must be between 1 and 255 characters in length. - /// public readonly string CertificateChain; [OutputConstructor] diff --git a/sdk/dotnet/AppMesh/Outputs/GetVirtualGatewaySpecListenerTlValidationTrustResult.cs b/sdk/dotnet/AppMesh/Outputs/GetVirtualGatewaySpecListenerTlValidationTrustResult.cs index 1d305bdd977..606588f639b 100644 --- a/sdk/dotnet/AppMesh/Outputs/GetVirtualGatewaySpecListenerTlValidationTrustResult.cs +++ b/sdk/dotnet/AppMesh/Outputs/GetVirtualGatewaySpecListenerTlValidationTrustResult.cs @@ -13,13 +13,7 @@ namespace Pulumi.Aws.AppMesh.Outputs [OutputType] public sealed class GetVirtualGatewaySpecListenerTlValidationTrustResult { - /// - /// TLS validation context trust for a local file certificate. - /// public readonly ImmutableArray Files; - /// - /// TLS validation context trust for a [Secret Discovery Service](https://www.envoyproxy.io/docs/envoy/latest/configuration/security/secret#secret-discovery-service-sds) certificate. - /// public readonly ImmutableArray Sds; [OutputConstructor] diff --git a/sdk/dotnet/AppMesh/Outputs/GetVirtualGatewaySpecListenerTlValidationTrustSdResult.cs b/sdk/dotnet/AppMesh/Outputs/GetVirtualGatewaySpecListenerTlValidationTrustSdResult.cs index 29ae22f4fc1..f1da7babf5e 100644 --- a/sdk/dotnet/AppMesh/Outputs/GetVirtualGatewaySpecListenerTlValidationTrustSdResult.cs +++ b/sdk/dotnet/AppMesh/Outputs/GetVirtualGatewaySpecListenerTlValidationTrustSdResult.cs @@ -13,9 +13,6 @@ namespace Pulumi.Aws.AppMesh.Outputs [OutputType] public sealed class GetVirtualGatewaySpecListenerTlValidationTrustSdResult { - /// - /// Name of the secret for a virtual gateway's Transport Layer Security (TLS) Secret Discovery Service validation context trust. - /// public readonly string SecretName; [OutputConstructor] diff --git a/sdk/dotnet/AppMesh/Outputs/GetVirtualGatewaySpecLoggingAccessLogFileResult.cs b/sdk/dotnet/AppMesh/Outputs/GetVirtualGatewaySpecLoggingAccessLogFileResult.cs index e33333904ad..d90cb58da9b 100644 --- a/sdk/dotnet/AppMesh/Outputs/GetVirtualGatewaySpecLoggingAccessLogFileResult.cs +++ b/sdk/dotnet/AppMesh/Outputs/GetVirtualGatewaySpecLoggingAccessLogFileResult.cs @@ -14,9 +14,6 @@ namespace Pulumi.Aws.AppMesh.Outputs public sealed class GetVirtualGatewaySpecLoggingAccessLogFileResult { public readonly ImmutableArray Formats; - /// - /// Destination path for the health check request. This is only required if the specified protocol is `http` or `http2`. - /// public readonly string Path; [OutputConstructor] diff --git a/sdk/dotnet/AppMesh/Outputs/GetVirtualGatewaySpecLoggingAccessLogResult.cs b/sdk/dotnet/AppMesh/Outputs/GetVirtualGatewaySpecLoggingAccessLogResult.cs index e3394eea6d2..fd4656f379e 100644 --- a/sdk/dotnet/AppMesh/Outputs/GetVirtualGatewaySpecLoggingAccessLogResult.cs +++ b/sdk/dotnet/AppMesh/Outputs/GetVirtualGatewaySpecLoggingAccessLogResult.cs @@ -13,9 +13,6 @@ namespace Pulumi.Aws.AppMesh.Outputs [OutputType] public sealed class GetVirtualGatewaySpecLoggingAccessLogResult { - /// - /// TLS validation context trust for a local file certificate. - /// public readonly ImmutableArray Files; [OutputConstructor] diff --git a/sdk/dotnet/AppMesh/Outputs/GetVirtualGatewaySpecLoggingResult.cs b/sdk/dotnet/AppMesh/Outputs/GetVirtualGatewaySpecLoggingResult.cs index 3ca6174274c..d856f54db24 100644 --- a/sdk/dotnet/AppMesh/Outputs/GetVirtualGatewaySpecLoggingResult.cs +++ b/sdk/dotnet/AppMesh/Outputs/GetVirtualGatewaySpecLoggingResult.cs @@ -13,9 +13,6 @@ namespace Pulumi.Aws.AppMesh.Outputs [OutputType] public sealed class GetVirtualGatewaySpecLoggingResult { - /// - /// Access log configuration for a virtual gateway. - /// public readonly ImmutableArray AccessLogs; [OutputConstructor] diff --git a/sdk/dotnet/AppMesh/Outputs/GetVirtualGatewaySpecResult.cs b/sdk/dotnet/AppMesh/Outputs/GetVirtualGatewaySpecResult.cs index 8212acbdef3..559ff573cc7 100644 --- a/sdk/dotnet/AppMesh/Outputs/GetVirtualGatewaySpecResult.cs +++ b/sdk/dotnet/AppMesh/Outputs/GetVirtualGatewaySpecResult.cs @@ -13,17 +13,8 @@ namespace Pulumi.Aws.AppMesh.Outputs [OutputType] public sealed class GetVirtualGatewaySpecResult { - /// - /// Defaults for backends. - /// public readonly ImmutableArray BackendDefaults; - /// - /// Listeners that the mesh endpoint is expected to receive inbound traffic from. You can specify one listener. - /// public readonly ImmutableArray Listeners; - /// - /// Inbound and outbound access logging information for the virtual gateway. - /// public readonly ImmutableArray Loggings; [OutputConstructor] diff --git a/sdk/dotnet/AppMesh/Outputs/GetVirtualNodeSpecBackendDefaultClientPolicyResult.cs b/sdk/dotnet/AppMesh/Outputs/GetVirtualNodeSpecBackendDefaultClientPolicyResult.cs new file mode 100644 index 00000000000..7c09f5ada49 --- /dev/null +++ b/sdk/dotnet/AppMesh/Outputs/GetVirtualNodeSpecBackendDefaultClientPolicyResult.cs @@ -0,0 +1,24 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.AppMesh.Outputs +{ + + [OutputType] + public sealed class GetVirtualNodeSpecBackendDefaultClientPolicyResult + { + public readonly ImmutableArray Tls; + + [OutputConstructor] + private GetVirtualNodeSpecBackendDefaultClientPolicyResult(ImmutableArray tls) + { + Tls = tls; + } + } +} diff --git a/sdk/dotnet/AppMesh/Outputs/GetVirtualNodeSpecBackendDefaultClientPolicyTlCertificateFileResult.cs b/sdk/dotnet/AppMesh/Outputs/GetVirtualNodeSpecBackendDefaultClientPolicyTlCertificateFileResult.cs new file mode 100644 index 00000000000..82ef12f426a --- /dev/null +++ b/sdk/dotnet/AppMesh/Outputs/GetVirtualNodeSpecBackendDefaultClientPolicyTlCertificateFileResult.cs @@ -0,0 +1,29 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.AppMesh.Outputs +{ + + [OutputType] + public sealed class GetVirtualNodeSpecBackendDefaultClientPolicyTlCertificateFileResult + { + public readonly string CertificateChain; + public readonly string PrivateKey; + + [OutputConstructor] + private GetVirtualNodeSpecBackendDefaultClientPolicyTlCertificateFileResult( + string certificateChain, + + string privateKey) + { + CertificateChain = certificateChain; + PrivateKey = privateKey; + } + } +} diff --git a/sdk/dotnet/AppMesh/Outputs/GetVirtualNodeSpecBackendDefaultClientPolicyTlCertificateResult.cs b/sdk/dotnet/AppMesh/Outputs/GetVirtualNodeSpecBackendDefaultClientPolicyTlCertificateResult.cs new file mode 100644 index 00000000000..0390d102415 --- /dev/null +++ b/sdk/dotnet/AppMesh/Outputs/GetVirtualNodeSpecBackendDefaultClientPolicyTlCertificateResult.cs @@ -0,0 +1,29 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.AppMesh.Outputs +{ + + [OutputType] + public sealed class GetVirtualNodeSpecBackendDefaultClientPolicyTlCertificateResult + { + public readonly ImmutableArray Files; + public readonly ImmutableArray Sds; + + [OutputConstructor] + private GetVirtualNodeSpecBackendDefaultClientPolicyTlCertificateResult( + ImmutableArray files, + + ImmutableArray sds) + { + Files = files; + Sds = sds; + } + } +} diff --git a/sdk/dotnet/AppMesh/Outputs/GetVirtualNodeSpecBackendDefaultClientPolicyTlCertificateSdResult.cs b/sdk/dotnet/AppMesh/Outputs/GetVirtualNodeSpecBackendDefaultClientPolicyTlCertificateSdResult.cs new file mode 100644 index 00000000000..24e0d08471f --- /dev/null +++ b/sdk/dotnet/AppMesh/Outputs/GetVirtualNodeSpecBackendDefaultClientPolicyTlCertificateSdResult.cs @@ -0,0 +1,24 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.AppMesh.Outputs +{ + + [OutputType] + public sealed class GetVirtualNodeSpecBackendDefaultClientPolicyTlCertificateSdResult + { + public readonly string SecretName; + + [OutputConstructor] + private GetVirtualNodeSpecBackendDefaultClientPolicyTlCertificateSdResult(string secretName) + { + SecretName = secretName; + } + } +} diff --git a/sdk/dotnet/AppMesh/Outputs/GetVirtualNodeSpecBackendDefaultClientPolicyTlResult.cs b/sdk/dotnet/AppMesh/Outputs/GetVirtualNodeSpecBackendDefaultClientPolicyTlResult.cs new file mode 100644 index 00000000000..9c4321ba4db --- /dev/null +++ b/sdk/dotnet/AppMesh/Outputs/GetVirtualNodeSpecBackendDefaultClientPolicyTlResult.cs @@ -0,0 +1,37 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.AppMesh.Outputs +{ + + [OutputType] + public sealed class GetVirtualNodeSpecBackendDefaultClientPolicyTlResult + { + public readonly ImmutableArray Certificates; + public readonly bool Enforce; + public readonly ImmutableArray Ports; + public readonly ImmutableArray Validations; + + [OutputConstructor] + private GetVirtualNodeSpecBackendDefaultClientPolicyTlResult( + ImmutableArray certificates, + + bool enforce, + + ImmutableArray ports, + + ImmutableArray validations) + { + Certificates = certificates; + Enforce = enforce; + Ports = ports; + Validations = validations; + } + } +} diff --git a/sdk/dotnet/AppMesh/Outputs/GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationResult.cs b/sdk/dotnet/AppMesh/Outputs/GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationResult.cs new file mode 100644 index 00000000000..b7dd778a228 --- /dev/null +++ b/sdk/dotnet/AppMesh/Outputs/GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationResult.cs @@ -0,0 +1,29 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.AppMesh.Outputs +{ + + [OutputType] + public sealed class GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationResult + { + public readonly ImmutableArray SubjectAlternativeNames; + public readonly ImmutableArray Trusts; + + [OutputConstructor] + private GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationResult( + ImmutableArray subjectAlternativeNames, + + ImmutableArray trusts) + { + SubjectAlternativeNames = subjectAlternativeNames; + Trusts = trusts; + } + } +} diff --git a/sdk/dotnet/AppMesh/Outputs/GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameMatchResult.cs b/sdk/dotnet/AppMesh/Outputs/GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameMatchResult.cs new file mode 100644 index 00000000000..724b4d8ff6e --- /dev/null +++ b/sdk/dotnet/AppMesh/Outputs/GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameMatchResult.cs @@ -0,0 +1,24 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.AppMesh.Outputs +{ + + [OutputType] + public sealed class GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameMatchResult + { + public readonly ImmutableArray Exacts; + + [OutputConstructor] + private GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameMatchResult(ImmutableArray exacts) + { + Exacts = exacts; + } + } +} diff --git a/sdk/dotnet/AppMesh/Outputs/GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameResult.cs b/sdk/dotnet/AppMesh/Outputs/GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameResult.cs new file mode 100644 index 00000000000..0dacf5a431e --- /dev/null +++ b/sdk/dotnet/AppMesh/Outputs/GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameResult.cs @@ -0,0 +1,24 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.AppMesh.Outputs +{ + + [OutputType] + public sealed class GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameResult + { + public readonly ImmutableArray Matches; + + [OutputConstructor] + private GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameResult(ImmutableArray matches) + { + Matches = matches; + } + } +} diff --git a/sdk/dotnet/AppMesh/Outputs/GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustAcmResult.cs b/sdk/dotnet/AppMesh/Outputs/GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustAcmResult.cs new file mode 100644 index 00000000000..0578b5d2f6f --- /dev/null +++ b/sdk/dotnet/AppMesh/Outputs/GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustAcmResult.cs @@ -0,0 +1,24 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.AppMesh.Outputs +{ + + [OutputType] + public sealed class GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustAcmResult + { + public readonly ImmutableArray CertificateAuthorityArns; + + [OutputConstructor] + private GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustAcmResult(ImmutableArray certificateAuthorityArns) + { + CertificateAuthorityArns = certificateAuthorityArns; + } + } +} diff --git a/sdk/dotnet/AppMesh/Outputs/GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustFileResult.cs b/sdk/dotnet/AppMesh/Outputs/GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustFileResult.cs new file mode 100644 index 00000000000..ac6c213c61c --- /dev/null +++ b/sdk/dotnet/AppMesh/Outputs/GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustFileResult.cs @@ -0,0 +1,24 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.AppMesh.Outputs +{ + + [OutputType] + public sealed class GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustFileResult + { + public readonly string CertificateChain; + + [OutputConstructor] + private GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustFileResult(string certificateChain) + { + CertificateChain = certificateChain; + } + } +} diff --git a/sdk/dotnet/AppMesh/Outputs/GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustResult.cs b/sdk/dotnet/AppMesh/Outputs/GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustResult.cs new file mode 100644 index 00000000000..abdeb6e365b --- /dev/null +++ b/sdk/dotnet/AppMesh/Outputs/GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustResult.cs @@ -0,0 +1,33 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.AppMesh.Outputs +{ + + [OutputType] + public sealed class GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustResult + { + public readonly ImmutableArray Acms; + public readonly ImmutableArray Files; + public readonly ImmutableArray Sds; + + [OutputConstructor] + private GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustResult( + ImmutableArray acms, + + ImmutableArray files, + + ImmutableArray sds) + { + Acms = acms; + Files = files; + Sds = sds; + } + } +} diff --git a/sdk/dotnet/AppMesh/Outputs/GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustSdResult.cs b/sdk/dotnet/AppMesh/Outputs/GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustSdResult.cs new file mode 100644 index 00000000000..7bdf2982bac --- /dev/null +++ b/sdk/dotnet/AppMesh/Outputs/GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustSdResult.cs @@ -0,0 +1,24 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.AppMesh.Outputs +{ + + [OutputType] + public sealed class GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustSdResult + { + public readonly string SecretName; + + [OutputConstructor] + private GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustSdResult(string secretName) + { + SecretName = secretName; + } + } +} diff --git a/sdk/dotnet/AppMesh/Outputs/GetVirtualNodeSpecBackendDefaultResult.cs b/sdk/dotnet/AppMesh/Outputs/GetVirtualNodeSpecBackendDefaultResult.cs new file mode 100644 index 00000000000..2369097a7e6 --- /dev/null +++ b/sdk/dotnet/AppMesh/Outputs/GetVirtualNodeSpecBackendDefaultResult.cs @@ -0,0 +1,24 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.AppMesh.Outputs +{ + + [OutputType] + public sealed class GetVirtualNodeSpecBackendDefaultResult + { + public readonly ImmutableArray ClientPolicies; + + [OutputConstructor] + private GetVirtualNodeSpecBackendDefaultResult(ImmutableArray clientPolicies) + { + ClientPolicies = clientPolicies; + } + } +} diff --git a/sdk/dotnet/AppMesh/Outputs/GetVirtualNodeSpecBackendResult.cs b/sdk/dotnet/AppMesh/Outputs/GetVirtualNodeSpecBackendResult.cs new file mode 100644 index 00000000000..cb5d9569448 --- /dev/null +++ b/sdk/dotnet/AppMesh/Outputs/GetVirtualNodeSpecBackendResult.cs @@ -0,0 +1,24 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.AppMesh.Outputs +{ + + [OutputType] + public sealed class GetVirtualNodeSpecBackendResult + { + public readonly ImmutableArray VirtualServices; + + [OutputConstructor] + private GetVirtualNodeSpecBackendResult(ImmutableArray virtualServices) + { + VirtualServices = virtualServices; + } + } +} diff --git a/sdk/dotnet/AppMesh/Outputs/GetVirtualNodeSpecBackendVirtualServiceClientPolicyResult.cs b/sdk/dotnet/AppMesh/Outputs/GetVirtualNodeSpecBackendVirtualServiceClientPolicyResult.cs new file mode 100644 index 00000000000..2ee633a30c1 --- /dev/null +++ b/sdk/dotnet/AppMesh/Outputs/GetVirtualNodeSpecBackendVirtualServiceClientPolicyResult.cs @@ -0,0 +1,24 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.AppMesh.Outputs +{ + + [OutputType] + public sealed class GetVirtualNodeSpecBackendVirtualServiceClientPolicyResult + { + public readonly ImmutableArray Tls; + + [OutputConstructor] + private GetVirtualNodeSpecBackendVirtualServiceClientPolicyResult(ImmutableArray tls) + { + Tls = tls; + } + } +} diff --git a/sdk/dotnet/AppMesh/Outputs/GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlCertificateFileResult.cs b/sdk/dotnet/AppMesh/Outputs/GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlCertificateFileResult.cs new file mode 100644 index 00000000000..583f3b7558c --- /dev/null +++ b/sdk/dotnet/AppMesh/Outputs/GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlCertificateFileResult.cs @@ -0,0 +1,29 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.AppMesh.Outputs +{ + + [OutputType] + public sealed class GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlCertificateFileResult + { + public readonly string CertificateChain; + public readonly string PrivateKey; + + [OutputConstructor] + private GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlCertificateFileResult( + string certificateChain, + + string privateKey) + { + CertificateChain = certificateChain; + PrivateKey = privateKey; + } + } +} diff --git a/sdk/dotnet/AppMesh/Outputs/GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlCertificateResult.cs b/sdk/dotnet/AppMesh/Outputs/GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlCertificateResult.cs new file mode 100644 index 00000000000..473710a657c --- /dev/null +++ b/sdk/dotnet/AppMesh/Outputs/GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlCertificateResult.cs @@ -0,0 +1,29 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.AppMesh.Outputs +{ + + [OutputType] + public sealed class GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlCertificateResult + { + public readonly ImmutableArray Files; + public readonly ImmutableArray Sds; + + [OutputConstructor] + private GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlCertificateResult( + ImmutableArray files, + + ImmutableArray sds) + { + Files = files; + Sds = sds; + } + } +} diff --git a/sdk/dotnet/AppMesh/Outputs/GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlCertificateSdResult.cs b/sdk/dotnet/AppMesh/Outputs/GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlCertificateSdResult.cs new file mode 100644 index 00000000000..50069f774c5 --- /dev/null +++ b/sdk/dotnet/AppMesh/Outputs/GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlCertificateSdResult.cs @@ -0,0 +1,24 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.AppMesh.Outputs +{ + + [OutputType] + public sealed class GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlCertificateSdResult + { + public readonly string SecretName; + + [OutputConstructor] + private GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlCertificateSdResult(string secretName) + { + SecretName = secretName; + } + } +} diff --git a/sdk/dotnet/AppMesh/Outputs/GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlResult.cs b/sdk/dotnet/AppMesh/Outputs/GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlResult.cs new file mode 100644 index 00000000000..640f3cc0826 --- /dev/null +++ b/sdk/dotnet/AppMesh/Outputs/GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlResult.cs @@ -0,0 +1,37 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.AppMesh.Outputs +{ + + [OutputType] + public sealed class GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlResult + { + public readonly ImmutableArray Certificates; + public readonly bool Enforce; + public readonly ImmutableArray Ports; + public readonly ImmutableArray Validations; + + [OutputConstructor] + private GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlResult( + ImmutableArray certificates, + + bool enforce, + + ImmutableArray ports, + + ImmutableArray validations) + { + Certificates = certificates; + Enforce = enforce; + Ports = ports; + Validations = validations; + } + } +} diff --git a/sdk/dotnet/AppMesh/Outputs/GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationResult.cs b/sdk/dotnet/AppMesh/Outputs/GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationResult.cs new file mode 100644 index 00000000000..b0ed020fe14 --- /dev/null +++ b/sdk/dotnet/AppMesh/Outputs/GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationResult.cs @@ -0,0 +1,29 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.AppMesh.Outputs +{ + + [OutputType] + public sealed class GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationResult + { + public readonly ImmutableArray SubjectAlternativeNames; + public readonly ImmutableArray Trusts; + + [OutputConstructor] + private GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationResult( + ImmutableArray subjectAlternativeNames, + + ImmutableArray trusts) + { + SubjectAlternativeNames = subjectAlternativeNames; + Trusts = trusts; + } + } +} diff --git a/sdk/dotnet/AppMesh/Outputs/GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationSubjectAlternativeNameMatchResult.cs b/sdk/dotnet/AppMesh/Outputs/GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationSubjectAlternativeNameMatchResult.cs new file mode 100644 index 00000000000..0603fead0ff --- /dev/null +++ b/sdk/dotnet/AppMesh/Outputs/GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationSubjectAlternativeNameMatchResult.cs @@ -0,0 +1,24 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.AppMesh.Outputs +{ + + [OutputType] + public sealed class GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationSubjectAlternativeNameMatchResult + { + public readonly ImmutableArray Exacts; + + [OutputConstructor] + private GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationSubjectAlternativeNameMatchResult(ImmutableArray exacts) + { + Exacts = exacts; + } + } +} diff --git a/sdk/dotnet/AppMesh/Outputs/GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationSubjectAlternativeNameResult.cs b/sdk/dotnet/AppMesh/Outputs/GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationSubjectAlternativeNameResult.cs new file mode 100644 index 00000000000..6c04ad6c0c5 --- /dev/null +++ b/sdk/dotnet/AppMesh/Outputs/GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationSubjectAlternativeNameResult.cs @@ -0,0 +1,24 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.AppMesh.Outputs +{ + + [OutputType] + public sealed class GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationSubjectAlternativeNameResult + { + public readonly ImmutableArray Matches; + + [OutputConstructor] + private GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationSubjectAlternativeNameResult(ImmutableArray matches) + { + Matches = matches; + } + } +} diff --git a/sdk/dotnet/AppMesh/Outputs/GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustAcmResult.cs b/sdk/dotnet/AppMesh/Outputs/GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustAcmResult.cs new file mode 100644 index 00000000000..260602676b3 --- /dev/null +++ b/sdk/dotnet/AppMesh/Outputs/GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustAcmResult.cs @@ -0,0 +1,24 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.AppMesh.Outputs +{ + + [OutputType] + public sealed class GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustAcmResult + { + public readonly ImmutableArray CertificateAuthorityArns; + + [OutputConstructor] + private GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustAcmResult(ImmutableArray certificateAuthorityArns) + { + CertificateAuthorityArns = certificateAuthorityArns; + } + } +} diff --git a/sdk/dotnet/AppMesh/Outputs/GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustFileResult.cs b/sdk/dotnet/AppMesh/Outputs/GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustFileResult.cs new file mode 100644 index 00000000000..61e551cec79 --- /dev/null +++ b/sdk/dotnet/AppMesh/Outputs/GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustFileResult.cs @@ -0,0 +1,24 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.AppMesh.Outputs +{ + + [OutputType] + public sealed class GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustFileResult + { + public readonly string CertificateChain; + + [OutputConstructor] + private GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustFileResult(string certificateChain) + { + CertificateChain = certificateChain; + } + } +} diff --git a/sdk/dotnet/AppMesh/Outputs/GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustResult.cs b/sdk/dotnet/AppMesh/Outputs/GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustResult.cs new file mode 100644 index 00000000000..5b53711061c --- /dev/null +++ b/sdk/dotnet/AppMesh/Outputs/GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustResult.cs @@ -0,0 +1,33 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.AppMesh.Outputs +{ + + [OutputType] + public sealed class GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustResult + { + public readonly ImmutableArray Acms; + public readonly ImmutableArray Files; + public readonly ImmutableArray Sds; + + [OutputConstructor] + private GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustResult( + ImmutableArray acms, + + ImmutableArray files, + + ImmutableArray sds) + { + Acms = acms; + Files = files; + Sds = sds; + } + } +} diff --git a/sdk/dotnet/AppMesh/Outputs/GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustSdResult.cs b/sdk/dotnet/AppMesh/Outputs/GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustSdResult.cs new file mode 100644 index 00000000000..abefa8c5198 --- /dev/null +++ b/sdk/dotnet/AppMesh/Outputs/GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustSdResult.cs @@ -0,0 +1,24 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.AppMesh.Outputs +{ + + [OutputType] + public sealed class GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustSdResult + { + public readonly string SecretName; + + [OutputConstructor] + private GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustSdResult(string secretName) + { + SecretName = secretName; + } + } +} diff --git a/sdk/dotnet/AppMesh/Outputs/GetVirtualNodeSpecBackendVirtualServiceResult.cs b/sdk/dotnet/AppMesh/Outputs/GetVirtualNodeSpecBackendVirtualServiceResult.cs new file mode 100644 index 00000000000..675a2fe5412 --- /dev/null +++ b/sdk/dotnet/AppMesh/Outputs/GetVirtualNodeSpecBackendVirtualServiceResult.cs @@ -0,0 +1,29 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.AppMesh.Outputs +{ + + [OutputType] + public sealed class GetVirtualNodeSpecBackendVirtualServiceResult + { + public readonly ImmutableArray ClientPolicies; + public readonly string VirtualServiceName; + + [OutputConstructor] + private GetVirtualNodeSpecBackendVirtualServiceResult( + ImmutableArray clientPolicies, + + string virtualServiceName) + { + ClientPolicies = clientPolicies; + VirtualServiceName = virtualServiceName; + } + } +} diff --git a/sdk/dotnet/AppMesh/Outputs/GetVirtualNodeSpecListenerConnectionPoolGrpcResult.cs b/sdk/dotnet/AppMesh/Outputs/GetVirtualNodeSpecListenerConnectionPoolGrpcResult.cs new file mode 100644 index 00000000000..3057ef86ec7 --- /dev/null +++ b/sdk/dotnet/AppMesh/Outputs/GetVirtualNodeSpecListenerConnectionPoolGrpcResult.cs @@ -0,0 +1,24 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.AppMesh.Outputs +{ + + [OutputType] + public sealed class GetVirtualNodeSpecListenerConnectionPoolGrpcResult + { + public readonly int MaxRequests; + + [OutputConstructor] + private GetVirtualNodeSpecListenerConnectionPoolGrpcResult(int maxRequests) + { + MaxRequests = maxRequests; + } + } +} diff --git a/sdk/dotnet/AppMesh/Outputs/GetVirtualNodeSpecListenerConnectionPoolHttp2Result.cs b/sdk/dotnet/AppMesh/Outputs/GetVirtualNodeSpecListenerConnectionPoolHttp2Result.cs new file mode 100644 index 00000000000..127dfa08c27 --- /dev/null +++ b/sdk/dotnet/AppMesh/Outputs/GetVirtualNodeSpecListenerConnectionPoolHttp2Result.cs @@ -0,0 +1,24 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.AppMesh.Outputs +{ + + [OutputType] + public sealed class GetVirtualNodeSpecListenerConnectionPoolHttp2Result + { + public readonly int MaxRequests; + + [OutputConstructor] + private GetVirtualNodeSpecListenerConnectionPoolHttp2Result(int maxRequests) + { + MaxRequests = maxRequests; + } + } +} diff --git a/sdk/dotnet/AppMesh/Outputs/GetVirtualNodeSpecListenerConnectionPoolHttpResult.cs b/sdk/dotnet/AppMesh/Outputs/GetVirtualNodeSpecListenerConnectionPoolHttpResult.cs new file mode 100644 index 00000000000..73014df09b5 --- /dev/null +++ b/sdk/dotnet/AppMesh/Outputs/GetVirtualNodeSpecListenerConnectionPoolHttpResult.cs @@ -0,0 +1,29 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.AppMesh.Outputs +{ + + [OutputType] + public sealed class GetVirtualNodeSpecListenerConnectionPoolHttpResult + { + public readonly int MaxConnections; + public readonly int MaxPendingRequests; + + [OutputConstructor] + private GetVirtualNodeSpecListenerConnectionPoolHttpResult( + int maxConnections, + + int maxPendingRequests) + { + MaxConnections = maxConnections; + MaxPendingRequests = maxPendingRequests; + } + } +} diff --git a/sdk/dotnet/AppMesh/Outputs/GetVirtualNodeSpecListenerConnectionPoolResult.cs b/sdk/dotnet/AppMesh/Outputs/GetVirtualNodeSpecListenerConnectionPoolResult.cs new file mode 100644 index 00000000000..c6cc8755e16 --- /dev/null +++ b/sdk/dotnet/AppMesh/Outputs/GetVirtualNodeSpecListenerConnectionPoolResult.cs @@ -0,0 +1,37 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.AppMesh.Outputs +{ + + [OutputType] + public sealed class GetVirtualNodeSpecListenerConnectionPoolResult + { + public readonly ImmutableArray Grpcs; + public readonly ImmutableArray Http2s; + public readonly ImmutableArray Https; + public readonly ImmutableArray Tcps; + + [OutputConstructor] + private GetVirtualNodeSpecListenerConnectionPoolResult( + ImmutableArray grpcs, + + ImmutableArray http2s, + + ImmutableArray https, + + ImmutableArray tcps) + { + Grpcs = grpcs; + Http2s = http2s; + Https = https; + Tcps = tcps; + } + } +} diff --git a/sdk/dotnet/AppMesh/Outputs/GetVirtualNodeSpecListenerConnectionPoolTcpResult.cs b/sdk/dotnet/AppMesh/Outputs/GetVirtualNodeSpecListenerConnectionPoolTcpResult.cs new file mode 100644 index 00000000000..bf0b66aff8d --- /dev/null +++ b/sdk/dotnet/AppMesh/Outputs/GetVirtualNodeSpecListenerConnectionPoolTcpResult.cs @@ -0,0 +1,24 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.AppMesh.Outputs +{ + + [OutputType] + public sealed class GetVirtualNodeSpecListenerConnectionPoolTcpResult + { + public readonly int MaxConnections; + + [OutputConstructor] + private GetVirtualNodeSpecListenerConnectionPoolTcpResult(int maxConnections) + { + MaxConnections = maxConnections; + } + } +} diff --git a/sdk/dotnet/AppMesh/Outputs/GetVirtualNodeSpecListenerHealthCheckResult.cs b/sdk/dotnet/AppMesh/Outputs/GetVirtualNodeSpecListenerHealthCheckResult.cs new file mode 100644 index 00000000000..3f7277b8e93 --- /dev/null +++ b/sdk/dotnet/AppMesh/Outputs/GetVirtualNodeSpecListenerHealthCheckResult.cs @@ -0,0 +1,49 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.AppMesh.Outputs +{ + + [OutputType] + public sealed class GetVirtualNodeSpecListenerHealthCheckResult + { + public readonly int HealthyThreshold; + public readonly int IntervalMillis; + public readonly string Path; + public readonly int Port; + public readonly string Protocol; + public readonly int TimeoutMillis; + public readonly int UnhealthyThreshold; + + [OutputConstructor] + private GetVirtualNodeSpecListenerHealthCheckResult( + int healthyThreshold, + + int intervalMillis, + + string path, + + int port, + + string protocol, + + int timeoutMillis, + + int unhealthyThreshold) + { + HealthyThreshold = healthyThreshold; + IntervalMillis = intervalMillis; + Path = path; + Port = port; + Protocol = protocol; + TimeoutMillis = timeoutMillis; + UnhealthyThreshold = unhealthyThreshold; + } + } +} diff --git a/sdk/dotnet/AppMesh/Outputs/GetVirtualNodeSpecListenerOutlierDetectionBaseEjectionDurationResult.cs b/sdk/dotnet/AppMesh/Outputs/GetVirtualNodeSpecListenerOutlierDetectionBaseEjectionDurationResult.cs new file mode 100644 index 00000000000..e7ddba7c335 --- /dev/null +++ b/sdk/dotnet/AppMesh/Outputs/GetVirtualNodeSpecListenerOutlierDetectionBaseEjectionDurationResult.cs @@ -0,0 +1,29 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.AppMesh.Outputs +{ + + [OutputType] + public sealed class GetVirtualNodeSpecListenerOutlierDetectionBaseEjectionDurationResult + { + public readonly string Unit; + public readonly int Value; + + [OutputConstructor] + private GetVirtualNodeSpecListenerOutlierDetectionBaseEjectionDurationResult( + string unit, + + int value) + { + Unit = unit; + Value = value; + } + } +} diff --git a/sdk/dotnet/AppMesh/Outputs/GetVirtualNodeSpecListenerOutlierDetectionIntervalResult.cs b/sdk/dotnet/AppMesh/Outputs/GetVirtualNodeSpecListenerOutlierDetectionIntervalResult.cs new file mode 100644 index 00000000000..04d500fdacc --- /dev/null +++ b/sdk/dotnet/AppMesh/Outputs/GetVirtualNodeSpecListenerOutlierDetectionIntervalResult.cs @@ -0,0 +1,29 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.AppMesh.Outputs +{ + + [OutputType] + public sealed class GetVirtualNodeSpecListenerOutlierDetectionIntervalResult + { + public readonly string Unit; + public readonly int Value; + + [OutputConstructor] + private GetVirtualNodeSpecListenerOutlierDetectionIntervalResult( + string unit, + + int value) + { + Unit = unit; + Value = value; + } + } +} diff --git a/sdk/dotnet/AppMesh/Outputs/GetVirtualNodeSpecListenerOutlierDetectionResult.cs b/sdk/dotnet/AppMesh/Outputs/GetVirtualNodeSpecListenerOutlierDetectionResult.cs new file mode 100644 index 00000000000..e027402d723 --- /dev/null +++ b/sdk/dotnet/AppMesh/Outputs/GetVirtualNodeSpecListenerOutlierDetectionResult.cs @@ -0,0 +1,37 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.AppMesh.Outputs +{ + + [OutputType] + public sealed class GetVirtualNodeSpecListenerOutlierDetectionResult + { + public readonly ImmutableArray BaseEjectionDurations; + public readonly ImmutableArray Intervals; + public readonly int MaxEjectionPercent; + public readonly int MaxServerErrors; + + [OutputConstructor] + private GetVirtualNodeSpecListenerOutlierDetectionResult( + ImmutableArray baseEjectionDurations, + + ImmutableArray intervals, + + int maxEjectionPercent, + + int maxServerErrors) + { + BaseEjectionDurations = baseEjectionDurations; + Intervals = intervals; + MaxEjectionPercent = maxEjectionPercent; + MaxServerErrors = maxServerErrors; + } + } +} diff --git a/sdk/dotnet/AppMesh/Outputs/GetVirtualNodeSpecListenerPortMappingResult.cs b/sdk/dotnet/AppMesh/Outputs/GetVirtualNodeSpecListenerPortMappingResult.cs new file mode 100644 index 00000000000..cab68e877c2 --- /dev/null +++ b/sdk/dotnet/AppMesh/Outputs/GetVirtualNodeSpecListenerPortMappingResult.cs @@ -0,0 +1,29 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.AppMesh.Outputs +{ + + [OutputType] + public sealed class GetVirtualNodeSpecListenerPortMappingResult + { + public readonly int Port; + public readonly string Protocol; + + [OutputConstructor] + private GetVirtualNodeSpecListenerPortMappingResult( + int port, + + string protocol) + { + Port = port; + Protocol = protocol; + } + } +} diff --git a/sdk/dotnet/AppMesh/Outputs/GetVirtualNodeSpecListenerResult.cs b/sdk/dotnet/AppMesh/Outputs/GetVirtualNodeSpecListenerResult.cs new file mode 100644 index 00000000000..4cf675c7486 --- /dev/null +++ b/sdk/dotnet/AppMesh/Outputs/GetVirtualNodeSpecListenerResult.cs @@ -0,0 +1,45 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.AppMesh.Outputs +{ + + [OutputType] + public sealed class GetVirtualNodeSpecListenerResult + { + public readonly ImmutableArray ConnectionPools; + public readonly ImmutableArray HealthChecks; + public readonly ImmutableArray OutlierDetections; + public readonly ImmutableArray PortMappings; + public readonly ImmutableArray Timeouts; + public readonly ImmutableArray Tls; + + [OutputConstructor] + private GetVirtualNodeSpecListenerResult( + ImmutableArray connectionPools, + + ImmutableArray healthChecks, + + ImmutableArray outlierDetections, + + ImmutableArray portMappings, + + ImmutableArray timeouts, + + ImmutableArray tls) + { + ConnectionPools = connectionPools; + HealthChecks = healthChecks; + OutlierDetections = outlierDetections; + PortMappings = portMappings; + Timeouts = timeouts; + Tls = tls; + } + } +} diff --git a/sdk/dotnet/AppMesh/Outputs/GetVirtualNodeSpecListenerTimeoutGrpcIdleResult.cs b/sdk/dotnet/AppMesh/Outputs/GetVirtualNodeSpecListenerTimeoutGrpcIdleResult.cs new file mode 100644 index 00000000000..2873f7de0b2 --- /dev/null +++ b/sdk/dotnet/AppMesh/Outputs/GetVirtualNodeSpecListenerTimeoutGrpcIdleResult.cs @@ -0,0 +1,29 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.AppMesh.Outputs +{ + + [OutputType] + public sealed class GetVirtualNodeSpecListenerTimeoutGrpcIdleResult + { + public readonly string Unit; + public readonly int Value; + + [OutputConstructor] + private GetVirtualNodeSpecListenerTimeoutGrpcIdleResult( + string unit, + + int value) + { + Unit = unit; + Value = value; + } + } +} diff --git a/sdk/dotnet/AppMesh/Outputs/GetVirtualNodeSpecListenerTimeoutGrpcPerRequestResult.cs b/sdk/dotnet/AppMesh/Outputs/GetVirtualNodeSpecListenerTimeoutGrpcPerRequestResult.cs new file mode 100644 index 00000000000..4639b53ba6e --- /dev/null +++ b/sdk/dotnet/AppMesh/Outputs/GetVirtualNodeSpecListenerTimeoutGrpcPerRequestResult.cs @@ -0,0 +1,29 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.AppMesh.Outputs +{ + + [OutputType] + public sealed class GetVirtualNodeSpecListenerTimeoutGrpcPerRequestResult + { + public readonly string Unit; + public readonly int Value; + + [OutputConstructor] + private GetVirtualNodeSpecListenerTimeoutGrpcPerRequestResult( + string unit, + + int value) + { + Unit = unit; + Value = value; + } + } +} diff --git a/sdk/dotnet/AppMesh/Outputs/GetVirtualNodeSpecListenerTimeoutGrpcResult.cs b/sdk/dotnet/AppMesh/Outputs/GetVirtualNodeSpecListenerTimeoutGrpcResult.cs new file mode 100644 index 00000000000..69de976f2d2 --- /dev/null +++ b/sdk/dotnet/AppMesh/Outputs/GetVirtualNodeSpecListenerTimeoutGrpcResult.cs @@ -0,0 +1,29 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.AppMesh.Outputs +{ + + [OutputType] + public sealed class GetVirtualNodeSpecListenerTimeoutGrpcResult + { + public readonly ImmutableArray Idles; + public readonly ImmutableArray PerRequests; + + [OutputConstructor] + private GetVirtualNodeSpecListenerTimeoutGrpcResult( + ImmutableArray idles, + + ImmutableArray perRequests) + { + Idles = idles; + PerRequests = perRequests; + } + } +} diff --git a/sdk/dotnet/AppMesh/Outputs/GetVirtualNodeSpecListenerTimeoutHttp2IdleResult.cs b/sdk/dotnet/AppMesh/Outputs/GetVirtualNodeSpecListenerTimeoutHttp2IdleResult.cs new file mode 100644 index 00000000000..74fbccb204d --- /dev/null +++ b/sdk/dotnet/AppMesh/Outputs/GetVirtualNodeSpecListenerTimeoutHttp2IdleResult.cs @@ -0,0 +1,29 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.AppMesh.Outputs +{ + + [OutputType] + public sealed class GetVirtualNodeSpecListenerTimeoutHttp2IdleResult + { + public readonly string Unit; + public readonly int Value; + + [OutputConstructor] + private GetVirtualNodeSpecListenerTimeoutHttp2IdleResult( + string unit, + + int value) + { + Unit = unit; + Value = value; + } + } +} diff --git a/sdk/dotnet/AppMesh/Outputs/GetVirtualNodeSpecListenerTimeoutHttp2PerRequestResult.cs b/sdk/dotnet/AppMesh/Outputs/GetVirtualNodeSpecListenerTimeoutHttp2PerRequestResult.cs new file mode 100644 index 00000000000..eb2affa7223 --- /dev/null +++ b/sdk/dotnet/AppMesh/Outputs/GetVirtualNodeSpecListenerTimeoutHttp2PerRequestResult.cs @@ -0,0 +1,29 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.AppMesh.Outputs +{ + + [OutputType] + public sealed class GetVirtualNodeSpecListenerTimeoutHttp2PerRequestResult + { + public readonly string Unit; + public readonly int Value; + + [OutputConstructor] + private GetVirtualNodeSpecListenerTimeoutHttp2PerRequestResult( + string unit, + + int value) + { + Unit = unit; + Value = value; + } + } +} diff --git a/sdk/dotnet/AppMesh/Outputs/GetVirtualNodeSpecListenerTimeoutHttp2Result.cs b/sdk/dotnet/AppMesh/Outputs/GetVirtualNodeSpecListenerTimeoutHttp2Result.cs new file mode 100644 index 00000000000..e5c2fe5d170 --- /dev/null +++ b/sdk/dotnet/AppMesh/Outputs/GetVirtualNodeSpecListenerTimeoutHttp2Result.cs @@ -0,0 +1,29 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.AppMesh.Outputs +{ + + [OutputType] + public sealed class GetVirtualNodeSpecListenerTimeoutHttp2Result + { + public readonly ImmutableArray Idles; + public readonly ImmutableArray PerRequests; + + [OutputConstructor] + private GetVirtualNodeSpecListenerTimeoutHttp2Result( + ImmutableArray idles, + + ImmutableArray perRequests) + { + Idles = idles; + PerRequests = perRequests; + } + } +} diff --git a/sdk/dotnet/AppMesh/Outputs/GetVirtualNodeSpecListenerTimeoutHttpIdleResult.cs b/sdk/dotnet/AppMesh/Outputs/GetVirtualNodeSpecListenerTimeoutHttpIdleResult.cs new file mode 100644 index 00000000000..d78ea796d92 --- /dev/null +++ b/sdk/dotnet/AppMesh/Outputs/GetVirtualNodeSpecListenerTimeoutHttpIdleResult.cs @@ -0,0 +1,29 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.AppMesh.Outputs +{ + + [OutputType] + public sealed class GetVirtualNodeSpecListenerTimeoutHttpIdleResult + { + public readonly string Unit; + public readonly int Value; + + [OutputConstructor] + private GetVirtualNodeSpecListenerTimeoutHttpIdleResult( + string unit, + + int value) + { + Unit = unit; + Value = value; + } + } +} diff --git a/sdk/dotnet/AppMesh/Outputs/GetVirtualNodeSpecListenerTimeoutHttpPerRequestResult.cs b/sdk/dotnet/AppMesh/Outputs/GetVirtualNodeSpecListenerTimeoutHttpPerRequestResult.cs new file mode 100644 index 00000000000..abc530f47da --- /dev/null +++ b/sdk/dotnet/AppMesh/Outputs/GetVirtualNodeSpecListenerTimeoutHttpPerRequestResult.cs @@ -0,0 +1,29 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.AppMesh.Outputs +{ + + [OutputType] + public sealed class GetVirtualNodeSpecListenerTimeoutHttpPerRequestResult + { + public readonly string Unit; + public readonly int Value; + + [OutputConstructor] + private GetVirtualNodeSpecListenerTimeoutHttpPerRequestResult( + string unit, + + int value) + { + Unit = unit; + Value = value; + } + } +} diff --git a/sdk/dotnet/AppMesh/Outputs/GetVirtualNodeSpecListenerTimeoutHttpResult.cs b/sdk/dotnet/AppMesh/Outputs/GetVirtualNodeSpecListenerTimeoutHttpResult.cs new file mode 100644 index 00000000000..0317a2f84ce --- /dev/null +++ b/sdk/dotnet/AppMesh/Outputs/GetVirtualNodeSpecListenerTimeoutHttpResult.cs @@ -0,0 +1,29 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.AppMesh.Outputs +{ + + [OutputType] + public sealed class GetVirtualNodeSpecListenerTimeoutHttpResult + { + public readonly ImmutableArray Idles; + public readonly ImmutableArray PerRequests; + + [OutputConstructor] + private GetVirtualNodeSpecListenerTimeoutHttpResult( + ImmutableArray idles, + + ImmutableArray perRequests) + { + Idles = idles; + PerRequests = perRequests; + } + } +} diff --git a/sdk/dotnet/AppMesh/Outputs/GetVirtualNodeSpecListenerTimeoutResult.cs b/sdk/dotnet/AppMesh/Outputs/GetVirtualNodeSpecListenerTimeoutResult.cs new file mode 100644 index 00000000000..525ad41c735 --- /dev/null +++ b/sdk/dotnet/AppMesh/Outputs/GetVirtualNodeSpecListenerTimeoutResult.cs @@ -0,0 +1,37 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.AppMesh.Outputs +{ + + [OutputType] + public sealed class GetVirtualNodeSpecListenerTimeoutResult + { + public readonly ImmutableArray Grpcs; + public readonly ImmutableArray Http2s; + public readonly ImmutableArray Https; + public readonly ImmutableArray Tcps; + + [OutputConstructor] + private GetVirtualNodeSpecListenerTimeoutResult( + ImmutableArray grpcs, + + ImmutableArray http2s, + + ImmutableArray https, + + ImmutableArray tcps) + { + Grpcs = grpcs; + Http2s = http2s; + Https = https; + Tcps = tcps; + } + } +} diff --git a/sdk/dotnet/AppMesh/Outputs/GetVirtualNodeSpecListenerTimeoutTcpIdleResult.cs b/sdk/dotnet/AppMesh/Outputs/GetVirtualNodeSpecListenerTimeoutTcpIdleResult.cs new file mode 100644 index 00000000000..b35a46e779f --- /dev/null +++ b/sdk/dotnet/AppMesh/Outputs/GetVirtualNodeSpecListenerTimeoutTcpIdleResult.cs @@ -0,0 +1,29 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.AppMesh.Outputs +{ + + [OutputType] + public sealed class GetVirtualNodeSpecListenerTimeoutTcpIdleResult + { + public readonly string Unit; + public readonly int Value; + + [OutputConstructor] + private GetVirtualNodeSpecListenerTimeoutTcpIdleResult( + string unit, + + int value) + { + Unit = unit; + Value = value; + } + } +} diff --git a/sdk/dotnet/AppMesh/Outputs/GetVirtualNodeSpecListenerTimeoutTcpResult.cs b/sdk/dotnet/AppMesh/Outputs/GetVirtualNodeSpecListenerTimeoutTcpResult.cs new file mode 100644 index 00000000000..be8abe26ca4 --- /dev/null +++ b/sdk/dotnet/AppMesh/Outputs/GetVirtualNodeSpecListenerTimeoutTcpResult.cs @@ -0,0 +1,24 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.AppMesh.Outputs +{ + + [OutputType] + public sealed class GetVirtualNodeSpecListenerTimeoutTcpResult + { + public readonly ImmutableArray Idles; + + [OutputConstructor] + private GetVirtualNodeSpecListenerTimeoutTcpResult(ImmutableArray idles) + { + Idles = idles; + } + } +} diff --git a/sdk/dotnet/AppMesh/Outputs/GetVirtualNodeSpecListenerTlCertificateAcmResult.cs b/sdk/dotnet/AppMesh/Outputs/GetVirtualNodeSpecListenerTlCertificateAcmResult.cs new file mode 100644 index 00000000000..fcccaceace8 --- /dev/null +++ b/sdk/dotnet/AppMesh/Outputs/GetVirtualNodeSpecListenerTlCertificateAcmResult.cs @@ -0,0 +1,24 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.AppMesh.Outputs +{ + + [OutputType] + public sealed class GetVirtualNodeSpecListenerTlCertificateAcmResult + { + public readonly string CertificateArn; + + [OutputConstructor] + private GetVirtualNodeSpecListenerTlCertificateAcmResult(string certificateArn) + { + CertificateArn = certificateArn; + } + } +} diff --git a/sdk/dotnet/AppMesh/Outputs/GetVirtualNodeSpecListenerTlCertificateFileResult.cs b/sdk/dotnet/AppMesh/Outputs/GetVirtualNodeSpecListenerTlCertificateFileResult.cs new file mode 100644 index 00000000000..a08cf5c231d --- /dev/null +++ b/sdk/dotnet/AppMesh/Outputs/GetVirtualNodeSpecListenerTlCertificateFileResult.cs @@ -0,0 +1,29 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.AppMesh.Outputs +{ + + [OutputType] + public sealed class GetVirtualNodeSpecListenerTlCertificateFileResult + { + public readonly string CertificateChain; + public readonly string PrivateKey; + + [OutputConstructor] + private GetVirtualNodeSpecListenerTlCertificateFileResult( + string certificateChain, + + string privateKey) + { + CertificateChain = certificateChain; + PrivateKey = privateKey; + } + } +} diff --git a/sdk/dotnet/AppMesh/Outputs/GetVirtualNodeSpecListenerTlCertificateResult.cs b/sdk/dotnet/AppMesh/Outputs/GetVirtualNodeSpecListenerTlCertificateResult.cs new file mode 100644 index 00000000000..8c0adeb6ab0 --- /dev/null +++ b/sdk/dotnet/AppMesh/Outputs/GetVirtualNodeSpecListenerTlCertificateResult.cs @@ -0,0 +1,33 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.AppMesh.Outputs +{ + + [OutputType] + public sealed class GetVirtualNodeSpecListenerTlCertificateResult + { + public readonly ImmutableArray Acms; + public readonly ImmutableArray Files; + public readonly ImmutableArray Sds; + + [OutputConstructor] + private GetVirtualNodeSpecListenerTlCertificateResult( + ImmutableArray acms, + + ImmutableArray files, + + ImmutableArray sds) + { + Acms = acms; + Files = files; + Sds = sds; + } + } +} diff --git a/sdk/dotnet/AppMesh/Outputs/GetVirtualNodeSpecListenerTlCertificateSdResult.cs b/sdk/dotnet/AppMesh/Outputs/GetVirtualNodeSpecListenerTlCertificateSdResult.cs new file mode 100644 index 00000000000..eba34f24e68 --- /dev/null +++ b/sdk/dotnet/AppMesh/Outputs/GetVirtualNodeSpecListenerTlCertificateSdResult.cs @@ -0,0 +1,24 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.AppMesh.Outputs +{ + + [OutputType] + public sealed class GetVirtualNodeSpecListenerTlCertificateSdResult + { + public readonly string SecretName; + + [OutputConstructor] + private GetVirtualNodeSpecListenerTlCertificateSdResult(string secretName) + { + SecretName = secretName; + } + } +} diff --git a/sdk/dotnet/AppMesh/Outputs/GetVirtualNodeSpecListenerTlResult.cs b/sdk/dotnet/AppMesh/Outputs/GetVirtualNodeSpecListenerTlResult.cs new file mode 100644 index 00000000000..6cc10a8c210 --- /dev/null +++ b/sdk/dotnet/AppMesh/Outputs/GetVirtualNodeSpecListenerTlResult.cs @@ -0,0 +1,33 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.AppMesh.Outputs +{ + + [OutputType] + public sealed class GetVirtualNodeSpecListenerTlResult + { + public readonly ImmutableArray Certificates; + public readonly string Mode; + public readonly ImmutableArray Validations; + + [OutputConstructor] + private GetVirtualNodeSpecListenerTlResult( + ImmutableArray certificates, + + string mode, + + ImmutableArray validations) + { + Certificates = certificates; + Mode = mode; + Validations = validations; + } + } +} diff --git a/sdk/dotnet/AppMesh/Outputs/GetVirtualNodeSpecListenerTlValidationResult.cs b/sdk/dotnet/AppMesh/Outputs/GetVirtualNodeSpecListenerTlValidationResult.cs new file mode 100644 index 00000000000..4406aa14996 --- /dev/null +++ b/sdk/dotnet/AppMesh/Outputs/GetVirtualNodeSpecListenerTlValidationResult.cs @@ -0,0 +1,29 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.AppMesh.Outputs +{ + + [OutputType] + public sealed class GetVirtualNodeSpecListenerTlValidationResult + { + public readonly ImmutableArray SubjectAlternativeNames; + public readonly ImmutableArray Trusts; + + [OutputConstructor] + private GetVirtualNodeSpecListenerTlValidationResult( + ImmutableArray subjectAlternativeNames, + + ImmutableArray trusts) + { + SubjectAlternativeNames = subjectAlternativeNames; + Trusts = trusts; + } + } +} diff --git a/sdk/dotnet/AppMesh/Outputs/GetVirtualNodeSpecListenerTlValidationSubjectAlternativeNameMatchResult.cs b/sdk/dotnet/AppMesh/Outputs/GetVirtualNodeSpecListenerTlValidationSubjectAlternativeNameMatchResult.cs new file mode 100644 index 00000000000..605e041fd5e --- /dev/null +++ b/sdk/dotnet/AppMesh/Outputs/GetVirtualNodeSpecListenerTlValidationSubjectAlternativeNameMatchResult.cs @@ -0,0 +1,24 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.AppMesh.Outputs +{ + + [OutputType] + public sealed class GetVirtualNodeSpecListenerTlValidationSubjectAlternativeNameMatchResult + { + public readonly ImmutableArray Exacts; + + [OutputConstructor] + private GetVirtualNodeSpecListenerTlValidationSubjectAlternativeNameMatchResult(ImmutableArray exacts) + { + Exacts = exacts; + } + } +} diff --git a/sdk/dotnet/AppMesh/Outputs/GetVirtualNodeSpecListenerTlValidationSubjectAlternativeNameResult.cs b/sdk/dotnet/AppMesh/Outputs/GetVirtualNodeSpecListenerTlValidationSubjectAlternativeNameResult.cs new file mode 100644 index 00000000000..b2ea02d6790 --- /dev/null +++ b/sdk/dotnet/AppMesh/Outputs/GetVirtualNodeSpecListenerTlValidationSubjectAlternativeNameResult.cs @@ -0,0 +1,24 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.AppMesh.Outputs +{ + + [OutputType] + public sealed class GetVirtualNodeSpecListenerTlValidationSubjectAlternativeNameResult + { + public readonly ImmutableArray Matches; + + [OutputConstructor] + private GetVirtualNodeSpecListenerTlValidationSubjectAlternativeNameResult(ImmutableArray matches) + { + Matches = matches; + } + } +} diff --git a/sdk/dotnet/AppMesh/Outputs/GetVirtualNodeSpecListenerTlValidationTrustFileResult.cs b/sdk/dotnet/AppMesh/Outputs/GetVirtualNodeSpecListenerTlValidationTrustFileResult.cs new file mode 100644 index 00000000000..92f6fc35939 --- /dev/null +++ b/sdk/dotnet/AppMesh/Outputs/GetVirtualNodeSpecListenerTlValidationTrustFileResult.cs @@ -0,0 +1,24 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.AppMesh.Outputs +{ + + [OutputType] + public sealed class GetVirtualNodeSpecListenerTlValidationTrustFileResult + { + public readonly string CertificateChain; + + [OutputConstructor] + private GetVirtualNodeSpecListenerTlValidationTrustFileResult(string certificateChain) + { + CertificateChain = certificateChain; + } + } +} diff --git a/sdk/dotnet/AppMesh/Outputs/GetVirtualNodeSpecListenerTlValidationTrustResult.cs b/sdk/dotnet/AppMesh/Outputs/GetVirtualNodeSpecListenerTlValidationTrustResult.cs new file mode 100644 index 00000000000..701dd3e61a3 --- /dev/null +++ b/sdk/dotnet/AppMesh/Outputs/GetVirtualNodeSpecListenerTlValidationTrustResult.cs @@ -0,0 +1,29 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.AppMesh.Outputs +{ + + [OutputType] + public sealed class GetVirtualNodeSpecListenerTlValidationTrustResult + { + public readonly ImmutableArray Files; + public readonly ImmutableArray Sds; + + [OutputConstructor] + private GetVirtualNodeSpecListenerTlValidationTrustResult( + ImmutableArray files, + + ImmutableArray sds) + { + Files = files; + Sds = sds; + } + } +} diff --git a/sdk/dotnet/AppMesh/Outputs/GetVirtualNodeSpecListenerTlValidationTrustSdResult.cs b/sdk/dotnet/AppMesh/Outputs/GetVirtualNodeSpecListenerTlValidationTrustSdResult.cs new file mode 100644 index 00000000000..150ae97115e --- /dev/null +++ b/sdk/dotnet/AppMesh/Outputs/GetVirtualNodeSpecListenerTlValidationTrustSdResult.cs @@ -0,0 +1,24 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.AppMesh.Outputs +{ + + [OutputType] + public sealed class GetVirtualNodeSpecListenerTlValidationTrustSdResult + { + public readonly string SecretName; + + [OutputConstructor] + private GetVirtualNodeSpecListenerTlValidationTrustSdResult(string secretName) + { + SecretName = secretName; + } + } +} diff --git a/sdk/dotnet/AppMesh/Outputs/GetVirtualNodeSpecLoggingAccessLogFileFormatJsonResult.cs b/sdk/dotnet/AppMesh/Outputs/GetVirtualNodeSpecLoggingAccessLogFileFormatJsonResult.cs new file mode 100644 index 00000000000..cfcb21861fd --- /dev/null +++ b/sdk/dotnet/AppMesh/Outputs/GetVirtualNodeSpecLoggingAccessLogFileFormatJsonResult.cs @@ -0,0 +1,29 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.AppMesh.Outputs +{ + + [OutputType] + public sealed class GetVirtualNodeSpecLoggingAccessLogFileFormatJsonResult + { + public readonly string Key; + public readonly string Value; + + [OutputConstructor] + private GetVirtualNodeSpecLoggingAccessLogFileFormatJsonResult( + string key, + + string value) + { + Key = key; + Value = value; + } + } +} diff --git a/sdk/dotnet/AppMesh/Outputs/GetVirtualNodeSpecLoggingAccessLogFileFormatResult.cs b/sdk/dotnet/AppMesh/Outputs/GetVirtualNodeSpecLoggingAccessLogFileFormatResult.cs new file mode 100644 index 00000000000..a0e5026f019 --- /dev/null +++ b/sdk/dotnet/AppMesh/Outputs/GetVirtualNodeSpecLoggingAccessLogFileFormatResult.cs @@ -0,0 +1,29 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.AppMesh.Outputs +{ + + [OutputType] + public sealed class GetVirtualNodeSpecLoggingAccessLogFileFormatResult + { + public readonly ImmutableArray Jsons; + public readonly string Text; + + [OutputConstructor] + private GetVirtualNodeSpecLoggingAccessLogFileFormatResult( + ImmutableArray jsons, + + string text) + { + Jsons = jsons; + Text = text; + } + } +} diff --git a/sdk/dotnet/AppMesh/Outputs/GetVirtualNodeSpecLoggingAccessLogFileResult.cs b/sdk/dotnet/AppMesh/Outputs/GetVirtualNodeSpecLoggingAccessLogFileResult.cs new file mode 100644 index 00000000000..556ed731bd2 --- /dev/null +++ b/sdk/dotnet/AppMesh/Outputs/GetVirtualNodeSpecLoggingAccessLogFileResult.cs @@ -0,0 +1,29 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.AppMesh.Outputs +{ + + [OutputType] + public sealed class GetVirtualNodeSpecLoggingAccessLogFileResult + { + public readonly ImmutableArray Formats; + public readonly string Path; + + [OutputConstructor] + private GetVirtualNodeSpecLoggingAccessLogFileResult( + ImmutableArray formats, + + string path) + { + Formats = formats; + Path = path; + } + } +} diff --git a/sdk/dotnet/AppMesh/Outputs/GetVirtualNodeSpecLoggingAccessLogResult.cs b/sdk/dotnet/AppMesh/Outputs/GetVirtualNodeSpecLoggingAccessLogResult.cs new file mode 100644 index 00000000000..d21dfe81b71 --- /dev/null +++ b/sdk/dotnet/AppMesh/Outputs/GetVirtualNodeSpecLoggingAccessLogResult.cs @@ -0,0 +1,24 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.AppMesh.Outputs +{ + + [OutputType] + public sealed class GetVirtualNodeSpecLoggingAccessLogResult + { + public readonly ImmutableArray Files; + + [OutputConstructor] + private GetVirtualNodeSpecLoggingAccessLogResult(ImmutableArray files) + { + Files = files; + } + } +} diff --git a/sdk/dotnet/AppMesh/Outputs/GetVirtualNodeSpecLoggingResult.cs b/sdk/dotnet/AppMesh/Outputs/GetVirtualNodeSpecLoggingResult.cs new file mode 100644 index 00000000000..6d1f6a48aa2 --- /dev/null +++ b/sdk/dotnet/AppMesh/Outputs/GetVirtualNodeSpecLoggingResult.cs @@ -0,0 +1,24 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.AppMesh.Outputs +{ + + [OutputType] + public sealed class GetVirtualNodeSpecLoggingResult + { + public readonly ImmutableArray AccessLogs; + + [OutputConstructor] + private GetVirtualNodeSpecLoggingResult(ImmutableArray accessLogs) + { + AccessLogs = accessLogs; + } + } +} diff --git a/sdk/dotnet/AppMesh/Outputs/GetVirtualNodeSpecResult.cs b/sdk/dotnet/AppMesh/Outputs/GetVirtualNodeSpecResult.cs new file mode 100644 index 00000000000..d9b487ea350 --- /dev/null +++ b/sdk/dotnet/AppMesh/Outputs/GetVirtualNodeSpecResult.cs @@ -0,0 +1,41 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.AppMesh.Outputs +{ + + [OutputType] + public sealed class GetVirtualNodeSpecResult + { + public readonly ImmutableArray BackendDefaults; + public readonly ImmutableArray Backends; + public readonly ImmutableArray Listeners; + public readonly ImmutableArray Loggings; + public readonly ImmutableArray ServiceDiscoveries; + + [OutputConstructor] + private GetVirtualNodeSpecResult( + ImmutableArray backendDefaults, + + ImmutableArray backends, + + ImmutableArray listeners, + + ImmutableArray loggings, + + ImmutableArray serviceDiscoveries) + { + BackendDefaults = backendDefaults; + Backends = backends; + Listeners = listeners; + Loggings = loggings; + ServiceDiscoveries = serviceDiscoveries; + } + } +} diff --git a/sdk/dotnet/AppMesh/Outputs/GetVirtualNodeSpecServiceDiscoveryAwsCloudMapResult.cs b/sdk/dotnet/AppMesh/Outputs/GetVirtualNodeSpecServiceDiscoveryAwsCloudMapResult.cs new file mode 100644 index 00000000000..9161e8b8df4 --- /dev/null +++ b/sdk/dotnet/AppMesh/Outputs/GetVirtualNodeSpecServiceDiscoveryAwsCloudMapResult.cs @@ -0,0 +1,33 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.AppMesh.Outputs +{ + + [OutputType] + public sealed class GetVirtualNodeSpecServiceDiscoveryAwsCloudMapResult + { + public readonly ImmutableDictionary Attributes; + public readonly string NamespaceName; + public readonly string ServiceName; + + [OutputConstructor] + private GetVirtualNodeSpecServiceDiscoveryAwsCloudMapResult( + ImmutableDictionary attributes, + + string namespaceName, + + string serviceName) + { + Attributes = attributes; + NamespaceName = namespaceName; + ServiceName = serviceName; + } + } +} diff --git a/sdk/dotnet/AppMesh/Outputs/GetVirtualNodeSpecServiceDiscoveryDnResult.cs b/sdk/dotnet/AppMesh/Outputs/GetVirtualNodeSpecServiceDiscoveryDnResult.cs new file mode 100644 index 00000000000..b6d969ae7a9 --- /dev/null +++ b/sdk/dotnet/AppMesh/Outputs/GetVirtualNodeSpecServiceDiscoveryDnResult.cs @@ -0,0 +1,33 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.AppMesh.Outputs +{ + + [OutputType] + public sealed class GetVirtualNodeSpecServiceDiscoveryDnResult + { + public readonly string Hostname; + public readonly string IpPreference; + public readonly string ResponseType; + + [OutputConstructor] + private GetVirtualNodeSpecServiceDiscoveryDnResult( + string hostname, + + string ipPreference, + + string responseType) + { + Hostname = hostname; + IpPreference = ipPreference; + ResponseType = responseType; + } + } +} diff --git a/sdk/dotnet/AppMesh/Outputs/GetVirtualNodeSpecServiceDiscoveryResult.cs b/sdk/dotnet/AppMesh/Outputs/GetVirtualNodeSpecServiceDiscoveryResult.cs new file mode 100644 index 00000000000..9a64792a5fa --- /dev/null +++ b/sdk/dotnet/AppMesh/Outputs/GetVirtualNodeSpecServiceDiscoveryResult.cs @@ -0,0 +1,29 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.AppMesh.Outputs +{ + + [OutputType] + public sealed class GetVirtualNodeSpecServiceDiscoveryResult + { + public readonly ImmutableArray AwsCloudMaps; + public readonly ImmutableArray Dns; + + [OutputConstructor] + private GetVirtualNodeSpecServiceDiscoveryResult( + ImmutableArray awsCloudMaps, + + ImmutableArray dns) + { + AwsCloudMaps = awsCloudMaps; + Dns = dns; + } + } +} diff --git a/sdk/dotnet/AppMesh/Outputs/GetVirtualRouterSpecListenerPortMappingResult.cs b/sdk/dotnet/AppMesh/Outputs/GetVirtualRouterSpecListenerPortMappingResult.cs new file mode 100644 index 00000000000..654da3ad3d7 --- /dev/null +++ b/sdk/dotnet/AppMesh/Outputs/GetVirtualRouterSpecListenerPortMappingResult.cs @@ -0,0 +1,29 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.AppMesh.Outputs +{ + + [OutputType] + public sealed class GetVirtualRouterSpecListenerPortMappingResult + { + public readonly int Port; + public readonly string Protocol; + + [OutputConstructor] + private GetVirtualRouterSpecListenerPortMappingResult( + int port, + + string protocol) + { + Port = port; + Protocol = protocol; + } + } +} diff --git a/sdk/dotnet/AppMesh/Outputs/GetVirtualRouterSpecListenerResult.cs b/sdk/dotnet/AppMesh/Outputs/GetVirtualRouterSpecListenerResult.cs new file mode 100644 index 00000000000..084931fb294 --- /dev/null +++ b/sdk/dotnet/AppMesh/Outputs/GetVirtualRouterSpecListenerResult.cs @@ -0,0 +1,24 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.AppMesh.Outputs +{ + + [OutputType] + public sealed class GetVirtualRouterSpecListenerResult + { + public readonly ImmutableArray PortMappings; + + [OutputConstructor] + private GetVirtualRouterSpecListenerResult(ImmutableArray portMappings) + { + PortMappings = portMappings; + } + } +} diff --git a/sdk/dotnet/AppMesh/Outputs/GetVirtualRouterSpecResult.cs b/sdk/dotnet/AppMesh/Outputs/GetVirtualRouterSpecResult.cs new file mode 100644 index 00000000000..cc3d20d8fca --- /dev/null +++ b/sdk/dotnet/AppMesh/Outputs/GetVirtualRouterSpecResult.cs @@ -0,0 +1,24 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.AppMesh.Outputs +{ + + [OutputType] + public sealed class GetVirtualRouterSpecResult + { + public readonly ImmutableArray Listeners; + + [OutputConstructor] + private GetVirtualRouterSpecResult(ImmutableArray listeners) + { + Listeners = listeners; + } + } +} diff --git a/sdk/dotnet/AppMesh/Outputs/GetVirtualServiceSpecProviderResult.cs b/sdk/dotnet/AppMesh/Outputs/GetVirtualServiceSpecProviderResult.cs index 5183d189e3a..f0402b6b961 100644 --- a/sdk/dotnet/AppMesh/Outputs/GetVirtualServiceSpecProviderResult.cs +++ b/sdk/dotnet/AppMesh/Outputs/GetVirtualServiceSpecProviderResult.cs @@ -13,13 +13,7 @@ namespace Pulumi.Aws.AppMesh.Outputs [OutputType] public sealed class GetVirtualServiceSpecProviderResult { - /// - /// Virtual node associated with the virtual service. - /// public readonly ImmutableArray VirtualNodes; - /// - /// Virtual router associated with the virtual service. - /// public readonly ImmutableArray VirtualRouters; [OutputConstructor] diff --git a/sdk/dotnet/AppMesh/Outputs/GetVirtualServiceSpecProviderVirtualNodeResult.cs b/sdk/dotnet/AppMesh/Outputs/GetVirtualServiceSpecProviderVirtualNodeResult.cs index 4830f7371c6..ffab9610a65 100644 --- a/sdk/dotnet/AppMesh/Outputs/GetVirtualServiceSpecProviderVirtualNodeResult.cs +++ b/sdk/dotnet/AppMesh/Outputs/GetVirtualServiceSpecProviderVirtualNodeResult.cs @@ -13,9 +13,6 @@ namespace Pulumi.Aws.AppMesh.Outputs [OutputType] public sealed class GetVirtualServiceSpecProviderVirtualNodeResult { - /// - /// Name of the virtual node that is acting as a service provider. - /// public readonly string VirtualNodeName; [OutputConstructor] diff --git a/sdk/dotnet/AppMesh/Outputs/GetVirtualServiceSpecProviderVirtualRouterResult.cs b/sdk/dotnet/AppMesh/Outputs/GetVirtualServiceSpecProviderVirtualRouterResult.cs index 40261304727..0c44c5c192b 100644 --- a/sdk/dotnet/AppMesh/Outputs/GetVirtualServiceSpecProviderVirtualRouterResult.cs +++ b/sdk/dotnet/AppMesh/Outputs/GetVirtualServiceSpecProviderVirtualRouterResult.cs @@ -13,9 +13,6 @@ namespace Pulumi.Aws.AppMesh.Outputs [OutputType] public sealed class GetVirtualServiceSpecProviderVirtualRouterResult { - /// - /// Name of the virtual router that is acting as a service provider. - /// public readonly string VirtualRouterName; [OutputConstructor] diff --git a/sdk/dotnet/AppMesh/Outputs/GetVirtualServiceSpecResult.cs b/sdk/dotnet/AppMesh/Outputs/GetVirtualServiceSpecResult.cs index e49deb7a1ed..211698fa74a 100644 --- a/sdk/dotnet/AppMesh/Outputs/GetVirtualServiceSpecResult.cs +++ b/sdk/dotnet/AppMesh/Outputs/GetVirtualServiceSpecResult.cs @@ -13,9 +13,6 @@ namespace Pulumi.Aws.AppMesh.Outputs [OutputType] public sealed class GetVirtualServiceSpecResult { - /// - /// App Mesh object that is acting as the provider for a virtual service. - /// public readonly ImmutableArray Providers; [OutputConstructor] diff --git a/sdk/dotnet/AppMesh/Outputs/RouteSpecGrpcRouteMatchMetadataMatch.cs b/sdk/dotnet/AppMesh/Outputs/RouteSpecGrpcRouteMatchMetadataMatch.cs index b0d1a0f70e9..830f2815a23 100644 --- a/sdk/dotnet/AppMesh/Outputs/RouteSpecGrpcRouteMatchMetadataMatch.cs +++ b/sdk/dotnet/AppMesh/Outputs/RouteSpecGrpcRouteMatchMetadataMatch.cs @@ -14,7 +14,7 @@ namespace Pulumi.Aws.AppMesh.Outputs public sealed class RouteSpecGrpcRouteMatchMetadataMatch { /// - /// Value sent by the client must match the specified value exactly. Must be between 1 and 255 characters in length. + /// The exact path to match on. /// public readonly string? Exact; /// @@ -27,7 +27,7 @@ public sealed class RouteSpecGrpcRouteMatchMetadataMatch /// public readonly Outputs.RouteSpecGrpcRouteMatchMetadataMatchRange? Range; /// - /// Value sent by the client must include the specified characters. Must be between 1 and 255 characters in length. + /// The regex used to match the path. /// public readonly string? Regex; /// diff --git a/sdk/dotnet/AppMesh/Outputs/RouteSpecHttp2RouteMatch.cs b/sdk/dotnet/AppMesh/Outputs/RouteSpecHttp2RouteMatch.cs index 1775a06da39..dec21218d54 100644 --- a/sdk/dotnet/AppMesh/Outputs/RouteSpecHttp2RouteMatch.cs +++ b/sdk/dotnet/AppMesh/Outputs/RouteSpecHttp2RouteMatch.cs @@ -22,6 +22,10 @@ public sealed class RouteSpecHttp2RouteMatch /// public readonly string? Method; /// + /// Client request path to match on. + /// + public readonly Outputs.RouteSpecHttp2RouteMatchPath? Path; + /// /// The port number to match from the request. /// public readonly int? Port; @@ -29,7 +33,11 @@ public sealed class RouteSpecHttp2RouteMatch /// Value sent by the client must begin with the specified characters. Must be between 1 and 255 characters in length. /// This parameter must always start with /, which by itself matches all requests to the virtual router service name. /// - public readonly string Prefix; + public readonly string? Prefix; + /// + /// Client request query parameters to match on. + /// + public readonly ImmutableArray QueryParameters; /// /// Client request header scheme to match on. Valid values: `http`, `https`. /// @@ -41,16 +49,22 @@ private RouteSpecHttp2RouteMatch( string? method, + Outputs.RouteSpecHttp2RouteMatchPath? path, + int? port, - string prefix, + string? prefix, + + ImmutableArray queryParameters, string? scheme) { Headers = headers; Method = method; + Path = path; Port = port; Prefix = prefix; + QueryParameters = queryParameters; Scheme = scheme; } } diff --git a/sdk/dotnet/AppMesh/Outputs/RouteSpecHttp2RouteMatchHeaderMatch.cs b/sdk/dotnet/AppMesh/Outputs/RouteSpecHttp2RouteMatchHeaderMatch.cs index ad43cd2a1ff..b23565e8a00 100644 --- a/sdk/dotnet/AppMesh/Outputs/RouteSpecHttp2RouteMatchHeaderMatch.cs +++ b/sdk/dotnet/AppMesh/Outputs/RouteSpecHttp2RouteMatchHeaderMatch.cs @@ -14,7 +14,7 @@ namespace Pulumi.Aws.AppMesh.Outputs public sealed class RouteSpecHttp2RouteMatchHeaderMatch { /// - /// Value sent by the client must match the specified value exactly. Must be between 1 and 255 characters in length. + /// The exact path to match on. /// public readonly string? Exact; /// @@ -27,7 +27,7 @@ public sealed class RouteSpecHttp2RouteMatchHeaderMatch /// public readonly Outputs.RouteSpecHttp2RouteMatchHeaderMatchRange? Range; /// - /// Value sent by the client must include the specified characters. Must be between 1 and 255 characters in length. + /// The regex used to match the path. /// public readonly string? Regex; /// diff --git a/sdk/dotnet/AppMesh/Outputs/RouteSpecHttp2RouteMatchPath.cs b/sdk/dotnet/AppMesh/Outputs/RouteSpecHttp2RouteMatchPath.cs new file mode 100644 index 00000000000..59c4d4ee247 --- /dev/null +++ b/sdk/dotnet/AppMesh/Outputs/RouteSpecHttp2RouteMatchPath.cs @@ -0,0 +1,35 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.AppMesh.Outputs +{ + + [OutputType] + public sealed class RouteSpecHttp2RouteMatchPath + { + /// + /// Value sent by the client must match the specified value exactly. Must be between 1 and 255 characters in length. + /// + public readonly string? Exact; + /// + /// Value sent by the client must include the specified characters. Must be between 1 and 255 characters in length. + /// + public readonly string? Regex; + + [OutputConstructor] + private RouteSpecHttp2RouteMatchPath( + string? exact, + + string? regex) + { + Exact = exact; + Regex = regex; + } + } +} diff --git a/sdk/dotnet/AppMesh/Outputs/RouteSpecHttp2RouteMatchQueryParameter.cs b/sdk/dotnet/AppMesh/Outputs/RouteSpecHttp2RouteMatchQueryParameter.cs new file mode 100644 index 00000000000..a62ff353c47 --- /dev/null +++ b/sdk/dotnet/AppMesh/Outputs/RouteSpecHttp2RouteMatchQueryParameter.cs @@ -0,0 +1,35 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.AppMesh.Outputs +{ + + [OutputType] + public sealed class RouteSpecHttp2RouteMatchQueryParameter + { + /// + /// Criteria for determining an gRPC request match. + /// + public readonly Outputs.RouteSpecHttp2RouteMatchQueryParameterMatch? Match; + /// + /// Name to use for the route. Must be between 1 and 255 characters in length. + /// + public readonly string Name; + + [OutputConstructor] + private RouteSpecHttp2RouteMatchQueryParameter( + Outputs.RouteSpecHttp2RouteMatchQueryParameterMatch? match, + + string name) + { + Match = match; + Name = name; + } + } +} diff --git a/sdk/dotnet/AppMesh/Outputs/RouteSpecHttp2RouteMatchQueryParameterMatch.cs b/sdk/dotnet/AppMesh/Outputs/RouteSpecHttp2RouteMatchQueryParameterMatch.cs new file mode 100644 index 00000000000..6f86b275531 --- /dev/null +++ b/sdk/dotnet/AppMesh/Outputs/RouteSpecHttp2RouteMatchQueryParameterMatch.cs @@ -0,0 +1,27 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.AppMesh.Outputs +{ + + [OutputType] + public sealed class RouteSpecHttp2RouteMatchQueryParameterMatch + { + /// + /// The exact path to match on. + /// + public readonly string? Exact; + + [OutputConstructor] + private RouteSpecHttp2RouteMatchQueryParameterMatch(string? exact) + { + Exact = exact; + } + } +} diff --git a/sdk/dotnet/AppMesh/Outputs/RouteSpecHttpRouteMatch.cs b/sdk/dotnet/AppMesh/Outputs/RouteSpecHttpRouteMatch.cs index 2dfd1c9e0fc..45b398fd283 100644 --- a/sdk/dotnet/AppMesh/Outputs/RouteSpecHttpRouteMatch.cs +++ b/sdk/dotnet/AppMesh/Outputs/RouteSpecHttpRouteMatch.cs @@ -22,6 +22,10 @@ public sealed class RouteSpecHttpRouteMatch /// public readonly string? Method; /// + /// Client request path to match on. + /// + public readonly Outputs.RouteSpecHttpRouteMatchPath? Path; + /// /// The port number to match from the request. /// public readonly int? Port; @@ -29,7 +33,11 @@ public sealed class RouteSpecHttpRouteMatch /// Value sent by the client must begin with the specified characters. Must be between 1 and 255 characters in length. /// This parameter must always start with /, which by itself matches all requests to the virtual router service name. /// - public readonly string Prefix; + public readonly string? Prefix; + /// + /// Client request query parameters to match on. + /// + public readonly ImmutableArray QueryParameters; /// /// Client request header scheme to match on. Valid values: `http`, `https`. /// @@ -41,16 +49,22 @@ private RouteSpecHttpRouteMatch( string? method, + Outputs.RouteSpecHttpRouteMatchPath? path, + int? port, - string prefix, + string? prefix, + + ImmutableArray queryParameters, string? scheme) { Headers = headers; Method = method; + Path = path; Port = port; Prefix = prefix; + QueryParameters = queryParameters; Scheme = scheme; } } diff --git a/sdk/dotnet/AppMesh/Outputs/RouteSpecHttpRouteMatchHeaderMatch.cs b/sdk/dotnet/AppMesh/Outputs/RouteSpecHttpRouteMatchHeaderMatch.cs index b491a8d88ab..a492f277c18 100644 --- a/sdk/dotnet/AppMesh/Outputs/RouteSpecHttpRouteMatchHeaderMatch.cs +++ b/sdk/dotnet/AppMesh/Outputs/RouteSpecHttpRouteMatchHeaderMatch.cs @@ -14,7 +14,7 @@ namespace Pulumi.Aws.AppMesh.Outputs public sealed class RouteSpecHttpRouteMatchHeaderMatch { /// - /// Value sent by the client must match the specified value exactly. Must be between 1 and 255 characters in length. + /// The exact path to match on. /// public readonly string? Exact; /// @@ -27,7 +27,7 @@ public sealed class RouteSpecHttpRouteMatchHeaderMatch /// public readonly Outputs.RouteSpecHttpRouteMatchHeaderMatchRange? Range; /// - /// Value sent by the client must include the specified characters. Must be between 1 and 255 characters in length. + /// The regex used to match the path. /// public readonly string? Regex; /// diff --git a/sdk/dotnet/AppMesh/Outputs/RouteSpecHttpRouteMatchPath.cs b/sdk/dotnet/AppMesh/Outputs/RouteSpecHttpRouteMatchPath.cs new file mode 100644 index 00000000000..bda5879d903 --- /dev/null +++ b/sdk/dotnet/AppMesh/Outputs/RouteSpecHttpRouteMatchPath.cs @@ -0,0 +1,35 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.AppMesh.Outputs +{ + + [OutputType] + public sealed class RouteSpecHttpRouteMatchPath + { + /// + /// Value sent by the client must match the specified value exactly. Must be between 1 and 255 characters in length. + /// + public readonly string? Exact; + /// + /// Value sent by the client must include the specified characters. Must be between 1 and 255 characters in length. + /// + public readonly string? Regex; + + [OutputConstructor] + private RouteSpecHttpRouteMatchPath( + string? exact, + + string? regex) + { + Exact = exact; + Regex = regex; + } + } +} diff --git a/sdk/dotnet/AppMesh/Outputs/RouteSpecHttpRouteMatchQueryParameter.cs b/sdk/dotnet/AppMesh/Outputs/RouteSpecHttpRouteMatchQueryParameter.cs new file mode 100644 index 00000000000..1a41972131a --- /dev/null +++ b/sdk/dotnet/AppMesh/Outputs/RouteSpecHttpRouteMatchQueryParameter.cs @@ -0,0 +1,35 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.AppMesh.Outputs +{ + + [OutputType] + public sealed class RouteSpecHttpRouteMatchQueryParameter + { + /// + /// Criteria for determining an gRPC request match. + /// + public readonly Outputs.RouteSpecHttpRouteMatchQueryParameterMatch? Match; + /// + /// Name to use for the route. Must be between 1 and 255 characters in length. + /// + public readonly string Name; + + [OutputConstructor] + private RouteSpecHttpRouteMatchQueryParameter( + Outputs.RouteSpecHttpRouteMatchQueryParameterMatch? match, + + string name) + { + Match = match; + Name = name; + } + } +} diff --git a/sdk/dotnet/AppMesh/Outputs/RouteSpecHttpRouteMatchQueryParameterMatch.cs b/sdk/dotnet/AppMesh/Outputs/RouteSpecHttpRouteMatchQueryParameterMatch.cs new file mode 100644 index 00000000000..84023bf7d6a --- /dev/null +++ b/sdk/dotnet/AppMesh/Outputs/RouteSpecHttpRouteMatchQueryParameterMatch.cs @@ -0,0 +1,27 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.AppMesh.Outputs +{ + + [OutputType] + public sealed class RouteSpecHttpRouteMatchQueryParameterMatch + { + /// + /// The exact path to match on. + /// + public readonly string? Exact; + + [OutputConstructor] + private RouteSpecHttpRouteMatchQueryParameterMatch(string? exact) + { + Exact = exact; + } + } +} diff --git a/sdk/dotnet/AppMesh/Outputs/VirtualNodeSpecServiceDiscoveryDns.cs b/sdk/dotnet/AppMesh/Outputs/VirtualNodeSpecServiceDiscoveryDns.cs index 11e092f9fee..f0afaced15e 100644 --- a/sdk/dotnet/AppMesh/Outputs/VirtualNodeSpecServiceDiscoveryDns.cs +++ b/sdk/dotnet/AppMesh/Outputs/VirtualNodeSpecServiceDiscoveryDns.cs @@ -17,11 +17,26 @@ public sealed class VirtualNodeSpecServiceDiscoveryDns /// DNS host name for your virtual node. /// public readonly string Hostname; + /// + /// The preferred IP version that this virtual node uses. Valid values: `IPv6_PREFERRED`, `IPv4_PREFERRED`, `IPv4_ONLY`, `IPv6_ONLY`. + /// + public readonly string? IpPreference; + /// + /// The DNS response type for the virtual node. Valid values: `LOADBALANCER`, `ENDPOINTS`. + /// + public readonly string? ResponseType; [OutputConstructor] - private VirtualNodeSpecServiceDiscoveryDns(string hostname) + private VirtualNodeSpecServiceDiscoveryDns( + string hostname, + + string? ipPreference, + + string? responseType) { Hostname = hostname; + IpPreference = ipPreference; + ResponseType = responseType; } } } diff --git a/sdk/dotnet/AppMesh/Outputs/VirtualRouterSpec.cs b/sdk/dotnet/AppMesh/Outputs/VirtualRouterSpec.cs index c9b24929a87..0e64c43efc3 100644 --- a/sdk/dotnet/AppMesh/Outputs/VirtualRouterSpec.cs +++ b/sdk/dotnet/AppMesh/Outputs/VirtualRouterSpec.cs @@ -17,10 +17,10 @@ public sealed class VirtualRouterSpec /// Listeners that the virtual router is expected to receive inbound traffic from. /// Currently only one listener is supported per virtual router. /// - public readonly Outputs.VirtualRouterSpecListener Listener; + public readonly Outputs.VirtualRouterSpecListener? Listener; [OutputConstructor] - private VirtualRouterSpec(Outputs.VirtualRouterSpecListener listener) + private VirtualRouterSpec(Outputs.VirtualRouterSpecListener? listener) { Listener = listener; } diff --git a/sdk/dotnet/AppMesh/VirtualNode.cs b/sdk/dotnet/AppMesh/VirtualNode.cs index 8911672ae40..e6fa31fcae1 100644 --- a/sdk/dotnet/AppMesh/VirtualNode.cs +++ b/sdk/dotnet/AppMesh/VirtualNode.cs @@ -380,6 +380,18 @@ public InputMap Tags set => _tags = value; } + [Input("tagsAll")] + private InputMap? _tagsAll; + + /// + /// Map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. + /// + public InputMap TagsAll + { + get => _tagsAll ?? (_tagsAll = new InputMap()); + set => _tagsAll = value; + } + public VirtualNodeArgs() { } diff --git a/sdk/dotnet/AppMesh/VirtualRouter.cs b/sdk/dotnet/AppMesh/VirtualRouter.cs index d93ace1d289..5a7d0f1c5c9 100644 --- a/sdk/dotnet/AppMesh/VirtualRouter.cs +++ b/sdk/dotnet/AppMesh/VirtualRouter.cs @@ -205,6 +205,18 @@ public InputMap Tags set => _tags = value; } + [Input("tagsAll")] + private InputMap? _tagsAll; + + /// + /// Map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. + /// + public InputMap TagsAll + { + get => _tagsAll ?? (_tagsAll = new InputMap()); + set => _tagsAll = value; + } + public VirtualRouterArgs() { } diff --git a/sdk/dotnet/CloudWatch/LogDestination.cs b/sdk/dotnet/CloudWatch/LogDestination.cs index 7ac70c098f1..019cf7b3ac0 100644 --- a/sdk/dotnet/CloudWatch/LogDestination.cs +++ b/sdk/dotnet/CloudWatch/LogDestination.cs @@ -147,6 +147,18 @@ public InputMap Tags set => _tags = value; } + [Input("tagsAll")] + private InputMap? _tagsAll; + + /// + /// A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. + /// + public InputMap TagsAll + { + get => _tagsAll ?? (_tagsAll = new InputMap()); + set => _tagsAll = value; + } + /// /// The ARN of the target Amazon Kinesis stream resource for the destination. /// diff --git a/sdk/dotnet/CloudWatch/LogGroup.cs b/sdk/dotnet/CloudWatch/LogGroup.cs index 11fadf50104..ec3b2a4693a 100644 --- a/sdk/dotnet/CloudWatch/LogGroup.cs +++ b/sdk/dotnet/CloudWatch/LogGroup.cs @@ -188,6 +188,18 @@ public InputMap Tags set => _tags = value; } + [Input("tagsAll")] + private InputMap? _tagsAll; + + /// + /// A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. + /// + public InputMap TagsAll + { + get => _tagsAll ?? (_tagsAll = new InputMap()); + set => _tagsAll = value; + } + public LogGroupArgs() { } diff --git a/sdk/dotnet/GlobalAccelerator/Accelerator.cs b/sdk/dotnet/GlobalAccelerator/Accelerator.cs index 3f87976df6f..a70999654c6 100644 --- a/sdk/dotnet/GlobalAccelerator/Accelerator.cs +++ b/sdk/dotnet/GlobalAccelerator/Accelerator.cs @@ -63,6 +63,12 @@ public partial class Accelerator : global::Pulumi.CustomResource [Output("dnsName")] public Output DnsName { get; private set; } = null!; + /// + /// The Domain Name System (DNS) name that Global Accelerator creates that points to a dual-stack accelerator's four static IP addresses: two IPv4 addresses and two IPv6 addresses. For example, `a1234567890abcdef.dualstack.awsglobalaccelerator.com`. + /// + [Output("dualStackDnsName")] + public Output DualStackDnsName { get; private set; } = null!; + /// /// Indicates whether the accelerator is enabled. Defaults to `true`. Valid values: `true`, `false`. /// @@ -227,6 +233,12 @@ public sealed class AcceleratorState : global::Pulumi.ResourceArgs [Input("dnsName")] public Input? DnsName { get; set; } + /// + /// The Domain Name System (DNS) name that Global Accelerator creates that points to a dual-stack accelerator's four static IP addresses: two IPv4 addresses and two IPv6 addresses. For example, `a1234567890abcdef.dualstack.awsglobalaccelerator.com`. + /// + [Input("dualStackDnsName")] + public Input? DualStackDnsName { get; set; } + /// /// Indicates whether the accelerator is enabled. Defaults to `true`. Valid values: `true`, `false`. /// diff --git a/sdk/dotnet/Iam/InstanceProfile.cs b/sdk/dotnet/Iam/InstanceProfile.cs index 7f274548451..eadd9eaf328 100644 --- a/sdk/dotnet/Iam/InstanceProfile.cs +++ b/sdk/dotnet/Iam/InstanceProfile.cs @@ -94,7 +94,7 @@ public partial class InstanceProfile : global::Pulumi.CustomResource /// Creates a unique name beginning with the specified prefix. Conflicts with `name`. /// [Output("namePrefix")] - public Output NamePrefix { get; private set; } = null!; + public Output NamePrefix { get; private set; } = null!; /// /// Path to the instance profile. For more information about paths, see [IAM Identifiers](https://docs.aws.amazon.com/IAM/latest/UserGuide/Using_Identifiers.html) in the IAM User Guide. Can be a string of characters consisting of either a forward slash (`/`) by itself or a string that must begin and end with forward slashes. Can include any ASCII character from the ! (\u0021) through the DEL character (\u007F), including most punctuation characters, digits, and upper and lowercase letters. @@ -208,6 +208,18 @@ public InputMap Tags set => _tags = value; } + [Input("tagsAll")] + private InputMap? _tagsAll; + + /// + /// A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. + /// + public InputMap TagsAll + { + get => _tagsAll ?? (_tagsAll = new InputMap()); + set => _tagsAll = value; + } + public InstanceProfileArgs() { } diff --git a/sdk/dotnet/Iam/OpenIdConnectProvider.cs b/sdk/dotnet/Iam/OpenIdConnectProvider.cs index f874c98d22e..ba51832e9c0 100644 --- a/sdk/dotnet/Iam/OpenIdConnectProvider.cs +++ b/sdk/dotnet/Iam/OpenIdConnectProvider.cs @@ -151,6 +151,18 @@ public InputMap Tags set => _tags = value; } + [Input("tagsAll")] + private InputMap? _tagsAll; + + /// + /// A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. + /// + public InputMap TagsAll + { + get => _tagsAll ?? (_tagsAll = new InputMap()); + set => _tagsAll = value; + } + [Input("thumbprintLists", required: true)] private InputList? _thumbprintLists; diff --git a/sdk/dotnet/Iam/Policy.cs b/sdk/dotnet/Iam/Policy.cs index dca773af532..61e861bc4f9 100644 --- a/sdk/dotnet/Iam/Policy.cs +++ b/sdk/dotnet/Iam/Policy.cs @@ -80,7 +80,7 @@ public partial class Policy : global::Pulumi.CustomResource /// Creates a unique name beginning with the specified prefix. Conflicts with `name`. /// [Output("namePrefix")] - public Output NamePrefix { get; private set; } = null!; + public Output NamePrefix { get; private set; } = null!; /// /// Path in which to create the policy. @@ -202,6 +202,18 @@ public InputMap Tags set => _tags = value; } + [Input("tagsAll")] + private InputMap? _tagsAll; + + /// + /// A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. + /// + public InputMap TagsAll + { + get => _tagsAll ?? (_tagsAll = new InputMap()); + set => _tagsAll = value; + } + public PolicyArgs() { } diff --git a/sdk/dotnet/Iam/Role.cs b/sdk/dotnet/Iam/Role.cs index aa18e46753f..a5f1b968156 100644 --- a/sdk/dotnet/Iam/Role.cs +++ b/sdk/dotnet/Iam/Role.cs @@ -493,6 +493,18 @@ public InputMap Tags set => _tags = value; } + [Input("tagsAll")] + private InputMap? _tagsAll; + + /// + /// A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. + /// + public InputMap TagsAll + { + get => _tagsAll ?? (_tagsAll = new InputMap()); + set => _tagsAll = value; + } + public RoleArgs() { } diff --git a/sdk/dotnet/Iam/SamlProvider.cs b/sdk/dotnet/Iam/SamlProvider.cs index 9583a5d03c9..2fa11710080 100644 --- a/sdk/dotnet/Iam/SamlProvider.cs +++ b/sdk/dotnet/Iam/SamlProvider.cs @@ -147,6 +147,18 @@ public InputMap Tags set => _tags = value; } + [Input("tagsAll")] + private InputMap? _tagsAll; + + /// + /// A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. + /// + public InputMap TagsAll + { + get => _tagsAll ?? (_tagsAll = new InputMap()); + set => _tagsAll = value; + } + public SamlProviderArgs() { } diff --git a/sdk/dotnet/Iam/ServerCertificate.cs b/sdk/dotnet/Iam/ServerCertificate.cs index feccf6802e7..030bbaa9bd1 100644 --- a/sdk/dotnet/Iam/ServerCertificate.cs +++ b/sdk/dotnet/Iam/ServerCertificate.cs @@ -318,6 +318,18 @@ public InputMap Tags set => _tags = value; } + [Input("tagsAll")] + private InputMap? _tagsAll; + + /// + /// A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. + /// + public InputMap TagsAll + { + get => _tagsAll ?? (_tagsAll = new InputMap()); + set => _tagsAll = value; + } + public ServerCertificateArgs() { } diff --git a/sdk/dotnet/Iam/ServiceLinkedRole.cs b/sdk/dotnet/Iam/ServiceLinkedRole.cs index 9fb530d8ada..1f156c1b939 100644 --- a/sdk/dotnet/Iam/ServiceLinkedRole.cs +++ b/sdk/dotnet/Iam/ServiceLinkedRole.cs @@ -176,6 +176,18 @@ public InputMap Tags set => _tags = value; } + [Input("tagsAll")] + private InputMap? _tagsAll; + + /// + /// A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. + /// + public InputMap TagsAll + { + get => _tagsAll ?? (_tagsAll = new InputMap()); + set => _tagsAll = value; + } + public ServiceLinkedRoleArgs() { } diff --git a/sdk/dotnet/Iam/User.cs b/sdk/dotnet/Iam/User.cs index 3e0c174316b..b30d3cb3434 100644 --- a/sdk/dotnet/Iam/User.cs +++ b/sdk/dotnet/Iam/User.cs @@ -210,6 +210,18 @@ public InputMap Tags set => _tags = value; } + [Input("tagsAll")] + private InputMap? _tagsAll; + + /// + /// A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. + /// + public InputMap TagsAll + { + get => _tagsAll ?? (_tagsAll = new InputMap()); + set => _tagsAll = value; + } + public UserArgs() { } diff --git a/sdk/dotnet/Iam/VirtualMfaDevice.cs b/sdk/dotnet/Iam/VirtualMfaDevice.cs index e48b31482dd..babe166cd9a 100644 --- a/sdk/dotnet/Iam/VirtualMfaDevice.cs +++ b/sdk/dotnet/Iam/VirtualMfaDevice.cs @@ -148,6 +148,18 @@ public InputMap Tags set => _tags = value; } + [Input("tagsAll")] + private InputMap? _tagsAll; + + /// + /// A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. + /// + public InputMap TagsAll + { + get => _tagsAll ?? (_tagsAll = new InputMap()); + set => _tagsAll = value; + } + /// /// The name of the virtual MFA device. Use with path to uniquely identify a virtual MFA device. /// diff --git a/sdk/dotnet/Inspector/AssessmentTemplate.cs b/sdk/dotnet/Inspector/AssessmentTemplate.cs index 0e15b8da99e..0eec25a1836 100644 --- a/sdk/dotnet/Inspector/AssessmentTemplate.cs +++ b/sdk/dotnet/Inspector/AssessmentTemplate.cs @@ -198,6 +198,18 @@ public InputMap Tags set => _tags = value; } + [Input("tagsAll")] + private InputMap? _tagsAll; + + /// + /// A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. + /// + public InputMap TagsAll + { + get => _tagsAll ?? (_tagsAll = new InputMap()); + set => _tagsAll = value; + } + /// /// The assessment target ARN to attach the template to. /// diff --git a/sdk/dotnet/Oam/GetSink.cs b/sdk/dotnet/Oam/GetSink.cs new file mode 100644 index 00000000000..16b903d0cf1 --- /dev/null +++ b/sdk/dotnet/Oam/GetSink.cs @@ -0,0 +1,172 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.Oam +{ + public static class GetSink + { + /// + /// Data source for managing an AWS CloudWatch Observability Access Manager Sink. + /// + /// {{% examples %}} + /// ## Example Usage + /// {{% example %}} + /// ### Basic Usage + /// + /// ```csharp + /// using System.Collections.Generic; + /// using Pulumi; + /// using Aws = Pulumi.Aws; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var example = Aws.Oam.GetSink.Invoke(new() + /// { + /// SinkIdentifier = "arn:aws:oam:us-west-1:111111111111:sink/abcd1234-a123-456a-a12b-a123b456c789", + /// }); + /// + /// }); + /// ``` + /// {{% /example %}} + /// {{% /examples %}} + /// + public static Task InvokeAsync(GetSinkArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.InvokeAsync("aws:oam/getSink:getSink", args ?? new GetSinkArgs(), options.WithDefaults()); + + /// + /// Data source for managing an AWS CloudWatch Observability Access Manager Sink. + /// + /// {{% examples %}} + /// ## Example Usage + /// {{% example %}} + /// ### Basic Usage + /// + /// ```csharp + /// using System.Collections.Generic; + /// using Pulumi; + /// using Aws = Pulumi.Aws; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var example = Aws.Oam.GetSink.Invoke(new() + /// { + /// SinkIdentifier = "arn:aws:oam:us-west-1:111111111111:sink/abcd1234-a123-456a-a12b-a123b456c789", + /// }); + /// + /// }); + /// ``` + /// {{% /example %}} + /// {{% /examples %}} + /// + public static Output Invoke(GetSinkInvokeArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.Invoke("aws:oam/getSink:getSink", args ?? new GetSinkInvokeArgs(), options.WithDefaults()); + } + + + public sealed class GetSinkArgs : global::Pulumi.InvokeArgs + { + /// + /// ARN of the sink. + /// + [Input("sinkIdentifier", required: true)] + public string SinkIdentifier { get; set; } = null!; + + [Input("tags")] + private Dictionary? _tags; + + /// + /// Tags assigned to the sink. + /// + public Dictionary Tags + { + get => _tags ?? (_tags = new Dictionary()); + set => _tags = value; + } + + public GetSinkArgs() + { + } + public static new GetSinkArgs Empty => new GetSinkArgs(); + } + + public sealed class GetSinkInvokeArgs : global::Pulumi.InvokeArgs + { + /// + /// ARN of the sink. + /// + [Input("sinkIdentifier", required: true)] + public Input SinkIdentifier { get; set; } = null!; + + [Input("tags")] + private InputMap? _tags; + + /// + /// Tags assigned to the sink. + /// + public InputMap Tags + { + get => _tags ?? (_tags = new InputMap()); + set => _tags = value; + } + + public GetSinkInvokeArgs() + { + } + public static new GetSinkInvokeArgs Empty => new GetSinkInvokeArgs(); + } + + + [OutputType] + public sealed class GetSinkResult + { + /// + /// ARN of the sink. + /// + public readonly string Arn; + /// + /// The provider-assigned unique ID for this managed resource. + /// + public readonly string Id; + /// + /// Name of the sink. + /// + public readonly string Name; + /// + /// Random ID string that AWS generated as part of the sink ARN. + /// + public readonly string SinkId; + public readonly string SinkIdentifier; + /// + /// Tags assigned to the sink. + /// + public readonly ImmutableDictionary Tags; + + [OutputConstructor] + private GetSinkResult( + string arn, + + string id, + + string name, + + string sinkId, + + string sinkIdentifier, + + ImmutableDictionary tags) + { + Arn = arn; + Id = id; + Name = name; + SinkId = sinkId; + SinkIdentifier = sinkIdentifier; + Tags = tags; + } + } +} diff --git a/sdk/dotnet/Oam/GetSinks.cs b/sdk/dotnet/Oam/GetSinks.cs new file mode 100644 index 00000000000..d4c04945e3a --- /dev/null +++ b/sdk/dotnet/Oam/GetSinks.cs @@ -0,0 +1,63 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.Oam +{ + public static class GetSinks + { + /// + /// Data source for managing an AWS CloudWatch Observability Access Manager Sinks. + /// + /// {{% examples %}} + /// ## Example Usage + /// {{% example %}} + /// ### Basic Usage + /// + /// ```csharp + /// using System.Collections.Generic; + /// using Pulumi; + /// using Aws = Pulumi.Aws; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var example = Aws.Oam.GetSinks.Invoke(); + /// + /// }); + /// ``` + /// {{% /example %}} + /// {{% /examples %}} + /// + public static Task InvokeAsync(InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.InvokeAsync("aws:oam/getSinks:getSinks", InvokeArgs.Empty, options.WithDefaults()); + } + + + [OutputType] + public sealed class GetSinksResult + { + /// + /// Set of ARN of the Sinks. + /// + public readonly ImmutableArray Arns; + /// + /// The provider-assigned unique ID for this managed resource. + /// + public readonly string Id; + + [OutputConstructor] + private GetSinksResult( + ImmutableArray arns, + + string id) + { + Arns = arns; + Id = id; + } + } +} diff --git a/sdk/dotnet/Rbin/Inputs/RuleLockConfigurationArgs.cs b/sdk/dotnet/Rbin/Inputs/RuleLockConfigurationArgs.cs new file mode 100644 index 00000000000..181084fb177 --- /dev/null +++ b/sdk/dotnet/Rbin/Inputs/RuleLockConfigurationArgs.cs @@ -0,0 +1,26 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.Rbin.Inputs +{ + + public sealed class RuleLockConfigurationArgs : global::Pulumi.ResourceArgs + { + /// + /// Information about the retention rule unlock delay. See `unlock_delay` below. + /// + [Input("unlockDelay", required: true)] + public Input UnlockDelay { get; set; } = null!; + + public RuleLockConfigurationArgs() + { + } + public static new RuleLockConfigurationArgs Empty => new RuleLockConfigurationArgs(); + } +} diff --git a/sdk/dotnet/Rbin/Inputs/RuleLockConfigurationGetArgs.cs b/sdk/dotnet/Rbin/Inputs/RuleLockConfigurationGetArgs.cs new file mode 100644 index 00000000000..e3d5ac73a59 --- /dev/null +++ b/sdk/dotnet/Rbin/Inputs/RuleLockConfigurationGetArgs.cs @@ -0,0 +1,26 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.Rbin.Inputs +{ + + public sealed class RuleLockConfigurationGetArgs : global::Pulumi.ResourceArgs + { + /// + /// Information about the retention rule unlock delay. See `unlock_delay` below. + /// + [Input("unlockDelay", required: true)] + public Input UnlockDelay { get; set; } = null!; + + public RuleLockConfigurationGetArgs() + { + } + public static new RuleLockConfigurationGetArgs Empty => new RuleLockConfigurationGetArgs(); + } +} diff --git a/sdk/dotnet/Rbin/Inputs/RuleLockConfigurationUnlockDelayArgs.cs b/sdk/dotnet/Rbin/Inputs/RuleLockConfigurationUnlockDelayArgs.cs new file mode 100644 index 00000000000..82389450188 --- /dev/null +++ b/sdk/dotnet/Rbin/Inputs/RuleLockConfigurationUnlockDelayArgs.cs @@ -0,0 +1,32 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.Rbin.Inputs +{ + + public sealed class RuleLockConfigurationUnlockDelayArgs : global::Pulumi.ResourceArgs + { + /// + /// The unit of time in which to measure the unlock delay. Currently, the unlock delay can be measure only in days. + /// + [Input("unlockDelayUnit", required: true)] + public Input UnlockDelayUnit { get; set; } = null!; + + /// + /// The unlock delay period, measured in the unit specified for UnlockDelayUnit. + /// + [Input("unlockDelayValue", required: true)] + public Input UnlockDelayValue { get; set; } = null!; + + public RuleLockConfigurationUnlockDelayArgs() + { + } + public static new RuleLockConfigurationUnlockDelayArgs Empty => new RuleLockConfigurationUnlockDelayArgs(); + } +} diff --git a/sdk/dotnet/Rbin/Inputs/RuleLockConfigurationUnlockDelayGetArgs.cs b/sdk/dotnet/Rbin/Inputs/RuleLockConfigurationUnlockDelayGetArgs.cs new file mode 100644 index 00000000000..1224ca4d2ce --- /dev/null +++ b/sdk/dotnet/Rbin/Inputs/RuleLockConfigurationUnlockDelayGetArgs.cs @@ -0,0 +1,32 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.Rbin.Inputs +{ + + public sealed class RuleLockConfigurationUnlockDelayGetArgs : global::Pulumi.ResourceArgs + { + /// + /// The unit of time in which to measure the unlock delay. Currently, the unlock delay can be measure only in days. + /// + [Input("unlockDelayUnit", required: true)] + public Input UnlockDelayUnit { get; set; } = null!; + + /// + /// The unlock delay period, measured in the unit specified for UnlockDelayUnit. + /// + [Input("unlockDelayValue", required: true)] + public Input UnlockDelayValue { get; set; } = null!; + + public RuleLockConfigurationUnlockDelayGetArgs() + { + } + public static new RuleLockConfigurationUnlockDelayGetArgs Empty => new RuleLockConfigurationUnlockDelayGetArgs(); + } +} diff --git a/sdk/dotnet/Rbin/Inputs/RuleResourceTagArgs.cs b/sdk/dotnet/Rbin/Inputs/RuleResourceTagArgs.cs new file mode 100644 index 00000000000..4928e587286 --- /dev/null +++ b/sdk/dotnet/Rbin/Inputs/RuleResourceTagArgs.cs @@ -0,0 +1,32 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.Rbin.Inputs +{ + + public sealed class RuleResourceTagArgs : global::Pulumi.ResourceArgs + { + /// + /// The tag key. + /// + [Input("resourceTagKey", required: true)] + public Input ResourceTagKey { get; set; } = null!; + + /// + /// The tag value. + /// + [Input("resourceTagValue")] + public Input? ResourceTagValue { get; set; } + + public RuleResourceTagArgs() + { + } + public static new RuleResourceTagArgs Empty => new RuleResourceTagArgs(); + } +} diff --git a/sdk/dotnet/Rbin/Inputs/RuleResourceTagGetArgs.cs b/sdk/dotnet/Rbin/Inputs/RuleResourceTagGetArgs.cs new file mode 100644 index 00000000000..fee79a0608b --- /dev/null +++ b/sdk/dotnet/Rbin/Inputs/RuleResourceTagGetArgs.cs @@ -0,0 +1,32 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.Rbin.Inputs +{ + + public sealed class RuleResourceTagGetArgs : global::Pulumi.ResourceArgs + { + /// + /// The tag key. + /// + [Input("resourceTagKey", required: true)] + public Input ResourceTagKey { get; set; } = null!; + + /// + /// The tag value. + /// + [Input("resourceTagValue")] + public Input? ResourceTagValue { get; set; } + + public RuleResourceTagGetArgs() + { + } + public static new RuleResourceTagGetArgs Empty => new RuleResourceTagGetArgs(); + } +} diff --git a/sdk/dotnet/Rbin/Inputs/RuleRetentionPeriodArgs.cs b/sdk/dotnet/Rbin/Inputs/RuleRetentionPeriodArgs.cs new file mode 100644 index 00000000000..a2c7981f82d --- /dev/null +++ b/sdk/dotnet/Rbin/Inputs/RuleRetentionPeriodArgs.cs @@ -0,0 +1,32 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.Rbin.Inputs +{ + + public sealed class RuleRetentionPeriodArgs : global::Pulumi.ResourceArgs + { + /// + /// The unit of time in which the retention period is measured. Currently, only DAYS is supported. + /// + [Input("retentionPeriodUnit", required: true)] + public Input RetentionPeriodUnit { get; set; } = null!; + + /// + /// The period value for which the retention rule is to retain resources. The period is measured using the unit specified for RetentionPeriodUnit. + /// + [Input("retentionPeriodValue", required: true)] + public Input RetentionPeriodValue { get; set; } = null!; + + public RuleRetentionPeriodArgs() + { + } + public static new RuleRetentionPeriodArgs Empty => new RuleRetentionPeriodArgs(); + } +} diff --git a/sdk/dotnet/Rbin/Inputs/RuleRetentionPeriodGetArgs.cs b/sdk/dotnet/Rbin/Inputs/RuleRetentionPeriodGetArgs.cs new file mode 100644 index 00000000000..ab654c4848c --- /dev/null +++ b/sdk/dotnet/Rbin/Inputs/RuleRetentionPeriodGetArgs.cs @@ -0,0 +1,32 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.Rbin.Inputs +{ + + public sealed class RuleRetentionPeriodGetArgs : global::Pulumi.ResourceArgs + { + /// + /// The unit of time in which the retention period is measured. Currently, only DAYS is supported. + /// + [Input("retentionPeriodUnit", required: true)] + public Input RetentionPeriodUnit { get; set; } = null!; + + /// + /// The period value for which the retention rule is to retain resources. The period is measured using the unit specified for RetentionPeriodUnit. + /// + [Input("retentionPeriodValue", required: true)] + public Input RetentionPeriodValue { get; set; } = null!; + + public RuleRetentionPeriodGetArgs() + { + } + public static new RuleRetentionPeriodGetArgs Empty => new RuleRetentionPeriodGetArgs(); + } +} diff --git a/sdk/dotnet/Rbin/Outputs/RuleLockConfiguration.cs b/sdk/dotnet/Rbin/Outputs/RuleLockConfiguration.cs new file mode 100644 index 00000000000..3a371f11fb8 --- /dev/null +++ b/sdk/dotnet/Rbin/Outputs/RuleLockConfiguration.cs @@ -0,0 +1,27 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.Rbin.Outputs +{ + + [OutputType] + public sealed class RuleLockConfiguration + { + /// + /// Information about the retention rule unlock delay. See `unlock_delay` below. + /// + public readonly Outputs.RuleLockConfigurationUnlockDelay UnlockDelay; + + [OutputConstructor] + private RuleLockConfiguration(Outputs.RuleLockConfigurationUnlockDelay unlockDelay) + { + UnlockDelay = unlockDelay; + } + } +} diff --git a/sdk/dotnet/Rbin/Outputs/RuleLockConfigurationUnlockDelay.cs b/sdk/dotnet/Rbin/Outputs/RuleLockConfigurationUnlockDelay.cs new file mode 100644 index 00000000000..27b65832910 --- /dev/null +++ b/sdk/dotnet/Rbin/Outputs/RuleLockConfigurationUnlockDelay.cs @@ -0,0 +1,35 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.Rbin.Outputs +{ + + [OutputType] + public sealed class RuleLockConfigurationUnlockDelay + { + /// + /// The unit of time in which to measure the unlock delay. Currently, the unlock delay can be measure only in days. + /// + public readonly string UnlockDelayUnit; + /// + /// The unlock delay period, measured in the unit specified for UnlockDelayUnit. + /// + public readonly int UnlockDelayValue; + + [OutputConstructor] + private RuleLockConfigurationUnlockDelay( + string unlockDelayUnit, + + int unlockDelayValue) + { + UnlockDelayUnit = unlockDelayUnit; + UnlockDelayValue = unlockDelayValue; + } + } +} diff --git a/sdk/dotnet/Rbin/Outputs/RuleResourceTag.cs b/sdk/dotnet/Rbin/Outputs/RuleResourceTag.cs new file mode 100644 index 00000000000..415151a7220 --- /dev/null +++ b/sdk/dotnet/Rbin/Outputs/RuleResourceTag.cs @@ -0,0 +1,35 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.Rbin.Outputs +{ + + [OutputType] + public sealed class RuleResourceTag + { + /// + /// The tag key. + /// + public readonly string ResourceTagKey; + /// + /// The tag value. + /// + public readonly string? ResourceTagValue; + + [OutputConstructor] + private RuleResourceTag( + string resourceTagKey, + + string? resourceTagValue) + { + ResourceTagKey = resourceTagKey; + ResourceTagValue = resourceTagValue; + } + } +} diff --git a/sdk/dotnet/Rbin/Outputs/RuleRetentionPeriod.cs b/sdk/dotnet/Rbin/Outputs/RuleRetentionPeriod.cs new file mode 100644 index 00000000000..65d127bb81f --- /dev/null +++ b/sdk/dotnet/Rbin/Outputs/RuleRetentionPeriod.cs @@ -0,0 +1,35 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.Rbin.Outputs +{ + + [OutputType] + public sealed class RuleRetentionPeriod + { + /// + /// The unit of time in which the retention period is measured. Currently, only DAYS is supported. + /// + public readonly string RetentionPeriodUnit; + /// + /// The period value for which the retention rule is to retain resources. The period is measured using the unit specified for RetentionPeriodUnit. + /// + public readonly int RetentionPeriodValue; + + [OutputConstructor] + private RuleRetentionPeriod( + string retentionPeriodUnit, + + int retentionPeriodValue) + { + RetentionPeriodUnit = retentionPeriodUnit; + RetentionPeriodValue = retentionPeriodValue; + } + } +} diff --git a/sdk/dotnet/Rbin/README.md b/sdk/dotnet/Rbin/README.md new file mode 100644 index 00000000000..9d868f18f20 --- /dev/null +++ b/sdk/dotnet/Rbin/README.md @@ -0,0 +1 @@ +A Pulumi package for creating and managing Amazon Web Services (AWS) cloud resources. diff --git a/sdk/dotnet/Rbin/Rule.cs b/sdk/dotnet/Rbin/Rule.cs new file mode 100644 index 00000000000..c2271bedcce --- /dev/null +++ b/sdk/dotnet/Rbin/Rule.cs @@ -0,0 +1,295 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.Rbin +{ + /// + /// Resource for managing an AWS RBin Rule. + /// + /// ## Example Usage + /// ### Basic Usage + /// + /// ```csharp + /// using System.Collections.Generic; + /// using Pulumi; + /// using Aws = Pulumi.Aws; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var example = new Aws.Rbin.Rule("example", new() + /// { + /// Description = "example_rule", + /// ResourceType = "EBS_SNAPSHOT", + /// ResourceTags = new[] + /// { + /// new Aws.Rbin.Inputs.RuleResourceTagArgs + /// { + /// ResourceTagKey = tag_key, + /// ResourceTagValue = "tag_value", + /// }, + /// }, + /// RetentionPeriod = new Aws.Rbin.Inputs.RuleRetentionPeriodArgs + /// { + /// RetentionPeriodValue = 10, + /// RetentionPeriodUnit = "DAYS", + /// }, + /// Tags = + /// { + /// { "test_tag_key", "test_tag_value" }, + /// }, + /// }); + /// + /// }); + /// ``` + /// + /// ## Import + /// + /// RBin Rule can be imported using the `id`, e.g., + /// + /// ```sh + /// $ pulumi import aws:rbin/rule:Rule example examplerule + /// ``` + /// + [AwsResourceType("aws:rbin/rule:Rule")] + public partial class Rule : global::Pulumi.CustomResource + { + [Output("arn")] + public Output Arn { get; private set; } = null!; + + /// + /// The retention rule description. + /// + [Output("description")] + public Output Description { get; private set; } = null!; + + /// + /// Information about the retention rule lock configuration. See `lock_configuration` below. + /// + [Output("lockConfiguration")] + public Output LockConfiguration { get; private set; } = null!; + + /// + /// (Timestamp) The date and time at which the unlock delay is set to expire. Only returned for retention rules that have been unlocked and that are still within the unlock delay period. + /// + [Output("lockEndTime")] + public Output LockEndTime { get; private set; } = null!; + + /// + /// (Optional) The lock state of the retention rules to list. Only retention rules with the specified lock state are returned. Valid values are `locked`, `pending_unlock`, `unlocked`. + /// + [Output("lockState")] + public Output LockState { get; private set; } = null!; + + /// + /// Specifies the resource tags to use to identify resources that are to be retained by a tag-level retention rule. See `resource_tags` below. + /// + [Output("resourceTags")] + public Output> ResourceTags { get; private set; } = null!; + + /// + /// The resource type to be retained by the retention rule. Valid values are `EBS_SNAPSHOT` and `EC2_IMAGE`. + /// + [Output("resourceType")] + public Output ResourceType { get; private set; } = null!; + + /// + /// Information about the retention period for which the retention rule is to retain resources. See `retention_period` below. + /// + [Output("retentionPeriod")] + public Output RetentionPeriod { get; private set; } = null!; + + /// + /// (String) The state of the retention rule. Only retention rules that are in the `available` state retain resources. Valid values include `pending` and `available`. + /// + [Output("status")] + public Output Status { get; private set; } = null!; + + [Output("tags")] + public Output?> Tags { get; private set; } = null!; + + [Output("tagsAll")] + public Output> TagsAll { get; private set; } = null!; + + + /// + /// Create a Rule resource with the given unique name, arguments, and options. + /// + /// + /// The unique name of the resource + /// The arguments used to populate this resource's properties + /// A bag of options that control this resource's behavior + public Rule(string name, RuleArgs args, CustomResourceOptions? options = null) + : base("aws:rbin/rule:Rule", name, args ?? new RuleArgs(), MakeResourceOptions(options, "")) + { + } + + private Rule(string name, Input id, RuleState? state = null, CustomResourceOptions? options = null) + : base("aws:rbin/rule:Rule", name, state, MakeResourceOptions(options, id)) + { + } + + private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? options, Input? id) + { + var defaultOptions = new CustomResourceOptions + { + Version = Utilities.Version, + }; + var merged = CustomResourceOptions.Merge(defaultOptions, options); + // Override the ID if one was specified for consistency with other language SDKs. + merged.Id = id ?? merged.Id; + return merged; + } + /// + /// Get an existing Rule resource's state with the given name, ID, and optional extra + /// properties used to qualify the lookup. + /// + /// + /// The unique name of the resulting resource. + /// The unique provider ID of the resource to lookup. + /// Any extra arguments used during the lookup. + /// A bag of options that control this resource's behavior + public static Rule Get(string name, Input id, RuleState? state = null, CustomResourceOptions? options = null) + { + return new Rule(name, id, state, options); + } + } + + public sealed class RuleArgs : global::Pulumi.ResourceArgs + { + /// + /// The retention rule description. + /// + [Input("description")] + public Input? Description { get; set; } + + /// + /// Information about the retention rule lock configuration. See `lock_configuration` below. + /// + [Input("lockConfiguration")] + public Input? LockConfiguration { get; set; } + + [Input("resourceTags")] + private InputList? _resourceTags; + + /// + /// Specifies the resource tags to use to identify resources that are to be retained by a tag-level retention rule. See `resource_tags` below. + /// + public InputList ResourceTags + { + get => _resourceTags ?? (_resourceTags = new InputList()); + set => _resourceTags = value; + } + + /// + /// The resource type to be retained by the retention rule. Valid values are `EBS_SNAPSHOT` and `EC2_IMAGE`. + /// + [Input("resourceType", required: true)] + public Input ResourceType { get; set; } = null!; + + /// + /// Information about the retention period for which the retention rule is to retain resources. See `retention_period` below. + /// + [Input("retentionPeriod", required: true)] + public Input RetentionPeriod { get; set; } = null!; + + [Input("tags")] + private InputMap? _tags; + public InputMap Tags + { + get => _tags ?? (_tags = new InputMap()); + set => _tags = value; + } + + public RuleArgs() + { + } + public static new RuleArgs Empty => new RuleArgs(); + } + + public sealed class RuleState : global::Pulumi.ResourceArgs + { + [Input("arn")] + public Input? Arn { get; set; } + + /// + /// The retention rule description. + /// + [Input("description")] + public Input? Description { get; set; } + + /// + /// Information about the retention rule lock configuration. See `lock_configuration` below. + /// + [Input("lockConfiguration")] + public Input? LockConfiguration { get; set; } + + /// + /// (Timestamp) The date and time at which the unlock delay is set to expire. Only returned for retention rules that have been unlocked and that are still within the unlock delay period. + /// + [Input("lockEndTime")] + public Input? LockEndTime { get; set; } + + /// + /// (Optional) The lock state of the retention rules to list. Only retention rules with the specified lock state are returned. Valid values are `locked`, `pending_unlock`, `unlocked`. + /// + [Input("lockState")] + public Input? LockState { get; set; } + + [Input("resourceTags")] + private InputList? _resourceTags; + + /// + /// Specifies the resource tags to use to identify resources that are to be retained by a tag-level retention rule. See `resource_tags` below. + /// + public InputList ResourceTags + { + get => _resourceTags ?? (_resourceTags = new InputList()); + set => _resourceTags = value; + } + + /// + /// The resource type to be retained by the retention rule. Valid values are `EBS_SNAPSHOT` and `EC2_IMAGE`. + /// + [Input("resourceType")] + public Input? ResourceType { get; set; } + + /// + /// Information about the retention period for which the retention rule is to retain resources. See `retention_period` below. + /// + [Input("retentionPeriod")] + public Input? RetentionPeriod { get; set; } + + /// + /// (String) The state of the retention rule. Only retention rules that are in the `available` state retain resources. Valid values include `pending` and `available`. + /// + [Input("status")] + public Input? Status { get; set; } + + [Input("tags")] + private InputMap? _tags; + public InputMap Tags + { + get => _tags ?? (_tags = new InputMap()); + set => _tags = value; + } + + [Input("tagsAll")] + private InputMap? _tagsAll; + public InputMap TagsAll + { + get => _tagsAll ?? (_tagsAll = new InputMap()); + set => _tagsAll = value; + } + + public RuleState() + { + } + public static new RuleState Empty => new RuleState(); + } +} diff --git a/sdk/dotnet/Rds/Cluster.cs b/sdk/dotnet/Rds/Cluster.cs index 6f7cc024645..e3c187e93f9 100644 --- a/sdk/dotnet/Rds/Cluster.cs +++ b/sdk/dotnet/Rds/Cluster.cs @@ -207,6 +207,58 @@ namespace Pulumi.Aws.Rds /// /// }); /// ``` + /// ### RDS/Aurora Managed Master Passwords via Secrets Manager, default KMS Key + /// + /// > More information about RDS/Aurora Aurora integrates with Secrets Manager to manage master user passwords for your DB clusters can be found in the [RDS User Guide](https://aws.amazon.com/about-aws/whats-new/2022/12/amazon-rds-integration-aws-secrets-manager/) and [Aurora User Guide](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/rds-secrets-manager.html). + /// + /// You can specify the `manage_master_user_password` attribute to enable managing the master password with Secrets Manager. You can also update an existing cluster to use Secrets Manager by specify the `manage_master_user_password` attribute and removing the `master_password` attribute (removal is required). + /// + /// ```csharp + /// using System.Collections.Generic; + /// using Pulumi; + /// using Aws = Pulumi.Aws; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var test = new Aws.Rds.Cluster("test", new() + /// { + /// ClusterIdentifier = "example", + /// DatabaseName = "test", + /// ManageMasterUserPassword = true, + /// MasterUsername = "test", + /// }); + /// + /// }); + /// ``` + /// ### RDS/Aurora Managed Master Passwords via Secrets Manager, specific KMS Key + /// + /// > More information about RDS/Aurora Aurora integrates with Secrets Manager to manage master user passwords for your DB clusters can be found in the [RDS User Guide](https://aws.amazon.com/about-aws/whats-new/2022/12/amazon-rds-integration-aws-secrets-manager/) and [Aurora User Guide](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/rds-secrets-manager.html). + /// + /// You can specify the `master_user_secret_kms_key_id` attribute to specify a specific KMS Key. + /// + /// ```csharp + /// using System.Collections.Generic; + /// using Pulumi; + /// using Aws = Pulumi.Aws; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var example = new Aws.Kms.Key("example", new() + /// { + /// Description = "Example KMS Key", + /// }); + /// + /// var test = new Aws.Rds.Cluster("test", new() + /// { + /// ClusterIdentifier = "example", + /// DatabaseName = "test", + /// ManageMasterUserPassword = true, + /// MasterUsername = "test", + /// MasterUserSecretKmsKeyId = example.KeyId, + /// }); + /// + /// }); + /// ``` /// ### Global Cluster Restored From Snapshot /// /// ```csharp @@ -450,11 +502,29 @@ public partial class Cluster : global::Pulumi.CustomResource public Output KmsKeyId { get; private set; } = null!; /// - /// Password for the master DB user. Note that this may show up in logs, and it will be stored in the state file. Please refer to the [RDS Naming Constraints](http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Limits.html#RDS_Limits.Constraints) + /// Set to true to allow RDS to manage the master user password in Secrets Manager. Cannot be set if `master_password` is provided. + /// + [Output("manageMasterUserPassword")] + public Output ManageMasterUserPassword { get; private set; } = null!; + + /// + /// Password for the master DB user. Note that this may show up in logs, and it will be stored in the state file. Please refer to the [RDS Naming Constraints](http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Limits.html#RDS_Limits.Constraints). Cannot be set if `manage_master_user_password` is set to `true`. /// [Output("masterPassword")] public Output MasterPassword { get; private set; } = null!; + /// + /// The Amazon Web Services KMS key identifier is the key ARN, key ID, alias ARN, or alias name for the KMS key. To use a KMS key in a different Amazon Web Services account, specify the key ARN or alias ARN. If not specified, the default KMS key for your Amazon Web Services account is used. + /// + [Output("masterUserSecretKmsKeyId")] + public Output MasterUserSecretKmsKeyId { get; private set; } = null!; + + /// + /// A block that specifies the master user secret. Only available when `manage_master_user_password` is set to true. Documented below. + /// + [Output("masterUserSecrets")] + public Output> MasterUserSecrets { get; private set; } = null!; + /// /// Username for the master DB user. Please refer to the [RDS Naming Constraints](http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Limits.html#RDS_Limits.Constraints). This argument does not support in-place updates and cannot be changed during a restore from snapshot. /// @@ -809,11 +879,17 @@ public InputList IamRoles [Input("kmsKeyId")] public Input? KmsKeyId { get; set; } + /// + /// Set to true to allow RDS to manage the master user password in Secrets Manager. Cannot be set if `master_password` is provided. + /// + [Input("manageMasterUserPassword")] + public Input? ManageMasterUserPassword { get; set; } + [Input("masterPassword")] private Input? _masterPassword; /// - /// Password for the master DB user. Note that this may show up in logs, and it will be stored in the state file. Please refer to the [RDS Naming Constraints](http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Limits.html#RDS_Limits.Constraints) + /// Password for the master DB user. Note that this may show up in logs, and it will be stored in the state file. Please refer to the [RDS Naming Constraints](http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Limits.html#RDS_Limits.Constraints). Cannot be set if `manage_master_user_password` is set to `true`. /// public Input? MasterPassword { @@ -825,6 +901,12 @@ public Input? MasterPassword } } + /// + /// The Amazon Web Services KMS key identifier is the key ARN, key ID, alias ARN, or alias name for the KMS key. To use a KMS key in a different Amazon Web Services account, specify the key ARN or alias ARN. If not specified, the default KMS key for your Amazon Web Services account is used. + /// + [Input("masterUserSecretKmsKeyId")] + public Input? MasterUserSecretKmsKeyId { get; set; } + /// /// Username for the master DB user. Please refer to the [RDS Naming Constraints](http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Limits.html#RDS_Limits.Constraints). This argument does not support in-place updates and cannot be changed during a restore from snapshot. /// @@ -1166,11 +1248,17 @@ public InputList IamRoles [Input("kmsKeyId")] public Input? KmsKeyId { get; set; } + /// + /// Set to true to allow RDS to manage the master user password in Secrets Manager. Cannot be set if `master_password` is provided. + /// + [Input("manageMasterUserPassword")] + public Input? ManageMasterUserPassword { get; set; } + [Input("masterPassword")] private Input? _masterPassword; /// - /// Password for the master DB user. Note that this may show up in logs, and it will be stored in the state file. Please refer to the [RDS Naming Constraints](http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Limits.html#RDS_Limits.Constraints) + /// Password for the master DB user. Note that this may show up in logs, and it will be stored in the state file. Please refer to the [RDS Naming Constraints](http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Limits.html#RDS_Limits.Constraints). Cannot be set if `manage_master_user_password` is set to `true`. /// public Input? MasterPassword { @@ -1182,6 +1270,24 @@ public Input? MasterPassword } } + /// + /// The Amazon Web Services KMS key identifier is the key ARN, key ID, alias ARN, or alias name for the KMS key. To use a KMS key in a different Amazon Web Services account, specify the key ARN or alias ARN. If not specified, the default KMS key for your Amazon Web Services account is used. + /// + [Input("masterUserSecretKmsKeyId")] + public Input? MasterUserSecretKmsKeyId { get; set; } + + [Input("masterUserSecrets")] + private InputList? _masterUserSecrets; + + /// + /// A block that specifies the master user secret. Only available when `manage_master_user_password` is set to true. Documented below. + /// + public InputList MasterUserSecrets + { + get => _masterUserSecrets ?? (_masterUserSecrets = new InputList()); + set => _masterUserSecrets = value; + } + /// /// Username for the master DB user. Please refer to the [RDS Naming Constraints](http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Limits.html#RDS_Limits.Constraints). This argument does not support in-place updates and cannot be changed during a restore from snapshot. /// diff --git a/sdk/dotnet/Rds/GetCluster.cs b/sdk/dotnet/Rds/GetCluster.cs index 128113a6a66..068cb13b382 100644 --- a/sdk/dotnet/Rds/GetCluster.cs +++ b/sdk/dotnet/Rds/GetCluster.cs @@ -147,6 +147,7 @@ public sealed class GetClusterResult /// public readonly string Id; public readonly string KmsKeyId; + public readonly ImmutableArray MasterUserSecrets; public readonly string MasterUsername; public readonly string NetworkType; public readonly int Port; @@ -205,6 +206,8 @@ private GetClusterResult( string kmsKeyId, + ImmutableArray masterUserSecrets, + string masterUsername, string networkType, @@ -246,6 +249,7 @@ private GetClusterResult( IamRoles = iamRoles; Id = id; KmsKeyId = kmsKeyId; + MasterUserSecrets = masterUserSecrets; MasterUsername = masterUsername; NetworkType = networkType; Port = port; diff --git a/sdk/dotnet/Rds/GetInstance.cs b/sdk/dotnet/Rds/GetInstance.cs index 45b2aca7106..1023e17b30e 100644 --- a/sdk/dotnet/Rds/GetInstance.cs +++ b/sdk/dotnet/Rds/GetInstance.cs @@ -201,7 +201,7 @@ public sealed class GetInstanceResult /// public readonly int Iops; /// - /// If StorageEncrypted is true, the KMS key identifier for the encrypted DB instance. + /// The Amazon Web Services KMS key identifier that is used to encrypt the secret. /// public readonly string KmsKeyId; /// @@ -209,6 +209,10 @@ public sealed class GetInstanceResult /// public readonly string LicenseModel; /// + /// Provides the master user secret. Only available when `manage_master_user_password` is set to true. Documented below. + /// + public readonly ImmutableArray MasterUserSecrets; + /// /// Contains the master username for the DB instance. /// public readonly string MasterUsername; @@ -328,6 +332,8 @@ private GetInstanceResult( string licenseModel, + ImmutableArray masterUserSecrets, + string masterUsername, int monitoringInterval, @@ -388,6 +394,7 @@ private GetInstanceResult( Iops = iops; KmsKeyId = kmsKeyId; LicenseModel = licenseModel; + MasterUserSecrets = masterUserSecrets; MasterUsername = masterUsername; MonitoringInterval = monitoringInterval; MonitoringRoleArn = monitoringRoleArn; diff --git a/sdk/dotnet/Rds/Inputs/ClusterMasterUserSecretArgs.cs b/sdk/dotnet/Rds/Inputs/ClusterMasterUserSecretArgs.cs new file mode 100644 index 00000000000..1ebfb65cce1 --- /dev/null +++ b/sdk/dotnet/Rds/Inputs/ClusterMasterUserSecretArgs.cs @@ -0,0 +1,38 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.Rds.Inputs +{ + + public sealed class ClusterMasterUserSecretArgs : global::Pulumi.ResourceArgs + { + /// + /// The ARN for the KMS encryption key. When specifying `kms_key_id`, `storage_encrypted` needs to be set to true. + /// + [Input("kmsKeyId")] + public Input? KmsKeyId { get; set; } + + /// + /// The Amazon Resource Name (ARN) of the secret. + /// + [Input("secretArn")] + public Input? SecretArn { get; set; } + + /// + /// The status of the secret. Valid Values: `creating` | `active` | `rotating` | `impaired`. + /// + [Input("secretStatus")] + public Input? SecretStatus { get; set; } + + public ClusterMasterUserSecretArgs() + { + } + public static new ClusterMasterUserSecretArgs Empty => new ClusterMasterUserSecretArgs(); + } +} diff --git a/sdk/dotnet/Rds/Inputs/ClusterMasterUserSecretGetArgs.cs b/sdk/dotnet/Rds/Inputs/ClusterMasterUserSecretGetArgs.cs new file mode 100644 index 00000000000..54cc256494b --- /dev/null +++ b/sdk/dotnet/Rds/Inputs/ClusterMasterUserSecretGetArgs.cs @@ -0,0 +1,38 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.Rds.Inputs +{ + + public sealed class ClusterMasterUserSecretGetArgs : global::Pulumi.ResourceArgs + { + /// + /// The ARN for the KMS encryption key. When specifying `kms_key_id`, `storage_encrypted` needs to be set to true. + /// + [Input("kmsKeyId")] + public Input? KmsKeyId { get; set; } + + /// + /// The Amazon Resource Name (ARN) of the secret. + /// + [Input("secretArn")] + public Input? SecretArn { get; set; } + + /// + /// The status of the secret. Valid Values: `creating` | `active` | `rotating` | `impaired`. + /// + [Input("secretStatus")] + public Input? SecretStatus { get; set; } + + public ClusterMasterUserSecretGetArgs() + { + } + public static new ClusterMasterUserSecretGetArgs Empty => new ClusterMasterUserSecretGetArgs(); + } +} diff --git a/sdk/dotnet/Rds/Inputs/InstanceMasterUserSecretArgs.cs b/sdk/dotnet/Rds/Inputs/InstanceMasterUserSecretArgs.cs new file mode 100644 index 00000000000..c160d6dbd63 --- /dev/null +++ b/sdk/dotnet/Rds/Inputs/InstanceMasterUserSecretArgs.cs @@ -0,0 +1,39 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.Rds.Inputs +{ + + public sealed class InstanceMasterUserSecretArgs : global::Pulumi.ResourceArgs + { + /// + /// The ARN for the KMS encryption key. If creating an + /// encrypted replica, set this to the destination KMS ARN. + /// + [Input("kmsKeyId")] + public Input? KmsKeyId { get; set; } + + /// + /// The Amazon Resource Name (ARN) of the secret. + /// + [Input("secretArn")] + public Input? SecretArn { get; set; } + + /// + /// The status of the secret. Valid Values: `creating` | `active` | `rotating` | `impaired`. + /// + [Input("secretStatus")] + public Input? SecretStatus { get; set; } + + public InstanceMasterUserSecretArgs() + { + } + public static new InstanceMasterUserSecretArgs Empty => new InstanceMasterUserSecretArgs(); + } +} diff --git a/sdk/dotnet/Rds/Inputs/InstanceMasterUserSecretGetArgs.cs b/sdk/dotnet/Rds/Inputs/InstanceMasterUserSecretGetArgs.cs new file mode 100644 index 00000000000..e4ec5a80673 --- /dev/null +++ b/sdk/dotnet/Rds/Inputs/InstanceMasterUserSecretGetArgs.cs @@ -0,0 +1,39 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.Rds.Inputs +{ + + public sealed class InstanceMasterUserSecretGetArgs : global::Pulumi.ResourceArgs + { + /// + /// The ARN for the KMS encryption key. If creating an + /// encrypted replica, set this to the destination KMS ARN. + /// + [Input("kmsKeyId")] + public Input? KmsKeyId { get; set; } + + /// + /// The Amazon Resource Name (ARN) of the secret. + /// + [Input("secretArn")] + public Input? SecretArn { get; set; } + + /// + /// The status of the secret. Valid Values: `creating` | `active` | `rotating` | `impaired`. + /// + [Input("secretStatus")] + public Input? SecretStatus { get; set; } + + public InstanceMasterUserSecretGetArgs() + { + } + public static new InstanceMasterUserSecretGetArgs Empty => new InstanceMasterUserSecretGetArgs(); + } +} diff --git a/sdk/dotnet/Rds/Instance.cs b/sdk/dotnet/Rds/Instance.cs index 5b8994d0712..8d293a01bc2 100644 --- a/sdk/dotnet/Rds/Instance.cs +++ b/sdk/dotnet/Rds/Instance.cs @@ -90,6 +90,66 @@ namespace Pulumi.Aws.Rds /// /// }); /// ``` + /// ### Managed Master Passwords via Secrets Manager, default KMS Key + /// + /// > More information about RDS/Aurora Aurora integrates with Secrets Manager to manage master user passwords for your DB clusters can be found in the [RDS User Guide](https://aws.amazon.com/about-aws/whats-new/2022/12/amazon-rds-integration-aws-secrets-manager/) and [Aurora User Guide](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/rds-secrets-manager.html). + /// + /// You can specify the `manage_master_user_password` attribute to enable managing the master password with Secrets Manager. You can also update an existing cluster to use Secrets Manager by specify the `manage_master_user_password` attribute and removing the `password` attribute (removal is required). + /// + /// ```csharp + /// using System.Collections.Generic; + /// using Pulumi; + /// using Aws = Pulumi.Aws; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var @default = new Aws.Rds.Instance("default", new() + /// { + /// AllocatedStorage = 10, + /// DbName = "mydb", + /// Engine = "mysql", + /// EngineVersion = "5.7", + /// InstanceClass = "db.t3.micro", + /// ManageMasterUserPassword = true, + /// ParameterGroupName = "default.mysql5.7", + /// Username = "foo", + /// }); + /// + /// }); + /// ``` + /// ### Managed Master Passwords via Secrets Manager, specific KMS Key + /// + /// > More information about RDS/Aurora Aurora integrates with Secrets Manager to manage master user passwords for your DB clusters can be found in the [RDS User Guide](https://aws.amazon.com/about-aws/whats-new/2022/12/amazon-rds-integration-aws-secrets-manager/) and [Aurora User Guide](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/rds-secrets-manager.html). + /// + /// You can specify the `master_user_secret_kms_key_id` attribute to specify a specific KMS Key. + /// + /// ```csharp + /// using System.Collections.Generic; + /// using Pulumi; + /// using Aws = Pulumi.Aws; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var example = new Aws.Kms.Key("example", new() + /// { + /// Description = "Example KMS Key", + /// }); + /// + /// var @default = new Aws.Rds.Instance("default", new() + /// { + /// AllocatedStorage = 10, + /// DbName = "mydb", + /// Engine = "mysql", + /// EngineVersion = "5.7", + /// InstanceClass = "db.t3.micro", + /// ManageMasterUserPassword = true, + /// MasterUserSecretKmsKeyId = example.KeyId, + /// Username = "foo", + /// ParameterGroupName = "default.mysql5.7", + /// }); + /// + /// }); + /// ``` /// /// ## Import /// @@ -376,6 +436,24 @@ public partial class Instance : global::Pulumi.CustomResource [Output("maintenanceWindow")] public Output MaintenanceWindow { get; private set; } = null!; + /// + /// Set to true to allow RDS to manage the master user password in Secrets Manager. Cannot be set if `password` is provided. + /// + [Output("manageMasterUserPassword")] + public Output ManageMasterUserPassword { get; private set; } = null!; + + /// + /// The Amazon Web Services KMS key identifier is the key ARN, key ID, alias ARN, or alias name for the KMS key. To use a KMS key in a different Amazon Web Services account, specify the key ARN or alias ARN. If not specified, the default KMS key for your Amazon Web Services account is used. + /// + [Output("masterUserSecretKmsKeyId")] + public Output MasterUserSecretKmsKeyId { get; private set; } = null!; + + /// + /// A block that specifies the master user secret. Only available when `manage_master_user_password` is set to true. Documented below. + /// + [Output("masterUserSecrets")] + public Output> MasterUserSecrets { get; private set; } = null!; + /// /// When configured, the upper limit to which Amazon RDS can automatically scale the storage of the DB instance. Configuring this will automatically ignore differences to `allocated_storage`. Must be greater than or equal to `allocated_storage` or `0` to disable Storage Autoscaling. /// @@ -440,9 +518,9 @@ public partial class Instance : global::Pulumi.CustomResource public Output ParameterGroupName { get; private set; } = null!; /// - /// (Required unless a `snapshot_identifier` or `replicate_source_db` - /// is provided) Password for the master DB user. Note that this may show up in - /// logs, and it will be stored in the state file. + /// (Required unless `manage_master_user_password` is set to true or unless a `snapshot_identifier` or `replicate_source_db` + /// is provided or `manage_master_user_password` is set.) Password for the master DB user. Note that this may show up in + /// logs, and it will be stored in the state file. Cannot be set if `manage_master_user_password` is set to `true`. /// [Output("password")] public Output Password { get; private set; } = null!; @@ -900,6 +978,18 @@ public InputList EnabledCloudwatchLogsExports [Input("maintenanceWindow")] public Input? MaintenanceWindow { get; set; } + /// + /// Set to true to allow RDS to manage the master user password in Secrets Manager. Cannot be set if `password` is provided. + /// + [Input("manageMasterUserPassword")] + public Input? ManageMasterUserPassword { get; set; } + + /// + /// The Amazon Web Services KMS key identifier is the key ARN, key ID, alias ARN, or alias name for the KMS key. To use a KMS key in a different Amazon Web Services account, specify the key ARN or alias ARN. If not specified, the default KMS key for your Amazon Web Services account is used. + /// + [Input("masterUserSecretKmsKeyId")] + public Input? MasterUserSecretKmsKeyId { get; set; } + /// /// When configured, the upper limit to which Amazon RDS can automatically scale the storage of the DB instance. Configuring this will automatically ignore differences to `allocated_storage`. Must be greater than or equal to `allocated_storage` or `0` to disable Storage Autoscaling. /// @@ -967,9 +1057,9 @@ public InputList EnabledCloudwatchLogsExports private Input? _password; /// - /// (Required unless a `snapshot_identifier` or `replicate_source_db` - /// is provided) Password for the master DB user. Note that this may show up in - /// logs, and it will be stored in the state file. + /// (Required unless `manage_master_user_password` is set to true or unless a `snapshot_identifier` or `replicate_source_db` + /// is provided or `manage_master_user_password` is set.) Password for the master DB user. Note that this may show up in + /// logs, and it will be stored in the state file. Cannot be set if `manage_master_user_password` is set to `true`. /// public Input? Password { @@ -1438,6 +1528,30 @@ public InputList ListenerEndpoints [Input("maintenanceWindow")] public Input? MaintenanceWindow { get; set; } + /// + /// Set to true to allow RDS to manage the master user password in Secrets Manager. Cannot be set if `password` is provided. + /// + [Input("manageMasterUserPassword")] + public Input? ManageMasterUserPassword { get; set; } + + /// + /// The Amazon Web Services KMS key identifier is the key ARN, key ID, alias ARN, or alias name for the KMS key. To use a KMS key in a different Amazon Web Services account, specify the key ARN or alias ARN. If not specified, the default KMS key for your Amazon Web Services account is used. + /// + [Input("masterUserSecretKmsKeyId")] + public Input? MasterUserSecretKmsKeyId { get; set; } + + [Input("masterUserSecrets")] + private InputList? _masterUserSecrets; + + /// + /// A block that specifies the master user secret. Only available when `manage_master_user_password` is set to true. Documented below. + /// + public InputList MasterUserSecrets + { + get => _masterUserSecrets ?? (_masterUserSecrets = new InputList()); + set => _masterUserSecrets = value; + } + /// /// When configured, the upper limit to which Amazon RDS can automatically scale the storage of the DB instance. Configuring this will automatically ignore differences to `allocated_storage`. Must be greater than or equal to `allocated_storage` or `0` to disable Storage Autoscaling. /// @@ -1505,9 +1619,9 @@ public InputList ListenerEndpoints private Input? _password; /// - /// (Required unless a `snapshot_identifier` or `replicate_source_db` - /// is provided) Password for the master DB user. Note that this may show up in - /// logs, and it will be stored in the state file. + /// (Required unless `manage_master_user_password` is set to true or unless a `snapshot_identifier` or `replicate_source_db` + /// is provided or `manage_master_user_password` is set.) Password for the master DB user. Note that this may show up in + /// logs, and it will be stored in the state file. Cannot be set if `manage_master_user_password` is set to `true`. /// public Input? Password { diff --git a/sdk/dotnet/Rds/Outputs/ClusterMasterUserSecret.cs b/sdk/dotnet/Rds/Outputs/ClusterMasterUserSecret.cs new file mode 100644 index 00000000000..c21aa897a10 --- /dev/null +++ b/sdk/dotnet/Rds/Outputs/ClusterMasterUserSecret.cs @@ -0,0 +1,42 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.Rds.Outputs +{ + + [OutputType] + public sealed class ClusterMasterUserSecret + { + /// + /// The ARN for the KMS encryption key. When specifying `kms_key_id`, `storage_encrypted` needs to be set to true. + /// + public readonly string? KmsKeyId; + /// + /// The Amazon Resource Name (ARN) of the secret. + /// + public readonly string? SecretArn; + /// + /// The status of the secret. Valid Values: `creating` | `active` | `rotating` | `impaired`. + /// + public readonly string? SecretStatus; + + [OutputConstructor] + private ClusterMasterUserSecret( + string? kmsKeyId, + + string? secretArn, + + string? secretStatus) + { + KmsKeyId = kmsKeyId; + SecretArn = secretArn; + SecretStatus = secretStatus; + } + } +} diff --git a/sdk/dotnet/Rds/Outputs/GetClusterMasterUserSecretResult.cs b/sdk/dotnet/Rds/Outputs/GetClusterMasterUserSecretResult.cs new file mode 100644 index 00000000000..7d28d6d87f5 --- /dev/null +++ b/sdk/dotnet/Rds/Outputs/GetClusterMasterUserSecretResult.cs @@ -0,0 +1,33 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.Rds.Outputs +{ + + [OutputType] + public sealed class GetClusterMasterUserSecretResult + { + public readonly string KmsKeyId; + public readonly string SecretArn; + public readonly string SecretStatus; + + [OutputConstructor] + private GetClusterMasterUserSecretResult( + string kmsKeyId, + + string secretArn, + + string secretStatus) + { + KmsKeyId = kmsKeyId; + SecretArn = secretArn; + SecretStatus = secretStatus; + } + } +} diff --git a/sdk/dotnet/Rds/Outputs/GetInstanceMasterUserSecretResult.cs b/sdk/dotnet/Rds/Outputs/GetInstanceMasterUserSecretResult.cs new file mode 100644 index 00000000000..1597ffaa809 --- /dev/null +++ b/sdk/dotnet/Rds/Outputs/GetInstanceMasterUserSecretResult.cs @@ -0,0 +1,42 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.Rds.Outputs +{ + + [OutputType] + public sealed class GetInstanceMasterUserSecretResult + { + /// + /// The Amazon Web Services KMS key identifier that is used to encrypt the secret. + /// + public readonly string KmsKeyId; + /// + /// The Amazon Resource Name (ARN) of the secret. + /// + public readonly string SecretArn; + /// + /// The status of the secret. Valid Values: `creating` | `active` | `rotating` | `impaired`. + /// + public readonly string SecretStatus; + + [OutputConstructor] + private GetInstanceMasterUserSecretResult( + string kmsKeyId, + + string secretArn, + + string secretStatus) + { + KmsKeyId = kmsKeyId; + SecretArn = secretArn; + SecretStatus = secretStatus; + } + } +} diff --git a/sdk/dotnet/Rds/Outputs/InstanceMasterUserSecret.cs b/sdk/dotnet/Rds/Outputs/InstanceMasterUserSecret.cs new file mode 100644 index 00000000000..7a5841f9ed7 --- /dev/null +++ b/sdk/dotnet/Rds/Outputs/InstanceMasterUserSecret.cs @@ -0,0 +1,43 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.Rds.Outputs +{ + + [OutputType] + public sealed class InstanceMasterUserSecret + { + /// + /// The ARN for the KMS encryption key. If creating an + /// encrypted replica, set this to the destination KMS ARN. + /// + public readonly string? KmsKeyId; + /// + /// The Amazon Resource Name (ARN) of the secret. + /// + public readonly string? SecretArn; + /// + /// The status of the secret. Valid Values: `creating` | `active` | `rotating` | `impaired`. + /// + public readonly string? SecretStatus; + + [OutputConstructor] + private InstanceMasterUserSecret( + string? kmsKeyId, + + string? secretArn, + + string? secretStatus) + { + KmsKeyId = kmsKeyId; + SecretArn = secretArn; + SecretStatus = secretStatus; + } + } +} diff --git a/sdk/dotnet/Route53/HealthCheck.cs b/sdk/dotnet/Route53/HealthCheck.cs index 62b5e7f5b2f..96d83046774 100644 --- a/sdk/dotnet/Route53/HealthCheck.cs +++ b/sdk/dotnet/Route53/HealthCheck.cs @@ -458,6 +458,18 @@ public InputMap Tags set => _tags = value; } + [Input("tagsAll")] + private InputMap? _tagsAll; + + /// + /// A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. + /// + public InputMap TagsAll + { + get => _tagsAll ?? (_tagsAll = new InputMap()); + set => _tagsAll = value; + } + /// /// The protocol to use when performing health checks. Valid values are `HTTP`, `HTTPS`, `HTTP_STR_MATCH`, `HTTPS_STR_MATCH`, `TCP`, `CALCULATED`, `CLOUDWATCH_METRIC` and `RECOVERY_CONTROL`. /// diff --git a/sdk/dotnet/Route53/Zone.cs b/sdk/dotnet/Route53/Zone.cs index 6ad4010b703..8ecd2ade8fa 100644 --- a/sdk/dotnet/Route53/Zone.cs +++ b/sdk/dotnet/Route53/Zone.cs @@ -247,6 +247,18 @@ public InputMap Tags set => _tags = value; } + [Input("tagsAll")] + private InputMap? _tagsAll; + + /// + /// A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. + /// + public InputMap TagsAll + { + get => _tagsAll ?? (_tagsAll = new InputMap()); + set => _tagsAll = value; + } + [Input("vpcs")] private InputList? _vpcs; diff --git a/sdk/dotnet/S3/BucketObject.cs b/sdk/dotnet/S3/BucketObject.cs index c93e4b36ff5..16c0c5d83ef 100644 --- a/sdk/dotnet/S3/BucketObject.cs +++ b/sdk/dotnet/S3/BucketObject.cs @@ -518,6 +518,18 @@ public InputMap Tags set => _tags = value; } + [Input("tagsAll")] + private InputMap? _tagsAll; + + /// + /// Map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. + /// + public InputMap TagsAll + { + get => _tagsAll ?? (_tagsAll = new InputMap()); + set => _tagsAll = value; + } + /// /// Target URL for [website redirect](http://docs.aws.amazon.com/AmazonS3/latest/dev/how-to-page-redirect.html). /// diff --git a/sdk/dotnet/S3/BucketObjectv2.cs b/sdk/dotnet/S3/BucketObjectv2.cs index 46af158f0cc..77277102a7c 100644 --- a/sdk/dotnet/S3/BucketObjectv2.cs +++ b/sdk/dotnet/S3/BucketObjectv2.cs @@ -522,6 +522,18 @@ public InputMap Tags set => _tags = value; } + [Input("tagsAll")] + private InputMap? _tagsAll; + + /// + /// Map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. + /// + public InputMap TagsAll + { + get => _tagsAll ?? (_tagsAll = new InputMap()); + set => _tagsAll = value; + } + /// /// Target URL for [website redirect](http://docs.aws.amazon.com/AmazonS3/latest/dev/how-to-page-redirect.html). /// diff --git a/sdk/dotnet/S3/BucketV2.cs b/sdk/dotnet/S3/BucketV2.cs index e9bbb606a05..465d40c8623 100644 --- a/sdk/dotnet/S3/BucketV2.cs +++ b/sdk/dotnet/S3/BucketV2.cs @@ -628,7 +628,7 @@ public partial class BucketV2 : global::Pulumi.CustomResource /// Creates a unique bucket name beginning with the specified prefix. Conflicts with `bucket`. Must be lowercase and less than or equal to 37 characters in length. A full list of bucket naming rules [may be found here](https://docs.aws.amazon.com/AmazonS3/latest/userguide/bucketnamingrules.html). /// [Output("bucketPrefix")] - public Output BucketPrefix { get; private set; } = null!; + public Output BucketPrefix { get; private set; } = null!; /// /// Bucket region-specific domain name. The bucket domain name including the region name, please refer [here](https://docs.aws.amazon.com/general/latest/gr/rande.html#s3_region) for format. Note: The AWS CloudFront allows specifying S3 region-specific endpoint when creating S3 origin, it will prevent [redirect issues](https://forums.aws.amazon.com/thread.jspa?threadID=216814) from CloudFront to S3 Origin URL. @@ -972,6 +972,18 @@ public InputMap Tags set => _tags = value; } + [Input("tagsAll")] + private InputMap? _tagsAll; + + /// + /// Map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. + /// + public InputMap TagsAll + { + get => _tagsAll ?? (_tagsAll = new InputMap()); + set => _tagsAll = value; + } + [Input("versionings")] private InputList? _versionings; diff --git a/sdk/dotnet/S3/ObjectCopy.cs b/sdk/dotnet/S3/ObjectCopy.cs index e7cb706b854..91c6430bfe9 100644 --- a/sdk/dotnet/S3/ObjectCopy.cs +++ b/sdk/dotnet/S3/ObjectCopy.cs @@ -643,6 +643,18 @@ public InputMap Tags set => _tags = value; } + [Input("tagsAll")] + private InputMap? _tagsAll; + + /// + /// Map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. + /// + public InputMap TagsAll + { + get => _tagsAll ?? (_tagsAll = new InputMap()); + set => _tagsAll = value; + } + /// /// Specifies a target URL for [website redirect](http://docs.aws.amazon.com/AmazonS3/latest/dev/how-to-page-redirect.html). /// diff --git a/sdk/dotnet/Sagemaker/Inputs/EndpointConfigurationProductionVariantArgs.cs b/sdk/dotnet/Sagemaker/Inputs/EndpointConfigurationProductionVariantArgs.cs index ccb8b0c4462..f2580b683cb 100644 --- a/sdk/dotnet/Sagemaker/Inputs/EndpointConfigurationProductionVariantArgs.cs +++ b/sdk/dotnet/Sagemaker/Inputs/EndpointConfigurationProductionVariantArgs.cs @@ -30,6 +30,12 @@ public sealed class EndpointConfigurationProductionVariantArgs : global::Pulumi. [Input("coreDumpConfig")] public Input? CoreDumpConfig { get; set; } + /// + /// You can use this parameter to turn on native Amazon Web Services Systems Manager (SSM) access for a production variant behind an endpoint. By default, SSM access is disabled for all production variants behind an endpoints. + /// + [Input("enableSsmAccess")] + public Input? EnableSsmAccess { get; set; } + /// /// Initial number of instances used for auto-scaling. /// diff --git a/sdk/dotnet/Sagemaker/Inputs/EndpointConfigurationProductionVariantGetArgs.cs b/sdk/dotnet/Sagemaker/Inputs/EndpointConfigurationProductionVariantGetArgs.cs index 09cfc271b61..259f803b318 100644 --- a/sdk/dotnet/Sagemaker/Inputs/EndpointConfigurationProductionVariantGetArgs.cs +++ b/sdk/dotnet/Sagemaker/Inputs/EndpointConfigurationProductionVariantGetArgs.cs @@ -30,6 +30,12 @@ public sealed class EndpointConfigurationProductionVariantGetArgs : global::Pulu [Input("coreDumpConfig")] public Input? CoreDumpConfig { get; set; } + /// + /// You can use this parameter to turn on native Amazon Web Services Systems Manager (SSM) access for a production variant behind an endpoint. By default, SSM access is disabled for all production variants behind an endpoints. + /// + [Input("enableSsmAccess")] + public Input? EnableSsmAccess { get; set; } + /// /// Initial number of instances used for auto-scaling. /// diff --git a/sdk/dotnet/Sagemaker/Inputs/EndpointConfigurationShadowProductionVariantArgs.cs b/sdk/dotnet/Sagemaker/Inputs/EndpointConfigurationShadowProductionVariantArgs.cs index b9932b5f7e9..8d5a91252bb 100644 --- a/sdk/dotnet/Sagemaker/Inputs/EndpointConfigurationShadowProductionVariantArgs.cs +++ b/sdk/dotnet/Sagemaker/Inputs/EndpointConfigurationShadowProductionVariantArgs.cs @@ -30,6 +30,12 @@ public sealed class EndpointConfigurationShadowProductionVariantArgs : global::P [Input("coreDumpConfig")] public Input? CoreDumpConfig { get; set; } + /// + /// You can use this parameter to turn on native Amazon Web Services Systems Manager (SSM) access for a production variant behind an endpoint. By default, SSM access is disabled for all production variants behind an endpoints. + /// + [Input("enableSsmAccess")] + public Input? EnableSsmAccess { get; set; } + /// /// Initial number of instances used for auto-scaling. /// diff --git a/sdk/dotnet/Sagemaker/Inputs/EndpointConfigurationShadowProductionVariantGetArgs.cs b/sdk/dotnet/Sagemaker/Inputs/EndpointConfigurationShadowProductionVariantGetArgs.cs index 4629a4ca928..37aaf47c568 100644 --- a/sdk/dotnet/Sagemaker/Inputs/EndpointConfigurationShadowProductionVariantGetArgs.cs +++ b/sdk/dotnet/Sagemaker/Inputs/EndpointConfigurationShadowProductionVariantGetArgs.cs @@ -30,6 +30,12 @@ public sealed class EndpointConfigurationShadowProductionVariantGetArgs : global [Input("coreDumpConfig")] public Input? CoreDumpConfig { get; set; } + /// + /// You can use this parameter to turn on native Amazon Web Services Systems Manager (SSM) access for a production variant behind an endpoint. By default, SSM access is disabled for all production variants behind an endpoints. + /// + [Input("enableSsmAccess")] + public Input? EnableSsmAccess { get; set; } + /// /// Initial number of instances used for auto-scaling. /// diff --git a/sdk/dotnet/Sagemaker/Outputs/EndpointConfigurationProductionVariant.cs b/sdk/dotnet/Sagemaker/Outputs/EndpointConfigurationProductionVariant.cs index 98bfcf0a8c6..412f62243db 100644 --- a/sdk/dotnet/Sagemaker/Outputs/EndpointConfigurationProductionVariant.cs +++ b/sdk/dotnet/Sagemaker/Outputs/EndpointConfigurationProductionVariant.cs @@ -26,6 +26,10 @@ public sealed class EndpointConfigurationProductionVariant /// public readonly Outputs.EndpointConfigurationProductionVariantCoreDumpConfig? CoreDumpConfig; /// + /// You can use this parameter to turn on native Amazon Web Services Systems Manager (SSM) access for a production variant behind an endpoint. By default, SSM access is disabled for all production variants behind an endpoints. + /// + public readonly bool? EnableSsmAccess; + /// /// Initial number of instances used for auto-scaling. /// public readonly int? InitialInstanceCount; @@ -66,6 +70,8 @@ private EndpointConfigurationProductionVariant( Outputs.EndpointConfigurationProductionVariantCoreDumpConfig? coreDumpConfig, + bool? enableSsmAccess, + int? initialInstanceCount, double? initialVariantWeight, @@ -85,6 +91,7 @@ private EndpointConfigurationProductionVariant( AcceleratorType = acceleratorType; ContainerStartupHealthCheckTimeoutInSeconds = containerStartupHealthCheckTimeoutInSeconds; CoreDumpConfig = coreDumpConfig; + EnableSsmAccess = enableSsmAccess; InitialInstanceCount = initialInstanceCount; InitialVariantWeight = initialVariantWeight; InstanceType = instanceType; diff --git a/sdk/dotnet/Sagemaker/Outputs/EndpointConfigurationShadowProductionVariant.cs b/sdk/dotnet/Sagemaker/Outputs/EndpointConfigurationShadowProductionVariant.cs index 4a9e265b1f8..93f7930997c 100644 --- a/sdk/dotnet/Sagemaker/Outputs/EndpointConfigurationShadowProductionVariant.cs +++ b/sdk/dotnet/Sagemaker/Outputs/EndpointConfigurationShadowProductionVariant.cs @@ -26,6 +26,10 @@ public sealed class EndpointConfigurationShadowProductionVariant /// public readonly Outputs.EndpointConfigurationShadowProductionVariantCoreDumpConfig? CoreDumpConfig; /// + /// You can use this parameter to turn on native Amazon Web Services Systems Manager (SSM) access for a production variant behind an endpoint. By default, SSM access is disabled for all production variants behind an endpoints. + /// + public readonly bool? EnableSsmAccess; + /// /// Initial number of instances used for auto-scaling. /// public readonly int? InitialInstanceCount; @@ -66,6 +70,8 @@ private EndpointConfigurationShadowProductionVariant( Outputs.EndpointConfigurationShadowProductionVariantCoreDumpConfig? coreDumpConfig, + bool? enableSsmAccess, + int? initialInstanceCount, double? initialVariantWeight, @@ -85,6 +91,7 @@ private EndpointConfigurationShadowProductionVariant( AcceleratorType = acceleratorType; ContainerStartupHealthCheckTimeoutInSeconds = containerStartupHealthCheckTimeoutInSeconds; CoreDumpConfig = coreDumpConfig; + EnableSsmAccess = enableSsmAccess; InitialInstanceCount = initialInstanceCount; InitialVariantWeight = initialVariantWeight; InstanceType = instanceType; diff --git a/sdk/dotnet/ServiceCatalog/Portfolio.cs b/sdk/dotnet/ServiceCatalog/Portfolio.cs index 37bde57f937..6bbdf608bf4 100644 --- a/sdk/dotnet/ServiceCatalog/Portfolio.cs +++ b/sdk/dotnet/ServiceCatalog/Portfolio.cs @@ -153,6 +153,18 @@ public InputMap Tags set => _tags = value; } + [Input("tagsAll")] + private InputMap? _tagsAll; + + /// + /// A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. + /// + public InputMap TagsAll + { + get => _tagsAll ?? (_tagsAll = new InputMap()); + set => _tagsAll = value; + } + public PortfolioArgs() { } diff --git a/sdk/dotnet/ServiceCatalog/Product.cs b/sdk/dotnet/ServiceCatalog/Product.cs index ae96fb351e4..5f7e763ab72 100644 --- a/sdk/dotnet/ServiceCatalog/Product.cs +++ b/sdk/dotnet/ServiceCatalog/Product.cs @@ -262,6 +262,18 @@ public InputMap Tags set => _tags = value; } + [Input("tagsAll")] + private InputMap? _tagsAll; + + /// + /// A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. + /// + public InputMap TagsAll + { + get => _tagsAll ?? (_tagsAll = new InputMap()); + set => _tagsAll = value; + } + /// /// Type of product. See [AWS Docs](https://docs.aws.amazon.com/servicecatalog/latest/dg/API_CreateProduct.html#API_CreateProduct_RequestSyntax) for valid list of values. /// diff --git a/sdk/dotnet/ServiceCatalog/ProvisionedProduct.cs b/sdk/dotnet/ServiceCatalog/ProvisionedProduct.cs index 7742c41a097..f3c18a29cb1 100644 --- a/sdk/dotnet/ServiceCatalog/ProvisionedProduct.cs +++ b/sdk/dotnet/ServiceCatalog/ProvisionedProduct.cs @@ -366,6 +366,18 @@ public InputMap Tags set => _tags = value; } + [Input("tagsAll")] + private InputMap? _tagsAll; + + /// + /// Map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. + /// + public InputMap TagsAll + { + get => _tagsAll ?? (_tagsAll = new InputMap()); + set => _tagsAll = value; + } + public ProvisionedProductArgs() { } diff --git a/sdk/dotnet/Sns/DataProtectionPolicy.cs b/sdk/dotnet/Sns/DataProtectionPolicy.cs new file mode 100644 index 00000000000..b12eb70348d --- /dev/null +++ b/sdk/dotnet/Sns/DataProtectionPolicy.cs @@ -0,0 +1,169 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.Sns +{ + /// + /// Provides an SNS data protection topic policy resource + /// + /// ## Example Usage + /// + /// ```csharp + /// using System.Collections.Generic; + /// using System.Text.Json; + /// using Pulumi; + /// using Aws = Pulumi.Aws; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var exampleTopic = new Aws.Sns.Topic("exampleTopic"); + /// + /// var exampleDataProtectionPolicy = new Aws.Sns.DataProtectionPolicy("exampleDataProtectionPolicy", new() + /// { + /// Arn = exampleTopic.Arn, + /// Policy = JsonSerializer.Serialize(new Dictionary<string, object?> + /// { + /// ["Description"] = "Example data protection policy", + /// ["Name"] = "__example_data_protection_policy", + /// ["Statement"] = new[] + /// { + /// new Dictionary<string, object?> + /// { + /// ["DataDirection"] = "Inbound", + /// ["DataIdentifier"] = new[] + /// { + /// "arn:aws:dataprotection::aws:data-identifier/EmailAddress", + /// }, + /// ["Operation"] = new Dictionary<string, object?> + /// { + /// ["Deny"] = new Dictionary<string, object?> + /// { + /// }, + /// }, + /// ["Principal"] = new[] + /// { + /// "*", + /// }, + /// ["Sid"] = "__deny_statement_11ba9d96", + /// }, + /// }, + /// ["Version"] = "2021-06-01", + /// }), + /// }); + /// + /// }); + /// ``` + /// + /// ## Import + /// + /// SNS Data Protection Topic Policy can be imported using the topic ARN, e.g., + /// + /// ```sh + /// $ pulumi import aws:sns/dataProtectionPolicy:DataProtectionPolicy example arn:aws:sns:us-west-2:0123456789012:example + /// ``` + /// + [AwsResourceType("aws:sns/dataProtectionPolicy:DataProtectionPolicy")] + public partial class DataProtectionPolicy : global::Pulumi.CustomResource + { + /// + /// The ARN of the SNS topic + /// + [Output("arn")] + public Output Arn { get; private set; } = null!; + + /// + /// The fully-formed AWS policy as JSON. For more information about building AWS IAM policy documents with this provider, see the AWS IAM Policy Document Guide. + /// + [Output("policy")] + public Output Policy { get; private set; } = null!; + + + /// + /// Create a DataProtectionPolicy resource with the given unique name, arguments, and options. + /// + /// + /// The unique name of the resource + /// The arguments used to populate this resource's properties + /// A bag of options that control this resource's behavior + public DataProtectionPolicy(string name, DataProtectionPolicyArgs args, CustomResourceOptions? options = null) + : base("aws:sns/dataProtectionPolicy:DataProtectionPolicy", name, args ?? new DataProtectionPolicyArgs(), MakeResourceOptions(options, "")) + { + } + + private DataProtectionPolicy(string name, Input id, DataProtectionPolicyState? state = null, CustomResourceOptions? options = null) + : base("aws:sns/dataProtectionPolicy:DataProtectionPolicy", name, state, MakeResourceOptions(options, id)) + { + } + + private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? options, Input? id) + { + var defaultOptions = new CustomResourceOptions + { + Version = Utilities.Version, + }; + var merged = CustomResourceOptions.Merge(defaultOptions, options); + // Override the ID if one was specified for consistency with other language SDKs. + merged.Id = id ?? merged.Id; + return merged; + } + /// + /// Get an existing DataProtectionPolicy resource's state with the given name, ID, and optional extra + /// properties used to qualify the lookup. + /// + /// + /// The unique name of the resulting resource. + /// The unique provider ID of the resource to lookup. + /// Any extra arguments used during the lookup. + /// A bag of options that control this resource's behavior + public static DataProtectionPolicy Get(string name, Input id, DataProtectionPolicyState? state = null, CustomResourceOptions? options = null) + { + return new DataProtectionPolicy(name, id, state, options); + } + } + + public sealed class DataProtectionPolicyArgs : global::Pulumi.ResourceArgs + { + /// + /// The ARN of the SNS topic + /// + [Input("arn", required: true)] + public Input Arn { get; set; } = null!; + + /// + /// The fully-formed AWS policy as JSON. For more information about building AWS IAM policy documents with this provider, see the AWS IAM Policy Document Guide. + /// + [Input("policy", required: true)] + public Input Policy { get; set; } = null!; + + public DataProtectionPolicyArgs() + { + } + public static new DataProtectionPolicyArgs Empty => new DataProtectionPolicyArgs(); + } + + public sealed class DataProtectionPolicyState : global::Pulumi.ResourceArgs + { + /// + /// The ARN of the SNS topic + /// + [Input("arn")] + public Input? Arn { get; set; } + + /// + /// The fully-formed AWS policy as JSON. For more information about building AWS IAM policy documents with this provider, see the AWS IAM Policy Document Guide. + /// + [Input("policy")] + public Input? Policy { get; set; } + + public DataProtectionPolicyState() + { + } + public static new DataProtectionPolicyState Empty => new DataProtectionPolicyState(); + } +} diff --git a/sdk/dotnet/Ssm/Activation.cs b/sdk/dotnet/Ssm/Activation.cs index 81007364212..24537e37047 100644 --- a/sdk/dotnet/Ssm/Activation.cs +++ b/sdk/dotnet/Ssm/Activation.cs @@ -233,6 +233,18 @@ public InputMap Tags set => _tags = value; } + [Input("tagsAll")] + private InputMap? _tagsAll; + + /// + /// A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. + /// + public InputMap TagsAll + { + get => _tagsAll ?? (_tagsAll = new InputMap()); + set => _tagsAll = value; + } + public ActivationArgs() { } diff --git a/sdk/dotnet/Ssm/Document.cs b/sdk/dotnet/Ssm/Document.cs index ba523581746..0ddffc10c9a 100644 --- a/sdk/dotnet/Ssm/Document.cs +++ b/sdk/dotnet/Ssm/Document.cs @@ -368,6 +368,18 @@ public InputMap Tags set => _tags = value; } + [Input("tagsAll")] + private InputMap? _tagsAll; + + /// + /// A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. + /// + public InputMap TagsAll + { + get => _tagsAll ?? (_tagsAll = new InputMap()); + set => _tagsAll = value; + } + /// /// The target type which defines the kinds of resources the document can run on. For example, /AWS::EC2::Instance. For a list of valid resource types, see AWS Resource Types Reference (http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-template-resource-type-ref.html) /// diff --git a/sdk/dotnet/Ssm/MaintenanceWindow.cs b/sdk/dotnet/Ssm/MaintenanceWindow.cs index 92c40709839..60d51d01f76 100644 --- a/sdk/dotnet/Ssm/MaintenanceWindow.cs +++ b/sdk/dotnet/Ssm/MaintenanceWindow.cs @@ -246,6 +246,18 @@ public InputMap Tags set => _tags = value; } + [Input("tagsAll")] + private InputMap? _tagsAll; + + /// + /// A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. + /// + public InputMap TagsAll + { + get => _tagsAll ?? (_tagsAll = new InputMap()); + set => _tagsAll = value; + } + public MaintenanceWindowArgs() { } diff --git a/sdk/dotnet/Ssm/Parameter.cs b/sdk/dotnet/Ssm/Parameter.cs index ab189e5ca6a..b186f0c0390 100644 --- a/sdk/dotnet/Ssm/Parameter.cs +++ b/sdk/dotnet/Ssm/Parameter.cs @@ -274,6 +274,18 @@ public InputMap Tags set => _tags = value; } + [Input("tagsAll")] + private InputMap? _tagsAll; + + /// + /// Map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. + /// + public InputMap TagsAll + { + get => _tagsAll ?? (_tagsAll = new InputMap()); + set => _tagsAll = value; + } + /// /// Parameter tier to assign to the parameter. If not specified, will use the default parameter tier for the region. Valid tiers are `Standard`, `Advanced`, and `Intelligent-Tiering`. Downgrading an `Advanced` tier parameter to `Standard` will recreate the resource. For more information on parameter tiers, see the [AWS SSM Parameter tier comparison and guide](https://docs.aws.amazon.com/systems-manager/latest/userguide/parameter-store-advanced-parameters.html). /// diff --git a/sdk/dotnet/Ssm/PatchBaseline.cs b/sdk/dotnet/Ssm/PatchBaseline.cs index 1e0a1a742b0..828863849a9 100644 --- a/sdk/dotnet/Ssm/PatchBaseline.cs +++ b/sdk/dotnet/Ssm/PatchBaseline.cs @@ -565,6 +565,18 @@ public InputMap Tags set => _tags = value; } + [Input("tagsAll")] + private InputMap? _tagsAll; + + /// + /// A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. + /// + public InputMap TagsAll + { + get => _tagsAll ?? (_tagsAll = new InputMap()); + set => _tagsAll = value; + } + public PatchBaselineArgs() { } diff --git a/sdk/dotnet/SsmIncidents/GetReplicationSet.cs b/sdk/dotnet/SsmIncidents/GetReplicationSet.cs new file mode 100644 index 00000000000..78b8343f476 --- /dev/null +++ b/sdk/dotnet/SsmIncidents/GetReplicationSet.cs @@ -0,0 +1,173 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.SsmIncidents +{ + public static class GetReplicationSet + { + /// + /// > **NOTE:** The AWS Region specified by a provider must always be one of the Regions specified for the replication set. + /// + /// Use this data source to manage a replication set in AWS Systems Manager Incident Manager. + /// + /// {{% examples %}} + /// ## Example Usage + /// {{% example %}} + /// ### Basic Usage + /// + /// ```csharp + /// using System.Collections.Generic; + /// using Pulumi; + /// using Aws = Pulumi.Aws; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var example = Aws.SsmIncidents.GetReplicationSet.Invoke(); + /// + /// }); + /// ``` + /// {{% /example %}} + /// {{% /examples %}} + /// + public static Task InvokeAsync(GetReplicationSetArgs? args = null, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.InvokeAsync("aws:ssmincidents/getReplicationSet:getReplicationSet", args ?? new GetReplicationSetArgs(), options.WithDefaults()); + + /// + /// > **NOTE:** The AWS Region specified by a provider must always be one of the Regions specified for the replication set. + /// + /// Use this data source to manage a replication set in AWS Systems Manager Incident Manager. + /// + /// {{% examples %}} + /// ## Example Usage + /// {{% example %}} + /// ### Basic Usage + /// + /// ```csharp + /// using System.Collections.Generic; + /// using Pulumi; + /// using Aws = Pulumi.Aws; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var example = Aws.SsmIncidents.GetReplicationSet.Invoke(); + /// + /// }); + /// ``` + /// {{% /example %}} + /// {{% /examples %}} + /// + public static Output Invoke(GetReplicationSetInvokeArgs? args = null, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.Invoke("aws:ssmincidents/getReplicationSet:getReplicationSet", args ?? new GetReplicationSetInvokeArgs(), options.WithDefaults()); + } + + + public sealed class GetReplicationSetArgs : global::Pulumi.InvokeArgs + { + [Input("tags")] + private Dictionary? _tags; + + /// + /// All tags applied to the replication set. + /// + public Dictionary Tags + { + get => _tags ?? (_tags = new Dictionary()); + set => _tags = value; + } + + public GetReplicationSetArgs() + { + } + public static new GetReplicationSetArgs Empty => new GetReplicationSetArgs(); + } + + public sealed class GetReplicationSetInvokeArgs : global::Pulumi.InvokeArgs + { + [Input("tags")] + private InputMap? _tags; + + /// + /// All tags applied to the replication set. + /// + public InputMap Tags + { + get => _tags ?? (_tags = new InputMap()); + set => _tags = value; + } + + public GetReplicationSetInvokeArgs() + { + } + public static new GetReplicationSetInvokeArgs Empty => new GetReplicationSetInvokeArgs(); + } + + + [OutputType] + public sealed class GetReplicationSetResult + { + /// + /// The Amazon Resouce Name (ARN) of the replication set. + /// + public readonly string Arn; + /// + /// The ARN of the user who created the replication set. + /// + public readonly string CreatedBy; + /// + /// If `true`, the last remaining Region in a replication set can’t be deleted. + /// + public readonly bool DeletionProtected; + /// + /// The provider-assigned unique ID for this managed resource. + /// + public readonly string Id; + /// + /// The ARN of the user who last modified the replication set. + /// + public readonly string LastModifiedBy; + public readonly ImmutableArray Regions; + /// + /// The current status of the Region. + /// * Valid Values: `ACTIVE` | `CREATING` | `UPDATING` | `DELETING` | `FAILED` + /// + public readonly string Status; + /// + /// All tags applied to the replication set. + /// + public readonly ImmutableDictionary Tags; + + [OutputConstructor] + private GetReplicationSetResult( + string arn, + + string createdBy, + + bool deletionProtected, + + string id, + + string lastModifiedBy, + + ImmutableArray regions, + + string status, + + ImmutableDictionary tags) + { + Arn = arn; + CreatedBy = createdBy; + DeletionProtected = deletionProtected; + Id = id; + LastModifiedBy = lastModifiedBy; + Regions = regions; + Status = status; + Tags = tags; + } + } +} diff --git a/sdk/dotnet/SsmIncidents/Inputs/ReplicationSetRegionArgs.cs b/sdk/dotnet/SsmIncidents/Inputs/ReplicationSetRegionArgs.cs new file mode 100644 index 00000000000..5bca6515cb2 --- /dev/null +++ b/sdk/dotnet/SsmIncidents/Inputs/ReplicationSetRegionArgs.cs @@ -0,0 +1,45 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.SsmIncidents.Inputs +{ + + public sealed class ReplicationSetRegionArgs : global::Pulumi.ResourceArgs + { + /// + /// The Amazon Resource name (ARN) of the customer managed key. If omitted, AWS manages the AWS KMS keys for you, using an AWS owned key, as indicated by a default value of `DefaultKey`. + /// + [Input("kmsKeyArn")] + public Input? KmsKeyArn { get; set; } + + /// + /// The name of the Region, such as `ap-southeast-2`. + /// + [Input("name", required: true)] + public Input Name { get; set; } = null!; + + /// + /// The current status of the Region. + /// * Valid Values: `ACTIVE` | `CREATING` | `UPDATING` | `DELETING` | `FAILED` + /// + [Input("status")] + public Input? Status { get; set; } + + /// + /// More information about the status of a Region. + /// + [Input("statusMessage")] + public Input? StatusMessage { get; set; } + + public ReplicationSetRegionArgs() + { + } + public static new ReplicationSetRegionArgs Empty => new ReplicationSetRegionArgs(); + } +} diff --git a/sdk/dotnet/SsmIncidents/Inputs/ReplicationSetRegionGetArgs.cs b/sdk/dotnet/SsmIncidents/Inputs/ReplicationSetRegionGetArgs.cs new file mode 100644 index 00000000000..26fbb8602c0 --- /dev/null +++ b/sdk/dotnet/SsmIncidents/Inputs/ReplicationSetRegionGetArgs.cs @@ -0,0 +1,45 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.SsmIncidents.Inputs +{ + + public sealed class ReplicationSetRegionGetArgs : global::Pulumi.ResourceArgs + { + /// + /// The Amazon Resource name (ARN) of the customer managed key. If omitted, AWS manages the AWS KMS keys for you, using an AWS owned key, as indicated by a default value of `DefaultKey`. + /// + [Input("kmsKeyArn")] + public Input? KmsKeyArn { get; set; } + + /// + /// The name of the Region, such as `ap-southeast-2`. + /// + [Input("name", required: true)] + public Input Name { get; set; } = null!; + + /// + /// The current status of the Region. + /// * Valid Values: `ACTIVE` | `CREATING` | `UPDATING` | `DELETING` | `FAILED` + /// + [Input("status")] + public Input? Status { get; set; } + + /// + /// More information about the status of a Region. + /// + [Input("statusMessage")] + public Input? StatusMessage { get; set; } + + public ReplicationSetRegionGetArgs() + { + } + public static new ReplicationSetRegionGetArgs Empty => new ReplicationSetRegionGetArgs(); + } +} diff --git a/sdk/dotnet/SsmIncidents/Outputs/GetReplicationSetRegionResult.cs b/sdk/dotnet/SsmIncidents/Outputs/GetReplicationSetRegionResult.cs new file mode 100644 index 00000000000..d04086ddc18 --- /dev/null +++ b/sdk/dotnet/SsmIncidents/Outputs/GetReplicationSetRegionResult.cs @@ -0,0 +1,50 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.SsmIncidents.Outputs +{ + + [OutputType] + public sealed class GetReplicationSetRegionResult + { + /// + /// The ARN of the AWS Key Management Service (AWS KMS) encryption key. + /// + public readonly string KmsKeyArn; + /// + /// The name of the Region. + /// + public readonly string Name; + /// + /// The current status of the Region. + /// * Valid Values: `ACTIVE` | `CREATING` | `UPDATING` | `DELETING` | `FAILED` + /// + public readonly string Status; + /// + /// More information about the status of a Region. + /// + public readonly string StatusMessage; + + [OutputConstructor] + private GetReplicationSetRegionResult( + string kmsKeyArn, + + string name, + + string status, + + string statusMessage) + { + KmsKeyArn = kmsKeyArn; + Name = name; + Status = status; + StatusMessage = statusMessage; + } + } +} diff --git a/sdk/dotnet/SsmIncidents/Outputs/ReplicationSetRegion.cs b/sdk/dotnet/SsmIncidents/Outputs/ReplicationSetRegion.cs new file mode 100644 index 00000000000..db9231fb914 --- /dev/null +++ b/sdk/dotnet/SsmIncidents/Outputs/ReplicationSetRegion.cs @@ -0,0 +1,50 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.SsmIncidents.Outputs +{ + + [OutputType] + public sealed class ReplicationSetRegion + { + /// + /// The Amazon Resource name (ARN) of the customer managed key. If omitted, AWS manages the AWS KMS keys for you, using an AWS owned key, as indicated by a default value of `DefaultKey`. + /// + public readonly string? KmsKeyArn; + /// + /// The name of the Region, such as `ap-southeast-2`. + /// + public readonly string Name; + /// + /// The current status of the Region. + /// * Valid Values: `ACTIVE` | `CREATING` | `UPDATING` | `DELETING` | `FAILED` + /// + public readonly string? Status; + /// + /// More information about the status of a Region. + /// + public readonly string? StatusMessage; + + [OutputConstructor] + private ReplicationSetRegion( + string? kmsKeyArn, + + string name, + + string? status, + + string? statusMessage) + { + KmsKeyArn = kmsKeyArn; + Name = name; + Status = status; + StatusMessage = statusMessage; + } + } +} diff --git a/sdk/dotnet/SsmIncidents/README.md b/sdk/dotnet/SsmIncidents/README.md new file mode 100644 index 00000000000..9d868f18f20 --- /dev/null +++ b/sdk/dotnet/SsmIncidents/README.md @@ -0,0 +1 @@ +A Pulumi package for creating and managing Amazon Web Services (AWS) cloud resources. diff --git a/sdk/dotnet/SsmIncidents/ReplicationSet.cs b/sdk/dotnet/SsmIncidents/ReplicationSet.cs new file mode 100644 index 00000000000..16cbd8c382c --- /dev/null +++ b/sdk/dotnet/SsmIncidents/ReplicationSet.cs @@ -0,0 +1,327 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Aws.SsmIncidents +{ + /// + /// Provides a resource for managing a replication set in AWS Systems Manager Incident Manager. + /// + /// > **NOTE:** Deleting a replication set also deletes all Incident Manager related data including response plans, incident records, contacts and escalation plans. + /// + /// ## Example Usage + /// ### Basic Usage + /// + /// Create a replication set. + /// + /// ```csharp + /// using System.Collections.Generic; + /// using Pulumi; + /// using Aws = Pulumi.Aws; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var replicationSetName = new Aws.SsmIncidents.ReplicationSet("replicationSetName", new() + /// { + /// Regions = new[] + /// { + /// new Aws.SsmIncidents.Inputs.ReplicationSetRegionArgs + /// { + /// Name = "us-west-2", + /// }, + /// }, + /// Tags = + /// { + /// { "exampleTag", "exampleValue" }, + /// }, + /// }); + /// + /// }); + /// ``` + /// + /// Add a Region to a replication set. (You can add only one Region at a time.) + /// + /// ```csharp + /// using System.Collections.Generic; + /// using Pulumi; + /// using Aws = Pulumi.Aws; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var replicationSetName = new Aws.SsmIncidents.ReplicationSet("replicationSetName", new() + /// { + /// Regions = new[] + /// { + /// new Aws.SsmIncidents.Inputs.ReplicationSetRegionArgs + /// { + /// Name = "us-west-2", + /// }, + /// new Aws.SsmIncidents.Inputs.ReplicationSetRegionArgs + /// { + /// Name = "ap-southeast-2", + /// }, + /// }, + /// }); + /// + /// }); + /// ``` + /// + /// Delete a Region from a replication set. (You can delete only one Region at a time.) + /// + /// ```csharp + /// using System.Collections.Generic; + /// using Pulumi; + /// using Aws = Pulumi.Aws; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var replicationSetName = new Aws.SsmIncidents.ReplicationSet("replicationSetName", new() + /// { + /// Regions = new[] + /// { + /// new Aws.SsmIncidents.Inputs.ReplicationSetRegionArgs + /// { + /// Name = "us-west-2", + /// }, + /// }, + /// }); + /// + /// }); + /// ``` + /// ## Basic Usage with an AWS Customer Managed Key + /// + /// Create a replication set with an AWS Key Management Service (AWS KMS) customer manager key: + /// + /// ```csharp + /// using System.Collections.Generic; + /// using Pulumi; + /// using Aws = Pulumi.Aws; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var exampleKey = new Aws.Kms.Key("exampleKey"); + /// + /// var replicationSetName = new Aws.SsmIncidents.ReplicationSet("replicationSetName", new() + /// { + /// Regions = new[] + /// { + /// new Aws.SsmIncidents.Inputs.ReplicationSetRegionArgs + /// { + /// Name = "us-west-2", + /// KmsKeyArn = exampleKey.Arn, + /// }, + /// }, + /// Tags = + /// { + /// { "exampleTag", "exampleValue" }, + /// }, + /// }); + /// + /// }); + /// ``` + /// + /// ## Import + /// + /// Use the following command to import an Incident Manager replication set + /// + /// ```sh + /// $ pulumi import aws:ssmincidents/replicationSet:ReplicationSet replicationSetName import + /// ``` + /// + [AwsResourceType("aws:ssmincidents/replicationSet:ReplicationSet")] + public partial class ReplicationSet : global::Pulumi.CustomResource + { + /// + /// The ARN of the replication set. + /// + [Output("arn")] + public Output Arn { get; private set; } = null!; + + /// + /// The ARN of the user who created the replication set. + /// + [Output("createdBy")] + public Output CreatedBy { get; private set; } = null!; + + /// + /// If `true`, the last region in a replication set cannot be deleted. + /// + [Output("deletionProtected")] + public Output DeletionProtected { get; private set; } = null!; + + /// + /// A timestamp showing when the replication set was last modified. + /// + [Output("lastModifiedBy")] + public Output LastModifiedBy { get; private set; } = null!; + + [Output("regions")] + public Output> Regions { get; private set; } = null!; + + /// + /// The current status of the Region. + /// * Valid Values: `ACTIVE` | `CREATING` | `UPDATING` | `DELETING` | `FAILED` + /// + [Output("status")] + public Output Status { get; private set; } = null!; + + /// + /// Tags applied to the replication set. + /// + [Output("tags")] + public Output?> Tags { get; private set; } = null!; + + /// + /// A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. + /// + [Output("tagsAll")] + public Output> TagsAll { get; private set; } = null!; + + + /// + /// Create a ReplicationSet resource with the given unique name, arguments, and options. + /// + /// + /// The unique name of the resource + /// The arguments used to populate this resource's properties + /// A bag of options that control this resource's behavior + public ReplicationSet(string name, ReplicationSetArgs args, CustomResourceOptions? options = null) + : base("aws:ssmincidents/replicationSet:ReplicationSet", name, args ?? new ReplicationSetArgs(), MakeResourceOptions(options, "")) + { + } + + private ReplicationSet(string name, Input id, ReplicationSetState? state = null, CustomResourceOptions? options = null) + : base("aws:ssmincidents/replicationSet:ReplicationSet", name, state, MakeResourceOptions(options, id)) + { + } + + private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? options, Input? id) + { + var defaultOptions = new CustomResourceOptions + { + Version = Utilities.Version, + }; + var merged = CustomResourceOptions.Merge(defaultOptions, options); + // Override the ID if one was specified for consistency with other language SDKs. + merged.Id = id ?? merged.Id; + return merged; + } + /// + /// Get an existing ReplicationSet resource's state with the given name, ID, and optional extra + /// properties used to qualify the lookup. + /// + /// + /// The unique name of the resulting resource. + /// The unique provider ID of the resource to lookup. + /// Any extra arguments used during the lookup. + /// A bag of options that control this resource's behavior + public static ReplicationSet Get(string name, Input id, ReplicationSetState? state = null, CustomResourceOptions? options = null) + { + return new ReplicationSet(name, id, state, options); + } + } + + public sealed class ReplicationSetArgs : global::Pulumi.ResourceArgs + { + [Input("regions", required: true)] + private InputList? _regions; + public InputList Regions + { + get => _regions ?? (_regions = new InputList()); + set => _regions = value; + } + + [Input("tags")] + private InputMap? _tags; + + /// + /// Tags applied to the replication set. + /// + public InputMap Tags + { + get => _tags ?? (_tags = new InputMap()); + set => _tags = value; + } + + public ReplicationSetArgs() + { + } + public static new ReplicationSetArgs Empty => new ReplicationSetArgs(); + } + + public sealed class ReplicationSetState : global::Pulumi.ResourceArgs + { + /// + /// The ARN of the replication set. + /// + [Input("arn")] + public Input? Arn { get; set; } + + /// + /// The ARN of the user who created the replication set. + /// + [Input("createdBy")] + public Input? CreatedBy { get; set; } + + /// + /// If `true`, the last region in a replication set cannot be deleted. + /// + [Input("deletionProtected")] + public Input? DeletionProtected { get; set; } + + /// + /// A timestamp showing when the replication set was last modified. + /// + [Input("lastModifiedBy")] + public Input? LastModifiedBy { get; set; } + + [Input("regions")] + private InputList? _regions; + public InputList Regions + { + get => _regions ?? (_regions = new InputList()); + set => _regions = value; + } + + /// + /// The current status of the Region. + /// * Valid Values: `ACTIVE` | `CREATING` | `UPDATING` | `DELETING` | `FAILED` + /// + [Input("status")] + public Input? Status { get; set; } + + [Input("tags")] + private InputMap? _tags; + + /// + /// Tags applied to the replication set. + /// + public InputMap Tags + { + get => _tags ?? (_tags = new InputMap()); + set => _tags = value; + } + + [Input("tagsAll")] + private InputMap? _tagsAll; + + /// + /// A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. + /// + public InputMap TagsAll + { + get => _tagsAll ?? (_tagsAll = new InputMap()); + set => _tagsAll = value; + } + + public ReplicationSetState() + { + } + public static new ReplicationSetState Empty => new ReplicationSetState(); + } +} diff --git a/sdk/dotnet/SsoAdmin/PermissionSet.cs b/sdk/dotnet/SsoAdmin/PermissionSet.cs index 9e326c8ccfa..5aa4bca420c 100644 --- a/sdk/dotnet/SsoAdmin/PermissionSet.cs +++ b/sdk/dotnet/SsoAdmin/PermissionSet.cs @@ -167,6 +167,18 @@ public InputMap Tags set => _tags = value; } + [Input("tagsAll")] + private InputMap? _tagsAll; + + /// + /// A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. + /// + public InputMap TagsAll + { + get => _tagsAll ?? (_tagsAll = new InputMap()); + set => _tagsAll = value; + } + public PermissionSetArgs() { } diff --git a/sdk/go/aws/appmesh/gatewayRoute.go b/sdk/go/aws/appmesh/gatewayRoute.go index 53892e8b933..3516da95066 100644 --- a/sdk/go/aws/appmesh/gatewayRoute.go +++ b/sdk/go/aws/appmesh/gatewayRoute.go @@ -195,6 +195,8 @@ type gatewayRouteArgs struct { Spec GatewayRouteSpec `pulumi:"spec"` // 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. Tags map[string]string `pulumi:"tags"` + // Map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. + TagsAll map[string]string `pulumi:"tagsAll"` // Name of the virtual gateway to associate the gateway route with. Must be between 1 and 255 characters in length. VirtualGatewayName string `pulumi:"virtualGatewayName"` } @@ -211,6 +213,8 @@ type GatewayRouteArgs struct { Spec GatewayRouteSpecInput // 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. Tags pulumi.StringMapInput + // Map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. + TagsAll pulumi.StringMapInput // Name of the virtual gateway to associate the gateway route with. Must be between 1 and 255 characters in length. VirtualGatewayName pulumi.StringInput } diff --git a/sdk/go/aws/appmesh/getGatewayRoute.go b/sdk/go/aws/appmesh/getGatewayRoute.go new file mode 100644 index 00000000000..76ee8f57d4b --- /dev/null +++ b/sdk/go/aws/appmesh/getGatewayRoute.go @@ -0,0 +1,186 @@ +// Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package appmesh + +import ( + "context" + "reflect" + + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +// 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. +// +// ## Example Usage +// +// ```go +// package main +// +// import ( +// +// "github.com/pulumi/pulumi-aws/sdk/v5/go/aws/appmesh" +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// _, err := appmesh.LookupGatewayRoute(ctx, &appmesh.LookupGatewayRouteArgs{ +// MeshName: "test-mesh", +// Name: "test-route", +// VirtualGatewayName: "test-gateway", +// }, nil) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +func LookupGatewayRoute(ctx *pulumi.Context, args *LookupGatewayRouteArgs, opts ...pulumi.InvokeOption) (*LookupGatewayRouteResult, error) { + var rv LookupGatewayRouteResult + err := ctx.Invoke("aws:appmesh/getGatewayRoute:getGatewayRoute", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getGatewayRoute. +type LookupGatewayRouteArgs struct { + // Name of the service mesh in which the virtual gateway exists. + MeshName string `pulumi:"meshName"` + // AWS account ID of the service mesh's owner. + MeshOwner *string `pulumi:"meshOwner"` + // Name of the gateway route. + Name string `pulumi:"name"` + // Map of tags. + Tags map[string]string `pulumi:"tags"` + // Name of the virtual gateway in which the route exists. + VirtualGatewayName string `pulumi:"virtualGatewayName"` +} + +// A collection of values returned by getGatewayRoute. +type LookupGatewayRouteResult struct { + // ARN of the gateway route. + Arn string `pulumi:"arn"` + // Creation date of the gateway route. + CreatedDate string `pulumi:"createdDate"` + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + // Last update date of the gateway route. + LastUpdatedDate string `pulumi:"lastUpdatedDate"` + MeshName string `pulumi:"meshName"` + MeshOwner string `pulumi:"meshOwner"` + Name string `pulumi:"name"` + // Resource owner's AWS account ID. + ResourceOwner string `pulumi:"resourceOwner"` + // Gateway route specification. See the `appmesh.GatewayRoute` resource for details. + Specs []GetGatewayRouteSpec `pulumi:"specs"` + // Map of tags. + Tags map[string]string `pulumi:"tags"` + VirtualGatewayName string `pulumi:"virtualGatewayName"` +} + +func LookupGatewayRouteOutput(ctx *pulumi.Context, args LookupGatewayRouteOutputArgs, opts ...pulumi.InvokeOption) LookupGatewayRouteResultOutput { + return pulumi.ToOutputWithContext(context.Background(), args). + ApplyT(func(v interface{}) (LookupGatewayRouteResult, error) { + args := v.(LookupGatewayRouteArgs) + r, err := LookupGatewayRoute(ctx, &args, opts...) + var s LookupGatewayRouteResult + if r != nil { + s = *r + } + return s, err + }).(LookupGatewayRouteResultOutput) +} + +// A collection of arguments for invoking getGatewayRoute. +type LookupGatewayRouteOutputArgs struct { + // Name of the service mesh in which the virtual gateway exists. + MeshName pulumi.StringInput `pulumi:"meshName"` + // AWS account ID of the service mesh's owner. + MeshOwner pulumi.StringPtrInput `pulumi:"meshOwner"` + // Name of the gateway route. + Name pulumi.StringInput `pulumi:"name"` + // Map of tags. + Tags pulumi.StringMapInput `pulumi:"tags"` + // Name of the virtual gateway in which the route exists. + VirtualGatewayName pulumi.StringInput `pulumi:"virtualGatewayName"` +} + +func (LookupGatewayRouteOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*LookupGatewayRouteArgs)(nil)).Elem() +} + +// A collection of values returned by getGatewayRoute. +type LookupGatewayRouteResultOutput struct{ *pulumi.OutputState } + +func (LookupGatewayRouteResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*LookupGatewayRouteResult)(nil)).Elem() +} + +func (o LookupGatewayRouteResultOutput) ToLookupGatewayRouteResultOutput() LookupGatewayRouteResultOutput { + return o +} + +func (o LookupGatewayRouteResultOutput) ToLookupGatewayRouteResultOutputWithContext(ctx context.Context) LookupGatewayRouteResultOutput { + return o +} + +// ARN of the gateway route. +func (o LookupGatewayRouteResultOutput) Arn() pulumi.StringOutput { + return o.ApplyT(func(v LookupGatewayRouteResult) string { return v.Arn }).(pulumi.StringOutput) +} + +// Creation date of the gateway route. +func (o LookupGatewayRouteResultOutput) CreatedDate() pulumi.StringOutput { + return o.ApplyT(func(v LookupGatewayRouteResult) string { return v.CreatedDate }).(pulumi.StringOutput) +} + +// The provider-assigned unique ID for this managed resource. +func (o LookupGatewayRouteResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v LookupGatewayRouteResult) string { return v.Id }).(pulumi.StringOutput) +} + +// Last update date of the gateway route. +func (o LookupGatewayRouteResultOutput) LastUpdatedDate() pulumi.StringOutput { + return o.ApplyT(func(v LookupGatewayRouteResult) string { return v.LastUpdatedDate }).(pulumi.StringOutput) +} + +func (o LookupGatewayRouteResultOutput) MeshName() pulumi.StringOutput { + return o.ApplyT(func(v LookupGatewayRouteResult) string { return v.MeshName }).(pulumi.StringOutput) +} + +func (o LookupGatewayRouteResultOutput) MeshOwner() pulumi.StringOutput { + return o.ApplyT(func(v LookupGatewayRouteResult) string { return v.MeshOwner }).(pulumi.StringOutput) +} + +func (o LookupGatewayRouteResultOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v LookupGatewayRouteResult) string { return v.Name }).(pulumi.StringOutput) +} + +// Resource owner's AWS account ID. +func (o LookupGatewayRouteResultOutput) ResourceOwner() pulumi.StringOutput { + return o.ApplyT(func(v LookupGatewayRouteResult) string { return v.ResourceOwner }).(pulumi.StringOutput) +} + +// Gateway route specification. See the `appmesh.GatewayRoute` resource for details. +func (o LookupGatewayRouteResultOutput) Specs() GetGatewayRouteSpecArrayOutput { + return o.ApplyT(func(v LookupGatewayRouteResult) []GetGatewayRouteSpec { return v.Specs }).(GetGatewayRouteSpecArrayOutput) +} + +// Map of tags. +func (o LookupGatewayRouteResultOutput) Tags() pulumi.StringMapOutput { + return o.ApplyT(func(v LookupGatewayRouteResult) map[string]string { return v.Tags }).(pulumi.StringMapOutput) +} + +func (o LookupGatewayRouteResultOutput) VirtualGatewayName() pulumi.StringOutput { + return o.ApplyT(func(v LookupGatewayRouteResult) string { return v.VirtualGatewayName }).(pulumi.StringOutput) +} + +func init() { + pulumi.RegisterOutputType(LookupGatewayRouteResultOutput{}) +} diff --git a/sdk/go/aws/appmesh/getMesh.go b/sdk/go/aws/appmesh/getMesh.go index b01b51206a3..79b6453a241 100644 --- a/sdk/go/aws/appmesh/getMesh.go +++ b/sdk/go/aws/appmesh/getMesh.go @@ -100,7 +100,7 @@ type LookupMeshResult struct { Name string `pulumi:"name"` // Resource owner's AWS account ID. ResourceOwner string `pulumi:"resourceOwner"` - // Service mesh specification. + // Service mesh specification. See the `appmesh.Mesh` resource for details. Specs []GetMeshSpec `pulumi:"specs"` // Map of tags. Tags map[string]string `pulumi:"tags"` @@ -181,7 +181,7 @@ func (o LookupMeshResultOutput) ResourceOwner() pulumi.StringOutput { return o.ApplyT(func(v LookupMeshResult) string { return v.ResourceOwner }).(pulumi.StringOutput) } -// Service mesh specification. +// Service mesh specification. See the `appmesh.Mesh` resource for details. func (o LookupMeshResultOutput) Specs() GetMeshSpecArrayOutput { return o.ApplyT(func(v LookupMeshResult) []GetMeshSpec { return v.Specs }).(GetMeshSpecArrayOutput) } diff --git a/sdk/go/aws/appmesh/getRoute.go b/sdk/go/aws/appmesh/getRoute.go index bea2e633d58..005fd1058ab 100644 --- a/sdk/go/aws/appmesh/getRoute.go +++ b/sdk/go/aws/appmesh/getRoute.go @@ -49,7 +49,7 @@ type LookupRouteResult struct { Name string `pulumi:"name"` // Resource owner's AWS account ID. ResourceOwner string `pulumi:"resourceOwner"` - // Route specification + // Route specification. See the `appmesh.Route` resource for details. Specs []GetRouteSpec `pulumi:"specs"` // Map of tags. Tags map[string]string `pulumi:"tags"` @@ -139,7 +139,7 @@ func (o LookupRouteResultOutput) ResourceOwner() pulumi.StringOutput { return o.ApplyT(func(v LookupRouteResult) string { return v.ResourceOwner }).(pulumi.StringOutput) } -// Route specification +// Route specification. See the `appmesh.Route` resource for details. func (o LookupRouteResultOutput) Specs() GetRouteSpecArrayOutput { return o.ApplyT(func(v LookupRouteResult) []GetRouteSpec { return v.Specs }).(GetRouteSpecArrayOutput) } diff --git a/sdk/go/aws/appmesh/getVirtualGateway.go b/sdk/go/aws/appmesh/getVirtualGateway.go index afcf0408c40..2f596b9e4ab 100644 --- a/sdk/go/aws/appmesh/getVirtualGateway.go +++ b/sdk/go/aws/appmesh/getVirtualGateway.go @@ -47,7 +47,7 @@ type LookupVirtualGatewayResult struct { Name string `pulumi:"name"` // Resource owner's AWS account ID. ResourceOwner string `pulumi:"resourceOwner"` - // Virtual gateway specification + // Virtual gateway specification. See the `appmesh.VirtualGateway` resource for details. Specs []GetVirtualGatewaySpec `pulumi:"specs"` // Map of tags. Tags map[string]string `pulumi:"tags"` @@ -132,7 +132,7 @@ func (o LookupVirtualGatewayResultOutput) ResourceOwner() pulumi.StringOutput { return o.ApplyT(func(v LookupVirtualGatewayResult) string { return v.ResourceOwner }).(pulumi.StringOutput) } -// Virtual gateway specification +// Virtual gateway specification. See the `appmesh.VirtualGateway` resource for details. func (o LookupVirtualGatewayResultOutput) Specs() GetVirtualGatewaySpecArrayOutput { return o.ApplyT(func(v LookupVirtualGatewayResult) []GetVirtualGatewaySpec { return v.Specs }).(GetVirtualGatewaySpecArrayOutput) } diff --git a/sdk/go/aws/appmesh/getVirtualNode.go b/sdk/go/aws/appmesh/getVirtualNode.go new file mode 100644 index 00000000000..4869f9682ed --- /dev/null +++ b/sdk/go/aws/appmesh/getVirtualNode.go @@ -0,0 +1,176 @@ +// Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package appmesh + +import ( + "context" + "reflect" + + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +// Data source for managing an AWS App Mesh Virtual Node. +// +// ## Example Usage +// +// ```go +// package main +// +// import ( +// +// "github.com/pulumi/pulumi-aws/sdk/v5/go/aws/appmesh" +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// _, err := appmesh.LookupVirtualNode(ctx, &appmesh.LookupVirtualNodeArgs{ +// MeshName: "example-mesh", +// Name: "serviceBv1", +// }, nil) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +func LookupVirtualNode(ctx *pulumi.Context, args *LookupVirtualNodeArgs, opts ...pulumi.InvokeOption) (*LookupVirtualNodeResult, error) { + var rv LookupVirtualNodeResult + err := ctx.Invoke("aws:appmesh/getVirtualNode:getVirtualNode", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getVirtualNode. +type LookupVirtualNodeArgs struct { + // Name of the service mesh in which the virtual node exists. + MeshName string `pulumi:"meshName"` + // AWS account ID of the service mesh's owner. + MeshOwner *string `pulumi:"meshOwner"` + // Name of the virtual node. + Name string `pulumi:"name"` + // Map of tags. + Tags map[string]string `pulumi:"tags"` +} + +// A collection of values returned by getVirtualNode. +type LookupVirtualNodeResult struct { + // ARN of the virtual node. + Arn string `pulumi:"arn"` + // Creation date of the virtual node. + CreatedDate string `pulumi:"createdDate"` + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + // Last update date of the virtual node. + LastUpdatedDate string `pulumi:"lastUpdatedDate"` + MeshName string `pulumi:"meshName"` + MeshOwner string `pulumi:"meshOwner"` + Name string `pulumi:"name"` + // Resource owner's AWS account ID. + ResourceOwner string `pulumi:"resourceOwner"` + // Virtual node specification. See the `appmesh.VirtualNode` resource for details. + Specs []GetVirtualNodeSpec `pulumi:"specs"` + // Map of tags. + Tags map[string]string `pulumi:"tags"` +} + +func LookupVirtualNodeOutput(ctx *pulumi.Context, args LookupVirtualNodeOutputArgs, opts ...pulumi.InvokeOption) LookupVirtualNodeResultOutput { + return pulumi.ToOutputWithContext(context.Background(), args). + ApplyT(func(v interface{}) (LookupVirtualNodeResult, error) { + args := v.(LookupVirtualNodeArgs) + r, err := LookupVirtualNode(ctx, &args, opts...) + var s LookupVirtualNodeResult + if r != nil { + s = *r + } + return s, err + }).(LookupVirtualNodeResultOutput) +} + +// A collection of arguments for invoking getVirtualNode. +type LookupVirtualNodeOutputArgs struct { + // Name of the service mesh in which the virtual node exists. + MeshName pulumi.StringInput `pulumi:"meshName"` + // AWS account ID of the service mesh's owner. + MeshOwner pulumi.StringPtrInput `pulumi:"meshOwner"` + // Name of the virtual node. + Name pulumi.StringInput `pulumi:"name"` + // Map of tags. + Tags pulumi.StringMapInput `pulumi:"tags"` +} + +func (LookupVirtualNodeOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*LookupVirtualNodeArgs)(nil)).Elem() +} + +// A collection of values returned by getVirtualNode. +type LookupVirtualNodeResultOutput struct{ *pulumi.OutputState } + +func (LookupVirtualNodeResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*LookupVirtualNodeResult)(nil)).Elem() +} + +func (o LookupVirtualNodeResultOutput) ToLookupVirtualNodeResultOutput() LookupVirtualNodeResultOutput { + return o +} + +func (o LookupVirtualNodeResultOutput) ToLookupVirtualNodeResultOutputWithContext(ctx context.Context) LookupVirtualNodeResultOutput { + return o +} + +// ARN of the virtual node. +func (o LookupVirtualNodeResultOutput) Arn() pulumi.StringOutput { + return o.ApplyT(func(v LookupVirtualNodeResult) string { return v.Arn }).(pulumi.StringOutput) +} + +// Creation date of the virtual node. +func (o LookupVirtualNodeResultOutput) CreatedDate() pulumi.StringOutput { + return o.ApplyT(func(v LookupVirtualNodeResult) string { return v.CreatedDate }).(pulumi.StringOutput) +} + +// The provider-assigned unique ID for this managed resource. +func (o LookupVirtualNodeResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v LookupVirtualNodeResult) string { return v.Id }).(pulumi.StringOutput) +} + +// Last update date of the virtual node. +func (o LookupVirtualNodeResultOutput) LastUpdatedDate() pulumi.StringOutput { + return o.ApplyT(func(v LookupVirtualNodeResult) string { return v.LastUpdatedDate }).(pulumi.StringOutput) +} + +func (o LookupVirtualNodeResultOutput) MeshName() pulumi.StringOutput { + return o.ApplyT(func(v LookupVirtualNodeResult) string { return v.MeshName }).(pulumi.StringOutput) +} + +func (o LookupVirtualNodeResultOutput) MeshOwner() pulumi.StringOutput { + return o.ApplyT(func(v LookupVirtualNodeResult) string { return v.MeshOwner }).(pulumi.StringOutput) +} + +func (o LookupVirtualNodeResultOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v LookupVirtualNodeResult) string { return v.Name }).(pulumi.StringOutput) +} + +// Resource owner's AWS account ID. +func (o LookupVirtualNodeResultOutput) ResourceOwner() pulumi.StringOutput { + return o.ApplyT(func(v LookupVirtualNodeResult) string { return v.ResourceOwner }).(pulumi.StringOutput) +} + +// Virtual node specification. See the `appmesh.VirtualNode` resource for details. +func (o LookupVirtualNodeResultOutput) Specs() GetVirtualNodeSpecArrayOutput { + return o.ApplyT(func(v LookupVirtualNodeResult) []GetVirtualNodeSpec { return v.Specs }).(GetVirtualNodeSpecArrayOutput) +} + +// Map of tags. +func (o LookupVirtualNodeResultOutput) Tags() pulumi.StringMapOutput { + return o.ApplyT(func(v LookupVirtualNodeResult) map[string]string { return v.Tags }).(pulumi.StringMapOutput) +} + +func init() { + pulumi.RegisterOutputType(LookupVirtualNodeResultOutput{}) +} diff --git a/sdk/go/aws/appmesh/getVirtualRouter.go b/sdk/go/aws/appmesh/getVirtualRouter.go new file mode 100644 index 00000000000..5751ac1dd83 --- /dev/null +++ b/sdk/go/aws/appmesh/getVirtualRouter.go @@ -0,0 +1,174 @@ +// Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package appmesh + +import ( + "context" + "reflect" + + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +// The App Mesh Virtual Router data source allows details of an App Mesh Virtual Service to be retrieved by its name and mesh_name. +// +// ## Example Usage +// +// ```go +// package main +// +// import ( +// +// "github.com/pulumi/pulumi-aws/sdk/v5/go/aws/appmesh" +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// _, err := appmesh.LookupVirtualRouter(ctx, &appmesh.LookupVirtualRouterArgs{ +// MeshName: "example-mesh-name", +// Name: "example-router-name", +// }, nil) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +func LookupVirtualRouter(ctx *pulumi.Context, args *LookupVirtualRouterArgs, opts ...pulumi.InvokeOption) (*LookupVirtualRouterResult, error) { + var rv LookupVirtualRouterResult + err := ctx.Invoke("aws:appmesh/getVirtualRouter:getVirtualRouter", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getVirtualRouter. +type LookupVirtualRouterArgs struct { + // Name of the mesh in which the virtual router exists + MeshName string `pulumi:"meshName"` + MeshOwner *string `pulumi:"meshOwner"` + // Name of the virtual router. + Name string `pulumi:"name"` + // Map of tags. + Tags map[string]string `pulumi:"tags"` +} + +// A collection of values returned by getVirtualRouter. +type LookupVirtualRouterResult struct { + // ARN of the virtual router. + Arn string `pulumi:"arn"` + // Creation date of the virtual router. + CreatedDate string `pulumi:"createdDate"` + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + // Last update date of the virtual router. + LastUpdatedDate string `pulumi:"lastUpdatedDate"` + MeshName string `pulumi:"meshName"` + MeshOwner string `pulumi:"meshOwner"` + Name string `pulumi:"name"` + // Resource owner's AWS account ID. + ResourceOwner string `pulumi:"resourceOwner"` + // Virtual routers specification. See the `appmesh.VirtualRouter` resource for details. + Specs []GetVirtualRouterSpec `pulumi:"specs"` + // Map of tags. + Tags map[string]string `pulumi:"tags"` +} + +func LookupVirtualRouterOutput(ctx *pulumi.Context, args LookupVirtualRouterOutputArgs, opts ...pulumi.InvokeOption) LookupVirtualRouterResultOutput { + return pulumi.ToOutputWithContext(context.Background(), args). + ApplyT(func(v interface{}) (LookupVirtualRouterResult, error) { + args := v.(LookupVirtualRouterArgs) + r, err := LookupVirtualRouter(ctx, &args, opts...) + var s LookupVirtualRouterResult + if r != nil { + s = *r + } + return s, err + }).(LookupVirtualRouterResultOutput) +} + +// A collection of arguments for invoking getVirtualRouter. +type LookupVirtualRouterOutputArgs struct { + // Name of the mesh in which the virtual router exists + MeshName pulumi.StringInput `pulumi:"meshName"` + MeshOwner pulumi.StringPtrInput `pulumi:"meshOwner"` + // Name of the virtual router. + Name pulumi.StringInput `pulumi:"name"` + // Map of tags. + Tags pulumi.StringMapInput `pulumi:"tags"` +} + +func (LookupVirtualRouterOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*LookupVirtualRouterArgs)(nil)).Elem() +} + +// A collection of values returned by getVirtualRouter. +type LookupVirtualRouterResultOutput struct{ *pulumi.OutputState } + +func (LookupVirtualRouterResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*LookupVirtualRouterResult)(nil)).Elem() +} + +func (o LookupVirtualRouterResultOutput) ToLookupVirtualRouterResultOutput() LookupVirtualRouterResultOutput { + return o +} + +func (o LookupVirtualRouterResultOutput) ToLookupVirtualRouterResultOutputWithContext(ctx context.Context) LookupVirtualRouterResultOutput { + return o +} + +// ARN of the virtual router. +func (o LookupVirtualRouterResultOutput) Arn() pulumi.StringOutput { + return o.ApplyT(func(v LookupVirtualRouterResult) string { return v.Arn }).(pulumi.StringOutput) +} + +// Creation date of the virtual router. +func (o LookupVirtualRouterResultOutput) CreatedDate() pulumi.StringOutput { + return o.ApplyT(func(v LookupVirtualRouterResult) string { return v.CreatedDate }).(pulumi.StringOutput) +} + +// The provider-assigned unique ID for this managed resource. +func (o LookupVirtualRouterResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v LookupVirtualRouterResult) string { return v.Id }).(pulumi.StringOutput) +} + +// Last update date of the virtual router. +func (o LookupVirtualRouterResultOutput) LastUpdatedDate() pulumi.StringOutput { + return o.ApplyT(func(v LookupVirtualRouterResult) string { return v.LastUpdatedDate }).(pulumi.StringOutput) +} + +func (o LookupVirtualRouterResultOutput) MeshName() pulumi.StringOutput { + return o.ApplyT(func(v LookupVirtualRouterResult) string { return v.MeshName }).(pulumi.StringOutput) +} + +func (o LookupVirtualRouterResultOutput) MeshOwner() pulumi.StringOutput { + return o.ApplyT(func(v LookupVirtualRouterResult) string { return v.MeshOwner }).(pulumi.StringOutput) +} + +func (o LookupVirtualRouterResultOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v LookupVirtualRouterResult) string { return v.Name }).(pulumi.StringOutput) +} + +// Resource owner's AWS account ID. +func (o LookupVirtualRouterResultOutput) ResourceOwner() pulumi.StringOutput { + return o.ApplyT(func(v LookupVirtualRouterResult) string { return v.ResourceOwner }).(pulumi.StringOutput) +} + +// Virtual routers specification. See the `appmesh.VirtualRouter` resource for details. +func (o LookupVirtualRouterResultOutput) Specs() GetVirtualRouterSpecArrayOutput { + return o.ApplyT(func(v LookupVirtualRouterResult) []GetVirtualRouterSpec { return v.Specs }).(GetVirtualRouterSpecArrayOutput) +} + +// Map of tags. +func (o LookupVirtualRouterResultOutput) Tags() pulumi.StringMapOutput { + return o.ApplyT(func(v LookupVirtualRouterResult) map[string]string { return v.Tags }).(pulumi.StringMapOutput) +} + +func init() { + pulumi.RegisterOutputType(LookupVirtualRouterResultOutput{}) +} diff --git a/sdk/go/aws/appmesh/getVirtualService.go b/sdk/go/aws/appmesh/getVirtualService.go index 96ca94eac07..520b8ddf2aa 100644 --- a/sdk/go/aws/appmesh/getVirtualService.go +++ b/sdk/go/aws/appmesh/getVirtualService.go @@ -105,7 +105,7 @@ type LookupVirtualServiceResult struct { Name string `pulumi:"name"` // Resource owner's AWS account ID. ResourceOwner string `pulumi:"resourceOwner"` - // Virtual service specification + // Virtual service specification. See the `appmesh.VirtualService` resource for details. Specs []GetVirtualServiceSpec `pulumi:"specs"` // Map of tags. Tags map[string]string `pulumi:"tags"` @@ -192,7 +192,7 @@ func (o LookupVirtualServiceResultOutput) ResourceOwner() pulumi.StringOutput { return o.ApplyT(func(v LookupVirtualServiceResult) string { return v.ResourceOwner }).(pulumi.StringOutput) } -// Virtual service specification +// Virtual service specification. See the `appmesh.VirtualService` resource for details. func (o LookupVirtualServiceResultOutput) Specs() GetVirtualServiceSpecArrayOutput { return o.ApplyT(func(v LookupVirtualServiceResult) []GetVirtualServiceSpec { return v.Specs }).(GetVirtualServiceSpecArrayOutput) } diff --git a/sdk/go/aws/appmesh/pulumiTypes.go b/sdk/go/aws/appmesh/pulumiTypes.go index 976790141ff..758ea3c3251 100644 --- a/sdk/go/aws/appmesh/pulumiTypes.go +++ b/sdk/go/aws/appmesh/pulumiTypes.go @@ -17,6 +17,8 @@ type GatewayRouteSpec struct { Http2Route *GatewayRouteSpecHttp2Route `pulumi:"http2Route"` // Specification of an HTTP gateway route. HttpRoute *GatewayRouteSpecHttpRoute `pulumi:"httpRoute"` + // Priority for the gateway route, between `0` and `1000`. + Priority *int `pulumi:"priority"` } // GatewayRouteSpecInput is an input type that accepts GatewayRouteSpecArgs and GatewayRouteSpecOutput values. @@ -37,6 +39,8 @@ type GatewayRouteSpecArgs struct { Http2Route GatewayRouteSpecHttp2RoutePtrInput `pulumi:"http2Route"` // Specification of an HTTP gateway route. HttpRoute GatewayRouteSpecHttpRoutePtrInput `pulumi:"httpRoute"` + // Priority for the gateway route, between `0` and `1000`. + Priority pulumi.IntPtrInput `pulumi:"priority"` } func (GatewayRouteSpecArgs) ElementType() reflect.Type { @@ -131,6 +135,11 @@ func (o GatewayRouteSpecOutput) HttpRoute() GatewayRouteSpecHttpRoutePtrOutput { return o.ApplyT(func(v GatewayRouteSpec) *GatewayRouteSpecHttpRoute { return v.HttpRoute }).(GatewayRouteSpecHttpRoutePtrOutput) } +// Priority for the gateway route, between `0` and `1000`. +func (o GatewayRouteSpecOutput) Priority() pulumi.IntPtrOutput { + return o.ApplyT(func(v GatewayRouteSpec) *int { return v.Priority }).(pulumi.IntPtrOutput) +} + type GatewayRouteSpecPtrOutput struct{ *pulumi.OutputState } func (GatewayRouteSpecPtrOutput) ElementType() reflect.Type { @@ -185,6 +194,16 @@ func (o GatewayRouteSpecPtrOutput) HttpRoute() GatewayRouteSpecHttpRoutePtrOutpu }).(GatewayRouteSpecHttpRoutePtrOutput) } +// Priority for the gateway route, between `0` and `1000`. +func (o GatewayRouteSpecPtrOutput) Priority() pulumi.IntPtrOutput { + return o.ApplyT(func(v *GatewayRouteSpec) *int { + if v == nil { + return nil + } + return v.Priority + }).(pulumi.IntPtrOutput) +} + type GatewayRouteSpecGrpcRoute struct { // Action to take if a match is determined. Action GatewayRouteSpecGrpcRouteAction `pulumi:"action"` @@ -479,6 +498,8 @@ func (o GatewayRouteSpecGrpcRouteActionPtrOutput) Target() GatewayRouteSpecGrpcR } type GatewayRouteSpecGrpcRouteActionTarget struct { + // The port number that corresponds to the target for Virtual Service provider port. This is required when the provider (router or node) of the Virtual Service has multiple listeners. + Port *int `pulumi:"port"` // Virtual service gateway route target. VirtualService GatewayRouteSpecGrpcRouteActionTargetVirtualService `pulumi:"virtualService"` } @@ -495,6 +516,8 @@ type GatewayRouteSpecGrpcRouteActionTargetInput interface { } type GatewayRouteSpecGrpcRouteActionTargetArgs struct { + // The port number that corresponds to the target for Virtual Service provider port. This is required when the provider (router or node) of the Virtual Service has multiple listeners. + Port pulumi.IntPtrInput `pulumi:"port"` // Virtual service gateway route target. VirtualService GatewayRouteSpecGrpcRouteActionTargetVirtualServiceInput `pulumi:"virtualService"` } @@ -576,6 +599,11 @@ func (o GatewayRouteSpecGrpcRouteActionTargetOutput) ToGatewayRouteSpecGrpcRoute }).(GatewayRouteSpecGrpcRouteActionTargetPtrOutput) } +// The port number that corresponds to the target for Virtual Service provider port. This is required when the provider (router or node) of the Virtual Service has multiple listeners. +func (o GatewayRouteSpecGrpcRouteActionTargetOutput) Port() pulumi.IntPtrOutput { + return o.ApplyT(func(v GatewayRouteSpecGrpcRouteActionTarget) *int { return v.Port }).(pulumi.IntPtrOutput) +} + // Virtual service gateway route target. func (o GatewayRouteSpecGrpcRouteActionTargetOutput) VirtualService() GatewayRouteSpecGrpcRouteActionTargetVirtualServiceOutput { return o.ApplyT(func(v GatewayRouteSpecGrpcRouteActionTarget) GatewayRouteSpecGrpcRouteActionTargetVirtualService { @@ -607,6 +635,16 @@ func (o GatewayRouteSpecGrpcRouteActionTargetPtrOutput) Elem() GatewayRouteSpecG }).(GatewayRouteSpecGrpcRouteActionTargetOutput) } +// The port number that corresponds to the target for Virtual Service provider port. This is required when the provider (router or node) of the Virtual Service has multiple listeners. +func (o GatewayRouteSpecGrpcRouteActionTargetPtrOutput) Port() pulumi.IntPtrOutput { + return o.ApplyT(func(v *GatewayRouteSpecGrpcRouteActionTarget) *int { + if v == nil { + return nil + } + return v.Port + }).(pulumi.IntPtrOutput) +} + // Virtual service gateway route target. func (o GatewayRouteSpecGrpcRouteActionTargetPtrOutput) VirtualService() GatewayRouteSpecGrpcRouteActionTargetVirtualServicePtrOutput { return o.ApplyT(func(v *GatewayRouteSpecGrpcRouteActionTarget) *GatewayRouteSpecGrpcRouteActionTargetVirtualService { @@ -755,7 +793,7 @@ func (o GatewayRouteSpecGrpcRouteActionTargetVirtualServicePtrOutput) VirtualSer } type GatewayRouteSpecGrpcRouteMatch struct { - // The port number to match from the request. + // The port number that corresponds to the target for Virtual Service provider port. This is required when the provider (router or node) of the Virtual Service has multiple listeners. Port *int `pulumi:"port"` // Fully qualified domain name for the service to match from the request. ServiceName string `pulumi:"serviceName"` @@ -773,7 +811,7 @@ type GatewayRouteSpecGrpcRouteMatchInput interface { } type GatewayRouteSpecGrpcRouteMatchArgs struct { - // The port number to match from the request. + // The port number that corresponds to the target for Virtual Service provider port. This is required when the provider (router or node) of the Virtual Service has multiple listeners. Port pulumi.IntPtrInput `pulumi:"port"` // Fully qualified domain name for the service to match from the request. ServiceName pulumi.StringInput `pulumi:"serviceName"` @@ -856,7 +894,7 @@ func (o GatewayRouteSpecGrpcRouteMatchOutput) ToGatewayRouteSpecGrpcRouteMatchPt }).(GatewayRouteSpecGrpcRouteMatchPtrOutput) } -// The port number to match from the request. +// The port number that corresponds to the target for Virtual Service provider port. This is required when the provider (router or node) of the Virtual Service has multiple listeners. func (o GatewayRouteSpecGrpcRouteMatchOutput) Port() pulumi.IntPtrOutput { return o.ApplyT(func(v GatewayRouteSpecGrpcRouteMatch) *int { return v.Port }).(pulumi.IntPtrOutput) } @@ -890,7 +928,7 @@ func (o GatewayRouteSpecGrpcRouteMatchPtrOutput) Elem() GatewayRouteSpecGrpcRout }).(GatewayRouteSpecGrpcRouteMatchOutput) } -// The port number to match from the request. +// The port number that corresponds to the target for Virtual Service provider port. This is required when the provider (router or node) of the Virtual Service has multiple listeners. func (o GatewayRouteSpecGrpcRouteMatchPtrOutput) Port() pulumi.IntPtrOutput { return o.ApplyT(func(v *GatewayRouteSpecGrpcRouteMatch) *int { if v == nil { @@ -1676,6 +1714,8 @@ func (o GatewayRouteSpecHttp2RouteActionRewritePrefixPtrOutput) Value() pulumi.S } type GatewayRouteSpecHttp2RouteActionTarget struct { + // The port number that corresponds to the target for Virtual Service provider port. This is required when the provider (router or node) of the Virtual Service has multiple listeners. + Port *int `pulumi:"port"` // Virtual service gateway route target. VirtualService GatewayRouteSpecHttp2RouteActionTargetVirtualService `pulumi:"virtualService"` } @@ -1692,6 +1732,8 @@ type GatewayRouteSpecHttp2RouteActionTargetInput interface { } type GatewayRouteSpecHttp2RouteActionTargetArgs struct { + // The port number that corresponds to the target for Virtual Service provider port. This is required when the provider (router or node) of the Virtual Service has multiple listeners. + Port pulumi.IntPtrInput `pulumi:"port"` // Virtual service gateway route target. VirtualService GatewayRouteSpecHttp2RouteActionTargetVirtualServiceInput `pulumi:"virtualService"` } @@ -1773,6 +1815,11 @@ func (o GatewayRouteSpecHttp2RouteActionTargetOutput) ToGatewayRouteSpecHttp2Rou }).(GatewayRouteSpecHttp2RouteActionTargetPtrOutput) } +// The port number that corresponds to the target for Virtual Service provider port. This is required when the provider (router or node) of the Virtual Service has multiple listeners. +func (o GatewayRouteSpecHttp2RouteActionTargetOutput) Port() pulumi.IntPtrOutput { + return o.ApplyT(func(v GatewayRouteSpecHttp2RouteActionTarget) *int { return v.Port }).(pulumi.IntPtrOutput) +} + // Virtual service gateway route target. func (o GatewayRouteSpecHttp2RouteActionTargetOutput) VirtualService() GatewayRouteSpecHttp2RouteActionTargetVirtualServiceOutput { return o.ApplyT(func(v GatewayRouteSpecHttp2RouteActionTarget) GatewayRouteSpecHttp2RouteActionTargetVirtualService { @@ -1804,6 +1851,16 @@ func (o GatewayRouteSpecHttp2RouteActionTargetPtrOutput) Elem() GatewayRouteSpec }).(GatewayRouteSpecHttp2RouteActionTargetOutput) } +// The port number that corresponds to the target for Virtual Service provider port. This is required when the provider (router or node) of the Virtual Service has multiple listeners. +func (o GatewayRouteSpecHttp2RouteActionTargetPtrOutput) Port() pulumi.IntPtrOutput { + return o.ApplyT(func(v *GatewayRouteSpecHttp2RouteActionTarget) *int { + if v == nil { + return nil + } + return v.Port + }).(pulumi.IntPtrOutput) +} + // Virtual service gateway route target. func (o GatewayRouteSpecHttp2RouteActionTargetPtrOutput) VirtualService() GatewayRouteSpecHttp2RouteActionTargetVirtualServicePtrOutput { return o.ApplyT(func(v *GatewayRouteSpecHttp2RouteActionTarget) *GatewayRouteSpecHttp2RouteActionTargetVirtualService { @@ -1952,12 +2009,18 @@ func (o GatewayRouteSpecHttp2RouteActionTargetVirtualServicePtrOutput) VirtualSe } type GatewayRouteSpecHttp2RouteMatch struct { + // Client request headers to match on. + Headers []GatewayRouteSpecHttp2RouteMatchHeader `pulumi:"headers"` // Host name to rewrite. Hostname *GatewayRouteSpecHttp2RouteMatchHostname `pulumi:"hostname"` - // The port number to match from the request. + // Client request path to match on. + Path *GatewayRouteSpecHttp2RouteMatchPath `pulumi:"path"` + // The port number that corresponds to the target for Virtual Service provider port. This is required when the provider (router or node) of the Virtual Service has multiple listeners. Port *int `pulumi:"port"` // Specified beginning characters to rewrite. Prefix *string `pulumi:"prefix"` + // Client request query parameters to match on. + QueryParameters []GatewayRouteSpecHttp2RouteMatchQueryParameter `pulumi:"queryParameters"` } // GatewayRouteSpecHttp2RouteMatchInput is an input type that accepts GatewayRouteSpecHttp2RouteMatchArgs and GatewayRouteSpecHttp2RouteMatchOutput values. @@ -1972,12 +2035,18 @@ type GatewayRouteSpecHttp2RouteMatchInput interface { } type GatewayRouteSpecHttp2RouteMatchArgs struct { + // Client request headers to match on. + Headers GatewayRouteSpecHttp2RouteMatchHeaderArrayInput `pulumi:"headers"` // Host name to rewrite. Hostname GatewayRouteSpecHttp2RouteMatchHostnamePtrInput `pulumi:"hostname"` - // The port number to match from the request. + // Client request path to match on. + Path GatewayRouteSpecHttp2RouteMatchPathPtrInput `pulumi:"path"` + // The port number that corresponds to the target for Virtual Service provider port. This is required when the provider (router or node) of the Virtual Service has multiple listeners. Port pulumi.IntPtrInput `pulumi:"port"` // Specified beginning characters to rewrite. Prefix pulumi.StringPtrInput `pulumi:"prefix"` + // Client request query parameters to match on. + QueryParameters GatewayRouteSpecHttp2RouteMatchQueryParameterArrayInput `pulumi:"queryParameters"` } func (GatewayRouteSpecHttp2RouteMatchArgs) ElementType() reflect.Type { @@ -2057,12 +2126,22 @@ func (o GatewayRouteSpecHttp2RouteMatchOutput) ToGatewayRouteSpecHttp2RouteMatch }).(GatewayRouteSpecHttp2RouteMatchPtrOutput) } +// Client request headers to match on. +func (o GatewayRouteSpecHttp2RouteMatchOutput) Headers() GatewayRouteSpecHttp2RouteMatchHeaderArrayOutput { + return o.ApplyT(func(v GatewayRouteSpecHttp2RouteMatch) []GatewayRouteSpecHttp2RouteMatchHeader { return v.Headers }).(GatewayRouteSpecHttp2RouteMatchHeaderArrayOutput) +} + // Host name to rewrite. func (o GatewayRouteSpecHttp2RouteMatchOutput) Hostname() GatewayRouteSpecHttp2RouteMatchHostnamePtrOutput { return o.ApplyT(func(v GatewayRouteSpecHttp2RouteMatch) *GatewayRouteSpecHttp2RouteMatchHostname { return v.Hostname }).(GatewayRouteSpecHttp2RouteMatchHostnamePtrOutput) } -// The port number to match from the request. +// Client request path to match on. +func (o GatewayRouteSpecHttp2RouteMatchOutput) Path() GatewayRouteSpecHttp2RouteMatchPathPtrOutput { + return o.ApplyT(func(v GatewayRouteSpecHttp2RouteMatch) *GatewayRouteSpecHttp2RouteMatchPath { return v.Path }).(GatewayRouteSpecHttp2RouteMatchPathPtrOutput) +} + +// The port number that corresponds to the target for Virtual Service provider port. This is required when the provider (router or node) of the Virtual Service has multiple listeners. func (o GatewayRouteSpecHttp2RouteMatchOutput) Port() pulumi.IntPtrOutput { return o.ApplyT(func(v GatewayRouteSpecHttp2RouteMatch) *int { return v.Port }).(pulumi.IntPtrOutput) } @@ -2072,6 +2151,13 @@ func (o GatewayRouteSpecHttp2RouteMatchOutput) Prefix() pulumi.StringPtrOutput { return o.ApplyT(func(v GatewayRouteSpecHttp2RouteMatch) *string { return v.Prefix }).(pulumi.StringPtrOutput) } +// Client request query parameters to match on. +func (o GatewayRouteSpecHttp2RouteMatchOutput) QueryParameters() GatewayRouteSpecHttp2RouteMatchQueryParameterArrayOutput { + return o.ApplyT(func(v GatewayRouteSpecHttp2RouteMatch) []GatewayRouteSpecHttp2RouteMatchQueryParameter { + return v.QueryParameters + }).(GatewayRouteSpecHttp2RouteMatchQueryParameterArrayOutput) +} + type GatewayRouteSpecHttp2RouteMatchPtrOutput struct{ *pulumi.OutputState } func (GatewayRouteSpecHttp2RouteMatchPtrOutput) ElementType() reflect.Type { @@ -2096,6 +2182,16 @@ func (o GatewayRouteSpecHttp2RouteMatchPtrOutput) Elem() GatewayRouteSpecHttp2Ro }).(GatewayRouteSpecHttp2RouteMatchOutput) } +// Client request headers to match on. +func (o GatewayRouteSpecHttp2RouteMatchPtrOutput) Headers() GatewayRouteSpecHttp2RouteMatchHeaderArrayOutput { + return o.ApplyT(func(v *GatewayRouteSpecHttp2RouteMatch) []GatewayRouteSpecHttp2RouteMatchHeader { + if v == nil { + return nil + } + return v.Headers + }).(GatewayRouteSpecHttp2RouteMatchHeaderArrayOutput) +} + // Host name to rewrite. func (o GatewayRouteSpecHttp2RouteMatchPtrOutput) Hostname() GatewayRouteSpecHttp2RouteMatchHostnamePtrOutput { return o.ApplyT(func(v *GatewayRouteSpecHttp2RouteMatch) *GatewayRouteSpecHttp2RouteMatchHostname { @@ -2106,7 +2202,17 @@ func (o GatewayRouteSpecHttp2RouteMatchPtrOutput) Hostname() GatewayRouteSpecHtt }).(GatewayRouteSpecHttp2RouteMatchHostnamePtrOutput) } -// The port number to match from the request. +// Client request path to match on. +func (o GatewayRouteSpecHttp2RouteMatchPtrOutput) Path() GatewayRouteSpecHttp2RouteMatchPathPtrOutput { + return o.ApplyT(func(v *GatewayRouteSpecHttp2RouteMatch) *GatewayRouteSpecHttp2RouteMatchPath { + if v == nil { + return nil + } + return v.Path + }).(GatewayRouteSpecHttp2RouteMatchPathPtrOutput) +} + +// The port number that corresponds to the target for Virtual Service provider port. This is required when the provider (router or node) of the Virtual Service has multiple listeners. func (o GatewayRouteSpecHttp2RouteMatchPtrOutput) Port() pulumi.IntPtrOutput { return o.ApplyT(func(v *GatewayRouteSpecHttp2RouteMatch) *int { if v == nil { @@ -2126,6 +2232,504 @@ func (o GatewayRouteSpecHttp2RouteMatchPtrOutput) Prefix() pulumi.StringPtrOutpu }).(pulumi.StringPtrOutput) } +// Client request query parameters to match on. +func (o GatewayRouteSpecHttp2RouteMatchPtrOutput) QueryParameters() GatewayRouteSpecHttp2RouteMatchQueryParameterArrayOutput { + return o.ApplyT(func(v *GatewayRouteSpecHttp2RouteMatch) []GatewayRouteSpecHttp2RouteMatchQueryParameter { + if v == nil { + return nil + } + return v.QueryParameters + }).(GatewayRouteSpecHttp2RouteMatchQueryParameterArrayOutput) +} + +type GatewayRouteSpecHttp2RouteMatchHeader struct { + // If `true`, the match is on the opposite of the `match` method and value. Default is `false`. + Invert *bool `pulumi:"invert"` + // Method and value to match the header value sent with a request. Specify one match method. + Match *GatewayRouteSpecHttp2RouteMatchHeaderMatch `pulumi:"match"` + // Name for the HTTP header in the client request that will be matched on. + Name string `pulumi:"name"` +} + +// GatewayRouteSpecHttp2RouteMatchHeaderInput is an input type that accepts GatewayRouteSpecHttp2RouteMatchHeaderArgs and GatewayRouteSpecHttp2RouteMatchHeaderOutput values. +// You can construct a concrete instance of `GatewayRouteSpecHttp2RouteMatchHeaderInput` via: +// +// GatewayRouteSpecHttp2RouteMatchHeaderArgs{...} +type GatewayRouteSpecHttp2RouteMatchHeaderInput interface { + pulumi.Input + + ToGatewayRouteSpecHttp2RouteMatchHeaderOutput() GatewayRouteSpecHttp2RouteMatchHeaderOutput + ToGatewayRouteSpecHttp2RouteMatchHeaderOutputWithContext(context.Context) GatewayRouteSpecHttp2RouteMatchHeaderOutput +} + +type GatewayRouteSpecHttp2RouteMatchHeaderArgs struct { + // If `true`, the match is on the opposite of the `match` method and value. Default is `false`. + Invert pulumi.BoolPtrInput `pulumi:"invert"` + // Method and value to match the header value sent with a request. Specify one match method. + Match GatewayRouteSpecHttp2RouteMatchHeaderMatchPtrInput `pulumi:"match"` + // Name for the HTTP header in the client request that will be matched on. + Name pulumi.StringInput `pulumi:"name"` +} + +func (GatewayRouteSpecHttp2RouteMatchHeaderArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GatewayRouteSpecHttp2RouteMatchHeader)(nil)).Elem() +} + +func (i GatewayRouteSpecHttp2RouteMatchHeaderArgs) ToGatewayRouteSpecHttp2RouteMatchHeaderOutput() GatewayRouteSpecHttp2RouteMatchHeaderOutput { + return i.ToGatewayRouteSpecHttp2RouteMatchHeaderOutputWithContext(context.Background()) +} + +func (i GatewayRouteSpecHttp2RouteMatchHeaderArgs) ToGatewayRouteSpecHttp2RouteMatchHeaderOutputWithContext(ctx context.Context) GatewayRouteSpecHttp2RouteMatchHeaderOutput { + return pulumi.ToOutputWithContext(ctx, i).(GatewayRouteSpecHttp2RouteMatchHeaderOutput) +} + +// GatewayRouteSpecHttp2RouteMatchHeaderArrayInput is an input type that accepts GatewayRouteSpecHttp2RouteMatchHeaderArray and GatewayRouteSpecHttp2RouteMatchHeaderArrayOutput values. +// You can construct a concrete instance of `GatewayRouteSpecHttp2RouteMatchHeaderArrayInput` via: +// +// GatewayRouteSpecHttp2RouteMatchHeaderArray{ GatewayRouteSpecHttp2RouteMatchHeaderArgs{...} } +type GatewayRouteSpecHttp2RouteMatchHeaderArrayInput interface { + pulumi.Input + + ToGatewayRouteSpecHttp2RouteMatchHeaderArrayOutput() GatewayRouteSpecHttp2RouteMatchHeaderArrayOutput + ToGatewayRouteSpecHttp2RouteMatchHeaderArrayOutputWithContext(context.Context) GatewayRouteSpecHttp2RouteMatchHeaderArrayOutput +} + +type GatewayRouteSpecHttp2RouteMatchHeaderArray []GatewayRouteSpecHttp2RouteMatchHeaderInput + +func (GatewayRouteSpecHttp2RouteMatchHeaderArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GatewayRouteSpecHttp2RouteMatchHeader)(nil)).Elem() +} + +func (i GatewayRouteSpecHttp2RouteMatchHeaderArray) ToGatewayRouteSpecHttp2RouteMatchHeaderArrayOutput() GatewayRouteSpecHttp2RouteMatchHeaderArrayOutput { + return i.ToGatewayRouteSpecHttp2RouteMatchHeaderArrayOutputWithContext(context.Background()) +} + +func (i GatewayRouteSpecHttp2RouteMatchHeaderArray) ToGatewayRouteSpecHttp2RouteMatchHeaderArrayOutputWithContext(ctx context.Context) GatewayRouteSpecHttp2RouteMatchHeaderArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GatewayRouteSpecHttp2RouteMatchHeaderArrayOutput) +} + +type GatewayRouteSpecHttp2RouteMatchHeaderOutput struct{ *pulumi.OutputState } + +func (GatewayRouteSpecHttp2RouteMatchHeaderOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GatewayRouteSpecHttp2RouteMatchHeader)(nil)).Elem() +} + +func (o GatewayRouteSpecHttp2RouteMatchHeaderOutput) ToGatewayRouteSpecHttp2RouteMatchHeaderOutput() GatewayRouteSpecHttp2RouteMatchHeaderOutput { + return o +} + +func (o GatewayRouteSpecHttp2RouteMatchHeaderOutput) ToGatewayRouteSpecHttp2RouteMatchHeaderOutputWithContext(ctx context.Context) GatewayRouteSpecHttp2RouteMatchHeaderOutput { + return o +} + +// If `true`, the match is on the opposite of the `match` method and value. Default is `false`. +func (o GatewayRouteSpecHttp2RouteMatchHeaderOutput) Invert() pulumi.BoolPtrOutput { + return o.ApplyT(func(v GatewayRouteSpecHttp2RouteMatchHeader) *bool { return v.Invert }).(pulumi.BoolPtrOutput) +} + +// Method and value to match the header value sent with a request. Specify one match method. +func (o GatewayRouteSpecHttp2RouteMatchHeaderOutput) Match() GatewayRouteSpecHttp2RouteMatchHeaderMatchPtrOutput { + return o.ApplyT(func(v GatewayRouteSpecHttp2RouteMatchHeader) *GatewayRouteSpecHttp2RouteMatchHeaderMatch { + return v.Match + }).(GatewayRouteSpecHttp2RouteMatchHeaderMatchPtrOutput) +} + +// Name for the HTTP header in the client request that will be matched on. +func (o GatewayRouteSpecHttp2RouteMatchHeaderOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GatewayRouteSpecHttp2RouteMatchHeader) string { return v.Name }).(pulumi.StringOutput) +} + +type GatewayRouteSpecHttp2RouteMatchHeaderArrayOutput struct{ *pulumi.OutputState } + +func (GatewayRouteSpecHttp2RouteMatchHeaderArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GatewayRouteSpecHttp2RouteMatchHeader)(nil)).Elem() +} + +func (o GatewayRouteSpecHttp2RouteMatchHeaderArrayOutput) ToGatewayRouteSpecHttp2RouteMatchHeaderArrayOutput() GatewayRouteSpecHttp2RouteMatchHeaderArrayOutput { + return o +} + +func (o GatewayRouteSpecHttp2RouteMatchHeaderArrayOutput) ToGatewayRouteSpecHttp2RouteMatchHeaderArrayOutputWithContext(ctx context.Context) GatewayRouteSpecHttp2RouteMatchHeaderArrayOutput { + return o +} + +func (o GatewayRouteSpecHttp2RouteMatchHeaderArrayOutput) Index(i pulumi.IntInput) GatewayRouteSpecHttp2RouteMatchHeaderOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GatewayRouteSpecHttp2RouteMatchHeader { + return vs[0].([]GatewayRouteSpecHttp2RouteMatchHeader)[vs[1].(int)] + }).(GatewayRouteSpecHttp2RouteMatchHeaderOutput) +} + +type GatewayRouteSpecHttp2RouteMatchHeaderMatch struct { + // Header value sent by the client must match the specified value exactly. + Exact *string `pulumi:"exact"` + // Specified beginning characters to rewrite. + Prefix *string `pulumi:"prefix"` + // Object that specifies the range of numbers that the header value sent by the client must be included in. + Range *GatewayRouteSpecHttp2RouteMatchHeaderMatchRange `pulumi:"range"` + // Header value sent by the client must include the specified characters. + Regex *string `pulumi:"regex"` + // Header value sent by the client must end with the specified characters. + Suffix *string `pulumi:"suffix"` +} + +// GatewayRouteSpecHttp2RouteMatchHeaderMatchInput is an input type that accepts GatewayRouteSpecHttp2RouteMatchHeaderMatchArgs and GatewayRouteSpecHttp2RouteMatchHeaderMatchOutput values. +// You can construct a concrete instance of `GatewayRouteSpecHttp2RouteMatchHeaderMatchInput` via: +// +// GatewayRouteSpecHttp2RouteMatchHeaderMatchArgs{...} +type GatewayRouteSpecHttp2RouteMatchHeaderMatchInput interface { + pulumi.Input + + ToGatewayRouteSpecHttp2RouteMatchHeaderMatchOutput() GatewayRouteSpecHttp2RouteMatchHeaderMatchOutput + ToGatewayRouteSpecHttp2RouteMatchHeaderMatchOutputWithContext(context.Context) GatewayRouteSpecHttp2RouteMatchHeaderMatchOutput +} + +type GatewayRouteSpecHttp2RouteMatchHeaderMatchArgs struct { + // Header value sent by the client must match the specified value exactly. + Exact pulumi.StringPtrInput `pulumi:"exact"` + // Specified beginning characters to rewrite. + Prefix pulumi.StringPtrInput `pulumi:"prefix"` + // Object that specifies the range of numbers that the header value sent by the client must be included in. + Range GatewayRouteSpecHttp2RouteMatchHeaderMatchRangePtrInput `pulumi:"range"` + // Header value sent by the client must include the specified characters. + Regex pulumi.StringPtrInput `pulumi:"regex"` + // Header value sent by the client must end with the specified characters. + Suffix pulumi.StringPtrInput `pulumi:"suffix"` +} + +func (GatewayRouteSpecHttp2RouteMatchHeaderMatchArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GatewayRouteSpecHttp2RouteMatchHeaderMatch)(nil)).Elem() +} + +func (i GatewayRouteSpecHttp2RouteMatchHeaderMatchArgs) ToGatewayRouteSpecHttp2RouteMatchHeaderMatchOutput() GatewayRouteSpecHttp2RouteMatchHeaderMatchOutput { + return i.ToGatewayRouteSpecHttp2RouteMatchHeaderMatchOutputWithContext(context.Background()) +} + +func (i GatewayRouteSpecHttp2RouteMatchHeaderMatchArgs) ToGatewayRouteSpecHttp2RouteMatchHeaderMatchOutputWithContext(ctx context.Context) GatewayRouteSpecHttp2RouteMatchHeaderMatchOutput { + return pulumi.ToOutputWithContext(ctx, i).(GatewayRouteSpecHttp2RouteMatchHeaderMatchOutput) +} + +func (i GatewayRouteSpecHttp2RouteMatchHeaderMatchArgs) ToGatewayRouteSpecHttp2RouteMatchHeaderMatchPtrOutput() GatewayRouteSpecHttp2RouteMatchHeaderMatchPtrOutput { + return i.ToGatewayRouteSpecHttp2RouteMatchHeaderMatchPtrOutputWithContext(context.Background()) +} + +func (i GatewayRouteSpecHttp2RouteMatchHeaderMatchArgs) ToGatewayRouteSpecHttp2RouteMatchHeaderMatchPtrOutputWithContext(ctx context.Context) GatewayRouteSpecHttp2RouteMatchHeaderMatchPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(GatewayRouteSpecHttp2RouteMatchHeaderMatchOutput).ToGatewayRouteSpecHttp2RouteMatchHeaderMatchPtrOutputWithContext(ctx) +} + +// GatewayRouteSpecHttp2RouteMatchHeaderMatchPtrInput is an input type that accepts GatewayRouteSpecHttp2RouteMatchHeaderMatchArgs, GatewayRouteSpecHttp2RouteMatchHeaderMatchPtr and GatewayRouteSpecHttp2RouteMatchHeaderMatchPtrOutput values. +// You can construct a concrete instance of `GatewayRouteSpecHttp2RouteMatchHeaderMatchPtrInput` via: +// +// GatewayRouteSpecHttp2RouteMatchHeaderMatchArgs{...} +// +// or: +// +// nil +type GatewayRouteSpecHttp2RouteMatchHeaderMatchPtrInput interface { + pulumi.Input + + ToGatewayRouteSpecHttp2RouteMatchHeaderMatchPtrOutput() GatewayRouteSpecHttp2RouteMatchHeaderMatchPtrOutput + ToGatewayRouteSpecHttp2RouteMatchHeaderMatchPtrOutputWithContext(context.Context) GatewayRouteSpecHttp2RouteMatchHeaderMatchPtrOutput +} + +type gatewayRouteSpecHttp2RouteMatchHeaderMatchPtrType GatewayRouteSpecHttp2RouteMatchHeaderMatchArgs + +func GatewayRouteSpecHttp2RouteMatchHeaderMatchPtr(v *GatewayRouteSpecHttp2RouteMatchHeaderMatchArgs) GatewayRouteSpecHttp2RouteMatchHeaderMatchPtrInput { + return (*gatewayRouteSpecHttp2RouteMatchHeaderMatchPtrType)(v) +} + +func (*gatewayRouteSpecHttp2RouteMatchHeaderMatchPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**GatewayRouteSpecHttp2RouteMatchHeaderMatch)(nil)).Elem() +} + +func (i *gatewayRouteSpecHttp2RouteMatchHeaderMatchPtrType) ToGatewayRouteSpecHttp2RouteMatchHeaderMatchPtrOutput() GatewayRouteSpecHttp2RouteMatchHeaderMatchPtrOutput { + return i.ToGatewayRouteSpecHttp2RouteMatchHeaderMatchPtrOutputWithContext(context.Background()) +} + +func (i *gatewayRouteSpecHttp2RouteMatchHeaderMatchPtrType) ToGatewayRouteSpecHttp2RouteMatchHeaderMatchPtrOutputWithContext(ctx context.Context) GatewayRouteSpecHttp2RouteMatchHeaderMatchPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(GatewayRouteSpecHttp2RouteMatchHeaderMatchPtrOutput) +} + +type GatewayRouteSpecHttp2RouteMatchHeaderMatchOutput struct{ *pulumi.OutputState } + +func (GatewayRouteSpecHttp2RouteMatchHeaderMatchOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GatewayRouteSpecHttp2RouteMatchHeaderMatch)(nil)).Elem() +} + +func (o GatewayRouteSpecHttp2RouteMatchHeaderMatchOutput) ToGatewayRouteSpecHttp2RouteMatchHeaderMatchOutput() GatewayRouteSpecHttp2RouteMatchHeaderMatchOutput { + return o +} + +func (o GatewayRouteSpecHttp2RouteMatchHeaderMatchOutput) ToGatewayRouteSpecHttp2RouteMatchHeaderMatchOutputWithContext(ctx context.Context) GatewayRouteSpecHttp2RouteMatchHeaderMatchOutput { + return o +} + +func (o GatewayRouteSpecHttp2RouteMatchHeaderMatchOutput) ToGatewayRouteSpecHttp2RouteMatchHeaderMatchPtrOutput() GatewayRouteSpecHttp2RouteMatchHeaderMatchPtrOutput { + return o.ToGatewayRouteSpecHttp2RouteMatchHeaderMatchPtrOutputWithContext(context.Background()) +} + +func (o GatewayRouteSpecHttp2RouteMatchHeaderMatchOutput) ToGatewayRouteSpecHttp2RouteMatchHeaderMatchPtrOutputWithContext(ctx context.Context) GatewayRouteSpecHttp2RouteMatchHeaderMatchPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v GatewayRouteSpecHttp2RouteMatchHeaderMatch) *GatewayRouteSpecHttp2RouteMatchHeaderMatch { + return &v + }).(GatewayRouteSpecHttp2RouteMatchHeaderMatchPtrOutput) +} + +// Header value sent by the client must match the specified value exactly. +func (o GatewayRouteSpecHttp2RouteMatchHeaderMatchOutput) Exact() pulumi.StringPtrOutput { + return o.ApplyT(func(v GatewayRouteSpecHttp2RouteMatchHeaderMatch) *string { return v.Exact }).(pulumi.StringPtrOutput) +} + +// Specified beginning characters to rewrite. +func (o GatewayRouteSpecHttp2RouteMatchHeaderMatchOutput) Prefix() pulumi.StringPtrOutput { + return o.ApplyT(func(v GatewayRouteSpecHttp2RouteMatchHeaderMatch) *string { return v.Prefix }).(pulumi.StringPtrOutput) +} + +// Object that specifies the range of numbers that the header value sent by the client must be included in. +func (o GatewayRouteSpecHttp2RouteMatchHeaderMatchOutput) Range() GatewayRouteSpecHttp2RouteMatchHeaderMatchRangePtrOutput { + return o.ApplyT(func(v GatewayRouteSpecHttp2RouteMatchHeaderMatch) *GatewayRouteSpecHttp2RouteMatchHeaderMatchRange { + return v.Range + }).(GatewayRouteSpecHttp2RouteMatchHeaderMatchRangePtrOutput) +} + +// Header value sent by the client must include the specified characters. +func (o GatewayRouteSpecHttp2RouteMatchHeaderMatchOutput) Regex() pulumi.StringPtrOutput { + return o.ApplyT(func(v GatewayRouteSpecHttp2RouteMatchHeaderMatch) *string { return v.Regex }).(pulumi.StringPtrOutput) +} + +// Header value sent by the client must end with the specified characters. +func (o GatewayRouteSpecHttp2RouteMatchHeaderMatchOutput) Suffix() pulumi.StringPtrOutput { + return o.ApplyT(func(v GatewayRouteSpecHttp2RouteMatchHeaderMatch) *string { return v.Suffix }).(pulumi.StringPtrOutput) +} + +type GatewayRouteSpecHttp2RouteMatchHeaderMatchPtrOutput struct{ *pulumi.OutputState } + +func (GatewayRouteSpecHttp2RouteMatchHeaderMatchPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**GatewayRouteSpecHttp2RouteMatchHeaderMatch)(nil)).Elem() +} + +func (o GatewayRouteSpecHttp2RouteMatchHeaderMatchPtrOutput) ToGatewayRouteSpecHttp2RouteMatchHeaderMatchPtrOutput() GatewayRouteSpecHttp2RouteMatchHeaderMatchPtrOutput { + return o +} + +func (o GatewayRouteSpecHttp2RouteMatchHeaderMatchPtrOutput) ToGatewayRouteSpecHttp2RouteMatchHeaderMatchPtrOutputWithContext(ctx context.Context) GatewayRouteSpecHttp2RouteMatchHeaderMatchPtrOutput { + return o +} + +func (o GatewayRouteSpecHttp2RouteMatchHeaderMatchPtrOutput) Elem() GatewayRouteSpecHttp2RouteMatchHeaderMatchOutput { + return o.ApplyT(func(v *GatewayRouteSpecHttp2RouteMatchHeaderMatch) GatewayRouteSpecHttp2RouteMatchHeaderMatch { + if v != nil { + return *v + } + var ret GatewayRouteSpecHttp2RouteMatchHeaderMatch + return ret + }).(GatewayRouteSpecHttp2RouteMatchHeaderMatchOutput) +} + +// Header value sent by the client must match the specified value exactly. +func (o GatewayRouteSpecHttp2RouteMatchHeaderMatchPtrOutput) Exact() pulumi.StringPtrOutput { + return o.ApplyT(func(v *GatewayRouteSpecHttp2RouteMatchHeaderMatch) *string { + if v == nil { + return nil + } + return v.Exact + }).(pulumi.StringPtrOutput) +} + +// Specified beginning characters to rewrite. +func (o GatewayRouteSpecHttp2RouteMatchHeaderMatchPtrOutput) Prefix() pulumi.StringPtrOutput { + return o.ApplyT(func(v *GatewayRouteSpecHttp2RouteMatchHeaderMatch) *string { + if v == nil { + return nil + } + return v.Prefix + }).(pulumi.StringPtrOutput) +} + +// Object that specifies the range of numbers that the header value sent by the client must be included in. +func (o GatewayRouteSpecHttp2RouteMatchHeaderMatchPtrOutput) Range() GatewayRouteSpecHttp2RouteMatchHeaderMatchRangePtrOutput { + return o.ApplyT(func(v *GatewayRouteSpecHttp2RouteMatchHeaderMatch) *GatewayRouteSpecHttp2RouteMatchHeaderMatchRange { + if v == nil { + return nil + } + return v.Range + }).(GatewayRouteSpecHttp2RouteMatchHeaderMatchRangePtrOutput) +} + +// Header value sent by the client must include the specified characters. +func (o GatewayRouteSpecHttp2RouteMatchHeaderMatchPtrOutput) Regex() pulumi.StringPtrOutput { + return o.ApplyT(func(v *GatewayRouteSpecHttp2RouteMatchHeaderMatch) *string { + if v == nil { + return nil + } + return v.Regex + }).(pulumi.StringPtrOutput) +} + +// Header value sent by the client must end with the specified characters. +func (o GatewayRouteSpecHttp2RouteMatchHeaderMatchPtrOutput) Suffix() pulumi.StringPtrOutput { + return o.ApplyT(func(v *GatewayRouteSpecHttp2RouteMatchHeaderMatch) *string { + if v == nil { + return nil + } + return v.Suffix + }).(pulumi.StringPtrOutput) +} + +type GatewayRouteSpecHttp2RouteMatchHeaderMatchRange struct { + // End of the range. + End int `pulumi:"end"` + // Start of the range. + Start int `pulumi:"start"` +} + +// GatewayRouteSpecHttp2RouteMatchHeaderMatchRangeInput is an input type that accepts GatewayRouteSpecHttp2RouteMatchHeaderMatchRangeArgs and GatewayRouteSpecHttp2RouteMatchHeaderMatchRangeOutput values. +// You can construct a concrete instance of `GatewayRouteSpecHttp2RouteMatchHeaderMatchRangeInput` via: +// +// GatewayRouteSpecHttp2RouteMatchHeaderMatchRangeArgs{...} +type GatewayRouteSpecHttp2RouteMatchHeaderMatchRangeInput interface { + pulumi.Input + + ToGatewayRouteSpecHttp2RouteMatchHeaderMatchRangeOutput() GatewayRouteSpecHttp2RouteMatchHeaderMatchRangeOutput + ToGatewayRouteSpecHttp2RouteMatchHeaderMatchRangeOutputWithContext(context.Context) GatewayRouteSpecHttp2RouteMatchHeaderMatchRangeOutput +} + +type GatewayRouteSpecHttp2RouteMatchHeaderMatchRangeArgs struct { + // End of the range. + End pulumi.IntInput `pulumi:"end"` + // Start of the range. + Start pulumi.IntInput `pulumi:"start"` +} + +func (GatewayRouteSpecHttp2RouteMatchHeaderMatchRangeArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GatewayRouteSpecHttp2RouteMatchHeaderMatchRange)(nil)).Elem() +} + +func (i GatewayRouteSpecHttp2RouteMatchHeaderMatchRangeArgs) ToGatewayRouteSpecHttp2RouteMatchHeaderMatchRangeOutput() GatewayRouteSpecHttp2RouteMatchHeaderMatchRangeOutput { + return i.ToGatewayRouteSpecHttp2RouteMatchHeaderMatchRangeOutputWithContext(context.Background()) +} + +func (i GatewayRouteSpecHttp2RouteMatchHeaderMatchRangeArgs) ToGatewayRouteSpecHttp2RouteMatchHeaderMatchRangeOutputWithContext(ctx context.Context) GatewayRouteSpecHttp2RouteMatchHeaderMatchRangeOutput { + return pulumi.ToOutputWithContext(ctx, i).(GatewayRouteSpecHttp2RouteMatchHeaderMatchRangeOutput) +} + +func (i GatewayRouteSpecHttp2RouteMatchHeaderMatchRangeArgs) ToGatewayRouteSpecHttp2RouteMatchHeaderMatchRangePtrOutput() GatewayRouteSpecHttp2RouteMatchHeaderMatchRangePtrOutput { + return i.ToGatewayRouteSpecHttp2RouteMatchHeaderMatchRangePtrOutputWithContext(context.Background()) +} + +func (i GatewayRouteSpecHttp2RouteMatchHeaderMatchRangeArgs) ToGatewayRouteSpecHttp2RouteMatchHeaderMatchRangePtrOutputWithContext(ctx context.Context) GatewayRouteSpecHttp2RouteMatchHeaderMatchRangePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(GatewayRouteSpecHttp2RouteMatchHeaderMatchRangeOutput).ToGatewayRouteSpecHttp2RouteMatchHeaderMatchRangePtrOutputWithContext(ctx) +} + +// GatewayRouteSpecHttp2RouteMatchHeaderMatchRangePtrInput is an input type that accepts GatewayRouteSpecHttp2RouteMatchHeaderMatchRangeArgs, GatewayRouteSpecHttp2RouteMatchHeaderMatchRangePtr and GatewayRouteSpecHttp2RouteMatchHeaderMatchRangePtrOutput values. +// You can construct a concrete instance of `GatewayRouteSpecHttp2RouteMatchHeaderMatchRangePtrInput` via: +// +// GatewayRouteSpecHttp2RouteMatchHeaderMatchRangeArgs{...} +// +// or: +// +// nil +type GatewayRouteSpecHttp2RouteMatchHeaderMatchRangePtrInput interface { + pulumi.Input + + ToGatewayRouteSpecHttp2RouteMatchHeaderMatchRangePtrOutput() GatewayRouteSpecHttp2RouteMatchHeaderMatchRangePtrOutput + ToGatewayRouteSpecHttp2RouteMatchHeaderMatchRangePtrOutputWithContext(context.Context) GatewayRouteSpecHttp2RouteMatchHeaderMatchRangePtrOutput +} + +type gatewayRouteSpecHttp2RouteMatchHeaderMatchRangePtrType GatewayRouteSpecHttp2RouteMatchHeaderMatchRangeArgs + +func GatewayRouteSpecHttp2RouteMatchHeaderMatchRangePtr(v *GatewayRouteSpecHttp2RouteMatchHeaderMatchRangeArgs) GatewayRouteSpecHttp2RouteMatchHeaderMatchRangePtrInput { + return (*gatewayRouteSpecHttp2RouteMatchHeaderMatchRangePtrType)(v) +} + +func (*gatewayRouteSpecHttp2RouteMatchHeaderMatchRangePtrType) ElementType() reflect.Type { + return reflect.TypeOf((**GatewayRouteSpecHttp2RouteMatchHeaderMatchRange)(nil)).Elem() +} + +func (i *gatewayRouteSpecHttp2RouteMatchHeaderMatchRangePtrType) ToGatewayRouteSpecHttp2RouteMatchHeaderMatchRangePtrOutput() GatewayRouteSpecHttp2RouteMatchHeaderMatchRangePtrOutput { + return i.ToGatewayRouteSpecHttp2RouteMatchHeaderMatchRangePtrOutputWithContext(context.Background()) +} + +func (i *gatewayRouteSpecHttp2RouteMatchHeaderMatchRangePtrType) ToGatewayRouteSpecHttp2RouteMatchHeaderMatchRangePtrOutputWithContext(ctx context.Context) GatewayRouteSpecHttp2RouteMatchHeaderMatchRangePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(GatewayRouteSpecHttp2RouteMatchHeaderMatchRangePtrOutput) +} + +type GatewayRouteSpecHttp2RouteMatchHeaderMatchRangeOutput struct{ *pulumi.OutputState } + +func (GatewayRouteSpecHttp2RouteMatchHeaderMatchRangeOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GatewayRouteSpecHttp2RouteMatchHeaderMatchRange)(nil)).Elem() +} + +func (o GatewayRouteSpecHttp2RouteMatchHeaderMatchRangeOutput) ToGatewayRouteSpecHttp2RouteMatchHeaderMatchRangeOutput() GatewayRouteSpecHttp2RouteMatchHeaderMatchRangeOutput { + return o +} + +func (o GatewayRouteSpecHttp2RouteMatchHeaderMatchRangeOutput) ToGatewayRouteSpecHttp2RouteMatchHeaderMatchRangeOutputWithContext(ctx context.Context) GatewayRouteSpecHttp2RouteMatchHeaderMatchRangeOutput { + return o +} + +func (o GatewayRouteSpecHttp2RouteMatchHeaderMatchRangeOutput) ToGatewayRouteSpecHttp2RouteMatchHeaderMatchRangePtrOutput() GatewayRouteSpecHttp2RouteMatchHeaderMatchRangePtrOutput { + return o.ToGatewayRouteSpecHttp2RouteMatchHeaderMatchRangePtrOutputWithContext(context.Background()) +} + +func (o GatewayRouteSpecHttp2RouteMatchHeaderMatchRangeOutput) ToGatewayRouteSpecHttp2RouteMatchHeaderMatchRangePtrOutputWithContext(ctx context.Context) GatewayRouteSpecHttp2RouteMatchHeaderMatchRangePtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v GatewayRouteSpecHttp2RouteMatchHeaderMatchRange) *GatewayRouteSpecHttp2RouteMatchHeaderMatchRange { + return &v + }).(GatewayRouteSpecHttp2RouteMatchHeaderMatchRangePtrOutput) +} + +// End of the range. +func (o GatewayRouteSpecHttp2RouteMatchHeaderMatchRangeOutput) End() pulumi.IntOutput { + return o.ApplyT(func(v GatewayRouteSpecHttp2RouteMatchHeaderMatchRange) int { return v.End }).(pulumi.IntOutput) +} + +// Start of the range. +func (o GatewayRouteSpecHttp2RouteMatchHeaderMatchRangeOutput) Start() pulumi.IntOutput { + return o.ApplyT(func(v GatewayRouteSpecHttp2RouteMatchHeaderMatchRange) int { return v.Start }).(pulumi.IntOutput) +} + +type GatewayRouteSpecHttp2RouteMatchHeaderMatchRangePtrOutput struct{ *pulumi.OutputState } + +func (GatewayRouteSpecHttp2RouteMatchHeaderMatchRangePtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**GatewayRouteSpecHttp2RouteMatchHeaderMatchRange)(nil)).Elem() +} + +func (o GatewayRouteSpecHttp2RouteMatchHeaderMatchRangePtrOutput) ToGatewayRouteSpecHttp2RouteMatchHeaderMatchRangePtrOutput() GatewayRouteSpecHttp2RouteMatchHeaderMatchRangePtrOutput { + return o +} + +func (o GatewayRouteSpecHttp2RouteMatchHeaderMatchRangePtrOutput) ToGatewayRouteSpecHttp2RouteMatchHeaderMatchRangePtrOutputWithContext(ctx context.Context) GatewayRouteSpecHttp2RouteMatchHeaderMatchRangePtrOutput { + return o +} + +func (o GatewayRouteSpecHttp2RouteMatchHeaderMatchRangePtrOutput) Elem() GatewayRouteSpecHttp2RouteMatchHeaderMatchRangeOutput { + return o.ApplyT(func(v *GatewayRouteSpecHttp2RouteMatchHeaderMatchRange) GatewayRouteSpecHttp2RouteMatchHeaderMatchRange { + if v != nil { + return *v + } + var ret GatewayRouteSpecHttp2RouteMatchHeaderMatchRange + return ret + }).(GatewayRouteSpecHttp2RouteMatchHeaderMatchRangeOutput) +} + +// End of the range. +func (o GatewayRouteSpecHttp2RouteMatchHeaderMatchRangePtrOutput) End() pulumi.IntPtrOutput { + return o.ApplyT(func(v *GatewayRouteSpecHttp2RouteMatchHeaderMatchRange) *int { + if v == nil { + return nil + } + return &v.End + }).(pulumi.IntPtrOutput) +} + +// Start of the range. +func (o GatewayRouteSpecHttp2RouteMatchHeaderMatchRangePtrOutput) Start() pulumi.IntPtrOutput { + return o.ApplyT(func(v *GatewayRouteSpecHttp2RouteMatchHeaderMatchRange) *int { + if v == nil { + return nil + } + return &v.Start + }).(pulumi.IntPtrOutput) +} + type GatewayRouteSpecHttp2RouteMatchHostname struct { // Exact host name to match on. Exact *string `pulumi:"exact"` @@ -2282,6 +2886,407 @@ func (o GatewayRouteSpecHttp2RouteMatchHostnamePtrOutput) Suffix() pulumi.String }).(pulumi.StringPtrOutput) } +type GatewayRouteSpecHttp2RouteMatchPath struct { + // The exact path to match on. + Exact *string `pulumi:"exact"` + // The regex used to match the path. + Regex *string `pulumi:"regex"` +} + +// GatewayRouteSpecHttp2RouteMatchPathInput is an input type that accepts GatewayRouteSpecHttp2RouteMatchPathArgs and GatewayRouteSpecHttp2RouteMatchPathOutput values. +// You can construct a concrete instance of `GatewayRouteSpecHttp2RouteMatchPathInput` via: +// +// GatewayRouteSpecHttp2RouteMatchPathArgs{...} +type GatewayRouteSpecHttp2RouteMatchPathInput interface { + pulumi.Input + + ToGatewayRouteSpecHttp2RouteMatchPathOutput() GatewayRouteSpecHttp2RouteMatchPathOutput + ToGatewayRouteSpecHttp2RouteMatchPathOutputWithContext(context.Context) GatewayRouteSpecHttp2RouteMatchPathOutput +} + +type GatewayRouteSpecHttp2RouteMatchPathArgs struct { + // The exact path to match on. + Exact pulumi.StringPtrInput `pulumi:"exact"` + // The regex used to match the path. + Regex pulumi.StringPtrInput `pulumi:"regex"` +} + +func (GatewayRouteSpecHttp2RouteMatchPathArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GatewayRouteSpecHttp2RouteMatchPath)(nil)).Elem() +} + +func (i GatewayRouteSpecHttp2RouteMatchPathArgs) ToGatewayRouteSpecHttp2RouteMatchPathOutput() GatewayRouteSpecHttp2RouteMatchPathOutput { + return i.ToGatewayRouteSpecHttp2RouteMatchPathOutputWithContext(context.Background()) +} + +func (i GatewayRouteSpecHttp2RouteMatchPathArgs) ToGatewayRouteSpecHttp2RouteMatchPathOutputWithContext(ctx context.Context) GatewayRouteSpecHttp2RouteMatchPathOutput { + return pulumi.ToOutputWithContext(ctx, i).(GatewayRouteSpecHttp2RouteMatchPathOutput) +} + +func (i GatewayRouteSpecHttp2RouteMatchPathArgs) ToGatewayRouteSpecHttp2RouteMatchPathPtrOutput() GatewayRouteSpecHttp2RouteMatchPathPtrOutput { + return i.ToGatewayRouteSpecHttp2RouteMatchPathPtrOutputWithContext(context.Background()) +} + +func (i GatewayRouteSpecHttp2RouteMatchPathArgs) ToGatewayRouteSpecHttp2RouteMatchPathPtrOutputWithContext(ctx context.Context) GatewayRouteSpecHttp2RouteMatchPathPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(GatewayRouteSpecHttp2RouteMatchPathOutput).ToGatewayRouteSpecHttp2RouteMatchPathPtrOutputWithContext(ctx) +} + +// GatewayRouteSpecHttp2RouteMatchPathPtrInput is an input type that accepts GatewayRouteSpecHttp2RouteMatchPathArgs, GatewayRouteSpecHttp2RouteMatchPathPtr and GatewayRouteSpecHttp2RouteMatchPathPtrOutput values. +// You can construct a concrete instance of `GatewayRouteSpecHttp2RouteMatchPathPtrInput` via: +// +// GatewayRouteSpecHttp2RouteMatchPathArgs{...} +// +// or: +// +// nil +type GatewayRouteSpecHttp2RouteMatchPathPtrInput interface { + pulumi.Input + + ToGatewayRouteSpecHttp2RouteMatchPathPtrOutput() GatewayRouteSpecHttp2RouteMatchPathPtrOutput + ToGatewayRouteSpecHttp2RouteMatchPathPtrOutputWithContext(context.Context) GatewayRouteSpecHttp2RouteMatchPathPtrOutput +} + +type gatewayRouteSpecHttp2RouteMatchPathPtrType GatewayRouteSpecHttp2RouteMatchPathArgs + +func GatewayRouteSpecHttp2RouteMatchPathPtr(v *GatewayRouteSpecHttp2RouteMatchPathArgs) GatewayRouteSpecHttp2RouteMatchPathPtrInput { + return (*gatewayRouteSpecHttp2RouteMatchPathPtrType)(v) +} + +func (*gatewayRouteSpecHttp2RouteMatchPathPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**GatewayRouteSpecHttp2RouteMatchPath)(nil)).Elem() +} + +func (i *gatewayRouteSpecHttp2RouteMatchPathPtrType) ToGatewayRouteSpecHttp2RouteMatchPathPtrOutput() GatewayRouteSpecHttp2RouteMatchPathPtrOutput { + return i.ToGatewayRouteSpecHttp2RouteMatchPathPtrOutputWithContext(context.Background()) +} + +func (i *gatewayRouteSpecHttp2RouteMatchPathPtrType) ToGatewayRouteSpecHttp2RouteMatchPathPtrOutputWithContext(ctx context.Context) GatewayRouteSpecHttp2RouteMatchPathPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(GatewayRouteSpecHttp2RouteMatchPathPtrOutput) +} + +type GatewayRouteSpecHttp2RouteMatchPathOutput struct{ *pulumi.OutputState } + +func (GatewayRouteSpecHttp2RouteMatchPathOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GatewayRouteSpecHttp2RouteMatchPath)(nil)).Elem() +} + +func (o GatewayRouteSpecHttp2RouteMatchPathOutput) ToGatewayRouteSpecHttp2RouteMatchPathOutput() GatewayRouteSpecHttp2RouteMatchPathOutput { + return o +} + +func (o GatewayRouteSpecHttp2RouteMatchPathOutput) ToGatewayRouteSpecHttp2RouteMatchPathOutputWithContext(ctx context.Context) GatewayRouteSpecHttp2RouteMatchPathOutput { + return o +} + +func (o GatewayRouteSpecHttp2RouteMatchPathOutput) ToGatewayRouteSpecHttp2RouteMatchPathPtrOutput() GatewayRouteSpecHttp2RouteMatchPathPtrOutput { + return o.ToGatewayRouteSpecHttp2RouteMatchPathPtrOutputWithContext(context.Background()) +} + +func (o GatewayRouteSpecHttp2RouteMatchPathOutput) ToGatewayRouteSpecHttp2RouteMatchPathPtrOutputWithContext(ctx context.Context) GatewayRouteSpecHttp2RouteMatchPathPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v GatewayRouteSpecHttp2RouteMatchPath) *GatewayRouteSpecHttp2RouteMatchPath { + return &v + }).(GatewayRouteSpecHttp2RouteMatchPathPtrOutput) +} + +// The exact path to match on. +func (o GatewayRouteSpecHttp2RouteMatchPathOutput) Exact() pulumi.StringPtrOutput { + return o.ApplyT(func(v GatewayRouteSpecHttp2RouteMatchPath) *string { return v.Exact }).(pulumi.StringPtrOutput) +} + +// The regex used to match the path. +func (o GatewayRouteSpecHttp2RouteMatchPathOutput) Regex() pulumi.StringPtrOutput { + return o.ApplyT(func(v GatewayRouteSpecHttp2RouteMatchPath) *string { return v.Regex }).(pulumi.StringPtrOutput) +} + +type GatewayRouteSpecHttp2RouteMatchPathPtrOutput struct{ *pulumi.OutputState } + +func (GatewayRouteSpecHttp2RouteMatchPathPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**GatewayRouteSpecHttp2RouteMatchPath)(nil)).Elem() +} + +func (o GatewayRouteSpecHttp2RouteMatchPathPtrOutput) ToGatewayRouteSpecHttp2RouteMatchPathPtrOutput() GatewayRouteSpecHttp2RouteMatchPathPtrOutput { + return o +} + +func (o GatewayRouteSpecHttp2RouteMatchPathPtrOutput) ToGatewayRouteSpecHttp2RouteMatchPathPtrOutputWithContext(ctx context.Context) GatewayRouteSpecHttp2RouteMatchPathPtrOutput { + return o +} + +func (o GatewayRouteSpecHttp2RouteMatchPathPtrOutput) Elem() GatewayRouteSpecHttp2RouteMatchPathOutput { + return o.ApplyT(func(v *GatewayRouteSpecHttp2RouteMatchPath) GatewayRouteSpecHttp2RouteMatchPath { + if v != nil { + return *v + } + var ret GatewayRouteSpecHttp2RouteMatchPath + return ret + }).(GatewayRouteSpecHttp2RouteMatchPathOutput) +} + +// The exact path to match on. +func (o GatewayRouteSpecHttp2RouteMatchPathPtrOutput) Exact() pulumi.StringPtrOutput { + return o.ApplyT(func(v *GatewayRouteSpecHttp2RouteMatchPath) *string { + if v == nil { + return nil + } + return v.Exact + }).(pulumi.StringPtrOutput) +} + +// The regex used to match the path. +func (o GatewayRouteSpecHttp2RouteMatchPathPtrOutput) Regex() pulumi.StringPtrOutput { + return o.ApplyT(func(v *GatewayRouteSpecHttp2RouteMatchPath) *string { + if v == nil { + return nil + } + return v.Regex + }).(pulumi.StringPtrOutput) +} + +type GatewayRouteSpecHttp2RouteMatchQueryParameter struct { + // The query parameter to match on. + Match *GatewayRouteSpecHttp2RouteMatchQueryParameterMatch `pulumi:"match"` + // Name for the query parameter that will be matched on. + Name string `pulumi:"name"` +} + +// GatewayRouteSpecHttp2RouteMatchQueryParameterInput is an input type that accepts GatewayRouteSpecHttp2RouteMatchQueryParameterArgs and GatewayRouteSpecHttp2RouteMatchQueryParameterOutput values. +// You can construct a concrete instance of `GatewayRouteSpecHttp2RouteMatchQueryParameterInput` via: +// +// GatewayRouteSpecHttp2RouteMatchQueryParameterArgs{...} +type GatewayRouteSpecHttp2RouteMatchQueryParameterInput interface { + pulumi.Input + + ToGatewayRouteSpecHttp2RouteMatchQueryParameterOutput() GatewayRouteSpecHttp2RouteMatchQueryParameterOutput + ToGatewayRouteSpecHttp2RouteMatchQueryParameterOutputWithContext(context.Context) GatewayRouteSpecHttp2RouteMatchQueryParameterOutput +} + +type GatewayRouteSpecHttp2RouteMatchQueryParameterArgs struct { + // The query parameter to match on. + Match GatewayRouteSpecHttp2RouteMatchQueryParameterMatchPtrInput `pulumi:"match"` + // Name for the query parameter that will be matched on. + Name pulumi.StringInput `pulumi:"name"` +} + +func (GatewayRouteSpecHttp2RouteMatchQueryParameterArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GatewayRouteSpecHttp2RouteMatchQueryParameter)(nil)).Elem() +} + +func (i GatewayRouteSpecHttp2RouteMatchQueryParameterArgs) ToGatewayRouteSpecHttp2RouteMatchQueryParameterOutput() GatewayRouteSpecHttp2RouteMatchQueryParameterOutput { + return i.ToGatewayRouteSpecHttp2RouteMatchQueryParameterOutputWithContext(context.Background()) +} + +func (i GatewayRouteSpecHttp2RouteMatchQueryParameterArgs) ToGatewayRouteSpecHttp2RouteMatchQueryParameterOutputWithContext(ctx context.Context) GatewayRouteSpecHttp2RouteMatchQueryParameterOutput { + return pulumi.ToOutputWithContext(ctx, i).(GatewayRouteSpecHttp2RouteMatchQueryParameterOutput) +} + +// GatewayRouteSpecHttp2RouteMatchQueryParameterArrayInput is an input type that accepts GatewayRouteSpecHttp2RouteMatchQueryParameterArray and GatewayRouteSpecHttp2RouteMatchQueryParameterArrayOutput values. +// You can construct a concrete instance of `GatewayRouteSpecHttp2RouteMatchQueryParameterArrayInput` via: +// +// GatewayRouteSpecHttp2RouteMatchQueryParameterArray{ GatewayRouteSpecHttp2RouteMatchQueryParameterArgs{...} } +type GatewayRouteSpecHttp2RouteMatchQueryParameterArrayInput interface { + pulumi.Input + + ToGatewayRouteSpecHttp2RouteMatchQueryParameterArrayOutput() GatewayRouteSpecHttp2RouteMatchQueryParameterArrayOutput + ToGatewayRouteSpecHttp2RouteMatchQueryParameterArrayOutputWithContext(context.Context) GatewayRouteSpecHttp2RouteMatchQueryParameterArrayOutput +} + +type GatewayRouteSpecHttp2RouteMatchQueryParameterArray []GatewayRouteSpecHttp2RouteMatchQueryParameterInput + +func (GatewayRouteSpecHttp2RouteMatchQueryParameterArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GatewayRouteSpecHttp2RouteMatchQueryParameter)(nil)).Elem() +} + +func (i GatewayRouteSpecHttp2RouteMatchQueryParameterArray) ToGatewayRouteSpecHttp2RouteMatchQueryParameterArrayOutput() GatewayRouteSpecHttp2RouteMatchQueryParameterArrayOutput { + return i.ToGatewayRouteSpecHttp2RouteMatchQueryParameterArrayOutputWithContext(context.Background()) +} + +func (i GatewayRouteSpecHttp2RouteMatchQueryParameterArray) ToGatewayRouteSpecHttp2RouteMatchQueryParameterArrayOutputWithContext(ctx context.Context) GatewayRouteSpecHttp2RouteMatchQueryParameterArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GatewayRouteSpecHttp2RouteMatchQueryParameterArrayOutput) +} + +type GatewayRouteSpecHttp2RouteMatchQueryParameterOutput struct{ *pulumi.OutputState } + +func (GatewayRouteSpecHttp2RouteMatchQueryParameterOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GatewayRouteSpecHttp2RouteMatchQueryParameter)(nil)).Elem() +} + +func (o GatewayRouteSpecHttp2RouteMatchQueryParameterOutput) ToGatewayRouteSpecHttp2RouteMatchQueryParameterOutput() GatewayRouteSpecHttp2RouteMatchQueryParameterOutput { + return o +} + +func (o GatewayRouteSpecHttp2RouteMatchQueryParameterOutput) ToGatewayRouteSpecHttp2RouteMatchQueryParameterOutputWithContext(ctx context.Context) GatewayRouteSpecHttp2RouteMatchQueryParameterOutput { + return o +} + +// The query parameter to match on. +func (o GatewayRouteSpecHttp2RouteMatchQueryParameterOutput) Match() GatewayRouteSpecHttp2RouteMatchQueryParameterMatchPtrOutput { + return o.ApplyT(func(v GatewayRouteSpecHttp2RouteMatchQueryParameter) *GatewayRouteSpecHttp2RouteMatchQueryParameterMatch { + return v.Match + }).(GatewayRouteSpecHttp2RouteMatchQueryParameterMatchPtrOutput) +} + +// Name for the query parameter that will be matched on. +func (o GatewayRouteSpecHttp2RouteMatchQueryParameterOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GatewayRouteSpecHttp2RouteMatchQueryParameter) string { return v.Name }).(pulumi.StringOutput) +} + +type GatewayRouteSpecHttp2RouteMatchQueryParameterArrayOutput struct{ *pulumi.OutputState } + +func (GatewayRouteSpecHttp2RouteMatchQueryParameterArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GatewayRouteSpecHttp2RouteMatchQueryParameter)(nil)).Elem() +} + +func (o GatewayRouteSpecHttp2RouteMatchQueryParameterArrayOutput) ToGatewayRouteSpecHttp2RouteMatchQueryParameterArrayOutput() GatewayRouteSpecHttp2RouteMatchQueryParameterArrayOutput { + return o +} + +func (o GatewayRouteSpecHttp2RouteMatchQueryParameterArrayOutput) ToGatewayRouteSpecHttp2RouteMatchQueryParameterArrayOutputWithContext(ctx context.Context) GatewayRouteSpecHttp2RouteMatchQueryParameterArrayOutput { + return o +} + +func (o GatewayRouteSpecHttp2RouteMatchQueryParameterArrayOutput) Index(i pulumi.IntInput) GatewayRouteSpecHttp2RouteMatchQueryParameterOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GatewayRouteSpecHttp2RouteMatchQueryParameter { + return vs[0].([]GatewayRouteSpecHttp2RouteMatchQueryParameter)[vs[1].(int)] + }).(GatewayRouteSpecHttp2RouteMatchQueryParameterOutput) +} + +type GatewayRouteSpecHttp2RouteMatchQueryParameterMatch struct { + // Header value sent by the client must match the specified value exactly. + Exact *string `pulumi:"exact"` +} + +// GatewayRouteSpecHttp2RouteMatchQueryParameterMatchInput is an input type that accepts GatewayRouteSpecHttp2RouteMatchQueryParameterMatchArgs and GatewayRouteSpecHttp2RouteMatchQueryParameterMatchOutput values. +// You can construct a concrete instance of `GatewayRouteSpecHttp2RouteMatchQueryParameterMatchInput` via: +// +// GatewayRouteSpecHttp2RouteMatchQueryParameterMatchArgs{...} +type GatewayRouteSpecHttp2RouteMatchQueryParameterMatchInput interface { + pulumi.Input + + ToGatewayRouteSpecHttp2RouteMatchQueryParameterMatchOutput() GatewayRouteSpecHttp2RouteMatchQueryParameterMatchOutput + ToGatewayRouteSpecHttp2RouteMatchQueryParameterMatchOutputWithContext(context.Context) GatewayRouteSpecHttp2RouteMatchQueryParameterMatchOutput +} + +type GatewayRouteSpecHttp2RouteMatchQueryParameterMatchArgs struct { + // Header value sent by the client must match the specified value exactly. + Exact pulumi.StringPtrInput `pulumi:"exact"` +} + +func (GatewayRouteSpecHttp2RouteMatchQueryParameterMatchArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GatewayRouteSpecHttp2RouteMatchQueryParameterMatch)(nil)).Elem() +} + +func (i GatewayRouteSpecHttp2RouteMatchQueryParameterMatchArgs) ToGatewayRouteSpecHttp2RouteMatchQueryParameterMatchOutput() GatewayRouteSpecHttp2RouteMatchQueryParameterMatchOutput { + return i.ToGatewayRouteSpecHttp2RouteMatchQueryParameterMatchOutputWithContext(context.Background()) +} + +func (i GatewayRouteSpecHttp2RouteMatchQueryParameterMatchArgs) ToGatewayRouteSpecHttp2RouteMatchQueryParameterMatchOutputWithContext(ctx context.Context) GatewayRouteSpecHttp2RouteMatchQueryParameterMatchOutput { + return pulumi.ToOutputWithContext(ctx, i).(GatewayRouteSpecHttp2RouteMatchQueryParameterMatchOutput) +} + +func (i GatewayRouteSpecHttp2RouteMatchQueryParameterMatchArgs) ToGatewayRouteSpecHttp2RouteMatchQueryParameterMatchPtrOutput() GatewayRouteSpecHttp2RouteMatchQueryParameterMatchPtrOutput { + return i.ToGatewayRouteSpecHttp2RouteMatchQueryParameterMatchPtrOutputWithContext(context.Background()) +} + +func (i GatewayRouteSpecHttp2RouteMatchQueryParameterMatchArgs) ToGatewayRouteSpecHttp2RouteMatchQueryParameterMatchPtrOutputWithContext(ctx context.Context) GatewayRouteSpecHttp2RouteMatchQueryParameterMatchPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(GatewayRouteSpecHttp2RouteMatchQueryParameterMatchOutput).ToGatewayRouteSpecHttp2RouteMatchQueryParameterMatchPtrOutputWithContext(ctx) +} + +// GatewayRouteSpecHttp2RouteMatchQueryParameterMatchPtrInput is an input type that accepts GatewayRouteSpecHttp2RouteMatchQueryParameterMatchArgs, GatewayRouteSpecHttp2RouteMatchQueryParameterMatchPtr and GatewayRouteSpecHttp2RouteMatchQueryParameterMatchPtrOutput values. +// You can construct a concrete instance of `GatewayRouteSpecHttp2RouteMatchQueryParameterMatchPtrInput` via: +// +// GatewayRouteSpecHttp2RouteMatchQueryParameterMatchArgs{...} +// +// or: +// +// nil +type GatewayRouteSpecHttp2RouteMatchQueryParameterMatchPtrInput interface { + pulumi.Input + + ToGatewayRouteSpecHttp2RouteMatchQueryParameterMatchPtrOutput() GatewayRouteSpecHttp2RouteMatchQueryParameterMatchPtrOutput + ToGatewayRouteSpecHttp2RouteMatchQueryParameterMatchPtrOutputWithContext(context.Context) GatewayRouteSpecHttp2RouteMatchQueryParameterMatchPtrOutput +} + +type gatewayRouteSpecHttp2RouteMatchQueryParameterMatchPtrType GatewayRouteSpecHttp2RouteMatchQueryParameterMatchArgs + +func GatewayRouteSpecHttp2RouteMatchQueryParameterMatchPtr(v *GatewayRouteSpecHttp2RouteMatchQueryParameterMatchArgs) GatewayRouteSpecHttp2RouteMatchQueryParameterMatchPtrInput { + return (*gatewayRouteSpecHttp2RouteMatchQueryParameterMatchPtrType)(v) +} + +func (*gatewayRouteSpecHttp2RouteMatchQueryParameterMatchPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**GatewayRouteSpecHttp2RouteMatchQueryParameterMatch)(nil)).Elem() +} + +func (i *gatewayRouteSpecHttp2RouteMatchQueryParameterMatchPtrType) ToGatewayRouteSpecHttp2RouteMatchQueryParameterMatchPtrOutput() GatewayRouteSpecHttp2RouteMatchQueryParameterMatchPtrOutput { + return i.ToGatewayRouteSpecHttp2RouteMatchQueryParameterMatchPtrOutputWithContext(context.Background()) +} + +func (i *gatewayRouteSpecHttp2RouteMatchQueryParameterMatchPtrType) ToGatewayRouteSpecHttp2RouteMatchQueryParameterMatchPtrOutputWithContext(ctx context.Context) GatewayRouteSpecHttp2RouteMatchQueryParameterMatchPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(GatewayRouteSpecHttp2RouteMatchQueryParameterMatchPtrOutput) +} + +type GatewayRouteSpecHttp2RouteMatchQueryParameterMatchOutput struct{ *pulumi.OutputState } + +func (GatewayRouteSpecHttp2RouteMatchQueryParameterMatchOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GatewayRouteSpecHttp2RouteMatchQueryParameterMatch)(nil)).Elem() +} + +func (o GatewayRouteSpecHttp2RouteMatchQueryParameterMatchOutput) ToGatewayRouteSpecHttp2RouteMatchQueryParameterMatchOutput() GatewayRouteSpecHttp2RouteMatchQueryParameterMatchOutput { + return o +} + +func (o GatewayRouteSpecHttp2RouteMatchQueryParameterMatchOutput) ToGatewayRouteSpecHttp2RouteMatchQueryParameterMatchOutputWithContext(ctx context.Context) GatewayRouteSpecHttp2RouteMatchQueryParameterMatchOutput { + return o +} + +func (o GatewayRouteSpecHttp2RouteMatchQueryParameterMatchOutput) ToGatewayRouteSpecHttp2RouteMatchQueryParameterMatchPtrOutput() GatewayRouteSpecHttp2RouteMatchQueryParameterMatchPtrOutput { + return o.ToGatewayRouteSpecHttp2RouteMatchQueryParameterMatchPtrOutputWithContext(context.Background()) +} + +func (o GatewayRouteSpecHttp2RouteMatchQueryParameterMatchOutput) ToGatewayRouteSpecHttp2RouteMatchQueryParameterMatchPtrOutputWithContext(ctx context.Context) GatewayRouteSpecHttp2RouteMatchQueryParameterMatchPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v GatewayRouteSpecHttp2RouteMatchQueryParameterMatch) *GatewayRouteSpecHttp2RouteMatchQueryParameterMatch { + return &v + }).(GatewayRouteSpecHttp2RouteMatchQueryParameterMatchPtrOutput) +} + +// Header value sent by the client must match the specified value exactly. +func (o GatewayRouteSpecHttp2RouteMatchQueryParameterMatchOutput) Exact() pulumi.StringPtrOutput { + return o.ApplyT(func(v GatewayRouteSpecHttp2RouteMatchQueryParameterMatch) *string { return v.Exact }).(pulumi.StringPtrOutput) +} + +type GatewayRouteSpecHttp2RouteMatchQueryParameterMatchPtrOutput struct{ *pulumi.OutputState } + +func (GatewayRouteSpecHttp2RouteMatchQueryParameterMatchPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**GatewayRouteSpecHttp2RouteMatchQueryParameterMatch)(nil)).Elem() +} + +func (o GatewayRouteSpecHttp2RouteMatchQueryParameterMatchPtrOutput) ToGatewayRouteSpecHttp2RouteMatchQueryParameterMatchPtrOutput() GatewayRouteSpecHttp2RouteMatchQueryParameterMatchPtrOutput { + return o +} + +func (o GatewayRouteSpecHttp2RouteMatchQueryParameterMatchPtrOutput) ToGatewayRouteSpecHttp2RouteMatchQueryParameterMatchPtrOutputWithContext(ctx context.Context) GatewayRouteSpecHttp2RouteMatchQueryParameterMatchPtrOutput { + return o +} + +func (o GatewayRouteSpecHttp2RouteMatchQueryParameterMatchPtrOutput) Elem() GatewayRouteSpecHttp2RouteMatchQueryParameterMatchOutput { + return o.ApplyT(func(v *GatewayRouteSpecHttp2RouteMatchQueryParameterMatch) GatewayRouteSpecHttp2RouteMatchQueryParameterMatch { + if v != nil { + return *v + } + var ret GatewayRouteSpecHttp2RouteMatchQueryParameterMatch + return ret + }).(GatewayRouteSpecHttp2RouteMatchQueryParameterMatchOutput) +} + +// Header value sent by the client must match the specified value exactly. +func (o GatewayRouteSpecHttp2RouteMatchQueryParameterMatchPtrOutput) Exact() pulumi.StringPtrOutput { + return o.ApplyT(func(v *GatewayRouteSpecHttp2RouteMatchQueryParameterMatch) *string { + if v == nil { + return nil + } + return v.Exact + }).(pulumi.StringPtrOutput) +} + type GatewayRouteSpecHttpRoute struct { // Action to take if a match is determined. Action GatewayRouteSpecHttpRouteAction `pulumi:"action"` @@ -3048,6 +4053,8 @@ func (o GatewayRouteSpecHttpRouteActionRewritePrefixPtrOutput) Value() pulumi.St } type GatewayRouteSpecHttpRouteActionTarget struct { + // The port number that corresponds to the target for Virtual Service provider port. This is required when the provider (router or node) of the Virtual Service has multiple listeners. + Port *int `pulumi:"port"` // Virtual service gateway route target. VirtualService GatewayRouteSpecHttpRouteActionTargetVirtualService `pulumi:"virtualService"` } @@ -3064,6 +4071,8 @@ type GatewayRouteSpecHttpRouteActionTargetInput interface { } type GatewayRouteSpecHttpRouteActionTargetArgs struct { + // The port number that corresponds to the target for Virtual Service provider port. This is required when the provider (router or node) of the Virtual Service has multiple listeners. + Port pulumi.IntPtrInput `pulumi:"port"` // Virtual service gateway route target. VirtualService GatewayRouteSpecHttpRouteActionTargetVirtualServiceInput `pulumi:"virtualService"` } @@ -3145,6 +4154,11 @@ func (o GatewayRouteSpecHttpRouteActionTargetOutput) ToGatewayRouteSpecHttpRoute }).(GatewayRouteSpecHttpRouteActionTargetPtrOutput) } +// The port number that corresponds to the target for Virtual Service provider port. This is required when the provider (router or node) of the Virtual Service has multiple listeners. +func (o GatewayRouteSpecHttpRouteActionTargetOutput) Port() pulumi.IntPtrOutput { + return o.ApplyT(func(v GatewayRouteSpecHttpRouteActionTarget) *int { return v.Port }).(pulumi.IntPtrOutput) +} + // Virtual service gateway route target. func (o GatewayRouteSpecHttpRouteActionTargetOutput) VirtualService() GatewayRouteSpecHttpRouteActionTargetVirtualServiceOutput { return o.ApplyT(func(v GatewayRouteSpecHttpRouteActionTarget) GatewayRouteSpecHttpRouteActionTargetVirtualService { @@ -3176,6 +4190,16 @@ func (o GatewayRouteSpecHttpRouteActionTargetPtrOutput) Elem() GatewayRouteSpecH }).(GatewayRouteSpecHttpRouteActionTargetOutput) } +// The port number that corresponds to the target for Virtual Service provider port. This is required when the provider (router or node) of the Virtual Service has multiple listeners. +func (o GatewayRouteSpecHttpRouteActionTargetPtrOutput) Port() pulumi.IntPtrOutput { + return o.ApplyT(func(v *GatewayRouteSpecHttpRouteActionTarget) *int { + if v == nil { + return nil + } + return v.Port + }).(pulumi.IntPtrOutput) +} + // Virtual service gateway route target. func (o GatewayRouteSpecHttpRouteActionTargetPtrOutput) VirtualService() GatewayRouteSpecHttpRouteActionTargetVirtualServicePtrOutput { return o.ApplyT(func(v *GatewayRouteSpecHttpRouteActionTarget) *GatewayRouteSpecHttpRouteActionTargetVirtualService { @@ -3324,12 +4348,18 @@ func (o GatewayRouteSpecHttpRouteActionTargetVirtualServicePtrOutput) VirtualSer } type GatewayRouteSpecHttpRouteMatch struct { + // Client request headers to match on. + Headers []GatewayRouteSpecHttpRouteMatchHeader `pulumi:"headers"` // Host name to rewrite. Hostname *GatewayRouteSpecHttpRouteMatchHostname `pulumi:"hostname"` - // The port number to match from the request. + // Client request path to match on. + Path *GatewayRouteSpecHttpRouteMatchPath `pulumi:"path"` + // The port number that corresponds to the target for Virtual Service provider port. This is required when the provider (router or node) of the Virtual Service has multiple listeners. Port *int `pulumi:"port"` // Specified beginning characters to rewrite. Prefix *string `pulumi:"prefix"` + // Client request query parameters to match on. + QueryParameters []GatewayRouteSpecHttpRouteMatchQueryParameter `pulumi:"queryParameters"` } // GatewayRouteSpecHttpRouteMatchInput is an input type that accepts GatewayRouteSpecHttpRouteMatchArgs and GatewayRouteSpecHttpRouteMatchOutput values. @@ -3344,12 +4374,18 @@ type GatewayRouteSpecHttpRouteMatchInput interface { } type GatewayRouteSpecHttpRouteMatchArgs struct { + // Client request headers to match on. + Headers GatewayRouteSpecHttpRouteMatchHeaderArrayInput `pulumi:"headers"` // Host name to rewrite. Hostname GatewayRouteSpecHttpRouteMatchHostnamePtrInput `pulumi:"hostname"` - // The port number to match from the request. + // Client request path to match on. + Path GatewayRouteSpecHttpRouteMatchPathPtrInput `pulumi:"path"` + // The port number that corresponds to the target for Virtual Service provider port. This is required when the provider (router or node) of the Virtual Service has multiple listeners. Port pulumi.IntPtrInput `pulumi:"port"` // Specified beginning characters to rewrite. Prefix pulumi.StringPtrInput `pulumi:"prefix"` + // Client request query parameters to match on. + QueryParameters GatewayRouteSpecHttpRouteMatchQueryParameterArrayInput `pulumi:"queryParameters"` } func (GatewayRouteSpecHttpRouteMatchArgs) ElementType() reflect.Type { @@ -3429,12 +4465,22 @@ func (o GatewayRouteSpecHttpRouteMatchOutput) ToGatewayRouteSpecHttpRouteMatchPt }).(GatewayRouteSpecHttpRouteMatchPtrOutput) } +// Client request headers to match on. +func (o GatewayRouteSpecHttpRouteMatchOutput) Headers() GatewayRouteSpecHttpRouteMatchHeaderArrayOutput { + return o.ApplyT(func(v GatewayRouteSpecHttpRouteMatch) []GatewayRouteSpecHttpRouteMatchHeader { return v.Headers }).(GatewayRouteSpecHttpRouteMatchHeaderArrayOutput) +} + // Host name to rewrite. func (o GatewayRouteSpecHttpRouteMatchOutput) Hostname() GatewayRouteSpecHttpRouteMatchHostnamePtrOutput { return o.ApplyT(func(v GatewayRouteSpecHttpRouteMatch) *GatewayRouteSpecHttpRouteMatchHostname { return v.Hostname }).(GatewayRouteSpecHttpRouteMatchHostnamePtrOutput) } -// The port number to match from the request. +// Client request path to match on. +func (o GatewayRouteSpecHttpRouteMatchOutput) Path() GatewayRouteSpecHttpRouteMatchPathPtrOutput { + return o.ApplyT(func(v GatewayRouteSpecHttpRouteMatch) *GatewayRouteSpecHttpRouteMatchPath { return v.Path }).(GatewayRouteSpecHttpRouteMatchPathPtrOutput) +} + +// The port number that corresponds to the target for Virtual Service provider port. This is required when the provider (router or node) of the Virtual Service has multiple listeners. func (o GatewayRouteSpecHttpRouteMatchOutput) Port() pulumi.IntPtrOutput { return o.ApplyT(func(v GatewayRouteSpecHttpRouteMatch) *int { return v.Port }).(pulumi.IntPtrOutput) } @@ -3444,6 +4490,13 @@ func (o GatewayRouteSpecHttpRouteMatchOutput) Prefix() pulumi.StringPtrOutput { return o.ApplyT(func(v GatewayRouteSpecHttpRouteMatch) *string { return v.Prefix }).(pulumi.StringPtrOutput) } +// Client request query parameters to match on. +func (o GatewayRouteSpecHttpRouteMatchOutput) QueryParameters() GatewayRouteSpecHttpRouteMatchQueryParameterArrayOutput { + return o.ApplyT(func(v GatewayRouteSpecHttpRouteMatch) []GatewayRouteSpecHttpRouteMatchQueryParameter { + return v.QueryParameters + }).(GatewayRouteSpecHttpRouteMatchQueryParameterArrayOutput) +} + type GatewayRouteSpecHttpRouteMatchPtrOutput struct{ *pulumi.OutputState } func (GatewayRouteSpecHttpRouteMatchPtrOutput) ElementType() reflect.Type { @@ -3468,6 +4521,16 @@ func (o GatewayRouteSpecHttpRouteMatchPtrOutput) Elem() GatewayRouteSpecHttpRout }).(GatewayRouteSpecHttpRouteMatchOutput) } +// Client request headers to match on. +func (o GatewayRouteSpecHttpRouteMatchPtrOutput) Headers() GatewayRouteSpecHttpRouteMatchHeaderArrayOutput { + return o.ApplyT(func(v *GatewayRouteSpecHttpRouteMatch) []GatewayRouteSpecHttpRouteMatchHeader { + if v == nil { + return nil + } + return v.Headers + }).(GatewayRouteSpecHttpRouteMatchHeaderArrayOutput) +} + // Host name to rewrite. func (o GatewayRouteSpecHttpRouteMatchPtrOutput) Hostname() GatewayRouteSpecHttpRouteMatchHostnamePtrOutput { return o.ApplyT(func(v *GatewayRouteSpecHttpRouteMatch) *GatewayRouteSpecHttpRouteMatchHostname { @@ -3478,7 +4541,17 @@ func (o GatewayRouteSpecHttpRouteMatchPtrOutput) Hostname() GatewayRouteSpecHttp }).(GatewayRouteSpecHttpRouteMatchHostnamePtrOutput) } -// The port number to match from the request. +// Client request path to match on. +func (o GatewayRouteSpecHttpRouteMatchPtrOutput) Path() GatewayRouteSpecHttpRouteMatchPathPtrOutput { + return o.ApplyT(func(v *GatewayRouteSpecHttpRouteMatch) *GatewayRouteSpecHttpRouteMatchPath { + if v == nil { + return nil + } + return v.Path + }).(GatewayRouteSpecHttpRouteMatchPathPtrOutput) +} + +// The port number that corresponds to the target for Virtual Service provider port. This is required when the provider (router or node) of the Virtual Service has multiple listeners. func (o GatewayRouteSpecHttpRouteMatchPtrOutput) Port() pulumi.IntPtrOutput { return o.ApplyT(func(v *GatewayRouteSpecHttpRouteMatch) *int { if v == nil { @@ -3498,145 +4571,301 @@ func (o GatewayRouteSpecHttpRouteMatchPtrOutput) Prefix() pulumi.StringPtrOutput }).(pulumi.StringPtrOutput) } -type GatewayRouteSpecHttpRouteMatchHostname struct { - // Exact host name to match on. +// Client request query parameters to match on. +func (o GatewayRouteSpecHttpRouteMatchPtrOutput) QueryParameters() GatewayRouteSpecHttpRouteMatchQueryParameterArrayOutput { + return o.ApplyT(func(v *GatewayRouteSpecHttpRouteMatch) []GatewayRouteSpecHttpRouteMatchQueryParameter { + if v == nil { + return nil + } + return v.QueryParameters + }).(GatewayRouteSpecHttpRouteMatchQueryParameterArrayOutput) +} + +type GatewayRouteSpecHttpRouteMatchHeader struct { + // If `true`, the match is on the opposite of the `match` method and value. Default is `false`. + Invert *bool `pulumi:"invert"` + // Method and value to match the header value sent with a request. Specify one match method. + Match *GatewayRouteSpecHttpRouteMatchHeaderMatch `pulumi:"match"` + // Name for the HTTP header in the client request that will be matched on. + Name string `pulumi:"name"` +} + +// GatewayRouteSpecHttpRouteMatchHeaderInput is an input type that accepts GatewayRouteSpecHttpRouteMatchHeaderArgs and GatewayRouteSpecHttpRouteMatchHeaderOutput values. +// You can construct a concrete instance of `GatewayRouteSpecHttpRouteMatchHeaderInput` via: +// +// GatewayRouteSpecHttpRouteMatchHeaderArgs{...} +type GatewayRouteSpecHttpRouteMatchHeaderInput interface { + pulumi.Input + + ToGatewayRouteSpecHttpRouteMatchHeaderOutput() GatewayRouteSpecHttpRouteMatchHeaderOutput + ToGatewayRouteSpecHttpRouteMatchHeaderOutputWithContext(context.Context) GatewayRouteSpecHttpRouteMatchHeaderOutput +} + +type GatewayRouteSpecHttpRouteMatchHeaderArgs struct { + // If `true`, the match is on the opposite of the `match` method and value. Default is `false`. + Invert pulumi.BoolPtrInput `pulumi:"invert"` + // Method and value to match the header value sent with a request. Specify one match method. + Match GatewayRouteSpecHttpRouteMatchHeaderMatchPtrInput `pulumi:"match"` + // Name for the HTTP header in the client request that will be matched on. + Name pulumi.StringInput `pulumi:"name"` +} + +func (GatewayRouteSpecHttpRouteMatchHeaderArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GatewayRouteSpecHttpRouteMatchHeader)(nil)).Elem() +} + +func (i GatewayRouteSpecHttpRouteMatchHeaderArgs) ToGatewayRouteSpecHttpRouteMatchHeaderOutput() GatewayRouteSpecHttpRouteMatchHeaderOutput { + return i.ToGatewayRouteSpecHttpRouteMatchHeaderOutputWithContext(context.Background()) +} + +func (i GatewayRouteSpecHttpRouteMatchHeaderArgs) ToGatewayRouteSpecHttpRouteMatchHeaderOutputWithContext(ctx context.Context) GatewayRouteSpecHttpRouteMatchHeaderOutput { + return pulumi.ToOutputWithContext(ctx, i).(GatewayRouteSpecHttpRouteMatchHeaderOutput) +} + +// GatewayRouteSpecHttpRouteMatchHeaderArrayInput is an input type that accepts GatewayRouteSpecHttpRouteMatchHeaderArray and GatewayRouteSpecHttpRouteMatchHeaderArrayOutput values. +// You can construct a concrete instance of `GatewayRouteSpecHttpRouteMatchHeaderArrayInput` via: +// +// GatewayRouteSpecHttpRouteMatchHeaderArray{ GatewayRouteSpecHttpRouteMatchHeaderArgs{...} } +type GatewayRouteSpecHttpRouteMatchHeaderArrayInput interface { + pulumi.Input + + ToGatewayRouteSpecHttpRouteMatchHeaderArrayOutput() GatewayRouteSpecHttpRouteMatchHeaderArrayOutput + ToGatewayRouteSpecHttpRouteMatchHeaderArrayOutputWithContext(context.Context) GatewayRouteSpecHttpRouteMatchHeaderArrayOutput +} + +type GatewayRouteSpecHttpRouteMatchHeaderArray []GatewayRouteSpecHttpRouteMatchHeaderInput + +func (GatewayRouteSpecHttpRouteMatchHeaderArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GatewayRouteSpecHttpRouteMatchHeader)(nil)).Elem() +} + +func (i GatewayRouteSpecHttpRouteMatchHeaderArray) ToGatewayRouteSpecHttpRouteMatchHeaderArrayOutput() GatewayRouteSpecHttpRouteMatchHeaderArrayOutput { + return i.ToGatewayRouteSpecHttpRouteMatchHeaderArrayOutputWithContext(context.Background()) +} + +func (i GatewayRouteSpecHttpRouteMatchHeaderArray) ToGatewayRouteSpecHttpRouteMatchHeaderArrayOutputWithContext(ctx context.Context) GatewayRouteSpecHttpRouteMatchHeaderArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GatewayRouteSpecHttpRouteMatchHeaderArrayOutput) +} + +type GatewayRouteSpecHttpRouteMatchHeaderOutput struct{ *pulumi.OutputState } + +func (GatewayRouteSpecHttpRouteMatchHeaderOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GatewayRouteSpecHttpRouteMatchHeader)(nil)).Elem() +} + +func (o GatewayRouteSpecHttpRouteMatchHeaderOutput) ToGatewayRouteSpecHttpRouteMatchHeaderOutput() GatewayRouteSpecHttpRouteMatchHeaderOutput { + return o +} + +func (o GatewayRouteSpecHttpRouteMatchHeaderOutput) ToGatewayRouteSpecHttpRouteMatchHeaderOutputWithContext(ctx context.Context) GatewayRouteSpecHttpRouteMatchHeaderOutput { + return o +} + +// If `true`, the match is on the opposite of the `match` method and value. Default is `false`. +func (o GatewayRouteSpecHttpRouteMatchHeaderOutput) Invert() pulumi.BoolPtrOutput { + return o.ApplyT(func(v GatewayRouteSpecHttpRouteMatchHeader) *bool { return v.Invert }).(pulumi.BoolPtrOutput) +} + +// Method and value to match the header value sent with a request. Specify one match method. +func (o GatewayRouteSpecHttpRouteMatchHeaderOutput) Match() GatewayRouteSpecHttpRouteMatchHeaderMatchPtrOutput { + return o.ApplyT(func(v GatewayRouteSpecHttpRouteMatchHeader) *GatewayRouteSpecHttpRouteMatchHeaderMatch { + return v.Match + }).(GatewayRouteSpecHttpRouteMatchHeaderMatchPtrOutput) +} + +// Name for the HTTP header in the client request that will be matched on. +func (o GatewayRouteSpecHttpRouteMatchHeaderOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GatewayRouteSpecHttpRouteMatchHeader) string { return v.Name }).(pulumi.StringOutput) +} + +type GatewayRouteSpecHttpRouteMatchHeaderArrayOutput struct{ *pulumi.OutputState } + +func (GatewayRouteSpecHttpRouteMatchHeaderArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GatewayRouteSpecHttpRouteMatchHeader)(nil)).Elem() +} + +func (o GatewayRouteSpecHttpRouteMatchHeaderArrayOutput) ToGatewayRouteSpecHttpRouteMatchHeaderArrayOutput() GatewayRouteSpecHttpRouteMatchHeaderArrayOutput { + return o +} + +func (o GatewayRouteSpecHttpRouteMatchHeaderArrayOutput) ToGatewayRouteSpecHttpRouteMatchHeaderArrayOutputWithContext(ctx context.Context) GatewayRouteSpecHttpRouteMatchHeaderArrayOutput { + return o +} + +func (o GatewayRouteSpecHttpRouteMatchHeaderArrayOutput) Index(i pulumi.IntInput) GatewayRouteSpecHttpRouteMatchHeaderOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GatewayRouteSpecHttpRouteMatchHeader { + return vs[0].([]GatewayRouteSpecHttpRouteMatchHeader)[vs[1].(int)] + }).(GatewayRouteSpecHttpRouteMatchHeaderOutput) +} + +type GatewayRouteSpecHttpRouteMatchHeaderMatch struct { + // Header value sent by the client must match the specified value exactly. Exact *string `pulumi:"exact"` - // Specified ending characters of the host name to match on. + // Specified beginning characters to rewrite. + Prefix *string `pulumi:"prefix"` + // Object that specifies the range of numbers that the header value sent by the client must be included in. + Range *GatewayRouteSpecHttpRouteMatchHeaderMatchRange `pulumi:"range"` + // Header value sent by the client must include the specified characters. + Regex *string `pulumi:"regex"` + // Header value sent by the client must end with the specified characters. Suffix *string `pulumi:"suffix"` } -// GatewayRouteSpecHttpRouteMatchHostnameInput is an input type that accepts GatewayRouteSpecHttpRouteMatchHostnameArgs and GatewayRouteSpecHttpRouteMatchHostnameOutput values. -// You can construct a concrete instance of `GatewayRouteSpecHttpRouteMatchHostnameInput` via: +// GatewayRouteSpecHttpRouteMatchHeaderMatchInput is an input type that accepts GatewayRouteSpecHttpRouteMatchHeaderMatchArgs and GatewayRouteSpecHttpRouteMatchHeaderMatchOutput values. +// You can construct a concrete instance of `GatewayRouteSpecHttpRouteMatchHeaderMatchInput` via: // -// GatewayRouteSpecHttpRouteMatchHostnameArgs{...} -type GatewayRouteSpecHttpRouteMatchHostnameInput interface { +// GatewayRouteSpecHttpRouteMatchHeaderMatchArgs{...} +type GatewayRouteSpecHttpRouteMatchHeaderMatchInput interface { pulumi.Input - ToGatewayRouteSpecHttpRouteMatchHostnameOutput() GatewayRouteSpecHttpRouteMatchHostnameOutput - ToGatewayRouteSpecHttpRouteMatchHostnameOutputWithContext(context.Context) GatewayRouteSpecHttpRouteMatchHostnameOutput + ToGatewayRouteSpecHttpRouteMatchHeaderMatchOutput() GatewayRouteSpecHttpRouteMatchHeaderMatchOutput + ToGatewayRouteSpecHttpRouteMatchHeaderMatchOutputWithContext(context.Context) GatewayRouteSpecHttpRouteMatchHeaderMatchOutput } -type GatewayRouteSpecHttpRouteMatchHostnameArgs struct { - // Exact host name to match on. +type GatewayRouteSpecHttpRouteMatchHeaderMatchArgs struct { + // Header value sent by the client must match the specified value exactly. Exact pulumi.StringPtrInput `pulumi:"exact"` - // Specified ending characters of the host name to match on. + // Specified beginning characters to rewrite. + Prefix pulumi.StringPtrInput `pulumi:"prefix"` + // Object that specifies the range of numbers that the header value sent by the client must be included in. + Range GatewayRouteSpecHttpRouteMatchHeaderMatchRangePtrInput `pulumi:"range"` + // Header value sent by the client must include the specified characters. + Regex pulumi.StringPtrInput `pulumi:"regex"` + // Header value sent by the client must end with the specified characters. Suffix pulumi.StringPtrInput `pulumi:"suffix"` } -func (GatewayRouteSpecHttpRouteMatchHostnameArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GatewayRouteSpecHttpRouteMatchHostname)(nil)).Elem() +func (GatewayRouteSpecHttpRouteMatchHeaderMatchArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GatewayRouteSpecHttpRouteMatchHeaderMatch)(nil)).Elem() } -func (i GatewayRouteSpecHttpRouteMatchHostnameArgs) ToGatewayRouteSpecHttpRouteMatchHostnameOutput() GatewayRouteSpecHttpRouteMatchHostnameOutput { - return i.ToGatewayRouteSpecHttpRouteMatchHostnameOutputWithContext(context.Background()) +func (i GatewayRouteSpecHttpRouteMatchHeaderMatchArgs) ToGatewayRouteSpecHttpRouteMatchHeaderMatchOutput() GatewayRouteSpecHttpRouteMatchHeaderMatchOutput { + return i.ToGatewayRouteSpecHttpRouteMatchHeaderMatchOutputWithContext(context.Background()) } -func (i GatewayRouteSpecHttpRouteMatchHostnameArgs) ToGatewayRouteSpecHttpRouteMatchHostnameOutputWithContext(ctx context.Context) GatewayRouteSpecHttpRouteMatchHostnameOutput { - return pulumi.ToOutputWithContext(ctx, i).(GatewayRouteSpecHttpRouteMatchHostnameOutput) +func (i GatewayRouteSpecHttpRouteMatchHeaderMatchArgs) ToGatewayRouteSpecHttpRouteMatchHeaderMatchOutputWithContext(ctx context.Context) GatewayRouteSpecHttpRouteMatchHeaderMatchOutput { + return pulumi.ToOutputWithContext(ctx, i).(GatewayRouteSpecHttpRouteMatchHeaderMatchOutput) } -func (i GatewayRouteSpecHttpRouteMatchHostnameArgs) ToGatewayRouteSpecHttpRouteMatchHostnamePtrOutput() GatewayRouteSpecHttpRouteMatchHostnamePtrOutput { - return i.ToGatewayRouteSpecHttpRouteMatchHostnamePtrOutputWithContext(context.Background()) +func (i GatewayRouteSpecHttpRouteMatchHeaderMatchArgs) ToGatewayRouteSpecHttpRouteMatchHeaderMatchPtrOutput() GatewayRouteSpecHttpRouteMatchHeaderMatchPtrOutput { + return i.ToGatewayRouteSpecHttpRouteMatchHeaderMatchPtrOutputWithContext(context.Background()) } -func (i GatewayRouteSpecHttpRouteMatchHostnameArgs) ToGatewayRouteSpecHttpRouteMatchHostnamePtrOutputWithContext(ctx context.Context) GatewayRouteSpecHttpRouteMatchHostnamePtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(GatewayRouteSpecHttpRouteMatchHostnameOutput).ToGatewayRouteSpecHttpRouteMatchHostnamePtrOutputWithContext(ctx) +func (i GatewayRouteSpecHttpRouteMatchHeaderMatchArgs) ToGatewayRouteSpecHttpRouteMatchHeaderMatchPtrOutputWithContext(ctx context.Context) GatewayRouteSpecHttpRouteMatchHeaderMatchPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(GatewayRouteSpecHttpRouteMatchHeaderMatchOutput).ToGatewayRouteSpecHttpRouteMatchHeaderMatchPtrOutputWithContext(ctx) } -// GatewayRouteSpecHttpRouteMatchHostnamePtrInput is an input type that accepts GatewayRouteSpecHttpRouteMatchHostnameArgs, GatewayRouteSpecHttpRouteMatchHostnamePtr and GatewayRouteSpecHttpRouteMatchHostnamePtrOutput values. -// You can construct a concrete instance of `GatewayRouteSpecHttpRouteMatchHostnamePtrInput` via: +// GatewayRouteSpecHttpRouteMatchHeaderMatchPtrInput is an input type that accepts GatewayRouteSpecHttpRouteMatchHeaderMatchArgs, GatewayRouteSpecHttpRouteMatchHeaderMatchPtr and GatewayRouteSpecHttpRouteMatchHeaderMatchPtrOutput values. +// You can construct a concrete instance of `GatewayRouteSpecHttpRouteMatchHeaderMatchPtrInput` via: // -// GatewayRouteSpecHttpRouteMatchHostnameArgs{...} +// GatewayRouteSpecHttpRouteMatchHeaderMatchArgs{...} // // or: // // nil -type GatewayRouteSpecHttpRouteMatchHostnamePtrInput interface { +type GatewayRouteSpecHttpRouteMatchHeaderMatchPtrInput interface { pulumi.Input - ToGatewayRouteSpecHttpRouteMatchHostnamePtrOutput() GatewayRouteSpecHttpRouteMatchHostnamePtrOutput - ToGatewayRouteSpecHttpRouteMatchHostnamePtrOutputWithContext(context.Context) GatewayRouteSpecHttpRouteMatchHostnamePtrOutput + ToGatewayRouteSpecHttpRouteMatchHeaderMatchPtrOutput() GatewayRouteSpecHttpRouteMatchHeaderMatchPtrOutput + ToGatewayRouteSpecHttpRouteMatchHeaderMatchPtrOutputWithContext(context.Context) GatewayRouteSpecHttpRouteMatchHeaderMatchPtrOutput } -type gatewayRouteSpecHttpRouteMatchHostnamePtrType GatewayRouteSpecHttpRouteMatchHostnameArgs +type gatewayRouteSpecHttpRouteMatchHeaderMatchPtrType GatewayRouteSpecHttpRouteMatchHeaderMatchArgs -func GatewayRouteSpecHttpRouteMatchHostnamePtr(v *GatewayRouteSpecHttpRouteMatchHostnameArgs) GatewayRouteSpecHttpRouteMatchHostnamePtrInput { - return (*gatewayRouteSpecHttpRouteMatchHostnamePtrType)(v) +func GatewayRouteSpecHttpRouteMatchHeaderMatchPtr(v *GatewayRouteSpecHttpRouteMatchHeaderMatchArgs) GatewayRouteSpecHttpRouteMatchHeaderMatchPtrInput { + return (*gatewayRouteSpecHttpRouteMatchHeaderMatchPtrType)(v) } -func (*gatewayRouteSpecHttpRouteMatchHostnamePtrType) ElementType() reflect.Type { - return reflect.TypeOf((**GatewayRouteSpecHttpRouteMatchHostname)(nil)).Elem() +func (*gatewayRouteSpecHttpRouteMatchHeaderMatchPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**GatewayRouteSpecHttpRouteMatchHeaderMatch)(nil)).Elem() } -func (i *gatewayRouteSpecHttpRouteMatchHostnamePtrType) ToGatewayRouteSpecHttpRouteMatchHostnamePtrOutput() GatewayRouteSpecHttpRouteMatchHostnamePtrOutput { - return i.ToGatewayRouteSpecHttpRouteMatchHostnamePtrOutputWithContext(context.Background()) +func (i *gatewayRouteSpecHttpRouteMatchHeaderMatchPtrType) ToGatewayRouteSpecHttpRouteMatchHeaderMatchPtrOutput() GatewayRouteSpecHttpRouteMatchHeaderMatchPtrOutput { + return i.ToGatewayRouteSpecHttpRouteMatchHeaderMatchPtrOutputWithContext(context.Background()) } -func (i *gatewayRouteSpecHttpRouteMatchHostnamePtrType) ToGatewayRouteSpecHttpRouteMatchHostnamePtrOutputWithContext(ctx context.Context) GatewayRouteSpecHttpRouteMatchHostnamePtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(GatewayRouteSpecHttpRouteMatchHostnamePtrOutput) +func (i *gatewayRouteSpecHttpRouteMatchHeaderMatchPtrType) ToGatewayRouteSpecHttpRouteMatchHeaderMatchPtrOutputWithContext(ctx context.Context) GatewayRouteSpecHttpRouteMatchHeaderMatchPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(GatewayRouteSpecHttpRouteMatchHeaderMatchPtrOutput) } -type GatewayRouteSpecHttpRouteMatchHostnameOutput struct{ *pulumi.OutputState } +type GatewayRouteSpecHttpRouteMatchHeaderMatchOutput struct{ *pulumi.OutputState } -func (GatewayRouteSpecHttpRouteMatchHostnameOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GatewayRouteSpecHttpRouteMatchHostname)(nil)).Elem() +func (GatewayRouteSpecHttpRouteMatchHeaderMatchOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GatewayRouteSpecHttpRouteMatchHeaderMatch)(nil)).Elem() } -func (o GatewayRouteSpecHttpRouteMatchHostnameOutput) ToGatewayRouteSpecHttpRouteMatchHostnameOutput() GatewayRouteSpecHttpRouteMatchHostnameOutput { +func (o GatewayRouteSpecHttpRouteMatchHeaderMatchOutput) ToGatewayRouteSpecHttpRouteMatchHeaderMatchOutput() GatewayRouteSpecHttpRouteMatchHeaderMatchOutput { return o } -func (o GatewayRouteSpecHttpRouteMatchHostnameOutput) ToGatewayRouteSpecHttpRouteMatchHostnameOutputWithContext(ctx context.Context) GatewayRouteSpecHttpRouteMatchHostnameOutput { +func (o GatewayRouteSpecHttpRouteMatchHeaderMatchOutput) ToGatewayRouteSpecHttpRouteMatchHeaderMatchOutputWithContext(ctx context.Context) GatewayRouteSpecHttpRouteMatchHeaderMatchOutput { return o } -func (o GatewayRouteSpecHttpRouteMatchHostnameOutput) ToGatewayRouteSpecHttpRouteMatchHostnamePtrOutput() GatewayRouteSpecHttpRouteMatchHostnamePtrOutput { - return o.ToGatewayRouteSpecHttpRouteMatchHostnamePtrOutputWithContext(context.Background()) +func (o GatewayRouteSpecHttpRouteMatchHeaderMatchOutput) ToGatewayRouteSpecHttpRouteMatchHeaderMatchPtrOutput() GatewayRouteSpecHttpRouteMatchHeaderMatchPtrOutput { + return o.ToGatewayRouteSpecHttpRouteMatchHeaderMatchPtrOutputWithContext(context.Background()) } -func (o GatewayRouteSpecHttpRouteMatchHostnameOutput) ToGatewayRouteSpecHttpRouteMatchHostnamePtrOutputWithContext(ctx context.Context) GatewayRouteSpecHttpRouteMatchHostnamePtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v GatewayRouteSpecHttpRouteMatchHostname) *GatewayRouteSpecHttpRouteMatchHostname { +func (o GatewayRouteSpecHttpRouteMatchHeaderMatchOutput) ToGatewayRouteSpecHttpRouteMatchHeaderMatchPtrOutputWithContext(ctx context.Context) GatewayRouteSpecHttpRouteMatchHeaderMatchPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v GatewayRouteSpecHttpRouteMatchHeaderMatch) *GatewayRouteSpecHttpRouteMatchHeaderMatch { return &v - }).(GatewayRouteSpecHttpRouteMatchHostnamePtrOutput) + }).(GatewayRouteSpecHttpRouteMatchHeaderMatchPtrOutput) } -// Exact host name to match on. -func (o GatewayRouteSpecHttpRouteMatchHostnameOutput) Exact() pulumi.StringPtrOutput { - return o.ApplyT(func(v GatewayRouteSpecHttpRouteMatchHostname) *string { return v.Exact }).(pulumi.StringPtrOutput) +// Header value sent by the client must match the specified value exactly. +func (o GatewayRouteSpecHttpRouteMatchHeaderMatchOutput) Exact() pulumi.StringPtrOutput { + return o.ApplyT(func(v GatewayRouteSpecHttpRouteMatchHeaderMatch) *string { return v.Exact }).(pulumi.StringPtrOutput) } -// Specified ending characters of the host name to match on. -func (o GatewayRouteSpecHttpRouteMatchHostnameOutput) Suffix() pulumi.StringPtrOutput { - return o.ApplyT(func(v GatewayRouteSpecHttpRouteMatchHostname) *string { return v.Suffix }).(pulumi.StringPtrOutput) +// Specified beginning characters to rewrite. +func (o GatewayRouteSpecHttpRouteMatchHeaderMatchOutput) Prefix() pulumi.StringPtrOutput { + return o.ApplyT(func(v GatewayRouteSpecHttpRouteMatchHeaderMatch) *string { return v.Prefix }).(pulumi.StringPtrOutput) } -type GatewayRouteSpecHttpRouteMatchHostnamePtrOutput struct{ *pulumi.OutputState } +// Object that specifies the range of numbers that the header value sent by the client must be included in. +func (o GatewayRouteSpecHttpRouteMatchHeaderMatchOutput) Range() GatewayRouteSpecHttpRouteMatchHeaderMatchRangePtrOutput { + return o.ApplyT(func(v GatewayRouteSpecHttpRouteMatchHeaderMatch) *GatewayRouteSpecHttpRouteMatchHeaderMatchRange { + return v.Range + }).(GatewayRouteSpecHttpRouteMatchHeaderMatchRangePtrOutput) +} -func (GatewayRouteSpecHttpRouteMatchHostnamePtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**GatewayRouteSpecHttpRouteMatchHostname)(nil)).Elem() +// Header value sent by the client must include the specified characters. +func (o GatewayRouteSpecHttpRouteMatchHeaderMatchOutput) Regex() pulumi.StringPtrOutput { + return o.ApplyT(func(v GatewayRouteSpecHttpRouteMatchHeaderMatch) *string { return v.Regex }).(pulumi.StringPtrOutput) } -func (o GatewayRouteSpecHttpRouteMatchHostnamePtrOutput) ToGatewayRouteSpecHttpRouteMatchHostnamePtrOutput() GatewayRouteSpecHttpRouteMatchHostnamePtrOutput { +// Header value sent by the client must end with the specified characters. +func (o GatewayRouteSpecHttpRouteMatchHeaderMatchOutput) Suffix() pulumi.StringPtrOutput { + return o.ApplyT(func(v GatewayRouteSpecHttpRouteMatchHeaderMatch) *string { return v.Suffix }).(pulumi.StringPtrOutput) +} + +type GatewayRouteSpecHttpRouteMatchHeaderMatchPtrOutput struct{ *pulumi.OutputState } + +func (GatewayRouteSpecHttpRouteMatchHeaderMatchPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**GatewayRouteSpecHttpRouteMatchHeaderMatch)(nil)).Elem() +} + +func (o GatewayRouteSpecHttpRouteMatchHeaderMatchPtrOutput) ToGatewayRouteSpecHttpRouteMatchHeaderMatchPtrOutput() GatewayRouteSpecHttpRouteMatchHeaderMatchPtrOutput { return o } -func (o GatewayRouteSpecHttpRouteMatchHostnamePtrOutput) ToGatewayRouteSpecHttpRouteMatchHostnamePtrOutputWithContext(ctx context.Context) GatewayRouteSpecHttpRouteMatchHostnamePtrOutput { +func (o GatewayRouteSpecHttpRouteMatchHeaderMatchPtrOutput) ToGatewayRouteSpecHttpRouteMatchHeaderMatchPtrOutputWithContext(ctx context.Context) GatewayRouteSpecHttpRouteMatchHeaderMatchPtrOutput { return o } -func (o GatewayRouteSpecHttpRouteMatchHostnamePtrOutput) Elem() GatewayRouteSpecHttpRouteMatchHostnameOutput { - return o.ApplyT(func(v *GatewayRouteSpecHttpRouteMatchHostname) GatewayRouteSpecHttpRouteMatchHostname { +func (o GatewayRouteSpecHttpRouteMatchHeaderMatchPtrOutput) Elem() GatewayRouteSpecHttpRouteMatchHeaderMatchOutput { + return o.ApplyT(func(v *GatewayRouteSpecHttpRouteMatchHeaderMatch) GatewayRouteSpecHttpRouteMatchHeaderMatch { if v != nil { return *v } - var ret GatewayRouteSpecHttpRouteMatchHostname + var ret GatewayRouteSpecHttpRouteMatchHeaderMatch return ret - }).(GatewayRouteSpecHttpRouteMatchHostnameOutput) + }).(GatewayRouteSpecHttpRouteMatchHeaderMatchOutput) } -// Exact host name to match on. -func (o GatewayRouteSpecHttpRouteMatchHostnamePtrOutput) Exact() pulumi.StringPtrOutput { - return o.ApplyT(func(v *GatewayRouteSpecHttpRouteMatchHostname) *string { +// Header value sent by the client must match the specified value exactly. +func (o GatewayRouteSpecHttpRouteMatchHeaderMatchPtrOutput) Exact() pulumi.StringPtrOutput { + return o.ApplyT(func(v *GatewayRouteSpecHttpRouteMatchHeaderMatch) *string { if v == nil { return nil } @@ -3644,9 +4873,39 @@ func (o GatewayRouteSpecHttpRouteMatchHostnamePtrOutput) Exact() pulumi.StringPt }).(pulumi.StringPtrOutput) } -// Specified ending characters of the host name to match on. -func (o GatewayRouteSpecHttpRouteMatchHostnamePtrOutput) Suffix() pulumi.StringPtrOutput { - return o.ApplyT(func(v *GatewayRouteSpecHttpRouteMatchHostname) *string { +// Specified beginning characters to rewrite. +func (o GatewayRouteSpecHttpRouteMatchHeaderMatchPtrOutput) Prefix() pulumi.StringPtrOutput { + return o.ApplyT(func(v *GatewayRouteSpecHttpRouteMatchHeaderMatch) *string { + if v == nil { + return nil + } + return v.Prefix + }).(pulumi.StringPtrOutput) +} + +// Object that specifies the range of numbers that the header value sent by the client must be included in. +func (o GatewayRouteSpecHttpRouteMatchHeaderMatchPtrOutput) Range() GatewayRouteSpecHttpRouteMatchHeaderMatchRangePtrOutput { + return o.ApplyT(func(v *GatewayRouteSpecHttpRouteMatchHeaderMatch) *GatewayRouteSpecHttpRouteMatchHeaderMatchRange { + if v == nil { + return nil + } + return v.Range + }).(GatewayRouteSpecHttpRouteMatchHeaderMatchRangePtrOutput) +} + +// Header value sent by the client must include the specified characters. +func (o GatewayRouteSpecHttpRouteMatchHeaderMatchPtrOutput) Regex() pulumi.StringPtrOutput { + return o.ApplyT(func(v *GatewayRouteSpecHttpRouteMatchHeaderMatch) *string { + if v == nil { + return nil + } + return v.Regex + }).(pulumi.StringPtrOutput) +} + +// Header value sent by the client must end with the specified characters. +func (o GatewayRouteSpecHttpRouteMatchHeaderMatchPtrOutput) Suffix() pulumi.StringPtrOutput { + return o.ApplyT(func(v *GatewayRouteSpecHttpRouteMatchHeaderMatch) *string { if v == nil { return nil } @@ -3654,33593 +4913,46703 @@ func (o GatewayRouteSpecHttpRouteMatchHostnamePtrOutput) Suffix() pulumi.StringP }).(pulumi.StringPtrOutput) } -type MeshSpec struct { - // Egress filter rules for the service mesh. - EgressFilter *MeshSpecEgressFilter `pulumi:"egressFilter"` +type GatewayRouteSpecHttpRouteMatchHeaderMatchRange struct { + // End of the range. + End int `pulumi:"end"` + // Start of the range. + Start int `pulumi:"start"` } -// MeshSpecInput is an input type that accepts MeshSpecArgs and MeshSpecOutput values. -// You can construct a concrete instance of `MeshSpecInput` via: +// GatewayRouteSpecHttpRouteMatchHeaderMatchRangeInput is an input type that accepts GatewayRouteSpecHttpRouteMatchHeaderMatchRangeArgs and GatewayRouteSpecHttpRouteMatchHeaderMatchRangeOutput values. +// You can construct a concrete instance of `GatewayRouteSpecHttpRouteMatchHeaderMatchRangeInput` via: // -// MeshSpecArgs{...} -type MeshSpecInput interface { +// GatewayRouteSpecHttpRouteMatchHeaderMatchRangeArgs{...} +type GatewayRouteSpecHttpRouteMatchHeaderMatchRangeInput interface { pulumi.Input - ToMeshSpecOutput() MeshSpecOutput - ToMeshSpecOutputWithContext(context.Context) MeshSpecOutput + ToGatewayRouteSpecHttpRouteMatchHeaderMatchRangeOutput() GatewayRouteSpecHttpRouteMatchHeaderMatchRangeOutput + ToGatewayRouteSpecHttpRouteMatchHeaderMatchRangeOutputWithContext(context.Context) GatewayRouteSpecHttpRouteMatchHeaderMatchRangeOutput } -type MeshSpecArgs struct { - // Egress filter rules for the service mesh. - EgressFilter MeshSpecEgressFilterPtrInput `pulumi:"egressFilter"` +type GatewayRouteSpecHttpRouteMatchHeaderMatchRangeArgs struct { + // End of the range. + End pulumi.IntInput `pulumi:"end"` + // Start of the range. + Start pulumi.IntInput `pulumi:"start"` } -func (MeshSpecArgs) ElementType() reflect.Type { - return reflect.TypeOf((*MeshSpec)(nil)).Elem() +func (GatewayRouteSpecHttpRouteMatchHeaderMatchRangeArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GatewayRouteSpecHttpRouteMatchHeaderMatchRange)(nil)).Elem() } -func (i MeshSpecArgs) ToMeshSpecOutput() MeshSpecOutput { - return i.ToMeshSpecOutputWithContext(context.Background()) +func (i GatewayRouteSpecHttpRouteMatchHeaderMatchRangeArgs) ToGatewayRouteSpecHttpRouteMatchHeaderMatchRangeOutput() GatewayRouteSpecHttpRouteMatchHeaderMatchRangeOutput { + return i.ToGatewayRouteSpecHttpRouteMatchHeaderMatchRangeOutputWithContext(context.Background()) } -func (i MeshSpecArgs) ToMeshSpecOutputWithContext(ctx context.Context) MeshSpecOutput { - return pulumi.ToOutputWithContext(ctx, i).(MeshSpecOutput) +func (i GatewayRouteSpecHttpRouteMatchHeaderMatchRangeArgs) ToGatewayRouteSpecHttpRouteMatchHeaderMatchRangeOutputWithContext(ctx context.Context) GatewayRouteSpecHttpRouteMatchHeaderMatchRangeOutput { + return pulumi.ToOutputWithContext(ctx, i).(GatewayRouteSpecHttpRouteMatchHeaderMatchRangeOutput) } -func (i MeshSpecArgs) ToMeshSpecPtrOutput() MeshSpecPtrOutput { - return i.ToMeshSpecPtrOutputWithContext(context.Background()) +func (i GatewayRouteSpecHttpRouteMatchHeaderMatchRangeArgs) ToGatewayRouteSpecHttpRouteMatchHeaderMatchRangePtrOutput() GatewayRouteSpecHttpRouteMatchHeaderMatchRangePtrOutput { + return i.ToGatewayRouteSpecHttpRouteMatchHeaderMatchRangePtrOutputWithContext(context.Background()) } -func (i MeshSpecArgs) ToMeshSpecPtrOutputWithContext(ctx context.Context) MeshSpecPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(MeshSpecOutput).ToMeshSpecPtrOutputWithContext(ctx) +func (i GatewayRouteSpecHttpRouteMatchHeaderMatchRangeArgs) ToGatewayRouteSpecHttpRouteMatchHeaderMatchRangePtrOutputWithContext(ctx context.Context) GatewayRouteSpecHttpRouteMatchHeaderMatchRangePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(GatewayRouteSpecHttpRouteMatchHeaderMatchRangeOutput).ToGatewayRouteSpecHttpRouteMatchHeaderMatchRangePtrOutputWithContext(ctx) } -// MeshSpecPtrInput is an input type that accepts MeshSpecArgs, MeshSpecPtr and MeshSpecPtrOutput values. -// You can construct a concrete instance of `MeshSpecPtrInput` via: +// GatewayRouteSpecHttpRouteMatchHeaderMatchRangePtrInput is an input type that accepts GatewayRouteSpecHttpRouteMatchHeaderMatchRangeArgs, GatewayRouteSpecHttpRouteMatchHeaderMatchRangePtr and GatewayRouteSpecHttpRouteMatchHeaderMatchRangePtrOutput values. +// You can construct a concrete instance of `GatewayRouteSpecHttpRouteMatchHeaderMatchRangePtrInput` via: // -// MeshSpecArgs{...} +// GatewayRouteSpecHttpRouteMatchHeaderMatchRangeArgs{...} // // or: // // nil -type MeshSpecPtrInput interface { +type GatewayRouteSpecHttpRouteMatchHeaderMatchRangePtrInput interface { pulumi.Input - ToMeshSpecPtrOutput() MeshSpecPtrOutput - ToMeshSpecPtrOutputWithContext(context.Context) MeshSpecPtrOutput + ToGatewayRouteSpecHttpRouteMatchHeaderMatchRangePtrOutput() GatewayRouteSpecHttpRouteMatchHeaderMatchRangePtrOutput + ToGatewayRouteSpecHttpRouteMatchHeaderMatchRangePtrOutputWithContext(context.Context) GatewayRouteSpecHttpRouteMatchHeaderMatchRangePtrOutput } -type meshSpecPtrType MeshSpecArgs +type gatewayRouteSpecHttpRouteMatchHeaderMatchRangePtrType GatewayRouteSpecHttpRouteMatchHeaderMatchRangeArgs -func MeshSpecPtr(v *MeshSpecArgs) MeshSpecPtrInput { - return (*meshSpecPtrType)(v) +func GatewayRouteSpecHttpRouteMatchHeaderMatchRangePtr(v *GatewayRouteSpecHttpRouteMatchHeaderMatchRangeArgs) GatewayRouteSpecHttpRouteMatchHeaderMatchRangePtrInput { + return (*gatewayRouteSpecHttpRouteMatchHeaderMatchRangePtrType)(v) } -func (*meshSpecPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**MeshSpec)(nil)).Elem() +func (*gatewayRouteSpecHttpRouteMatchHeaderMatchRangePtrType) ElementType() reflect.Type { + return reflect.TypeOf((**GatewayRouteSpecHttpRouteMatchHeaderMatchRange)(nil)).Elem() } -func (i *meshSpecPtrType) ToMeshSpecPtrOutput() MeshSpecPtrOutput { - return i.ToMeshSpecPtrOutputWithContext(context.Background()) +func (i *gatewayRouteSpecHttpRouteMatchHeaderMatchRangePtrType) ToGatewayRouteSpecHttpRouteMatchHeaderMatchRangePtrOutput() GatewayRouteSpecHttpRouteMatchHeaderMatchRangePtrOutput { + return i.ToGatewayRouteSpecHttpRouteMatchHeaderMatchRangePtrOutputWithContext(context.Background()) } -func (i *meshSpecPtrType) ToMeshSpecPtrOutputWithContext(ctx context.Context) MeshSpecPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(MeshSpecPtrOutput) +func (i *gatewayRouteSpecHttpRouteMatchHeaderMatchRangePtrType) ToGatewayRouteSpecHttpRouteMatchHeaderMatchRangePtrOutputWithContext(ctx context.Context) GatewayRouteSpecHttpRouteMatchHeaderMatchRangePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(GatewayRouteSpecHttpRouteMatchHeaderMatchRangePtrOutput) } -type MeshSpecOutput struct{ *pulumi.OutputState } +type GatewayRouteSpecHttpRouteMatchHeaderMatchRangeOutput struct{ *pulumi.OutputState } -func (MeshSpecOutput) ElementType() reflect.Type { - return reflect.TypeOf((*MeshSpec)(nil)).Elem() +func (GatewayRouteSpecHttpRouteMatchHeaderMatchRangeOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GatewayRouteSpecHttpRouteMatchHeaderMatchRange)(nil)).Elem() } -func (o MeshSpecOutput) ToMeshSpecOutput() MeshSpecOutput { +func (o GatewayRouteSpecHttpRouteMatchHeaderMatchRangeOutput) ToGatewayRouteSpecHttpRouteMatchHeaderMatchRangeOutput() GatewayRouteSpecHttpRouteMatchHeaderMatchRangeOutput { return o } -func (o MeshSpecOutput) ToMeshSpecOutputWithContext(ctx context.Context) MeshSpecOutput { +func (o GatewayRouteSpecHttpRouteMatchHeaderMatchRangeOutput) ToGatewayRouteSpecHttpRouteMatchHeaderMatchRangeOutputWithContext(ctx context.Context) GatewayRouteSpecHttpRouteMatchHeaderMatchRangeOutput { return o } -func (o MeshSpecOutput) ToMeshSpecPtrOutput() MeshSpecPtrOutput { - return o.ToMeshSpecPtrOutputWithContext(context.Background()) +func (o GatewayRouteSpecHttpRouteMatchHeaderMatchRangeOutput) ToGatewayRouteSpecHttpRouteMatchHeaderMatchRangePtrOutput() GatewayRouteSpecHttpRouteMatchHeaderMatchRangePtrOutput { + return o.ToGatewayRouteSpecHttpRouteMatchHeaderMatchRangePtrOutputWithContext(context.Background()) } -func (o MeshSpecOutput) ToMeshSpecPtrOutputWithContext(ctx context.Context) MeshSpecPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v MeshSpec) *MeshSpec { +func (o GatewayRouteSpecHttpRouteMatchHeaderMatchRangeOutput) ToGatewayRouteSpecHttpRouteMatchHeaderMatchRangePtrOutputWithContext(ctx context.Context) GatewayRouteSpecHttpRouteMatchHeaderMatchRangePtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v GatewayRouteSpecHttpRouteMatchHeaderMatchRange) *GatewayRouteSpecHttpRouteMatchHeaderMatchRange { return &v - }).(MeshSpecPtrOutput) + }).(GatewayRouteSpecHttpRouteMatchHeaderMatchRangePtrOutput) } -// Egress filter rules for the service mesh. -func (o MeshSpecOutput) EgressFilter() MeshSpecEgressFilterPtrOutput { - return o.ApplyT(func(v MeshSpec) *MeshSpecEgressFilter { return v.EgressFilter }).(MeshSpecEgressFilterPtrOutput) +// End of the range. +func (o GatewayRouteSpecHttpRouteMatchHeaderMatchRangeOutput) End() pulumi.IntOutput { + return o.ApplyT(func(v GatewayRouteSpecHttpRouteMatchHeaderMatchRange) int { return v.End }).(pulumi.IntOutput) } -type MeshSpecPtrOutput struct{ *pulumi.OutputState } +// Start of the range. +func (o GatewayRouteSpecHttpRouteMatchHeaderMatchRangeOutput) Start() pulumi.IntOutput { + return o.ApplyT(func(v GatewayRouteSpecHttpRouteMatchHeaderMatchRange) int { return v.Start }).(pulumi.IntOutput) +} -func (MeshSpecPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**MeshSpec)(nil)).Elem() +type GatewayRouteSpecHttpRouteMatchHeaderMatchRangePtrOutput struct{ *pulumi.OutputState } + +func (GatewayRouteSpecHttpRouteMatchHeaderMatchRangePtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**GatewayRouteSpecHttpRouteMatchHeaderMatchRange)(nil)).Elem() } -func (o MeshSpecPtrOutput) ToMeshSpecPtrOutput() MeshSpecPtrOutput { +func (o GatewayRouteSpecHttpRouteMatchHeaderMatchRangePtrOutput) ToGatewayRouteSpecHttpRouteMatchHeaderMatchRangePtrOutput() GatewayRouteSpecHttpRouteMatchHeaderMatchRangePtrOutput { return o } -func (o MeshSpecPtrOutput) ToMeshSpecPtrOutputWithContext(ctx context.Context) MeshSpecPtrOutput { +func (o GatewayRouteSpecHttpRouteMatchHeaderMatchRangePtrOutput) ToGatewayRouteSpecHttpRouteMatchHeaderMatchRangePtrOutputWithContext(ctx context.Context) GatewayRouteSpecHttpRouteMatchHeaderMatchRangePtrOutput { return o } -func (o MeshSpecPtrOutput) Elem() MeshSpecOutput { - return o.ApplyT(func(v *MeshSpec) MeshSpec { +func (o GatewayRouteSpecHttpRouteMatchHeaderMatchRangePtrOutput) Elem() GatewayRouteSpecHttpRouteMatchHeaderMatchRangeOutput { + return o.ApplyT(func(v *GatewayRouteSpecHttpRouteMatchHeaderMatchRange) GatewayRouteSpecHttpRouteMatchHeaderMatchRange { if v != nil { return *v } - var ret MeshSpec + var ret GatewayRouteSpecHttpRouteMatchHeaderMatchRange return ret - }).(MeshSpecOutput) + }).(GatewayRouteSpecHttpRouteMatchHeaderMatchRangeOutput) } -// Egress filter rules for the service mesh. -func (o MeshSpecPtrOutput) EgressFilter() MeshSpecEgressFilterPtrOutput { - return o.ApplyT(func(v *MeshSpec) *MeshSpecEgressFilter { +// End of the range. +func (o GatewayRouteSpecHttpRouteMatchHeaderMatchRangePtrOutput) End() pulumi.IntPtrOutput { + return o.ApplyT(func(v *GatewayRouteSpecHttpRouteMatchHeaderMatchRange) *int { if v == nil { return nil } - return v.EgressFilter - }).(MeshSpecEgressFilterPtrOutput) + return &v.End + }).(pulumi.IntPtrOutput) } -type MeshSpecEgressFilter struct { - // Egress filter type. By default, the type is `DROP_ALL`. - // Valid values are `ALLOW_ALL` and `DROP_ALL`. - Type *string `pulumi:"type"` +// Start of the range. +func (o GatewayRouteSpecHttpRouteMatchHeaderMatchRangePtrOutput) Start() pulumi.IntPtrOutput { + return o.ApplyT(func(v *GatewayRouteSpecHttpRouteMatchHeaderMatchRange) *int { + if v == nil { + return nil + } + return &v.Start + }).(pulumi.IntPtrOutput) } -// MeshSpecEgressFilterInput is an input type that accepts MeshSpecEgressFilterArgs and MeshSpecEgressFilterOutput values. -// You can construct a concrete instance of `MeshSpecEgressFilterInput` via: +type GatewayRouteSpecHttpRouteMatchHostname struct { + // Exact host name to match on. + Exact *string `pulumi:"exact"` + // Specified ending characters of the host name to match on. + Suffix *string `pulumi:"suffix"` +} + +// GatewayRouteSpecHttpRouteMatchHostnameInput is an input type that accepts GatewayRouteSpecHttpRouteMatchHostnameArgs and GatewayRouteSpecHttpRouteMatchHostnameOutput values. +// You can construct a concrete instance of `GatewayRouteSpecHttpRouteMatchHostnameInput` via: // -// MeshSpecEgressFilterArgs{...} -type MeshSpecEgressFilterInput interface { +// GatewayRouteSpecHttpRouteMatchHostnameArgs{...} +type GatewayRouteSpecHttpRouteMatchHostnameInput interface { pulumi.Input - ToMeshSpecEgressFilterOutput() MeshSpecEgressFilterOutput - ToMeshSpecEgressFilterOutputWithContext(context.Context) MeshSpecEgressFilterOutput + ToGatewayRouteSpecHttpRouteMatchHostnameOutput() GatewayRouteSpecHttpRouteMatchHostnameOutput + ToGatewayRouteSpecHttpRouteMatchHostnameOutputWithContext(context.Context) GatewayRouteSpecHttpRouteMatchHostnameOutput } -type MeshSpecEgressFilterArgs struct { - // Egress filter type. By default, the type is `DROP_ALL`. - // Valid values are `ALLOW_ALL` and `DROP_ALL`. - Type pulumi.StringPtrInput `pulumi:"type"` +type GatewayRouteSpecHttpRouteMatchHostnameArgs struct { + // Exact host name to match on. + Exact pulumi.StringPtrInput `pulumi:"exact"` + // Specified ending characters of the host name to match on. + Suffix pulumi.StringPtrInput `pulumi:"suffix"` } -func (MeshSpecEgressFilterArgs) ElementType() reflect.Type { - return reflect.TypeOf((*MeshSpecEgressFilter)(nil)).Elem() +func (GatewayRouteSpecHttpRouteMatchHostnameArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GatewayRouteSpecHttpRouteMatchHostname)(nil)).Elem() } -func (i MeshSpecEgressFilterArgs) ToMeshSpecEgressFilterOutput() MeshSpecEgressFilterOutput { - return i.ToMeshSpecEgressFilterOutputWithContext(context.Background()) +func (i GatewayRouteSpecHttpRouteMatchHostnameArgs) ToGatewayRouteSpecHttpRouteMatchHostnameOutput() GatewayRouteSpecHttpRouteMatchHostnameOutput { + return i.ToGatewayRouteSpecHttpRouteMatchHostnameOutputWithContext(context.Background()) } -func (i MeshSpecEgressFilterArgs) ToMeshSpecEgressFilterOutputWithContext(ctx context.Context) MeshSpecEgressFilterOutput { - return pulumi.ToOutputWithContext(ctx, i).(MeshSpecEgressFilterOutput) +func (i GatewayRouteSpecHttpRouteMatchHostnameArgs) ToGatewayRouteSpecHttpRouteMatchHostnameOutputWithContext(ctx context.Context) GatewayRouteSpecHttpRouteMatchHostnameOutput { + return pulumi.ToOutputWithContext(ctx, i).(GatewayRouteSpecHttpRouteMatchHostnameOutput) } -func (i MeshSpecEgressFilterArgs) ToMeshSpecEgressFilterPtrOutput() MeshSpecEgressFilterPtrOutput { - return i.ToMeshSpecEgressFilterPtrOutputWithContext(context.Background()) +func (i GatewayRouteSpecHttpRouteMatchHostnameArgs) ToGatewayRouteSpecHttpRouteMatchHostnamePtrOutput() GatewayRouteSpecHttpRouteMatchHostnamePtrOutput { + return i.ToGatewayRouteSpecHttpRouteMatchHostnamePtrOutputWithContext(context.Background()) } -func (i MeshSpecEgressFilterArgs) ToMeshSpecEgressFilterPtrOutputWithContext(ctx context.Context) MeshSpecEgressFilterPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(MeshSpecEgressFilterOutput).ToMeshSpecEgressFilterPtrOutputWithContext(ctx) +func (i GatewayRouteSpecHttpRouteMatchHostnameArgs) ToGatewayRouteSpecHttpRouteMatchHostnamePtrOutputWithContext(ctx context.Context) GatewayRouteSpecHttpRouteMatchHostnamePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(GatewayRouteSpecHttpRouteMatchHostnameOutput).ToGatewayRouteSpecHttpRouteMatchHostnamePtrOutputWithContext(ctx) } -// MeshSpecEgressFilterPtrInput is an input type that accepts MeshSpecEgressFilterArgs, MeshSpecEgressFilterPtr and MeshSpecEgressFilterPtrOutput values. -// You can construct a concrete instance of `MeshSpecEgressFilterPtrInput` via: +// GatewayRouteSpecHttpRouteMatchHostnamePtrInput is an input type that accepts GatewayRouteSpecHttpRouteMatchHostnameArgs, GatewayRouteSpecHttpRouteMatchHostnamePtr and GatewayRouteSpecHttpRouteMatchHostnamePtrOutput values. +// You can construct a concrete instance of `GatewayRouteSpecHttpRouteMatchHostnamePtrInput` via: // -// MeshSpecEgressFilterArgs{...} +// GatewayRouteSpecHttpRouteMatchHostnameArgs{...} // // or: // // nil -type MeshSpecEgressFilterPtrInput interface { +type GatewayRouteSpecHttpRouteMatchHostnamePtrInput interface { pulumi.Input - ToMeshSpecEgressFilterPtrOutput() MeshSpecEgressFilterPtrOutput - ToMeshSpecEgressFilterPtrOutputWithContext(context.Context) MeshSpecEgressFilterPtrOutput + ToGatewayRouteSpecHttpRouteMatchHostnamePtrOutput() GatewayRouteSpecHttpRouteMatchHostnamePtrOutput + ToGatewayRouteSpecHttpRouteMatchHostnamePtrOutputWithContext(context.Context) GatewayRouteSpecHttpRouteMatchHostnamePtrOutput } -type meshSpecEgressFilterPtrType MeshSpecEgressFilterArgs +type gatewayRouteSpecHttpRouteMatchHostnamePtrType GatewayRouteSpecHttpRouteMatchHostnameArgs -func MeshSpecEgressFilterPtr(v *MeshSpecEgressFilterArgs) MeshSpecEgressFilterPtrInput { - return (*meshSpecEgressFilterPtrType)(v) +func GatewayRouteSpecHttpRouteMatchHostnamePtr(v *GatewayRouteSpecHttpRouteMatchHostnameArgs) GatewayRouteSpecHttpRouteMatchHostnamePtrInput { + return (*gatewayRouteSpecHttpRouteMatchHostnamePtrType)(v) } -func (*meshSpecEgressFilterPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**MeshSpecEgressFilter)(nil)).Elem() +func (*gatewayRouteSpecHttpRouteMatchHostnamePtrType) ElementType() reflect.Type { + return reflect.TypeOf((**GatewayRouteSpecHttpRouteMatchHostname)(nil)).Elem() } -func (i *meshSpecEgressFilterPtrType) ToMeshSpecEgressFilterPtrOutput() MeshSpecEgressFilterPtrOutput { - return i.ToMeshSpecEgressFilterPtrOutputWithContext(context.Background()) +func (i *gatewayRouteSpecHttpRouteMatchHostnamePtrType) ToGatewayRouteSpecHttpRouteMatchHostnamePtrOutput() GatewayRouteSpecHttpRouteMatchHostnamePtrOutput { + return i.ToGatewayRouteSpecHttpRouteMatchHostnamePtrOutputWithContext(context.Background()) } -func (i *meshSpecEgressFilterPtrType) ToMeshSpecEgressFilterPtrOutputWithContext(ctx context.Context) MeshSpecEgressFilterPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(MeshSpecEgressFilterPtrOutput) +func (i *gatewayRouteSpecHttpRouteMatchHostnamePtrType) ToGatewayRouteSpecHttpRouteMatchHostnamePtrOutputWithContext(ctx context.Context) GatewayRouteSpecHttpRouteMatchHostnamePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(GatewayRouteSpecHttpRouteMatchHostnamePtrOutput) } -type MeshSpecEgressFilterOutput struct{ *pulumi.OutputState } +type GatewayRouteSpecHttpRouteMatchHostnameOutput struct{ *pulumi.OutputState } -func (MeshSpecEgressFilterOutput) ElementType() reflect.Type { - return reflect.TypeOf((*MeshSpecEgressFilter)(nil)).Elem() +func (GatewayRouteSpecHttpRouteMatchHostnameOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GatewayRouteSpecHttpRouteMatchHostname)(nil)).Elem() } -func (o MeshSpecEgressFilterOutput) ToMeshSpecEgressFilterOutput() MeshSpecEgressFilterOutput { +func (o GatewayRouteSpecHttpRouteMatchHostnameOutput) ToGatewayRouteSpecHttpRouteMatchHostnameOutput() GatewayRouteSpecHttpRouteMatchHostnameOutput { return o } -func (o MeshSpecEgressFilterOutput) ToMeshSpecEgressFilterOutputWithContext(ctx context.Context) MeshSpecEgressFilterOutput { +func (o GatewayRouteSpecHttpRouteMatchHostnameOutput) ToGatewayRouteSpecHttpRouteMatchHostnameOutputWithContext(ctx context.Context) GatewayRouteSpecHttpRouteMatchHostnameOutput { return o } -func (o MeshSpecEgressFilterOutput) ToMeshSpecEgressFilterPtrOutput() MeshSpecEgressFilterPtrOutput { - return o.ToMeshSpecEgressFilterPtrOutputWithContext(context.Background()) +func (o GatewayRouteSpecHttpRouteMatchHostnameOutput) ToGatewayRouteSpecHttpRouteMatchHostnamePtrOutput() GatewayRouteSpecHttpRouteMatchHostnamePtrOutput { + return o.ToGatewayRouteSpecHttpRouteMatchHostnamePtrOutputWithContext(context.Background()) } -func (o MeshSpecEgressFilterOutput) ToMeshSpecEgressFilterPtrOutputWithContext(ctx context.Context) MeshSpecEgressFilterPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v MeshSpecEgressFilter) *MeshSpecEgressFilter { +func (o GatewayRouteSpecHttpRouteMatchHostnameOutput) ToGatewayRouteSpecHttpRouteMatchHostnamePtrOutputWithContext(ctx context.Context) GatewayRouteSpecHttpRouteMatchHostnamePtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v GatewayRouteSpecHttpRouteMatchHostname) *GatewayRouteSpecHttpRouteMatchHostname { return &v - }).(MeshSpecEgressFilterPtrOutput) + }).(GatewayRouteSpecHttpRouteMatchHostnamePtrOutput) } -// Egress filter type. By default, the type is `DROP_ALL`. -// Valid values are `ALLOW_ALL` and `DROP_ALL`. -func (o MeshSpecEgressFilterOutput) Type() pulumi.StringPtrOutput { - return o.ApplyT(func(v MeshSpecEgressFilter) *string { return v.Type }).(pulumi.StringPtrOutput) +// Exact host name to match on. +func (o GatewayRouteSpecHttpRouteMatchHostnameOutput) Exact() pulumi.StringPtrOutput { + return o.ApplyT(func(v GatewayRouteSpecHttpRouteMatchHostname) *string { return v.Exact }).(pulumi.StringPtrOutput) } -type MeshSpecEgressFilterPtrOutput struct{ *pulumi.OutputState } +// Specified ending characters of the host name to match on. +func (o GatewayRouteSpecHttpRouteMatchHostnameOutput) Suffix() pulumi.StringPtrOutput { + return o.ApplyT(func(v GatewayRouteSpecHttpRouteMatchHostname) *string { return v.Suffix }).(pulumi.StringPtrOutput) +} -func (MeshSpecEgressFilterPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**MeshSpecEgressFilter)(nil)).Elem() +type GatewayRouteSpecHttpRouteMatchHostnamePtrOutput struct{ *pulumi.OutputState } + +func (GatewayRouteSpecHttpRouteMatchHostnamePtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**GatewayRouteSpecHttpRouteMatchHostname)(nil)).Elem() } -func (o MeshSpecEgressFilterPtrOutput) ToMeshSpecEgressFilterPtrOutput() MeshSpecEgressFilterPtrOutput { +func (o GatewayRouteSpecHttpRouteMatchHostnamePtrOutput) ToGatewayRouteSpecHttpRouteMatchHostnamePtrOutput() GatewayRouteSpecHttpRouteMatchHostnamePtrOutput { return o } -func (o MeshSpecEgressFilterPtrOutput) ToMeshSpecEgressFilterPtrOutputWithContext(ctx context.Context) MeshSpecEgressFilterPtrOutput { +func (o GatewayRouteSpecHttpRouteMatchHostnamePtrOutput) ToGatewayRouteSpecHttpRouteMatchHostnamePtrOutputWithContext(ctx context.Context) GatewayRouteSpecHttpRouteMatchHostnamePtrOutput { return o } -func (o MeshSpecEgressFilterPtrOutput) Elem() MeshSpecEgressFilterOutput { - return o.ApplyT(func(v *MeshSpecEgressFilter) MeshSpecEgressFilter { +func (o GatewayRouteSpecHttpRouteMatchHostnamePtrOutput) Elem() GatewayRouteSpecHttpRouteMatchHostnameOutput { + return o.ApplyT(func(v *GatewayRouteSpecHttpRouteMatchHostname) GatewayRouteSpecHttpRouteMatchHostname { if v != nil { return *v } - var ret MeshSpecEgressFilter + var ret GatewayRouteSpecHttpRouteMatchHostname return ret - }).(MeshSpecEgressFilterOutput) + }).(GatewayRouteSpecHttpRouteMatchHostnameOutput) } -// Egress filter type. By default, the type is `DROP_ALL`. -// Valid values are `ALLOW_ALL` and `DROP_ALL`. -func (o MeshSpecEgressFilterPtrOutput) Type() pulumi.StringPtrOutput { - return o.ApplyT(func(v *MeshSpecEgressFilter) *string { +// Exact host name to match on. +func (o GatewayRouteSpecHttpRouteMatchHostnamePtrOutput) Exact() pulumi.StringPtrOutput { + return o.ApplyT(func(v *GatewayRouteSpecHttpRouteMatchHostname) *string { if v == nil { return nil } - return v.Type + return v.Exact }).(pulumi.StringPtrOutput) } -type RouteSpec struct { - // GRPC routing information for the route. - GrpcRoute *RouteSpecGrpcRoute `pulumi:"grpcRoute"` - // HTTP/2 routing information for the route. - Http2Route *RouteSpecHttp2Route `pulumi:"http2Route"` - // HTTP routing information for the route. - HttpRoute *RouteSpecHttpRoute `pulumi:"httpRoute"` - // Priority for the route, between `0` and `1000`. - // Routes are matched based on the specified value, where `0` is the highest priority. - Priority *int `pulumi:"priority"` - // TCP routing information for the route. - TcpRoute *RouteSpecTcpRoute `pulumi:"tcpRoute"` +// Specified ending characters of the host name to match on. +func (o GatewayRouteSpecHttpRouteMatchHostnamePtrOutput) Suffix() pulumi.StringPtrOutput { + return o.ApplyT(func(v *GatewayRouteSpecHttpRouteMatchHostname) *string { + if v == nil { + return nil + } + return v.Suffix + }).(pulumi.StringPtrOutput) } -// RouteSpecInput is an input type that accepts RouteSpecArgs and RouteSpecOutput values. -// You can construct a concrete instance of `RouteSpecInput` via: +type GatewayRouteSpecHttpRouteMatchPath struct { + // The exact path to match on. + Exact *string `pulumi:"exact"` + // The regex used to match the path. + Regex *string `pulumi:"regex"` +} + +// GatewayRouteSpecHttpRouteMatchPathInput is an input type that accepts GatewayRouteSpecHttpRouteMatchPathArgs and GatewayRouteSpecHttpRouteMatchPathOutput values. +// You can construct a concrete instance of `GatewayRouteSpecHttpRouteMatchPathInput` via: // -// RouteSpecArgs{...} -type RouteSpecInput interface { +// GatewayRouteSpecHttpRouteMatchPathArgs{...} +type GatewayRouteSpecHttpRouteMatchPathInput interface { pulumi.Input - ToRouteSpecOutput() RouteSpecOutput - ToRouteSpecOutputWithContext(context.Context) RouteSpecOutput + ToGatewayRouteSpecHttpRouteMatchPathOutput() GatewayRouteSpecHttpRouteMatchPathOutput + ToGatewayRouteSpecHttpRouteMatchPathOutputWithContext(context.Context) GatewayRouteSpecHttpRouteMatchPathOutput } -type RouteSpecArgs struct { - // GRPC routing information for the route. - GrpcRoute RouteSpecGrpcRoutePtrInput `pulumi:"grpcRoute"` - // HTTP/2 routing information for the route. - Http2Route RouteSpecHttp2RoutePtrInput `pulumi:"http2Route"` - // HTTP routing information for the route. - HttpRoute RouteSpecHttpRoutePtrInput `pulumi:"httpRoute"` - // Priority for the route, between `0` and `1000`. - // Routes are matched based on the specified value, where `0` is the highest priority. - Priority pulumi.IntPtrInput `pulumi:"priority"` - // TCP routing information for the route. - TcpRoute RouteSpecTcpRoutePtrInput `pulumi:"tcpRoute"` +type GatewayRouteSpecHttpRouteMatchPathArgs struct { + // The exact path to match on. + Exact pulumi.StringPtrInput `pulumi:"exact"` + // The regex used to match the path. + Regex pulumi.StringPtrInput `pulumi:"regex"` } -func (RouteSpecArgs) ElementType() reflect.Type { - return reflect.TypeOf((*RouteSpec)(nil)).Elem() +func (GatewayRouteSpecHttpRouteMatchPathArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GatewayRouteSpecHttpRouteMatchPath)(nil)).Elem() } -func (i RouteSpecArgs) ToRouteSpecOutput() RouteSpecOutput { - return i.ToRouteSpecOutputWithContext(context.Background()) +func (i GatewayRouteSpecHttpRouteMatchPathArgs) ToGatewayRouteSpecHttpRouteMatchPathOutput() GatewayRouteSpecHttpRouteMatchPathOutput { + return i.ToGatewayRouteSpecHttpRouteMatchPathOutputWithContext(context.Background()) } -func (i RouteSpecArgs) ToRouteSpecOutputWithContext(ctx context.Context) RouteSpecOutput { - return pulumi.ToOutputWithContext(ctx, i).(RouteSpecOutput) +func (i GatewayRouteSpecHttpRouteMatchPathArgs) ToGatewayRouteSpecHttpRouteMatchPathOutputWithContext(ctx context.Context) GatewayRouteSpecHttpRouteMatchPathOutput { + return pulumi.ToOutputWithContext(ctx, i).(GatewayRouteSpecHttpRouteMatchPathOutput) } -func (i RouteSpecArgs) ToRouteSpecPtrOutput() RouteSpecPtrOutput { - return i.ToRouteSpecPtrOutputWithContext(context.Background()) +func (i GatewayRouteSpecHttpRouteMatchPathArgs) ToGatewayRouteSpecHttpRouteMatchPathPtrOutput() GatewayRouteSpecHttpRouteMatchPathPtrOutput { + return i.ToGatewayRouteSpecHttpRouteMatchPathPtrOutputWithContext(context.Background()) } -func (i RouteSpecArgs) ToRouteSpecPtrOutputWithContext(ctx context.Context) RouteSpecPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(RouteSpecOutput).ToRouteSpecPtrOutputWithContext(ctx) +func (i GatewayRouteSpecHttpRouteMatchPathArgs) ToGatewayRouteSpecHttpRouteMatchPathPtrOutputWithContext(ctx context.Context) GatewayRouteSpecHttpRouteMatchPathPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(GatewayRouteSpecHttpRouteMatchPathOutput).ToGatewayRouteSpecHttpRouteMatchPathPtrOutputWithContext(ctx) } -// RouteSpecPtrInput is an input type that accepts RouteSpecArgs, RouteSpecPtr and RouteSpecPtrOutput values. -// You can construct a concrete instance of `RouteSpecPtrInput` via: +// GatewayRouteSpecHttpRouteMatchPathPtrInput is an input type that accepts GatewayRouteSpecHttpRouteMatchPathArgs, GatewayRouteSpecHttpRouteMatchPathPtr and GatewayRouteSpecHttpRouteMatchPathPtrOutput values. +// You can construct a concrete instance of `GatewayRouteSpecHttpRouteMatchPathPtrInput` via: // -// RouteSpecArgs{...} +// GatewayRouteSpecHttpRouteMatchPathArgs{...} // // or: // // nil -type RouteSpecPtrInput interface { +type GatewayRouteSpecHttpRouteMatchPathPtrInput interface { pulumi.Input - ToRouteSpecPtrOutput() RouteSpecPtrOutput - ToRouteSpecPtrOutputWithContext(context.Context) RouteSpecPtrOutput + ToGatewayRouteSpecHttpRouteMatchPathPtrOutput() GatewayRouteSpecHttpRouteMatchPathPtrOutput + ToGatewayRouteSpecHttpRouteMatchPathPtrOutputWithContext(context.Context) GatewayRouteSpecHttpRouteMatchPathPtrOutput } -type routeSpecPtrType RouteSpecArgs +type gatewayRouteSpecHttpRouteMatchPathPtrType GatewayRouteSpecHttpRouteMatchPathArgs -func RouteSpecPtr(v *RouteSpecArgs) RouteSpecPtrInput { - return (*routeSpecPtrType)(v) +func GatewayRouteSpecHttpRouteMatchPathPtr(v *GatewayRouteSpecHttpRouteMatchPathArgs) GatewayRouteSpecHttpRouteMatchPathPtrInput { + return (*gatewayRouteSpecHttpRouteMatchPathPtrType)(v) } -func (*routeSpecPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**RouteSpec)(nil)).Elem() +func (*gatewayRouteSpecHttpRouteMatchPathPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**GatewayRouteSpecHttpRouteMatchPath)(nil)).Elem() } -func (i *routeSpecPtrType) ToRouteSpecPtrOutput() RouteSpecPtrOutput { - return i.ToRouteSpecPtrOutputWithContext(context.Background()) +func (i *gatewayRouteSpecHttpRouteMatchPathPtrType) ToGatewayRouteSpecHttpRouteMatchPathPtrOutput() GatewayRouteSpecHttpRouteMatchPathPtrOutput { + return i.ToGatewayRouteSpecHttpRouteMatchPathPtrOutputWithContext(context.Background()) } -func (i *routeSpecPtrType) ToRouteSpecPtrOutputWithContext(ctx context.Context) RouteSpecPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(RouteSpecPtrOutput) +func (i *gatewayRouteSpecHttpRouteMatchPathPtrType) ToGatewayRouteSpecHttpRouteMatchPathPtrOutputWithContext(ctx context.Context) GatewayRouteSpecHttpRouteMatchPathPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(GatewayRouteSpecHttpRouteMatchPathPtrOutput) } -type RouteSpecOutput struct{ *pulumi.OutputState } +type GatewayRouteSpecHttpRouteMatchPathOutput struct{ *pulumi.OutputState } -func (RouteSpecOutput) ElementType() reflect.Type { - return reflect.TypeOf((*RouteSpec)(nil)).Elem() +func (GatewayRouteSpecHttpRouteMatchPathOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GatewayRouteSpecHttpRouteMatchPath)(nil)).Elem() } -func (o RouteSpecOutput) ToRouteSpecOutput() RouteSpecOutput { +func (o GatewayRouteSpecHttpRouteMatchPathOutput) ToGatewayRouteSpecHttpRouteMatchPathOutput() GatewayRouteSpecHttpRouteMatchPathOutput { return o } -func (o RouteSpecOutput) ToRouteSpecOutputWithContext(ctx context.Context) RouteSpecOutput { +func (o GatewayRouteSpecHttpRouteMatchPathOutput) ToGatewayRouteSpecHttpRouteMatchPathOutputWithContext(ctx context.Context) GatewayRouteSpecHttpRouteMatchPathOutput { return o } -func (o RouteSpecOutput) ToRouteSpecPtrOutput() RouteSpecPtrOutput { - return o.ToRouteSpecPtrOutputWithContext(context.Background()) +func (o GatewayRouteSpecHttpRouteMatchPathOutput) ToGatewayRouteSpecHttpRouteMatchPathPtrOutput() GatewayRouteSpecHttpRouteMatchPathPtrOutput { + return o.ToGatewayRouteSpecHttpRouteMatchPathPtrOutputWithContext(context.Background()) } -func (o RouteSpecOutput) ToRouteSpecPtrOutputWithContext(ctx context.Context) RouteSpecPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v RouteSpec) *RouteSpec { +func (o GatewayRouteSpecHttpRouteMatchPathOutput) ToGatewayRouteSpecHttpRouteMatchPathPtrOutputWithContext(ctx context.Context) GatewayRouteSpecHttpRouteMatchPathPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v GatewayRouteSpecHttpRouteMatchPath) *GatewayRouteSpecHttpRouteMatchPath { return &v - }).(RouteSpecPtrOutput) + }).(GatewayRouteSpecHttpRouteMatchPathPtrOutput) } -// GRPC routing information for the route. -func (o RouteSpecOutput) GrpcRoute() RouteSpecGrpcRoutePtrOutput { - return o.ApplyT(func(v RouteSpec) *RouteSpecGrpcRoute { return v.GrpcRoute }).(RouteSpecGrpcRoutePtrOutput) -} - -// HTTP/2 routing information for the route. -func (o RouteSpecOutput) Http2Route() RouteSpecHttp2RoutePtrOutput { - return o.ApplyT(func(v RouteSpec) *RouteSpecHttp2Route { return v.Http2Route }).(RouteSpecHttp2RoutePtrOutput) -} - -// HTTP routing information for the route. -func (o RouteSpecOutput) HttpRoute() RouteSpecHttpRoutePtrOutput { - return o.ApplyT(func(v RouteSpec) *RouteSpecHttpRoute { return v.HttpRoute }).(RouteSpecHttpRoutePtrOutput) -} - -// Priority for the route, between `0` and `1000`. -// Routes are matched based on the specified value, where `0` is the highest priority. -func (o RouteSpecOutput) Priority() pulumi.IntPtrOutput { - return o.ApplyT(func(v RouteSpec) *int { return v.Priority }).(pulumi.IntPtrOutput) +// The exact path to match on. +func (o GatewayRouteSpecHttpRouteMatchPathOutput) Exact() pulumi.StringPtrOutput { + return o.ApplyT(func(v GatewayRouteSpecHttpRouteMatchPath) *string { return v.Exact }).(pulumi.StringPtrOutput) } -// TCP routing information for the route. -func (o RouteSpecOutput) TcpRoute() RouteSpecTcpRoutePtrOutput { - return o.ApplyT(func(v RouteSpec) *RouteSpecTcpRoute { return v.TcpRoute }).(RouteSpecTcpRoutePtrOutput) +// The regex used to match the path. +func (o GatewayRouteSpecHttpRouteMatchPathOutput) Regex() pulumi.StringPtrOutput { + return o.ApplyT(func(v GatewayRouteSpecHttpRouteMatchPath) *string { return v.Regex }).(pulumi.StringPtrOutput) } -type RouteSpecPtrOutput struct{ *pulumi.OutputState } +type GatewayRouteSpecHttpRouteMatchPathPtrOutput struct{ *pulumi.OutputState } -func (RouteSpecPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**RouteSpec)(nil)).Elem() +func (GatewayRouteSpecHttpRouteMatchPathPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**GatewayRouteSpecHttpRouteMatchPath)(nil)).Elem() } -func (o RouteSpecPtrOutput) ToRouteSpecPtrOutput() RouteSpecPtrOutput { +func (o GatewayRouteSpecHttpRouteMatchPathPtrOutput) ToGatewayRouteSpecHttpRouteMatchPathPtrOutput() GatewayRouteSpecHttpRouteMatchPathPtrOutput { return o } -func (o RouteSpecPtrOutput) ToRouteSpecPtrOutputWithContext(ctx context.Context) RouteSpecPtrOutput { +func (o GatewayRouteSpecHttpRouteMatchPathPtrOutput) ToGatewayRouteSpecHttpRouteMatchPathPtrOutputWithContext(ctx context.Context) GatewayRouteSpecHttpRouteMatchPathPtrOutput { return o } -func (o RouteSpecPtrOutput) Elem() RouteSpecOutput { - return o.ApplyT(func(v *RouteSpec) RouteSpec { +func (o GatewayRouteSpecHttpRouteMatchPathPtrOutput) Elem() GatewayRouteSpecHttpRouteMatchPathOutput { + return o.ApplyT(func(v *GatewayRouteSpecHttpRouteMatchPath) GatewayRouteSpecHttpRouteMatchPath { if v != nil { return *v } - var ret RouteSpec + var ret GatewayRouteSpecHttpRouteMatchPath return ret - }).(RouteSpecOutput) -} - -// GRPC routing information for the route. -func (o RouteSpecPtrOutput) GrpcRoute() RouteSpecGrpcRoutePtrOutput { - return o.ApplyT(func(v *RouteSpec) *RouteSpecGrpcRoute { - if v == nil { - return nil - } - return v.GrpcRoute - }).(RouteSpecGrpcRoutePtrOutput) -} - -// HTTP/2 routing information for the route. -func (o RouteSpecPtrOutput) Http2Route() RouteSpecHttp2RoutePtrOutput { - return o.ApplyT(func(v *RouteSpec) *RouteSpecHttp2Route { - if v == nil { - return nil - } - return v.Http2Route - }).(RouteSpecHttp2RoutePtrOutput) -} - -// HTTP routing information for the route. -func (o RouteSpecPtrOutput) HttpRoute() RouteSpecHttpRoutePtrOutput { - return o.ApplyT(func(v *RouteSpec) *RouteSpecHttpRoute { - if v == nil { - return nil - } - return v.HttpRoute - }).(RouteSpecHttpRoutePtrOutput) + }).(GatewayRouteSpecHttpRouteMatchPathOutput) } -// Priority for the route, between `0` and `1000`. -// Routes are matched based on the specified value, where `0` is the highest priority. -func (o RouteSpecPtrOutput) Priority() pulumi.IntPtrOutput { - return o.ApplyT(func(v *RouteSpec) *int { +// The exact path to match on. +func (o GatewayRouteSpecHttpRouteMatchPathPtrOutput) Exact() pulumi.StringPtrOutput { + return o.ApplyT(func(v *GatewayRouteSpecHttpRouteMatchPath) *string { if v == nil { return nil } - return v.Priority - }).(pulumi.IntPtrOutput) + return v.Exact + }).(pulumi.StringPtrOutput) } -// TCP routing information for the route. -func (o RouteSpecPtrOutput) TcpRoute() RouteSpecTcpRoutePtrOutput { - return o.ApplyT(func(v *RouteSpec) *RouteSpecTcpRoute { +// The regex used to match the path. +func (o GatewayRouteSpecHttpRouteMatchPathPtrOutput) Regex() pulumi.StringPtrOutput { + return o.ApplyT(func(v *GatewayRouteSpecHttpRouteMatchPath) *string { if v == nil { return nil } - return v.TcpRoute - }).(RouteSpecTcpRoutePtrOutput) + return v.Regex + }).(pulumi.StringPtrOutput) } -type RouteSpecGrpcRoute struct { - // Action to take if a match is determined. - Action RouteSpecGrpcRouteAction `pulumi:"action"` - // Criteria for determining an gRPC request match. - Match *RouteSpecGrpcRouteMatch `pulumi:"match"` - // Retry policy. - RetryPolicy *RouteSpecGrpcRouteRetryPolicy `pulumi:"retryPolicy"` - // Types of timeouts. - Timeout *RouteSpecGrpcRouteTimeout `pulumi:"timeout"` +type GatewayRouteSpecHttpRouteMatchQueryParameter struct { + // The query parameter to match on. + Match *GatewayRouteSpecHttpRouteMatchQueryParameterMatch `pulumi:"match"` + // Name for the query parameter that will be matched on. + Name string `pulumi:"name"` } -// RouteSpecGrpcRouteInput is an input type that accepts RouteSpecGrpcRouteArgs and RouteSpecGrpcRouteOutput values. -// You can construct a concrete instance of `RouteSpecGrpcRouteInput` via: +// GatewayRouteSpecHttpRouteMatchQueryParameterInput is an input type that accepts GatewayRouteSpecHttpRouteMatchQueryParameterArgs and GatewayRouteSpecHttpRouteMatchQueryParameterOutput values. +// You can construct a concrete instance of `GatewayRouteSpecHttpRouteMatchQueryParameterInput` via: // -// RouteSpecGrpcRouteArgs{...} -type RouteSpecGrpcRouteInput interface { +// GatewayRouteSpecHttpRouteMatchQueryParameterArgs{...} +type GatewayRouteSpecHttpRouteMatchQueryParameterInput interface { pulumi.Input - ToRouteSpecGrpcRouteOutput() RouteSpecGrpcRouteOutput - ToRouteSpecGrpcRouteOutputWithContext(context.Context) RouteSpecGrpcRouteOutput -} - -type RouteSpecGrpcRouteArgs struct { - // Action to take if a match is determined. - Action RouteSpecGrpcRouteActionInput `pulumi:"action"` - // Criteria for determining an gRPC request match. - Match RouteSpecGrpcRouteMatchPtrInput `pulumi:"match"` - // Retry policy. - RetryPolicy RouteSpecGrpcRouteRetryPolicyPtrInput `pulumi:"retryPolicy"` - // Types of timeouts. - Timeout RouteSpecGrpcRouteTimeoutPtrInput `pulumi:"timeout"` -} - -func (RouteSpecGrpcRouteArgs) ElementType() reflect.Type { - return reflect.TypeOf((*RouteSpecGrpcRoute)(nil)).Elem() + ToGatewayRouteSpecHttpRouteMatchQueryParameterOutput() GatewayRouteSpecHttpRouteMatchQueryParameterOutput + ToGatewayRouteSpecHttpRouteMatchQueryParameterOutputWithContext(context.Context) GatewayRouteSpecHttpRouteMatchQueryParameterOutput } -func (i RouteSpecGrpcRouteArgs) ToRouteSpecGrpcRouteOutput() RouteSpecGrpcRouteOutput { - return i.ToRouteSpecGrpcRouteOutputWithContext(context.Background()) +type GatewayRouteSpecHttpRouteMatchQueryParameterArgs struct { + // The query parameter to match on. + Match GatewayRouteSpecHttpRouteMatchQueryParameterMatchPtrInput `pulumi:"match"` + // Name for the query parameter that will be matched on. + Name pulumi.StringInput `pulumi:"name"` } -func (i RouteSpecGrpcRouteArgs) ToRouteSpecGrpcRouteOutputWithContext(ctx context.Context) RouteSpecGrpcRouteOutput { - return pulumi.ToOutputWithContext(ctx, i).(RouteSpecGrpcRouteOutput) +func (GatewayRouteSpecHttpRouteMatchQueryParameterArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GatewayRouteSpecHttpRouteMatchQueryParameter)(nil)).Elem() } -func (i RouteSpecGrpcRouteArgs) ToRouteSpecGrpcRoutePtrOutput() RouteSpecGrpcRoutePtrOutput { - return i.ToRouteSpecGrpcRoutePtrOutputWithContext(context.Background()) +func (i GatewayRouteSpecHttpRouteMatchQueryParameterArgs) ToGatewayRouteSpecHttpRouteMatchQueryParameterOutput() GatewayRouteSpecHttpRouteMatchQueryParameterOutput { + return i.ToGatewayRouteSpecHttpRouteMatchQueryParameterOutputWithContext(context.Background()) } -func (i RouteSpecGrpcRouteArgs) ToRouteSpecGrpcRoutePtrOutputWithContext(ctx context.Context) RouteSpecGrpcRoutePtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(RouteSpecGrpcRouteOutput).ToRouteSpecGrpcRoutePtrOutputWithContext(ctx) +func (i GatewayRouteSpecHttpRouteMatchQueryParameterArgs) ToGatewayRouteSpecHttpRouteMatchQueryParameterOutputWithContext(ctx context.Context) GatewayRouteSpecHttpRouteMatchQueryParameterOutput { + return pulumi.ToOutputWithContext(ctx, i).(GatewayRouteSpecHttpRouteMatchQueryParameterOutput) } -// RouteSpecGrpcRoutePtrInput is an input type that accepts RouteSpecGrpcRouteArgs, RouteSpecGrpcRoutePtr and RouteSpecGrpcRoutePtrOutput values. -// You can construct a concrete instance of `RouteSpecGrpcRoutePtrInput` via: -// -// RouteSpecGrpcRouteArgs{...} +// GatewayRouteSpecHttpRouteMatchQueryParameterArrayInput is an input type that accepts GatewayRouteSpecHttpRouteMatchQueryParameterArray and GatewayRouteSpecHttpRouteMatchQueryParameterArrayOutput values. +// You can construct a concrete instance of `GatewayRouteSpecHttpRouteMatchQueryParameterArrayInput` via: // -// or: -// -// nil -type RouteSpecGrpcRoutePtrInput interface { +// GatewayRouteSpecHttpRouteMatchQueryParameterArray{ GatewayRouteSpecHttpRouteMatchQueryParameterArgs{...} } +type GatewayRouteSpecHttpRouteMatchQueryParameterArrayInput interface { pulumi.Input - ToRouteSpecGrpcRoutePtrOutput() RouteSpecGrpcRoutePtrOutput - ToRouteSpecGrpcRoutePtrOutputWithContext(context.Context) RouteSpecGrpcRoutePtrOutput + ToGatewayRouteSpecHttpRouteMatchQueryParameterArrayOutput() GatewayRouteSpecHttpRouteMatchQueryParameterArrayOutput + ToGatewayRouteSpecHttpRouteMatchQueryParameterArrayOutputWithContext(context.Context) GatewayRouteSpecHttpRouteMatchQueryParameterArrayOutput } -type routeSpecGrpcRoutePtrType RouteSpecGrpcRouteArgs - -func RouteSpecGrpcRoutePtr(v *RouteSpecGrpcRouteArgs) RouteSpecGrpcRoutePtrInput { - return (*routeSpecGrpcRoutePtrType)(v) -} +type GatewayRouteSpecHttpRouteMatchQueryParameterArray []GatewayRouteSpecHttpRouteMatchQueryParameterInput -func (*routeSpecGrpcRoutePtrType) ElementType() reflect.Type { - return reflect.TypeOf((**RouteSpecGrpcRoute)(nil)).Elem() +func (GatewayRouteSpecHttpRouteMatchQueryParameterArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GatewayRouteSpecHttpRouteMatchQueryParameter)(nil)).Elem() } -func (i *routeSpecGrpcRoutePtrType) ToRouteSpecGrpcRoutePtrOutput() RouteSpecGrpcRoutePtrOutput { - return i.ToRouteSpecGrpcRoutePtrOutputWithContext(context.Background()) +func (i GatewayRouteSpecHttpRouteMatchQueryParameterArray) ToGatewayRouteSpecHttpRouteMatchQueryParameterArrayOutput() GatewayRouteSpecHttpRouteMatchQueryParameterArrayOutput { + return i.ToGatewayRouteSpecHttpRouteMatchQueryParameterArrayOutputWithContext(context.Background()) } -func (i *routeSpecGrpcRoutePtrType) ToRouteSpecGrpcRoutePtrOutputWithContext(ctx context.Context) RouteSpecGrpcRoutePtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(RouteSpecGrpcRoutePtrOutput) +func (i GatewayRouteSpecHttpRouteMatchQueryParameterArray) ToGatewayRouteSpecHttpRouteMatchQueryParameterArrayOutputWithContext(ctx context.Context) GatewayRouteSpecHttpRouteMatchQueryParameterArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GatewayRouteSpecHttpRouteMatchQueryParameterArrayOutput) } -type RouteSpecGrpcRouteOutput struct{ *pulumi.OutputState } +type GatewayRouteSpecHttpRouteMatchQueryParameterOutput struct{ *pulumi.OutputState } -func (RouteSpecGrpcRouteOutput) ElementType() reflect.Type { - return reflect.TypeOf((*RouteSpecGrpcRoute)(nil)).Elem() +func (GatewayRouteSpecHttpRouteMatchQueryParameterOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GatewayRouteSpecHttpRouteMatchQueryParameter)(nil)).Elem() } -func (o RouteSpecGrpcRouteOutput) ToRouteSpecGrpcRouteOutput() RouteSpecGrpcRouteOutput { +func (o GatewayRouteSpecHttpRouteMatchQueryParameterOutput) ToGatewayRouteSpecHttpRouteMatchQueryParameterOutput() GatewayRouteSpecHttpRouteMatchQueryParameterOutput { return o } -func (o RouteSpecGrpcRouteOutput) ToRouteSpecGrpcRouteOutputWithContext(ctx context.Context) RouteSpecGrpcRouteOutput { +func (o GatewayRouteSpecHttpRouteMatchQueryParameterOutput) ToGatewayRouteSpecHttpRouteMatchQueryParameterOutputWithContext(ctx context.Context) GatewayRouteSpecHttpRouteMatchQueryParameterOutput { return o } -func (o RouteSpecGrpcRouteOutput) ToRouteSpecGrpcRoutePtrOutput() RouteSpecGrpcRoutePtrOutput { - return o.ToRouteSpecGrpcRoutePtrOutputWithContext(context.Background()) -} - -func (o RouteSpecGrpcRouteOutput) ToRouteSpecGrpcRoutePtrOutputWithContext(ctx context.Context) RouteSpecGrpcRoutePtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v RouteSpecGrpcRoute) *RouteSpecGrpcRoute { - return &v - }).(RouteSpecGrpcRoutePtrOutput) -} - -// Action to take if a match is determined. -func (o RouteSpecGrpcRouteOutput) Action() RouteSpecGrpcRouteActionOutput { - return o.ApplyT(func(v RouteSpecGrpcRoute) RouteSpecGrpcRouteAction { return v.Action }).(RouteSpecGrpcRouteActionOutput) -} - -// Criteria for determining an gRPC request match. -func (o RouteSpecGrpcRouteOutput) Match() RouteSpecGrpcRouteMatchPtrOutput { - return o.ApplyT(func(v RouteSpecGrpcRoute) *RouteSpecGrpcRouteMatch { return v.Match }).(RouteSpecGrpcRouteMatchPtrOutput) -} - -// Retry policy. -func (o RouteSpecGrpcRouteOutput) RetryPolicy() RouteSpecGrpcRouteRetryPolicyPtrOutput { - return o.ApplyT(func(v RouteSpecGrpcRoute) *RouteSpecGrpcRouteRetryPolicy { return v.RetryPolicy }).(RouteSpecGrpcRouteRetryPolicyPtrOutput) +// The query parameter to match on. +func (o GatewayRouteSpecHttpRouteMatchQueryParameterOutput) Match() GatewayRouteSpecHttpRouteMatchQueryParameterMatchPtrOutput { + return o.ApplyT(func(v GatewayRouteSpecHttpRouteMatchQueryParameter) *GatewayRouteSpecHttpRouteMatchQueryParameterMatch { + return v.Match + }).(GatewayRouteSpecHttpRouteMatchQueryParameterMatchPtrOutput) } -// Types of timeouts. -func (o RouteSpecGrpcRouteOutput) Timeout() RouteSpecGrpcRouteTimeoutPtrOutput { - return o.ApplyT(func(v RouteSpecGrpcRoute) *RouteSpecGrpcRouteTimeout { return v.Timeout }).(RouteSpecGrpcRouteTimeoutPtrOutput) +// Name for the query parameter that will be matched on. +func (o GatewayRouteSpecHttpRouteMatchQueryParameterOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GatewayRouteSpecHttpRouteMatchQueryParameter) string { return v.Name }).(pulumi.StringOutput) } -type RouteSpecGrpcRoutePtrOutput struct{ *pulumi.OutputState } +type GatewayRouteSpecHttpRouteMatchQueryParameterArrayOutput struct{ *pulumi.OutputState } -func (RouteSpecGrpcRoutePtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**RouteSpecGrpcRoute)(nil)).Elem() +func (GatewayRouteSpecHttpRouteMatchQueryParameterArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GatewayRouteSpecHttpRouteMatchQueryParameter)(nil)).Elem() } -func (o RouteSpecGrpcRoutePtrOutput) ToRouteSpecGrpcRoutePtrOutput() RouteSpecGrpcRoutePtrOutput { +func (o GatewayRouteSpecHttpRouteMatchQueryParameterArrayOutput) ToGatewayRouteSpecHttpRouteMatchQueryParameterArrayOutput() GatewayRouteSpecHttpRouteMatchQueryParameterArrayOutput { return o } -func (o RouteSpecGrpcRoutePtrOutput) ToRouteSpecGrpcRoutePtrOutputWithContext(ctx context.Context) RouteSpecGrpcRoutePtrOutput { +func (o GatewayRouteSpecHttpRouteMatchQueryParameterArrayOutput) ToGatewayRouteSpecHttpRouteMatchQueryParameterArrayOutputWithContext(ctx context.Context) GatewayRouteSpecHttpRouteMatchQueryParameterArrayOutput { return o } -func (o RouteSpecGrpcRoutePtrOutput) Elem() RouteSpecGrpcRouteOutput { - return o.ApplyT(func(v *RouteSpecGrpcRoute) RouteSpecGrpcRoute { - if v != nil { - return *v - } - var ret RouteSpecGrpcRoute - return ret - }).(RouteSpecGrpcRouteOutput) -} - -// Action to take if a match is determined. -func (o RouteSpecGrpcRoutePtrOutput) Action() RouteSpecGrpcRouteActionPtrOutput { - return o.ApplyT(func(v *RouteSpecGrpcRoute) *RouteSpecGrpcRouteAction { - if v == nil { - return nil - } - return &v.Action - }).(RouteSpecGrpcRouteActionPtrOutput) -} - -// Criteria for determining an gRPC request match. -func (o RouteSpecGrpcRoutePtrOutput) Match() RouteSpecGrpcRouteMatchPtrOutput { - return o.ApplyT(func(v *RouteSpecGrpcRoute) *RouteSpecGrpcRouteMatch { - if v == nil { - return nil - } - return v.Match - }).(RouteSpecGrpcRouteMatchPtrOutput) -} - -// Retry policy. -func (o RouteSpecGrpcRoutePtrOutput) RetryPolicy() RouteSpecGrpcRouteRetryPolicyPtrOutput { - return o.ApplyT(func(v *RouteSpecGrpcRoute) *RouteSpecGrpcRouteRetryPolicy { - if v == nil { - return nil - } - return v.RetryPolicy - }).(RouteSpecGrpcRouteRetryPolicyPtrOutput) -} - -// Types of timeouts. -func (o RouteSpecGrpcRoutePtrOutput) Timeout() RouteSpecGrpcRouteTimeoutPtrOutput { - return o.ApplyT(func(v *RouteSpecGrpcRoute) *RouteSpecGrpcRouteTimeout { - if v == nil { - return nil - } - return v.Timeout - }).(RouteSpecGrpcRouteTimeoutPtrOutput) +func (o GatewayRouteSpecHttpRouteMatchQueryParameterArrayOutput) Index(i pulumi.IntInput) GatewayRouteSpecHttpRouteMatchQueryParameterOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GatewayRouteSpecHttpRouteMatchQueryParameter { + return vs[0].([]GatewayRouteSpecHttpRouteMatchQueryParameter)[vs[1].(int)] + }).(GatewayRouteSpecHttpRouteMatchQueryParameterOutput) } -type RouteSpecGrpcRouteAction struct { - // Targets that traffic is routed to when a request matches the route. - // You can specify one or more targets and their relative weights with which to distribute traffic. - WeightedTargets []RouteSpecGrpcRouteActionWeightedTarget `pulumi:"weightedTargets"` +type GatewayRouteSpecHttpRouteMatchQueryParameterMatch struct { + // Header value sent by the client must match the specified value exactly. + Exact *string `pulumi:"exact"` } -// RouteSpecGrpcRouteActionInput is an input type that accepts RouteSpecGrpcRouteActionArgs and RouteSpecGrpcRouteActionOutput values. -// You can construct a concrete instance of `RouteSpecGrpcRouteActionInput` via: +// GatewayRouteSpecHttpRouteMatchQueryParameterMatchInput is an input type that accepts GatewayRouteSpecHttpRouteMatchQueryParameterMatchArgs and GatewayRouteSpecHttpRouteMatchQueryParameterMatchOutput values. +// You can construct a concrete instance of `GatewayRouteSpecHttpRouteMatchQueryParameterMatchInput` via: // -// RouteSpecGrpcRouteActionArgs{...} -type RouteSpecGrpcRouteActionInput interface { +// GatewayRouteSpecHttpRouteMatchQueryParameterMatchArgs{...} +type GatewayRouteSpecHttpRouteMatchQueryParameterMatchInput interface { pulumi.Input - ToRouteSpecGrpcRouteActionOutput() RouteSpecGrpcRouteActionOutput - ToRouteSpecGrpcRouteActionOutputWithContext(context.Context) RouteSpecGrpcRouteActionOutput + ToGatewayRouteSpecHttpRouteMatchQueryParameterMatchOutput() GatewayRouteSpecHttpRouteMatchQueryParameterMatchOutput + ToGatewayRouteSpecHttpRouteMatchQueryParameterMatchOutputWithContext(context.Context) GatewayRouteSpecHttpRouteMatchQueryParameterMatchOutput } -type RouteSpecGrpcRouteActionArgs struct { - // Targets that traffic is routed to when a request matches the route. - // You can specify one or more targets and their relative weights with which to distribute traffic. - WeightedTargets RouteSpecGrpcRouteActionWeightedTargetArrayInput `pulumi:"weightedTargets"` +type GatewayRouteSpecHttpRouteMatchQueryParameterMatchArgs struct { + // Header value sent by the client must match the specified value exactly. + Exact pulumi.StringPtrInput `pulumi:"exact"` } -func (RouteSpecGrpcRouteActionArgs) ElementType() reflect.Type { - return reflect.TypeOf((*RouteSpecGrpcRouteAction)(nil)).Elem() +func (GatewayRouteSpecHttpRouteMatchQueryParameterMatchArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GatewayRouteSpecHttpRouteMatchQueryParameterMatch)(nil)).Elem() } -func (i RouteSpecGrpcRouteActionArgs) ToRouteSpecGrpcRouteActionOutput() RouteSpecGrpcRouteActionOutput { - return i.ToRouteSpecGrpcRouteActionOutputWithContext(context.Background()) +func (i GatewayRouteSpecHttpRouteMatchQueryParameterMatchArgs) ToGatewayRouteSpecHttpRouteMatchQueryParameterMatchOutput() GatewayRouteSpecHttpRouteMatchQueryParameterMatchOutput { + return i.ToGatewayRouteSpecHttpRouteMatchQueryParameterMatchOutputWithContext(context.Background()) } -func (i RouteSpecGrpcRouteActionArgs) ToRouteSpecGrpcRouteActionOutputWithContext(ctx context.Context) RouteSpecGrpcRouteActionOutput { - return pulumi.ToOutputWithContext(ctx, i).(RouteSpecGrpcRouteActionOutput) +func (i GatewayRouteSpecHttpRouteMatchQueryParameterMatchArgs) ToGatewayRouteSpecHttpRouteMatchQueryParameterMatchOutputWithContext(ctx context.Context) GatewayRouteSpecHttpRouteMatchQueryParameterMatchOutput { + return pulumi.ToOutputWithContext(ctx, i).(GatewayRouteSpecHttpRouteMatchQueryParameterMatchOutput) } -func (i RouteSpecGrpcRouteActionArgs) ToRouteSpecGrpcRouteActionPtrOutput() RouteSpecGrpcRouteActionPtrOutput { - return i.ToRouteSpecGrpcRouteActionPtrOutputWithContext(context.Background()) +func (i GatewayRouteSpecHttpRouteMatchQueryParameterMatchArgs) ToGatewayRouteSpecHttpRouteMatchQueryParameterMatchPtrOutput() GatewayRouteSpecHttpRouteMatchQueryParameterMatchPtrOutput { + return i.ToGatewayRouteSpecHttpRouteMatchQueryParameterMatchPtrOutputWithContext(context.Background()) } -func (i RouteSpecGrpcRouteActionArgs) ToRouteSpecGrpcRouteActionPtrOutputWithContext(ctx context.Context) RouteSpecGrpcRouteActionPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(RouteSpecGrpcRouteActionOutput).ToRouteSpecGrpcRouteActionPtrOutputWithContext(ctx) +func (i GatewayRouteSpecHttpRouteMatchQueryParameterMatchArgs) ToGatewayRouteSpecHttpRouteMatchQueryParameterMatchPtrOutputWithContext(ctx context.Context) GatewayRouteSpecHttpRouteMatchQueryParameterMatchPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(GatewayRouteSpecHttpRouteMatchQueryParameterMatchOutput).ToGatewayRouteSpecHttpRouteMatchQueryParameterMatchPtrOutputWithContext(ctx) } -// RouteSpecGrpcRouteActionPtrInput is an input type that accepts RouteSpecGrpcRouteActionArgs, RouteSpecGrpcRouteActionPtr and RouteSpecGrpcRouteActionPtrOutput values. -// You can construct a concrete instance of `RouteSpecGrpcRouteActionPtrInput` via: +// GatewayRouteSpecHttpRouteMatchQueryParameterMatchPtrInput is an input type that accepts GatewayRouteSpecHttpRouteMatchQueryParameterMatchArgs, GatewayRouteSpecHttpRouteMatchQueryParameterMatchPtr and GatewayRouteSpecHttpRouteMatchQueryParameterMatchPtrOutput values. +// You can construct a concrete instance of `GatewayRouteSpecHttpRouteMatchQueryParameterMatchPtrInput` via: // -// RouteSpecGrpcRouteActionArgs{...} +// GatewayRouteSpecHttpRouteMatchQueryParameterMatchArgs{...} // // or: // // nil -type RouteSpecGrpcRouteActionPtrInput interface { +type GatewayRouteSpecHttpRouteMatchQueryParameterMatchPtrInput interface { pulumi.Input - ToRouteSpecGrpcRouteActionPtrOutput() RouteSpecGrpcRouteActionPtrOutput - ToRouteSpecGrpcRouteActionPtrOutputWithContext(context.Context) RouteSpecGrpcRouteActionPtrOutput + ToGatewayRouteSpecHttpRouteMatchQueryParameterMatchPtrOutput() GatewayRouteSpecHttpRouteMatchQueryParameterMatchPtrOutput + ToGatewayRouteSpecHttpRouteMatchQueryParameterMatchPtrOutputWithContext(context.Context) GatewayRouteSpecHttpRouteMatchQueryParameterMatchPtrOutput } -type routeSpecGrpcRouteActionPtrType RouteSpecGrpcRouteActionArgs +type gatewayRouteSpecHttpRouteMatchQueryParameterMatchPtrType GatewayRouteSpecHttpRouteMatchQueryParameterMatchArgs -func RouteSpecGrpcRouteActionPtr(v *RouteSpecGrpcRouteActionArgs) RouteSpecGrpcRouteActionPtrInput { - return (*routeSpecGrpcRouteActionPtrType)(v) +func GatewayRouteSpecHttpRouteMatchQueryParameterMatchPtr(v *GatewayRouteSpecHttpRouteMatchQueryParameterMatchArgs) GatewayRouteSpecHttpRouteMatchQueryParameterMatchPtrInput { + return (*gatewayRouteSpecHttpRouteMatchQueryParameterMatchPtrType)(v) } -func (*routeSpecGrpcRouteActionPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**RouteSpecGrpcRouteAction)(nil)).Elem() +func (*gatewayRouteSpecHttpRouteMatchQueryParameterMatchPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**GatewayRouteSpecHttpRouteMatchQueryParameterMatch)(nil)).Elem() } -func (i *routeSpecGrpcRouteActionPtrType) ToRouteSpecGrpcRouteActionPtrOutput() RouteSpecGrpcRouteActionPtrOutput { - return i.ToRouteSpecGrpcRouteActionPtrOutputWithContext(context.Background()) +func (i *gatewayRouteSpecHttpRouteMatchQueryParameterMatchPtrType) ToGatewayRouteSpecHttpRouteMatchQueryParameterMatchPtrOutput() GatewayRouteSpecHttpRouteMatchQueryParameterMatchPtrOutput { + return i.ToGatewayRouteSpecHttpRouteMatchQueryParameterMatchPtrOutputWithContext(context.Background()) } -func (i *routeSpecGrpcRouteActionPtrType) ToRouteSpecGrpcRouteActionPtrOutputWithContext(ctx context.Context) RouteSpecGrpcRouteActionPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(RouteSpecGrpcRouteActionPtrOutput) +func (i *gatewayRouteSpecHttpRouteMatchQueryParameterMatchPtrType) ToGatewayRouteSpecHttpRouteMatchQueryParameterMatchPtrOutputWithContext(ctx context.Context) GatewayRouteSpecHttpRouteMatchQueryParameterMatchPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(GatewayRouteSpecHttpRouteMatchQueryParameterMatchPtrOutput) } -type RouteSpecGrpcRouteActionOutput struct{ *pulumi.OutputState } +type GatewayRouteSpecHttpRouteMatchQueryParameterMatchOutput struct{ *pulumi.OutputState } -func (RouteSpecGrpcRouteActionOutput) ElementType() reflect.Type { - return reflect.TypeOf((*RouteSpecGrpcRouteAction)(nil)).Elem() +func (GatewayRouteSpecHttpRouteMatchQueryParameterMatchOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GatewayRouteSpecHttpRouteMatchQueryParameterMatch)(nil)).Elem() } -func (o RouteSpecGrpcRouteActionOutput) ToRouteSpecGrpcRouteActionOutput() RouteSpecGrpcRouteActionOutput { +func (o GatewayRouteSpecHttpRouteMatchQueryParameterMatchOutput) ToGatewayRouteSpecHttpRouteMatchQueryParameterMatchOutput() GatewayRouteSpecHttpRouteMatchQueryParameterMatchOutput { return o } -func (o RouteSpecGrpcRouteActionOutput) ToRouteSpecGrpcRouteActionOutputWithContext(ctx context.Context) RouteSpecGrpcRouteActionOutput { +func (o GatewayRouteSpecHttpRouteMatchQueryParameterMatchOutput) ToGatewayRouteSpecHttpRouteMatchQueryParameterMatchOutputWithContext(ctx context.Context) GatewayRouteSpecHttpRouteMatchQueryParameterMatchOutput { return o } -func (o RouteSpecGrpcRouteActionOutput) ToRouteSpecGrpcRouteActionPtrOutput() RouteSpecGrpcRouteActionPtrOutput { - return o.ToRouteSpecGrpcRouteActionPtrOutputWithContext(context.Background()) +func (o GatewayRouteSpecHttpRouteMatchQueryParameterMatchOutput) ToGatewayRouteSpecHttpRouteMatchQueryParameterMatchPtrOutput() GatewayRouteSpecHttpRouteMatchQueryParameterMatchPtrOutput { + return o.ToGatewayRouteSpecHttpRouteMatchQueryParameterMatchPtrOutputWithContext(context.Background()) } -func (o RouteSpecGrpcRouteActionOutput) ToRouteSpecGrpcRouteActionPtrOutputWithContext(ctx context.Context) RouteSpecGrpcRouteActionPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v RouteSpecGrpcRouteAction) *RouteSpecGrpcRouteAction { +func (o GatewayRouteSpecHttpRouteMatchQueryParameterMatchOutput) ToGatewayRouteSpecHttpRouteMatchQueryParameterMatchPtrOutputWithContext(ctx context.Context) GatewayRouteSpecHttpRouteMatchQueryParameterMatchPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v GatewayRouteSpecHttpRouteMatchQueryParameterMatch) *GatewayRouteSpecHttpRouteMatchQueryParameterMatch { return &v - }).(RouteSpecGrpcRouteActionPtrOutput) + }).(GatewayRouteSpecHttpRouteMatchQueryParameterMatchPtrOutput) } -// Targets that traffic is routed to when a request matches the route. -// You can specify one or more targets and their relative weights with which to distribute traffic. -func (o RouteSpecGrpcRouteActionOutput) WeightedTargets() RouteSpecGrpcRouteActionWeightedTargetArrayOutput { - return o.ApplyT(func(v RouteSpecGrpcRouteAction) []RouteSpecGrpcRouteActionWeightedTarget { return v.WeightedTargets }).(RouteSpecGrpcRouteActionWeightedTargetArrayOutput) +// Header value sent by the client must match the specified value exactly. +func (o GatewayRouteSpecHttpRouteMatchQueryParameterMatchOutput) Exact() pulumi.StringPtrOutput { + return o.ApplyT(func(v GatewayRouteSpecHttpRouteMatchQueryParameterMatch) *string { return v.Exact }).(pulumi.StringPtrOutput) } -type RouteSpecGrpcRouteActionPtrOutput struct{ *pulumi.OutputState } +type GatewayRouteSpecHttpRouteMatchQueryParameterMatchPtrOutput struct{ *pulumi.OutputState } -func (RouteSpecGrpcRouteActionPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**RouteSpecGrpcRouteAction)(nil)).Elem() +func (GatewayRouteSpecHttpRouteMatchQueryParameterMatchPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**GatewayRouteSpecHttpRouteMatchQueryParameterMatch)(nil)).Elem() } -func (o RouteSpecGrpcRouteActionPtrOutput) ToRouteSpecGrpcRouteActionPtrOutput() RouteSpecGrpcRouteActionPtrOutput { +func (o GatewayRouteSpecHttpRouteMatchQueryParameterMatchPtrOutput) ToGatewayRouteSpecHttpRouteMatchQueryParameterMatchPtrOutput() GatewayRouteSpecHttpRouteMatchQueryParameterMatchPtrOutput { return o } -func (o RouteSpecGrpcRouteActionPtrOutput) ToRouteSpecGrpcRouteActionPtrOutputWithContext(ctx context.Context) RouteSpecGrpcRouteActionPtrOutput { +func (o GatewayRouteSpecHttpRouteMatchQueryParameterMatchPtrOutput) ToGatewayRouteSpecHttpRouteMatchQueryParameterMatchPtrOutputWithContext(ctx context.Context) GatewayRouteSpecHttpRouteMatchQueryParameterMatchPtrOutput { return o } -func (o RouteSpecGrpcRouteActionPtrOutput) Elem() RouteSpecGrpcRouteActionOutput { - return o.ApplyT(func(v *RouteSpecGrpcRouteAction) RouteSpecGrpcRouteAction { +func (o GatewayRouteSpecHttpRouteMatchQueryParameterMatchPtrOutput) Elem() GatewayRouteSpecHttpRouteMatchQueryParameterMatchOutput { + return o.ApplyT(func(v *GatewayRouteSpecHttpRouteMatchQueryParameterMatch) GatewayRouteSpecHttpRouteMatchQueryParameterMatch { if v != nil { return *v } - var ret RouteSpecGrpcRouteAction + var ret GatewayRouteSpecHttpRouteMatchQueryParameterMatch return ret - }).(RouteSpecGrpcRouteActionOutput) + }).(GatewayRouteSpecHttpRouteMatchQueryParameterMatchOutput) } -// Targets that traffic is routed to when a request matches the route. -// You can specify one or more targets and their relative weights with which to distribute traffic. -func (o RouteSpecGrpcRouteActionPtrOutput) WeightedTargets() RouteSpecGrpcRouteActionWeightedTargetArrayOutput { - return o.ApplyT(func(v *RouteSpecGrpcRouteAction) []RouteSpecGrpcRouteActionWeightedTarget { +// Header value sent by the client must match the specified value exactly. +func (o GatewayRouteSpecHttpRouteMatchQueryParameterMatchPtrOutput) Exact() pulumi.StringPtrOutput { + return o.ApplyT(func(v *GatewayRouteSpecHttpRouteMatchQueryParameterMatch) *string { if v == nil { return nil } - return v.WeightedTargets - }).(RouteSpecGrpcRouteActionWeightedTargetArrayOutput) + return v.Exact + }).(pulumi.StringPtrOutput) } -type RouteSpecGrpcRouteActionWeightedTarget struct { - // The targeted port of the weighted object. - Port *int `pulumi:"port"` - // Virtual node to associate with the weighted target. Must be between 1 and 255 characters in length. - VirtualNode string `pulumi:"virtualNode"` - // Relative weight of the weighted target. An integer between 0 and 100. - Weight int `pulumi:"weight"` +type MeshSpec struct { + // Egress filter rules for the service mesh. + EgressFilter *MeshSpecEgressFilter `pulumi:"egressFilter"` } -// RouteSpecGrpcRouteActionWeightedTargetInput is an input type that accepts RouteSpecGrpcRouteActionWeightedTargetArgs and RouteSpecGrpcRouteActionWeightedTargetOutput values. -// You can construct a concrete instance of `RouteSpecGrpcRouteActionWeightedTargetInput` via: +// MeshSpecInput is an input type that accepts MeshSpecArgs and MeshSpecOutput values. +// You can construct a concrete instance of `MeshSpecInput` via: // -// RouteSpecGrpcRouteActionWeightedTargetArgs{...} -type RouteSpecGrpcRouteActionWeightedTargetInput interface { +// MeshSpecArgs{...} +type MeshSpecInput interface { pulumi.Input - ToRouteSpecGrpcRouteActionWeightedTargetOutput() RouteSpecGrpcRouteActionWeightedTargetOutput - ToRouteSpecGrpcRouteActionWeightedTargetOutputWithContext(context.Context) RouteSpecGrpcRouteActionWeightedTargetOutput + ToMeshSpecOutput() MeshSpecOutput + ToMeshSpecOutputWithContext(context.Context) MeshSpecOutput } -type RouteSpecGrpcRouteActionWeightedTargetArgs struct { - // The targeted port of the weighted object. - Port pulumi.IntPtrInput `pulumi:"port"` - // Virtual node to associate with the weighted target. Must be between 1 and 255 characters in length. - VirtualNode pulumi.StringInput `pulumi:"virtualNode"` - // Relative weight of the weighted target. An integer between 0 and 100. - Weight pulumi.IntInput `pulumi:"weight"` +type MeshSpecArgs struct { + // Egress filter rules for the service mesh. + EgressFilter MeshSpecEgressFilterPtrInput `pulumi:"egressFilter"` } -func (RouteSpecGrpcRouteActionWeightedTargetArgs) ElementType() reflect.Type { - return reflect.TypeOf((*RouteSpecGrpcRouteActionWeightedTarget)(nil)).Elem() +func (MeshSpecArgs) ElementType() reflect.Type { + return reflect.TypeOf((*MeshSpec)(nil)).Elem() } -func (i RouteSpecGrpcRouteActionWeightedTargetArgs) ToRouteSpecGrpcRouteActionWeightedTargetOutput() RouteSpecGrpcRouteActionWeightedTargetOutput { - return i.ToRouteSpecGrpcRouteActionWeightedTargetOutputWithContext(context.Background()) +func (i MeshSpecArgs) ToMeshSpecOutput() MeshSpecOutput { + return i.ToMeshSpecOutputWithContext(context.Background()) } -func (i RouteSpecGrpcRouteActionWeightedTargetArgs) ToRouteSpecGrpcRouteActionWeightedTargetOutputWithContext(ctx context.Context) RouteSpecGrpcRouteActionWeightedTargetOutput { - return pulumi.ToOutputWithContext(ctx, i).(RouteSpecGrpcRouteActionWeightedTargetOutput) +func (i MeshSpecArgs) ToMeshSpecOutputWithContext(ctx context.Context) MeshSpecOutput { + return pulumi.ToOutputWithContext(ctx, i).(MeshSpecOutput) } -// RouteSpecGrpcRouteActionWeightedTargetArrayInput is an input type that accepts RouteSpecGrpcRouteActionWeightedTargetArray and RouteSpecGrpcRouteActionWeightedTargetArrayOutput values. -// You can construct a concrete instance of `RouteSpecGrpcRouteActionWeightedTargetArrayInput` via: +func (i MeshSpecArgs) ToMeshSpecPtrOutput() MeshSpecPtrOutput { + return i.ToMeshSpecPtrOutputWithContext(context.Background()) +} + +func (i MeshSpecArgs) ToMeshSpecPtrOutputWithContext(ctx context.Context) MeshSpecPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(MeshSpecOutput).ToMeshSpecPtrOutputWithContext(ctx) +} + +// MeshSpecPtrInput is an input type that accepts MeshSpecArgs, MeshSpecPtr and MeshSpecPtrOutput values. +// You can construct a concrete instance of `MeshSpecPtrInput` via: // -// RouteSpecGrpcRouteActionWeightedTargetArray{ RouteSpecGrpcRouteActionWeightedTargetArgs{...} } -type RouteSpecGrpcRouteActionWeightedTargetArrayInput interface { +// MeshSpecArgs{...} +// +// or: +// +// nil +type MeshSpecPtrInput interface { pulumi.Input - ToRouteSpecGrpcRouteActionWeightedTargetArrayOutput() RouteSpecGrpcRouteActionWeightedTargetArrayOutput - ToRouteSpecGrpcRouteActionWeightedTargetArrayOutputWithContext(context.Context) RouteSpecGrpcRouteActionWeightedTargetArrayOutput + ToMeshSpecPtrOutput() MeshSpecPtrOutput + ToMeshSpecPtrOutputWithContext(context.Context) MeshSpecPtrOutput } -type RouteSpecGrpcRouteActionWeightedTargetArray []RouteSpecGrpcRouteActionWeightedTargetInput +type meshSpecPtrType MeshSpecArgs -func (RouteSpecGrpcRouteActionWeightedTargetArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]RouteSpecGrpcRouteActionWeightedTarget)(nil)).Elem() +func MeshSpecPtr(v *MeshSpecArgs) MeshSpecPtrInput { + return (*meshSpecPtrType)(v) } -func (i RouteSpecGrpcRouteActionWeightedTargetArray) ToRouteSpecGrpcRouteActionWeightedTargetArrayOutput() RouteSpecGrpcRouteActionWeightedTargetArrayOutput { - return i.ToRouteSpecGrpcRouteActionWeightedTargetArrayOutputWithContext(context.Background()) +func (*meshSpecPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**MeshSpec)(nil)).Elem() } -func (i RouteSpecGrpcRouteActionWeightedTargetArray) ToRouteSpecGrpcRouteActionWeightedTargetArrayOutputWithContext(ctx context.Context) RouteSpecGrpcRouteActionWeightedTargetArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(RouteSpecGrpcRouteActionWeightedTargetArrayOutput) +func (i *meshSpecPtrType) ToMeshSpecPtrOutput() MeshSpecPtrOutput { + return i.ToMeshSpecPtrOutputWithContext(context.Background()) } -type RouteSpecGrpcRouteActionWeightedTargetOutput struct{ *pulumi.OutputState } +func (i *meshSpecPtrType) ToMeshSpecPtrOutputWithContext(ctx context.Context) MeshSpecPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(MeshSpecPtrOutput) +} -func (RouteSpecGrpcRouteActionWeightedTargetOutput) ElementType() reflect.Type { - return reflect.TypeOf((*RouteSpecGrpcRouteActionWeightedTarget)(nil)).Elem() +type MeshSpecOutput struct{ *pulumi.OutputState } + +func (MeshSpecOutput) ElementType() reflect.Type { + return reflect.TypeOf((*MeshSpec)(nil)).Elem() } -func (o RouteSpecGrpcRouteActionWeightedTargetOutput) ToRouteSpecGrpcRouteActionWeightedTargetOutput() RouteSpecGrpcRouteActionWeightedTargetOutput { +func (o MeshSpecOutput) ToMeshSpecOutput() MeshSpecOutput { return o } -func (o RouteSpecGrpcRouteActionWeightedTargetOutput) ToRouteSpecGrpcRouteActionWeightedTargetOutputWithContext(ctx context.Context) RouteSpecGrpcRouteActionWeightedTargetOutput { +func (o MeshSpecOutput) ToMeshSpecOutputWithContext(ctx context.Context) MeshSpecOutput { return o } -// The targeted port of the weighted object. -func (o RouteSpecGrpcRouteActionWeightedTargetOutput) Port() pulumi.IntPtrOutput { - return o.ApplyT(func(v RouteSpecGrpcRouteActionWeightedTarget) *int { return v.Port }).(pulumi.IntPtrOutput) +func (o MeshSpecOutput) ToMeshSpecPtrOutput() MeshSpecPtrOutput { + return o.ToMeshSpecPtrOutputWithContext(context.Background()) } -// Virtual node to associate with the weighted target. Must be between 1 and 255 characters in length. -func (o RouteSpecGrpcRouteActionWeightedTargetOutput) VirtualNode() pulumi.StringOutput { - return o.ApplyT(func(v RouteSpecGrpcRouteActionWeightedTarget) string { return v.VirtualNode }).(pulumi.StringOutput) +func (o MeshSpecOutput) ToMeshSpecPtrOutputWithContext(ctx context.Context) MeshSpecPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v MeshSpec) *MeshSpec { + return &v + }).(MeshSpecPtrOutput) } -// Relative weight of the weighted target. An integer between 0 and 100. -func (o RouteSpecGrpcRouteActionWeightedTargetOutput) Weight() pulumi.IntOutput { - return o.ApplyT(func(v RouteSpecGrpcRouteActionWeightedTarget) int { return v.Weight }).(pulumi.IntOutput) +// Egress filter rules for the service mesh. +func (o MeshSpecOutput) EgressFilter() MeshSpecEgressFilterPtrOutput { + return o.ApplyT(func(v MeshSpec) *MeshSpecEgressFilter { return v.EgressFilter }).(MeshSpecEgressFilterPtrOutput) } -type RouteSpecGrpcRouteActionWeightedTargetArrayOutput struct{ *pulumi.OutputState } +type MeshSpecPtrOutput struct{ *pulumi.OutputState } -func (RouteSpecGrpcRouteActionWeightedTargetArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]RouteSpecGrpcRouteActionWeightedTarget)(nil)).Elem() +func (MeshSpecPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**MeshSpec)(nil)).Elem() } -func (o RouteSpecGrpcRouteActionWeightedTargetArrayOutput) ToRouteSpecGrpcRouteActionWeightedTargetArrayOutput() RouteSpecGrpcRouteActionWeightedTargetArrayOutput { +func (o MeshSpecPtrOutput) ToMeshSpecPtrOutput() MeshSpecPtrOutput { return o } -func (o RouteSpecGrpcRouteActionWeightedTargetArrayOutput) ToRouteSpecGrpcRouteActionWeightedTargetArrayOutputWithContext(ctx context.Context) RouteSpecGrpcRouteActionWeightedTargetArrayOutput { +func (o MeshSpecPtrOutput) ToMeshSpecPtrOutputWithContext(ctx context.Context) MeshSpecPtrOutput { return o } -func (o RouteSpecGrpcRouteActionWeightedTargetArrayOutput) Index(i pulumi.IntInput) RouteSpecGrpcRouteActionWeightedTargetOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) RouteSpecGrpcRouteActionWeightedTarget { - return vs[0].([]RouteSpecGrpcRouteActionWeightedTarget)[vs[1].(int)] - }).(RouteSpecGrpcRouteActionWeightedTargetOutput) +func (o MeshSpecPtrOutput) Elem() MeshSpecOutput { + return o.ApplyT(func(v *MeshSpec) MeshSpec { + if v != nil { + return *v + } + var ret MeshSpec + return ret + }).(MeshSpecOutput) } -type RouteSpecGrpcRouteMatch struct { - // Data to match from the gRPC request. - Metadatas []RouteSpecGrpcRouteMatchMetadata `pulumi:"metadatas"` - // Method name to match from the request. If you specify a name, you must also specify a `serviceName`. - MethodName *string `pulumi:"methodName"` - // The port number to match from the request. - Port *int `pulumi:"port"` - // Value sent by the client must begin with the specified characters. Must be between 1 and 255 characters in length. - // This parameter must always start with /, which by itself matches all requests to the virtual router service name. - Prefix *string `pulumi:"prefix"` - // Fully qualified domain name for the service to match from the request. - ServiceName *string `pulumi:"serviceName"` +// Egress filter rules for the service mesh. +func (o MeshSpecPtrOutput) EgressFilter() MeshSpecEgressFilterPtrOutput { + return o.ApplyT(func(v *MeshSpec) *MeshSpecEgressFilter { + if v == nil { + return nil + } + return v.EgressFilter + }).(MeshSpecEgressFilterPtrOutput) } -// RouteSpecGrpcRouteMatchInput is an input type that accepts RouteSpecGrpcRouteMatchArgs and RouteSpecGrpcRouteMatchOutput values. -// You can construct a concrete instance of `RouteSpecGrpcRouteMatchInput` via: +type MeshSpecEgressFilter struct { + // Egress filter type. By default, the type is `DROP_ALL`. + // Valid values are `ALLOW_ALL` and `DROP_ALL`. + Type *string `pulumi:"type"` +} + +// MeshSpecEgressFilterInput is an input type that accepts MeshSpecEgressFilterArgs and MeshSpecEgressFilterOutput values. +// You can construct a concrete instance of `MeshSpecEgressFilterInput` via: // -// RouteSpecGrpcRouteMatchArgs{...} -type RouteSpecGrpcRouteMatchInput interface { +// MeshSpecEgressFilterArgs{...} +type MeshSpecEgressFilterInput interface { pulumi.Input - ToRouteSpecGrpcRouteMatchOutput() RouteSpecGrpcRouteMatchOutput - ToRouteSpecGrpcRouteMatchOutputWithContext(context.Context) RouteSpecGrpcRouteMatchOutput + ToMeshSpecEgressFilterOutput() MeshSpecEgressFilterOutput + ToMeshSpecEgressFilterOutputWithContext(context.Context) MeshSpecEgressFilterOutput } -type RouteSpecGrpcRouteMatchArgs struct { - // Data to match from the gRPC request. - Metadatas RouteSpecGrpcRouteMatchMetadataArrayInput `pulumi:"metadatas"` - // Method name to match from the request. If you specify a name, you must also specify a `serviceName`. - MethodName pulumi.StringPtrInput `pulumi:"methodName"` - // The port number to match from the request. - Port pulumi.IntPtrInput `pulumi:"port"` - // Value sent by the client must begin with the specified characters. Must be between 1 and 255 characters in length. - // This parameter must always start with /, which by itself matches all requests to the virtual router service name. - Prefix pulumi.StringPtrInput `pulumi:"prefix"` - // Fully qualified domain name for the service to match from the request. - ServiceName pulumi.StringPtrInput `pulumi:"serviceName"` +type MeshSpecEgressFilterArgs struct { + // Egress filter type. By default, the type is `DROP_ALL`. + // Valid values are `ALLOW_ALL` and `DROP_ALL`. + Type pulumi.StringPtrInput `pulumi:"type"` } -func (RouteSpecGrpcRouteMatchArgs) ElementType() reflect.Type { - return reflect.TypeOf((*RouteSpecGrpcRouteMatch)(nil)).Elem() +func (MeshSpecEgressFilterArgs) ElementType() reflect.Type { + return reflect.TypeOf((*MeshSpecEgressFilter)(nil)).Elem() } -func (i RouteSpecGrpcRouteMatchArgs) ToRouteSpecGrpcRouteMatchOutput() RouteSpecGrpcRouteMatchOutput { - return i.ToRouteSpecGrpcRouteMatchOutputWithContext(context.Background()) +func (i MeshSpecEgressFilterArgs) ToMeshSpecEgressFilterOutput() MeshSpecEgressFilterOutput { + return i.ToMeshSpecEgressFilterOutputWithContext(context.Background()) } -func (i RouteSpecGrpcRouteMatchArgs) ToRouteSpecGrpcRouteMatchOutputWithContext(ctx context.Context) RouteSpecGrpcRouteMatchOutput { - return pulumi.ToOutputWithContext(ctx, i).(RouteSpecGrpcRouteMatchOutput) +func (i MeshSpecEgressFilterArgs) ToMeshSpecEgressFilterOutputWithContext(ctx context.Context) MeshSpecEgressFilterOutput { + return pulumi.ToOutputWithContext(ctx, i).(MeshSpecEgressFilterOutput) } -func (i RouteSpecGrpcRouteMatchArgs) ToRouteSpecGrpcRouteMatchPtrOutput() RouteSpecGrpcRouteMatchPtrOutput { - return i.ToRouteSpecGrpcRouteMatchPtrOutputWithContext(context.Background()) +func (i MeshSpecEgressFilterArgs) ToMeshSpecEgressFilterPtrOutput() MeshSpecEgressFilterPtrOutput { + return i.ToMeshSpecEgressFilterPtrOutputWithContext(context.Background()) } -func (i RouteSpecGrpcRouteMatchArgs) ToRouteSpecGrpcRouteMatchPtrOutputWithContext(ctx context.Context) RouteSpecGrpcRouteMatchPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(RouteSpecGrpcRouteMatchOutput).ToRouteSpecGrpcRouteMatchPtrOutputWithContext(ctx) +func (i MeshSpecEgressFilterArgs) ToMeshSpecEgressFilterPtrOutputWithContext(ctx context.Context) MeshSpecEgressFilterPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(MeshSpecEgressFilterOutput).ToMeshSpecEgressFilterPtrOutputWithContext(ctx) } -// RouteSpecGrpcRouteMatchPtrInput is an input type that accepts RouteSpecGrpcRouteMatchArgs, RouteSpecGrpcRouteMatchPtr and RouteSpecGrpcRouteMatchPtrOutput values. -// You can construct a concrete instance of `RouteSpecGrpcRouteMatchPtrInput` via: +// MeshSpecEgressFilterPtrInput is an input type that accepts MeshSpecEgressFilterArgs, MeshSpecEgressFilterPtr and MeshSpecEgressFilterPtrOutput values. +// You can construct a concrete instance of `MeshSpecEgressFilterPtrInput` via: // -// RouteSpecGrpcRouteMatchArgs{...} +// MeshSpecEgressFilterArgs{...} // // or: // // nil -type RouteSpecGrpcRouteMatchPtrInput interface { +type MeshSpecEgressFilterPtrInput interface { pulumi.Input - ToRouteSpecGrpcRouteMatchPtrOutput() RouteSpecGrpcRouteMatchPtrOutput - ToRouteSpecGrpcRouteMatchPtrOutputWithContext(context.Context) RouteSpecGrpcRouteMatchPtrOutput + ToMeshSpecEgressFilterPtrOutput() MeshSpecEgressFilterPtrOutput + ToMeshSpecEgressFilterPtrOutputWithContext(context.Context) MeshSpecEgressFilterPtrOutput } -type routeSpecGrpcRouteMatchPtrType RouteSpecGrpcRouteMatchArgs +type meshSpecEgressFilterPtrType MeshSpecEgressFilterArgs -func RouteSpecGrpcRouteMatchPtr(v *RouteSpecGrpcRouteMatchArgs) RouteSpecGrpcRouteMatchPtrInput { - return (*routeSpecGrpcRouteMatchPtrType)(v) +func MeshSpecEgressFilterPtr(v *MeshSpecEgressFilterArgs) MeshSpecEgressFilterPtrInput { + return (*meshSpecEgressFilterPtrType)(v) } -func (*routeSpecGrpcRouteMatchPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**RouteSpecGrpcRouteMatch)(nil)).Elem() +func (*meshSpecEgressFilterPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**MeshSpecEgressFilter)(nil)).Elem() } -func (i *routeSpecGrpcRouteMatchPtrType) ToRouteSpecGrpcRouteMatchPtrOutput() RouteSpecGrpcRouteMatchPtrOutput { - return i.ToRouteSpecGrpcRouteMatchPtrOutputWithContext(context.Background()) +func (i *meshSpecEgressFilterPtrType) ToMeshSpecEgressFilterPtrOutput() MeshSpecEgressFilterPtrOutput { + return i.ToMeshSpecEgressFilterPtrOutputWithContext(context.Background()) } -func (i *routeSpecGrpcRouteMatchPtrType) ToRouteSpecGrpcRouteMatchPtrOutputWithContext(ctx context.Context) RouteSpecGrpcRouteMatchPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(RouteSpecGrpcRouteMatchPtrOutput) +func (i *meshSpecEgressFilterPtrType) ToMeshSpecEgressFilterPtrOutputWithContext(ctx context.Context) MeshSpecEgressFilterPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(MeshSpecEgressFilterPtrOutput) } -type RouteSpecGrpcRouteMatchOutput struct{ *pulumi.OutputState } +type MeshSpecEgressFilterOutput struct{ *pulumi.OutputState } -func (RouteSpecGrpcRouteMatchOutput) ElementType() reflect.Type { - return reflect.TypeOf((*RouteSpecGrpcRouteMatch)(nil)).Elem() +func (MeshSpecEgressFilterOutput) ElementType() reflect.Type { + return reflect.TypeOf((*MeshSpecEgressFilter)(nil)).Elem() } -func (o RouteSpecGrpcRouteMatchOutput) ToRouteSpecGrpcRouteMatchOutput() RouteSpecGrpcRouteMatchOutput { +func (o MeshSpecEgressFilterOutput) ToMeshSpecEgressFilterOutput() MeshSpecEgressFilterOutput { return o } -func (o RouteSpecGrpcRouteMatchOutput) ToRouteSpecGrpcRouteMatchOutputWithContext(ctx context.Context) RouteSpecGrpcRouteMatchOutput { +func (o MeshSpecEgressFilterOutput) ToMeshSpecEgressFilterOutputWithContext(ctx context.Context) MeshSpecEgressFilterOutput { return o } -func (o RouteSpecGrpcRouteMatchOutput) ToRouteSpecGrpcRouteMatchPtrOutput() RouteSpecGrpcRouteMatchPtrOutput { - return o.ToRouteSpecGrpcRouteMatchPtrOutputWithContext(context.Background()) +func (o MeshSpecEgressFilterOutput) ToMeshSpecEgressFilterPtrOutput() MeshSpecEgressFilterPtrOutput { + return o.ToMeshSpecEgressFilterPtrOutputWithContext(context.Background()) } -func (o RouteSpecGrpcRouteMatchOutput) ToRouteSpecGrpcRouteMatchPtrOutputWithContext(ctx context.Context) RouteSpecGrpcRouteMatchPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v RouteSpecGrpcRouteMatch) *RouteSpecGrpcRouteMatch { +func (o MeshSpecEgressFilterOutput) ToMeshSpecEgressFilterPtrOutputWithContext(ctx context.Context) MeshSpecEgressFilterPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v MeshSpecEgressFilter) *MeshSpecEgressFilter { return &v - }).(RouteSpecGrpcRouteMatchPtrOutput) -} - -// Data to match from the gRPC request. -func (o RouteSpecGrpcRouteMatchOutput) Metadatas() RouteSpecGrpcRouteMatchMetadataArrayOutput { - return o.ApplyT(func(v RouteSpecGrpcRouteMatch) []RouteSpecGrpcRouteMatchMetadata { return v.Metadatas }).(RouteSpecGrpcRouteMatchMetadataArrayOutput) -} - -// Method name to match from the request. If you specify a name, you must also specify a `serviceName`. -func (o RouteSpecGrpcRouteMatchOutput) MethodName() pulumi.StringPtrOutput { - return o.ApplyT(func(v RouteSpecGrpcRouteMatch) *string { return v.MethodName }).(pulumi.StringPtrOutput) -} - -// The port number to match from the request. -func (o RouteSpecGrpcRouteMatchOutput) Port() pulumi.IntPtrOutput { - return o.ApplyT(func(v RouteSpecGrpcRouteMatch) *int { return v.Port }).(pulumi.IntPtrOutput) -} - -// Value sent by the client must begin with the specified characters. Must be between 1 and 255 characters in length. -// This parameter must always start with /, which by itself matches all requests to the virtual router service name. -func (o RouteSpecGrpcRouteMatchOutput) Prefix() pulumi.StringPtrOutput { - return o.ApplyT(func(v RouteSpecGrpcRouteMatch) *string { return v.Prefix }).(pulumi.StringPtrOutput) + }).(MeshSpecEgressFilterPtrOutput) } -// Fully qualified domain name for the service to match from the request. -func (o RouteSpecGrpcRouteMatchOutput) ServiceName() pulumi.StringPtrOutput { - return o.ApplyT(func(v RouteSpecGrpcRouteMatch) *string { return v.ServiceName }).(pulumi.StringPtrOutput) +// Egress filter type. By default, the type is `DROP_ALL`. +// Valid values are `ALLOW_ALL` and `DROP_ALL`. +func (o MeshSpecEgressFilterOutput) Type() pulumi.StringPtrOutput { + return o.ApplyT(func(v MeshSpecEgressFilter) *string { return v.Type }).(pulumi.StringPtrOutput) } -type RouteSpecGrpcRouteMatchPtrOutput struct{ *pulumi.OutputState } +type MeshSpecEgressFilterPtrOutput struct{ *pulumi.OutputState } -func (RouteSpecGrpcRouteMatchPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**RouteSpecGrpcRouteMatch)(nil)).Elem() +func (MeshSpecEgressFilterPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**MeshSpecEgressFilter)(nil)).Elem() } -func (o RouteSpecGrpcRouteMatchPtrOutput) ToRouteSpecGrpcRouteMatchPtrOutput() RouteSpecGrpcRouteMatchPtrOutput { +func (o MeshSpecEgressFilterPtrOutput) ToMeshSpecEgressFilterPtrOutput() MeshSpecEgressFilterPtrOutput { return o } -func (o RouteSpecGrpcRouteMatchPtrOutput) ToRouteSpecGrpcRouteMatchPtrOutputWithContext(ctx context.Context) RouteSpecGrpcRouteMatchPtrOutput { +func (o MeshSpecEgressFilterPtrOutput) ToMeshSpecEgressFilterPtrOutputWithContext(ctx context.Context) MeshSpecEgressFilterPtrOutput { return o } -func (o RouteSpecGrpcRouteMatchPtrOutput) Elem() RouteSpecGrpcRouteMatchOutput { - return o.ApplyT(func(v *RouteSpecGrpcRouteMatch) RouteSpecGrpcRouteMatch { +func (o MeshSpecEgressFilterPtrOutput) Elem() MeshSpecEgressFilterOutput { + return o.ApplyT(func(v *MeshSpecEgressFilter) MeshSpecEgressFilter { if v != nil { return *v } - var ret RouteSpecGrpcRouteMatch + var ret MeshSpecEgressFilter return ret - }).(RouteSpecGrpcRouteMatchOutput) -} - -// Data to match from the gRPC request. -func (o RouteSpecGrpcRouteMatchPtrOutput) Metadatas() RouteSpecGrpcRouteMatchMetadataArrayOutput { - return o.ApplyT(func(v *RouteSpecGrpcRouteMatch) []RouteSpecGrpcRouteMatchMetadata { - if v == nil { - return nil - } - return v.Metadatas - }).(RouteSpecGrpcRouteMatchMetadataArrayOutput) + }).(MeshSpecEgressFilterOutput) } -// Method name to match from the request. If you specify a name, you must also specify a `serviceName`. -func (o RouteSpecGrpcRouteMatchPtrOutput) MethodName() pulumi.StringPtrOutput { - return o.ApplyT(func(v *RouteSpecGrpcRouteMatch) *string { +// Egress filter type. By default, the type is `DROP_ALL`. +// Valid values are `ALLOW_ALL` and `DROP_ALL`. +func (o MeshSpecEgressFilterPtrOutput) Type() pulumi.StringPtrOutput { + return o.ApplyT(func(v *MeshSpecEgressFilter) *string { if v == nil { return nil } - return v.MethodName + return v.Type }).(pulumi.StringPtrOutput) } -// The port number to match from the request. -func (o RouteSpecGrpcRouteMatchPtrOutput) Port() pulumi.IntPtrOutput { - return o.ApplyT(func(v *RouteSpecGrpcRouteMatch) *int { - if v == nil { - return nil - } - return v.Port - }).(pulumi.IntPtrOutput) +type RouteSpec struct { + // GRPC routing information for the route. + GrpcRoute *RouteSpecGrpcRoute `pulumi:"grpcRoute"` + // HTTP/2 routing information for the route. + Http2Route *RouteSpecHttp2Route `pulumi:"http2Route"` + // HTTP routing information for the route. + HttpRoute *RouteSpecHttpRoute `pulumi:"httpRoute"` + // Priority for the route, between `0` and `1000`. + // Routes are matched based on the specified value, where `0` is the highest priority. + Priority *int `pulumi:"priority"` + // TCP routing information for the route. + TcpRoute *RouteSpecTcpRoute `pulumi:"tcpRoute"` } -// Value sent by the client must begin with the specified characters. Must be between 1 and 255 characters in length. -// This parameter must always start with /, which by itself matches all requests to the virtual router service name. -func (o RouteSpecGrpcRouteMatchPtrOutput) Prefix() pulumi.StringPtrOutput { - return o.ApplyT(func(v *RouteSpecGrpcRouteMatch) *string { - if v == nil { - return nil - } - return v.Prefix - }).(pulumi.StringPtrOutput) -} +// RouteSpecInput is an input type that accepts RouteSpecArgs and RouteSpecOutput values. +// You can construct a concrete instance of `RouteSpecInput` via: +// +// RouteSpecArgs{...} +type RouteSpecInput interface { + pulumi.Input -// Fully qualified domain name for the service to match from the request. -func (o RouteSpecGrpcRouteMatchPtrOutput) ServiceName() pulumi.StringPtrOutput { - return o.ApplyT(func(v *RouteSpecGrpcRouteMatch) *string { - if v == nil { - return nil - } - return v.ServiceName - }).(pulumi.StringPtrOutput) + ToRouteSpecOutput() RouteSpecOutput + ToRouteSpecOutputWithContext(context.Context) RouteSpecOutput } -type RouteSpecGrpcRouteMatchMetadata struct { - // If `true`, the match is on the opposite of the `match` criteria. Default is `false`. - Invert *bool `pulumi:"invert"` - // Data to match from the request. - Match *RouteSpecGrpcRouteMatchMetadataMatch `pulumi:"match"` - // Name of the route. Must be between 1 and 50 characters in length. - Name string `pulumi:"name"` +type RouteSpecArgs struct { + // GRPC routing information for the route. + GrpcRoute RouteSpecGrpcRoutePtrInput `pulumi:"grpcRoute"` + // HTTP/2 routing information for the route. + Http2Route RouteSpecHttp2RoutePtrInput `pulumi:"http2Route"` + // HTTP routing information for the route. + HttpRoute RouteSpecHttpRoutePtrInput `pulumi:"httpRoute"` + // Priority for the route, between `0` and `1000`. + // Routes are matched based on the specified value, where `0` is the highest priority. + Priority pulumi.IntPtrInput `pulumi:"priority"` + // TCP routing information for the route. + TcpRoute RouteSpecTcpRoutePtrInput `pulumi:"tcpRoute"` } -// RouteSpecGrpcRouteMatchMetadataInput is an input type that accepts RouteSpecGrpcRouteMatchMetadataArgs and RouteSpecGrpcRouteMatchMetadataOutput values. -// You can construct a concrete instance of `RouteSpecGrpcRouteMatchMetadataInput` via: -// -// RouteSpecGrpcRouteMatchMetadataArgs{...} -type RouteSpecGrpcRouteMatchMetadataInput interface { - pulumi.Input - - ToRouteSpecGrpcRouteMatchMetadataOutput() RouteSpecGrpcRouteMatchMetadataOutput - ToRouteSpecGrpcRouteMatchMetadataOutputWithContext(context.Context) RouteSpecGrpcRouteMatchMetadataOutput +func (RouteSpecArgs) ElementType() reflect.Type { + return reflect.TypeOf((*RouteSpec)(nil)).Elem() } -type RouteSpecGrpcRouteMatchMetadataArgs struct { - // If `true`, the match is on the opposite of the `match` criteria. Default is `false`. - Invert pulumi.BoolPtrInput `pulumi:"invert"` - // Data to match from the request. - Match RouteSpecGrpcRouteMatchMetadataMatchPtrInput `pulumi:"match"` - // Name of the route. Must be between 1 and 50 characters in length. - Name pulumi.StringInput `pulumi:"name"` +func (i RouteSpecArgs) ToRouteSpecOutput() RouteSpecOutput { + return i.ToRouteSpecOutputWithContext(context.Background()) } -func (RouteSpecGrpcRouteMatchMetadataArgs) ElementType() reflect.Type { - return reflect.TypeOf((*RouteSpecGrpcRouteMatchMetadata)(nil)).Elem() +func (i RouteSpecArgs) ToRouteSpecOutputWithContext(ctx context.Context) RouteSpecOutput { + return pulumi.ToOutputWithContext(ctx, i).(RouteSpecOutput) } -func (i RouteSpecGrpcRouteMatchMetadataArgs) ToRouteSpecGrpcRouteMatchMetadataOutput() RouteSpecGrpcRouteMatchMetadataOutput { - return i.ToRouteSpecGrpcRouteMatchMetadataOutputWithContext(context.Background()) +func (i RouteSpecArgs) ToRouteSpecPtrOutput() RouteSpecPtrOutput { + return i.ToRouteSpecPtrOutputWithContext(context.Background()) } -func (i RouteSpecGrpcRouteMatchMetadataArgs) ToRouteSpecGrpcRouteMatchMetadataOutputWithContext(ctx context.Context) RouteSpecGrpcRouteMatchMetadataOutput { - return pulumi.ToOutputWithContext(ctx, i).(RouteSpecGrpcRouteMatchMetadataOutput) +func (i RouteSpecArgs) ToRouteSpecPtrOutputWithContext(ctx context.Context) RouteSpecPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(RouteSpecOutput).ToRouteSpecPtrOutputWithContext(ctx) } -// RouteSpecGrpcRouteMatchMetadataArrayInput is an input type that accepts RouteSpecGrpcRouteMatchMetadataArray and RouteSpecGrpcRouteMatchMetadataArrayOutput values. -// You can construct a concrete instance of `RouteSpecGrpcRouteMatchMetadataArrayInput` via: +// RouteSpecPtrInput is an input type that accepts RouteSpecArgs, RouteSpecPtr and RouteSpecPtrOutput values. +// You can construct a concrete instance of `RouteSpecPtrInput` via: // -// RouteSpecGrpcRouteMatchMetadataArray{ RouteSpecGrpcRouteMatchMetadataArgs{...} } -type RouteSpecGrpcRouteMatchMetadataArrayInput interface { +// RouteSpecArgs{...} +// +// or: +// +// nil +type RouteSpecPtrInput interface { pulumi.Input - ToRouteSpecGrpcRouteMatchMetadataArrayOutput() RouteSpecGrpcRouteMatchMetadataArrayOutput - ToRouteSpecGrpcRouteMatchMetadataArrayOutputWithContext(context.Context) RouteSpecGrpcRouteMatchMetadataArrayOutput + ToRouteSpecPtrOutput() RouteSpecPtrOutput + ToRouteSpecPtrOutputWithContext(context.Context) RouteSpecPtrOutput } -type RouteSpecGrpcRouteMatchMetadataArray []RouteSpecGrpcRouteMatchMetadataInput +type routeSpecPtrType RouteSpecArgs -func (RouteSpecGrpcRouteMatchMetadataArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]RouteSpecGrpcRouteMatchMetadata)(nil)).Elem() +func RouteSpecPtr(v *RouteSpecArgs) RouteSpecPtrInput { + return (*routeSpecPtrType)(v) } -func (i RouteSpecGrpcRouteMatchMetadataArray) ToRouteSpecGrpcRouteMatchMetadataArrayOutput() RouteSpecGrpcRouteMatchMetadataArrayOutput { - return i.ToRouteSpecGrpcRouteMatchMetadataArrayOutputWithContext(context.Background()) +func (*routeSpecPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**RouteSpec)(nil)).Elem() } -func (i RouteSpecGrpcRouteMatchMetadataArray) ToRouteSpecGrpcRouteMatchMetadataArrayOutputWithContext(ctx context.Context) RouteSpecGrpcRouteMatchMetadataArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(RouteSpecGrpcRouteMatchMetadataArrayOutput) +func (i *routeSpecPtrType) ToRouteSpecPtrOutput() RouteSpecPtrOutput { + return i.ToRouteSpecPtrOutputWithContext(context.Background()) } -type RouteSpecGrpcRouteMatchMetadataOutput struct{ *pulumi.OutputState } +func (i *routeSpecPtrType) ToRouteSpecPtrOutputWithContext(ctx context.Context) RouteSpecPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(RouteSpecPtrOutput) +} -func (RouteSpecGrpcRouteMatchMetadataOutput) ElementType() reflect.Type { - return reflect.TypeOf((*RouteSpecGrpcRouteMatchMetadata)(nil)).Elem() +type RouteSpecOutput struct{ *pulumi.OutputState } + +func (RouteSpecOutput) ElementType() reflect.Type { + return reflect.TypeOf((*RouteSpec)(nil)).Elem() } -func (o RouteSpecGrpcRouteMatchMetadataOutput) ToRouteSpecGrpcRouteMatchMetadataOutput() RouteSpecGrpcRouteMatchMetadataOutput { +func (o RouteSpecOutput) ToRouteSpecOutput() RouteSpecOutput { return o } -func (o RouteSpecGrpcRouteMatchMetadataOutput) ToRouteSpecGrpcRouteMatchMetadataOutputWithContext(ctx context.Context) RouteSpecGrpcRouteMatchMetadataOutput { +func (o RouteSpecOutput) ToRouteSpecOutputWithContext(ctx context.Context) RouteSpecOutput { return o } -// If `true`, the match is on the opposite of the `match` criteria. Default is `false`. -func (o RouteSpecGrpcRouteMatchMetadataOutput) Invert() pulumi.BoolPtrOutput { - return o.ApplyT(func(v RouteSpecGrpcRouteMatchMetadata) *bool { return v.Invert }).(pulumi.BoolPtrOutput) +func (o RouteSpecOutput) ToRouteSpecPtrOutput() RouteSpecPtrOutput { + return o.ToRouteSpecPtrOutputWithContext(context.Background()) } -// Data to match from the request. -func (o RouteSpecGrpcRouteMatchMetadataOutput) Match() RouteSpecGrpcRouteMatchMetadataMatchPtrOutput { - return o.ApplyT(func(v RouteSpecGrpcRouteMatchMetadata) *RouteSpecGrpcRouteMatchMetadataMatch { return v.Match }).(RouteSpecGrpcRouteMatchMetadataMatchPtrOutput) +func (o RouteSpecOutput) ToRouteSpecPtrOutputWithContext(ctx context.Context) RouteSpecPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v RouteSpec) *RouteSpec { + return &v + }).(RouteSpecPtrOutput) } -// Name of the route. Must be between 1 and 50 characters in length. -func (o RouteSpecGrpcRouteMatchMetadataOutput) Name() pulumi.StringOutput { - return o.ApplyT(func(v RouteSpecGrpcRouteMatchMetadata) string { return v.Name }).(pulumi.StringOutput) +// GRPC routing information for the route. +func (o RouteSpecOutput) GrpcRoute() RouteSpecGrpcRoutePtrOutput { + return o.ApplyT(func(v RouteSpec) *RouteSpecGrpcRoute { return v.GrpcRoute }).(RouteSpecGrpcRoutePtrOutput) } -type RouteSpecGrpcRouteMatchMetadataArrayOutput struct{ *pulumi.OutputState } +// HTTP/2 routing information for the route. +func (o RouteSpecOutput) Http2Route() RouteSpecHttp2RoutePtrOutput { + return o.ApplyT(func(v RouteSpec) *RouteSpecHttp2Route { return v.Http2Route }).(RouteSpecHttp2RoutePtrOutput) +} -func (RouteSpecGrpcRouteMatchMetadataArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]RouteSpecGrpcRouteMatchMetadata)(nil)).Elem() +// HTTP routing information for the route. +func (o RouteSpecOutput) HttpRoute() RouteSpecHttpRoutePtrOutput { + return o.ApplyT(func(v RouteSpec) *RouteSpecHttpRoute { return v.HttpRoute }).(RouteSpecHttpRoutePtrOutput) } -func (o RouteSpecGrpcRouteMatchMetadataArrayOutput) ToRouteSpecGrpcRouteMatchMetadataArrayOutput() RouteSpecGrpcRouteMatchMetadataArrayOutput { - return o +// Priority for the route, between `0` and `1000`. +// Routes are matched based on the specified value, where `0` is the highest priority. +func (o RouteSpecOutput) Priority() pulumi.IntPtrOutput { + return o.ApplyT(func(v RouteSpec) *int { return v.Priority }).(pulumi.IntPtrOutput) } -func (o RouteSpecGrpcRouteMatchMetadataArrayOutput) ToRouteSpecGrpcRouteMatchMetadataArrayOutputWithContext(ctx context.Context) RouteSpecGrpcRouteMatchMetadataArrayOutput { - return o +// TCP routing information for the route. +func (o RouteSpecOutput) TcpRoute() RouteSpecTcpRoutePtrOutput { + return o.ApplyT(func(v RouteSpec) *RouteSpecTcpRoute { return v.TcpRoute }).(RouteSpecTcpRoutePtrOutput) } -func (o RouteSpecGrpcRouteMatchMetadataArrayOutput) Index(i pulumi.IntInput) RouteSpecGrpcRouteMatchMetadataOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) RouteSpecGrpcRouteMatchMetadata { - return vs[0].([]RouteSpecGrpcRouteMatchMetadata)[vs[1].(int)] - }).(RouteSpecGrpcRouteMatchMetadataOutput) +type RouteSpecPtrOutput struct{ *pulumi.OutputState } + +func (RouteSpecPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**RouteSpec)(nil)).Elem() } -type RouteSpecGrpcRouteMatchMetadataMatch struct { - // Value sent by the client must match the specified value exactly. Must be between 1 and 255 characters in length. - Exact *string `pulumi:"exact"` - // Value sent by the client must begin with the specified characters. Must be between 1 and 255 characters in length. - // This parameter must always start with /, which by itself matches all requests to the virtual router service name. - Prefix *string `pulumi:"prefix"` - // Object that specifies the range of numbers that the value sent by the client must be included in. - Range *RouteSpecGrpcRouteMatchMetadataMatchRange `pulumi:"range"` - // Value sent by the client must include the specified characters. Must be between 1 and 255 characters in length. - Regex *string `pulumi:"regex"` - // Value sent by the client must end with the specified characters. Must be between 1 and 255 characters in length. - Suffix *string `pulumi:"suffix"` +func (o RouteSpecPtrOutput) ToRouteSpecPtrOutput() RouteSpecPtrOutput { + return o } -// RouteSpecGrpcRouteMatchMetadataMatchInput is an input type that accepts RouteSpecGrpcRouteMatchMetadataMatchArgs and RouteSpecGrpcRouteMatchMetadataMatchOutput values. -// You can construct a concrete instance of `RouteSpecGrpcRouteMatchMetadataMatchInput` via: +func (o RouteSpecPtrOutput) ToRouteSpecPtrOutputWithContext(ctx context.Context) RouteSpecPtrOutput { + return o +} + +func (o RouteSpecPtrOutput) Elem() RouteSpecOutput { + return o.ApplyT(func(v *RouteSpec) RouteSpec { + if v != nil { + return *v + } + var ret RouteSpec + return ret + }).(RouteSpecOutput) +} + +// GRPC routing information for the route. +func (o RouteSpecPtrOutput) GrpcRoute() RouteSpecGrpcRoutePtrOutput { + return o.ApplyT(func(v *RouteSpec) *RouteSpecGrpcRoute { + if v == nil { + return nil + } + return v.GrpcRoute + }).(RouteSpecGrpcRoutePtrOutput) +} + +// HTTP/2 routing information for the route. +func (o RouteSpecPtrOutput) Http2Route() RouteSpecHttp2RoutePtrOutput { + return o.ApplyT(func(v *RouteSpec) *RouteSpecHttp2Route { + if v == nil { + return nil + } + return v.Http2Route + }).(RouteSpecHttp2RoutePtrOutput) +} + +// HTTP routing information for the route. +func (o RouteSpecPtrOutput) HttpRoute() RouteSpecHttpRoutePtrOutput { + return o.ApplyT(func(v *RouteSpec) *RouteSpecHttpRoute { + if v == nil { + return nil + } + return v.HttpRoute + }).(RouteSpecHttpRoutePtrOutput) +} + +// Priority for the route, between `0` and `1000`. +// Routes are matched based on the specified value, where `0` is the highest priority. +func (o RouteSpecPtrOutput) Priority() pulumi.IntPtrOutput { + return o.ApplyT(func(v *RouteSpec) *int { + if v == nil { + return nil + } + return v.Priority + }).(pulumi.IntPtrOutput) +} + +// TCP routing information for the route. +func (o RouteSpecPtrOutput) TcpRoute() RouteSpecTcpRoutePtrOutput { + return o.ApplyT(func(v *RouteSpec) *RouteSpecTcpRoute { + if v == nil { + return nil + } + return v.TcpRoute + }).(RouteSpecTcpRoutePtrOutput) +} + +type RouteSpecGrpcRoute struct { + // Action to take if a match is determined. + Action RouteSpecGrpcRouteAction `pulumi:"action"` + // Criteria for determining an gRPC request match. + Match *RouteSpecGrpcRouteMatch `pulumi:"match"` + // Retry policy. + RetryPolicy *RouteSpecGrpcRouteRetryPolicy `pulumi:"retryPolicy"` + // Types of timeouts. + Timeout *RouteSpecGrpcRouteTimeout `pulumi:"timeout"` +} + +// RouteSpecGrpcRouteInput is an input type that accepts RouteSpecGrpcRouteArgs and RouteSpecGrpcRouteOutput values. +// You can construct a concrete instance of `RouteSpecGrpcRouteInput` via: // -// RouteSpecGrpcRouteMatchMetadataMatchArgs{...} -type RouteSpecGrpcRouteMatchMetadataMatchInput interface { +// RouteSpecGrpcRouteArgs{...} +type RouteSpecGrpcRouteInput interface { pulumi.Input - ToRouteSpecGrpcRouteMatchMetadataMatchOutput() RouteSpecGrpcRouteMatchMetadataMatchOutput - ToRouteSpecGrpcRouteMatchMetadataMatchOutputWithContext(context.Context) RouteSpecGrpcRouteMatchMetadataMatchOutput + ToRouteSpecGrpcRouteOutput() RouteSpecGrpcRouteOutput + ToRouteSpecGrpcRouteOutputWithContext(context.Context) RouteSpecGrpcRouteOutput } -type RouteSpecGrpcRouteMatchMetadataMatchArgs struct { - // Value sent by the client must match the specified value exactly. Must be between 1 and 255 characters in length. - Exact pulumi.StringPtrInput `pulumi:"exact"` - // Value sent by the client must begin with the specified characters. Must be between 1 and 255 characters in length. - // This parameter must always start with /, which by itself matches all requests to the virtual router service name. - Prefix pulumi.StringPtrInput `pulumi:"prefix"` - // Object that specifies the range of numbers that the value sent by the client must be included in. - Range RouteSpecGrpcRouteMatchMetadataMatchRangePtrInput `pulumi:"range"` - // Value sent by the client must include the specified characters. Must be between 1 and 255 characters in length. - Regex pulumi.StringPtrInput `pulumi:"regex"` - // Value sent by the client must end with the specified characters. Must be between 1 and 255 characters in length. - Suffix pulumi.StringPtrInput `pulumi:"suffix"` +type RouteSpecGrpcRouteArgs struct { + // Action to take if a match is determined. + Action RouteSpecGrpcRouteActionInput `pulumi:"action"` + // Criteria for determining an gRPC request match. + Match RouteSpecGrpcRouteMatchPtrInput `pulumi:"match"` + // Retry policy. + RetryPolicy RouteSpecGrpcRouteRetryPolicyPtrInput `pulumi:"retryPolicy"` + // Types of timeouts. + Timeout RouteSpecGrpcRouteTimeoutPtrInput `pulumi:"timeout"` } -func (RouteSpecGrpcRouteMatchMetadataMatchArgs) ElementType() reflect.Type { - return reflect.TypeOf((*RouteSpecGrpcRouteMatchMetadataMatch)(nil)).Elem() +func (RouteSpecGrpcRouteArgs) ElementType() reflect.Type { + return reflect.TypeOf((*RouteSpecGrpcRoute)(nil)).Elem() } -func (i RouteSpecGrpcRouteMatchMetadataMatchArgs) ToRouteSpecGrpcRouteMatchMetadataMatchOutput() RouteSpecGrpcRouteMatchMetadataMatchOutput { - return i.ToRouteSpecGrpcRouteMatchMetadataMatchOutputWithContext(context.Background()) +func (i RouteSpecGrpcRouteArgs) ToRouteSpecGrpcRouteOutput() RouteSpecGrpcRouteOutput { + return i.ToRouteSpecGrpcRouteOutputWithContext(context.Background()) } -func (i RouteSpecGrpcRouteMatchMetadataMatchArgs) ToRouteSpecGrpcRouteMatchMetadataMatchOutputWithContext(ctx context.Context) RouteSpecGrpcRouteMatchMetadataMatchOutput { - return pulumi.ToOutputWithContext(ctx, i).(RouteSpecGrpcRouteMatchMetadataMatchOutput) +func (i RouteSpecGrpcRouteArgs) ToRouteSpecGrpcRouteOutputWithContext(ctx context.Context) RouteSpecGrpcRouteOutput { + return pulumi.ToOutputWithContext(ctx, i).(RouteSpecGrpcRouteOutput) } -func (i RouteSpecGrpcRouteMatchMetadataMatchArgs) ToRouteSpecGrpcRouteMatchMetadataMatchPtrOutput() RouteSpecGrpcRouteMatchMetadataMatchPtrOutput { - return i.ToRouteSpecGrpcRouteMatchMetadataMatchPtrOutputWithContext(context.Background()) +func (i RouteSpecGrpcRouteArgs) ToRouteSpecGrpcRoutePtrOutput() RouteSpecGrpcRoutePtrOutput { + return i.ToRouteSpecGrpcRoutePtrOutputWithContext(context.Background()) } -func (i RouteSpecGrpcRouteMatchMetadataMatchArgs) ToRouteSpecGrpcRouteMatchMetadataMatchPtrOutputWithContext(ctx context.Context) RouteSpecGrpcRouteMatchMetadataMatchPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(RouteSpecGrpcRouteMatchMetadataMatchOutput).ToRouteSpecGrpcRouteMatchMetadataMatchPtrOutputWithContext(ctx) +func (i RouteSpecGrpcRouteArgs) ToRouteSpecGrpcRoutePtrOutputWithContext(ctx context.Context) RouteSpecGrpcRoutePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(RouteSpecGrpcRouteOutput).ToRouteSpecGrpcRoutePtrOutputWithContext(ctx) } -// RouteSpecGrpcRouteMatchMetadataMatchPtrInput is an input type that accepts RouteSpecGrpcRouteMatchMetadataMatchArgs, RouteSpecGrpcRouteMatchMetadataMatchPtr and RouteSpecGrpcRouteMatchMetadataMatchPtrOutput values. -// You can construct a concrete instance of `RouteSpecGrpcRouteMatchMetadataMatchPtrInput` via: +// RouteSpecGrpcRoutePtrInput is an input type that accepts RouteSpecGrpcRouteArgs, RouteSpecGrpcRoutePtr and RouteSpecGrpcRoutePtrOutput values. +// You can construct a concrete instance of `RouteSpecGrpcRoutePtrInput` via: // -// RouteSpecGrpcRouteMatchMetadataMatchArgs{...} +// RouteSpecGrpcRouteArgs{...} // // or: // // nil -type RouteSpecGrpcRouteMatchMetadataMatchPtrInput interface { +type RouteSpecGrpcRoutePtrInput interface { pulumi.Input - ToRouteSpecGrpcRouteMatchMetadataMatchPtrOutput() RouteSpecGrpcRouteMatchMetadataMatchPtrOutput - ToRouteSpecGrpcRouteMatchMetadataMatchPtrOutputWithContext(context.Context) RouteSpecGrpcRouteMatchMetadataMatchPtrOutput + ToRouteSpecGrpcRoutePtrOutput() RouteSpecGrpcRoutePtrOutput + ToRouteSpecGrpcRoutePtrOutputWithContext(context.Context) RouteSpecGrpcRoutePtrOutput } -type routeSpecGrpcRouteMatchMetadataMatchPtrType RouteSpecGrpcRouteMatchMetadataMatchArgs +type routeSpecGrpcRoutePtrType RouteSpecGrpcRouteArgs -func RouteSpecGrpcRouteMatchMetadataMatchPtr(v *RouteSpecGrpcRouteMatchMetadataMatchArgs) RouteSpecGrpcRouteMatchMetadataMatchPtrInput { - return (*routeSpecGrpcRouteMatchMetadataMatchPtrType)(v) +func RouteSpecGrpcRoutePtr(v *RouteSpecGrpcRouteArgs) RouteSpecGrpcRoutePtrInput { + return (*routeSpecGrpcRoutePtrType)(v) } -func (*routeSpecGrpcRouteMatchMetadataMatchPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**RouteSpecGrpcRouteMatchMetadataMatch)(nil)).Elem() +func (*routeSpecGrpcRoutePtrType) ElementType() reflect.Type { + return reflect.TypeOf((**RouteSpecGrpcRoute)(nil)).Elem() } -func (i *routeSpecGrpcRouteMatchMetadataMatchPtrType) ToRouteSpecGrpcRouteMatchMetadataMatchPtrOutput() RouteSpecGrpcRouteMatchMetadataMatchPtrOutput { - return i.ToRouteSpecGrpcRouteMatchMetadataMatchPtrOutputWithContext(context.Background()) +func (i *routeSpecGrpcRoutePtrType) ToRouteSpecGrpcRoutePtrOutput() RouteSpecGrpcRoutePtrOutput { + return i.ToRouteSpecGrpcRoutePtrOutputWithContext(context.Background()) } -func (i *routeSpecGrpcRouteMatchMetadataMatchPtrType) ToRouteSpecGrpcRouteMatchMetadataMatchPtrOutputWithContext(ctx context.Context) RouteSpecGrpcRouteMatchMetadataMatchPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(RouteSpecGrpcRouteMatchMetadataMatchPtrOutput) +func (i *routeSpecGrpcRoutePtrType) ToRouteSpecGrpcRoutePtrOutputWithContext(ctx context.Context) RouteSpecGrpcRoutePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(RouteSpecGrpcRoutePtrOutput) } -type RouteSpecGrpcRouteMatchMetadataMatchOutput struct{ *pulumi.OutputState } +type RouteSpecGrpcRouteOutput struct{ *pulumi.OutputState } -func (RouteSpecGrpcRouteMatchMetadataMatchOutput) ElementType() reflect.Type { - return reflect.TypeOf((*RouteSpecGrpcRouteMatchMetadataMatch)(nil)).Elem() +func (RouteSpecGrpcRouteOutput) ElementType() reflect.Type { + return reflect.TypeOf((*RouteSpecGrpcRoute)(nil)).Elem() } -func (o RouteSpecGrpcRouteMatchMetadataMatchOutput) ToRouteSpecGrpcRouteMatchMetadataMatchOutput() RouteSpecGrpcRouteMatchMetadataMatchOutput { +func (o RouteSpecGrpcRouteOutput) ToRouteSpecGrpcRouteOutput() RouteSpecGrpcRouteOutput { return o } -func (o RouteSpecGrpcRouteMatchMetadataMatchOutput) ToRouteSpecGrpcRouteMatchMetadataMatchOutputWithContext(ctx context.Context) RouteSpecGrpcRouteMatchMetadataMatchOutput { +func (o RouteSpecGrpcRouteOutput) ToRouteSpecGrpcRouteOutputWithContext(ctx context.Context) RouteSpecGrpcRouteOutput { return o } -func (o RouteSpecGrpcRouteMatchMetadataMatchOutput) ToRouteSpecGrpcRouteMatchMetadataMatchPtrOutput() RouteSpecGrpcRouteMatchMetadataMatchPtrOutput { - return o.ToRouteSpecGrpcRouteMatchMetadataMatchPtrOutputWithContext(context.Background()) +func (o RouteSpecGrpcRouteOutput) ToRouteSpecGrpcRoutePtrOutput() RouteSpecGrpcRoutePtrOutput { + return o.ToRouteSpecGrpcRoutePtrOutputWithContext(context.Background()) } -func (o RouteSpecGrpcRouteMatchMetadataMatchOutput) ToRouteSpecGrpcRouteMatchMetadataMatchPtrOutputWithContext(ctx context.Context) RouteSpecGrpcRouteMatchMetadataMatchPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v RouteSpecGrpcRouteMatchMetadataMatch) *RouteSpecGrpcRouteMatchMetadataMatch { +func (o RouteSpecGrpcRouteOutput) ToRouteSpecGrpcRoutePtrOutputWithContext(ctx context.Context) RouteSpecGrpcRoutePtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v RouteSpecGrpcRoute) *RouteSpecGrpcRoute { return &v - }).(RouteSpecGrpcRouteMatchMetadataMatchPtrOutput) -} - -// Value sent by the client must match the specified value exactly. Must be between 1 and 255 characters in length. -func (o RouteSpecGrpcRouteMatchMetadataMatchOutput) Exact() pulumi.StringPtrOutput { - return o.ApplyT(func(v RouteSpecGrpcRouteMatchMetadataMatch) *string { return v.Exact }).(pulumi.StringPtrOutput) + }).(RouteSpecGrpcRoutePtrOutput) } -// Value sent by the client must begin with the specified characters. Must be between 1 and 255 characters in length. -// This parameter must always start with /, which by itself matches all requests to the virtual router service name. -func (o RouteSpecGrpcRouteMatchMetadataMatchOutput) Prefix() pulumi.StringPtrOutput { - return o.ApplyT(func(v RouteSpecGrpcRouteMatchMetadataMatch) *string { return v.Prefix }).(pulumi.StringPtrOutput) +// Action to take if a match is determined. +func (o RouteSpecGrpcRouteOutput) Action() RouteSpecGrpcRouteActionOutput { + return o.ApplyT(func(v RouteSpecGrpcRoute) RouteSpecGrpcRouteAction { return v.Action }).(RouteSpecGrpcRouteActionOutput) } -// Object that specifies the range of numbers that the value sent by the client must be included in. -func (o RouteSpecGrpcRouteMatchMetadataMatchOutput) Range() RouteSpecGrpcRouteMatchMetadataMatchRangePtrOutput { - return o.ApplyT(func(v RouteSpecGrpcRouteMatchMetadataMatch) *RouteSpecGrpcRouteMatchMetadataMatchRange { - return v.Range - }).(RouteSpecGrpcRouteMatchMetadataMatchRangePtrOutput) +// Criteria for determining an gRPC request match. +func (o RouteSpecGrpcRouteOutput) Match() RouteSpecGrpcRouteMatchPtrOutput { + return o.ApplyT(func(v RouteSpecGrpcRoute) *RouteSpecGrpcRouteMatch { return v.Match }).(RouteSpecGrpcRouteMatchPtrOutput) } -// Value sent by the client must include the specified characters. Must be between 1 and 255 characters in length. -func (o RouteSpecGrpcRouteMatchMetadataMatchOutput) Regex() pulumi.StringPtrOutput { - return o.ApplyT(func(v RouteSpecGrpcRouteMatchMetadataMatch) *string { return v.Regex }).(pulumi.StringPtrOutput) +// Retry policy. +func (o RouteSpecGrpcRouteOutput) RetryPolicy() RouteSpecGrpcRouteRetryPolicyPtrOutput { + return o.ApplyT(func(v RouteSpecGrpcRoute) *RouteSpecGrpcRouteRetryPolicy { return v.RetryPolicy }).(RouteSpecGrpcRouteRetryPolicyPtrOutput) } -// Value sent by the client must end with the specified characters. Must be between 1 and 255 characters in length. -func (o RouteSpecGrpcRouteMatchMetadataMatchOutput) Suffix() pulumi.StringPtrOutput { - return o.ApplyT(func(v RouteSpecGrpcRouteMatchMetadataMatch) *string { return v.Suffix }).(pulumi.StringPtrOutput) +// Types of timeouts. +func (o RouteSpecGrpcRouteOutput) Timeout() RouteSpecGrpcRouteTimeoutPtrOutput { + return o.ApplyT(func(v RouteSpecGrpcRoute) *RouteSpecGrpcRouteTimeout { return v.Timeout }).(RouteSpecGrpcRouteTimeoutPtrOutput) } -type RouteSpecGrpcRouteMatchMetadataMatchPtrOutput struct{ *pulumi.OutputState } +type RouteSpecGrpcRoutePtrOutput struct{ *pulumi.OutputState } -func (RouteSpecGrpcRouteMatchMetadataMatchPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**RouteSpecGrpcRouteMatchMetadataMatch)(nil)).Elem() +func (RouteSpecGrpcRoutePtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**RouteSpecGrpcRoute)(nil)).Elem() } -func (o RouteSpecGrpcRouteMatchMetadataMatchPtrOutput) ToRouteSpecGrpcRouteMatchMetadataMatchPtrOutput() RouteSpecGrpcRouteMatchMetadataMatchPtrOutput { +func (o RouteSpecGrpcRoutePtrOutput) ToRouteSpecGrpcRoutePtrOutput() RouteSpecGrpcRoutePtrOutput { return o } -func (o RouteSpecGrpcRouteMatchMetadataMatchPtrOutput) ToRouteSpecGrpcRouteMatchMetadataMatchPtrOutputWithContext(ctx context.Context) RouteSpecGrpcRouteMatchMetadataMatchPtrOutput { +func (o RouteSpecGrpcRoutePtrOutput) ToRouteSpecGrpcRoutePtrOutputWithContext(ctx context.Context) RouteSpecGrpcRoutePtrOutput { return o } -func (o RouteSpecGrpcRouteMatchMetadataMatchPtrOutput) Elem() RouteSpecGrpcRouteMatchMetadataMatchOutput { - return o.ApplyT(func(v *RouteSpecGrpcRouteMatchMetadataMatch) RouteSpecGrpcRouteMatchMetadataMatch { +func (o RouteSpecGrpcRoutePtrOutput) Elem() RouteSpecGrpcRouteOutput { + return o.ApplyT(func(v *RouteSpecGrpcRoute) RouteSpecGrpcRoute { if v != nil { return *v } - var ret RouteSpecGrpcRouteMatchMetadataMatch + var ret RouteSpecGrpcRoute return ret - }).(RouteSpecGrpcRouteMatchMetadataMatchOutput) -} - -// Value sent by the client must match the specified value exactly. Must be between 1 and 255 characters in length. -func (o RouteSpecGrpcRouteMatchMetadataMatchPtrOutput) Exact() pulumi.StringPtrOutput { - return o.ApplyT(func(v *RouteSpecGrpcRouteMatchMetadataMatch) *string { - if v == nil { - return nil - } - return v.Exact - }).(pulumi.StringPtrOutput) + }).(RouteSpecGrpcRouteOutput) } -// Value sent by the client must begin with the specified characters. Must be between 1 and 255 characters in length. -// This parameter must always start with /, which by itself matches all requests to the virtual router service name. -func (o RouteSpecGrpcRouteMatchMetadataMatchPtrOutput) Prefix() pulumi.StringPtrOutput { - return o.ApplyT(func(v *RouteSpecGrpcRouteMatchMetadataMatch) *string { +// Action to take if a match is determined. +func (o RouteSpecGrpcRoutePtrOutput) Action() RouteSpecGrpcRouteActionPtrOutput { + return o.ApplyT(func(v *RouteSpecGrpcRoute) *RouteSpecGrpcRouteAction { if v == nil { return nil } - return v.Prefix - }).(pulumi.StringPtrOutput) + return &v.Action + }).(RouteSpecGrpcRouteActionPtrOutput) } -// Object that specifies the range of numbers that the value sent by the client must be included in. -func (o RouteSpecGrpcRouteMatchMetadataMatchPtrOutput) Range() RouteSpecGrpcRouteMatchMetadataMatchRangePtrOutput { - return o.ApplyT(func(v *RouteSpecGrpcRouteMatchMetadataMatch) *RouteSpecGrpcRouteMatchMetadataMatchRange { +// Criteria for determining an gRPC request match. +func (o RouteSpecGrpcRoutePtrOutput) Match() RouteSpecGrpcRouteMatchPtrOutput { + return o.ApplyT(func(v *RouteSpecGrpcRoute) *RouteSpecGrpcRouteMatch { if v == nil { return nil } - return v.Range - }).(RouteSpecGrpcRouteMatchMetadataMatchRangePtrOutput) + return v.Match + }).(RouteSpecGrpcRouteMatchPtrOutput) } -// Value sent by the client must include the specified characters. Must be between 1 and 255 characters in length. -func (o RouteSpecGrpcRouteMatchMetadataMatchPtrOutput) Regex() pulumi.StringPtrOutput { - return o.ApplyT(func(v *RouteSpecGrpcRouteMatchMetadataMatch) *string { +// Retry policy. +func (o RouteSpecGrpcRoutePtrOutput) RetryPolicy() RouteSpecGrpcRouteRetryPolicyPtrOutput { + return o.ApplyT(func(v *RouteSpecGrpcRoute) *RouteSpecGrpcRouteRetryPolicy { if v == nil { return nil } - return v.Regex - }).(pulumi.StringPtrOutput) + return v.RetryPolicy + }).(RouteSpecGrpcRouteRetryPolicyPtrOutput) } -// Value sent by the client must end with the specified characters. Must be between 1 and 255 characters in length. -func (o RouteSpecGrpcRouteMatchMetadataMatchPtrOutput) Suffix() pulumi.StringPtrOutput { - return o.ApplyT(func(v *RouteSpecGrpcRouteMatchMetadataMatch) *string { +// Types of timeouts. +func (o RouteSpecGrpcRoutePtrOutput) Timeout() RouteSpecGrpcRouteTimeoutPtrOutput { + return o.ApplyT(func(v *RouteSpecGrpcRoute) *RouteSpecGrpcRouteTimeout { if v == nil { return nil } - return v.Suffix - }).(pulumi.StringPtrOutput) + return v.Timeout + }).(RouteSpecGrpcRouteTimeoutPtrOutput) } -type RouteSpecGrpcRouteMatchMetadataMatchRange struct { - // End of the range. - End int `pulumi:"end"` - // Start of the range. - Start int `pulumi:"start"` +type RouteSpecGrpcRouteAction struct { + // Targets that traffic is routed to when a request matches the route. + // You can specify one or more targets and their relative weights with which to distribute traffic. + WeightedTargets []RouteSpecGrpcRouteActionWeightedTarget `pulumi:"weightedTargets"` } -// RouteSpecGrpcRouteMatchMetadataMatchRangeInput is an input type that accepts RouteSpecGrpcRouteMatchMetadataMatchRangeArgs and RouteSpecGrpcRouteMatchMetadataMatchRangeOutput values. -// You can construct a concrete instance of `RouteSpecGrpcRouteMatchMetadataMatchRangeInput` via: +// RouteSpecGrpcRouteActionInput is an input type that accepts RouteSpecGrpcRouteActionArgs and RouteSpecGrpcRouteActionOutput values. +// You can construct a concrete instance of `RouteSpecGrpcRouteActionInput` via: // -// RouteSpecGrpcRouteMatchMetadataMatchRangeArgs{...} -type RouteSpecGrpcRouteMatchMetadataMatchRangeInput interface { +// RouteSpecGrpcRouteActionArgs{...} +type RouteSpecGrpcRouteActionInput interface { pulumi.Input - ToRouteSpecGrpcRouteMatchMetadataMatchRangeOutput() RouteSpecGrpcRouteMatchMetadataMatchRangeOutput - ToRouteSpecGrpcRouteMatchMetadataMatchRangeOutputWithContext(context.Context) RouteSpecGrpcRouteMatchMetadataMatchRangeOutput + ToRouteSpecGrpcRouteActionOutput() RouteSpecGrpcRouteActionOutput + ToRouteSpecGrpcRouteActionOutputWithContext(context.Context) RouteSpecGrpcRouteActionOutput } -type RouteSpecGrpcRouteMatchMetadataMatchRangeArgs struct { - // End of the range. - End pulumi.IntInput `pulumi:"end"` - // Start of the range. - Start pulumi.IntInput `pulumi:"start"` +type RouteSpecGrpcRouteActionArgs struct { + // Targets that traffic is routed to when a request matches the route. + // You can specify one or more targets and their relative weights with which to distribute traffic. + WeightedTargets RouteSpecGrpcRouteActionWeightedTargetArrayInput `pulumi:"weightedTargets"` } -func (RouteSpecGrpcRouteMatchMetadataMatchRangeArgs) ElementType() reflect.Type { - return reflect.TypeOf((*RouteSpecGrpcRouteMatchMetadataMatchRange)(nil)).Elem() +func (RouteSpecGrpcRouteActionArgs) ElementType() reflect.Type { + return reflect.TypeOf((*RouteSpecGrpcRouteAction)(nil)).Elem() } -func (i RouteSpecGrpcRouteMatchMetadataMatchRangeArgs) ToRouteSpecGrpcRouteMatchMetadataMatchRangeOutput() RouteSpecGrpcRouteMatchMetadataMatchRangeOutput { - return i.ToRouteSpecGrpcRouteMatchMetadataMatchRangeOutputWithContext(context.Background()) +func (i RouteSpecGrpcRouteActionArgs) ToRouteSpecGrpcRouteActionOutput() RouteSpecGrpcRouteActionOutput { + return i.ToRouteSpecGrpcRouteActionOutputWithContext(context.Background()) } -func (i RouteSpecGrpcRouteMatchMetadataMatchRangeArgs) ToRouteSpecGrpcRouteMatchMetadataMatchRangeOutputWithContext(ctx context.Context) RouteSpecGrpcRouteMatchMetadataMatchRangeOutput { - return pulumi.ToOutputWithContext(ctx, i).(RouteSpecGrpcRouteMatchMetadataMatchRangeOutput) +func (i RouteSpecGrpcRouteActionArgs) ToRouteSpecGrpcRouteActionOutputWithContext(ctx context.Context) RouteSpecGrpcRouteActionOutput { + return pulumi.ToOutputWithContext(ctx, i).(RouteSpecGrpcRouteActionOutput) } -func (i RouteSpecGrpcRouteMatchMetadataMatchRangeArgs) ToRouteSpecGrpcRouteMatchMetadataMatchRangePtrOutput() RouteSpecGrpcRouteMatchMetadataMatchRangePtrOutput { - return i.ToRouteSpecGrpcRouteMatchMetadataMatchRangePtrOutputWithContext(context.Background()) +func (i RouteSpecGrpcRouteActionArgs) ToRouteSpecGrpcRouteActionPtrOutput() RouteSpecGrpcRouteActionPtrOutput { + return i.ToRouteSpecGrpcRouteActionPtrOutputWithContext(context.Background()) } -func (i RouteSpecGrpcRouteMatchMetadataMatchRangeArgs) ToRouteSpecGrpcRouteMatchMetadataMatchRangePtrOutputWithContext(ctx context.Context) RouteSpecGrpcRouteMatchMetadataMatchRangePtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(RouteSpecGrpcRouteMatchMetadataMatchRangeOutput).ToRouteSpecGrpcRouteMatchMetadataMatchRangePtrOutputWithContext(ctx) +func (i RouteSpecGrpcRouteActionArgs) ToRouteSpecGrpcRouteActionPtrOutputWithContext(ctx context.Context) RouteSpecGrpcRouteActionPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(RouteSpecGrpcRouteActionOutput).ToRouteSpecGrpcRouteActionPtrOutputWithContext(ctx) } -// RouteSpecGrpcRouteMatchMetadataMatchRangePtrInput is an input type that accepts RouteSpecGrpcRouteMatchMetadataMatchRangeArgs, RouteSpecGrpcRouteMatchMetadataMatchRangePtr and RouteSpecGrpcRouteMatchMetadataMatchRangePtrOutput values. -// You can construct a concrete instance of `RouteSpecGrpcRouteMatchMetadataMatchRangePtrInput` via: +// RouteSpecGrpcRouteActionPtrInput is an input type that accepts RouteSpecGrpcRouteActionArgs, RouteSpecGrpcRouteActionPtr and RouteSpecGrpcRouteActionPtrOutput values. +// You can construct a concrete instance of `RouteSpecGrpcRouteActionPtrInput` via: // -// RouteSpecGrpcRouteMatchMetadataMatchRangeArgs{...} +// RouteSpecGrpcRouteActionArgs{...} // // or: // // nil -type RouteSpecGrpcRouteMatchMetadataMatchRangePtrInput interface { +type RouteSpecGrpcRouteActionPtrInput interface { pulumi.Input - ToRouteSpecGrpcRouteMatchMetadataMatchRangePtrOutput() RouteSpecGrpcRouteMatchMetadataMatchRangePtrOutput - ToRouteSpecGrpcRouteMatchMetadataMatchRangePtrOutputWithContext(context.Context) RouteSpecGrpcRouteMatchMetadataMatchRangePtrOutput + ToRouteSpecGrpcRouteActionPtrOutput() RouteSpecGrpcRouteActionPtrOutput + ToRouteSpecGrpcRouteActionPtrOutputWithContext(context.Context) RouteSpecGrpcRouteActionPtrOutput } -type routeSpecGrpcRouteMatchMetadataMatchRangePtrType RouteSpecGrpcRouteMatchMetadataMatchRangeArgs +type routeSpecGrpcRouteActionPtrType RouteSpecGrpcRouteActionArgs -func RouteSpecGrpcRouteMatchMetadataMatchRangePtr(v *RouteSpecGrpcRouteMatchMetadataMatchRangeArgs) RouteSpecGrpcRouteMatchMetadataMatchRangePtrInput { - return (*routeSpecGrpcRouteMatchMetadataMatchRangePtrType)(v) +func RouteSpecGrpcRouteActionPtr(v *RouteSpecGrpcRouteActionArgs) RouteSpecGrpcRouteActionPtrInput { + return (*routeSpecGrpcRouteActionPtrType)(v) } -func (*routeSpecGrpcRouteMatchMetadataMatchRangePtrType) ElementType() reflect.Type { - return reflect.TypeOf((**RouteSpecGrpcRouteMatchMetadataMatchRange)(nil)).Elem() +func (*routeSpecGrpcRouteActionPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**RouteSpecGrpcRouteAction)(nil)).Elem() } -func (i *routeSpecGrpcRouteMatchMetadataMatchRangePtrType) ToRouteSpecGrpcRouteMatchMetadataMatchRangePtrOutput() RouteSpecGrpcRouteMatchMetadataMatchRangePtrOutput { - return i.ToRouteSpecGrpcRouteMatchMetadataMatchRangePtrOutputWithContext(context.Background()) +func (i *routeSpecGrpcRouteActionPtrType) ToRouteSpecGrpcRouteActionPtrOutput() RouteSpecGrpcRouteActionPtrOutput { + return i.ToRouteSpecGrpcRouteActionPtrOutputWithContext(context.Background()) } -func (i *routeSpecGrpcRouteMatchMetadataMatchRangePtrType) ToRouteSpecGrpcRouteMatchMetadataMatchRangePtrOutputWithContext(ctx context.Context) RouteSpecGrpcRouteMatchMetadataMatchRangePtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(RouteSpecGrpcRouteMatchMetadataMatchRangePtrOutput) +func (i *routeSpecGrpcRouteActionPtrType) ToRouteSpecGrpcRouteActionPtrOutputWithContext(ctx context.Context) RouteSpecGrpcRouteActionPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(RouteSpecGrpcRouteActionPtrOutput) } -type RouteSpecGrpcRouteMatchMetadataMatchRangeOutput struct{ *pulumi.OutputState } +type RouteSpecGrpcRouteActionOutput struct{ *pulumi.OutputState } -func (RouteSpecGrpcRouteMatchMetadataMatchRangeOutput) ElementType() reflect.Type { - return reflect.TypeOf((*RouteSpecGrpcRouteMatchMetadataMatchRange)(nil)).Elem() +func (RouteSpecGrpcRouteActionOutput) ElementType() reflect.Type { + return reflect.TypeOf((*RouteSpecGrpcRouteAction)(nil)).Elem() } -func (o RouteSpecGrpcRouteMatchMetadataMatchRangeOutput) ToRouteSpecGrpcRouteMatchMetadataMatchRangeOutput() RouteSpecGrpcRouteMatchMetadataMatchRangeOutput { +func (o RouteSpecGrpcRouteActionOutput) ToRouteSpecGrpcRouteActionOutput() RouteSpecGrpcRouteActionOutput { return o } -func (o RouteSpecGrpcRouteMatchMetadataMatchRangeOutput) ToRouteSpecGrpcRouteMatchMetadataMatchRangeOutputWithContext(ctx context.Context) RouteSpecGrpcRouteMatchMetadataMatchRangeOutput { +func (o RouteSpecGrpcRouteActionOutput) ToRouteSpecGrpcRouteActionOutputWithContext(ctx context.Context) RouteSpecGrpcRouteActionOutput { return o } -func (o RouteSpecGrpcRouteMatchMetadataMatchRangeOutput) ToRouteSpecGrpcRouteMatchMetadataMatchRangePtrOutput() RouteSpecGrpcRouteMatchMetadataMatchRangePtrOutput { - return o.ToRouteSpecGrpcRouteMatchMetadataMatchRangePtrOutputWithContext(context.Background()) +func (o RouteSpecGrpcRouteActionOutput) ToRouteSpecGrpcRouteActionPtrOutput() RouteSpecGrpcRouteActionPtrOutput { + return o.ToRouteSpecGrpcRouteActionPtrOutputWithContext(context.Background()) } -func (o RouteSpecGrpcRouteMatchMetadataMatchRangeOutput) ToRouteSpecGrpcRouteMatchMetadataMatchRangePtrOutputWithContext(ctx context.Context) RouteSpecGrpcRouteMatchMetadataMatchRangePtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v RouteSpecGrpcRouteMatchMetadataMatchRange) *RouteSpecGrpcRouteMatchMetadataMatchRange { +func (o RouteSpecGrpcRouteActionOutput) ToRouteSpecGrpcRouteActionPtrOutputWithContext(ctx context.Context) RouteSpecGrpcRouteActionPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v RouteSpecGrpcRouteAction) *RouteSpecGrpcRouteAction { return &v - }).(RouteSpecGrpcRouteMatchMetadataMatchRangePtrOutput) -} - -// End of the range. -func (o RouteSpecGrpcRouteMatchMetadataMatchRangeOutput) End() pulumi.IntOutput { - return o.ApplyT(func(v RouteSpecGrpcRouteMatchMetadataMatchRange) int { return v.End }).(pulumi.IntOutput) + }).(RouteSpecGrpcRouteActionPtrOutput) } -// Start of the range. -func (o RouteSpecGrpcRouteMatchMetadataMatchRangeOutput) Start() pulumi.IntOutput { - return o.ApplyT(func(v RouteSpecGrpcRouteMatchMetadataMatchRange) int { return v.Start }).(pulumi.IntOutput) +// Targets that traffic is routed to when a request matches the route. +// You can specify one or more targets and their relative weights with which to distribute traffic. +func (o RouteSpecGrpcRouteActionOutput) WeightedTargets() RouteSpecGrpcRouteActionWeightedTargetArrayOutput { + return o.ApplyT(func(v RouteSpecGrpcRouteAction) []RouteSpecGrpcRouteActionWeightedTarget { return v.WeightedTargets }).(RouteSpecGrpcRouteActionWeightedTargetArrayOutput) } -type RouteSpecGrpcRouteMatchMetadataMatchRangePtrOutput struct{ *pulumi.OutputState } +type RouteSpecGrpcRouteActionPtrOutput struct{ *pulumi.OutputState } -func (RouteSpecGrpcRouteMatchMetadataMatchRangePtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**RouteSpecGrpcRouteMatchMetadataMatchRange)(nil)).Elem() +func (RouteSpecGrpcRouteActionPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**RouteSpecGrpcRouteAction)(nil)).Elem() } -func (o RouteSpecGrpcRouteMatchMetadataMatchRangePtrOutput) ToRouteSpecGrpcRouteMatchMetadataMatchRangePtrOutput() RouteSpecGrpcRouteMatchMetadataMatchRangePtrOutput { +func (o RouteSpecGrpcRouteActionPtrOutput) ToRouteSpecGrpcRouteActionPtrOutput() RouteSpecGrpcRouteActionPtrOutput { return o } -func (o RouteSpecGrpcRouteMatchMetadataMatchRangePtrOutput) ToRouteSpecGrpcRouteMatchMetadataMatchRangePtrOutputWithContext(ctx context.Context) RouteSpecGrpcRouteMatchMetadataMatchRangePtrOutput { +func (o RouteSpecGrpcRouteActionPtrOutput) ToRouteSpecGrpcRouteActionPtrOutputWithContext(ctx context.Context) RouteSpecGrpcRouteActionPtrOutput { return o } -func (o RouteSpecGrpcRouteMatchMetadataMatchRangePtrOutput) Elem() RouteSpecGrpcRouteMatchMetadataMatchRangeOutput { - return o.ApplyT(func(v *RouteSpecGrpcRouteMatchMetadataMatchRange) RouteSpecGrpcRouteMatchMetadataMatchRange { +func (o RouteSpecGrpcRouteActionPtrOutput) Elem() RouteSpecGrpcRouteActionOutput { + return o.ApplyT(func(v *RouteSpecGrpcRouteAction) RouteSpecGrpcRouteAction { if v != nil { return *v } - var ret RouteSpecGrpcRouteMatchMetadataMatchRange + var ret RouteSpecGrpcRouteAction return ret - }).(RouteSpecGrpcRouteMatchMetadataMatchRangeOutput) -} - -// End of the range. -func (o RouteSpecGrpcRouteMatchMetadataMatchRangePtrOutput) End() pulumi.IntPtrOutput { - return o.ApplyT(func(v *RouteSpecGrpcRouteMatchMetadataMatchRange) *int { - if v == nil { - return nil - } - return &v.End - }).(pulumi.IntPtrOutput) + }).(RouteSpecGrpcRouteActionOutput) } -// Start of the range. -func (o RouteSpecGrpcRouteMatchMetadataMatchRangePtrOutput) Start() pulumi.IntPtrOutput { - return o.ApplyT(func(v *RouteSpecGrpcRouteMatchMetadataMatchRange) *int { +// Targets that traffic is routed to when a request matches the route. +// You can specify one or more targets and their relative weights with which to distribute traffic. +func (o RouteSpecGrpcRouteActionPtrOutput) WeightedTargets() RouteSpecGrpcRouteActionWeightedTargetArrayOutput { + return o.ApplyT(func(v *RouteSpecGrpcRouteAction) []RouteSpecGrpcRouteActionWeightedTarget { if v == nil { return nil } - return &v.Start - }).(pulumi.IntPtrOutput) + return v.WeightedTargets + }).(RouteSpecGrpcRouteActionWeightedTargetArrayOutput) } -type RouteSpecGrpcRouteRetryPolicy struct { - // List of gRPC retry events. - // Valid values: `cancelled`, `deadline-exceeded`, `internal`, `resource-exhausted`, `unavailable`. - GrpcRetryEvents []string `pulumi:"grpcRetryEvents"` - // List of HTTP retry events. - // Valid values: `client-error` (HTTP status code 409), `gateway-error` (HTTP status codes 502, 503, and 504), `server-error` (HTTP status codes 500, 501, 502, 503, 504, 505, 506, 507, 508, 510, and 511), `stream-error` (retry on refused stream). - // Valid values: `client-error` (HTTP status code 409), `gateway-error` (HTTP status codes 502, 503, and 504), `server-error` (HTTP status codes 500, 501, 502, 503, 504, 505, 506, 507, 508, 510, and 511), `stream-error` (retry on refused stream). - HttpRetryEvents []string `pulumi:"httpRetryEvents"` - // Maximum number of retries. - MaxRetries int `pulumi:"maxRetries"` - // Per-retry timeout. - PerRetryTimeout RouteSpecGrpcRouteRetryPolicyPerRetryTimeout `pulumi:"perRetryTimeout"` - // List of TCP retry events. The only valid value is `connection-error`. - TcpRetryEvents []string `pulumi:"tcpRetryEvents"` +type RouteSpecGrpcRouteActionWeightedTarget struct { + // The targeted port of the weighted object. + Port *int `pulumi:"port"` + // Virtual node to associate with the weighted target. Must be between 1 and 255 characters in length. + VirtualNode string `pulumi:"virtualNode"` + // Relative weight of the weighted target. An integer between 0 and 100. + Weight int `pulumi:"weight"` } -// RouteSpecGrpcRouteRetryPolicyInput is an input type that accepts RouteSpecGrpcRouteRetryPolicyArgs and RouteSpecGrpcRouteRetryPolicyOutput values. -// You can construct a concrete instance of `RouteSpecGrpcRouteRetryPolicyInput` via: +// RouteSpecGrpcRouteActionWeightedTargetInput is an input type that accepts RouteSpecGrpcRouteActionWeightedTargetArgs and RouteSpecGrpcRouteActionWeightedTargetOutput values. +// You can construct a concrete instance of `RouteSpecGrpcRouteActionWeightedTargetInput` via: // -// RouteSpecGrpcRouteRetryPolicyArgs{...} -type RouteSpecGrpcRouteRetryPolicyInput interface { +// RouteSpecGrpcRouteActionWeightedTargetArgs{...} +type RouteSpecGrpcRouteActionWeightedTargetInput interface { pulumi.Input - ToRouteSpecGrpcRouteRetryPolicyOutput() RouteSpecGrpcRouteRetryPolicyOutput - ToRouteSpecGrpcRouteRetryPolicyOutputWithContext(context.Context) RouteSpecGrpcRouteRetryPolicyOutput + ToRouteSpecGrpcRouteActionWeightedTargetOutput() RouteSpecGrpcRouteActionWeightedTargetOutput + ToRouteSpecGrpcRouteActionWeightedTargetOutputWithContext(context.Context) RouteSpecGrpcRouteActionWeightedTargetOutput } -type RouteSpecGrpcRouteRetryPolicyArgs struct { - // List of gRPC retry events. - // Valid values: `cancelled`, `deadline-exceeded`, `internal`, `resource-exhausted`, `unavailable`. - GrpcRetryEvents pulumi.StringArrayInput `pulumi:"grpcRetryEvents"` - // List of HTTP retry events. - // Valid values: `client-error` (HTTP status code 409), `gateway-error` (HTTP status codes 502, 503, and 504), `server-error` (HTTP status codes 500, 501, 502, 503, 504, 505, 506, 507, 508, 510, and 511), `stream-error` (retry on refused stream). - // Valid values: `client-error` (HTTP status code 409), `gateway-error` (HTTP status codes 502, 503, and 504), `server-error` (HTTP status codes 500, 501, 502, 503, 504, 505, 506, 507, 508, 510, and 511), `stream-error` (retry on refused stream). - HttpRetryEvents pulumi.StringArrayInput `pulumi:"httpRetryEvents"` - // Maximum number of retries. - MaxRetries pulumi.IntInput `pulumi:"maxRetries"` - // Per-retry timeout. - PerRetryTimeout RouteSpecGrpcRouteRetryPolicyPerRetryTimeoutInput `pulumi:"perRetryTimeout"` - // List of TCP retry events. The only valid value is `connection-error`. - TcpRetryEvents pulumi.StringArrayInput `pulumi:"tcpRetryEvents"` +type RouteSpecGrpcRouteActionWeightedTargetArgs struct { + // The targeted port of the weighted object. + Port pulumi.IntPtrInput `pulumi:"port"` + // Virtual node to associate with the weighted target. Must be between 1 and 255 characters in length. + VirtualNode pulumi.StringInput `pulumi:"virtualNode"` + // Relative weight of the weighted target. An integer between 0 and 100. + Weight pulumi.IntInput `pulumi:"weight"` } -func (RouteSpecGrpcRouteRetryPolicyArgs) ElementType() reflect.Type { - return reflect.TypeOf((*RouteSpecGrpcRouteRetryPolicy)(nil)).Elem() +func (RouteSpecGrpcRouteActionWeightedTargetArgs) ElementType() reflect.Type { + return reflect.TypeOf((*RouteSpecGrpcRouteActionWeightedTarget)(nil)).Elem() } -func (i RouteSpecGrpcRouteRetryPolicyArgs) ToRouteSpecGrpcRouteRetryPolicyOutput() RouteSpecGrpcRouteRetryPolicyOutput { - return i.ToRouteSpecGrpcRouteRetryPolicyOutputWithContext(context.Background()) -} - -func (i RouteSpecGrpcRouteRetryPolicyArgs) ToRouteSpecGrpcRouteRetryPolicyOutputWithContext(ctx context.Context) RouteSpecGrpcRouteRetryPolicyOutput { - return pulumi.ToOutputWithContext(ctx, i).(RouteSpecGrpcRouteRetryPolicyOutput) -} - -func (i RouteSpecGrpcRouteRetryPolicyArgs) ToRouteSpecGrpcRouteRetryPolicyPtrOutput() RouteSpecGrpcRouteRetryPolicyPtrOutput { - return i.ToRouteSpecGrpcRouteRetryPolicyPtrOutputWithContext(context.Background()) +func (i RouteSpecGrpcRouteActionWeightedTargetArgs) ToRouteSpecGrpcRouteActionWeightedTargetOutput() RouteSpecGrpcRouteActionWeightedTargetOutput { + return i.ToRouteSpecGrpcRouteActionWeightedTargetOutputWithContext(context.Background()) } -func (i RouteSpecGrpcRouteRetryPolicyArgs) ToRouteSpecGrpcRouteRetryPolicyPtrOutputWithContext(ctx context.Context) RouteSpecGrpcRouteRetryPolicyPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(RouteSpecGrpcRouteRetryPolicyOutput).ToRouteSpecGrpcRouteRetryPolicyPtrOutputWithContext(ctx) +func (i RouteSpecGrpcRouteActionWeightedTargetArgs) ToRouteSpecGrpcRouteActionWeightedTargetOutputWithContext(ctx context.Context) RouteSpecGrpcRouteActionWeightedTargetOutput { + return pulumi.ToOutputWithContext(ctx, i).(RouteSpecGrpcRouteActionWeightedTargetOutput) } -// RouteSpecGrpcRouteRetryPolicyPtrInput is an input type that accepts RouteSpecGrpcRouteRetryPolicyArgs, RouteSpecGrpcRouteRetryPolicyPtr and RouteSpecGrpcRouteRetryPolicyPtrOutput values. -// You can construct a concrete instance of `RouteSpecGrpcRouteRetryPolicyPtrInput` via: -// -// RouteSpecGrpcRouteRetryPolicyArgs{...} -// -// or: +// RouteSpecGrpcRouteActionWeightedTargetArrayInput is an input type that accepts RouteSpecGrpcRouteActionWeightedTargetArray and RouteSpecGrpcRouteActionWeightedTargetArrayOutput values. +// You can construct a concrete instance of `RouteSpecGrpcRouteActionWeightedTargetArrayInput` via: // -// nil -type RouteSpecGrpcRouteRetryPolicyPtrInput interface { +// RouteSpecGrpcRouteActionWeightedTargetArray{ RouteSpecGrpcRouteActionWeightedTargetArgs{...} } +type RouteSpecGrpcRouteActionWeightedTargetArrayInput interface { pulumi.Input - ToRouteSpecGrpcRouteRetryPolicyPtrOutput() RouteSpecGrpcRouteRetryPolicyPtrOutput - ToRouteSpecGrpcRouteRetryPolicyPtrOutputWithContext(context.Context) RouteSpecGrpcRouteRetryPolicyPtrOutput + ToRouteSpecGrpcRouteActionWeightedTargetArrayOutput() RouteSpecGrpcRouteActionWeightedTargetArrayOutput + ToRouteSpecGrpcRouteActionWeightedTargetArrayOutputWithContext(context.Context) RouteSpecGrpcRouteActionWeightedTargetArrayOutput } -type routeSpecGrpcRouteRetryPolicyPtrType RouteSpecGrpcRouteRetryPolicyArgs - -func RouteSpecGrpcRouteRetryPolicyPtr(v *RouteSpecGrpcRouteRetryPolicyArgs) RouteSpecGrpcRouteRetryPolicyPtrInput { - return (*routeSpecGrpcRouteRetryPolicyPtrType)(v) -} +type RouteSpecGrpcRouteActionWeightedTargetArray []RouteSpecGrpcRouteActionWeightedTargetInput -func (*routeSpecGrpcRouteRetryPolicyPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**RouteSpecGrpcRouteRetryPolicy)(nil)).Elem() +func (RouteSpecGrpcRouteActionWeightedTargetArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]RouteSpecGrpcRouteActionWeightedTarget)(nil)).Elem() } -func (i *routeSpecGrpcRouteRetryPolicyPtrType) ToRouteSpecGrpcRouteRetryPolicyPtrOutput() RouteSpecGrpcRouteRetryPolicyPtrOutput { - return i.ToRouteSpecGrpcRouteRetryPolicyPtrOutputWithContext(context.Background()) +func (i RouteSpecGrpcRouteActionWeightedTargetArray) ToRouteSpecGrpcRouteActionWeightedTargetArrayOutput() RouteSpecGrpcRouteActionWeightedTargetArrayOutput { + return i.ToRouteSpecGrpcRouteActionWeightedTargetArrayOutputWithContext(context.Background()) } -func (i *routeSpecGrpcRouteRetryPolicyPtrType) ToRouteSpecGrpcRouteRetryPolicyPtrOutputWithContext(ctx context.Context) RouteSpecGrpcRouteRetryPolicyPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(RouteSpecGrpcRouteRetryPolicyPtrOutput) +func (i RouteSpecGrpcRouteActionWeightedTargetArray) ToRouteSpecGrpcRouteActionWeightedTargetArrayOutputWithContext(ctx context.Context) RouteSpecGrpcRouteActionWeightedTargetArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(RouteSpecGrpcRouteActionWeightedTargetArrayOutput) } -type RouteSpecGrpcRouteRetryPolicyOutput struct{ *pulumi.OutputState } +type RouteSpecGrpcRouteActionWeightedTargetOutput struct{ *pulumi.OutputState } -func (RouteSpecGrpcRouteRetryPolicyOutput) ElementType() reflect.Type { - return reflect.TypeOf((*RouteSpecGrpcRouteRetryPolicy)(nil)).Elem() +func (RouteSpecGrpcRouteActionWeightedTargetOutput) ElementType() reflect.Type { + return reflect.TypeOf((*RouteSpecGrpcRouteActionWeightedTarget)(nil)).Elem() } -func (o RouteSpecGrpcRouteRetryPolicyOutput) ToRouteSpecGrpcRouteRetryPolicyOutput() RouteSpecGrpcRouteRetryPolicyOutput { +func (o RouteSpecGrpcRouteActionWeightedTargetOutput) ToRouteSpecGrpcRouteActionWeightedTargetOutput() RouteSpecGrpcRouteActionWeightedTargetOutput { return o } -func (o RouteSpecGrpcRouteRetryPolicyOutput) ToRouteSpecGrpcRouteRetryPolicyOutputWithContext(ctx context.Context) RouteSpecGrpcRouteRetryPolicyOutput { +func (o RouteSpecGrpcRouteActionWeightedTargetOutput) ToRouteSpecGrpcRouteActionWeightedTargetOutputWithContext(ctx context.Context) RouteSpecGrpcRouteActionWeightedTargetOutput { return o } -func (o RouteSpecGrpcRouteRetryPolicyOutput) ToRouteSpecGrpcRouteRetryPolicyPtrOutput() RouteSpecGrpcRouteRetryPolicyPtrOutput { - return o.ToRouteSpecGrpcRouteRetryPolicyPtrOutputWithContext(context.Background()) -} - -func (o RouteSpecGrpcRouteRetryPolicyOutput) ToRouteSpecGrpcRouteRetryPolicyPtrOutputWithContext(ctx context.Context) RouteSpecGrpcRouteRetryPolicyPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v RouteSpecGrpcRouteRetryPolicy) *RouteSpecGrpcRouteRetryPolicy { - return &v - }).(RouteSpecGrpcRouteRetryPolicyPtrOutput) -} - -// List of gRPC retry events. -// Valid values: `cancelled`, `deadline-exceeded`, `internal`, `resource-exhausted`, `unavailable`. -func (o RouteSpecGrpcRouteRetryPolicyOutput) GrpcRetryEvents() pulumi.StringArrayOutput { - return o.ApplyT(func(v RouteSpecGrpcRouteRetryPolicy) []string { return v.GrpcRetryEvents }).(pulumi.StringArrayOutput) -} - -// List of HTTP retry events. -// Valid values: `client-error` (HTTP status code 409), `gateway-error` (HTTP status codes 502, 503, and 504), `server-error` (HTTP status codes 500, 501, 502, 503, 504, 505, 506, 507, 508, 510, and 511), `stream-error` (retry on refused stream). -// Valid values: `client-error` (HTTP status code 409), `gateway-error` (HTTP status codes 502, 503, and 504), `server-error` (HTTP status codes 500, 501, 502, 503, 504, 505, 506, 507, 508, 510, and 511), `stream-error` (retry on refused stream). -func (o RouteSpecGrpcRouteRetryPolicyOutput) HttpRetryEvents() pulumi.StringArrayOutput { - return o.ApplyT(func(v RouteSpecGrpcRouteRetryPolicy) []string { return v.HttpRetryEvents }).(pulumi.StringArrayOutput) -} - -// Maximum number of retries. -func (o RouteSpecGrpcRouteRetryPolicyOutput) MaxRetries() pulumi.IntOutput { - return o.ApplyT(func(v RouteSpecGrpcRouteRetryPolicy) int { return v.MaxRetries }).(pulumi.IntOutput) +// The targeted port of the weighted object. +func (o RouteSpecGrpcRouteActionWeightedTargetOutput) Port() pulumi.IntPtrOutput { + return o.ApplyT(func(v RouteSpecGrpcRouteActionWeightedTarget) *int { return v.Port }).(pulumi.IntPtrOutput) } -// Per-retry timeout. -func (o RouteSpecGrpcRouteRetryPolicyOutput) PerRetryTimeout() RouteSpecGrpcRouteRetryPolicyPerRetryTimeoutOutput { - return o.ApplyT(func(v RouteSpecGrpcRouteRetryPolicy) RouteSpecGrpcRouteRetryPolicyPerRetryTimeout { - return v.PerRetryTimeout - }).(RouteSpecGrpcRouteRetryPolicyPerRetryTimeoutOutput) +// Virtual node to associate with the weighted target. Must be between 1 and 255 characters in length. +func (o RouteSpecGrpcRouteActionWeightedTargetOutput) VirtualNode() pulumi.StringOutput { + return o.ApplyT(func(v RouteSpecGrpcRouteActionWeightedTarget) string { return v.VirtualNode }).(pulumi.StringOutput) } -// List of TCP retry events. The only valid value is `connection-error`. -func (o RouteSpecGrpcRouteRetryPolicyOutput) TcpRetryEvents() pulumi.StringArrayOutput { - return o.ApplyT(func(v RouteSpecGrpcRouteRetryPolicy) []string { return v.TcpRetryEvents }).(pulumi.StringArrayOutput) +// Relative weight of the weighted target. An integer between 0 and 100. +func (o RouteSpecGrpcRouteActionWeightedTargetOutput) Weight() pulumi.IntOutput { + return o.ApplyT(func(v RouteSpecGrpcRouteActionWeightedTarget) int { return v.Weight }).(pulumi.IntOutput) } -type RouteSpecGrpcRouteRetryPolicyPtrOutput struct{ *pulumi.OutputState } +type RouteSpecGrpcRouteActionWeightedTargetArrayOutput struct{ *pulumi.OutputState } -func (RouteSpecGrpcRouteRetryPolicyPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**RouteSpecGrpcRouteRetryPolicy)(nil)).Elem() +func (RouteSpecGrpcRouteActionWeightedTargetArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]RouteSpecGrpcRouteActionWeightedTarget)(nil)).Elem() } -func (o RouteSpecGrpcRouteRetryPolicyPtrOutput) ToRouteSpecGrpcRouteRetryPolicyPtrOutput() RouteSpecGrpcRouteRetryPolicyPtrOutput { +func (o RouteSpecGrpcRouteActionWeightedTargetArrayOutput) ToRouteSpecGrpcRouteActionWeightedTargetArrayOutput() RouteSpecGrpcRouteActionWeightedTargetArrayOutput { return o } -func (o RouteSpecGrpcRouteRetryPolicyPtrOutput) ToRouteSpecGrpcRouteRetryPolicyPtrOutputWithContext(ctx context.Context) RouteSpecGrpcRouteRetryPolicyPtrOutput { +func (o RouteSpecGrpcRouteActionWeightedTargetArrayOutput) ToRouteSpecGrpcRouteActionWeightedTargetArrayOutputWithContext(ctx context.Context) RouteSpecGrpcRouteActionWeightedTargetArrayOutput { return o } -func (o RouteSpecGrpcRouteRetryPolicyPtrOutput) Elem() RouteSpecGrpcRouteRetryPolicyOutput { - return o.ApplyT(func(v *RouteSpecGrpcRouteRetryPolicy) RouteSpecGrpcRouteRetryPolicy { - if v != nil { - return *v - } - var ret RouteSpecGrpcRouteRetryPolicy - return ret - }).(RouteSpecGrpcRouteRetryPolicyOutput) -} - -// List of gRPC retry events. -// Valid values: `cancelled`, `deadline-exceeded`, `internal`, `resource-exhausted`, `unavailable`. -func (o RouteSpecGrpcRouteRetryPolicyPtrOutput) GrpcRetryEvents() pulumi.StringArrayOutput { - return o.ApplyT(func(v *RouteSpecGrpcRouteRetryPolicy) []string { - if v == nil { - return nil - } - return v.GrpcRetryEvents - }).(pulumi.StringArrayOutput) -} - -// List of HTTP retry events. -// Valid values: `client-error` (HTTP status code 409), `gateway-error` (HTTP status codes 502, 503, and 504), `server-error` (HTTP status codes 500, 501, 502, 503, 504, 505, 506, 507, 508, 510, and 511), `stream-error` (retry on refused stream). -// Valid values: `client-error` (HTTP status code 409), `gateway-error` (HTTP status codes 502, 503, and 504), `server-error` (HTTP status codes 500, 501, 502, 503, 504, 505, 506, 507, 508, 510, and 511), `stream-error` (retry on refused stream). -func (o RouteSpecGrpcRouteRetryPolicyPtrOutput) HttpRetryEvents() pulumi.StringArrayOutput { - return o.ApplyT(func(v *RouteSpecGrpcRouteRetryPolicy) []string { - if v == nil { - return nil - } - return v.HttpRetryEvents - }).(pulumi.StringArrayOutput) -} - -// Maximum number of retries. -func (o RouteSpecGrpcRouteRetryPolicyPtrOutput) MaxRetries() pulumi.IntPtrOutput { - return o.ApplyT(func(v *RouteSpecGrpcRouteRetryPolicy) *int { - if v == nil { - return nil - } - return &v.MaxRetries - }).(pulumi.IntPtrOutput) -} - -// Per-retry timeout. -func (o RouteSpecGrpcRouteRetryPolicyPtrOutput) PerRetryTimeout() RouteSpecGrpcRouteRetryPolicyPerRetryTimeoutPtrOutput { - return o.ApplyT(func(v *RouteSpecGrpcRouteRetryPolicy) *RouteSpecGrpcRouteRetryPolicyPerRetryTimeout { - if v == nil { - return nil - } - return &v.PerRetryTimeout - }).(RouteSpecGrpcRouteRetryPolicyPerRetryTimeoutPtrOutput) -} - -// List of TCP retry events. The only valid value is `connection-error`. -func (o RouteSpecGrpcRouteRetryPolicyPtrOutput) TcpRetryEvents() pulumi.StringArrayOutput { - return o.ApplyT(func(v *RouteSpecGrpcRouteRetryPolicy) []string { - if v == nil { - return nil - } - return v.TcpRetryEvents - }).(pulumi.StringArrayOutput) +func (o RouteSpecGrpcRouteActionWeightedTargetArrayOutput) Index(i pulumi.IntInput) RouteSpecGrpcRouteActionWeightedTargetOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) RouteSpecGrpcRouteActionWeightedTarget { + return vs[0].([]RouteSpecGrpcRouteActionWeightedTarget)[vs[1].(int)] + }).(RouteSpecGrpcRouteActionWeightedTargetOutput) } -type RouteSpecGrpcRouteRetryPolicyPerRetryTimeout struct { - // Retry unit. Valid values: `ms`, `s`. - Unit string `pulumi:"unit"` - // Retry value. - Value int `pulumi:"value"` +type RouteSpecGrpcRouteMatch struct { + // Data to match from the gRPC request. + Metadatas []RouteSpecGrpcRouteMatchMetadata `pulumi:"metadatas"` + // Method name to match from the request. If you specify a name, you must also specify a `serviceName`. + MethodName *string `pulumi:"methodName"` + // The port number to match from the request. + Port *int `pulumi:"port"` + // Value sent by the client must begin with the specified characters. Must be between 1 and 255 characters in length. + // This parameter must always start with /, which by itself matches all requests to the virtual router service name. + Prefix *string `pulumi:"prefix"` + // Fully qualified domain name for the service to match from the request. + ServiceName *string `pulumi:"serviceName"` } -// RouteSpecGrpcRouteRetryPolicyPerRetryTimeoutInput is an input type that accepts RouteSpecGrpcRouteRetryPolicyPerRetryTimeoutArgs and RouteSpecGrpcRouteRetryPolicyPerRetryTimeoutOutput values. -// You can construct a concrete instance of `RouteSpecGrpcRouteRetryPolicyPerRetryTimeoutInput` via: +// RouteSpecGrpcRouteMatchInput is an input type that accepts RouteSpecGrpcRouteMatchArgs and RouteSpecGrpcRouteMatchOutput values. +// You can construct a concrete instance of `RouteSpecGrpcRouteMatchInput` via: // -// RouteSpecGrpcRouteRetryPolicyPerRetryTimeoutArgs{...} -type RouteSpecGrpcRouteRetryPolicyPerRetryTimeoutInput interface { +// RouteSpecGrpcRouteMatchArgs{...} +type RouteSpecGrpcRouteMatchInput interface { pulumi.Input - ToRouteSpecGrpcRouteRetryPolicyPerRetryTimeoutOutput() RouteSpecGrpcRouteRetryPolicyPerRetryTimeoutOutput - ToRouteSpecGrpcRouteRetryPolicyPerRetryTimeoutOutputWithContext(context.Context) RouteSpecGrpcRouteRetryPolicyPerRetryTimeoutOutput + ToRouteSpecGrpcRouteMatchOutput() RouteSpecGrpcRouteMatchOutput + ToRouteSpecGrpcRouteMatchOutputWithContext(context.Context) RouteSpecGrpcRouteMatchOutput } -type RouteSpecGrpcRouteRetryPolicyPerRetryTimeoutArgs struct { - // Retry unit. Valid values: `ms`, `s`. - Unit pulumi.StringInput `pulumi:"unit"` - // Retry value. - Value pulumi.IntInput `pulumi:"value"` +type RouteSpecGrpcRouteMatchArgs struct { + // Data to match from the gRPC request. + Metadatas RouteSpecGrpcRouteMatchMetadataArrayInput `pulumi:"metadatas"` + // Method name to match from the request. If you specify a name, you must also specify a `serviceName`. + MethodName pulumi.StringPtrInput `pulumi:"methodName"` + // The port number to match from the request. + Port pulumi.IntPtrInput `pulumi:"port"` + // Value sent by the client must begin with the specified characters. Must be between 1 and 255 characters in length. + // This parameter must always start with /, which by itself matches all requests to the virtual router service name. + Prefix pulumi.StringPtrInput `pulumi:"prefix"` + // Fully qualified domain name for the service to match from the request. + ServiceName pulumi.StringPtrInput `pulumi:"serviceName"` } -func (RouteSpecGrpcRouteRetryPolicyPerRetryTimeoutArgs) ElementType() reflect.Type { - return reflect.TypeOf((*RouteSpecGrpcRouteRetryPolicyPerRetryTimeout)(nil)).Elem() +func (RouteSpecGrpcRouteMatchArgs) ElementType() reflect.Type { + return reflect.TypeOf((*RouteSpecGrpcRouteMatch)(nil)).Elem() } -func (i RouteSpecGrpcRouteRetryPolicyPerRetryTimeoutArgs) ToRouteSpecGrpcRouteRetryPolicyPerRetryTimeoutOutput() RouteSpecGrpcRouteRetryPolicyPerRetryTimeoutOutput { - return i.ToRouteSpecGrpcRouteRetryPolicyPerRetryTimeoutOutputWithContext(context.Background()) +func (i RouteSpecGrpcRouteMatchArgs) ToRouteSpecGrpcRouteMatchOutput() RouteSpecGrpcRouteMatchOutput { + return i.ToRouteSpecGrpcRouteMatchOutputWithContext(context.Background()) } -func (i RouteSpecGrpcRouteRetryPolicyPerRetryTimeoutArgs) ToRouteSpecGrpcRouteRetryPolicyPerRetryTimeoutOutputWithContext(ctx context.Context) RouteSpecGrpcRouteRetryPolicyPerRetryTimeoutOutput { - return pulumi.ToOutputWithContext(ctx, i).(RouteSpecGrpcRouteRetryPolicyPerRetryTimeoutOutput) +func (i RouteSpecGrpcRouteMatchArgs) ToRouteSpecGrpcRouteMatchOutputWithContext(ctx context.Context) RouteSpecGrpcRouteMatchOutput { + return pulumi.ToOutputWithContext(ctx, i).(RouteSpecGrpcRouteMatchOutput) } -func (i RouteSpecGrpcRouteRetryPolicyPerRetryTimeoutArgs) ToRouteSpecGrpcRouteRetryPolicyPerRetryTimeoutPtrOutput() RouteSpecGrpcRouteRetryPolicyPerRetryTimeoutPtrOutput { - return i.ToRouteSpecGrpcRouteRetryPolicyPerRetryTimeoutPtrOutputWithContext(context.Background()) +func (i RouteSpecGrpcRouteMatchArgs) ToRouteSpecGrpcRouteMatchPtrOutput() RouteSpecGrpcRouteMatchPtrOutput { + return i.ToRouteSpecGrpcRouteMatchPtrOutputWithContext(context.Background()) } -func (i RouteSpecGrpcRouteRetryPolicyPerRetryTimeoutArgs) ToRouteSpecGrpcRouteRetryPolicyPerRetryTimeoutPtrOutputWithContext(ctx context.Context) RouteSpecGrpcRouteRetryPolicyPerRetryTimeoutPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(RouteSpecGrpcRouteRetryPolicyPerRetryTimeoutOutput).ToRouteSpecGrpcRouteRetryPolicyPerRetryTimeoutPtrOutputWithContext(ctx) +func (i RouteSpecGrpcRouteMatchArgs) ToRouteSpecGrpcRouteMatchPtrOutputWithContext(ctx context.Context) RouteSpecGrpcRouteMatchPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(RouteSpecGrpcRouteMatchOutput).ToRouteSpecGrpcRouteMatchPtrOutputWithContext(ctx) } -// RouteSpecGrpcRouteRetryPolicyPerRetryTimeoutPtrInput is an input type that accepts RouteSpecGrpcRouteRetryPolicyPerRetryTimeoutArgs, RouteSpecGrpcRouteRetryPolicyPerRetryTimeoutPtr and RouteSpecGrpcRouteRetryPolicyPerRetryTimeoutPtrOutput values. -// You can construct a concrete instance of `RouteSpecGrpcRouteRetryPolicyPerRetryTimeoutPtrInput` via: +// RouteSpecGrpcRouteMatchPtrInput is an input type that accepts RouteSpecGrpcRouteMatchArgs, RouteSpecGrpcRouteMatchPtr and RouteSpecGrpcRouteMatchPtrOutput values. +// You can construct a concrete instance of `RouteSpecGrpcRouteMatchPtrInput` via: // -// RouteSpecGrpcRouteRetryPolicyPerRetryTimeoutArgs{...} +// RouteSpecGrpcRouteMatchArgs{...} // // or: // // nil -type RouteSpecGrpcRouteRetryPolicyPerRetryTimeoutPtrInput interface { +type RouteSpecGrpcRouteMatchPtrInput interface { pulumi.Input - ToRouteSpecGrpcRouteRetryPolicyPerRetryTimeoutPtrOutput() RouteSpecGrpcRouteRetryPolicyPerRetryTimeoutPtrOutput - ToRouteSpecGrpcRouteRetryPolicyPerRetryTimeoutPtrOutputWithContext(context.Context) RouteSpecGrpcRouteRetryPolicyPerRetryTimeoutPtrOutput + ToRouteSpecGrpcRouteMatchPtrOutput() RouteSpecGrpcRouteMatchPtrOutput + ToRouteSpecGrpcRouteMatchPtrOutputWithContext(context.Context) RouteSpecGrpcRouteMatchPtrOutput } -type routeSpecGrpcRouteRetryPolicyPerRetryTimeoutPtrType RouteSpecGrpcRouteRetryPolicyPerRetryTimeoutArgs +type routeSpecGrpcRouteMatchPtrType RouteSpecGrpcRouteMatchArgs -func RouteSpecGrpcRouteRetryPolicyPerRetryTimeoutPtr(v *RouteSpecGrpcRouteRetryPolicyPerRetryTimeoutArgs) RouteSpecGrpcRouteRetryPolicyPerRetryTimeoutPtrInput { - return (*routeSpecGrpcRouteRetryPolicyPerRetryTimeoutPtrType)(v) +func RouteSpecGrpcRouteMatchPtr(v *RouteSpecGrpcRouteMatchArgs) RouteSpecGrpcRouteMatchPtrInput { + return (*routeSpecGrpcRouteMatchPtrType)(v) } -func (*routeSpecGrpcRouteRetryPolicyPerRetryTimeoutPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**RouteSpecGrpcRouteRetryPolicyPerRetryTimeout)(nil)).Elem() +func (*routeSpecGrpcRouteMatchPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**RouteSpecGrpcRouteMatch)(nil)).Elem() } -func (i *routeSpecGrpcRouteRetryPolicyPerRetryTimeoutPtrType) ToRouteSpecGrpcRouteRetryPolicyPerRetryTimeoutPtrOutput() RouteSpecGrpcRouteRetryPolicyPerRetryTimeoutPtrOutput { - return i.ToRouteSpecGrpcRouteRetryPolicyPerRetryTimeoutPtrOutputWithContext(context.Background()) +func (i *routeSpecGrpcRouteMatchPtrType) ToRouteSpecGrpcRouteMatchPtrOutput() RouteSpecGrpcRouteMatchPtrOutput { + return i.ToRouteSpecGrpcRouteMatchPtrOutputWithContext(context.Background()) } -func (i *routeSpecGrpcRouteRetryPolicyPerRetryTimeoutPtrType) ToRouteSpecGrpcRouteRetryPolicyPerRetryTimeoutPtrOutputWithContext(ctx context.Context) RouteSpecGrpcRouteRetryPolicyPerRetryTimeoutPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(RouteSpecGrpcRouteRetryPolicyPerRetryTimeoutPtrOutput) +func (i *routeSpecGrpcRouteMatchPtrType) ToRouteSpecGrpcRouteMatchPtrOutputWithContext(ctx context.Context) RouteSpecGrpcRouteMatchPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(RouteSpecGrpcRouteMatchPtrOutput) } -type RouteSpecGrpcRouteRetryPolicyPerRetryTimeoutOutput struct{ *pulumi.OutputState } +type RouteSpecGrpcRouteMatchOutput struct{ *pulumi.OutputState } -func (RouteSpecGrpcRouteRetryPolicyPerRetryTimeoutOutput) ElementType() reflect.Type { - return reflect.TypeOf((*RouteSpecGrpcRouteRetryPolicyPerRetryTimeout)(nil)).Elem() +func (RouteSpecGrpcRouteMatchOutput) ElementType() reflect.Type { + return reflect.TypeOf((*RouteSpecGrpcRouteMatch)(nil)).Elem() } -func (o RouteSpecGrpcRouteRetryPolicyPerRetryTimeoutOutput) ToRouteSpecGrpcRouteRetryPolicyPerRetryTimeoutOutput() RouteSpecGrpcRouteRetryPolicyPerRetryTimeoutOutput { +func (o RouteSpecGrpcRouteMatchOutput) ToRouteSpecGrpcRouteMatchOutput() RouteSpecGrpcRouteMatchOutput { return o } -func (o RouteSpecGrpcRouteRetryPolicyPerRetryTimeoutOutput) ToRouteSpecGrpcRouteRetryPolicyPerRetryTimeoutOutputWithContext(ctx context.Context) RouteSpecGrpcRouteRetryPolicyPerRetryTimeoutOutput { +func (o RouteSpecGrpcRouteMatchOutput) ToRouteSpecGrpcRouteMatchOutputWithContext(ctx context.Context) RouteSpecGrpcRouteMatchOutput { return o } -func (o RouteSpecGrpcRouteRetryPolicyPerRetryTimeoutOutput) ToRouteSpecGrpcRouteRetryPolicyPerRetryTimeoutPtrOutput() RouteSpecGrpcRouteRetryPolicyPerRetryTimeoutPtrOutput { - return o.ToRouteSpecGrpcRouteRetryPolicyPerRetryTimeoutPtrOutputWithContext(context.Background()) +func (o RouteSpecGrpcRouteMatchOutput) ToRouteSpecGrpcRouteMatchPtrOutput() RouteSpecGrpcRouteMatchPtrOutput { + return o.ToRouteSpecGrpcRouteMatchPtrOutputWithContext(context.Background()) } -func (o RouteSpecGrpcRouteRetryPolicyPerRetryTimeoutOutput) ToRouteSpecGrpcRouteRetryPolicyPerRetryTimeoutPtrOutputWithContext(ctx context.Context) RouteSpecGrpcRouteRetryPolicyPerRetryTimeoutPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v RouteSpecGrpcRouteRetryPolicyPerRetryTimeout) *RouteSpecGrpcRouteRetryPolicyPerRetryTimeout { +func (o RouteSpecGrpcRouteMatchOutput) ToRouteSpecGrpcRouteMatchPtrOutputWithContext(ctx context.Context) RouteSpecGrpcRouteMatchPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v RouteSpecGrpcRouteMatch) *RouteSpecGrpcRouteMatch { return &v - }).(RouteSpecGrpcRouteRetryPolicyPerRetryTimeoutPtrOutput) + }).(RouteSpecGrpcRouteMatchPtrOutput) } -// Retry unit. Valid values: `ms`, `s`. -func (o RouteSpecGrpcRouteRetryPolicyPerRetryTimeoutOutput) Unit() pulumi.StringOutput { - return o.ApplyT(func(v RouteSpecGrpcRouteRetryPolicyPerRetryTimeout) string { return v.Unit }).(pulumi.StringOutput) +// Data to match from the gRPC request. +func (o RouteSpecGrpcRouteMatchOutput) Metadatas() RouteSpecGrpcRouteMatchMetadataArrayOutput { + return o.ApplyT(func(v RouteSpecGrpcRouteMatch) []RouteSpecGrpcRouteMatchMetadata { return v.Metadatas }).(RouteSpecGrpcRouteMatchMetadataArrayOutput) } -// Retry value. -func (o RouteSpecGrpcRouteRetryPolicyPerRetryTimeoutOutput) Value() pulumi.IntOutput { - return o.ApplyT(func(v RouteSpecGrpcRouteRetryPolicyPerRetryTimeout) int { return v.Value }).(pulumi.IntOutput) +// Method name to match from the request. If you specify a name, you must also specify a `serviceName`. +func (o RouteSpecGrpcRouteMatchOutput) MethodName() pulumi.StringPtrOutput { + return o.ApplyT(func(v RouteSpecGrpcRouteMatch) *string { return v.MethodName }).(pulumi.StringPtrOutput) } -type RouteSpecGrpcRouteRetryPolicyPerRetryTimeoutPtrOutput struct{ *pulumi.OutputState } +// The port number to match from the request. +func (o RouteSpecGrpcRouteMatchOutput) Port() pulumi.IntPtrOutput { + return o.ApplyT(func(v RouteSpecGrpcRouteMatch) *int { return v.Port }).(pulumi.IntPtrOutput) +} -func (RouteSpecGrpcRouteRetryPolicyPerRetryTimeoutPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**RouteSpecGrpcRouteRetryPolicyPerRetryTimeout)(nil)).Elem() +// Value sent by the client must begin with the specified characters. Must be between 1 and 255 characters in length. +// This parameter must always start with /, which by itself matches all requests to the virtual router service name. +func (o RouteSpecGrpcRouteMatchOutput) Prefix() pulumi.StringPtrOutput { + return o.ApplyT(func(v RouteSpecGrpcRouteMatch) *string { return v.Prefix }).(pulumi.StringPtrOutput) } -func (o RouteSpecGrpcRouteRetryPolicyPerRetryTimeoutPtrOutput) ToRouteSpecGrpcRouteRetryPolicyPerRetryTimeoutPtrOutput() RouteSpecGrpcRouteRetryPolicyPerRetryTimeoutPtrOutput { +// Fully qualified domain name for the service to match from the request. +func (o RouteSpecGrpcRouteMatchOutput) ServiceName() pulumi.StringPtrOutput { + return o.ApplyT(func(v RouteSpecGrpcRouteMatch) *string { return v.ServiceName }).(pulumi.StringPtrOutput) +} + +type RouteSpecGrpcRouteMatchPtrOutput struct{ *pulumi.OutputState } + +func (RouteSpecGrpcRouteMatchPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**RouteSpecGrpcRouteMatch)(nil)).Elem() +} + +func (o RouteSpecGrpcRouteMatchPtrOutput) ToRouteSpecGrpcRouteMatchPtrOutput() RouteSpecGrpcRouteMatchPtrOutput { return o } -func (o RouteSpecGrpcRouteRetryPolicyPerRetryTimeoutPtrOutput) ToRouteSpecGrpcRouteRetryPolicyPerRetryTimeoutPtrOutputWithContext(ctx context.Context) RouteSpecGrpcRouteRetryPolicyPerRetryTimeoutPtrOutput { +func (o RouteSpecGrpcRouteMatchPtrOutput) ToRouteSpecGrpcRouteMatchPtrOutputWithContext(ctx context.Context) RouteSpecGrpcRouteMatchPtrOutput { return o } -func (o RouteSpecGrpcRouteRetryPolicyPerRetryTimeoutPtrOutput) Elem() RouteSpecGrpcRouteRetryPolicyPerRetryTimeoutOutput { - return o.ApplyT(func(v *RouteSpecGrpcRouteRetryPolicyPerRetryTimeout) RouteSpecGrpcRouteRetryPolicyPerRetryTimeout { +func (o RouteSpecGrpcRouteMatchPtrOutput) Elem() RouteSpecGrpcRouteMatchOutput { + return o.ApplyT(func(v *RouteSpecGrpcRouteMatch) RouteSpecGrpcRouteMatch { if v != nil { return *v } - var ret RouteSpecGrpcRouteRetryPolicyPerRetryTimeout + var ret RouteSpecGrpcRouteMatch return ret - }).(RouteSpecGrpcRouteRetryPolicyPerRetryTimeoutOutput) + }).(RouteSpecGrpcRouteMatchOutput) } -// Retry unit. Valid values: `ms`, `s`. -func (o RouteSpecGrpcRouteRetryPolicyPerRetryTimeoutPtrOutput) Unit() pulumi.StringPtrOutput { - return o.ApplyT(func(v *RouteSpecGrpcRouteRetryPolicyPerRetryTimeout) *string { +// Data to match from the gRPC request. +func (o RouteSpecGrpcRouteMatchPtrOutput) Metadatas() RouteSpecGrpcRouteMatchMetadataArrayOutput { + return o.ApplyT(func(v *RouteSpecGrpcRouteMatch) []RouteSpecGrpcRouteMatchMetadata { if v == nil { return nil } - return &v.Unit + return v.Metadatas + }).(RouteSpecGrpcRouteMatchMetadataArrayOutput) +} + +// Method name to match from the request. If you specify a name, you must also specify a `serviceName`. +func (o RouteSpecGrpcRouteMatchPtrOutput) MethodName() pulumi.StringPtrOutput { + return o.ApplyT(func(v *RouteSpecGrpcRouteMatch) *string { + if v == nil { + return nil + } + return v.MethodName }).(pulumi.StringPtrOutput) } -// Retry value. -func (o RouteSpecGrpcRouteRetryPolicyPerRetryTimeoutPtrOutput) Value() pulumi.IntPtrOutput { - return o.ApplyT(func(v *RouteSpecGrpcRouteRetryPolicyPerRetryTimeout) *int { +// The port number to match from the request. +func (o RouteSpecGrpcRouteMatchPtrOutput) Port() pulumi.IntPtrOutput { + return o.ApplyT(func(v *RouteSpecGrpcRouteMatch) *int { if v == nil { return nil } - return &v.Value + return v.Port }).(pulumi.IntPtrOutput) } -type RouteSpecGrpcRouteTimeout struct { - // Idle timeout. An idle timeout bounds the amount of time that a connection may be idle. - Idle *RouteSpecGrpcRouteTimeoutIdle `pulumi:"idle"` - // Per request timeout. - PerRequest *RouteSpecGrpcRouteTimeoutPerRequest `pulumi:"perRequest"` +// Value sent by the client must begin with the specified characters. Must be between 1 and 255 characters in length. +// This parameter must always start with /, which by itself matches all requests to the virtual router service name. +func (o RouteSpecGrpcRouteMatchPtrOutput) Prefix() pulumi.StringPtrOutput { + return o.ApplyT(func(v *RouteSpecGrpcRouteMatch) *string { + if v == nil { + return nil + } + return v.Prefix + }).(pulumi.StringPtrOutput) } -// RouteSpecGrpcRouteTimeoutInput is an input type that accepts RouteSpecGrpcRouteTimeoutArgs and RouteSpecGrpcRouteTimeoutOutput values. -// You can construct a concrete instance of `RouteSpecGrpcRouteTimeoutInput` via: -// -// RouteSpecGrpcRouteTimeoutArgs{...} -type RouteSpecGrpcRouteTimeoutInput interface { - pulumi.Input - - ToRouteSpecGrpcRouteTimeoutOutput() RouteSpecGrpcRouteTimeoutOutput - ToRouteSpecGrpcRouteTimeoutOutputWithContext(context.Context) RouteSpecGrpcRouteTimeoutOutput +// Fully qualified domain name for the service to match from the request. +func (o RouteSpecGrpcRouteMatchPtrOutput) ServiceName() pulumi.StringPtrOutput { + return o.ApplyT(func(v *RouteSpecGrpcRouteMatch) *string { + if v == nil { + return nil + } + return v.ServiceName + }).(pulumi.StringPtrOutput) } -type RouteSpecGrpcRouteTimeoutArgs struct { - // Idle timeout. An idle timeout bounds the amount of time that a connection may be idle. - Idle RouteSpecGrpcRouteTimeoutIdlePtrInput `pulumi:"idle"` - // Per request timeout. - PerRequest RouteSpecGrpcRouteTimeoutPerRequestPtrInput `pulumi:"perRequest"` +type RouteSpecGrpcRouteMatchMetadata struct { + // If `true`, the match is on the opposite of the `match` criteria. Default is `false`. + Invert *bool `pulumi:"invert"` + // Data to match from the request. + Match *RouteSpecGrpcRouteMatchMetadataMatch `pulumi:"match"` + // Name of the route. Must be between 1 and 50 characters in length. + Name string `pulumi:"name"` } -func (RouteSpecGrpcRouteTimeoutArgs) ElementType() reflect.Type { - return reflect.TypeOf((*RouteSpecGrpcRouteTimeout)(nil)).Elem() +// RouteSpecGrpcRouteMatchMetadataInput is an input type that accepts RouteSpecGrpcRouteMatchMetadataArgs and RouteSpecGrpcRouteMatchMetadataOutput values. +// You can construct a concrete instance of `RouteSpecGrpcRouteMatchMetadataInput` via: +// +// RouteSpecGrpcRouteMatchMetadataArgs{...} +type RouteSpecGrpcRouteMatchMetadataInput interface { + pulumi.Input + + ToRouteSpecGrpcRouteMatchMetadataOutput() RouteSpecGrpcRouteMatchMetadataOutput + ToRouteSpecGrpcRouteMatchMetadataOutputWithContext(context.Context) RouteSpecGrpcRouteMatchMetadataOutput } -func (i RouteSpecGrpcRouteTimeoutArgs) ToRouteSpecGrpcRouteTimeoutOutput() RouteSpecGrpcRouteTimeoutOutput { - return i.ToRouteSpecGrpcRouteTimeoutOutputWithContext(context.Background()) +type RouteSpecGrpcRouteMatchMetadataArgs struct { + // If `true`, the match is on the opposite of the `match` criteria. Default is `false`. + Invert pulumi.BoolPtrInput `pulumi:"invert"` + // Data to match from the request. + Match RouteSpecGrpcRouteMatchMetadataMatchPtrInput `pulumi:"match"` + // Name of the route. Must be between 1 and 50 characters in length. + Name pulumi.StringInput `pulumi:"name"` } -func (i RouteSpecGrpcRouteTimeoutArgs) ToRouteSpecGrpcRouteTimeoutOutputWithContext(ctx context.Context) RouteSpecGrpcRouteTimeoutOutput { - return pulumi.ToOutputWithContext(ctx, i).(RouteSpecGrpcRouteTimeoutOutput) +func (RouteSpecGrpcRouteMatchMetadataArgs) ElementType() reflect.Type { + return reflect.TypeOf((*RouteSpecGrpcRouteMatchMetadata)(nil)).Elem() } -func (i RouteSpecGrpcRouteTimeoutArgs) ToRouteSpecGrpcRouteTimeoutPtrOutput() RouteSpecGrpcRouteTimeoutPtrOutput { - return i.ToRouteSpecGrpcRouteTimeoutPtrOutputWithContext(context.Background()) +func (i RouteSpecGrpcRouteMatchMetadataArgs) ToRouteSpecGrpcRouteMatchMetadataOutput() RouteSpecGrpcRouteMatchMetadataOutput { + return i.ToRouteSpecGrpcRouteMatchMetadataOutputWithContext(context.Background()) } -func (i RouteSpecGrpcRouteTimeoutArgs) ToRouteSpecGrpcRouteTimeoutPtrOutputWithContext(ctx context.Context) RouteSpecGrpcRouteTimeoutPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(RouteSpecGrpcRouteTimeoutOutput).ToRouteSpecGrpcRouteTimeoutPtrOutputWithContext(ctx) +func (i RouteSpecGrpcRouteMatchMetadataArgs) ToRouteSpecGrpcRouteMatchMetadataOutputWithContext(ctx context.Context) RouteSpecGrpcRouteMatchMetadataOutput { + return pulumi.ToOutputWithContext(ctx, i).(RouteSpecGrpcRouteMatchMetadataOutput) } -// RouteSpecGrpcRouteTimeoutPtrInput is an input type that accepts RouteSpecGrpcRouteTimeoutArgs, RouteSpecGrpcRouteTimeoutPtr and RouteSpecGrpcRouteTimeoutPtrOutput values. -// You can construct a concrete instance of `RouteSpecGrpcRouteTimeoutPtrInput` via: -// -// RouteSpecGrpcRouteTimeoutArgs{...} -// -// or: +// RouteSpecGrpcRouteMatchMetadataArrayInput is an input type that accepts RouteSpecGrpcRouteMatchMetadataArray and RouteSpecGrpcRouteMatchMetadataArrayOutput values. +// You can construct a concrete instance of `RouteSpecGrpcRouteMatchMetadataArrayInput` via: // -// nil -type RouteSpecGrpcRouteTimeoutPtrInput interface { +// RouteSpecGrpcRouteMatchMetadataArray{ RouteSpecGrpcRouteMatchMetadataArgs{...} } +type RouteSpecGrpcRouteMatchMetadataArrayInput interface { pulumi.Input - ToRouteSpecGrpcRouteTimeoutPtrOutput() RouteSpecGrpcRouteTimeoutPtrOutput - ToRouteSpecGrpcRouteTimeoutPtrOutputWithContext(context.Context) RouteSpecGrpcRouteTimeoutPtrOutput + ToRouteSpecGrpcRouteMatchMetadataArrayOutput() RouteSpecGrpcRouteMatchMetadataArrayOutput + ToRouteSpecGrpcRouteMatchMetadataArrayOutputWithContext(context.Context) RouteSpecGrpcRouteMatchMetadataArrayOutput } -type routeSpecGrpcRouteTimeoutPtrType RouteSpecGrpcRouteTimeoutArgs - -func RouteSpecGrpcRouteTimeoutPtr(v *RouteSpecGrpcRouteTimeoutArgs) RouteSpecGrpcRouteTimeoutPtrInput { - return (*routeSpecGrpcRouteTimeoutPtrType)(v) -} +type RouteSpecGrpcRouteMatchMetadataArray []RouteSpecGrpcRouteMatchMetadataInput -func (*routeSpecGrpcRouteTimeoutPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**RouteSpecGrpcRouteTimeout)(nil)).Elem() +func (RouteSpecGrpcRouteMatchMetadataArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]RouteSpecGrpcRouteMatchMetadata)(nil)).Elem() } -func (i *routeSpecGrpcRouteTimeoutPtrType) ToRouteSpecGrpcRouteTimeoutPtrOutput() RouteSpecGrpcRouteTimeoutPtrOutput { - return i.ToRouteSpecGrpcRouteTimeoutPtrOutputWithContext(context.Background()) +func (i RouteSpecGrpcRouteMatchMetadataArray) ToRouteSpecGrpcRouteMatchMetadataArrayOutput() RouteSpecGrpcRouteMatchMetadataArrayOutput { + return i.ToRouteSpecGrpcRouteMatchMetadataArrayOutputWithContext(context.Background()) } -func (i *routeSpecGrpcRouteTimeoutPtrType) ToRouteSpecGrpcRouteTimeoutPtrOutputWithContext(ctx context.Context) RouteSpecGrpcRouteTimeoutPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(RouteSpecGrpcRouteTimeoutPtrOutput) +func (i RouteSpecGrpcRouteMatchMetadataArray) ToRouteSpecGrpcRouteMatchMetadataArrayOutputWithContext(ctx context.Context) RouteSpecGrpcRouteMatchMetadataArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(RouteSpecGrpcRouteMatchMetadataArrayOutput) } -type RouteSpecGrpcRouteTimeoutOutput struct{ *pulumi.OutputState } +type RouteSpecGrpcRouteMatchMetadataOutput struct{ *pulumi.OutputState } -func (RouteSpecGrpcRouteTimeoutOutput) ElementType() reflect.Type { - return reflect.TypeOf((*RouteSpecGrpcRouteTimeout)(nil)).Elem() +func (RouteSpecGrpcRouteMatchMetadataOutput) ElementType() reflect.Type { + return reflect.TypeOf((*RouteSpecGrpcRouteMatchMetadata)(nil)).Elem() } -func (o RouteSpecGrpcRouteTimeoutOutput) ToRouteSpecGrpcRouteTimeoutOutput() RouteSpecGrpcRouteTimeoutOutput { +func (o RouteSpecGrpcRouteMatchMetadataOutput) ToRouteSpecGrpcRouteMatchMetadataOutput() RouteSpecGrpcRouteMatchMetadataOutput { return o } -func (o RouteSpecGrpcRouteTimeoutOutput) ToRouteSpecGrpcRouteTimeoutOutputWithContext(ctx context.Context) RouteSpecGrpcRouteTimeoutOutput { +func (o RouteSpecGrpcRouteMatchMetadataOutput) ToRouteSpecGrpcRouteMatchMetadataOutputWithContext(ctx context.Context) RouteSpecGrpcRouteMatchMetadataOutput { return o } -func (o RouteSpecGrpcRouteTimeoutOutput) ToRouteSpecGrpcRouteTimeoutPtrOutput() RouteSpecGrpcRouteTimeoutPtrOutput { - return o.ToRouteSpecGrpcRouteTimeoutPtrOutputWithContext(context.Background()) -} - -func (o RouteSpecGrpcRouteTimeoutOutput) ToRouteSpecGrpcRouteTimeoutPtrOutputWithContext(ctx context.Context) RouteSpecGrpcRouteTimeoutPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v RouteSpecGrpcRouteTimeout) *RouteSpecGrpcRouteTimeout { - return &v - }).(RouteSpecGrpcRouteTimeoutPtrOutput) +// If `true`, the match is on the opposite of the `match` criteria. Default is `false`. +func (o RouteSpecGrpcRouteMatchMetadataOutput) Invert() pulumi.BoolPtrOutput { + return o.ApplyT(func(v RouteSpecGrpcRouteMatchMetadata) *bool { return v.Invert }).(pulumi.BoolPtrOutput) } -// Idle timeout. An idle timeout bounds the amount of time that a connection may be idle. -func (o RouteSpecGrpcRouteTimeoutOutput) Idle() RouteSpecGrpcRouteTimeoutIdlePtrOutput { - return o.ApplyT(func(v RouteSpecGrpcRouteTimeout) *RouteSpecGrpcRouteTimeoutIdle { return v.Idle }).(RouteSpecGrpcRouteTimeoutIdlePtrOutput) +// Data to match from the request. +func (o RouteSpecGrpcRouteMatchMetadataOutput) Match() RouteSpecGrpcRouteMatchMetadataMatchPtrOutput { + return o.ApplyT(func(v RouteSpecGrpcRouteMatchMetadata) *RouteSpecGrpcRouteMatchMetadataMatch { return v.Match }).(RouteSpecGrpcRouteMatchMetadataMatchPtrOutput) } -// Per request timeout. -func (o RouteSpecGrpcRouteTimeoutOutput) PerRequest() RouteSpecGrpcRouteTimeoutPerRequestPtrOutput { - return o.ApplyT(func(v RouteSpecGrpcRouteTimeout) *RouteSpecGrpcRouteTimeoutPerRequest { return v.PerRequest }).(RouteSpecGrpcRouteTimeoutPerRequestPtrOutput) +// Name of the route. Must be between 1 and 50 characters in length. +func (o RouteSpecGrpcRouteMatchMetadataOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v RouteSpecGrpcRouteMatchMetadata) string { return v.Name }).(pulumi.StringOutput) } -type RouteSpecGrpcRouteTimeoutPtrOutput struct{ *pulumi.OutputState } +type RouteSpecGrpcRouteMatchMetadataArrayOutput struct{ *pulumi.OutputState } -func (RouteSpecGrpcRouteTimeoutPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**RouteSpecGrpcRouteTimeout)(nil)).Elem() +func (RouteSpecGrpcRouteMatchMetadataArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]RouteSpecGrpcRouteMatchMetadata)(nil)).Elem() } -func (o RouteSpecGrpcRouteTimeoutPtrOutput) ToRouteSpecGrpcRouteTimeoutPtrOutput() RouteSpecGrpcRouteTimeoutPtrOutput { +func (o RouteSpecGrpcRouteMatchMetadataArrayOutput) ToRouteSpecGrpcRouteMatchMetadataArrayOutput() RouteSpecGrpcRouteMatchMetadataArrayOutput { return o } -func (o RouteSpecGrpcRouteTimeoutPtrOutput) ToRouteSpecGrpcRouteTimeoutPtrOutputWithContext(ctx context.Context) RouteSpecGrpcRouteTimeoutPtrOutput { +func (o RouteSpecGrpcRouteMatchMetadataArrayOutput) ToRouteSpecGrpcRouteMatchMetadataArrayOutputWithContext(ctx context.Context) RouteSpecGrpcRouteMatchMetadataArrayOutput { return o } -func (o RouteSpecGrpcRouteTimeoutPtrOutput) Elem() RouteSpecGrpcRouteTimeoutOutput { - return o.ApplyT(func(v *RouteSpecGrpcRouteTimeout) RouteSpecGrpcRouteTimeout { - if v != nil { - return *v - } - var ret RouteSpecGrpcRouteTimeout - return ret - }).(RouteSpecGrpcRouteTimeoutOutput) -} - -// Idle timeout. An idle timeout bounds the amount of time that a connection may be idle. -func (o RouteSpecGrpcRouteTimeoutPtrOutput) Idle() RouteSpecGrpcRouteTimeoutIdlePtrOutput { - return o.ApplyT(func(v *RouteSpecGrpcRouteTimeout) *RouteSpecGrpcRouteTimeoutIdle { - if v == nil { - return nil - } - return v.Idle - }).(RouteSpecGrpcRouteTimeoutIdlePtrOutput) -} - -// Per request timeout. -func (o RouteSpecGrpcRouteTimeoutPtrOutput) PerRequest() RouteSpecGrpcRouteTimeoutPerRequestPtrOutput { - return o.ApplyT(func(v *RouteSpecGrpcRouteTimeout) *RouteSpecGrpcRouteTimeoutPerRequest { - if v == nil { - return nil - } - return v.PerRequest - }).(RouteSpecGrpcRouteTimeoutPerRequestPtrOutput) +func (o RouteSpecGrpcRouteMatchMetadataArrayOutput) Index(i pulumi.IntInput) RouteSpecGrpcRouteMatchMetadataOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) RouteSpecGrpcRouteMatchMetadata { + return vs[0].([]RouteSpecGrpcRouteMatchMetadata)[vs[1].(int)] + }).(RouteSpecGrpcRouteMatchMetadataOutput) } -type RouteSpecGrpcRouteTimeoutIdle struct { - // Unit of time. Valid values: `ms`, `s`. - Unit string `pulumi:"unit"` - // Number of time units. Minimum value of `0`. - Value int `pulumi:"value"` +type RouteSpecGrpcRouteMatchMetadataMatch struct { + // The exact path to match on. + Exact *string `pulumi:"exact"` + // Value sent by the client must begin with the specified characters. Must be between 1 and 255 characters in length. + // This parameter must always start with /, which by itself matches all requests to the virtual router service name. + Prefix *string `pulumi:"prefix"` + // Object that specifies the range of numbers that the value sent by the client must be included in. + Range *RouteSpecGrpcRouteMatchMetadataMatchRange `pulumi:"range"` + // The regex used to match the path. + Regex *string `pulumi:"regex"` + // Value sent by the client must end with the specified characters. Must be between 1 and 255 characters in length. + Suffix *string `pulumi:"suffix"` } -// RouteSpecGrpcRouteTimeoutIdleInput is an input type that accepts RouteSpecGrpcRouteTimeoutIdleArgs and RouteSpecGrpcRouteTimeoutIdleOutput values. -// You can construct a concrete instance of `RouteSpecGrpcRouteTimeoutIdleInput` via: +// RouteSpecGrpcRouteMatchMetadataMatchInput is an input type that accepts RouteSpecGrpcRouteMatchMetadataMatchArgs and RouteSpecGrpcRouteMatchMetadataMatchOutput values. +// You can construct a concrete instance of `RouteSpecGrpcRouteMatchMetadataMatchInput` via: // -// RouteSpecGrpcRouteTimeoutIdleArgs{...} -type RouteSpecGrpcRouteTimeoutIdleInput interface { +// RouteSpecGrpcRouteMatchMetadataMatchArgs{...} +type RouteSpecGrpcRouteMatchMetadataMatchInput interface { pulumi.Input - ToRouteSpecGrpcRouteTimeoutIdleOutput() RouteSpecGrpcRouteTimeoutIdleOutput - ToRouteSpecGrpcRouteTimeoutIdleOutputWithContext(context.Context) RouteSpecGrpcRouteTimeoutIdleOutput + ToRouteSpecGrpcRouteMatchMetadataMatchOutput() RouteSpecGrpcRouteMatchMetadataMatchOutput + ToRouteSpecGrpcRouteMatchMetadataMatchOutputWithContext(context.Context) RouteSpecGrpcRouteMatchMetadataMatchOutput } -type RouteSpecGrpcRouteTimeoutIdleArgs struct { - // Unit of time. Valid values: `ms`, `s`. - Unit pulumi.StringInput `pulumi:"unit"` - // Number of time units. Minimum value of `0`. - Value pulumi.IntInput `pulumi:"value"` +type RouteSpecGrpcRouteMatchMetadataMatchArgs struct { + // The exact path to match on. + Exact pulumi.StringPtrInput `pulumi:"exact"` + // Value sent by the client must begin with the specified characters. Must be between 1 and 255 characters in length. + // This parameter must always start with /, which by itself matches all requests to the virtual router service name. + Prefix pulumi.StringPtrInput `pulumi:"prefix"` + // Object that specifies the range of numbers that the value sent by the client must be included in. + Range RouteSpecGrpcRouteMatchMetadataMatchRangePtrInput `pulumi:"range"` + // The regex used to match the path. + Regex pulumi.StringPtrInput `pulumi:"regex"` + // Value sent by the client must end with the specified characters. Must be between 1 and 255 characters in length. + Suffix pulumi.StringPtrInput `pulumi:"suffix"` } -func (RouteSpecGrpcRouteTimeoutIdleArgs) ElementType() reflect.Type { - return reflect.TypeOf((*RouteSpecGrpcRouteTimeoutIdle)(nil)).Elem() +func (RouteSpecGrpcRouteMatchMetadataMatchArgs) ElementType() reflect.Type { + return reflect.TypeOf((*RouteSpecGrpcRouteMatchMetadataMatch)(nil)).Elem() } -func (i RouteSpecGrpcRouteTimeoutIdleArgs) ToRouteSpecGrpcRouteTimeoutIdleOutput() RouteSpecGrpcRouteTimeoutIdleOutput { - return i.ToRouteSpecGrpcRouteTimeoutIdleOutputWithContext(context.Background()) +func (i RouteSpecGrpcRouteMatchMetadataMatchArgs) ToRouteSpecGrpcRouteMatchMetadataMatchOutput() RouteSpecGrpcRouteMatchMetadataMatchOutput { + return i.ToRouteSpecGrpcRouteMatchMetadataMatchOutputWithContext(context.Background()) } -func (i RouteSpecGrpcRouteTimeoutIdleArgs) ToRouteSpecGrpcRouteTimeoutIdleOutputWithContext(ctx context.Context) RouteSpecGrpcRouteTimeoutIdleOutput { - return pulumi.ToOutputWithContext(ctx, i).(RouteSpecGrpcRouteTimeoutIdleOutput) +func (i RouteSpecGrpcRouteMatchMetadataMatchArgs) ToRouteSpecGrpcRouteMatchMetadataMatchOutputWithContext(ctx context.Context) RouteSpecGrpcRouteMatchMetadataMatchOutput { + return pulumi.ToOutputWithContext(ctx, i).(RouteSpecGrpcRouteMatchMetadataMatchOutput) } -func (i RouteSpecGrpcRouteTimeoutIdleArgs) ToRouteSpecGrpcRouteTimeoutIdlePtrOutput() RouteSpecGrpcRouteTimeoutIdlePtrOutput { - return i.ToRouteSpecGrpcRouteTimeoutIdlePtrOutputWithContext(context.Background()) +func (i RouteSpecGrpcRouteMatchMetadataMatchArgs) ToRouteSpecGrpcRouteMatchMetadataMatchPtrOutput() RouteSpecGrpcRouteMatchMetadataMatchPtrOutput { + return i.ToRouteSpecGrpcRouteMatchMetadataMatchPtrOutputWithContext(context.Background()) } -func (i RouteSpecGrpcRouteTimeoutIdleArgs) ToRouteSpecGrpcRouteTimeoutIdlePtrOutputWithContext(ctx context.Context) RouteSpecGrpcRouteTimeoutIdlePtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(RouteSpecGrpcRouteTimeoutIdleOutput).ToRouteSpecGrpcRouteTimeoutIdlePtrOutputWithContext(ctx) +func (i RouteSpecGrpcRouteMatchMetadataMatchArgs) ToRouteSpecGrpcRouteMatchMetadataMatchPtrOutputWithContext(ctx context.Context) RouteSpecGrpcRouteMatchMetadataMatchPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(RouteSpecGrpcRouteMatchMetadataMatchOutput).ToRouteSpecGrpcRouteMatchMetadataMatchPtrOutputWithContext(ctx) } -// RouteSpecGrpcRouteTimeoutIdlePtrInput is an input type that accepts RouteSpecGrpcRouteTimeoutIdleArgs, RouteSpecGrpcRouteTimeoutIdlePtr and RouteSpecGrpcRouteTimeoutIdlePtrOutput values. -// You can construct a concrete instance of `RouteSpecGrpcRouteTimeoutIdlePtrInput` via: +// RouteSpecGrpcRouteMatchMetadataMatchPtrInput is an input type that accepts RouteSpecGrpcRouteMatchMetadataMatchArgs, RouteSpecGrpcRouteMatchMetadataMatchPtr and RouteSpecGrpcRouteMatchMetadataMatchPtrOutput values. +// You can construct a concrete instance of `RouteSpecGrpcRouteMatchMetadataMatchPtrInput` via: // -// RouteSpecGrpcRouteTimeoutIdleArgs{...} +// RouteSpecGrpcRouteMatchMetadataMatchArgs{...} // // or: // // nil -type RouteSpecGrpcRouteTimeoutIdlePtrInput interface { +type RouteSpecGrpcRouteMatchMetadataMatchPtrInput interface { pulumi.Input - ToRouteSpecGrpcRouteTimeoutIdlePtrOutput() RouteSpecGrpcRouteTimeoutIdlePtrOutput - ToRouteSpecGrpcRouteTimeoutIdlePtrOutputWithContext(context.Context) RouteSpecGrpcRouteTimeoutIdlePtrOutput + ToRouteSpecGrpcRouteMatchMetadataMatchPtrOutput() RouteSpecGrpcRouteMatchMetadataMatchPtrOutput + ToRouteSpecGrpcRouteMatchMetadataMatchPtrOutputWithContext(context.Context) RouteSpecGrpcRouteMatchMetadataMatchPtrOutput } -type routeSpecGrpcRouteTimeoutIdlePtrType RouteSpecGrpcRouteTimeoutIdleArgs +type routeSpecGrpcRouteMatchMetadataMatchPtrType RouteSpecGrpcRouteMatchMetadataMatchArgs -func RouteSpecGrpcRouteTimeoutIdlePtr(v *RouteSpecGrpcRouteTimeoutIdleArgs) RouteSpecGrpcRouteTimeoutIdlePtrInput { - return (*routeSpecGrpcRouteTimeoutIdlePtrType)(v) +func RouteSpecGrpcRouteMatchMetadataMatchPtr(v *RouteSpecGrpcRouteMatchMetadataMatchArgs) RouteSpecGrpcRouteMatchMetadataMatchPtrInput { + return (*routeSpecGrpcRouteMatchMetadataMatchPtrType)(v) } -func (*routeSpecGrpcRouteTimeoutIdlePtrType) ElementType() reflect.Type { - return reflect.TypeOf((**RouteSpecGrpcRouteTimeoutIdle)(nil)).Elem() +func (*routeSpecGrpcRouteMatchMetadataMatchPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**RouteSpecGrpcRouteMatchMetadataMatch)(nil)).Elem() } -func (i *routeSpecGrpcRouteTimeoutIdlePtrType) ToRouteSpecGrpcRouteTimeoutIdlePtrOutput() RouteSpecGrpcRouteTimeoutIdlePtrOutput { - return i.ToRouteSpecGrpcRouteTimeoutIdlePtrOutputWithContext(context.Background()) +func (i *routeSpecGrpcRouteMatchMetadataMatchPtrType) ToRouteSpecGrpcRouteMatchMetadataMatchPtrOutput() RouteSpecGrpcRouteMatchMetadataMatchPtrOutput { + return i.ToRouteSpecGrpcRouteMatchMetadataMatchPtrOutputWithContext(context.Background()) } -func (i *routeSpecGrpcRouteTimeoutIdlePtrType) ToRouteSpecGrpcRouteTimeoutIdlePtrOutputWithContext(ctx context.Context) RouteSpecGrpcRouteTimeoutIdlePtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(RouteSpecGrpcRouteTimeoutIdlePtrOutput) +func (i *routeSpecGrpcRouteMatchMetadataMatchPtrType) ToRouteSpecGrpcRouteMatchMetadataMatchPtrOutputWithContext(ctx context.Context) RouteSpecGrpcRouteMatchMetadataMatchPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(RouteSpecGrpcRouteMatchMetadataMatchPtrOutput) } -type RouteSpecGrpcRouteTimeoutIdleOutput struct{ *pulumi.OutputState } +type RouteSpecGrpcRouteMatchMetadataMatchOutput struct{ *pulumi.OutputState } -func (RouteSpecGrpcRouteTimeoutIdleOutput) ElementType() reflect.Type { - return reflect.TypeOf((*RouteSpecGrpcRouteTimeoutIdle)(nil)).Elem() +func (RouteSpecGrpcRouteMatchMetadataMatchOutput) ElementType() reflect.Type { + return reflect.TypeOf((*RouteSpecGrpcRouteMatchMetadataMatch)(nil)).Elem() } -func (o RouteSpecGrpcRouteTimeoutIdleOutput) ToRouteSpecGrpcRouteTimeoutIdleOutput() RouteSpecGrpcRouteTimeoutIdleOutput { +func (o RouteSpecGrpcRouteMatchMetadataMatchOutput) ToRouteSpecGrpcRouteMatchMetadataMatchOutput() RouteSpecGrpcRouteMatchMetadataMatchOutput { return o } -func (o RouteSpecGrpcRouteTimeoutIdleOutput) ToRouteSpecGrpcRouteTimeoutIdleOutputWithContext(ctx context.Context) RouteSpecGrpcRouteTimeoutIdleOutput { +func (o RouteSpecGrpcRouteMatchMetadataMatchOutput) ToRouteSpecGrpcRouteMatchMetadataMatchOutputWithContext(ctx context.Context) RouteSpecGrpcRouteMatchMetadataMatchOutput { return o } -func (o RouteSpecGrpcRouteTimeoutIdleOutput) ToRouteSpecGrpcRouteTimeoutIdlePtrOutput() RouteSpecGrpcRouteTimeoutIdlePtrOutput { - return o.ToRouteSpecGrpcRouteTimeoutIdlePtrOutputWithContext(context.Background()) +func (o RouteSpecGrpcRouteMatchMetadataMatchOutput) ToRouteSpecGrpcRouteMatchMetadataMatchPtrOutput() RouteSpecGrpcRouteMatchMetadataMatchPtrOutput { + return o.ToRouteSpecGrpcRouteMatchMetadataMatchPtrOutputWithContext(context.Background()) } -func (o RouteSpecGrpcRouteTimeoutIdleOutput) ToRouteSpecGrpcRouteTimeoutIdlePtrOutputWithContext(ctx context.Context) RouteSpecGrpcRouteTimeoutIdlePtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v RouteSpecGrpcRouteTimeoutIdle) *RouteSpecGrpcRouteTimeoutIdle { +func (o RouteSpecGrpcRouteMatchMetadataMatchOutput) ToRouteSpecGrpcRouteMatchMetadataMatchPtrOutputWithContext(ctx context.Context) RouteSpecGrpcRouteMatchMetadataMatchPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v RouteSpecGrpcRouteMatchMetadataMatch) *RouteSpecGrpcRouteMatchMetadataMatch { return &v - }).(RouteSpecGrpcRouteTimeoutIdlePtrOutput) + }).(RouteSpecGrpcRouteMatchMetadataMatchPtrOutput) } -// Unit of time. Valid values: `ms`, `s`. -func (o RouteSpecGrpcRouteTimeoutIdleOutput) Unit() pulumi.StringOutput { - return o.ApplyT(func(v RouteSpecGrpcRouteTimeoutIdle) string { return v.Unit }).(pulumi.StringOutput) +// The exact path to match on. +func (o RouteSpecGrpcRouteMatchMetadataMatchOutput) Exact() pulumi.StringPtrOutput { + return o.ApplyT(func(v RouteSpecGrpcRouteMatchMetadataMatch) *string { return v.Exact }).(pulumi.StringPtrOutput) } -// Number of time units. Minimum value of `0`. -func (o RouteSpecGrpcRouteTimeoutIdleOutput) Value() pulumi.IntOutput { - return o.ApplyT(func(v RouteSpecGrpcRouteTimeoutIdle) int { return v.Value }).(pulumi.IntOutput) +// Value sent by the client must begin with the specified characters. Must be between 1 and 255 characters in length. +// This parameter must always start with /, which by itself matches all requests to the virtual router service name. +func (o RouteSpecGrpcRouteMatchMetadataMatchOutput) Prefix() pulumi.StringPtrOutput { + return o.ApplyT(func(v RouteSpecGrpcRouteMatchMetadataMatch) *string { return v.Prefix }).(pulumi.StringPtrOutput) } -type RouteSpecGrpcRouteTimeoutIdlePtrOutput struct{ *pulumi.OutputState } +// Object that specifies the range of numbers that the value sent by the client must be included in. +func (o RouteSpecGrpcRouteMatchMetadataMatchOutput) Range() RouteSpecGrpcRouteMatchMetadataMatchRangePtrOutput { + return o.ApplyT(func(v RouteSpecGrpcRouteMatchMetadataMatch) *RouteSpecGrpcRouteMatchMetadataMatchRange { + return v.Range + }).(RouteSpecGrpcRouteMatchMetadataMatchRangePtrOutput) +} -func (RouteSpecGrpcRouteTimeoutIdlePtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**RouteSpecGrpcRouteTimeoutIdle)(nil)).Elem() +// The regex used to match the path. +func (o RouteSpecGrpcRouteMatchMetadataMatchOutput) Regex() pulumi.StringPtrOutput { + return o.ApplyT(func(v RouteSpecGrpcRouteMatchMetadataMatch) *string { return v.Regex }).(pulumi.StringPtrOutput) } -func (o RouteSpecGrpcRouteTimeoutIdlePtrOutput) ToRouteSpecGrpcRouteTimeoutIdlePtrOutput() RouteSpecGrpcRouteTimeoutIdlePtrOutput { +// Value sent by the client must end with the specified characters. Must be between 1 and 255 characters in length. +func (o RouteSpecGrpcRouteMatchMetadataMatchOutput) Suffix() pulumi.StringPtrOutput { + return o.ApplyT(func(v RouteSpecGrpcRouteMatchMetadataMatch) *string { return v.Suffix }).(pulumi.StringPtrOutput) +} + +type RouteSpecGrpcRouteMatchMetadataMatchPtrOutput struct{ *pulumi.OutputState } + +func (RouteSpecGrpcRouteMatchMetadataMatchPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**RouteSpecGrpcRouteMatchMetadataMatch)(nil)).Elem() +} + +func (o RouteSpecGrpcRouteMatchMetadataMatchPtrOutput) ToRouteSpecGrpcRouteMatchMetadataMatchPtrOutput() RouteSpecGrpcRouteMatchMetadataMatchPtrOutput { return o } -func (o RouteSpecGrpcRouteTimeoutIdlePtrOutput) ToRouteSpecGrpcRouteTimeoutIdlePtrOutputWithContext(ctx context.Context) RouteSpecGrpcRouteTimeoutIdlePtrOutput { +func (o RouteSpecGrpcRouteMatchMetadataMatchPtrOutput) ToRouteSpecGrpcRouteMatchMetadataMatchPtrOutputWithContext(ctx context.Context) RouteSpecGrpcRouteMatchMetadataMatchPtrOutput { return o } -func (o RouteSpecGrpcRouteTimeoutIdlePtrOutput) Elem() RouteSpecGrpcRouteTimeoutIdleOutput { - return o.ApplyT(func(v *RouteSpecGrpcRouteTimeoutIdle) RouteSpecGrpcRouteTimeoutIdle { +func (o RouteSpecGrpcRouteMatchMetadataMatchPtrOutput) Elem() RouteSpecGrpcRouteMatchMetadataMatchOutput { + return o.ApplyT(func(v *RouteSpecGrpcRouteMatchMetadataMatch) RouteSpecGrpcRouteMatchMetadataMatch { if v != nil { return *v } - var ret RouteSpecGrpcRouteTimeoutIdle + var ret RouteSpecGrpcRouteMatchMetadataMatch return ret - }).(RouteSpecGrpcRouteTimeoutIdleOutput) + }).(RouteSpecGrpcRouteMatchMetadataMatchOutput) } -// Unit of time. Valid values: `ms`, `s`. -func (o RouteSpecGrpcRouteTimeoutIdlePtrOutput) Unit() pulumi.StringPtrOutput { - return o.ApplyT(func(v *RouteSpecGrpcRouteTimeoutIdle) *string { +// The exact path to match on. +func (o RouteSpecGrpcRouteMatchMetadataMatchPtrOutput) Exact() pulumi.StringPtrOutput { + return o.ApplyT(func(v *RouteSpecGrpcRouteMatchMetadataMatch) *string { if v == nil { return nil } - return &v.Unit + return v.Exact }).(pulumi.StringPtrOutput) } -// Number of time units. Minimum value of `0`. -func (o RouteSpecGrpcRouteTimeoutIdlePtrOutput) Value() pulumi.IntPtrOutput { - return o.ApplyT(func(v *RouteSpecGrpcRouteTimeoutIdle) *int { +// Value sent by the client must begin with the specified characters. Must be between 1 and 255 characters in length. +// This parameter must always start with /, which by itself matches all requests to the virtual router service name. +func (o RouteSpecGrpcRouteMatchMetadataMatchPtrOutput) Prefix() pulumi.StringPtrOutput { + return o.ApplyT(func(v *RouteSpecGrpcRouteMatchMetadataMatch) *string { if v == nil { return nil } - return &v.Value - }).(pulumi.IntPtrOutput) + return v.Prefix + }).(pulumi.StringPtrOutput) } -type RouteSpecGrpcRouteTimeoutPerRequest struct { - // Unit of time. Valid values: `ms`, `s`. - Unit string `pulumi:"unit"` - // Number of time units. Minimum value of `0`. - Value int `pulumi:"value"` +// Object that specifies the range of numbers that the value sent by the client must be included in. +func (o RouteSpecGrpcRouteMatchMetadataMatchPtrOutput) Range() RouteSpecGrpcRouteMatchMetadataMatchRangePtrOutput { + return o.ApplyT(func(v *RouteSpecGrpcRouteMatchMetadataMatch) *RouteSpecGrpcRouteMatchMetadataMatchRange { + if v == nil { + return nil + } + return v.Range + }).(RouteSpecGrpcRouteMatchMetadataMatchRangePtrOutput) } -// RouteSpecGrpcRouteTimeoutPerRequestInput is an input type that accepts RouteSpecGrpcRouteTimeoutPerRequestArgs and RouteSpecGrpcRouteTimeoutPerRequestOutput values. -// You can construct a concrete instance of `RouteSpecGrpcRouteTimeoutPerRequestInput` via: +// The regex used to match the path. +func (o RouteSpecGrpcRouteMatchMetadataMatchPtrOutput) Regex() pulumi.StringPtrOutput { + return o.ApplyT(func(v *RouteSpecGrpcRouteMatchMetadataMatch) *string { + if v == nil { + return nil + } + return v.Regex + }).(pulumi.StringPtrOutput) +} + +// Value sent by the client must end with the specified characters. Must be between 1 and 255 characters in length. +func (o RouteSpecGrpcRouteMatchMetadataMatchPtrOutput) Suffix() pulumi.StringPtrOutput { + return o.ApplyT(func(v *RouteSpecGrpcRouteMatchMetadataMatch) *string { + if v == nil { + return nil + } + return v.Suffix + }).(pulumi.StringPtrOutput) +} + +type RouteSpecGrpcRouteMatchMetadataMatchRange struct { + // End of the range. + End int `pulumi:"end"` + // Start of the range. + Start int `pulumi:"start"` +} + +// RouteSpecGrpcRouteMatchMetadataMatchRangeInput is an input type that accepts RouteSpecGrpcRouteMatchMetadataMatchRangeArgs and RouteSpecGrpcRouteMatchMetadataMatchRangeOutput values. +// You can construct a concrete instance of `RouteSpecGrpcRouteMatchMetadataMatchRangeInput` via: // -// RouteSpecGrpcRouteTimeoutPerRequestArgs{...} -type RouteSpecGrpcRouteTimeoutPerRequestInput interface { +// RouteSpecGrpcRouteMatchMetadataMatchRangeArgs{...} +type RouteSpecGrpcRouteMatchMetadataMatchRangeInput interface { pulumi.Input - ToRouteSpecGrpcRouteTimeoutPerRequestOutput() RouteSpecGrpcRouteTimeoutPerRequestOutput - ToRouteSpecGrpcRouteTimeoutPerRequestOutputWithContext(context.Context) RouteSpecGrpcRouteTimeoutPerRequestOutput + ToRouteSpecGrpcRouteMatchMetadataMatchRangeOutput() RouteSpecGrpcRouteMatchMetadataMatchRangeOutput + ToRouteSpecGrpcRouteMatchMetadataMatchRangeOutputWithContext(context.Context) RouteSpecGrpcRouteMatchMetadataMatchRangeOutput } -type RouteSpecGrpcRouteTimeoutPerRequestArgs struct { - // Unit of time. Valid values: `ms`, `s`. - Unit pulumi.StringInput `pulumi:"unit"` - // Number of time units. Minimum value of `0`. - Value pulumi.IntInput `pulumi:"value"` +type RouteSpecGrpcRouteMatchMetadataMatchRangeArgs struct { + // End of the range. + End pulumi.IntInput `pulumi:"end"` + // Start of the range. + Start pulumi.IntInput `pulumi:"start"` } -func (RouteSpecGrpcRouteTimeoutPerRequestArgs) ElementType() reflect.Type { - return reflect.TypeOf((*RouteSpecGrpcRouteTimeoutPerRequest)(nil)).Elem() +func (RouteSpecGrpcRouteMatchMetadataMatchRangeArgs) ElementType() reflect.Type { + return reflect.TypeOf((*RouteSpecGrpcRouteMatchMetadataMatchRange)(nil)).Elem() } -func (i RouteSpecGrpcRouteTimeoutPerRequestArgs) ToRouteSpecGrpcRouteTimeoutPerRequestOutput() RouteSpecGrpcRouteTimeoutPerRequestOutput { - return i.ToRouteSpecGrpcRouteTimeoutPerRequestOutputWithContext(context.Background()) +func (i RouteSpecGrpcRouteMatchMetadataMatchRangeArgs) ToRouteSpecGrpcRouteMatchMetadataMatchRangeOutput() RouteSpecGrpcRouteMatchMetadataMatchRangeOutput { + return i.ToRouteSpecGrpcRouteMatchMetadataMatchRangeOutputWithContext(context.Background()) } -func (i RouteSpecGrpcRouteTimeoutPerRequestArgs) ToRouteSpecGrpcRouteTimeoutPerRequestOutputWithContext(ctx context.Context) RouteSpecGrpcRouteTimeoutPerRequestOutput { - return pulumi.ToOutputWithContext(ctx, i).(RouteSpecGrpcRouteTimeoutPerRequestOutput) +func (i RouteSpecGrpcRouteMatchMetadataMatchRangeArgs) ToRouteSpecGrpcRouteMatchMetadataMatchRangeOutputWithContext(ctx context.Context) RouteSpecGrpcRouteMatchMetadataMatchRangeOutput { + return pulumi.ToOutputWithContext(ctx, i).(RouteSpecGrpcRouteMatchMetadataMatchRangeOutput) } -func (i RouteSpecGrpcRouteTimeoutPerRequestArgs) ToRouteSpecGrpcRouteTimeoutPerRequestPtrOutput() RouteSpecGrpcRouteTimeoutPerRequestPtrOutput { - return i.ToRouteSpecGrpcRouteTimeoutPerRequestPtrOutputWithContext(context.Background()) +func (i RouteSpecGrpcRouteMatchMetadataMatchRangeArgs) ToRouteSpecGrpcRouteMatchMetadataMatchRangePtrOutput() RouteSpecGrpcRouteMatchMetadataMatchRangePtrOutput { + return i.ToRouteSpecGrpcRouteMatchMetadataMatchRangePtrOutputWithContext(context.Background()) } -func (i RouteSpecGrpcRouteTimeoutPerRequestArgs) ToRouteSpecGrpcRouteTimeoutPerRequestPtrOutputWithContext(ctx context.Context) RouteSpecGrpcRouteTimeoutPerRequestPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(RouteSpecGrpcRouteTimeoutPerRequestOutput).ToRouteSpecGrpcRouteTimeoutPerRequestPtrOutputWithContext(ctx) +func (i RouteSpecGrpcRouteMatchMetadataMatchRangeArgs) ToRouteSpecGrpcRouteMatchMetadataMatchRangePtrOutputWithContext(ctx context.Context) RouteSpecGrpcRouteMatchMetadataMatchRangePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(RouteSpecGrpcRouteMatchMetadataMatchRangeOutput).ToRouteSpecGrpcRouteMatchMetadataMatchRangePtrOutputWithContext(ctx) } -// RouteSpecGrpcRouteTimeoutPerRequestPtrInput is an input type that accepts RouteSpecGrpcRouteTimeoutPerRequestArgs, RouteSpecGrpcRouteTimeoutPerRequestPtr and RouteSpecGrpcRouteTimeoutPerRequestPtrOutput values. -// You can construct a concrete instance of `RouteSpecGrpcRouteTimeoutPerRequestPtrInput` via: +// RouteSpecGrpcRouteMatchMetadataMatchRangePtrInput is an input type that accepts RouteSpecGrpcRouteMatchMetadataMatchRangeArgs, RouteSpecGrpcRouteMatchMetadataMatchRangePtr and RouteSpecGrpcRouteMatchMetadataMatchRangePtrOutput values. +// You can construct a concrete instance of `RouteSpecGrpcRouteMatchMetadataMatchRangePtrInput` via: // -// RouteSpecGrpcRouteTimeoutPerRequestArgs{...} +// RouteSpecGrpcRouteMatchMetadataMatchRangeArgs{...} // // or: // // nil -type RouteSpecGrpcRouteTimeoutPerRequestPtrInput interface { +type RouteSpecGrpcRouteMatchMetadataMatchRangePtrInput interface { pulumi.Input - ToRouteSpecGrpcRouteTimeoutPerRequestPtrOutput() RouteSpecGrpcRouteTimeoutPerRequestPtrOutput - ToRouteSpecGrpcRouteTimeoutPerRequestPtrOutputWithContext(context.Context) RouteSpecGrpcRouteTimeoutPerRequestPtrOutput + ToRouteSpecGrpcRouteMatchMetadataMatchRangePtrOutput() RouteSpecGrpcRouteMatchMetadataMatchRangePtrOutput + ToRouteSpecGrpcRouteMatchMetadataMatchRangePtrOutputWithContext(context.Context) RouteSpecGrpcRouteMatchMetadataMatchRangePtrOutput } -type routeSpecGrpcRouteTimeoutPerRequestPtrType RouteSpecGrpcRouteTimeoutPerRequestArgs +type routeSpecGrpcRouteMatchMetadataMatchRangePtrType RouteSpecGrpcRouteMatchMetadataMatchRangeArgs -func RouteSpecGrpcRouteTimeoutPerRequestPtr(v *RouteSpecGrpcRouteTimeoutPerRequestArgs) RouteSpecGrpcRouteTimeoutPerRequestPtrInput { - return (*routeSpecGrpcRouteTimeoutPerRequestPtrType)(v) +func RouteSpecGrpcRouteMatchMetadataMatchRangePtr(v *RouteSpecGrpcRouteMatchMetadataMatchRangeArgs) RouteSpecGrpcRouteMatchMetadataMatchRangePtrInput { + return (*routeSpecGrpcRouteMatchMetadataMatchRangePtrType)(v) } -func (*routeSpecGrpcRouteTimeoutPerRequestPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**RouteSpecGrpcRouteTimeoutPerRequest)(nil)).Elem() +func (*routeSpecGrpcRouteMatchMetadataMatchRangePtrType) ElementType() reflect.Type { + return reflect.TypeOf((**RouteSpecGrpcRouteMatchMetadataMatchRange)(nil)).Elem() } -func (i *routeSpecGrpcRouteTimeoutPerRequestPtrType) ToRouteSpecGrpcRouteTimeoutPerRequestPtrOutput() RouteSpecGrpcRouteTimeoutPerRequestPtrOutput { - return i.ToRouteSpecGrpcRouteTimeoutPerRequestPtrOutputWithContext(context.Background()) +func (i *routeSpecGrpcRouteMatchMetadataMatchRangePtrType) ToRouteSpecGrpcRouteMatchMetadataMatchRangePtrOutput() RouteSpecGrpcRouteMatchMetadataMatchRangePtrOutput { + return i.ToRouteSpecGrpcRouteMatchMetadataMatchRangePtrOutputWithContext(context.Background()) } -func (i *routeSpecGrpcRouteTimeoutPerRequestPtrType) ToRouteSpecGrpcRouteTimeoutPerRequestPtrOutputWithContext(ctx context.Context) RouteSpecGrpcRouteTimeoutPerRequestPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(RouteSpecGrpcRouteTimeoutPerRequestPtrOutput) +func (i *routeSpecGrpcRouteMatchMetadataMatchRangePtrType) ToRouteSpecGrpcRouteMatchMetadataMatchRangePtrOutputWithContext(ctx context.Context) RouteSpecGrpcRouteMatchMetadataMatchRangePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(RouteSpecGrpcRouteMatchMetadataMatchRangePtrOutput) } -type RouteSpecGrpcRouteTimeoutPerRequestOutput struct{ *pulumi.OutputState } +type RouteSpecGrpcRouteMatchMetadataMatchRangeOutput struct{ *pulumi.OutputState } -func (RouteSpecGrpcRouteTimeoutPerRequestOutput) ElementType() reflect.Type { - return reflect.TypeOf((*RouteSpecGrpcRouteTimeoutPerRequest)(nil)).Elem() +func (RouteSpecGrpcRouteMatchMetadataMatchRangeOutput) ElementType() reflect.Type { + return reflect.TypeOf((*RouteSpecGrpcRouteMatchMetadataMatchRange)(nil)).Elem() } -func (o RouteSpecGrpcRouteTimeoutPerRequestOutput) ToRouteSpecGrpcRouteTimeoutPerRequestOutput() RouteSpecGrpcRouteTimeoutPerRequestOutput { +func (o RouteSpecGrpcRouteMatchMetadataMatchRangeOutput) ToRouteSpecGrpcRouteMatchMetadataMatchRangeOutput() RouteSpecGrpcRouteMatchMetadataMatchRangeOutput { return o } -func (o RouteSpecGrpcRouteTimeoutPerRequestOutput) ToRouteSpecGrpcRouteTimeoutPerRequestOutputWithContext(ctx context.Context) RouteSpecGrpcRouteTimeoutPerRequestOutput { +func (o RouteSpecGrpcRouteMatchMetadataMatchRangeOutput) ToRouteSpecGrpcRouteMatchMetadataMatchRangeOutputWithContext(ctx context.Context) RouteSpecGrpcRouteMatchMetadataMatchRangeOutput { return o } -func (o RouteSpecGrpcRouteTimeoutPerRequestOutput) ToRouteSpecGrpcRouteTimeoutPerRequestPtrOutput() RouteSpecGrpcRouteTimeoutPerRequestPtrOutput { - return o.ToRouteSpecGrpcRouteTimeoutPerRequestPtrOutputWithContext(context.Background()) +func (o RouteSpecGrpcRouteMatchMetadataMatchRangeOutput) ToRouteSpecGrpcRouteMatchMetadataMatchRangePtrOutput() RouteSpecGrpcRouteMatchMetadataMatchRangePtrOutput { + return o.ToRouteSpecGrpcRouteMatchMetadataMatchRangePtrOutputWithContext(context.Background()) } -func (o RouteSpecGrpcRouteTimeoutPerRequestOutput) ToRouteSpecGrpcRouteTimeoutPerRequestPtrOutputWithContext(ctx context.Context) RouteSpecGrpcRouteTimeoutPerRequestPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v RouteSpecGrpcRouteTimeoutPerRequest) *RouteSpecGrpcRouteTimeoutPerRequest { +func (o RouteSpecGrpcRouteMatchMetadataMatchRangeOutput) ToRouteSpecGrpcRouteMatchMetadataMatchRangePtrOutputWithContext(ctx context.Context) RouteSpecGrpcRouteMatchMetadataMatchRangePtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v RouteSpecGrpcRouteMatchMetadataMatchRange) *RouteSpecGrpcRouteMatchMetadataMatchRange { return &v - }).(RouteSpecGrpcRouteTimeoutPerRequestPtrOutput) + }).(RouteSpecGrpcRouteMatchMetadataMatchRangePtrOutput) } -// Unit of time. Valid values: `ms`, `s`. -func (o RouteSpecGrpcRouteTimeoutPerRequestOutput) Unit() pulumi.StringOutput { - return o.ApplyT(func(v RouteSpecGrpcRouteTimeoutPerRequest) string { return v.Unit }).(pulumi.StringOutput) +// End of the range. +func (o RouteSpecGrpcRouteMatchMetadataMatchRangeOutput) End() pulumi.IntOutput { + return o.ApplyT(func(v RouteSpecGrpcRouteMatchMetadataMatchRange) int { return v.End }).(pulumi.IntOutput) } -// Number of time units. Minimum value of `0`. -func (o RouteSpecGrpcRouteTimeoutPerRequestOutput) Value() pulumi.IntOutput { - return o.ApplyT(func(v RouteSpecGrpcRouteTimeoutPerRequest) int { return v.Value }).(pulumi.IntOutput) +// Start of the range. +func (o RouteSpecGrpcRouteMatchMetadataMatchRangeOutput) Start() pulumi.IntOutput { + return o.ApplyT(func(v RouteSpecGrpcRouteMatchMetadataMatchRange) int { return v.Start }).(pulumi.IntOutput) } -type RouteSpecGrpcRouteTimeoutPerRequestPtrOutput struct{ *pulumi.OutputState } +type RouteSpecGrpcRouteMatchMetadataMatchRangePtrOutput struct{ *pulumi.OutputState } -func (RouteSpecGrpcRouteTimeoutPerRequestPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**RouteSpecGrpcRouteTimeoutPerRequest)(nil)).Elem() +func (RouteSpecGrpcRouteMatchMetadataMatchRangePtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**RouteSpecGrpcRouteMatchMetadataMatchRange)(nil)).Elem() } -func (o RouteSpecGrpcRouteTimeoutPerRequestPtrOutput) ToRouteSpecGrpcRouteTimeoutPerRequestPtrOutput() RouteSpecGrpcRouteTimeoutPerRequestPtrOutput { +func (o RouteSpecGrpcRouteMatchMetadataMatchRangePtrOutput) ToRouteSpecGrpcRouteMatchMetadataMatchRangePtrOutput() RouteSpecGrpcRouteMatchMetadataMatchRangePtrOutput { return o } -func (o RouteSpecGrpcRouteTimeoutPerRequestPtrOutput) ToRouteSpecGrpcRouteTimeoutPerRequestPtrOutputWithContext(ctx context.Context) RouteSpecGrpcRouteTimeoutPerRequestPtrOutput { +func (o RouteSpecGrpcRouteMatchMetadataMatchRangePtrOutput) ToRouteSpecGrpcRouteMatchMetadataMatchRangePtrOutputWithContext(ctx context.Context) RouteSpecGrpcRouteMatchMetadataMatchRangePtrOutput { return o } -func (o RouteSpecGrpcRouteTimeoutPerRequestPtrOutput) Elem() RouteSpecGrpcRouteTimeoutPerRequestOutput { - return o.ApplyT(func(v *RouteSpecGrpcRouteTimeoutPerRequest) RouteSpecGrpcRouteTimeoutPerRequest { +func (o RouteSpecGrpcRouteMatchMetadataMatchRangePtrOutput) Elem() RouteSpecGrpcRouteMatchMetadataMatchRangeOutput { + return o.ApplyT(func(v *RouteSpecGrpcRouteMatchMetadataMatchRange) RouteSpecGrpcRouteMatchMetadataMatchRange { if v != nil { return *v } - var ret RouteSpecGrpcRouteTimeoutPerRequest + var ret RouteSpecGrpcRouteMatchMetadataMatchRange return ret - }).(RouteSpecGrpcRouteTimeoutPerRequestOutput) + }).(RouteSpecGrpcRouteMatchMetadataMatchRangeOutput) } -// Unit of time. Valid values: `ms`, `s`. -func (o RouteSpecGrpcRouteTimeoutPerRequestPtrOutput) Unit() pulumi.StringPtrOutput { - return o.ApplyT(func(v *RouteSpecGrpcRouteTimeoutPerRequest) *string { +// End of the range. +func (o RouteSpecGrpcRouteMatchMetadataMatchRangePtrOutput) End() pulumi.IntPtrOutput { + return o.ApplyT(func(v *RouteSpecGrpcRouteMatchMetadataMatchRange) *int { if v == nil { return nil } - return &v.Unit - }).(pulumi.StringPtrOutput) + return &v.End + }).(pulumi.IntPtrOutput) } -// Number of time units. Minimum value of `0`. -func (o RouteSpecGrpcRouteTimeoutPerRequestPtrOutput) Value() pulumi.IntPtrOutput { - return o.ApplyT(func(v *RouteSpecGrpcRouteTimeoutPerRequest) *int { +// Start of the range. +func (o RouteSpecGrpcRouteMatchMetadataMatchRangePtrOutput) Start() pulumi.IntPtrOutput { + return o.ApplyT(func(v *RouteSpecGrpcRouteMatchMetadataMatchRange) *int { if v == nil { return nil } - return &v.Value + return &v.Start }).(pulumi.IntPtrOutput) } -type RouteSpecHttp2Route struct { - // Action to take if a match is determined. - Action RouteSpecHttp2RouteAction `pulumi:"action"` - // Criteria for determining an gRPC request match. - Match RouteSpecHttp2RouteMatch `pulumi:"match"` - // Retry policy. - RetryPolicy *RouteSpecHttp2RouteRetryPolicy `pulumi:"retryPolicy"` - // Types of timeouts. - Timeout *RouteSpecHttp2RouteTimeout `pulumi:"timeout"` +type RouteSpecGrpcRouteRetryPolicy struct { + // List of gRPC retry events. + // Valid values: `cancelled`, `deadline-exceeded`, `internal`, `resource-exhausted`, `unavailable`. + GrpcRetryEvents []string `pulumi:"grpcRetryEvents"` + // List of HTTP retry events. + // Valid values: `client-error` (HTTP status code 409), `gateway-error` (HTTP status codes 502, 503, and 504), `server-error` (HTTP status codes 500, 501, 502, 503, 504, 505, 506, 507, 508, 510, and 511), `stream-error` (retry on refused stream). + // Valid values: `client-error` (HTTP status code 409), `gateway-error` (HTTP status codes 502, 503, and 504), `server-error` (HTTP status codes 500, 501, 502, 503, 504, 505, 506, 507, 508, 510, and 511), `stream-error` (retry on refused stream). + HttpRetryEvents []string `pulumi:"httpRetryEvents"` + // Maximum number of retries. + MaxRetries int `pulumi:"maxRetries"` + // Per-retry timeout. + PerRetryTimeout RouteSpecGrpcRouteRetryPolicyPerRetryTimeout `pulumi:"perRetryTimeout"` + // List of TCP retry events. The only valid value is `connection-error`. + TcpRetryEvents []string `pulumi:"tcpRetryEvents"` } -// RouteSpecHttp2RouteInput is an input type that accepts RouteSpecHttp2RouteArgs and RouteSpecHttp2RouteOutput values. -// You can construct a concrete instance of `RouteSpecHttp2RouteInput` via: +// RouteSpecGrpcRouteRetryPolicyInput is an input type that accepts RouteSpecGrpcRouteRetryPolicyArgs and RouteSpecGrpcRouteRetryPolicyOutput values. +// You can construct a concrete instance of `RouteSpecGrpcRouteRetryPolicyInput` via: // -// RouteSpecHttp2RouteArgs{...} -type RouteSpecHttp2RouteInput interface { +// RouteSpecGrpcRouteRetryPolicyArgs{...} +type RouteSpecGrpcRouteRetryPolicyInput interface { pulumi.Input - ToRouteSpecHttp2RouteOutput() RouteSpecHttp2RouteOutput - ToRouteSpecHttp2RouteOutputWithContext(context.Context) RouteSpecHttp2RouteOutput + ToRouteSpecGrpcRouteRetryPolicyOutput() RouteSpecGrpcRouteRetryPolicyOutput + ToRouteSpecGrpcRouteRetryPolicyOutputWithContext(context.Context) RouteSpecGrpcRouteRetryPolicyOutput } -type RouteSpecHttp2RouteArgs struct { - // Action to take if a match is determined. - Action RouteSpecHttp2RouteActionInput `pulumi:"action"` - // Criteria for determining an gRPC request match. - Match RouteSpecHttp2RouteMatchInput `pulumi:"match"` - // Retry policy. - RetryPolicy RouteSpecHttp2RouteRetryPolicyPtrInput `pulumi:"retryPolicy"` - // Types of timeouts. - Timeout RouteSpecHttp2RouteTimeoutPtrInput `pulumi:"timeout"` +type RouteSpecGrpcRouteRetryPolicyArgs struct { + // List of gRPC retry events. + // Valid values: `cancelled`, `deadline-exceeded`, `internal`, `resource-exhausted`, `unavailable`. + GrpcRetryEvents pulumi.StringArrayInput `pulumi:"grpcRetryEvents"` + // List of HTTP retry events. + // Valid values: `client-error` (HTTP status code 409), `gateway-error` (HTTP status codes 502, 503, and 504), `server-error` (HTTP status codes 500, 501, 502, 503, 504, 505, 506, 507, 508, 510, and 511), `stream-error` (retry on refused stream). + // Valid values: `client-error` (HTTP status code 409), `gateway-error` (HTTP status codes 502, 503, and 504), `server-error` (HTTP status codes 500, 501, 502, 503, 504, 505, 506, 507, 508, 510, and 511), `stream-error` (retry on refused stream). + HttpRetryEvents pulumi.StringArrayInput `pulumi:"httpRetryEvents"` + // Maximum number of retries. + MaxRetries pulumi.IntInput `pulumi:"maxRetries"` + // Per-retry timeout. + PerRetryTimeout RouteSpecGrpcRouteRetryPolicyPerRetryTimeoutInput `pulumi:"perRetryTimeout"` + // List of TCP retry events. The only valid value is `connection-error`. + TcpRetryEvents pulumi.StringArrayInput `pulumi:"tcpRetryEvents"` } -func (RouteSpecHttp2RouteArgs) ElementType() reflect.Type { - return reflect.TypeOf((*RouteSpecHttp2Route)(nil)).Elem() +func (RouteSpecGrpcRouteRetryPolicyArgs) ElementType() reflect.Type { + return reflect.TypeOf((*RouteSpecGrpcRouteRetryPolicy)(nil)).Elem() } -func (i RouteSpecHttp2RouteArgs) ToRouteSpecHttp2RouteOutput() RouteSpecHttp2RouteOutput { - return i.ToRouteSpecHttp2RouteOutputWithContext(context.Background()) +func (i RouteSpecGrpcRouteRetryPolicyArgs) ToRouteSpecGrpcRouteRetryPolicyOutput() RouteSpecGrpcRouteRetryPolicyOutput { + return i.ToRouteSpecGrpcRouteRetryPolicyOutputWithContext(context.Background()) } -func (i RouteSpecHttp2RouteArgs) ToRouteSpecHttp2RouteOutputWithContext(ctx context.Context) RouteSpecHttp2RouteOutput { - return pulumi.ToOutputWithContext(ctx, i).(RouteSpecHttp2RouteOutput) +func (i RouteSpecGrpcRouteRetryPolicyArgs) ToRouteSpecGrpcRouteRetryPolicyOutputWithContext(ctx context.Context) RouteSpecGrpcRouteRetryPolicyOutput { + return pulumi.ToOutputWithContext(ctx, i).(RouteSpecGrpcRouteRetryPolicyOutput) } -func (i RouteSpecHttp2RouteArgs) ToRouteSpecHttp2RoutePtrOutput() RouteSpecHttp2RoutePtrOutput { - return i.ToRouteSpecHttp2RoutePtrOutputWithContext(context.Background()) +func (i RouteSpecGrpcRouteRetryPolicyArgs) ToRouteSpecGrpcRouteRetryPolicyPtrOutput() RouteSpecGrpcRouteRetryPolicyPtrOutput { + return i.ToRouteSpecGrpcRouteRetryPolicyPtrOutputWithContext(context.Background()) } -func (i RouteSpecHttp2RouteArgs) ToRouteSpecHttp2RoutePtrOutputWithContext(ctx context.Context) RouteSpecHttp2RoutePtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(RouteSpecHttp2RouteOutput).ToRouteSpecHttp2RoutePtrOutputWithContext(ctx) +func (i RouteSpecGrpcRouteRetryPolicyArgs) ToRouteSpecGrpcRouteRetryPolicyPtrOutputWithContext(ctx context.Context) RouteSpecGrpcRouteRetryPolicyPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(RouteSpecGrpcRouteRetryPolicyOutput).ToRouteSpecGrpcRouteRetryPolicyPtrOutputWithContext(ctx) } -// RouteSpecHttp2RoutePtrInput is an input type that accepts RouteSpecHttp2RouteArgs, RouteSpecHttp2RoutePtr and RouteSpecHttp2RoutePtrOutput values. -// You can construct a concrete instance of `RouteSpecHttp2RoutePtrInput` via: +// RouteSpecGrpcRouteRetryPolicyPtrInput is an input type that accepts RouteSpecGrpcRouteRetryPolicyArgs, RouteSpecGrpcRouteRetryPolicyPtr and RouteSpecGrpcRouteRetryPolicyPtrOutput values. +// You can construct a concrete instance of `RouteSpecGrpcRouteRetryPolicyPtrInput` via: // -// RouteSpecHttp2RouteArgs{...} +// RouteSpecGrpcRouteRetryPolicyArgs{...} // // or: // // nil -type RouteSpecHttp2RoutePtrInput interface { +type RouteSpecGrpcRouteRetryPolicyPtrInput interface { pulumi.Input - ToRouteSpecHttp2RoutePtrOutput() RouteSpecHttp2RoutePtrOutput - ToRouteSpecHttp2RoutePtrOutputWithContext(context.Context) RouteSpecHttp2RoutePtrOutput + ToRouteSpecGrpcRouteRetryPolicyPtrOutput() RouteSpecGrpcRouteRetryPolicyPtrOutput + ToRouteSpecGrpcRouteRetryPolicyPtrOutputWithContext(context.Context) RouteSpecGrpcRouteRetryPolicyPtrOutput } -type routeSpecHttp2RoutePtrType RouteSpecHttp2RouteArgs +type routeSpecGrpcRouteRetryPolicyPtrType RouteSpecGrpcRouteRetryPolicyArgs -func RouteSpecHttp2RoutePtr(v *RouteSpecHttp2RouteArgs) RouteSpecHttp2RoutePtrInput { - return (*routeSpecHttp2RoutePtrType)(v) +func RouteSpecGrpcRouteRetryPolicyPtr(v *RouteSpecGrpcRouteRetryPolicyArgs) RouteSpecGrpcRouteRetryPolicyPtrInput { + return (*routeSpecGrpcRouteRetryPolicyPtrType)(v) } -func (*routeSpecHttp2RoutePtrType) ElementType() reflect.Type { - return reflect.TypeOf((**RouteSpecHttp2Route)(nil)).Elem() +func (*routeSpecGrpcRouteRetryPolicyPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**RouteSpecGrpcRouteRetryPolicy)(nil)).Elem() } -func (i *routeSpecHttp2RoutePtrType) ToRouteSpecHttp2RoutePtrOutput() RouteSpecHttp2RoutePtrOutput { - return i.ToRouteSpecHttp2RoutePtrOutputWithContext(context.Background()) +func (i *routeSpecGrpcRouteRetryPolicyPtrType) ToRouteSpecGrpcRouteRetryPolicyPtrOutput() RouteSpecGrpcRouteRetryPolicyPtrOutput { + return i.ToRouteSpecGrpcRouteRetryPolicyPtrOutputWithContext(context.Background()) } -func (i *routeSpecHttp2RoutePtrType) ToRouteSpecHttp2RoutePtrOutputWithContext(ctx context.Context) RouteSpecHttp2RoutePtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(RouteSpecHttp2RoutePtrOutput) +func (i *routeSpecGrpcRouteRetryPolicyPtrType) ToRouteSpecGrpcRouteRetryPolicyPtrOutputWithContext(ctx context.Context) RouteSpecGrpcRouteRetryPolicyPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(RouteSpecGrpcRouteRetryPolicyPtrOutput) } -type RouteSpecHttp2RouteOutput struct{ *pulumi.OutputState } +type RouteSpecGrpcRouteRetryPolicyOutput struct{ *pulumi.OutputState } -func (RouteSpecHttp2RouteOutput) ElementType() reflect.Type { - return reflect.TypeOf((*RouteSpecHttp2Route)(nil)).Elem() +func (RouteSpecGrpcRouteRetryPolicyOutput) ElementType() reflect.Type { + return reflect.TypeOf((*RouteSpecGrpcRouteRetryPolicy)(nil)).Elem() } -func (o RouteSpecHttp2RouteOutput) ToRouteSpecHttp2RouteOutput() RouteSpecHttp2RouteOutput { +func (o RouteSpecGrpcRouteRetryPolicyOutput) ToRouteSpecGrpcRouteRetryPolicyOutput() RouteSpecGrpcRouteRetryPolicyOutput { return o } -func (o RouteSpecHttp2RouteOutput) ToRouteSpecHttp2RouteOutputWithContext(ctx context.Context) RouteSpecHttp2RouteOutput { +func (o RouteSpecGrpcRouteRetryPolicyOutput) ToRouteSpecGrpcRouteRetryPolicyOutputWithContext(ctx context.Context) RouteSpecGrpcRouteRetryPolicyOutput { return o } -func (o RouteSpecHttp2RouteOutput) ToRouteSpecHttp2RoutePtrOutput() RouteSpecHttp2RoutePtrOutput { - return o.ToRouteSpecHttp2RoutePtrOutputWithContext(context.Background()) -} +func (o RouteSpecGrpcRouteRetryPolicyOutput) ToRouteSpecGrpcRouteRetryPolicyPtrOutput() RouteSpecGrpcRouteRetryPolicyPtrOutput { + return o.ToRouteSpecGrpcRouteRetryPolicyPtrOutputWithContext(context.Background()) +} -func (o RouteSpecHttp2RouteOutput) ToRouteSpecHttp2RoutePtrOutputWithContext(ctx context.Context) RouteSpecHttp2RoutePtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v RouteSpecHttp2Route) *RouteSpecHttp2Route { +func (o RouteSpecGrpcRouteRetryPolicyOutput) ToRouteSpecGrpcRouteRetryPolicyPtrOutputWithContext(ctx context.Context) RouteSpecGrpcRouteRetryPolicyPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v RouteSpecGrpcRouteRetryPolicy) *RouteSpecGrpcRouteRetryPolicy { return &v - }).(RouteSpecHttp2RoutePtrOutput) + }).(RouteSpecGrpcRouteRetryPolicyPtrOutput) } -// Action to take if a match is determined. -func (o RouteSpecHttp2RouteOutput) Action() RouteSpecHttp2RouteActionOutput { - return o.ApplyT(func(v RouteSpecHttp2Route) RouteSpecHttp2RouteAction { return v.Action }).(RouteSpecHttp2RouteActionOutput) +// List of gRPC retry events. +// Valid values: `cancelled`, `deadline-exceeded`, `internal`, `resource-exhausted`, `unavailable`. +func (o RouteSpecGrpcRouteRetryPolicyOutput) GrpcRetryEvents() pulumi.StringArrayOutput { + return o.ApplyT(func(v RouteSpecGrpcRouteRetryPolicy) []string { return v.GrpcRetryEvents }).(pulumi.StringArrayOutput) } -// Criteria for determining an gRPC request match. -func (o RouteSpecHttp2RouteOutput) Match() RouteSpecHttp2RouteMatchOutput { - return o.ApplyT(func(v RouteSpecHttp2Route) RouteSpecHttp2RouteMatch { return v.Match }).(RouteSpecHttp2RouteMatchOutput) +// List of HTTP retry events. +// Valid values: `client-error` (HTTP status code 409), `gateway-error` (HTTP status codes 502, 503, and 504), `server-error` (HTTP status codes 500, 501, 502, 503, 504, 505, 506, 507, 508, 510, and 511), `stream-error` (retry on refused stream). +// Valid values: `client-error` (HTTP status code 409), `gateway-error` (HTTP status codes 502, 503, and 504), `server-error` (HTTP status codes 500, 501, 502, 503, 504, 505, 506, 507, 508, 510, and 511), `stream-error` (retry on refused stream). +func (o RouteSpecGrpcRouteRetryPolicyOutput) HttpRetryEvents() pulumi.StringArrayOutput { + return o.ApplyT(func(v RouteSpecGrpcRouteRetryPolicy) []string { return v.HttpRetryEvents }).(pulumi.StringArrayOutput) } -// Retry policy. -func (o RouteSpecHttp2RouteOutput) RetryPolicy() RouteSpecHttp2RouteRetryPolicyPtrOutput { - return o.ApplyT(func(v RouteSpecHttp2Route) *RouteSpecHttp2RouteRetryPolicy { return v.RetryPolicy }).(RouteSpecHttp2RouteRetryPolicyPtrOutput) +// Maximum number of retries. +func (o RouteSpecGrpcRouteRetryPolicyOutput) MaxRetries() pulumi.IntOutput { + return o.ApplyT(func(v RouteSpecGrpcRouteRetryPolicy) int { return v.MaxRetries }).(pulumi.IntOutput) } -// Types of timeouts. -func (o RouteSpecHttp2RouteOutput) Timeout() RouteSpecHttp2RouteTimeoutPtrOutput { - return o.ApplyT(func(v RouteSpecHttp2Route) *RouteSpecHttp2RouteTimeout { return v.Timeout }).(RouteSpecHttp2RouteTimeoutPtrOutput) +// Per-retry timeout. +func (o RouteSpecGrpcRouteRetryPolicyOutput) PerRetryTimeout() RouteSpecGrpcRouteRetryPolicyPerRetryTimeoutOutput { + return o.ApplyT(func(v RouteSpecGrpcRouteRetryPolicy) RouteSpecGrpcRouteRetryPolicyPerRetryTimeout { + return v.PerRetryTimeout + }).(RouteSpecGrpcRouteRetryPolicyPerRetryTimeoutOutput) } -type RouteSpecHttp2RoutePtrOutput struct{ *pulumi.OutputState } +// List of TCP retry events. The only valid value is `connection-error`. +func (o RouteSpecGrpcRouteRetryPolicyOutput) TcpRetryEvents() pulumi.StringArrayOutput { + return o.ApplyT(func(v RouteSpecGrpcRouteRetryPolicy) []string { return v.TcpRetryEvents }).(pulumi.StringArrayOutput) +} -func (RouteSpecHttp2RoutePtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**RouteSpecHttp2Route)(nil)).Elem() +type RouteSpecGrpcRouteRetryPolicyPtrOutput struct{ *pulumi.OutputState } + +func (RouteSpecGrpcRouteRetryPolicyPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**RouteSpecGrpcRouteRetryPolicy)(nil)).Elem() } -func (o RouteSpecHttp2RoutePtrOutput) ToRouteSpecHttp2RoutePtrOutput() RouteSpecHttp2RoutePtrOutput { +func (o RouteSpecGrpcRouteRetryPolicyPtrOutput) ToRouteSpecGrpcRouteRetryPolicyPtrOutput() RouteSpecGrpcRouteRetryPolicyPtrOutput { return o } -func (o RouteSpecHttp2RoutePtrOutput) ToRouteSpecHttp2RoutePtrOutputWithContext(ctx context.Context) RouteSpecHttp2RoutePtrOutput { +func (o RouteSpecGrpcRouteRetryPolicyPtrOutput) ToRouteSpecGrpcRouteRetryPolicyPtrOutputWithContext(ctx context.Context) RouteSpecGrpcRouteRetryPolicyPtrOutput { return o } -func (o RouteSpecHttp2RoutePtrOutput) Elem() RouteSpecHttp2RouteOutput { - return o.ApplyT(func(v *RouteSpecHttp2Route) RouteSpecHttp2Route { +func (o RouteSpecGrpcRouteRetryPolicyPtrOutput) Elem() RouteSpecGrpcRouteRetryPolicyOutput { + return o.ApplyT(func(v *RouteSpecGrpcRouteRetryPolicy) RouteSpecGrpcRouteRetryPolicy { if v != nil { return *v } - var ret RouteSpecHttp2Route + var ret RouteSpecGrpcRouteRetryPolicy return ret - }).(RouteSpecHttp2RouteOutput) + }).(RouteSpecGrpcRouteRetryPolicyOutput) } -// Action to take if a match is determined. -func (o RouteSpecHttp2RoutePtrOutput) Action() RouteSpecHttp2RouteActionPtrOutput { - return o.ApplyT(func(v *RouteSpecHttp2Route) *RouteSpecHttp2RouteAction { +// List of gRPC retry events. +// Valid values: `cancelled`, `deadline-exceeded`, `internal`, `resource-exhausted`, `unavailable`. +func (o RouteSpecGrpcRouteRetryPolicyPtrOutput) GrpcRetryEvents() pulumi.StringArrayOutput { + return o.ApplyT(func(v *RouteSpecGrpcRouteRetryPolicy) []string { if v == nil { return nil } - return &v.Action - }).(RouteSpecHttp2RouteActionPtrOutput) + return v.GrpcRetryEvents + }).(pulumi.StringArrayOutput) } -// Criteria for determining an gRPC request match. -func (o RouteSpecHttp2RoutePtrOutput) Match() RouteSpecHttp2RouteMatchPtrOutput { - return o.ApplyT(func(v *RouteSpecHttp2Route) *RouteSpecHttp2RouteMatch { +// List of HTTP retry events. +// Valid values: `client-error` (HTTP status code 409), `gateway-error` (HTTP status codes 502, 503, and 504), `server-error` (HTTP status codes 500, 501, 502, 503, 504, 505, 506, 507, 508, 510, and 511), `stream-error` (retry on refused stream). +// Valid values: `client-error` (HTTP status code 409), `gateway-error` (HTTP status codes 502, 503, and 504), `server-error` (HTTP status codes 500, 501, 502, 503, 504, 505, 506, 507, 508, 510, and 511), `stream-error` (retry on refused stream). +func (o RouteSpecGrpcRouteRetryPolicyPtrOutput) HttpRetryEvents() pulumi.StringArrayOutput { + return o.ApplyT(func(v *RouteSpecGrpcRouteRetryPolicy) []string { if v == nil { return nil } - return &v.Match - }).(RouteSpecHttp2RouteMatchPtrOutput) + return v.HttpRetryEvents + }).(pulumi.StringArrayOutput) } -// Retry policy. -func (o RouteSpecHttp2RoutePtrOutput) RetryPolicy() RouteSpecHttp2RouteRetryPolicyPtrOutput { - return o.ApplyT(func(v *RouteSpecHttp2Route) *RouteSpecHttp2RouteRetryPolicy { +// Maximum number of retries. +func (o RouteSpecGrpcRouteRetryPolicyPtrOutput) MaxRetries() pulumi.IntPtrOutput { + return o.ApplyT(func(v *RouteSpecGrpcRouteRetryPolicy) *int { if v == nil { return nil } - return v.RetryPolicy - }).(RouteSpecHttp2RouteRetryPolicyPtrOutput) + return &v.MaxRetries + }).(pulumi.IntPtrOutput) } -// Types of timeouts. -func (o RouteSpecHttp2RoutePtrOutput) Timeout() RouteSpecHttp2RouteTimeoutPtrOutput { - return o.ApplyT(func(v *RouteSpecHttp2Route) *RouteSpecHttp2RouteTimeout { +// Per-retry timeout. +func (o RouteSpecGrpcRouteRetryPolicyPtrOutput) PerRetryTimeout() RouteSpecGrpcRouteRetryPolicyPerRetryTimeoutPtrOutput { + return o.ApplyT(func(v *RouteSpecGrpcRouteRetryPolicy) *RouteSpecGrpcRouteRetryPolicyPerRetryTimeout { if v == nil { return nil } - return v.Timeout - }).(RouteSpecHttp2RouteTimeoutPtrOutput) + return &v.PerRetryTimeout + }).(RouteSpecGrpcRouteRetryPolicyPerRetryTimeoutPtrOutput) } -type RouteSpecHttp2RouteAction struct { - // Targets that traffic is routed to when a request matches the route. - // You can specify one or more targets and their relative weights with which to distribute traffic. - WeightedTargets []RouteSpecHttp2RouteActionWeightedTarget `pulumi:"weightedTargets"` +// List of TCP retry events. The only valid value is `connection-error`. +func (o RouteSpecGrpcRouteRetryPolicyPtrOutput) TcpRetryEvents() pulumi.StringArrayOutput { + return o.ApplyT(func(v *RouteSpecGrpcRouteRetryPolicy) []string { + if v == nil { + return nil + } + return v.TcpRetryEvents + }).(pulumi.StringArrayOutput) } -// RouteSpecHttp2RouteActionInput is an input type that accepts RouteSpecHttp2RouteActionArgs and RouteSpecHttp2RouteActionOutput values. -// You can construct a concrete instance of `RouteSpecHttp2RouteActionInput` via: +type RouteSpecGrpcRouteRetryPolicyPerRetryTimeout struct { + // Retry unit. Valid values: `ms`, `s`. + Unit string `pulumi:"unit"` + // Retry value. + Value int `pulumi:"value"` +} + +// RouteSpecGrpcRouteRetryPolicyPerRetryTimeoutInput is an input type that accepts RouteSpecGrpcRouteRetryPolicyPerRetryTimeoutArgs and RouteSpecGrpcRouteRetryPolicyPerRetryTimeoutOutput values. +// You can construct a concrete instance of `RouteSpecGrpcRouteRetryPolicyPerRetryTimeoutInput` via: // -// RouteSpecHttp2RouteActionArgs{...} -type RouteSpecHttp2RouteActionInput interface { +// RouteSpecGrpcRouteRetryPolicyPerRetryTimeoutArgs{...} +type RouteSpecGrpcRouteRetryPolicyPerRetryTimeoutInput interface { pulumi.Input - ToRouteSpecHttp2RouteActionOutput() RouteSpecHttp2RouteActionOutput - ToRouteSpecHttp2RouteActionOutputWithContext(context.Context) RouteSpecHttp2RouteActionOutput + ToRouteSpecGrpcRouteRetryPolicyPerRetryTimeoutOutput() RouteSpecGrpcRouteRetryPolicyPerRetryTimeoutOutput + ToRouteSpecGrpcRouteRetryPolicyPerRetryTimeoutOutputWithContext(context.Context) RouteSpecGrpcRouteRetryPolicyPerRetryTimeoutOutput } -type RouteSpecHttp2RouteActionArgs struct { - // Targets that traffic is routed to when a request matches the route. - // You can specify one or more targets and their relative weights with which to distribute traffic. - WeightedTargets RouteSpecHttp2RouteActionWeightedTargetArrayInput `pulumi:"weightedTargets"` +type RouteSpecGrpcRouteRetryPolicyPerRetryTimeoutArgs struct { + // Retry unit. Valid values: `ms`, `s`. + Unit pulumi.StringInput `pulumi:"unit"` + // Retry value. + Value pulumi.IntInput `pulumi:"value"` } -func (RouteSpecHttp2RouteActionArgs) ElementType() reflect.Type { - return reflect.TypeOf((*RouteSpecHttp2RouteAction)(nil)).Elem() +func (RouteSpecGrpcRouteRetryPolicyPerRetryTimeoutArgs) ElementType() reflect.Type { + return reflect.TypeOf((*RouteSpecGrpcRouteRetryPolicyPerRetryTimeout)(nil)).Elem() } -func (i RouteSpecHttp2RouteActionArgs) ToRouteSpecHttp2RouteActionOutput() RouteSpecHttp2RouteActionOutput { - return i.ToRouteSpecHttp2RouteActionOutputWithContext(context.Background()) +func (i RouteSpecGrpcRouteRetryPolicyPerRetryTimeoutArgs) ToRouteSpecGrpcRouteRetryPolicyPerRetryTimeoutOutput() RouteSpecGrpcRouteRetryPolicyPerRetryTimeoutOutput { + return i.ToRouteSpecGrpcRouteRetryPolicyPerRetryTimeoutOutputWithContext(context.Background()) } -func (i RouteSpecHttp2RouteActionArgs) ToRouteSpecHttp2RouteActionOutputWithContext(ctx context.Context) RouteSpecHttp2RouteActionOutput { - return pulumi.ToOutputWithContext(ctx, i).(RouteSpecHttp2RouteActionOutput) +func (i RouteSpecGrpcRouteRetryPolicyPerRetryTimeoutArgs) ToRouteSpecGrpcRouteRetryPolicyPerRetryTimeoutOutputWithContext(ctx context.Context) RouteSpecGrpcRouteRetryPolicyPerRetryTimeoutOutput { + return pulumi.ToOutputWithContext(ctx, i).(RouteSpecGrpcRouteRetryPolicyPerRetryTimeoutOutput) } -func (i RouteSpecHttp2RouteActionArgs) ToRouteSpecHttp2RouteActionPtrOutput() RouteSpecHttp2RouteActionPtrOutput { - return i.ToRouteSpecHttp2RouteActionPtrOutputWithContext(context.Background()) +func (i RouteSpecGrpcRouteRetryPolicyPerRetryTimeoutArgs) ToRouteSpecGrpcRouteRetryPolicyPerRetryTimeoutPtrOutput() RouteSpecGrpcRouteRetryPolicyPerRetryTimeoutPtrOutput { + return i.ToRouteSpecGrpcRouteRetryPolicyPerRetryTimeoutPtrOutputWithContext(context.Background()) } -func (i RouteSpecHttp2RouteActionArgs) ToRouteSpecHttp2RouteActionPtrOutputWithContext(ctx context.Context) RouteSpecHttp2RouteActionPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(RouteSpecHttp2RouteActionOutput).ToRouteSpecHttp2RouteActionPtrOutputWithContext(ctx) +func (i RouteSpecGrpcRouteRetryPolicyPerRetryTimeoutArgs) ToRouteSpecGrpcRouteRetryPolicyPerRetryTimeoutPtrOutputWithContext(ctx context.Context) RouteSpecGrpcRouteRetryPolicyPerRetryTimeoutPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(RouteSpecGrpcRouteRetryPolicyPerRetryTimeoutOutput).ToRouteSpecGrpcRouteRetryPolicyPerRetryTimeoutPtrOutputWithContext(ctx) } -// RouteSpecHttp2RouteActionPtrInput is an input type that accepts RouteSpecHttp2RouteActionArgs, RouteSpecHttp2RouteActionPtr and RouteSpecHttp2RouteActionPtrOutput values. -// You can construct a concrete instance of `RouteSpecHttp2RouteActionPtrInput` via: +// RouteSpecGrpcRouteRetryPolicyPerRetryTimeoutPtrInput is an input type that accepts RouteSpecGrpcRouteRetryPolicyPerRetryTimeoutArgs, RouteSpecGrpcRouteRetryPolicyPerRetryTimeoutPtr and RouteSpecGrpcRouteRetryPolicyPerRetryTimeoutPtrOutput values. +// You can construct a concrete instance of `RouteSpecGrpcRouteRetryPolicyPerRetryTimeoutPtrInput` via: // -// RouteSpecHttp2RouteActionArgs{...} +// RouteSpecGrpcRouteRetryPolicyPerRetryTimeoutArgs{...} // // or: // // nil -type RouteSpecHttp2RouteActionPtrInput interface { +type RouteSpecGrpcRouteRetryPolicyPerRetryTimeoutPtrInput interface { pulumi.Input - ToRouteSpecHttp2RouteActionPtrOutput() RouteSpecHttp2RouteActionPtrOutput - ToRouteSpecHttp2RouteActionPtrOutputWithContext(context.Context) RouteSpecHttp2RouteActionPtrOutput + ToRouteSpecGrpcRouteRetryPolicyPerRetryTimeoutPtrOutput() RouteSpecGrpcRouteRetryPolicyPerRetryTimeoutPtrOutput + ToRouteSpecGrpcRouteRetryPolicyPerRetryTimeoutPtrOutputWithContext(context.Context) RouteSpecGrpcRouteRetryPolicyPerRetryTimeoutPtrOutput } -type routeSpecHttp2RouteActionPtrType RouteSpecHttp2RouteActionArgs +type routeSpecGrpcRouteRetryPolicyPerRetryTimeoutPtrType RouteSpecGrpcRouteRetryPolicyPerRetryTimeoutArgs -func RouteSpecHttp2RouteActionPtr(v *RouteSpecHttp2RouteActionArgs) RouteSpecHttp2RouteActionPtrInput { - return (*routeSpecHttp2RouteActionPtrType)(v) +func RouteSpecGrpcRouteRetryPolicyPerRetryTimeoutPtr(v *RouteSpecGrpcRouteRetryPolicyPerRetryTimeoutArgs) RouteSpecGrpcRouteRetryPolicyPerRetryTimeoutPtrInput { + return (*routeSpecGrpcRouteRetryPolicyPerRetryTimeoutPtrType)(v) } -func (*routeSpecHttp2RouteActionPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**RouteSpecHttp2RouteAction)(nil)).Elem() +func (*routeSpecGrpcRouteRetryPolicyPerRetryTimeoutPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**RouteSpecGrpcRouteRetryPolicyPerRetryTimeout)(nil)).Elem() } -func (i *routeSpecHttp2RouteActionPtrType) ToRouteSpecHttp2RouteActionPtrOutput() RouteSpecHttp2RouteActionPtrOutput { - return i.ToRouteSpecHttp2RouteActionPtrOutputWithContext(context.Background()) +func (i *routeSpecGrpcRouteRetryPolicyPerRetryTimeoutPtrType) ToRouteSpecGrpcRouteRetryPolicyPerRetryTimeoutPtrOutput() RouteSpecGrpcRouteRetryPolicyPerRetryTimeoutPtrOutput { + return i.ToRouteSpecGrpcRouteRetryPolicyPerRetryTimeoutPtrOutputWithContext(context.Background()) } -func (i *routeSpecHttp2RouteActionPtrType) ToRouteSpecHttp2RouteActionPtrOutputWithContext(ctx context.Context) RouteSpecHttp2RouteActionPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(RouteSpecHttp2RouteActionPtrOutput) +func (i *routeSpecGrpcRouteRetryPolicyPerRetryTimeoutPtrType) ToRouteSpecGrpcRouteRetryPolicyPerRetryTimeoutPtrOutputWithContext(ctx context.Context) RouteSpecGrpcRouteRetryPolicyPerRetryTimeoutPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(RouteSpecGrpcRouteRetryPolicyPerRetryTimeoutPtrOutput) } -type RouteSpecHttp2RouteActionOutput struct{ *pulumi.OutputState } +type RouteSpecGrpcRouteRetryPolicyPerRetryTimeoutOutput struct{ *pulumi.OutputState } -func (RouteSpecHttp2RouteActionOutput) ElementType() reflect.Type { - return reflect.TypeOf((*RouteSpecHttp2RouteAction)(nil)).Elem() +func (RouteSpecGrpcRouteRetryPolicyPerRetryTimeoutOutput) ElementType() reflect.Type { + return reflect.TypeOf((*RouteSpecGrpcRouteRetryPolicyPerRetryTimeout)(nil)).Elem() } -func (o RouteSpecHttp2RouteActionOutput) ToRouteSpecHttp2RouteActionOutput() RouteSpecHttp2RouteActionOutput { +func (o RouteSpecGrpcRouteRetryPolicyPerRetryTimeoutOutput) ToRouteSpecGrpcRouteRetryPolicyPerRetryTimeoutOutput() RouteSpecGrpcRouteRetryPolicyPerRetryTimeoutOutput { return o } -func (o RouteSpecHttp2RouteActionOutput) ToRouteSpecHttp2RouteActionOutputWithContext(ctx context.Context) RouteSpecHttp2RouteActionOutput { +func (o RouteSpecGrpcRouteRetryPolicyPerRetryTimeoutOutput) ToRouteSpecGrpcRouteRetryPolicyPerRetryTimeoutOutputWithContext(ctx context.Context) RouteSpecGrpcRouteRetryPolicyPerRetryTimeoutOutput { return o } -func (o RouteSpecHttp2RouteActionOutput) ToRouteSpecHttp2RouteActionPtrOutput() RouteSpecHttp2RouteActionPtrOutput { - return o.ToRouteSpecHttp2RouteActionPtrOutputWithContext(context.Background()) +func (o RouteSpecGrpcRouteRetryPolicyPerRetryTimeoutOutput) ToRouteSpecGrpcRouteRetryPolicyPerRetryTimeoutPtrOutput() RouteSpecGrpcRouteRetryPolicyPerRetryTimeoutPtrOutput { + return o.ToRouteSpecGrpcRouteRetryPolicyPerRetryTimeoutPtrOutputWithContext(context.Background()) } -func (o RouteSpecHttp2RouteActionOutput) ToRouteSpecHttp2RouteActionPtrOutputWithContext(ctx context.Context) RouteSpecHttp2RouteActionPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v RouteSpecHttp2RouteAction) *RouteSpecHttp2RouteAction { +func (o RouteSpecGrpcRouteRetryPolicyPerRetryTimeoutOutput) ToRouteSpecGrpcRouteRetryPolicyPerRetryTimeoutPtrOutputWithContext(ctx context.Context) RouteSpecGrpcRouteRetryPolicyPerRetryTimeoutPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v RouteSpecGrpcRouteRetryPolicyPerRetryTimeout) *RouteSpecGrpcRouteRetryPolicyPerRetryTimeout { return &v - }).(RouteSpecHttp2RouteActionPtrOutput) + }).(RouteSpecGrpcRouteRetryPolicyPerRetryTimeoutPtrOutput) } -// Targets that traffic is routed to when a request matches the route. -// You can specify one or more targets and their relative weights with which to distribute traffic. -func (o RouteSpecHttp2RouteActionOutput) WeightedTargets() RouteSpecHttp2RouteActionWeightedTargetArrayOutput { - return o.ApplyT(func(v RouteSpecHttp2RouteAction) []RouteSpecHttp2RouteActionWeightedTarget { return v.WeightedTargets }).(RouteSpecHttp2RouteActionWeightedTargetArrayOutput) +// Retry unit. Valid values: `ms`, `s`. +func (o RouteSpecGrpcRouteRetryPolicyPerRetryTimeoutOutput) Unit() pulumi.StringOutput { + return o.ApplyT(func(v RouteSpecGrpcRouteRetryPolicyPerRetryTimeout) string { return v.Unit }).(pulumi.StringOutput) } -type RouteSpecHttp2RouteActionPtrOutput struct{ *pulumi.OutputState } +// Retry value. +func (o RouteSpecGrpcRouteRetryPolicyPerRetryTimeoutOutput) Value() pulumi.IntOutput { + return o.ApplyT(func(v RouteSpecGrpcRouteRetryPolicyPerRetryTimeout) int { return v.Value }).(pulumi.IntOutput) +} -func (RouteSpecHttp2RouteActionPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**RouteSpecHttp2RouteAction)(nil)).Elem() +type RouteSpecGrpcRouteRetryPolicyPerRetryTimeoutPtrOutput struct{ *pulumi.OutputState } + +func (RouteSpecGrpcRouteRetryPolicyPerRetryTimeoutPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**RouteSpecGrpcRouteRetryPolicyPerRetryTimeout)(nil)).Elem() } -func (o RouteSpecHttp2RouteActionPtrOutput) ToRouteSpecHttp2RouteActionPtrOutput() RouteSpecHttp2RouteActionPtrOutput { +func (o RouteSpecGrpcRouteRetryPolicyPerRetryTimeoutPtrOutput) ToRouteSpecGrpcRouteRetryPolicyPerRetryTimeoutPtrOutput() RouteSpecGrpcRouteRetryPolicyPerRetryTimeoutPtrOutput { return o } -func (o RouteSpecHttp2RouteActionPtrOutput) ToRouteSpecHttp2RouteActionPtrOutputWithContext(ctx context.Context) RouteSpecHttp2RouteActionPtrOutput { +func (o RouteSpecGrpcRouteRetryPolicyPerRetryTimeoutPtrOutput) ToRouteSpecGrpcRouteRetryPolicyPerRetryTimeoutPtrOutputWithContext(ctx context.Context) RouteSpecGrpcRouteRetryPolicyPerRetryTimeoutPtrOutput { return o } -func (o RouteSpecHttp2RouteActionPtrOutput) Elem() RouteSpecHttp2RouteActionOutput { - return o.ApplyT(func(v *RouteSpecHttp2RouteAction) RouteSpecHttp2RouteAction { +func (o RouteSpecGrpcRouteRetryPolicyPerRetryTimeoutPtrOutput) Elem() RouteSpecGrpcRouteRetryPolicyPerRetryTimeoutOutput { + return o.ApplyT(func(v *RouteSpecGrpcRouteRetryPolicyPerRetryTimeout) RouteSpecGrpcRouteRetryPolicyPerRetryTimeout { if v != nil { return *v } - var ret RouteSpecHttp2RouteAction + var ret RouteSpecGrpcRouteRetryPolicyPerRetryTimeout return ret - }).(RouteSpecHttp2RouteActionOutput) + }).(RouteSpecGrpcRouteRetryPolicyPerRetryTimeoutOutput) } -// Targets that traffic is routed to when a request matches the route. -// You can specify one or more targets and their relative weights with which to distribute traffic. -func (o RouteSpecHttp2RouteActionPtrOutput) WeightedTargets() RouteSpecHttp2RouteActionWeightedTargetArrayOutput { - return o.ApplyT(func(v *RouteSpecHttp2RouteAction) []RouteSpecHttp2RouteActionWeightedTarget { +// Retry unit. Valid values: `ms`, `s`. +func (o RouteSpecGrpcRouteRetryPolicyPerRetryTimeoutPtrOutput) Unit() pulumi.StringPtrOutput { + return o.ApplyT(func(v *RouteSpecGrpcRouteRetryPolicyPerRetryTimeout) *string { if v == nil { return nil } - return v.WeightedTargets - }).(RouteSpecHttp2RouteActionWeightedTargetArrayOutput) + return &v.Unit + }).(pulumi.StringPtrOutput) } -type RouteSpecHttp2RouteActionWeightedTarget struct { - // The targeted port of the weighted object. - Port *int `pulumi:"port"` - // Virtual node to associate with the weighted target. Must be between 1 and 255 characters in length. - VirtualNode string `pulumi:"virtualNode"` - // Relative weight of the weighted target. An integer between 0 and 100. - Weight int `pulumi:"weight"` +// Retry value. +func (o RouteSpecGrpcRouteRetryPolicyPerRetryTimeoutPtrOutput) Value() pulumi.IntPtrOutput { + return o.ApplyT(func(v *RouteSpecGrpcRouteRetryPolicyPerRetryTimeout) *int { + if v == nil { + return nil + } + return &v.Value + }).(pulumi.IntPtrOutput) } -// RouteSpecHttp2RouteActionWeightedTargetInput is an input type that accepts RouteSpecHttp2RouteActionWeightedTargetArgs and RouteSpecHttp2RouteActionWeightedTargetOutput values. -// You can construct a concrete instance of `RouteSpecHttp2RouteActionWeightedTargetInput` via: +type RouteSpecGrpcRouteTimeout struct { + // Idle timeout. An idle timeout bounds the amount of time that a connection may be idle. + Idle *RouteSpecGrpcRouteTimeoutIdle `pulumi:"idle"` + // Per request timeout. + PerRequest *RouteSpecGrpcRouteTimeoutPerRequest `pulumi:"perRequest"` +} + +// RouteSpecGrpcRouteTimeoutInput is an input type that accepts RouteSpecGrpcRouteTimeoutArgs and RouteSpecGrpcRouteTimeoutOutput values. +// You can construct a concrete instance of `RouteSpecGrpcRouteTimeoutInput` via: // -// RouteSpecHttp2RouteActionWeightedTargetArgs{...} -type RouteSpecHttp2RouteActionWeightedTargetInput interface { +// RouteSpecGrpcRouteTimeoutArgs{...} +type RouteSpecGrpcRouteTimeoutInput interface { pulumi.Input - ToRouteSpecHttp2RouteActionWeightedTargetOutput() RouteSpecHttp2RouteActionWeightedTargetOutput - ToRouteSpecHttp2RouteActionWeightedTargetOutputWithContext(context.Context) RouteSpecHttp2RouteActionWeightedTargetOutput + ToRouteSpecGrpcRouteTimeoutOutput() RouteSpecGrpcRouteTimeoutOutput + ToRouteSpecGrpcRouteTimeoutOutputWithContext(context.Context) RouteSpecGrpcRouteTimeoutOutput } -type RouteSpecHttp2RouteActionWeightedTargetArgs struct { - // The targeted port of the weighted object. - Port pulumi.IntPtrInput `pulumi:"port"` - // Virtual node to associate with the weighted target. Must be between 1 and 255 characters in length. - VirtualNode pulumi.StringInput `pulumi:"virtualNode"` - // Relative weight of the weighted target. An integer between 0 and 100. - Weight pulumi.IntInput `pulumi:"weight"` +type RouteSpecGrpcRouteTimeoutArgs struct { + // Idle timeout. An idle timeout bounds the amount of time that a connection may be idle. + Idle RouteSpecGrpcRouteTimeoutIdlePtrInput `pulumi:"idle"` + // Per request timeout. + PerRequest RouteSpecGrpcRouteTimeoutPerRequestPtrInput `pulumi:"perRequest"` } -func (RouteSpecHttp2RouteActionWeightedTargetArgs) ElementType() reflect.Type { - return reflect.TypeOf((*RouteSpecHttp2RouteActionWeightedTarget)(nil)).Elem() +func (RouteSpecGrpcRouteTimeoutArgs) ElementType() reflect.Type { + return reflect.TypeOf((*RouteSpecGrpcRouteTimeout)(nil)).Elem() } -func (i RouteSpecHttp2RouteActionWeightedTargetArgs) ToRouteSpecHttp2RouteActionWeightedTargetOutput() RouteSpecHttp2RouteActionWeightedTargetOutput { - return i.ToRouteSpecHttp2RouteActionWeightedTargetOutputWithContext(context.Background()) +func (i RouteSpecGrpcRouteTimeoutArgs) ToRouteSpecGrpcRouteTimeoutOutput() RouteSpecGrpcRouteTimeoutOutput { + return i.ToRouteSpecGrpcRouteTimeoutOutputWithContext(context.Background()) } -func (i RouteSpecHttp2RouteActionWeightedTargetArgs) ToRouteSpecHttp2RouteActionWeightedTargetOutputWithContext(ctx context.Context) RouteSpecHttp2RouteActionWeightedTargetOutput { - return pulumi.ToOutputWithContext(ctx, i).(RouteSpecHttp2RouteActionWeightedTargetOutput) +func (i RouteSpecGrpcRouteTimeoutArgs) ToRouteSpecGrpcRouteTimeoutOutputWithContext(ctx context.Context) RouteSpecGrpcRouteTimeoutOutput { + return pulumi.ToOutputWithContext(ctx, i).(RouteSpecGrpcRouteTimeoutOutput) } -// RouteSpecHttp2RouteActionWeightedTargetArrayInput is an input type that accepts RouteSpecHttp2RouteActionWeightedTargetArray and RouteSpecHttp2RouteActionWeightedTargetArrayOutput values. -// You can construct a concrete instance of `RouteSpecHttp2RouteActionWeightedTargetArrayInput` via: +func (i RouteSpecGrpcRouteTimeoutArgs) ToRouteSpecGrpcRouteTimeoutPtrOutput() RouteSpecGrpcRouteTimeoutPtrOutput { + return i.ToRouteSpecGrpcRouteTimeoutPtrOutputWithContext(context.Background()) +} + +func (i RouteSpecGrpcRouteTimeoutArgs) ToRouteSpecGrpcRouteTimeoutPtrOutputWithContext(ctx context.Context) RouteSpecGrpcRouteTimeoutPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(RouteSpecGrpcRouteTimeoutOutput).ToRouteSpecGrpcRouteTimeoutPtrOutputWithContext(ctx) +} + +// RouteSpecGrpcRouteTimeoutPtrInput is an input type that accepts RouteSpecGrpcRouteTimeoutArgs, RouteSpecGrpcRouteTimeoutPtr and RouteSpecGrpcRouteTimeoutPtrOutput values. +// You can construct a concrete instance of `RouteSpecGrpcRouteTimeoutPtrInput` via: // -// RouteSpecHttp2RouteActionWeightedTargetArray{ RouteSpecHttp2RouteActionWeightedTargetArgs{...} } -type RouteSpecHttp2RouteActionWeightedTargetArrayInput interface { +// RouteSpecGrpcRouteTimeoutArgs{...} +// +// or: +// +// nil +type RouteSpecGrpcRouteTimeoutPtrInput interface { pulumi.Input - ToRouteSpecHttp2RouteActionWeightedTargetArrayOutput() RouteSpecHttp2RouteActionWeightedTargetArrayOutput - ToRouteSpecHttp2RouteActionWeightedTargetArrayOutputWithContext(context.Context) RouteSpecHttp2RouteActionWeightedTargetArrayOutput + ToRouteSpecGrpcRouteTimeoutPtrOutput() RouteSpecGrpcRouteTimeoutPtrOutput + ToRouteSpecGrpcRouteTimeoutPtrOutputWithContext(context.Context) RouteSpecGrpcRouteTimeoutPtrOutput } -type RouteSpecHttp2RouteActionWeightedTargetArray []RouteSpecHttp2RouteActionWeightedTargetInput +type routeSpecGrpcRouteTimeoutPtrType RouteSpecGrpcRouteTimeoutArgs -func (RouteSpecHttp2RouteActionWeightedTargetArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]RouteSpecHttp2RouteActionWeightedTarget)(nil)).Elem() +func RouteSpecGrpcRouteTimeoutPtr(v *RouteSpecGrpcRouteTimeoutArgs) RouteSpecGrpcRouteTimeoutPtrInput { + return (*routeSpecGrpcRouteTimeoutPtrType)(v) } -func (i RouteSpecHttp2RouteActionWeightedTargetArray) ToRouteSpecHttp2RouteActionWeightedTargetArrayOutput() RouteSpecHttp2RouteActionWeightedTargetArrayOutput { - return i.ToRouteSpecHttp2RouteActionWeightedTargetArrayOutputWithContext(context.Background()) +func (*routeSpecGrpcRouteTimeoutPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**RouteSpecGrpcRouteTimeout)(nil)).Elem() } -func (i RouteSpecHttp2RouteActionWeightedTargetArray) ToRouteSpecHttp2RouteActionWeightedTargetArrayOutputWithContext(ctx context.Context) RouteSpecHttp2RouteActionWeightedTargetArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(RouteSpecHttp2RouteActionWeightedTargetArrayOutput) +func (i *routeSpecGrpcRouteTimeoutPtrType) ToRouteSpecGrpcRouteTimeoutPtrOutput() RouteSpecGrpcRouteTimeoutPtrOutput { + return i.ToRouteSpecGrpcRouteTimeoutPtrOutputWithContext(context.Background()) } -type RouteSpecHttp2RouteActionWeightedTargetOutput struct{ *pulumi.OutputState } +func (i *routeSpecGrpcRouteTimeoutPtrType) ToRouteSpecGrpcRouteTimeoutPtrOutputWithContext(ctx context.Context) RouteSpecGrpcRouteTimeoutPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(RouteSpecGrpcRouteTimeoutPtrOutput) +} -func (RouteSpecHttp2RouteActionWeightedTargetOutput) ElementType() reflect.Type { - return reflect.TypeOf((*RouteSpecHttp2RouteActionWeightedTarget)(nil)).Elem() +type RouteSpecGrpcRouteTimeoutOutput struct{ *pulumi.OutputState } + +func (RouteSpecGrpcRouteTimeoutOutput) ElementType() reflect.Type { + return reflect.TypeOf((*RouteSpecGrpcRouteTimeout)(nil)).Elem() } -func (o RouteSpecHttp2RouteActionWeightedTargetOutput) ToRouteSpecHttp2RouteActionWeightedTargetOutput() RouteSpecHttp2RouteActionWeightedTargetOutput { +func (o RouteSpecGrpcRouteTimeoutOutput) ToRouteSpecGrpcRouteTimeoutOutput() RouteSpecGrpcRouteTimeoutOutput { return o } -func (o RouteSpecHttp2RouteActionWeightedTargetOutput) ToRouteSpecHttp2RouteActionWeightedTargetOutputWithContext(ctx context.Context) RouteSpecHttp2RouteActionWeightedTargetOutput { +func (o RouteSpecGrpcRouteTimeoutOutput) ToRouteSpecGrpcRouteTimeoutOutputWithContext(ctx context.Context) RouteSpecGrpcRouteTimeoutOutput { return o } -// The targeted port of the weighted object. -func (o RouteSpecHttp2RouteActionWeightedTargetOutput) Port() pulumi.IntPtrOutput { - return o.ApplyT(func(v RouteSpecHttp2RouteActionWeightedTarget) *int { return v.Port }).(pulumi.IntPtrOutput) +func (o RouteSpecGrpcRouteTimeoutOutput) ToRouteSpecGrpcRouteTimeoutPtrOutput() RouteSpecGrpcRouteTimeoutPtrOutput { + return o.ToRouteSpecGrpcRouteTimeoutPtrOutputWithContext(context.Background()) } -// Virtual node to associate with the weighted target. Must be between 1 and 255 characters in length. -func (o RouteSpecHttp2RouteActionWeightedTargetOutput) VirtualNode() pulumi.StringOutput { - return o.ApplyT(func(v RouteSpecHttp2RouteActionWeightedTarget) string { return v.VirtualNode }).(pulumi.StringOutput) +func (o RouteSpecGrpcRouteTimeoutOutput) ToRouteSpecGrpcRouteTimeoutPtrOutputWithContext(ctx context.Context) RouteSpecGrpcRouteTimeoutPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v RouteSpecGrpcRouteTimeout) *RouteSpecGrpcRouteTimeout { + return &v + }).(RouteSpecGrpcRouteTimeoutPtrOutput) } -// Relative weight of the weighted target. An integer between 0 and 100. -func (o RouteSpecHttp2RouteActionWeightedTargetOutput) Weight() pulumi.IntOutput { - return o.ApplyT(func(v RouteSpecHttp2RouteActionWeightedTarget) int { return v.Weight }).(pulumi.IntOutput) +// Idle timeout. An idle timeout bounds the amount of time that a connection may be idle. +func (o RouteSpecGrpcRouteTimeoutOutput) Idle() RouteSpecGrpcRouteTimeoutIdlePtrOutput { + return o.ApplyT(func(v RouteSpecGrpcRouteTimeout) *RouteSpecGrpcRouteTimeoutIdle { return v.Idle }).(RouteSpecGrpcRouteTimeoutIdlePtrOutput) } -type RouteSpecHttp2RouteActionWeightedTargetArrayOutput struct{ *pulumi.OutputState } +// Per request timeout. +func (o RouteSpecGrpcRouteTimeoutOutput) PerRequest() RouteSpecGrpcRouteTimeoutPerRequestPtrOutput { + return o.ApplyT(func(v RouteSpecGrpcRouteTimeout) *RouteSpecGrpcRouteTimeoutPerRequest { return v.PerRequest }).(RouteSpecGrpcRouteTimeoutPerRequestPtrOutput) +} -func (RouteSpecHttp2RouteActionWeightedTargetArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]RouteSpecHttp2RouteActionWeightedTarget)(nil)).Elem() +type RouteSpecGrpcRouteTimeoutPtrOutput struct{ *pulumi.OutputState } + +func (RouteSpecGrpcRouteTimeoutPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**RouteSpecGrpcRouteTimeout)(nil)).Elem() } -func (o RouteSpecHttp2RouteActionWeightedTargetArrayOutput) ToRouteSpecHttp2RouteActionWeightedTargetArrayOutput() RouteSpecHttp2RouteActionWeightedTargetArrayOutput { +func (o RouteSpecGrpcRouteTimeoutPtrOutput) ToRouteSpecGrpcRouteTimeoutPtrOutput() RouteSpecGrpcRouteTimeoutPtrOutput { return o } -func (o RouteSpecHttp2RouteActionWeightedTargetArrayOutput) ToRouteSpecHttp2RouteActionWeightedTargetArrayOutputWithContext(ctx context.Context) RouteSpecHttp2RouteActionWeightedTargetArrayOutput { +func (o RouteSpecGrpcRouteTimeoutPtrOutput) ToRouteSpecGrpcRouteTimeoutPtrOutputWithContext(ctx context.Context) RouteSpecGrpcRouteTimeoutPtrOutput { return o } -func (o RouteSpecHttp2RouteActionWeightedTargetArrayOutput) Index(i pulumi.IntInput) RouteSpecHttp2RouteActionWeightedTargetOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) RouteSpecHttp2RouteActionWeightedTarget { - return vs[0].([]RouteSpecHttp2RouteActionWeightedTarget)[vs[1].(int)] - }).(RouteSpecHttp2RouteActionWeightedTargetOutput) +func (o RouteSpecGrpcRouteTimeoutPtrOutput) Elem() RouteSpecGrpcRouteTimeoutOutput { + return o.ApplyT(func(v *RouteSpecGrpcRouteTimeout) RouteSpecGrpcRouteTimeout { + if v != nil { + return *v + } + var ret RouteSpecGrpcRouteTimeout + return ret + }).(RouteSpecGrpcRouteTimeoutOutput) } -type RouteSpecHttp2RouteMatch struct { - // Client request headers to match on. - Headers []RouteSpecHttp2RouteMatchHeader `pulumi:"headers"` - // Client request header method to match on. Valid values: `GET`, `HEAD`, `POST`, `PUT`, `DELETE`, `CONNECT`, `OPTIONS`, `TRACE`, `PATCH`. - Method *string `pulumi:"method"` - // The port number to match from the request. - Port *int `pulumi:"port"` - // Value sent by the client must begin with the specified characters. Must be between 1 and 255 characters in length. - // This parameter must always start with /, which by itself matches all requests to the virtual router service name. - Prefix string `pulumi:"prefix"` - // Client request header scheme to match on. Valid values: `http`, `https`. - Scheme *string `pulumi:"scheme"` +// Idle timeout. An idle timeout bounds the amount of time that a connection may be idle. +func (o RouteSpecGrpcRouteTimeoutPtrOutput) Idle() RouteSpecGrpcRouteTimeoutIdlePtrOutput { + return o.ApplyT(func(v *RouteSpecGrpcRouteTimeout) *RouteSpecGrpcRouteTimeoutIdle { + if v == nil { + return nil + } + return v.Idle + }).(RouteSpecGrpcRouteTimeoutIdlePtrOutput) } -// RouteSpecHttp2RouteMatchInput is an input type that accepts RouteSpecHttp2RouteMatchArgs and RouteSpecHttp2RouteMatchOutput values. -// You can construct a concrete instance of `RouteSpecHttp2RouteMatchInput` via: +// Per request timeout. +func (o RouteSpecGrpcRouteTimeoutPtrOutput) PerRequest() RouteSpecGrpcRouteTimeoutPerRequestPtrOutput { + return o.ApplyT(func(v *RouteSpecGrpcRouteTimeout) *RouteSpecGrpcRouteTimeoutPerRequest { + if v == nil { + return nil + } + return v.PerRequest + }).(RouteSpecGrpcRouteTimeoutPerRequestPtrOutput) +} + +type RouteSpecGrpcRouteTimeoutIdle struct { + // Unit of time. Valid values: `ms`, `s`. + Unit string `pulumi:"unit"` + // Number of time units. Minimum value of `0`. + Value int `pulumi:"value"` +} + +// RouteSpecGrpcRouteTimeoutIdleInput is an input type that accepts RouteSpecGrpcRouteTimeoutIdleArgs and RouteSpecGrpcRouteTimeoutIdleOutput values. +// You can construct a concrete instance of `RouteSpecGrpcRouteTimeoutIdleInput` via: // -// RouteSpecHttp2RouteMatchArgs{...} -type RouteSpecHttp2RouteMatchInput interface { +// RouteSpecGrpcRouteTimeoutIdleArgs{...} +type RouteSpecGrpcRouteTimeoutIdleInput interface { pulumi.Input - ToRouteSpecHttp2RouteMatchOutput() RouteSpecHttp2RouteMatchOutput - ToRouteSpecHttp2RouteMatchOutputWithContext(context.Context) RouteSpecHttp2RouteMatchOutput + ToRouteSpecGrpcRouteTimeoutIdleOutput() RouteSpecGrpcRouteTimeoutIdleOutput + ToRouteSpecGrpcRouteTimeoutIdleOutputWithContext(context.Context) RouteSpecGrpcRouteTimeoutIdleOutput } -type RouteSpecHttp2RouteMatchArgs struct { - // Client request headers to match on. - Headers RouteSpecHttp2RouteMatchHeaderArrayInput `pulumi:"headers"` - // Client request header method to match on. Valid values: `GET`, `HEAD`, `POST`, `PUT`, `DELETE`, `CONNECT`, `OPTIONS`, `TRACE`, `PATCH`. - Method pulumi.StringPtrInput `pulumi:"method"` - // The port number to match from the request. - Port pulumi.IntPtrInput `pulumi:"port"` - // Value sent by the client must begin with the specified characters. Must be between 1 and 255 characters in length. - // This parameter must always start with /, which by itself matches all requests to the virtual router service name. - Prefix pulumi.StringInput `pulumi:"prefix"` - // Client request header scheme to match on. Valid values: `http`, `https`. - Scheme pulumi.StringPtrInput `pulumi:"scheme"` +type RouteSpecGrpcRouteTimeoutIdleArgs struct { + // Unit of time. Valid values: `ms`, `s`. + Unit pulumi.StringInput `pulumi:"unit"` + // Number of time units. Minimum value of `0`. + Value pulumi.IntInput `pulumi:"value"` } -func (RouteSpecHttp2RouteMatchArgs) ElementType() reflect.Type { - return reflect.TypeOf((*RouteSpecHttp2RouteMatch)(nil)).Elem() +func (RouteSpecGrpcRouteTimeoutIdleArgs) ElementType() reflect.Type { + return reflect.TypeOf((*RouteSpecGrpcRouteTimeoutIdle)(nil)).Elem() } -func (i RouteSpecHttp2RouteMatchArgs) ToRouteSpecHttp2RouteMatchOutput() RouteSpecHttp2RouteMatchOutput { - return i.ToRouteSpecHttp2RouteMatchOutputWithContext(context.Background()) +func (i RouteSpecGrpcRouteTimeoutIdleArgs) ToRouteSpecGrpcRouteTimeoutIdleOutput() RouteSpecGrpcRouteTimeoutIdleOutput { + return i.ToRouteSpecGrpcRouteTimeoutIdleOutputWithContext(context.Background()) } -func (i RouteSpecHttp2RouteMatchArgs) ToRouteSpecHttp2RouteMatchOutputWithContext(ctx context.Context) RouteSpecHttp2RouteMatchOutput { - return pulumi.ToOutputWithContext(ctx, i).(RouteSpecHttp2RouteMatchOutput) +func (i RouteSpecGrpcRouteTimeoutIdleArgs) ToRouteSpecGrpcRouteTimeoutIdleOutputWithContext(ctx context.Context) RouteSpecGrpcRouteTimeoutIdleOutput { + return pulumi.ToOutputWithContext(ctx, i).(RouteSpecGrpcRouteTimeoutIdleOutput) } -func (i RouteSpecHttp2RouteMatchArgs) ToRouteSpecHttp2RouteMatchPtrOutput() RouteSpecHttp2RouteMatchPtrOutput { - return i.ToRouteSpecHttp2RouteMatchPtrOutputWithContext(context.Background()) +func (i RouteSpecGrpcRouteTimeoutIdleArgs) ToRouteSpecGrpcRouteTimeoutIdlePtrOutput() RouteSpecGrpcRouteTimeoutIdlePtrOutput { + return i.ToRouteSpecGrpcRouteTimeoutIdlePtrOutputWithContext(context.Background()) } -func (i RouteSpecHttp2RouteMatchArgs) ToRouteSpecHttp2RouteMatchPtrOutputWithContext(ctx context.Context) RouteSpecHttp2RouteMatchPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(RouteSpecHttp2RouteMatchOutput).ToRouteSpecHttp2RouteMatchPtrOutputWithContext(ctx) +func (i RouteSpecGrpcRouteTimeoutIdleArgs) ToRouteSpecGrpcRouteTimeoutIdlePtrOutputWithContext(ctx context.Context) RouteSpecGrpcRouteTimeoutIdlePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(RouteSpecGrpcRouteTimeoutIdleOutput).ToRouteSpecGrpcRouteTimeoutIdlePtrOutputWithContext(ctx) } -// RouteSpecHttp2RouteMatchPtrInput is an input type that accepts RouteSpecHttp2RouteMatchArgs, RouteSpecHttp2RouteMatchPtr and RouteSpecHttp2RouteMatchPtrOutput values. -// You can construct a concrete instance of `RouteSpecHttp2RouteMatchPtrInput` via: +// RouteSpecGrpcRouteTimeoutIdlePtrInput is an input type that accepts RouteSpecGrpcRouteTimeoutIdleArgs, RouteSpecGrpcRouteTimeoutIdlePtr and RouteSpecGrpcRouteTimeoutIdlePtrOutput values. +// You can construct a concrete instance of `RouteSpecGrpcRouteTimeoutIdlePtrInput` via: // -// RouteSpecHttp2RouteMatchArgs{...} +// RouteSpecGrpcRouteTimeoutIdleArgs{...} // // or: // // nil -type RouteSpecHttp2RouteMatchPtrInput interface { +type RouteSpecGrpcRouteTimeoutIdlePtrInput interface { pulumi.Input - ToRouteSpecHttp2RouteMatchPtrOutput() RouteSpecHttp2RouteMatchPtrOutput - ToRouteSpecHttp2RouteMatchPtrOutputWithContext(context.Context) RouteSpecHttp2RouteMatchPtrOutput + ToRouteSpecGrpcRouteTimeoutIdlePtrOutput() RouteSpecGrpcRouteTimeoutIdlePtrOutput + ToRouteSpecGrpcRouteTimeoutIdlePtrOutputWithContext(context.Context) RouteSpecGrpcRouteTimeoutIdlePtrOutput } -type routeSpecHttp2RouteMatchPtrType RouteSpecHttp2RouteMatchArgs +type routeSpecGrpcRouteTimeoutIdlePtrType RouteSpecGrpcRouteTimeoutIdleArgs -func RouteSpecHttp2RouteMatchPtr(v *RouteSpecHttp2RouteMatchArgs) RouteSpecHttp2RouteMatchPtrInput { - return (*routeSpecHttp2RouteMatchPtrType)(v) +func RouteSpecGrpcRouteTimeoutIdlePtr(v *RouteSpecGrpcRouteTimeoutIdleArgs) RouteSpecGrpcRouteTimeoutIdlePtrInput { + return (*routeSpecGrpcRouteTimeoutIdlePtrType)(v) } -func (*routeSpecHttp2RouteMatchPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**RouteSpecHttp2RouteMatch)(nil)).Elem() +func (*routeSpecGrpcRouteTimeoutIdlePtrType) ElementType() reflect.Type { + return reflect.TypeOf((**RouteSpecGrpcRouteTimeoutIdle)(nil)).Elem() } -func (i *routeSpecHttp2RouteMatchPtrType) ToRouteSpecHttp2RouteMatchPtrOutput() RouteSpecHttp2RouteMatchPtrOutput { - return i.ToRouteSpecHttp2RouteMatchPtrOutputWithContext(context.Background()) +func (i *routeSpecGrpcRouteTimeoutIdlePtrType) ToRouteSpecGrpcRouteTimeoutIdlePtrOutput() RouteSpecGrpcRouteTimeoutIdlePtrOutput { + return i.ToRouteSpecGrpcRouteTimeoutIdlePtrOutputWithContext(context.Background()) } -func (i *routeSpecHttp2RouteMatchPtrType) ToRouteSpecHttp2RouteMatchPtrOutputWithContext(ctx context.Context) RouteSpecHttp2RouteMatchPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(RouteSpecHttp2RouteMatchPtrOutput) +func (i *routeSpecGrpcRouteTimeoutIdlePtrType) ToRouteSpecGrpcRouteTimeoutIdlePtrOutputWithContext(ctx context.Context) RouteSpecGrpcRouteTimeoutIdlePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(RouteSpecGrpcRouteTimeoutIdlePtrOutput) } -type RouteSpecHttp2RouteMatchOutput struct{ *pulumi.OutputState } +type RouteSpecGrpcRouteTimeoutIdleOutput struct{ *pulumi.OutputState } -func (RouteSpecHttp2RouteMatchOutput) ElementType() reflect.Type { - return reflect.TypeOf((*RouteSpecHttp2RouteMatch)(nil)).Elem() +func (RouteSpecGrpcRouteTimeoutIdleOutput) ElementType() reflect.Type { + return reflect.TypeOf((*RouteSpecGrpcRouteTimeoutIdle)(nil)).Elem() } -func (o RouteSpecHttp2RouteMatchOutput) ToRouteSpecHttp2RouteMatchOutput() RouteSpecHttp2RouteMatchOutput { +func (o RouteSpecGrpcRouteTimeoutIdleOutput) ToRouteSpecGrpcRouteTimeoutIdleOutput() RouteSpecGrpcRouteTimeoutIdleOutput { return o } -func (o RouteSpecHttp2RouteMatchOutput) ToRouteSpecHttp2RouteMatchOutputWithContext(ctx context.Context) RouteSpecHttp2RouteMatchOutput { +func (o RouteSpecGrpcRouteTimeoutIdleOutput) ToRouteSpecGrpcRouteTimeoutIdleOutputWithContext(ctx context.Context) RouteSpecGrpcRouteTimeoutIdleOutput { return o } -func (o RouteSpecHttp2RouteMatchOutput) ToRouteSpecHttp2RouteMatchPtrOutput() RouteSpecHttp2RouteMatchPtrOutput { - return o.ToRouteSpecHttp2RouteMatchPtrOutputWithContext(context.Background()) +func (o RouteSpecGrpcRouteTimeoutIdleOutput) ToRouteSpecGrpcRouteTimeoutIdlePtrOutput() RouteSpecGrpcRouteTimeoutIdlePtrOutput { + return o.ToRouteSpecGrpcRouteTimeoutIdlePtrOutputWithContext(context.Background()) } -func (o RouteSpecHttp2RouteMatchOutput) ToRouteSpecHttp2RouteMatchPtrOutputWithContext(ctx context.Context) RouteSpecHttp2RouteMatchPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v RouteSpecHttp2RouteMatch) *RouteSpecHttp2RouteMatch { +func (o RouteSpecGrpcRouteTimeoutIdleOutput) ToRouteSpecGrpcRouteTimeoutIdlePtrOutputWithContext(ctx context.Context) RouteSpecGrpcRouteTimeoutIdlePtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v RouteSpecGrpcRouteTimeoutIdle) *RouteSpecGrpcRouteTimeoutIdle { return &v - }).(RouteSpecHttp2RouteMatchPtrOutput) -} - -// Client request headers to match on. -func (o RouteSpecHttp2RouteMatchOutput) Headers() RouteSpecHttp2RouteMatchHeaderArrayOutput { - return o.ApplyT(func(v RouteSpecHttp2RouteMatch) []RouteSpecHttp2RouteMatchHeader { return v.Headers }).(RouteSpecHttp2RouteMatchHeaderArrayOutput) -} - -// Client request header method to match on. Valid values: `GET`, `HEAD`, `POST`, `PUT`, `DELETE`, `CONNECT`, `OPTIONS`, `TRACE`, `PATCH`. -func (o RouteSpecHttp2RouteMatchOutput) Method() pulumi.StringPtrOutput { - return o.ApplyT(func(v RouteSpecHttp2RouteMatch) *string { return v.Method }).(pulumi.StringPtrOutput) -} - -// The port number to match from the request. -func (o RouteSpecHttp2RouteMatchOutput) Port() pulumi.IntPtrOutput { - return o.ApplyT(func(v RouteSpecHttp2RouteMatch) *int { return v.Port }).(pulumi.IntPtrOutput) + }).(RouteSpecGrpcRouteTimeoutIdlePtrOutput) } -// Value sent by the client must begin with the specified characters. Must be between 1 and 255 characters in length. -// This parameter must always start with /, which by itself matches all requests to the virtual router service name. -func (o RouteSpecHttp2RouteMatchOutput) Prefix() pulumi.StringOutput { - return o.ApplyT(func(v RouteSpecHttp2RouteMatch) string { return v.Prefix }).(pulumi.StringOutput) +// Unit of time. Valid values: `ms`, `s`. +func (o RouteSpecGrpcRouteTimeoutIdleOutput) Unit() pulumi.StringOutput { + return o.ApplyT(func(v RouteSpecGrpcRouteTimeoutIdle) string { return v.Unit }).(pulumi.StringOutput) } -// Client request header scheme to match on. Valid values: `http`, `https`. -func (o RouteSpecHttp2RouteMatchOutput) Scheme() pulumi.StringPtrOutput { - return o.ApplyT(func(v RouteSpecHttp2RouteMatch) *string { return v.Scheme }).(pulumi.StringPtrOutput) +// Number of time units. Minimum value of `0`. +func (o RouteSpecGrpcRouteTimeoutIdleOutput) Value() pulumi.IntOutput { + return o.ApplyT(func(v RouteSpecGrpcRouteTimeoutIdle) int { return v.Value }).(pulumi.IntOutput) } -type RouteSpecHttp2RouteMatchPtrOutput struct{ *pulumi.OutputState } +type RouteSpecGrpcRouteTimeoutIdlePtrOutput struct{ *pulumi.OutputState } -func (RouteSpecHttp2RouteMatchPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**RouteSpecHttp2RouteMatch)(nil)).Elem() +func (RouteSpecGrpcRouteTimeoutIdlePtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**RouteSpecGrpcRouteTimeoutIdle)(nil)).Elem() } -func (o RouteSpecHttp2RouteMatchPtrOutput) ToRouteSpecHttp2RouteMatchPtrOutput() RouteSpecHttp2RouteMatchPtrOutput { +func (o RouteSpecGrpcRouteTimeoutIdlePtrOutput) ToRouteSpecGrpcRouteTimeoutIdlePtrOutput() RouteSpecGrpcRouteTimeoutIdlePtrOutput { return o } -func (o RouteSpecHttp2RouteMatchPtrOutput) ToRouteSpecHttp2RouteMatchPtrOutputWithContext(ctx context.Context) RouteSpecHttp2RouteMatchPtrOutput { +func (o RouteSpecGrpcRouteTimeoutIdlePtrOutput) ToRouteSpecGrpcRouteTimeoutIdlePtrOutputWithContext(ctx context.Context) RouteSpecGrpcRouteTimeoutIdlePtrOutput { return o } -func (o RouteSpecHttp2RouteMatchPtrOutput) Elem() RouteSpecHttp2RouteMatchOutput { - return o.ApplyT(func(v *RouteSpecHttp2RouteMatch) RouteSpecHttp2RouteMatch { +func (o RouteSpecGrpcRouteTimeoutIdlePtrOutput) Elem() RouteSpecGrpcRouteTimeoutIdleOutput { + return o.ApplyT(func(v *RouteSpecGrpcRouteTimeoutIdle) RouteSpecGrpcRouteTimeoutIdle { if v != nil { return *v } - var ret RouteSpecHttp2RouteMatch + var ret RouteSpecGrpcRouteTimeoutIdle return ret - }).(RouteSpecHttp2RouteMatchOutput) -} - -// Client request headers to match on. -func (o RouteSpecHttp2RouteMatchPtrOutput) Headers() RouteSpecHttp2RouteMatchHeaderArrayOutput { - return o.ApplyT(func(v *RouteSpecHttp2RouteMatch) []RouteSpecHttp2RouteMatchHeader { - if v == nil { - return nil - } - return v.Headers - }).(RouteSpecHttp2RouteMatchHeaderArrayOutput) + }).(RouteSpecGrpcRouteTimeoutIdleOutput) } -// Client request header method to match on. Valid values: `GET`, `HEAD`, `POST`, `PUT`, `DELETE`, `CONNECT`, `OPTIONS`, `TRACE`, `PATCH`. -func (o RouteSpecHttp2RouteMatchPtrOutput) Method() pulumi.StringPtrOutput { - return o.ApplyT(func(v *RouteSpecHttp2RouteMatch) *string { +// Unit of time. Valid values: `ms`, `s`. +func (o RouteSpecGrpcRouteTimeoutIdlePtrOutput) Unit() pulumi.StringPtrOutput { + return o.ApplyT(func(v *RouteSpecGrpcRouteTimeoutIdle) *string { if v == nil { return nil } - return v.Method + return &v.Unit }).(pulumi.StringPtrOutput) } -// The port number to match from the request. -func (o RouteSpecHttp2RouteMatchPtrOutput) Port() pulumi.IntPtrOutput { - return o.ApplyT(func(v *RouteSpecHttp2RouteMatch) *int { +// Number of time units. Minimum value of `0`. +func (o RouteSpecGrpcRouteTimeoutIdlePtrOutput) Value() pulumi.IntPtrOutput { + return o.ApplyT(func(v *RouteSpecGrpcRouteTimeoutIdle) *int { if v == nil { return nil } - return v.Port + return &v.Value }).(pulumi.IntPtrOutput) } -// Value sent by the client must begin with the specified characters. Must be between 1 and 255 characters in length. -// This parameter must always start with /, which by itself matches all requests to the virtual router service name. -func (o RouteSpecHttp2RouteMatchPtrOutput) Prefix() pulumi.StringPtrOutput { - return o.ApplyT(func(v *RouteSpecHttp2RouteMatch) *string { - if v == nil { - return nil - } - return &v.Prefix - }).(pulumi.StringPtrOutput) +type RouteSpecGrpcRouteTimeoutPerRequest struct { + // Unit of time. Valid values: `ms`, `s`. + Unit string `pulumi:"unit"` + // Number of time units. Minimum value of `0`. + Value int `pulumi:"value"` } -// Client request header scheme to match on. Valid values: `http`, `https`. -func (o RouteSpecHttp2RouteMatchPtrOutput) Scheme() pulumi.StringPtrOutput { - return o.ApplyT(func(v *RouteSpecHttp2RouteMatch) *string { - if v == nil { - return nil - } - return v.Scheme - }).(pulumi.StringPtrOutput) -} +// RouteSpecGrpcRouteTimeoutPerRequestInput is an input type that accepts RouteSpecGrpcRouteTimeoutPerRequestArgs and RouteSpecGrpcRouteTimeoutPerRequestOutput values. +// You can construct a concrete instance of `RouteSpecGrpcRouteTimeoutPerRequestInput` via: +// +// RouteSpecGrpcRouteTimeoutPerRequestArgs{...} +type RouteSpecGrpcRouteTimeoutPerRequestInput interface { + pulumi.Input -type RouteSpecHttp2RouteMatchHeader struct { - // If `true`, the match is on the opposite of the `match` method and value. Default is `false`. - Invert *bool `pulumi:"invert"` - // Method and value to match the header value sent with a request. Specify one match method. - Match *RouteSpecHttp2RouteMatchHeaderMatch `pulumi:"match"` - // Name for the HTTP header in the client request that will be matched on. - Name string `pulumi:"name"` + ToRouteSpecGrpcRouteTimeoutPerRequestOutput() RouteSpecGrpcRouteTimeoutPerRequestOutput + ToRouteSpecGrpcRouteTimeoutPerRequestOutputWithContext(context.Context) RouteSpecGrpcRouteTimeoutPerRequestOutput } -// RouteSpecHttp2RouteMatchHeaderInput is an input type that accepts RouteSpecHttp2RouteMatchHeaderArgs and RouteSpecHttp2RouteMatchHeaderOutput values. -// You can construct a concrete instance of `RouteSpecHttp2RouteMatchHeaderInput` via: -// -// RouteSpecHttp2RouteMatchHeaderArgs{...} -type RouteSpecHttp2RouteMatchHeaderInput interface { - pulumi.Input +type RouteSpecGrpcRouteTimeoutPerRequestArgs struct { + // Unit of time. Valid values: `ms`, `s`. + Unit pulumi.StringInput `pulumi:"unit"` + // Number of time units. Minimum value of `0`. + Value pulumi.IntInput `pulumi:"value"` +} - ToRouteSpecHttp2RouteMatchHeaderOutput() RouteSpecHttp2RouteMatchHeaderOutput - ToRouteSpecHttp2RouteMatchHeaderOutputWithContext(context.Context) RouteSpecHttp2RouteMatchHeaderOutput +func (RouteSpecGrpcRouteTimeoutPerRequestArgs) ElementType() reflect.Type { + return reflect.TypeOf((*RouteSpecGrpcRouteTimeoutPerRequest)(nil)).Elem() } -type RouteSpecHttp2RouteMatchHeaderArgs struct { - // If `true`, the match is on the opposite of the `match` method and value. Default is `false`. - Invert pulumi.BoolPtrInput `pulumi:"invert"` - // Method and value to match the header value sent with a request. Specify one match method. - Match RouteSpecHttp2RouteMatchHeaderMatchPtrInput `pulumi:"match"` - // Name for the HTTP header in the client request that will be matched on. - Name pulumi.StringInput `pulumi:"name"` +func (i RouteSpecGrpcRouteTimeoutPerRequestArgs) ToRouteSpecGrpcRouteTimeoutPerRequestOutput() RouteSpecGrpcRouteTimeoutPerRequestOutput { + return i.ToRouteSpecGrpcRouteTimeoutPerRequestOutputWithContext(context.Background()) } -func (RouteSpecHttp2RouteMatchHeaderArgs) ElementType() reflect.Type { - return reflect.TypeOf((*RouteSpecHttp2RouteMatchHeader)(nil)).Elem() +func (i RouteSpecGrpcRouteTimeoutPerRequestArgs) ToRouteSpecGrpcRouteTimeoutPerRequestOutputWithContext(ctx context.Context) RouteSpecGrpcRouteTimeoutPerRequestOutput { + return pulumi.ToOutputWithContext(ctx, i).(RouteSpecGrpcRouteTimeoutPerRequestOutput) } -func (i RouteSpecHttp2RouteMatchHeaderArgs) ToRouteSpecHttp2RouteMatchHeaderOutput() RouteSpecHttp2RouteMatchHeaderOutput { - return i.ToRouteSpecHttp2RouteMatchHeaderOutputWithContext(context.Background()) +func (i RouteSpecGrpcRouteTimeoutPerRequestArgs) ToRouteSpecGrpcRouteTimeoutPerRequestPtrOutput() RouteSpecGrpcRouteTimeoutPerRequestPtrOutput { + return i.ToRouteSpecGrpcRouteTimeoutPerRequestPtrOutputWithContext(context.Background()) } -func (i RouteSpecHttp2RouteMatchHeaderArgs) ToRouteSpecHttp2RouteMatchHeaderOutputWithContext(ctx context.Context) RouteSpecHttp2RouteMatchHeaderOutput { - return pulumi.ToOutputWithContext(ctx, i).(RouteSpecHttp2RouteMatchHeaderOutput) +func (i RouteSpecGrpcRouteTimeoutPerRequestArgs) ToRouteSpecGrpcRouteTimeoutPerRequestPtrOutputWithContext(ctx context.Context) RouteSpecGrpcRouteTimeoutPerRequestPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(RouteSpecGrpcRouteTimeoutPerRequestOutput).ToRouteSpecGrpcRouteTimeoutPerRequestPtrOutputWithContext(ctx) } -// RouteSpecHttp2RouteMatchHeaderArrayInput is an input type that accepts RouteSpecHttp2RouteMatchHeaderArray and RouteSpecHttp2RouteMatchHeaderArrayOutput values. -// You can construct a concrete instance of `RouteSpecHttp2RouteMatchHeaderArrayInput` via: +// RouteSpecGrpcRouteTimeoutPerRequestPtrInput is an input type that accepts RouteSpecGrpcRouteTimeoutPerRequestArgs, RouteSpecGrpcRouteTimeoutPerRequestPtr and RouteSpecGrpcRouteTimeoutPerRequestPtrOutput values. +// You can construct a concrete instance of `RouteSpecGrpcRouteTimeoutPerRequestPtrInput` via: // -// RouteSpecHttp2RouteMatchHeaderArray{ RouteSpecHttp2RouteMatchHeaderArgs{...} } -type RouteSpecHttp2RouteMatchHeaderArrayInput interface { +// RouteSpecGrpcRouteTimeoutPerRequestArgs{...} +// +// or: +// +// nil +type RouteSpecGrpcRouteTimeoutPerRequestPtrInput interface { pulumi.Input - ToRouteSpecHttp2RouteMatchHeaderArrayOutput() RouteSpecHttp2RouteMatchHeaderArrayOutput - ToRouteSpecHttp2RouteMatchHeaderArrayOutputWithContext(context.Context) RouteSpecHttp2RouteMatchHeaderArrayOutput + ToRouteSpecGrpcRouteTimeoutPerRequestPtrOutput() RouteSpecGrpcRouteTimeoutPerRequestPtrOutput + ToRouteSpecGrpcRouteTimeoutPerRequestPtrOutputWithContext(context.Context) RouteSpecGrpcRouteTimeoutPerRequestPtrOutput } -type RouteSpecHttp2RouteMatchHeaderArray []RouteSpecHttp2RouteMatchHeaderInput +type routeSpecGrpcRouteTimeoutPerRequestPtrType RouteSpecGrpcRouteTimeoutPerRequestArgs -func (RouteSpecHttp2RouteMatchHeaderArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]RouteSpecHttp2RouteMatchHeader)(nil)).Elem() +func RouteSpecGrpcRouteTimeoutPerRequestPtr(v *RouteSpecGrpcRouteTimeoutPerRequestArgs) RouteSpecGrpcRouteTimeoutPerRequestPtrInput { + return (*routeSpecGrpcRouteTimeoutPerRequestPtrType)(v) } -func (i RouteSpecHttp2RouteMatchHeaderArray) ToRouteSpecHttp2RouteMatchHeaderArrayOutput() RouteSpecHttp2RouteMatchHeaderArrayOutput { - return i.ToRouteSpecHttp2RouteMatchHeaderArrayOutputWithContext(context.Background()) +func (*routeSpecGrpcRouteTimeoutPerRequestPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**RouteSpecGrpcRouteTimeoutPerRequest)(nil)).Elem() } -func (i RouteSpecHttp2RouteMatchHeaderArray) ToRouteSpecHttp2RouteMatchHeaderArrayOutputWithContext(ctx context.Context) RouteSpecHttp2RouteMatchHeaderArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(RouteSpecHttp2RouteMatchHeaderArrayOutput) +func (i *routeSpecGrpcRouteTimeoutPerRequestPtrType) ToRouteSpecGrpcRouteTimeoutPerRequestPtrOutput() RouteSpecGrpcRouteTimeoutPerRequestPtrOutput { + return i.ToRouteSpecGrpcRouteTimeoutPerRequestPtrOutputWithContext(context.Background()) } -type RouteSpecHttp2RouteMatchHeaderOutput struct{ *pulumi.OutputState } +func (i *routeSpecGrpcRouteTimeoutPerRequestPtrType) ToRouteSpecGrpcRouteTimeoutPerRequestPtrOutputWithContext(ctx context.Context) RouteSpecGrpcRouteTimeoutPerRequestPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(RouteSpecGrpcRouteTimeoutPerRequestPtrOutput) +} -func (RouteSpecHttp2RouteMatchHeaderOutput) ElementType() reflect.Type { - return reflect.TypeOf((*RouteSpecHttp2RouteMatchHeader)(nil)).Elem() +type RouteSpecGrpcRouteTimeoutPerRequestOutput struct{ *pulumi.OutputState } + +func (RouteSpecGrpcRouteTimeoutPerRequestOutput) ElementType() reflect.Type { + return reflect.TypeOf((*RouteSpecGrpcRouteTimeoutPerRequest)(nil)).Elem() } -func (o RouteSpecHttp2RouteMatchHeaderOutput) ToRouteSpecHttp2RouteMatchHeaderOutput() RouteSpecHttp2RouteMatchHeaderOutput { +func (o RouteSpecGrpcRouteTimeoutPerRequestOutput) ToRouteSpecGrpcRouteTimeoutPerRequestOutput() RouteSpecGrpcRouteTimeoutPerRequestOutput { return o } -func (o RouteSpecHttp2RouteMatchHeaderOutput) ToRouteSpecHttp2RouteMatchHeaderOutputWithContext(ctx context.Context) RouteSpecHttp2RouteMatchHeaderOutput { +func (o RouteSpecGrpcRouteTimeoutPerRequestOutput) ToRouteSpecGrpcRouteTimeoutPerRequestOutputWithContext(ctx context.Context) RouteSpecGrpcRouteTimeoutPerRequestOutput { return o } -// If `true`, the match is on the opposite of the `match` method and value. Default is `false`. -func (o RouteSpecHttp2RouteMatchHeaderOutput) Invert() pulumi.BoolPtrOutput { - return o.ApplyT(func(v RouteSpecHttp2RouteMatchHeader) *bool { return v.Invert }).(pulumi.BoolPtrOutput) +func (o RouteSpecGrpcRouteTimeoutPerRequestOutput) ToRouteSpecGrpcRouteTimeoutPerRequestPtrOutput() RouteSpecGrpcRouteTimeoutPerRequestPtrOutput { + return o.ToRouteSpecGrpcRouteTimeoutPerRequestPtrOutputWithContext(context.Background()) } -// Method and value to match the header value sent with a request. Specify one match method. -func (o RouteSpecHttp2RouteMatchHeaderOutput) Match() RouteSpecHttp2RouteMatchHeaderMatchPtrOutput { - return o.ApplyT(func(v RouteSpecHttp2RouteMatchHeader) *RouteSpecHttp2RouteMatchHeaderMatch { return v.Match }).(RouteSpecHttp2RouteMatchHeaderMatchPtrOutput) +func (o RouteSpecGrpcRouteTimeoutPerRequestOutput) ToRouteSpecGrpcRouteTimeoutPerRequestPtrOutputWithContext(ctx context.Context) RouteSpecGrpcRouteTimeoutPerRequestPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v RouteSpecGrpcRouteTimeoutPerRequest) *RouteSpecGrpcRouteTimeoutPerRequest { + return &v + }).(RouteSpecGrpcRouteTimeoutPerRequestPtrOutput) } -// Name for the HTTP header in the client request that will be matched on. -func (o RouteSpecHttp2RouteMatchHeaderOutput) Name() pulumi.StringOutput { - return o.ApplyT(func(v RouteSpecHttp2RouteMatchHeader) string { return v.Name }).(pulumi.StringOutput) +// Unit of time. Valid values: `ms`, `s`. +func (o RouteSpecGrpcRouteTimeoutPerRequestOutput) Unit() pulumi.StringOutput { + return o.ApplyT(func(v RouteSpecGrpcRouteTimeoutPerRequest) string { return v.Unit }).(pulumi.StringOutput) } -type RouteSpecHttp2RouteMatchHeaderArrayOutput struct{ *pulumi.OutputState } +// Number of time units. Minimum value of `0`. +func (o RouteSpecGrpcRouteTimeoutPerRequestOutput) Value() pulumi.IntOutput { + return o.ApplyT(func(v RouteSpecGrpcRouteTimeoutPerRequest) int { return v.Value }).(pulumi.IntOutput) +} -func (RouteSpecHttp2RouteMatchHeaderArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]RouteSpecHttp2RouteMatchHeader)(nil)).Elem() +type RouteSpecGrpcRouteTimeoutPerRequestPtrOutput struct{ *pulumi.OutputState } + +func (RouteSpecGrpcRouteTimeoutPerRequestPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**RouteSpecGrpcRouteTimeoutPerRequest)(nil)).Elem() } -func (o RouteSpecHttp2RouteMatchHeaderArrayOutput) ToRouteSpecHttp2RouteMatchHeaderArrayOutput() RouteSpecHttp2RouteMatchHeaderArrayOutput { +func (o RouteSpecGrpcRouteTimeoutPerRequestPtrOutput) ToRouteSpecGrpcRouteTimeoutPerRequestPtrOutput() RouteSpecGrpcRouteTimeoutPerRequestPtrOutput { return o } -func (o RouteSpecHttp2RouteMatchHeaderArrayOutput) ToRouteSpecHttp2RouteMatchHeaderArrayOutputWithContext(ctx context.Context) RouteSpecHttp2RouteMatchHeaderArrayOutput { +func (o RouteSpecGrpcRouteTimeoutPerRequestPtrOutput) ToRouteSpecGrpcRouteTimeoutPerRequestPtrOutputWithContext(ctx context.Context) RouteSpecGrpcRouteTimeoutPerRequestPtrOutput { return o } -func (o RouteSpecHttp2RouteMatchHeaderArrayOutput) Index(i pulumi.IntInput) RouteSpecHttp2RouteMatchHeaderOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) RouteSpecHttp2RouteMatchHeader { - return vs[0].([]RouteSpecHttp2RouteMatchHeader)[vs[1].(int)] - }).(RouteSpecHttp2RouteMatchHeaderOutput) +func (o RouteSpecGrpcRouteTimeoutPerRequestPtrOutput) Elem() RouteSpecGrpcRouteTimeoutPerRequestOutput { + return o.ApplyT(func(v *RouteSpecGrpcRouteTimeoutPerRequest) RouteSpecGrpcRouteTimeoutPerRequest { + if v != nil { + return *v + } + var ret RouteSpecGrpcRouteTimeoutPerRequest + return ret + }).(RouteSpecGrpcRouteTimeoutPerRequestOutput) } -type RouteSpecHttp2RouteMatchHeaderMatch struct { - // Value sent by the client must match the specified value exactly. Must be between 1 and 255 characters in length. - Exact *string `pulumi:"exact"` - // Value sent by the client must begin with the specified characters. Must be between 1 and 255 characters in length. - // This parameter must always start with /, which by itself matches all requests to the virtual router service name. - Prefix *string `pulumi:"prefix"` - // Object that specifies the range of numbers that the value sent by the client must be included in. - Range *RouteSpecHttp2RouteMatchHeaderMatchRange `pulumi:"range"` - // Value sent by the client must include the specified characters. Must be between 1 and 255 characters in length. - Regex *string `pulumi:"regex"` - // Value sent by the client must end with the specified characters. Must be between 1 and 255 characters in length. - Suffix *string `pulumi:"suffix"` +// Unit of time. Valid values: `ms`, `s`. +func (o RouteSpecGrpcRouteTimeoutPerRequestPtrOutput) Unit() pulumi.StringPtrOutput { + return o.ApplyT(func(v *RouteSpecGrpcRouteTimeoutPerRequest) *string { + if v == nil { + return nil + } + return &v.Unit + }).(pulumi.StringPtrOutput) } -// RouteSpecHttp2RouteMatchHeaderMatchInput is an input type that accepts RouteSpecHttp2RouteMatchHeaderMatchArgs and RouteSpecHttp2RouteMatchHeaderMatchOutput values. -// You can construct a concrete instance of `RouteSpecHttp2RouteMatchHeaderMatchInput` via: +// Number of time units. Minimum value of `0`. +func (o RouteSpecGrpcRouteTimeoutPerRequestPtrOutput) Value() pulumi.IntPtrOutput { + return o.ApplyT(func(v *RouteSpecGrpcRouteTimeoutPerRequest) *int { + if v == nil { + return nil + } + return &v.Value + }).(pulumi.IntPtrOutput) +} + +type RouteSpecHttp2Route struct { + // Action to take if a match is determined. + Action RouteSpecHttp2RouteAction `pulumi:"action"` + // Criteria for determining an gRPC request match. + Match RouteSpecHttp2RouteMatch `pulumi:"match"` + // Retry policy. + RetryPolicy *RouteSpecHttp2RouteRetryPolicy `pulumi:"retryPolicy"` + // Types of timeouts. + Timeout *RouteSpecHttp2RouteTimeout `pulumi:"timeout"` +} + +// RouteSpecHttp2RouteInput is an input type that accepts RouteSpecHttp2RouteArgs and RouteSpecHttp2RouteOutput values. +// You can construct a concrete instance of `RouteSpecHttp2RouteInput` via: // -// RouteSpecHttp2RouteMatchHeaderMatchArgs{...} -type RouteSpecHttp2RouteMatchHeaderMatchInput interface { +// RouteSpecHttp2RouteArgs{...} +type RouteSpecHttp2RouteInput interface { pulumi.Input - ToRouteSpecHttp2RouteMatchHeaderMatchOutput() RouteSpecHttp2RouteMatchHeaderMatchOutput - ToRouteSpecHttp2RouteMatchHeaderMatchOutputWithContext(context.Context) RouteSpecHttp2RouteMatchHeaderMatchOutput + ToRouteSpecHttp2RouteOutput() RouteSpecHttp2RouteOutput + ToRouteSpecHttp2RouteOutputWithContext(context.Context) RouteSpecHttp2RouteOutput } -type RouteSpecHttp2RouteMatchHeaderMatchArgs struct { - // Value sent by the client must match the specified value exactly. Must be between 1 and 255 characters in length. - Exact pulumi.StringPtrInput `pulumi:"exact"` - // Value sent by the client must begin with the specified characters. Must be between 1 and 255 characters in length. - // This parameter must always start with /, which by itself matches all requests to the virtual router service name. - Prefix pulumi.StringPtrInput `pulumi:"prefix"` - // Object that specifies the range of numbers that the value sent by the client must be included in. - Range RouteSpecHttp2RouteMatchHeaderMatchRangePtrInput `pulumi:"range"` - // Value sent by the client must include the specified characters. Must be between 1 and 255 characters in length. - Regex pulumi.StringPtrInput `pulumi:"regex"` - // Value sent by the client must end with the specified characters. Must be between 1 and 255 characters in length. - Suffix pulumi.StringPtrInput `pulumi:"suffix"` +type RouteSpecHttp2RouteArgs struct { + // Action to take if a match is determined. + Action RouteSpecHttp2RouteActionInput `pulumi:"action"` + // Criteria for determining an gRPC request match. + Match RouteSpecHttp2RouteMatchInput `pulumi:"match"` + // Retry policy. + RetryPolicy RouteSpecHttp2RouteRetryPolicyPtrInput `pulumi:"retryPolicy"` + // Types of timeouts. + Timeout RouteSpecHttp2RouteTimeoutPtrInput `pulumi:"timeout"` } -func (RouteSpecHttp2RouteMatchHeaderMatchArgs) ElementType() reflect.Type { - return reflect.TypeOf((*RouteSpecHttp2RouteMatchHeaderMatch)(nil)).Elem() +func (RouteSpecHttp2RouteArgs) ElementType() reflect.Type { + return reflect.TypeOf((*RouteSpecHttp2Route)(nil)).Elem() } -func (i RouteSpecHttp2RouteMatchHeaderMatchArgs) ToRouteSpecHttp2RouteMatchHeaderMatchOutput() RouteSpecHttp2RouteMatchHeaderMatchOutput { - return i.ToRouteSpecHttp2RouteMatchHeaderMatchOutputWithContext(context.Background()) +func (i RouteSpecHttp2RouteArgs) ToRouteSpecHttp2RouteOutput() RouteSpecHttp2RouteOutput { + return i.ToRouteSpecHttp2RouteOutputWithContext(context.Background()) } -func (i RouteSpecHttp2RouteMatchHeaderMatchArgs) ToRouteSpecHttp2RouteMatchHeaderMatchOutputWithContext(ctx context.Context) RouteSpecHttp2RouteMatchHeaderMatchOutput { - return pulumi.ToOutputWithContext(ctx, i).(RouteSpecHttp2RouteMatchHeaderMatchOutput) +func (i RouteSpecHttp2RouteArgs) ToRouteSpecHttp2RouteOutputWithContext(ctx context.Context) RouteSpecHttp2RouteOutput { + return pulumi.ToOutputWithContext(ctx, i).(RouteSpecHttp2RouteOutput) } -func (i RouteSpecHttp2RouteMatchHeaderMatchArgs) ToRouteSpecHttp2RouteMatchHeaderMatchPtrOutput() RouteSpecHttp2RouteMatchHeaderMatchPtrOutput { - return i.ToRouteSpecHttp2RouteMatchHeaderMatchPtrOutputWithContext(context.Background()) +func (i RouteSpecHttp2RouteArgs) ToRouteSpecHttp2RoutePtrOutput() RouteSpecHttp2RoutePtrOutput { + return i.ToRouteSpecHttp2RoutePtrOutputWithContext(context.Background()) } -func (i RouteSpecHttp2RouteMatchHeaderMatchArgs) ToRouteSpecHttp2RouteMatchHeaderMatchPtrOutputWithContext(ctx context.Context) RouteSpecHttp2RouteMatchHeaderMatchPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(RouteSpecHttp2RouteMatchHeaderMatchOutput).ToRouteSpecHttp2RouteMatchHeaderMatchPtrOutputWithContext(ctx) +func (i RouteSpecHttp2RouteArgs) ToRouteSpecHttp2RoutePtrOutputWithContext(ctx context.Context) RouteSpecHttp2RoutePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(RouteSpecHttp2RouteOutput).ToRouteSpecHttp2RoutePtrOutputWithContext(ctx) } -// RouteSpecHttp2RouteMatchHeaderMatchPtrInput is an input type that accepts RouteSpecHttp2RouteMatchHeaderMatchArgs, RouteSpecHttp2RouteMatchHeaderMatchPtr and RouteSpecHttp2RouteMatchHeaderMatchPtrOutput values. -// You can construct a concrete instance of `RouteSpecHttp2RouteMatchHeaderMatchPtrInput` via: +// RouteSpecHttp2RoutePtrInput is an input type that accepts RouteSpecHttp2RouteArgs, RouteSpecHttp2RoutePtr and RouteSpecHttp2RoutePtrOutput values. +// You can construct a concrete instance of `RouteSpecHttp2RoutePtrInput` via: // -// RouteSpecHttp2RouteMatchHeaderMatchArgs{...} +// RouteSpecHttp2RouteArgs{...} // // or: // // nil -type RouteSpecHttp2RouteMatchHeaderMatchPtrInput interface { +type RouteSpecHttp2RoutePtrInput interface { pulumi.Input - ToRouteSpecHttp2RouteMatchHeaderMatchPtrOutput() RouteSpecHttp2RouteMatchHeaderMatchPtrOutput - ToRouteSpecHttp2RouteMatchHeaderMatchPtrOutputWithContext(context.Context) RouteSpecHttp2RouteMatchHeaderMatchPtrOutput + ToRouteSpecHttp2RoutePtrOutput() RouteSpecHttp2RoutePtrOutput + ToRouteSpecHttp2RoutePtrOutputWithContext(context.Context) RouteSpecHttp2RoutePtrOutput } -type routeSpecHttp2RouteMatchHeaderMatchPtrType RouteSpecHttp2RouteMatchHeaderMatchArgs +type routeSpecHttp2RoutePtrType RouteSpecHttp2RouteArgs -func RouteSpecHttp2RouteMatchHeaderMatchPtr(v *RouteSpecHttp2RouteMatchHeaderMatchArgs) RouteSpecHttp2RouteMatchHeaderMatchPtrInput { - return (*routeSpecHttp2RouteMatchHeaderMatchPtrType)(v) +func RouteSpecHttp2RoutePtr(v *RouteSpecHttp2RouteArgs) RouteSpecHttp2RoutePtrInput { + return (*routeSpecHttp2RoutePtrType)(v) } -func (*routeSpecHttp2RouteMatchHeaderMatchPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**RouteSpecHttp2RouteMatchHeaderMatch)(nil)).Elem() +func (*routeSpecHttp2RoutePtrType) ElementType() reflect.Type { + return reflect.TypeOf((**RouteSpecHttp2Route)(nil)).Elem() } -func (i *routeSpecHttp2RouteMatchHeaderMatchPtrType) ToRouteSpecHttp2RouteMatchHeaderMatchPtrOutput() RouteSpecHttp2RouteMatchHeaderMatchPtrOutput { - return i.ToRouteSpecHttp2RouteMatchHeaderMatchPtrOutputWithContext(context.Background()) +func (i *routeSpecHttp2RoutePtrType) ToRouteSpecHttp2RoutePtrOutput() RouteSpecHttp2RoutePtrOutput { + return i.ToRouteSpecHttp2RoutePtrOutputWithContext(context.Background()) } -func (i *routeSpecHttp2RouteMatchHeaderMatchPtrType) ToRouteSpecHttp2RouteMatchHeaderMatchPtrOutputWithContext(ctx context.Context) RouteSpecHttp2RouteMatchHeaderMatchPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(RouteSpecHttp2RouteMatchHeaderMatchPtrOutput) +func (i *routeSpecHttp2RoutePtrType) ToRouteSpecHttp2RoutePtrOutputWithContext(ctx context.Context) RouteSpecHttp2RoutePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(RouteSpecHttp2RoutePtrOutput) } -type RouteSpecHttp2RouteMatchHeaderMatchOutput struct{ *pulumi.OutputState } +type RouteSpecHttp2RouteOutput struct{ *pulumi.OutputState } -func (RouteSpecHttp2RouteMatchHeaderMatchOutput) ElementType() reflect.Type { - return reflect.TypeOf((*RouteSpecHttp2RouteMatchHeaderMatch)(nil)).Elem() +func (RouteSpecHttp2RouteOutput) ElementType() reflect.Type { + return reflect.TypeOf((*RouteSpecHttp2Route)(nil)).Elem() } -func (o RouteSpecHttp2RouteMatchHeaderMatchOutput) ToRouteSpecHttp2RouteMatchHeaderMatchOutput() RouteSpecHttp2RouteMatchHeaderMatchOutput { +func (o RouteSpecHttp2RouteOutput) ToRouteSpecHttp2RouteOutput() RouteSpecHttp2RouteOutput { return o } -func (o RouteSpecHttp2RouteMatchHeaderMatchOutput) ToRouteSpecHttp2RouteMatchHeaderMatchOutputWithContext(ctx context.Context) RouteSpecHttp2RouteMatchHeaderMatchOutput { +func (o RouteSpecHttp2RouteOutput) ToRouteSpecHttp2RouteOutputWithContext(ctx context.Context) RouteSpecHttp2RouteOutput { return o } -func (o RouteSpecHttp2RouteMatchHeaderMatchOutput) ToRouteSpecHttp2RouteMatchHeaderMatchPtrOutput() RouteSpecHttp2RouteMatchHeaderMatchPtrOutput { - return o.ToRouteSpecHttp2RouteMatchHeaderMatchPtrOutputWithContext(context.Background()) +func (o RouteSpecHttp2RouteOutput) ToRouteSpecHttp2RoutePtrOutput() RouteSpecHttp2RoutePtrOutput { + return o.ToRouteSpecHttp2RoutePtrOutputWithContext(context.Background()) } -func (o RouteSpecHttp2RouteMatchHeaderMatchOutput) ToRouteSpecHttp2RouteMatchHeaderMatchPtrOutputWithContext(ctx context.Context) RouteSpecHttp2RouteMatchHeaderMatchPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v RouteSpecHttp2RouteMatchHeaderMatch) *RouteSpecHttp2RouteMatchHeaderMatch { +func (o RouteSpecHttp2RouteOutput) ToRouteSpecHttp2RoutePtrOutputWithContext(ctx context.Context) RouteSpecHttp2RoutePtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v RouteSpecHttp2Route) *RouteSpecHttp2Route { return &v - }).(RouteSpecHttp2RouteMatchHeaderMatchPtrOutput) -} - -// Value sent by the client must match the specified value exactly. Must be between 1 and 255 characters in length. -func (o RouteSpecHttp2RouteMatchHeaderMatchOutput) Exact() pulumi.StringPtrOutput { - return o.ApplyT(func(v RouteSpecHttp2RouteMatchHeaderMatch) *string { return v.Exact }).(pulumi.StringPtrOutput) + }).(RouteSpecHttp2RoutePtrOutput) } -// Value sent by the client must begin with the specified characters. Must be between 1 and 255 characters in length. -// This parameter must always start with /, which by itself matches all requests to the virtual router service name. -func (o RouteSpecHttp2RouteMatchHeaderMatchOutput) Prefix() pulumi.StringPtrOutput { - return o.ApplyT(func(v RouteSpecHttp2RouteMatchHeaderMatch) *string { return v.Prefix }).(pulumi.StringPtrOutput) +// Action to take if a match is determined. +func (o RouteSpecHttp2RouteOutput) Action() RouteSpecHttp2RouteActionOutput { + return o.ApplyT(func(v RouteSpecHttp2Route) RouteSpecHttp2RouteAction { return v.Action }).(RouteSpecHttp2RouteActionOutput) } -// Object that specifies the range of numbers that the value sent by the client must be included in. -func (o RouteSpecHttp2RouteMatchHeaderMatchOutput) Range() RouteSpecHttp2RouteMatchHeaderMatchRangePtrOutput { - return o.ApplyT(func(v RouteSpecHttp2RouteMatchHeaderMatch) *RouteSpecHttp2RouteMatchHeaderMatchRange { return v.Range }).(RouteSpecHttp2RouteMatchHeaderMatchRangePtrOutput) +// Criteria for determining an gRPC request match. +func (o RouteSpecHttp2RouteOutput) Match() RouteSpecHttp2RouteMatchOutput { + return o.ApplyT(func(v RouteSpecHttp2Route) RouteSpecHttp2RouteMatch { return v.Match }).(RouteSpecHttp2RouteMatchOutput) } -// Value sent by the client must include the specified characters. Must be between 1 and 255 characters in length. -func (o RouteSpecHttp2RouteMatchHeaderMatchOutput) Regex() pulumi.StringPtrOutput { - return o.ApplyT(func(v RouteSpecHttp2RouteMatchHeaderMatch) *string { return v.Regex }).(pulumi.StringPtrOutput) +// Retry policy. +func (o RouteSpecHttp2RouteOutput) RetryPolicy() RouteSpecHttp2RouteRetryPolicyPtrOutput { + return o.ApplyT(func(v RouteSpecHttp2Route) *RouteSpecHttp2RouteRetryPolicy { return v.RetryPolicy }).(RouteSpecHttp2RouteRetryPolicyPtrOutput) } -// Value sent by the client must end with the specified characters. Must be between 1 and 255 characters in length. -func (o RouteSpecHttp2RouteMatchHeaderMatchOutput) Suffix() pulumi.StringPtrOutput { - return o.ApplyT(func(v RouteSpecHttp2RouteMatchHeaderMatch) *string { return v.Suffix }).(pulumi.StringPtrOutput) +// Types of timeouts. +func (o RouteSpecHttp2RouteOutput) Timeout() RouteSpecHttp2RouteTimeoutPtrOutput { + return o.ApplyT(func(v RouteSpecHttp2Route) *RouteSpecHttp2RouteTimeout { return v.Timeout }).(RouteSpecHttp2RouteTimeoutPtrOutput) } -type RouteSpecHttp2RouteMatchHeaderMatchPtrOutput struct{ *pulumi.OutputState } +type RouteSpecHttp2RoutePtrOutput struct{ *pulumi.OutputState } -func (RouteSpecHttp2RouteMatchHeaderMatchPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**RouteSpecHttp2RouteMatchHeaderMatch)(nil)).Elem() +func (RouteSpecHttp2RoutePtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**RouteSpecHttp2Route)(nil)).Elem() } -func (o RouteSpecHttp2RouteMatchHeaderMatchPtrOutput) ToRouteSpecHttp2RouteMatchHeaderMatchPtrOutput() RouteSpecHttp2RouteMatchHeaderMatchPtrOutput { +func (o RouteSpecHttp2RoutePtrOutput) ToRouteSpecHttp2RoutePtrOutput() RouteSpecHttp2RoutePtrOutput { return o } -func (o RouteSpecHttp2RouteMatchHeaderMatchPtrOutput) ToRouteSpecHttp2RouteMatchHeaderMatchPtrOutputWithContext(ctx context.Context) RouteSpecHttp2RouteMatchHeaderMatchPtrOutput { +func (o RouteSpecHttp2RoutePtrOutput) ToRouteSpecHttp2RoutePtrOutputWithContext(ctx context.Context) RouteSpecHttp2RoutePtrOutput { return o } -func (o RouteSpecHttp2RouteMatchHeaderMatchPtrOutput) Elem() RouteSpecHttp2RouteMatchHeaderMatchOutput { - return o.ApplyT(func(v *RouteSpecHttp2RouteMatchHeaderMatch) RouteSpecHttp2RouteMatchHeaderMatch { +func (o RouteSpecHttp2RoutePtrOutput) Elem() RouteSpecHttp2RouteOutput { + return o.ApplyT(func(v *RouteSpecHttp2Route) RouteSpecHttp2Route { if v != nil { return *v } - var ret RouteSpecHttp2RouteMatchHeaderMatch + var ret RouteSpecHttp2Route return ret - }).(RouteSpecHttp2RouteMatchHeaderMatchOutput) + }).(RouteSpecHttp2RouteOutput) } -// Value sent by the client must match the specified value exactly. Must be between 1 and 255 characters in length. -func (o RouteSpecHttp2RouteMatchHeaderMatchPtrOutput) Exact() pulumi.StringPtrOutput { - return o.ApplyT(func(v *RouteSpecHttp2RouteMatchHeaderMatch) *string { +// Action to take if a match is determined. +func (o RouteSpecHttp2RoutePtrOutput) Action() RouteSpecHttp2RouteActionPtrOutput { + return o.ApplyT(func(v *RouteSpecHttp2Route) *RouteSpecHttp2RouteAction { if v == nil { return nil } - return v.Exact - }).(pulumi.StringPtrOutput) + return &v.Action + }).(RouteSpecHttp2RouteActionPtrOutput) } -// Value sent by the client must begin with the specified characters. Must be between 1 and 255 characters in length. -// This parameter must always start with /, which by itself matches all requests to the virtual router service name. -func (o RouteSpecHttp2RouteMatchHeaderMatchPtrOutput) Prefix() pulumi.StringPtrOutput { - return o.ApplyT(func(v *RouteSpecHttp2RouteMatchHeaderMatch) *string { +// Criteria for determining an gRPC request match. +func (o RouteSpecHttp2RoutePtrOutput) Match() RouteSpecHttp2RouteMatchPtrOutput { + return o.ApplyT(func(v *RouteSpecHttp2Route) *RouteSpecHttp2RouteMatch { if v == nil { return nil } - return v.Prefix - }).(pulumi.StringPtrOutput) + return &v.Match + }).(RouteSpecHttp2RouteMatchPtrOutput) } -// Object that specifies the range of numbers that the value sent by the client must be included in. -func (o RouteSpecHttp2RouteMatchHeaderMatchPtrOutput) Range() RouteSpecHttp2RouteMatchHeaderMatchRangePtrOutput { - return o.ApplyT(func(v *RouteSpecHttp2RouteMatchHeaderMatch) *RouteSpecHttp2RouteMatchHeaderMatchRange { +// Retry policy. +func (o RouteSpecHttp2RoutePtrOutput) RetryPolicy() RouteSpecHttp2RouteRetryPolicyPtrOutput { + return o.ApplyT(func(v *RouteSpecHttp2Route) *RouteSpecHttp2RouteRetryPolicy { if v == nil { return nil } - return v.Range - }).(RouteSpecHttp2RouteMatchHeaderMatchRangePtrOutput) + return v.RetryPolicy + }).(RouteSpecHttp2RouteRetryPolicyPtrOutput) } -// Value sent by the client must include the specified characters. Must be between 1 and 255 characters in length. -func (o RouteSpecHttp2RouteMatchHeaderMatchPtrOutput) Regex() pulumi.StringPtrOutput { - return o.ApplyT(func(v *RouteSpecHttp2RouteMatchHeaderMatch) *string { +// Types of timeouts. +func (o RouteSpecHttp2RoutePtrOutput) Timeout() RouteSpecHttp2RouteTimeoutPtrOutput { + return o.ApplyT(func(v *RouteSpecHttp2Route) *RouteSpecHttp2RouteTimeout { if v == nil { return nil } - return v.Regex - }).(pulumi.StringPtrOutput) + return v.Timeout + }).(RouteSpecHttp2RouteTimeoutPtrOutput) } -// Value sent by the client must end with the specified characters. Must be between 1 and 255 characters in length. -func (o RouteSpecHttp2RouteMatchHeaderMatchPtrOutput) Suffix() pulumi.StringPtrOutput { - return o.ApplyT(func(v *RouteSpecHttp2RouteMatchHeaderMatch) *string { - if v == nil { - return nil - } - return v.Suffix - }).(pulumi.StringPtrOutput) +type RouteSpecHttp2RouteAction struct { + // Targets that traffic is routed to when a request matches the route. + // You can specify one or more targets and their relative weights with which to distribute traffic. + WeightedTargets []RouteSpecHttp2RouteActionWeightedTarget `pulumi:"weightedTargets"` } -type RouteSpecHttp2RouteMatchHeaderMatchRange struct { - // End of the range. - End int `pulumi:"end"` - // Start of the range. - Start int `pulumi:"start"` -} - -// RouteSpecHttp2RouteMatchHeaderMatchRangeInput is an input type that accepts RouteSpecHttp2RouteMatchHeaderMatchRangeArgs and RouteSpecHttp2RouteMatchHeaderMatchRangeOutput values. -// You can construct a concrete instance of `RouteSpecHttp2RouteMatchHeaderMatchRangeInput` via: +// RouteSpecHttp2RouteActionInput is an input type that accepts RouteSpecHttp2RouteActionArgs and RouteSpecHttp2RouteActionOutput values. +// You can construct a concrete instance of `RouteSpecHttp2RouteActionInput` via: // -// RouteSpecHttp2RouteMatchHeaderMatchRangeArgs{...} -type RouteSpecHttp2RouteMatchHeaderMatchRangeInput interface { +// RouteSpecHttp2RouteActionArgs{...} +type RouteSpecHttp2RouteActionInput interface { pulumi.Input - ToRouteSpecHttp2RouteMatchHeaderMatchRangeOutput() RouteSpecHttp2RouteMatchHeaderMatchRangeOutput - ToRouteSpecHttp2RouteMatchHeaderMatchRangeOutputWithContext(context.Context) RouteSpecHttp2RouteMatchHeaderMatchRangeOutput + ToRouteSpecHttp2RouteActionOutput() RouteSpecHttp2RouteActionOutput + ToRouteSpecHttp2RouteActionOutputWithContext(context.Context) RouteSpecHttp2RouteActionOutput } -type RouteSpecHttp2RouteMatchHeaderMatchRangeArgs struct { - // End of the range. - End pulumi.IntInput `pulumi:"end"` - // Start of the range. - Start pulumi.IntInput `pulumi:"start"` +type RouteSpecHttp2RouteActionArgs struct { + // Targets that traffic is routed to when a request matches the route. + // You can specify one or more targets and their relative weights with which to distribute traffic. + WeightedTargets RouteSpecHttp2RouteActionWeightedTargetArrayInput `pulumi:"weightedTargets"` } -func (RouteSpecHttp2RouteMatchHeaderMatchRangeArgs) ElementType() reflect.Type { - return reflect.TypeOf((*RouteSpecHttp2RouteMatchHeaderMatchRange)(nil)).Elem() +func (RouteSpecHttp2RouteActionArgs) ElementType() reflect.Type { + return reflect.TypeOf((*RouteSpecHttp2RouteAction)(nil)).Elem() } -func (i RouteSpecHttp2RouteMatchHeaderMatchRangeArgs) ToRouteSpecHttp2RouteMatchHeaderMatchRangeOutput() RouteSpecHttp2RouteMatchHeaderMatchRangeOutput { - return i.ToRouteSpecHttp2RouteMatchHeaderMatchRangeOutputWithContext(context.Background()) +func (i RouteSpecHttp2RouteActionArgs) ToRouteSpecHttp2RouteActionOutput() RouteSpecHttp2RouteActionOutput { + return i.ToRouteSpecHttp2RouteActionOutputWithContext(context.Background()) } -func (i RouteSpecHttp2RouteMatchHeaderMatchRangeArgs) ToRouteSpecHttp2RouteMatchHeaderMatchRangeOutputWithContext(ctx context.Context) RouteSpecHttp2RouteMatchHeaderMatchRangeOutput { - return pulumi.ToOutputWithContext(ctx, i).(RouteSpecHttp2RouteMatchHeaderMatchRangeOutput) +func (i RouteSpecHttp2RouteActionArgs) ToRouteSpecHttp2RouteActionOutputWithContext(ctx context.Context) RouteSpecHttp2RouteActionOutput { + return pulumi.ToOutputWithContext(ctx, i).(RouteSpecHttp2RouteActionOutput) } -func (i RouteSpecHttp2RouteMatchHeaderMatchRangeArgs) ToRouteSpecHttp2RouteMatchHeaderMatchRangePtrOutput() RouteSpecHttp2RouteMatchHeaderMatchRangePtrOutput { - return i.ToRouteSpecHttp2RouteMatchHeaderMatchRangePtrOutputWithContext(context.Background()) +func (i RouteSpecHttp2RouteActionArgs) ToRouteSpecHttp2RouteActionPtrOutput() RouteSpecHttp2RouteActionPtrOutput { + return i.ToRouteSpecHttp2RouteActionPtrOutputWithContext(context.Background()) } -func (i RouteSpecHttp2RouteMatchHeaderMatchRangeArgs) ToRouteSpecHttp2RouteMatchHeaderMatchRangePtrOutputWithContext(ctx context.Context) RouteSpecHttp2RouteMatchHeaderMatchRangePtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(RouteSpecHttp2RouteMatchHeaderMatchRangeOutput).ToRouteSpecHttp2RouteMatchHeaderMatchRangePtrOutputWithContext(ctx) +func (i RouteSpecHttp2RouteActionArgs) ToRouteSpecHttp2RouteActionPtrOutputWithContext(ctx context.Context) RouteSpecHttp2RouteActionPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(RouteSpecHttp2RouteActionOutput).ToRouteSpecHttp2RouteActionPtrOutputWithContext(ctx) } -// RouteSpecHttp2RouteMatchHeaderMatchRangePtrInput is an input type that accepts RouteSpecHttp2RouteMatchHeaderMatchRangeArgs, RouteSpecHttp2RouteMatchHeaderMatchRangePtr and RouteSpecHttp2RouteMatchHeaderMatchRangePtrOutput values. -// You can construct a concrete instance of `RouteSpecHttp2RouteMatchHeaderMatchRangePtrInput` via: +// RouteSpecHttp2RouteActionPtrInput is an input type that accepts RouteSpecHttp2RouteActionArgs, RouteSpecHttp2RouteActionPtr and RouteSpecHttp2RouteActionPtrOutput values. +// You can construct a concrete instance of `RouteSpecHttp2RouteActionPtrInput` via: // -// RouteSpecHttp2RouteMatchHeaderMatchRangeArgs{...} +// RouteSpecHttp2RouteActionArgs{...} // // or: // // nil -type RouteSpecHttp2RouteMatchHeaderMatchRangePtrInput interface { +type RouteSpecHttp2RouteActionPtrInput interface { pulumi.Input - ToRouteSpecHttp2RouteMatchHeaderMatchRangePtrOutput() RouteSpecHttp2RouteMatchHeaderMatchRangePtrOutput - ToRouteSpecHttp2RouteMatchHeaderMatchRangePtrOutputWithContext(context.Context) RouteSpecHttp2RouteMatchHeaderMatchRangePtrOutput + ToRouteSpecHttp2RouteActionPtrOutput() RouteSpecHttp2RouteActionPtrOutput + ToRouteSpecHttp2RouteActionPtrOutputWithContext(context.Context) RouteSpecHttp2RouteActionPtrOutput } -type routeSpecHttp2RouteMatchHeaderMatchRangePtrType RouteSpecHttp2RouteMatchHeaderMatchRangeArgs +type routeSpecHttp2RouteActionPtrType RouteSpecHttp2RouteActionArgs -func RouteSpecHttp2RouteMatchHeaderMatchRangePtr(v *RouteSpecHttp2RouteMatchHeaderMatchRangeArgs) RouteSpecHttp2RouteMatchHeaderMatchRangePtrInput { - return (*routeSpecHttp2RouteMatchHeaderMatchRangePtrType)(v) +func RouteSpecHttp2RouteActionPtr(v *RouteSpecHttp2RouteActionArgs) RouteSpecHttp2RouteActionPtrInput { + return (*routeSpecHttp2RouteActionPtrType)(v) } -func (*routeSpecHttp2RouteMatchHeaderMatchRangePtrType) ElementType() reflect.Type { - return reflect.TypeOf((**RouteSpecHttp2RouteMatchHeaderMatchRange)(nil)).Elem() +func (*routeSpecHttp2RouteActionPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**RouteSpecHttp2RouteAction)(nil)).Elem() } -func (i *routeSpecHttp2RouteMatchHeaderMatchRangePtrType) ToRouteSpecHttp2RouteMatchHeaderMatchRangePtrOutput() RouteSpecHttp2RouteMatchHeaderMatchRangePtrOutput { - return i.ToRouteSpecHttp2RouteMatchHeaderMatchRangePtrOutputWithContext(context.Background()) +func (i *routeSpecHttp2RouteActionPtrType) ToRouteSpecHttp2RouteActionPtrOutput() RouteSpecHttp2RouteActionPtrOutput { + return i.ToRouteSpecHttp2RouteActionPtrOutputWithContext(context.Background()) } -func (i *routeSpecHttp2RouteMatchHeaderMatchRangePtrType) ToRouteSpecHttp2RouteMatchHeaderMatchRangePtrOutputWithContext(ctx context.Context) RouteSpecHttp2RouteMatchHeaderMatchRangePtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(RouteSpecHttp2RouteMatchHeaderMatchRangePtrOutput) +func (i *routeSpecHttp2RouteActionPtrType) ToRouteSpecHttp2RouteActionPtrOutputWithContext(ctx context.Context) RouteSpecHttp2RouteActionPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(RouteSpecHttp2RouteActionPtrOutput) } -type RouteSpecHttp2RouteMatchHeaderMatchRangeOutput struct{ *pulumi.OutputState } +type RouteSpecHttp2RouteActionOutput struct{ *pulumi.OutputState } -func (RouteSpecHttp2RouteMatchHeaderMatchRangeOutput) ElementType() reflect.Type { - return reflect.TypeOf((*RouteSpecHttp2RouteMatchHeaderMatchRange)(nil)).Elem() +func (RouteSpecHttp2RouteActionOutput) ElementType() reflect.Type { + return reflect.TypeOf((*RouteSpecHttp2RouteAction)(nil)).Elem() } -func (o RouteSpecHttp2RouteMatchHeaderMatchRangeOutput) ToRouteSpecHttp2RouteMatchHeaderMatchRangeOutput() RouteSpecHttp2RouteMatchHeaderMatchRangeOutput { +func (o RouteSpecHttp2RouteActionOutput) ToRouteSpecHttp2RouteActionOutput() RouteSpecHttp2RouteActionOutput { return o } -func (o RouteSpecHttp2RouteMatchHeaderMatchRangeOutput) ToRouteSpecHttp2RouteMatchHeaderMatchRangeOutputWithContext(ctx context.Context) RouteSpecHttp2RouteMatchHeaderMatchRangeOutput { +func (o RouteSpecHttp2RouteActionOutput) ToRouteSpecHttp2RouteActionOutputWithContext(ctx context.Context) RouteSpecHttp2RouteActionOutput { return o } -func (o RouteSpecHttp2RouteMatchHeaderMatchRangeOutput) ToRouteSpecHttp2RouteMatchHeaderMatchRangePtrOutput() RouteSpecHttp2RouteMatchHeaderMatchRangePtrOutput { - return o.ToRouteSpecHttp2RouteMatchHeaderMatchRangePtrOutputWithContext(context.Background()) +func (o RouteSpecHttp2RouteActionOutput) ToRouteSpecHttp2RouteActionPtrOutput() RouteSpecHttp2RouteActionPtrOutput { + return o.ToRouteSpecHttp2RouteActionPtrOutputWithContext(context.Background()) } -func (o RouteSpecHttp2RouteMatchHeaderMatchRangeOutput) ToRouteSpecHttp2RouteMatchHeaderMatchRangePtrOutputWithContext(ctx context.Context) RouteSpecHttp2RouteMatchHeaderMatchRangePtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v RouteSpecHttp2RouteMatchHeaderMatchRange) *RouteSpecHttp2RouteMatchHeaderMatchRange { +func (o RouteSpecHttp2RouteActionOutput) ToRouteSpecHttp2RouteActionPtrOutputWithContext(ctx context.Context) RouteSpecHttp2RouteActionPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v RouteSpecHttp2RouteAction) *RouteSpecHttp2RouteAction { return &v - }).(RouteSpecHttp2RouteMatchHeaderMatchRangePtrOutput) -} - -// End of the range. -func (o RouteSpecHttp2RouteMatchHeaderMatchRangeOutput) End() pulumi.IntOutput { - return o.ApplyT(func(v RouteSpecHttp2RouteMatchHeaderMatchRange) int { return v.End }).(pulumi.IntOutput) + }).(RouteSpecHttp2RouteActionPtrOutput) } -// Start of the range. -func (o RouteSpecHttp2RouteMatchHeaderMatchRangeOutput) Start() pulumi.IntOutput { - return o.ApplyT(func(v RouteSpecHttp2RouteMatchHeaderMatchRange) int { return v.Start }).(pulumi.IntOutput) +// Targets that traffic is routed to when a request matches the route. +// You can specify one or more targets and their relative weights with which to distribute traffic. +func (o RouteSpecHttp2RouteActionOutput) WeightedTargets() RouteSpecHttp2RouteActionWeightedTargetArrayOutput { + return o.ApplyT(func(v RouteSpecHttp2RouteAction) []RouteSpecHttp2RouteActionWeightedTarget { return v.WeightedTargets }).(RouteSpecHttp2RouteActionWeightedTargetArrayOutput) } -type RouteSpecHttp2RouteMatchHeaderMatchRangePtrOutput struct{ *pulumi.OutputState } +type RouteSpecHttp2RouteActionPtrOutput struct{ *pulumi.OutputState } -func (RouteSpecHttp2RouteMatchHeaderMatchRangePtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**RouteSpecHttp2RouteMatchHeaderMatchRange)(nil)).Elem() +func (RouteSpecHttp2RouteActionPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**RouteSpecHttp2RouteAction)(nil)).Elem() } -func (o RouteSpecHttp2RouteMatchHeaderMatchRangePtrOutput) ToRouteSpecHttp2RouteMatchHeaderMatchRangePtrOutput() RouteSpecHttp2RouteMatchHeaderMatchRangePtrOutput { +func (o RouteSpecHttp2RouteActionPtrOutput) ToRouteSpecHttp2RouteActionPtrOutput() RouteSpecHttp2RouteActionPtrOutput { return o } -func (o RouteSpecHttp2RouteMatchHeaderMatchRangePtrOutput) ToRouteSpecHttp2RouteMatchHeaderMatchRangePtrOutputWithContext(ctx context.Context) RouteSpecHttp2RouteMatchHeaderMatchRangePtrOutput { +func (o RouteSpecHttp2RouteActionPtrOutput) ToRouteSpecHttp2RouteActionPtrOutputWithContext(ctx context.Context) RouteSpecHttp2RouteActionPtrOutput { return o } -func (o RouteSpecHttp2RouteMatchHeaderMatchRangePtrOutput) Elem() RouteSpecHttp2RouteMatchHeaderMatchRangeOutput { - return o.ApplyT(func(v *RouteSpecHttp2RouteMatchHeaderMatchRange) RouteSpecHttp2RouteMatchHeaderMatchRange { +func (o RouteSpecHttp2RouteActionPtrOutput) Elem() RouteSpecHttp2RouteActionOutput { + return o.ApplyT(func(v *RouteSpecHttp2RouteAction) RouteSpecHttp2RouteAction { if v != nil { return *v } - var ret RouteSpecHttp2RouteMatchHeaderMatchRange + var ret RouteSpecHttp2RouteAction return ret - }).(RouteSpecHttp2RouteMatchHeaderMatchRangeOutput) -} - -// End of the range. -func (o RouteSpecHttp2RouteMatchHeaderMatchRangePtrOutput) End() pulumi.IntPtrOutput { - return o.ApplyT(func(v *RouteSpecHttp2RouteMatchHeaderMatchRange) *int { - if v == nil { - return nil - } - return &v.End - }).(pulumi.IntPtrOutput) + }).(RouteSpecHttp2RouteActionOutput) } -// Start of the range. -func (o RouteSpecHttp2RouteMatchHeaderMatchRangePtrOutput) Start() pulumi.IntPtrOutput { - return o.ApplyT(func(v *RouteSpecHttp2RouteMatchHeaderMatchRange) *int { +// Targets that traffic is routed to when a request matches the route. +// You can specify one or more targets and their relative weights with which to distribute traffic. +func (o RouteSpecHttp2RouteActionPtrOutput) WeightedTargets() RouteSpecHttp2RouteActionWeightedTargetArrayOutput { + return o.ApplyT(func(v *RouteSpecHttp2RouteAction) []RouteSpecHttp2RouteActionWeightedTarget { if v == nil { return nil } - return &v.Start - }).(pulumi.IntPtrOutput) + return v.WeightedTargets + }).(RouteSpecHttp2RouteActionWeightedTargetArrayOutput) } -type RouteSpecHttp2RouteRetryPolicy struct { - // List of HTTP retry events. - // Valid values: `client-error` (HTTP status code 409), `gateway-error` (HTTP status codes 502, 503, and 504), `server-error` (HTTP status codes 500, 501, 502, 503, 504, 505, 506, 507, 508, 510, and 511), `stream-error` (retry on refused stream). - // Valid values: `client-error` (HTTP status code 409), `gateway-error` (HTTP status codes 502, 503, and 504), `server-error` (HTTP status codes 500, 501, 502, 503, 504, 505, 506, 507, 508, 510, and 511), `stream-error` (retry on refused stream). - HttpRetryEvents []string `pulumi:"httpRetryEvents"` - // Maximum number of retries. - MaxRetries int `pulumi:"maxRetries"` - // Per-retry timeout. - PerRetryTimeout RouteSpecHttp2RouteRetryPolicyPerRetryTimeout `pulumi:"perRetryTimeout"` - // List of TCP retry events. The only valid value is `connection-error`. - TcpRetryEvents []string `pulumi:"tcpRetryEvents"` +type RouteSpecHttp2RouteActionWeightedTarget struct { + // The targeted port of the weighted object. + Port *int `pulumi:"port"` + // Virtual node to associate with the weighted target. Must be between 1 and 255 characters in length. + VirtualNode string `pulumi:"virtualNode"` + // Relative weight of the weighted target. An integer between 0 and 100. + Weight int `pulumi:"weight"` } -// RouteSpecHttp2RouteRetryPolicyInput is an input type that accepts RouteSpecHttp2RouteRetryPolicyArgs and RouteSpecHttp2RouteRetryPolicyOutput values. -// You can construct a concrete instance of `RouteSpecHttp2RouteRetryPolicyInput` via: +// RouteSpecHttp2RouteActionWeightedTargetInput is an input type that accepts RouteSpecHttp2RouteActionWeightedTargetArgs and RouteSpecHttp2RouteActionWeightedTargetOutput values. +// You can construct a concrete instance of `RouteSpecHttp2RouteActionWeightedTargetInput` via: // -// RouteSpecHttp2RouteRetryPolicyArgs{...} -type RouteSpecHttp2RouteRetryPolicyInput interface { +// RouteSpecHttp2RouteActionWeightedTargetArgs{...} +type RouteSpecHttp2RouteActionWeightedTargetInput interface { pulumi.Input - ToRouteSpecHttp2RouteRetryPolicyOutput() RouteSpecHttp2RouteRetryPolicyOutput - ToRouteSpecHttp2RouteRetryPolicyOutputWithContext(context.Context) RouteSpecHttp2RouteRetryPolicyOutput -} - -type RouteSpecHttp2RouteRetryPolicyArgs struct { - // List of HTTP retry events. - // Valid values: `client-error` (HTTP status code 409), `gateway-error` (HTTP status codes 502, 503, and 504), `server-error` (HTTP status codes 500, 501, 502, 503, 504, 505, 506, 507, 508, 510, and 511), `stream-error` (retry on refused stream). - // Valid values: `client-error` (HTTP status code 409), `gateway-error` (HTTP status codes 502, 503, and 504), `server-error` (HTTP status codes 500, 501, 502, 503, 504, 505, 506, 507, 508, 510, and 511), `stream-error` (retry on refused stream). - HttpRetryEvents pulumi.StringArrayInput `pulumi:"httpRetryEvents"` - // Maximum number of retries. - MaxRetries pulumi.IntInput `pulumi:"maxRetries"` - // Per-retry timeout. - PerRetryTimeout RouteSpecHttp2RouteRetryPolicyPerRetryTimeoutInput `pulumi:"perRetryTimeout"` - // List of TCP retry events. The only valid value is `connection-error`. - TcpRetryEvents pulumi.StringArrayInput `pulumi:"tcpRetryEvents"` -} - -func (RouteSpecHttp2RouteRetryPolicyArgs) ElementType() reflect.Type { - return reflect.TypeOf((*RouteSpecHttp2RouteRetryPolicy)(nil)).Elem() + ToRouteSpecHttp2RouteActionWeightedTargetOutput() RouteSpecHttp2RouteActionWeightedTargetOutput + ToRouteSpecHttp2RouteActionWeightedTargetOutputWithContext(context.Context) RouteSpecHttp2RouteActionWeightedTargetOutput } -func (i RouteSpecHttp2RouteRetryPolicyArgs) ToRouteSpecHttp2RouteRetryPolicyOutput() RouteSpecHttp2RouteRetryPolicyOutput { - return i.ToRouteSpecHttp2RouteRetryPolicyOutputWithContext(context.Background()) +type RouteSpecHttp2RouteActionWeightedTargetArgs struct { + // The targeted port of the weighted object. + Port pulumi.IntPtrInput `pulumi:"port"` + // Virtual node to associate with the weighted target. Must be between 1 and 255 characters in length. + VirtualNode pulumi.StringInput `pulumi:"virtualNode"` + // Relative weight of the weighted target. An integer between 0 and 100. + Weight pulumi.IntInput `pulumi:"weight"` } -func (i RouteSpecHttp2RouteRetryPolicyArgs) ToRouteSpecHttp2RouteRetryPolicyOutputWithContext(ctx context.Context) RouteSpecHttp2RouteRetryPolicyOutput { - return pulumi.ToOutputWithContext(ctx, i).(RouteSpecHttp2RouteRetryPolicyOutput) +func (RouteSpecHttp2RouteActionWeightedTargetArgs) ElementType() reflect.Type { + return reflect.TypeOf((*RouteSpecHttp2RouteActionWeightedTarget)(nil)).Elem() } -func (i RouteSpecHttp2RouteRetryPolicyArgs) ToRouteSpecHttp2RouteRetryPolicyPtrOutput() RouteSpecHttp2RouteRetryPolicyPtrOutput { - return i.ToRouteSpecHttp2RouteRetryPolicyPtrOutputWithContext(context.Background()) +func (i RouteSpecHttp2RouteActionWeightedTargetArgs) ToRouteSpecHttp2RouteActionWeightedTargetOutput() RouteSpecHttp2RouteActionWeightedTargetOutput { + return i.ToRouteSpecHttp2RouteActionWeightedTargetOutputWithContext(context.Background()) } -func (i RouteSpecHttp2RouteRetryPolicyArgs) ToRouteSpecHttp2RouteRetryPolicyPtrOutputWithContext(ctx context.Context) RouteSpecHttp2RouteRetryPolicyPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(RouteSpecHttp2RouteRetryPolicyOutput).ToRouteSpecHttp2RouteRetryPolicyPtrOutputWithContext(ctx) +func (i RouteSpecHttp2RouteActionWeightedTargetArgs) ToRouteSpecHttp2RouteActionWeightedTargetOutputWithContext(ctx context.Context) RouteSpecHttp2RouteActionWeightedTargetOutput { + return pulumi.ToOutputWithContext(ctx, i).(RouteSpecHttp2RouteActionWeightedTargetOutput) } -// RouteSpecHttp2RouteRetryPolicyPtrInput is an input type that accepts RouteSpecHttp2RouteRetryPolicyArgs, RouteSpecHttp2RouteRetryPolicyPtr and RouteSpecHttp2RouteRetryPolicyPtrOutput values. -// You can construct a concrete instance of `RouteSpecHttp2RouteRetryPolicyPtrInput` via: -// -// RouteSpecHttp2RouteRetryPolicyArgs{...} -// -// or: +// RouteSpecHttp2RouteActionWeightedTargetArrayInput is an input type that accepts RouteSpecHttp2RouteActionWeightedTargetArray and RouteSpecHttp2RouteActionWeightedTargetArrayOutput values. +// You can construct a concrete instance of `RouteSpecHttp2RouteActionWeightedTargetArrayInput` via: // -// nil -type RouteSpecHttp2RouteRetryPolicyPtrInput interface { +// RouteSpecHttp2RouteActionWeightedTargetArray{ RouteSpecHttp2RouteActionWeightedTargetArgs{...} } +type RouteSpecHttp2RouteActionWeightedTargetArrayInput interface { pulumi.Input - ToRouteSpecHttp2RouteRetryPolicyPtrOutput() RouteSpecHttp2RouteRetryPolicyPtrOutput - ToRouteSpecHttp2RouteRetryPolicyPtrOutputWithContext(context.Context) RouteSpecHttp2RouteRetryPolicyPtrOutput + ToRouteSpecHttp2RouteActionWeightedTargetArrayOutput() RouteSpecHttp2RouteActionWeightedTargetArrayOutput + ToRouteSpecHttp2RouteActionWeightedTargetArrayOutputWithContext(context.Context) RouteSpecHttp2RouteActionWeightedTargetArrayOutput } -type routeSpecHttp2RouteRetryPolicyPtrType RouteSpecHttp2RouteRetryPolicyArgs - -func RouteSpecHttp2RouteRetryPolicyPtr(v *RouteSpecHttp2RouteRetryPolicyArgs) RouteSpecHttp2RouteRetryPolicyPtrInput { - return (*routeSpecHttp2RouteRetryPolicyPtrType)(v) -} +type RouteSpecHttp2RouteActionWeightedTargetArray []RouteSpecHttp2RouteActionWeightedTargetInput -func (*routeSpecHttp2RouteRetryPolicyPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**RouteSpecHttp2RouteRetryPolicy)(nil)).Elem() +func (RouteSpecHttp2RouteActionWeightedTargetArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]RouteSpecHttp2RouteActionWeightedTarget)(nil)).Elem() } -func (i *routeSpecHttp2RouteRetryPolicyPtrType) ToRouteSpecHttp2RouteRetryPolicyPtrOutput() RouteSpecHttp2RouteRetryPolicyPtrOutput { - return i.ToRouteSpecHttp2RouteRetryPolicyPtrOutputWithContext(context.Background()) +func (i RouteSpecHttp2RouteActionWeightedTargetArray) ToRouteSpecHttp2RouteActionWeightedTargetArrayOutput() RouteSpecHttp2RouteActionWeightedTargetArrayOutput { + return i.ToRouteSpecHttp2RouteActionWeightedTargetArrayOutputWithContext(context.Background()) } -func (i *routeSpecHttp2RouteRetryPolicyPtrType) ToRouteSpecHttp2RouteRetryPolicyPtrOutputWithContext(ctx context.Context) RouteSpecHttp2RouteRetryPolicyPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(RouteSpecHttp2RouteRetryPolicyPtrOutput) +func (i RouteSpecHttp2RouteActionWeightedTargetArray) ToRouteSpecHttp2RouteActionWeightedTargetArrayOutputWithContext(ctx context.Context) RouteSpecHttp2RouteActionWeightedTargetArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(RouteSpecHttp2RouteActionWeightedTargetArrayOutput) } -type RouteSpecHttp2RouteRetryPolicyOutput struct{ *pulumi.OutputState } +type RouteSpecHttp2RouteActionWeightedTargetOutput struct{ *pulumi.OutputState } -func (RouteSpecHttp2RouteRetryPolicyOutput) ElementType() reflect.Type { - return reflect.TypeOf((*RouteSpecHttp2RouteRetryPolicy)(nil)).Elem() +func (RouteSpecHttp2RouteActionWeightedTargetOutput) ElementType() reflect.Type { + return reflect.TypeOf((*RouteSpecHttp2RouteActionWeightedTarget)(nil)).Elem() } -func (o RouteSpecHttp2RouteRetryPolicyOutput) ToRouteSpecHttp2RouteRetryPolicyOutput() RouteSpecHttp2RouteRetryPolicyOutput { +func (o RouteSpecHttp2RouteActionWeightedTargetOutput) ToRouteSpecHttp2RouteActionWeightedTargetOutput() RouteSpecHttp2RouteActionWeightedTargetOutput { return o } -func (o RouteSpecHttp2RouteRetryPolicyOutput) ToRouteSpecHttp2RouteRetryPolicyOutputWithContext(ctx context.Context) RouteSpecHttp2RouteRetryPolicyOutput { +func (o RouteSpecHttp2RouteActionWeightedTargetOutput) ToRouteSpecHttp2RouteActionWeightedTargetOutputWithContext(ctx context.Context) RouteSpecHttp2RouteActionWeightedTargetOutput { return o } -func (o RouteSpecHttp2RouteRetryPolicyOutput) ToRouteSpecHttp2RouteRetryPolicyPtrOutput() RouteSpecHttp2RouteRetryPolicyPtrOutput { - return o.ToRouteSpecHttp2RouteRetryPolicyPtrOutputWithContext(context.Background()) -} - -func (o RouteSpecHttp2RouteRetryPolicyOutput) ToRouteSpecHttp2RouteRetryPolicyPtrOutputWithContext(ctx context.Context) RouteSpecHttp2RouteRetryPolicyPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v RouteSpecHttp2RouteRetryPolicy) *RouteSpecHttp2RouteRetryPolicy { - return &v - }).(RouteSpecHttp2RouteRetryPolicyPtrOutput) -} - -// List of HTTP retry events. -// Valid values: `client-error` (HTTP status code 409), `gateway-error` (HTTP status codes 502, 503, and 504), `server-error` (HTTP status codes 500, 501, 502, 503, 504, 505, 506, 507, 508, 510, and 511), `stream-error` (retry on refused stream). -// Valid values: `client-error` (HTTP status code 409), `gateway-error` (HTTP status codes 502, 503, and 504), `server-error` (HTTP status codes 500, 501, 502, 503, 504, 505, 506, 507, 508, 510, and 511), `stream-error` (retry on refused stream). -func (o RouteSpecHttp2RouteRetryPolicyOutput) HttpRetryEvents() pulumi.StringArrayOutput { - return o.ApplyT(func(v RouteSpecHttp2RouteRetryPolicy) []string { return v.HttpRetryEvents }).(pulumi.StringArrayOutput) -} - -// Maximum number of retries. -func (o RouteSpecHttp2RouteRetryPolicyOutput) MaxRetries() pulumi.IntOutput { - return o.ApplyT(func(v RouteSpecHttp2RouteRetryPolicy) int { return v.MaxRetries }).(pulumi.IntOutput) +// The targeted port of the weighted object. +func (o RouteSpecHttp2RouteActionWeightedTargetOutput) Port() pulumi.IntPtrOutput { + return o.ApplyT(func(v RouteSpecHttp2RouteActionWeightedTarget) *int { return v.Port }).(pulumi.IntPtrOutput) } -// Per-retry timeout. -func (o RouteSpecHttp2RouteRetryPolicyOutput) PerRetryTimeout() RouteSpecHttp2RouteRetryPolicyPerRetryTimeoutOutput { - return o.ApplyT(func(v RouteSpecHttp2RouteRetryPolicy) RouteSpecHttp2RouteRetryPolicyPerRetryTimeout { - return v.PerRetryTimeout - }).(RouteSpecHttp2RouteRetryPolicyPerRetryTimeoutOutput) +// Virtual node to associate with the weighted target. Must be between 1 and 255 characters in length. +func (o RouteSpecHttp2RouteActionWeightedTargetOutput) VirtualNode() pulumi.StringOutput { + return o.ApplyT(func(v RouteSpecHttp2RouteActionWeightedTarget) string { return v.VirtualNode }).(pulumi.StringOutput) } -// List of TCP retry events. The only valid value is `connection-error`. -func (o RouteSpecHttp2RouteRetryPolicyOutput) TcpRetryEvents() pulumi.StringArrayOutput { - return o.ApplyT(func(v RouteSpecHttp2RouteRetryPolicy) []string { return v.TcpRetryEvents }).(pulumi.StringArrayOutput) +// Relative weight of the weighted target. An integer between 0 and 100. +func (o RouteSpecHttp2RouteActionWeightedTargetOutput) Weight() pulumi.IntOutput { + return o.ApplyT(func(v RouteSpecHttp2RouteActionWeightedTarget) int { return v.Weight }).(pulumi.IntOutput) } -type RouteSpecHttp2RouteRetryPolicyPtrOutput struct{ *pulumi.OutputState } +type RouteSpecHttp2RouteActionWeightedTargetArrayOutput struct{ *pulumi.OutputState } -func (RouteSpecHttp2RouteRetryPolicyPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**RouteSpecHttp2RouteRetryPolicy)(nil)).Elem() +func (RouteSpecHttp2RouteActionWeightedTargetArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]RouteSpecHttp2RouteActionWeightedTarget)(nil)).Elem() } -func (o RouteSpecHttp2RouteRetryPolicyPtrOutput) ToRouteSpecHttp2RouteRetryPolicyPtrOutput() RouteSpecHttp2RouteRetryPolicyPtrOutput { +func (o RouteSpecHttp2RouteActionWeightedTargetArrayOutput) ToRouteSpecHttp2RouteActionWeightedTargetArrayOutput() RouteSpecHttp2RouteActionWeightedTargetArrayOutput { return o } -func (o RouteSpecHttp2RouteRetryPolicyPtrOutput) ToRouteSpecHttp2RouteRetryPolicyPtrOutputWithContext(ctx context.Context) RouteSpecHttp2RouteRetryPolicyPtrOutput { +func (o RouteSpecHttp2RouteActionWeightedTargetArrayOutput) ToRouteSpecHttp2RouteActionWeightedTargetArrayOutputWithContext(ctx context.Context) RouteSpecHttp2RouteActionWeightedTargetArrayOutput { return o } -func (o RouteSpecHttp2RouteRetryPolicyPtrOutput) Elem() RouteSpecHttp2RouteRetryPolicyOutput { - return o.ApplyT(func(v *RouteSpecHttp2RouteRetryPolicy) RouteSpecHttp2RouteRetryPolicy { - if v != nil { - return *v - } - var ret RouteSpecHttp2RouteRetryPolicy - return ret - }).(RouteSpecHttp2RouteRetryPolicyOutput) -} - -// List of HTTP retry events. -// Valid values: `client-error` (HTTP status code 409), `gateway-error` (HTTP status codes 502, 503, and 504), `server-error` (HTTP status codes 500, 501, 502, 503, 504, 505, 506, 507, 508, 510, and 511), `stream-error` (retry on refused stream). -// Valid values: `client-error` (HTTP status code 409), `gateway-error` (HTTP status codes 502, 503, and 504), `server-error` (HTTP status codes 500, 501, 502, 503, 504, 505, 506, 507, 508, 510, and 511), `stream-error` (retry on refused stream). -func (o RouteSpecHttp2RouteRetryPolicyPtrOutput) HttpRetryEvents() pulumi.StringArrayOutput { - return o.ApplyT(func(v *RouteSpecHttp2RouteRetryPolicy) []string { - if v == nil { - return nil - } - return v.HttpRetryEvents - }).(pulumi.StringArrayOutput) -} - -// Maximum number of retries. -func (o RouteSpecHttp2RouteRetryPolicyPtrOutput) MaxRetries() pulumi.IntPtrOutput { - return o.ApplyT(func(v *RouteSpecHttp2RouteRetryPolicy) *int { - if v == nil { - return nil - } - return &v.MaxRetries - }).(pulumi.IntPtrOutput) -} - -// Per-retry timeout. -func (o RouteSpecHttp2RouteRetryPolicyPtrOutput) PerRetryTimeout() RouteSpecHttp2RouteRetryPolicyPerRetryTimeoutPtrOutput { - return o.ApplyT(func(v *RouteSpecHttp2RouteRetryPolicy) *RouteSpecHttp2RouteRetryPolicyPerRetryTimeout { - if v == nil { - return nil - } - return &v.PerRetryTimeout - }).(RouteSpecHttp2RouteRetryPolicyPerRetryTimeoutPtrOutput) -} - -// List of TCP retry events. The only valid value is `connection-error`. -func (o RouteSpecHttp2RouteRetryPolicyPtrOutput) TcpRetryEvents() pulumi.StringArrayOutput { - return o.ApplyT(func(v *RouteSpecHttp2RouteRetryPolicy) []string { - if v == nil { - return nil - } - return v.TcpRetryEvents - }).(pulumi.StringArrayOutput) +func (o RouteSpecHttp2RouteActionWeightedTargetArrayOutput) Index(i pulumi.IntInput) RouteSpecHttp2RouteActionWeightedTargetOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) RouteSpecHttp2RouteActionWeightedTarget { + return vs[0].([]RouteSpecHttp2RouteActionWeightedTarget)[vs[1].(int)] + }).(RouteSpecHttp2RouteActionWeightedTargetOutput) } -type RouteSpecHttp2RouteRetryPolicyPerRetryTimeout struct { - // Retry unit. Valid values: `ms`, `s`. - Unit string `pulumi:"unit"` - // Retry value. - Value int `pulumi:"value"` +type RouteSpecHttp2RouteMatch struct { + // Client request headers to match on. + Headers []RouteSpecHttp2RouteMatchHeader `pulumi:"headers"` + // Client request header method to match on. Valid values: `GET`, `HEAD`, `POST`, `PUT`, `DELETE`, `CONNECT`, `OPTIONS`, `TRACE`, `PATCH`. + Method *string `pulumi:"method"` + // Client request path to match on. + Path *RouteSpecHttp2RouteMatchPath `pulumi:"path"` + // The port number to match from the request. + Port *int `pulumi:"port"` + // Value sent by the client must begin with the specified characters. Must be between 1 and 255 characters in length. + // This parameter must always start with /, which by itself matches all requests to the virtual router service name. + Prefix *string `pulumi:"prefix"` + // Client request query parameters to match on. + QueryParameters []RouteSpecHttp2RouteMatchQueryParameter `pulumi:"queryParameters"` + // Client request header scheme to match on. Valid values: `http`, `https`. + Scheme *string `pulumi:"scheme"` } -// RouteSpecHttp2RouteRetryPolicyPerRetryTimeoutInput is an input type that accepts RouteSpecHttp2RouteRetryPolicyPerRetryTimeoutArgs and RouteSpecHttp2RouteRetryPolicyPerRetryTimeoutOutput values. -// You can construct a concrete instance of `RouteSpecHttp2RouteRetryPolicyPerRetryTimeoutInput` via: +// RouteSpecHttp2RouteMatchInput is an input type that accepts RouteSpecHttp2RouteMatchArgs and RouteSpecHttp2RouteMatchOutput values. +// You can construct a concrete instance of `RouteSpecHttp2RouteMatchInput` via: // -// RouteSpecHttp2RouteRetryPolicyPerRetryTimeoutArgs{...} -type RouteSpecHttp2RouteRetryPolicyPerRetryTimeoutInput interface { +// RouteSpecHttp2RouteMatchArgs{...} +type RouteSpecHttp2RouteMatchInput interface { pulumi.Input - ToRouteSpecHttp2RouteRetryPolicyPerRetryTimeoutOutput() RouteSpecHttp2RouteRetryPolicyPerRetryTimeoutOutput - ToRouteSpecHttp2RouteRetryPolicyPerRetryTimeoutOutputWithContext(context.Context) RouteSpecHttp2RouteRetryPolicyPerRetryTimeoutOutput + ToRouteSpecHttp2RouteMatchOutput() RouteSpecHttp2RouteMatchOutput + ToRouteSpecHttp2RouteMatchOutputWithContext(context.Context) RouteSpecHttp2RouteMatchOutput } -type RouteSpecHttp2RouteRetryPolicyPerRetryTimeoutArgs struct { - // Retry unit. Valid values: `ms`, `s`. - Unit pulumi.StringInput `pulumi:"unit"` - // Retry value. - Value pulumi.IntInput `pulumi:"value"` +type RouteSpecHttp2RouteMatchArgs struct { + // Client request headers to match on. + Headers RouteSpecHttp2RouteMatchHeaderArrayInput `pulumi:"headers"` + // Client request header method to match on. Valid values: `GET`, `HEAD`, `POST`, `PUT`, `DELETE`, `CONNECT`, `OPTIONS`, `TRACE`, `PATCH`. + Method pulumi.StringPtrInput `pulumi:"method"` + // Client request path to match on. + Path RouteSpecHttp2RouteMatchPathPtrInput `pulumi:"path"` + // The port number to match from the request. + Port pulumi.IntPtrInput `pulumi:"port"` + // Value sent by the client must begin with the specified characters. Must be between 1 and 255 characters in length. + // This parameter must always start with /, which by itself matches all requests to the virtual router service name. + Prefix pulumi.StringPtrInput `pulumi:"prefix"` + // Client request query parameters to match on. + QueryParameters RouteSpecHttp2RouteMatchQueryParameterArrayInput `pulumi:"queryParameters"` + // Client request header scheme to match on. Valid values: `http`, `https`. + Scheme pulumi.StringPtrInput `pulumi:"scheme"` } -func (RouteSpecHttp2RouteRetryPolicyPerRetryTimeoutArgs) ElementType() reflect.Type { - return reflect.TypeOf((*RouteSpecHttp2RouteRetryPolicyPerRetryTimeout)(nil)).Elem() +func (RouteSpecHttp2RouteMatchArgs) ElementType() reflect.Type { + return reflect.TypeOf((*RouteSpecHttp2RouteMatch)(nil)).Elem() } -func (i RouteSpecHttp2RouteRetryPolicyPerRetryTimeoutArgs) ToRouteSpecHttp2RouteRetryPolicyPerRetryTimeoutOutput() RouteSpecHttp2RouteRetryPolicyPerRetryTimeoutOutput { - return i.ToRouteSpecHttp2RouteRetryPolicyPerRetryTimeoutOutputWithContext(context.Background()) +func (i RouteSpecHttp2RouteMatchArgs) ToRouteSpecHttp2RouteMatchOutput() RouteSpecHttp2RouteMatchOutput { + return i.ToRouteSpecHttp2RouteMatchOutputWithContext(context.Background()) } -func (i RouteSpecHttp2RouteRetryPolicyPerRetryTimeoutArgs) ToRouteSpecHttp2RouteRetryPolicyPerRetryTimeoutOutputWithContext(ctx context.Context) RouteSpecHttp2RouteRetryPolicyPerRetryTimeoutOutput { - return pulumi.ToOutputWithContext(ctx, i).(RouteSpecHttp2RouteRetryPolicyPerRetryTimeoutOutput) +func (i RouteSpecHttp2RouteMatchArgs) ToRouteSpecHttp2RouteMatchOutputWithContext(ctx context.Context) RouteSpecHttp2RouteMatchOutput { + return pulumi.ToOutputWithContext(ctx, i).(RouteSpecHttp2RouteMatchOutput) } -func (i RouteSpecHttp2RouteRetryPolicyPerRetryTimeoutArgs) ToRouteSpecHttp2RouteRetryPolicyPerRetryTimeoutPtrOutput() RouteSpecHttp2RouteRetryPolicyPerRetryTimeoutPtrOutput { - return i.ToRouteSpecHttp2RouteRetryPolicyPerRetryTimeoutPtrOutputWithContext(context.Background()) +func (i RouteSpecHttp2RouteMatchArgs) ToRouteSpecHttp2RouteMatchPtrOutput() RouteSpecHttp2RouteMatchPtrOutput { + return i.ToRouteSpecHttp2RouteMatchPtrOutputWithContext(context.Background()) } -func (i RouteSpecHttp2RouteRetryPolicyPerRetryTimeoutArgs) ToRouteSpecHttp2RouteRetryPolicyPerRetryTimeoutPtrOutputWithContext(ctx context.Context) RouteSpecHttp2RouteRetryPolicyPerRetryTimeoutPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(RouteSpecHttp2RouteRetryPolicyPerRetryTimeoutOutput).ToRouteSpecHttp2RouteRetryPolicyPerRetryTimeoutPtrOutputWithContext(ctx) +func (i RouteSpecHttp2RouteMatchArgs) ToRouteSpecHttp2RouteMatchPtrOutputWithContext(ctx context.Context) RouteSpecHttp2RouteMatchPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(RouteSpecHttp2RouteMatchOutput).ToRouteSpecHttp2RouteMatchPtrOutputWithContext(ctx) } -// RouteSpecHttp2RouteRetryPolicyPerRetryTimeoutPtrInput is an input type that accepts RouteSpecHttp2RouteRetryPolicyPerRetryTimeoutArgs, RouteSpecHttp2RouteRetryPolicyPerRetryTimeoutPtr and RouteSpecHttp2RouteRetryPolicyPerRetryTimeoutPtrOutput values. -// You can construct a concrete instance of `RouteSpecHttp2RouteRetryPolicyPerRetryTimeoutPtrInput` via: +// RouteSpecHttp2RouteMatchPtrInput is an input type that accepts RouteSpecHttp2RouteMatchArgs, RouteSpecHttp2RouteMatchPtr and RouteSpecHttp2RouteMatchPtrOutput values. +// You can construct a concrete instance of `RouteSpecHttp2RouteMatchPtrInput` via: // -// RouteSpecHttp2RouteRetryPolicyPerRetryTimeoutArgs{...} +// RouteSpecHttp2RouteMatchArgs{...} // // or: // // nil -type RouteSpecHttp2RouteRetryPolicyPerRetryTimeoutPtrInput interface { +type RouteSpecHttp2RouteMatchPtrInput interface { pulumi.Input - ToRouteSpecHttp2RouteRetryPolicyPerRetryTimeoutPtrOutput() RouteSpecHttp2RouteRetryPolicyPerRetryTimeoutPtrOutput - ToRouteSpecHttp2RouteRetryPolicyPerRetryTimeoutPtrOutputWithContext(context.Context) RouteSpecHttp2RouteRetryPolicyPerRetryTimeoutPtrOutput + ToRouteSpecHttp2RouteMatchPtrOutput() RouteSpecHttp2RouteMatchPtrOutput + ToRouteSpecHttp2RouteMatchPtrOutputWithContext(context.Context) RouteSpecHttp2RouteMatchPtrOutput } -type routeSpecHttp2RouteRetryPolicyPerRetryTimeoutPtrType RouteSpecHttp2RouteRetryPolicyPerRetryTimeoutArgs +type routeSpecHttp2RouteMatchPtrType RouteSpecHttp2RouteMatchArgs -func RouteSpecHttp2RouteRetryPolicyPerRetryTimeoutPtr(v *RouteSpecHttp2RouteRetryPolicyPerRetryTimeoutArgs) RouteSpecHttp2RouteRetryPolicyPerRetryTimeoutPtrInput { - return (*routeSpecHttp2RouteRetryPolicyPerRetryTimeoutPtrType)(v) +func RouteSpecHttp2RouteMatchPtr(v *RouteSpecHttp2RouteMatchArgs) RouteSpecHttp2RouteMatchPtrInput { + return (*routeSpecHttp2RouteMatchPtrType)(v) } -func (*routeSpecHttp2RouteRetryPolicyPerRetryTimeoutPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**RouteSpecHttp2RouteRetryPolicyPerRetryTimeout)(nil)).Elem() +func (*routeSpecHttp2RouteMatchPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**RouteSpecHttp2RouteMatch)(nil)).Elem() } -func (i *routeSpecHttp2RouteRetryPolicyPerRetryTimeoutPtrType) ToRouteSpecHttp2RouteRetryPolicyPerRetryTimeoutPtrOutput() RouteSpecHttp2RouteRetryPolicyPerRetryTimeoutPtrOutput { - return i.ToRouteSpecHttp2RouteRetryPolicyPerRetryTimeoutPtrOutputWithContext(context.Background()) +func (i *routeSpecHttp2RouteMatchPtrType) ToRouteSpecHttp2RouteMatchPtrOutput() RouteSpecHttp2RouteMatchPtrOutput { + return i.ToRouteSpecHttp2RouteMatchPtrOutputWithContext(context.Background()) } -func (i *routeSpecHttp2RouteRetryPolicyPerRetryTimeoutPtrType) ToRouteSpecHttp2RouteRetryPolicyPerRetryTimeoutPtrOutputWithContext(ctx context.Context) RouteSpecHttp2RouteRetryPolicyPerRetryTimeoutPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(RouteSpecHttp2RouteRetryPolicyPerRetryTimeoutPtrOutput) +func (i *routeSpecHttp2RouteMatchPtrType) ToRouteSpecHttp2RouteMatchPtrOutputWithContext(ctx context.Context) RouteSpecHttp2RouteMatchPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(RouteSpecHttp2RouteMatchPtrOutput) } -type RouteSpecHttp2RouteRetryPolicyPerRetryTimeoutOutput struct{ *pulumi.OutputState } +type RouteSpecHttp2RouteMatchOutput struct{ *pulumi.OutputState } -func (RouteSpecHttp2RouteRetryPolicyPerRetryTimeoutOutput) ElementType() reflect.Type { - return reflect.TypeOf((*RouteSpecHttp2RouteRetryPolicyPerRetryTimeout)(nil)).Elem() +func (RouteSpecHttp2RouteMatchOutput) ElementType() reflect.Type { + return reflect.TypeOf((*RouteSpecHttp2RouteMatch)(nil)).Elem() } -func (o RouteSpecHttp2RouteRetryPolicyPerRetryTimeoutOutput) ToRouteSpecHttp2RouteRetryPolicyPerRetryTimeoutOutput() RouteSpecHttp2RouteRetryPolicyPerRetryTimeoutOutput { +func (o RouteSpecHttp2RouteMatchOutput) ToRouteSpecHttp2RouteMatchOutput() RouteSpecHttp2RouteMatchOutput { return o } -func (o RouteSpecHttp2RouteRetryPolicyPerRetryTimeoutOutput) ToRouteSpecHttp2RouteRetryPolicyPerRetryTimeoutOutputWithContext(ctx context.Context) RouteSpecHttp2RouteRetryPolicyPerRetryTimeoutOutput { +func (o RouteSpecHttp2RouteMatchOutput) ToRouteSpecHttp2RouteMatchOutputWithContext(ctx context.Context) RouteSpecHttp2RouteMatchOutput { return o } -func (o RouteSpecHttp2RouteRetryPolicyPerRetryTimeoutOutput) ToRouteSpecHttp2RouteRetryPolicyPerRetryTimeoutPtrOutput() RouteSpecHttp2RouteRetryPolicyPerRetryTimeoutPtrOutput { - return o.ToRouteSpecHttp2RouteRetryPolicyPerRetryTimeoutPtrOutputWithContext(context.Background()) +func (o RouteSpecHttp2RouteMatchOutput) ToRouteSpecHttp2RouteMatchPtrOutput() RouteSpecHttp2RouteMatchPtrOutput { + return o.ToRouteSpecHttp2RouteMatchPtrOutputWithContext(context.Background()) } -func (o RouteSpecHttp2RouteRetryPolicyPerRetryTimeoutOutput) ToRouteSpecHttp2RouteRetryPolicyPerRetryTimeoutPtrOutputWithContext(ctx context.Context) RouteSpecHttp2RouteRetryPolicyPerRetryTimeoutPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v RouteSpecHttp2RouteRetryPolicyPerRetryTimeout) *RouteSpecHttp2RouteRetryPolicyPerRetryTimeout { +func (o RouteSpecHttp2RouteMatchOutput) ToRouteSpecHttp2RouteMatchPtrOutputWithContext(ctx context.Context) RouteSpecHttp2RouteMatchPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v RouteSpecHttp2RouteMatch) *RouteSpecHttp2RouteMatch { return &v - }).(RouteSpecHttp2RouteRetryPolicyPerRetryTimeoutPtrOutput) + }).(RouteSpecHttp2RouteMatchPtrOutput) } -// Retry unit. Valid values: `ms`, `s`. -func (o RouteSpecHttp2RouteRetryPolicyPerRetryTimeoutOutput) Unit() pulumi.StringOutput { - return o.ApplyT(func(v RouteSpecHttp2RouteRetryPolicyPerRetryTimeout) string { return v.Unit }).(pulumi.StringOutput) +// Client request headers to match on. +func (o RouteSpecHttp2RouteMatchOutput) Headers() RouteSpecHttp2RouteMatchHeaderArrayOutput { + return o.ApplyT(func(v RouteSpecHttp2RouteMatch) []RouteSpecHttp2RouteMatchHeader { return v.Headers }).(RouteSpecHttp2RouteMatchHeaderArrayOutput) } -// Retry value. -func (o RouteSpecHttp2RouteRetryPolicyPerRetryTimeoutOutput) Value() pulumi.IntOutput { - return o.ApplyT(func(v RouteSpecHttp2RouteRetryPolicyPerRetryTimeout) int { return v.Value }).(pulumi.IntOutput) +// Client request header method to match on. Valid values: `GET`, `HEAD`, `POST`, `PUT`, `DELETE`, `CONNECT`, `OPTIONS`, `TRACE`, `PATCH`. +func (o RouteSpecHttp2RouteMatchOutput) Method() pulumi.StringPtrOutput { + return o.ApplyT(func(v RouteSpecHttp2RouteMatch) *string { return v.Method }).(pulumi.StringPtrOutput) } -type RouteSpecHttp2RouteRetryPolicyPerRetryTimeoutPtrOutput struct{ *pulumi.OutputState } +// Client request path to match on. +func (o RouteSpecHttp2RouteMatchOutput) Path() RouteSpecHttp2RouteMatchPathPtrOutput { + return o.ApplyT(func(v RouteSpecHttp2RouteMatch) *RouteSpecHttp2RouteMatchPath { return v.Path }).(RouteSpecHttp2RouteMatchPathPtrOutput) +} -func (RouteSpecHttp2RouteRetryPolicyPerRetryTimeoutPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**RouteSpecHttp2RouteRetryPolicyPerRetryTimeout)(nil)).Elem() +// The port number to match from the request. +func (o RouteSpecHttp2RouteMatchOutput) Port() pulumi.IntPtrOutput { + return o.ApplyT(func(v RouteSpecHttp2RouteMatch) *int { return v.Port }).(pulumi.IntPtrOutput) } -func (o RouteSpecHttp2RouteRetryPolicyPerRetryTimeoutPtrOutput) ToRouteSpecHttp2RouteRetryPolicyPerRetryTimeoutPtrOutput() RouteSpecHttp2RouteRetryPolicyPerRetryTimeoutPtrOutput { - return o +// Value sent by the client must begin with the specified characters. Must be between 1 and 255 characters in length. +// This parameter must always start with /, which by itself matches all requests to the virtual router service name. +func (o RouteSpecHttp2RouteMatchOutput) Prefix() pulumi.StringPtrOutput { + return o.ApplyT(func(v RouteSpecHttp2RouteMatch) *string { return v.Prefix }).(pulumi.StringPtrOutput) } -func (o RouteSpecHttp2RouteRetryPolicyPerRetryTimeoutPtrOutput) ToRouteSpecHttp2RouteRetryPolicyPerRetryTimeoutPtrOutputWithContext(ctx context.Context) RouteSpecHttp2RouteRetryPolicyPerRetryTimeoutPtrOutput { - return o +// Client request query parameters to match on. +func (o RouteSpecHttp2RouteMatchOutput) QueryParameters() RouteSpecHttp2RouteMatchQueryParameterArrayOutput { + return o.ApplyT(func(v RouteSpecHttp2RouteMatch) []RouteSpecHttp2RouteMatchQueryParameter { return v.QueryParameters }).(RouteSpecHttp2RouteMatchQueryParameterArrayOutput) } -func (o RouteSpecHttp2RouteRetryPolicyPerRetryTimeoutPtrOutput) Elem() RouteSpecHttp2RouteRetryPolicyPerRetryTimeoutOutput { - return o.ApplyT(func(v *RouteSpecHttp2RouteRetryPolicyPerRetryTimeout) RouteSpecHttp2RouteRetryPolicyPerRetryTimeout { - if v != nil { - return *v - } - var ret RouteSpecHttp2RouteRetryPolicyPerRetryTimeout - return ret - }).(RouteSpecHttp2RouteRetryPolicyPerRetryTimeoutOutput) +// Client request header scheme to match on. Valid values: `http`, `https`. +func (o RouteSpecHttp2RouteMatchOutput) Scheme() pulumi.StringPtrOutput { + return o.ApplyT(func(v RouteSpecHttp2RouteMatch) *string { return v.Scheme }).(pulumi.StringPtrOutput) } -// Retry unit. Valid values: `ms`, `s`. -func (o RouteSpecHttp2RouteRetryPolicyPerRetryTimeoutPtrOutput) Unit() pulumi.StringPtrOutput { - return o.ApplyT(func(v *RouteSpecHttp2RouteRetryPolicyPerRetryTimeout) *string { +type RouteSpecHttp2RouteMatchPtrOutput struct{ *pulumi.OutputState } + +func (RouteSpecHttp2RouteMatchPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**RouteSpecHttp2RouteMatch)(nil)).Elem() +} + +func (o RouteSpecHttp2RouteMatchPtrOutput) ToRouteSpecHttp2RouteMatchPtrOutput() RouteSpecHttp2RouteMatchPtrOutput { + return o +} + +func (o RouteSpecHttp2RouteMatchPtrOutput) ToRouteSpecHttp2RouteMatchPtrOutputWithContext(ctx context.Context) RouteSpecHttp2RouteMatchPtrOutput { + return o +} + +func (o RouteSpecHttp2RouteMatchPtrOutput) Elem() RouteSpecHttp2RouteMatchOutput { + return o.ApplyT(func(v *RouteSpecHttp2RouteMatch) RouteSpecHttp2RouteMatch { + if v != nil { + return *v + } + var ret RouteSpecHttp2RouteMatch + return ret + }).(RouteSpecHttp2RouteMatchOutput) +} + +// Client request headers to match on. +func (o RouteSpecHttp2RouteMatchPtrOutput) Headers() RouteSpecHttp2RouteMatchHeaderArrayOutput { + return o.ApplyT(func(v *RouteSpecHttp2RouteMatch) []RouteSpecHttp2RouteMatchHeader { if v == nil { return nil } - return &v.Unit + return v.Headers + }).(RouteSpecHttp2RouteMatchHeaderArrayOutput) +} + +// Client request header method to match on. Valid values: `GET`, `HEAD`, `POST`, `PUT`, `DELETE`, `CONNECT`, `OPTIONS`, `TRACE`, `PATCH`. +func (o RouteSpecHttp2RouteMatchPtrOutput) Method() pulumi.StringPtrOutput { + return o.ApplyT(func(v *RouteSpecHttp2RouteMatch) *string { + if v == nil { + return nil + } + return v.Method }).(pulumi.StringPtrOutput) } -// Retry value. -func (o RouteSpecHttp2RouteRetryPolicyPerRetryTimeoutPtrOutput) Value() pulumi.IntPtrOutput { - return o.ApplyT(func(v *RouteSpecHttp2RouteRetryPolicyPerRetryTimeout) *int { +// Client request path to match on. +func (o RouteSpecHttp2RouteMatchPtrOutput) Path() RouteSpecHttp2RouteMatchPathPtrOutput { + return o.ApplyT(func(v *RouteSpecHttp2RouteMatch) *RouteSpecHttp2RouteMatchPath { if v == nil { return nil } - return &v.Value + return v.Path + }).(RouteSpecHttp2RouteMatchPathPtrOutput) +} + +// The port number to match from the request. +func (o RouteSpecHttp2RouteMatchPtrOutput) Port() pulumi.IntPtrOutput { + return o.ApplyT(func(v *RouteSpecHttp2RouteMatch) *int { + if v == nil { + return nil + } + return v.Port }).(pulumi.IntPtrOutput) } -type RouteSpecHttp2RouteTimeout struct { - // Idle timeout. An idle timeout bounds the amount of time that a connection may be idle. - Idle *RouteSpecHttp2RouteTimeoutIdle `pulumi:"idle"` - // Per request timeout. - PerRequest *RouteSpecHttp2RouteTimeoutPerRequest `pulumi:"perRequest"` +// Value sent by the client must begin with the specified characters. Must be between 1 and 255 characters in length. +// This parameter must always start with /, which by itself matches all requests to the virtual router service name. +func (o RouteSpecHttp2RouteMatchPtrOutput) Prefix() pulumi.StringPtrOutput { + return o.ApplyT(func(v *RouteSpecHttp2RouteMatch) *string { + if v == nil { + return nil + } + return v.Prefix + }).(pulumi.StringPtrOutput) } -// RouteSpecHttp2RouteTimeoutInput is an input type that accepts RouteSpecHttp2RouteTimeoutArgs and RouteSpecHttp2RouteTimeoutOutput values. -// You can construct a concrete instance of `RouteSpecHttp2RouteTimeoutInput` via: -// -// RouteSpecHttp2RouteTimeoutArgs{...} -type RouteSpecHttp2RouteTimeoutInput interface { - pulumi.Input +// Client request query parameters to match on. +func (o RouteSpecHttp2RouteMatchPtrOutput) QueryParameters() RouteSpecHttp2RouteMatchQueryParameterArrayOutput { + return o.ApplyT(func(v *RouteSpecHttp2RouteMatch) []RouteSpecHttp2RouteMatchQueryParameter { + if v == nil { + return nil + } + return v.QueryParameters + }).(RouteSpecHttp2RouteMatchQueryParameterArrayOutput) +} - ToRouteSpecHttp2RouteTimeoutOutput() RouteSpecHttp2RouteTimeoutOutput - ToRouteSpecHttp2RouteTimeoutOutputWithContext(context.Context) RouteSpecHttp2RouteTimeoutOutput +// Client request header scheme to match on. Valid values: `http`, `https`. +func (o RouteSpecHttp2RouteMatchPtrOutput) Scheme() pulumi.StringPtrOutput { + return o.ApplyT(func(v *RouteSpecHttp2RouteMatch) *string { + if v == nil { + return nil + } + return v.Scheme + }).(pulumi.StringPtrOutput) } -type RouteSpecHttp2RouteTimeoutArgs struct { - // Idle timeout. An idle timeout bounds the amount of time that a connection may be idle. - Idle RouteSpecHttp2RouteTimeoutIdlePtrInput `pulumi:"idle"` - // Per request timeout. - PerRequest RouteSpecHttp2RouteTimeoutPerRequestPtrInput `pulumi:"perRequest"` +type RouteSpecHttp2RouteMatchHeader struct { + // If `true`, the match is on the opposite of the `match` method and value. Default is `false`. + Invert *bool `pulumi:"invert"` + // Method and value to match the header value sent with a request. Specify one match method. + Match *RouteSpecHttp2RouteMatchHeaderMatch `pulumi:"match"` + // Name for the HTTP header in the client request that will be matched on. + Name string `pulumi:"name"` } -func (RouteSpecHttp2RouteTimeoutArgs) ElementType() reflect.Type { - return reflect.TypeOf((*RouteSpecHttp2RouteTimeout)(nil)).Elem() +// RouteSpecHttp2RouteMatchHeaderInput is an input type that accepts RouteSpecHttp2RouteMatchHeaderArgs and RouteSpecHttp2RouteMatchHeaderOutput values. +// You can construct a concrete instance of `RouteSpecHttp2RouteMatchHeaderInput` via: +// +// RouteSpecHttp2RouteMatchHeaderArgs{...} +type RouteSpecHttp2RouteMatchHeaderInput interface { + pulumi.Input + + ToRouteSpecHttp2RouteMatchHeaderOutput() RouteSpecHttp2RouteMatchHeaderOutput + ToRouteSpecHttp2RouteMatchHeaderOutputWithContext(context.Context) RouteSpecHttp2RouteMatchHeaderOutput } -func (i RouteSpecHttp2RouteTimeoutArgs) ToRouteSpecHttp2RouteTimeoutOutput() RouteSpecHttp2RouteTimeoutOutput { - return i.ToRouteSpecHttp2RouteTimeoutOutputWithContext(context.Background()) +type RouteSpecHttp2RouteMatchHeaderArgs struct { + // If `true`, the match is on the opposite of the `match` method and value. Default is `false`. + Invert pulumi.BoolPtrInput `pulumi:"invert"` + // Method and value to match the header value sent with a request. Specify one match method. + Match RouteSpecHttp2RouteMatchHeaderMatchPtrInput `pulumi:"match"` + // Name for the HTTP header in the client request that will be matched on. + Name pulumi.StringInput `pulumi:"name"` } -func (i RouteSpecHttp2RouteTimeoutArgs) ToRouteSpecHttp2RouteTimeoutOutputWithContext(ctx context.Context) RouteSpecHttp2RouteTimeoutOutput { - return pulumi.ToOutputWithContext(ctx, i).(RouteSpecHttp2RouteTimeoutOutput) +func (RouteSpecHttp2RouteMatchHeaderArgs) ElementType() reflect.Type { + return reflect.TypeOf((*RouteSpecHttp2RouteMatchHeader)(nil)).Elem() } -func (i RouteSpecHttp2RouteTimeoutArgs) ToRouteSpecHttp2RouteTimeoutPtrOutput() RouteSpecHttp2RouteTimeoutPtrOutput { - return i.ToRouteSpecHttp2RouteTimeoutPtrOutputWithContext(context.Background()) +func (i RouteSpecHttp2RouteMatchHeaderArgs) ToRouteSpecHttp2RouteMatchHeaderOutput() RouteSpecHttp2RouteMatchHeaderOutput { + return i.ToRouteSpecHttp2RouteMatchHeaderOutputWithContext(context.Background()) } -func (i RouteSpecHttp2RouteTimeoutArgs) ToRouteSpecHttp2RouteTimeoutPtrOutputWithContext(ctx context.Context) RouteSpecHttp2RouteTimeoutPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(RouteSpecHttp2RouteTimeoutOutput).ToRouteSpecHttp2RouteTimeoutPtrOutputWithContext(ctx) +func (i RouteSpecHttp2RouteMatchHeaderArgs) ToRouteSpecHttp2RouteMatchHeaderOutputWithContext(ctx context.Context) RouteSpecHttp2RouteMatchHeaderOutput { + return pulumi.ToOutputWithContext(ctx, i).(RouteSpecHttp2RouteMatchHeaderOutput) } -// RouteSpecHttp2RouteTimeoutPtrInput is an input type that accepts RouteSpecHttp2RouteTimeoutArgs, RouteSpecHttp2RouteTimeoutPtr and RouteSpecHttp2RouteTimeoutPtrOutput values. -// You can construct a concrete instance of `RouteSpecHttp2RouteTimeoutPtrInput` via: -// -// RouteSpecHttp2RouteTimeoutArgs{...} -// -// or: +// RouteSpecHttp2RouteMatchHeaderArrayInput is an input type that accepts RouteSpecHttp2RouteMatchHeaderArray and RouteSpecHttp2RouteMatchHeaderArrayOutput values. +// You can construct a concrete instance of `RouteSpecHttp2RouteMatchHeaderArrayInput` via: // -// nil -type RouteSpecHttp2RouteTimeoutPtrInput interface { +// RouteSpecHttp2RouteMatchHeaderArray{ RouteSpecHttp2RouteMatchHeaderArgs{...} } +type RouteSpecHttp2RouteMatchHeaderArrayInput interface { pulumi.Input - ToRouteSpecHttp2RouteTimeoutPtrOutput() RouteSpecHttp2RouteTimeoutPtrOutput - ToRouteSpecHttp2RouteTimeoutPtrOutputWithContext(context.Context) RouteSpecHttp2RouteTimeoutPtrOutput + ToRouteSpecHttp2RouteMatchHeaderArrayOutput() RouteSpecHttp2RouteMatchHeaderArrayOutput + ToRouteSpecHttp2RouteMatchHeaderArrayOutputWithContext(context.Context) RouteSpecHttp2RouteMatchHeaderArrayOutput } -type routeSpecHttp2RouteTimeoutPtrType RouteSpecHttp2RouteTimeoutArgs - -func RouteSpecHttp2RouteTimeoutPtr(v *RouteSpecHttp2RouteTimeoutArgs) RouteSpecHttp2RouteTimeoutPtrInput { - return (*routeSpecHttp2RouteTimeoutPtrType)(v) -} +type RouteSpecHttp2RouteMatchHeaderArray []RouteSpecHttp2RouteMatchHeaderInput -func (*routeSpecHttp2RouteTimeoutPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**RouteSpecHttp2RouteTimeout)(nil)).Elem() +func (RouteSpecHttp2RouteMatchHeaderArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]RouteSpecHttp2RouteMatchHeader)(nil)).Elem() } -func (i *routeSpecHttp2RouteTimeoutPtrType) ToRouteSpecHttp2RouteTimeoutPtrOutput() RouteSpecHttp2RouteTimeoutPtrOutput { - return i.ToRouteSpecHttp2RouteTimeoutPtrOutputWithContext(context.Background()) +func (i RouteSpecHttp2RouteMatchHeaderArray) ToRouteSpecHttp2RouteMatchHeaderArrayOutput() RouteSpecHttp2RouteMatchHeaderArrayOutput { + return i.ToRouteSpecHttp2RouteMatchHeaderArrayOutputWithContext(context.Background()) } -func (i *routeSpecHttp2RouteTimeoutPtrType) ToRouteSpecHttp2RouteTimeoutPtrOutputWithContext(ctx context.Context) RouteSpecHttp2RouteTimeoutPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(RouteSpecHttp2RouteTimeoutPtrOutput) +func (i RouteSpecHttp2RouteMatchHeaderArray) ToRouteSpecHttp2RouteMatchHeaderArrayOutputWithContext(ctx context.Context) RouteSpecHttp2RouteMatchHeaderArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(RouteSpecHttp2RouteMatchHeaderArrayOutput) } -type RouteSpecHttp2RouteTimeoutOutput struct{ *pulumi.OutputState } +type RouteSpecHttp2RouteMatchHeaderOutput struct{ *pulumi.OutputState } -func (RouteSpecHttp2RouteTimeoutOutput) ElementType() reflect.Type { - return reflect.TypeOf((*RouteSpecHttp2RouteTimeout)(nil)).Elem() +func (RouteSpecHttp2RouteMatchHeaderOutput) ElementType() reflect.Type { + return reflect.TypeOf((*RouteSpecHttp2RouteMatchHeader)(nil)).Elem() } -func (o RouteSpecHttp2RouteTimeoutOutput) ToRouteSpecHttp2RouteTimeoutOutput() RouteSpecHttp2RouteTimeoutOutput { +func (o RouteSpecHttp2RouteMatchHeaderOutput) ToRouteSpecHttp2RouteMatchHeaderOutput() RouteSpecHttp2RouteMatchHeaderOutput { return o } -func (o RouteSpecHttp2RouteTimeoutOutput) ToRouteSpecHttp2RouteTimeoutOutputWithContext(ctx context.Context) RouteSpecHttp2RouteTimeoutOutput { +func (o RouteSpecHttp2RouteMatchHeaderOutput) ToRouteSpecHttp2RouteMatchHeaderOutputWithContext(ctx context.Context) RouteSpecHttp2RouteMatchHeaderOutput { return o } -func (o RouteSpecHttp2RouteTimeoutOutput) ToRouteSpecHttp2RouteTimeoutPtrOutput() RouteSpecHttp2RouteTimeoutPtrOutput { - return o.ToRouteSpecHttp2RouteTimeoutPtrOutputWithContext(context.Background()) -} - -func (o RouteSpecHttp2RouteTimeoutOutput) ToRouteSpecHttp2RouteTimeoutPtrOutputWithContext(ctx context.Context) RouteSpecHttp2RouteTimeoutPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v RouteSpecHttp2RouteTimeout) *RouteSpecHttp2RouteTimeout { - return &v - }).(RouteSpecHttp2RouteTimeoutPtrOutput) +// If `true`, the match is on the opposite of the `match` method and value. Default is `false`. +func (o RouteSpecHttp2RouteMatchHeaderOutput) Invert() pulumi.BoolPtrOutput { + return o.ApplyT(func(v RouteSpecHttp2RouteMatchHeader) *bool { return v.Invert }).(pulumi.BoolPtrOutput) } -// Idle timeout. An idle timeout bounds the amount of time that a connection may be idle. -func (o RouteSpecHttp2RouteTimeoutOutput) Idle() RouteSpecHttp2RouteTimeoutIdlePtrOutput { - return o.ApplyT(func(v RouteSpecHttp2RouteTimeout) *RouteSpecHttp2RouteTimeoutIdle { return v.Idle }).(RouteSpecHttp2RouteTimeoutIdlePtrOutput) +// Method and value to match the header value sent with a request. Specify one match method. +func (o RouteSpecHttp2RouteMatchHeaderOutput) Match() RouteSpecHttp2RouteMatchHeaderMatchPtrOutput { + return o.ApplyT(func(v RouteSpecHttp2RouteMatchHeader) *RouteSpecHttp2RouteMatchHeaderMatch { return v.Match }).(RouteSpecHttp2RouteMatchHeaderMatchPtrOutput) } -// Per request timeout. -func (o RouteSpecHttp2RouteTimeoutOutput) PerRequest() RouteSpecHttp2RouteTimeoutPerRequestPtrOutput { - return o.ApplyT(func(v RouteSpecHttp2RouteTimeout) *RouteSpecHttp2RouteTimeoutPerRequest { return v.PerRequest }).(RouteSpecHttp2RouteTimeoutPerRequestPtrOutput) +// Name for the HTTP header in the client request that will be matched on. +func (o RouteSpecHttp2RouteMatchHeaderOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v RouteSpecHttp2RouteMatchHeader) string { return v.Name }).(pulumi.StringOutput) } -type RouteSpecHttp2RouteTimeoutPtrOutput struct{ *pulumi.OutputState } +type RouteSpecHttp2RouteMatchHeaderArrayOutput struct{ *pulumi.OutputState } -func (RouteSpecHttp2RouteTimeoutPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**RouteSpecHttp2RouteTimeout)(nil)).Elem() +func (RouteSpecHttp2RouteMatchHeaderArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]RouteSpecHttp2RouteMatchHeader)(nil)).Elem() } -func (o RouteSpecHttp2RouteTimeoutPtrOutput) ToRouteSpecHttp2RouteTimeoutPtrOutput() RouteSpecHttp2RouteTimeoutPtrOutput { +func (o RouteSpecHttp2RouteMatchHeaderArrayOutput) ToRouteSpecHttp2RouteMatchHeaderArrayOutput() RouteSpecHttp2RouteMatchHeaderArrayOutput { return o } -func (o RouteSpecHttp2RouteTimeoutPtrOutput) ToRouteSpecHttp2RouteTimeoutPtrOutputWithContext(ctx context.Context) RouteSpecHttp2RouteTimeoutPtrOutput { +func (o RouteSpecHttp2RouteMatchHeaderArrayOutput) ToRouteSpecHttp2RouteMatchHeaderArrayOutputWithContext(ctx context.Context) RouteSpecHttp2RouteMatchHeaderArrayOutput { return o } -func (o RouteSpecHttp2RouteTimeoutPtrOutput) Elem() RouteSpecHttp2RouteTimeoutOutput { - return o.ApplyT(func(v *RouteSpecHttp2RouteTimeout) RouteSpecHttp2RouteTimeout { - if v != nil { - return *v - } - var ret RouteSpecHttp2RouteTimeout - return ret - }).(RouteSpecHttp2RouteTimeoutOutput) -} - -// Idle timeout. An idle timeout bounds the amount of time that a connection may be idle. -func (o RouteSpecHttp2RouteTimeoutPtrOutput) Idle() RouteSpecHttp2RouteTimeoutIdlePtrOutput { - return o.ApplyT(func(v *RouteSpecHttp2RouteTimeout) *RouteSpecHttp2RouteTimeoutIdle { - if v == nil { - return nil - } - return v.Idle - }).(RouteSpecHttp2RouteTimeoutIdlePtrOutput) -} - -// Per request timeout. -func (o RouteSpecHttp2RouteTimeoutPtrOutput) PerRequest() RouteSpecHttp2RouteTimeoutPerRequestPtrOutput { - return o.ApplyT(func(v *RouteSpecHttp2RouteTimeout) *RouteSpecHttp2RouteTimeoutPerRequest { - if v == nil { - return nil - } - return v.PerRequest - }).(RouteSpecHttp2RouteTimeoutPerRequestPtrOutput) +func (o RouteSpecHttp2RouteMatchHeaderArrayOutput) Index(i pulumi.IntInput) RouteSpecHttp2RouteMatchHeaderOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) RouteSpecHttp2RouteMatchHeader { + return vs[0].([]RouteSpecHttp2RouteMatchHeader)[vs[1].(int)] + }).(RouteSpecHttp2RouteMatchHeaderOutput) } -type RouteSpecHttp2RouteTimeoutIdle struct { - // Unit of time. Valid values: `ms`, `s`. - Unit string `pulumi:"unit"` - // Number of time units. Minimum value of `0`. - Value int `pulumi:"value"` +type RouteSpecHttp2RouteMatchHeaderMatch struct { + // The exact path to match on. + Exact *string `pulumi:"exact"` + // Value sent by the client must begin with the specified characters. Must be between 1 and 255 characters in length. + // This parameter must always start with /, which by itself matches all requests to the virtual router service name. + Prefix *string `pulumi:"prefix"` + // Object that specifies the range of numbers that the value sent by the client must be included in. + Range *RouteSpecHttp2RouteMatchHeaderMatchRange `pulumi:"range"` + // The regex used to match the path. + Regex *string `pulumi:"regex"` + // Value sent by the client must end with the specified characters. Must be between 1 and 255 characters in length. + Suffix *string `pulumi:"suffix"` } -// RouteSpecHttp2RouteTimeoutIdleInput is an input type that accepts RouteSpecHttp2RouteTimeoutIdleArgs and RouteSpecHttp2RouteTimeoutIdleOutput values. -// You can construct a concrete instance of `RouteSpecHttp2RouteTimeoutIdleInput` via: +// RouteSpecHttp2RouteMatchHeaderMatchInput is an input type that accepts RouteSpecHttp2RouteMatchHeaderMatchArgs and RouteSpecHttp2RouteMatchHeaderMatchOutput values. +// You can construct a concrete instance of `RouteSpecHttp2RouteMatchHeaderMatchInput` via: // -// RouteSpecHttp2RouteTimeoutIdleArgs{...} -type RouteSpecHttp2RouteTimeoutIdleInput interface { +// RouteSpecHttp2RouteMatchHeaderMatchArgs{...} +type RouteSpecHttp2RouteMatchHeaderMatchInput interface { pulumi.Input - ToRouteSpecHttp2RouteTimeoutIdleOutput() RouteSpecHttp2RouteTimeoutIdleOutput - ToRouteSpecHttp2RouteTimeoutIdleOutputWithContext(context.Context) RouteSpecHttp2RouteTimeoutIdleOutput + ToRouteSpecHttp2RouteMatchHeaderMatchOutput() RouteSpecHttp2RouteMatchHeaderMatchOutput + ToRouteSpecHttp2RouteMatchHeaderMatchOutputWithContext(context.Context) RouteSpecHttp2RouteMatchHeaderMatchOutput } -type RouteSpecHttp2RouteTimeoutIdleArgs struct { - // Unit of time. Valid values: `ms`, `s`. - Unit pulumi.StringInput `pulumi:"unit"` - // Number of time units. Minimum value of `0`. - Value pulumi.IntInput `pulumi:"value"` +type RouteSpecHttp2RouteMatchHeaderMatchArgs struct { + // The exact path to match on. + Exact pulumi.StringPtrInput `pulumi:"exact"` + // Value sent by the client must begin with the specified characters. Must be between 1 and 255 characters in length. + // This parameter must always start with /, which by itself matches all requests to the virtual router service name. + Prefix pulumi.StringPtrInput `pulumi:"prefix"` + // Object that specifies the range of numbers that the value sent by the client must be included in. + Range RouteSpecHttp2RouteMatchHeaderMatchRangePtrInput `pulumi:"range"` + // The regex used to match the path. + Regex pulumi.StringPtrInput `pulumi:"regex"` + // Value sent by the client must end with the specified characters. Must be between 1 and 255 characters in length. + Suffix pulumi.StringPtrInput `pulumi:"suffix"` } -func (RouteSpecHttp2RouteTimeoutIdleArgs) ElementType() reflect.Type { - return reflect.TypeOf((*RouteSpecHttp2RouteTimeoutIdle)(nil)).Elem() +func (RouteSpecHttp2RouteMatchHeaderMatchArgs) ElementType() reflect.Type { + return reflect.TypeOf((*RouteSpecHttp2RouteMatchHeaderMatch)(nil)).Elem() } -func (i RouteSpecHttp2RouteTimeoutIdleArgs) ToRouteSpecHttp2RouteTimeoutIdleOutput() RouteSpecHttp2RouteTimeoutIdleOutput { - return i.ToRouteSpecHttp2RouteTimeoutIdleOutputWithContext(context.Background()) +func (i RouteSpecHttp2RouteMatchHeaderMatchArgs) ToRouteSpecHttp2RouteMatchHeaderMatchOutput() RouteSpecHttp2RouteMatchHeaderMatchOutput { + return i.ToRouteSpecHttp2RouteMatchHeaderMatchOutputWithContext(context.Background()) } -func (i RouteSpecHttp2RouteTimeoutIdleArgs) ToRouteSpecHttp2RouteTimeoutIdleOutputWithContext(ctx context.Context) RouteSpecHttp2RouteTimeoutIdleOutput { - return pulumi.ToOutputWithContext(ctx, i).(RouteSpecHttp2RouteTimeoutIdleOutput) +func (i RouteSpecHttp2RouteMatchHeaderMatchArgs) ToRouteSpecHttp2RouteMatchHeaderMatchOutputWithContext(ctx context.Context) RouteSpecHttp2RouteMatchHeaderMatchOutput { + return pulumi.ToOutputWithContext(ctx, i).(RouteSpecHttp2RouteMatchHeaderMatchOutput) } -func (i RouteSpecHttp2RouteTimeoutIdleArgs) ToRouteSpecHttp2RouteTimeoutIdlePtrOutput() RouteSpecHttp2RouteTimeoutIdlePtrOutput { - return i.ToRouteSpecHttp2RouteTimeoutIdlePtrOutputWithContext(context.Background()) +func (i RouteSpecHttp2RouteMatchHeaderMatchArgs) ToRouteSpecHttp2RouteMatchHeaderMatchPtrOutput() RouteSpecHttp2RouteMatchHeaderMatchPtrOutput { + return i.ToRouteSpecHttp2RouteMatchHeaderMatchPtrOutputWithContext(context.Background()) } -func (i RouteSpecHttp2RouteTimeoutIdleArgs) ToRouteSpecHttp2RouteTimeoutIdlePtrOutputWithContext(ctx context.Context) RouteSpecHttp2RouteTimeoutIdlePtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(RouteSpecHttp2RouteTimeoutIdleOutput).ToRouteSpecHttp2RouteTimeoutIdlePtrOutputWithContext(ctx) +func (i RouteSpecHttp2RouteMatchHeaderMatchArgs) ToRouteSpecHttp2RouteMatchHeaderMatchPtrOutputWithContext(ctx context.Context) RouteSpecHttp2RouteMatchHeaderMatchPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(RouteSpecHttp2RouteMatchHeaderMatchOutput).ToRouteSpecHttp2RouteMatchHeaderMatchPtrOutputWithContext(ctx) } -// RouteSpecHttp2RouteTimeoutIdlePtrInput is an input type that accepts RouteSpecHttp2RouteTimeoutIdleArgs, RouteSpecHttp2RouteTimeoutIdlePtr and RouteSpecHttp2RouteTimeoutIdlePtrOutput values. -// You can construct a concrete instance of `RouteSpecHttp2RouteTimeoutIdlePtrInput` via: +// RouteSpecHttp2RouteMatchHeaderMatchPtrInput is an input type that accepts RouteSpecHttp2RouteMatchHeaderMatchArgs, RouteSpecHttp2RouteMatchHeaderMatchPtr and RouteSpecHttp2RouteMatchHeaderMatchPtrOutput values. +// You can construct a concrete instance of `RouteSpecHttp2RouteMatchHeaderMatchPtrInput` via: // -// RouteSpecHttp2RouteTimeoutIdleArgs{...} +// RouteSpecHttp2RouteMatchHeaderMatchArgs{...} // // or: // // nil -type RouteSpecHttp2RouteTimeoutIdlePtrInput interface { +type RouteSpecHttp2RouteMatchHeaderMatchPtrInput interface { pulumi.Input - ToRouteSpecHttp2RouteTimeoutIdlePtrOutput() RouteSpecHttp2RouteTimeoutIdlePtrOutput - ToRouteSpecHttp2RouteTimeoutIdlePtrOutputWithContext(context.Context) RouteSpecHttp2RouteTimeoutIdlePtrOutput + ToRouteSpecHttp2RouteMatchHeaderMatchPtrOutput() RouteSpecHttp2RouteMatchHeaderMatchPtrOutput + ToRouteSpecHttp2RouteMatchHeaderMatchPtrOutputWithContext(context.Context) RouteSpecHttp2RouteMatchHeaderMatchPtrOutput } -type routeSpecHttp2RouteTimeoutIdlePtrType RouteSpecHttp2RouteTimeoutIdleArgs +type routeSpecHttp2RouteMatchHeaderMatchPtrType RouteSpecHttp2RouteMatchHeaderMatchArgs -func RouteSpecHttp2RouteTimeoutIdlePtr(v *RouteSpecHttp2RouteTimeoutIdleArgs) RouteSpecHttp2RouteTimeoutIdlePtrInput { - return (*routeSpecHttp2RouteTimeoutIdlePtrType)(v) +func RouteSpecHttp2RouteMatchHeaderMatchPtr(v *RouteSpecHttp2RouteMatchHeaderMatchArgs) RouteSpecHttp2RouteMatchHeaderMatchPtrInput { + return (*routeSpecHttp2RouteMatchHeaderMatchPtrType)(v) } -func (*routeSpecHttp2RouteTimeoutIdlePtrType) ElementType() reflect.Type { - return reflect.TypeOf((**RouteSpecHttp2RouteTimeoutIdle)(nil)).Elem() +func (*routeSpecHttp2RouteMatchHeaderMatchPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**RouteSpecHttp2RouteMatchHeaderMatch)(nil)).Elem() } -func (i *routeSpecHttp2RouteTimeoutIdlePtrType) ToRouteSpecHttp2RouteTimeoutIdlePtrOutput() RouteSpecHttp2RouteTimeoutIdlePtrOutput { - return i.ToRouteSpecHttp2RouteTimeoutIdlePtrOutputWithContext(context.Background()) +func (i *routeSpecHttp2RouteMatchHeaderMatchPtrType) ToRouteSpecHttp2RouteMatchHeaderMatchPtrOutput() RouteSpecHttp2RouteMatchHeaderMatchPtrOutput { + return i.ToRouteSpecHttp2RouteMatchHeaderMatchPtrOutputWithContext(context.Background()) } -func (i *routeSpecHttp2RouteTimeoutIdlePtrType) ToRouteSpecHttp2RouteTimeoutIdlePtrOutputWithContext(ctx context.Context) RouteSpecHttp2RouteTimeoutIdlePtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(RouteSpecHttp2RouteTimeoutIdlePtrOutput) +func (i *routeSpecHttp2RouteMatchHeaderMatchPtrType) ToRouteSpecHttp2RouteMatchHeaderMatchPtrOutputWithContext(ctx context.Context) RouteSpecHttp2RouteMatchHeaderMatchPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(RouteSpecHttp2RouteMatchHeaderMatchPtrOutput) } -type RouteSpecHttp2RouteTimeoutIdleOutput struct{ *pulumi.OutputState } +type RouteSpecHttp2RouteMatchHeaderMatchOutput struct{ *pulumi.OutputState } -func (RouteSpecHttp2RouteTimeoutIdleOutput) ElementType() reflect.Type { - return reflect.TypeOf((*RouteSpecHttp2RouteTimeoutIdle)(nil)).Elem() +func (RouteSpecHttp2RouteMatchHeaderMatchOutput) ElementType() reflect.Type { + return reflect.TypeOf((*RouteSpecHttp2RouteMatchHeaderMatch)(nil)).Elem() } -func (o RouteSpecHttp2RouteTimeoutIdleOutput) ToRouteSpecHttp2RouteTimeoutIdleOutput() RouteSpecHttp2RouteTimeoutIdleOutput { +func (o RouteSpecHttp2RouteMatchHeaderMatchOutput) ToRouteSpecHttp2RouteMatchHeaderMatchOutput() RouteSpecHttp2RouteMatchHeaderMatchOutput { return o } -func (o RouteSpecHttp2RouteTimeoutIdleOutput) ToRouteSpecHttp2RouteTimeoutIdleOutputWithContext(ctx context.Context) RouteSpecHttp2RouteTimeoutIdleOutput { +func (o RouteSpecHttp2RouteMatchHeaderMatchOutput) ToRouteSpecHttp2RouteMatchHeaderMatchOutputWithContext(ctx context.Context) RouteSpecHttp2RouteMatchHeaderMatchOutput { return o } -func (o RouteSpecHttp2RouteTimeoutIdleOutput) ToRouteSpecHttp2RouteTimeoutIdlePtrOutput() RouteSpecHttp2RouteTimeoutIdlePtrOutput { - return o.ToRouteSpecHttp2RouteTimeoutIdlePtrOutputWithContext(context.Background()) +func (o RouteSpecHttp2RouteMatchHeaderMatchOutput) ToRouteSpecHttp2RouteMatchHeaderMatchPtrOutput() RouteSpecHttp2RouteMatchHeaderMatchPtrOutput { + return o.ToRouteSpecHttp2RouteMatchHeaderMatchPtrOutputWithContext(context.Background()) } -func (o RouteSpecHttp2RouteTimeoutIdleOutput) ToRouteSpecHttp2RouteTimeoutIdlePtrOutputWithContext(ctx context.Context) RouteSpecHttp2RouteTimeoutIdlePtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v RouteSpecHttp2RouteTimeoutIdle) *RouteSpecHttp2RouteTimeoutIdle { +func (o RouteSpecHttp2RouteMatchHeaderMatchOutput) ToRouteSpecHttp2RouteMatchHeaderMatchPtrOutputWithContext(ctx context.Context) RouteSpecHttp2RouteMatchHeaderMatchPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v RouteSpecHttp2RouteMatchHeaderMatch) *RouteSpecHttp2RouteMatchHeaderMatch { return &v - }).(RouteSpecHttp2RouteTimeoutIdlePtrOutput) + }).(RouteSpecHttp2RouteMatchHeaderMatchPtrOutput) } -// Unit of time. Valid values: `ms`, `s`. -func (o RouteSpecHttp2RouteTimeoutIdleOutput) Unit() pulumi.StringOutput { - return o.ApplyT(func(v RouteSpecHttp2RouteTimeoutIdle) string { return v.Unit }).(pulumi.StringOutput) +// The exact path to match on. +func (o RouteSpecHttp2RouteMatchHeaderMatchOutput) Exact() pulumi.StringPtrOutput { + return o.ApplyT(func(v RouteSpecHttp2RouteMatchHeaderMatch) *string { return v.Exact }).(pulumi.StringPtrOutput) } -// Number of time units. Minimum value of `0`. -func (o RouteSpecHttp2RouteTimeoutIdleOutput) Value() pulumi.IntOutput { - return o.ApplyT(func(v RouteSpecHttp2RouteTimeoutIdle) int { return v.Value }).(pulumi.IntOutput) +// Value sent by the client must begin with the specified characters. Must be between 1 and 255 characters in length. +// This parameter must always start with /, which by itself matches all requests to the virtual router service name. +func (o RouteSpecHttp2RouteMatchHeaderMatchOutput) Prefix() pulumi.StringPtrOutput { + return o.ApplyT(func(v RouteSpecHttp2RouteMatchHeaderMatch) *string { return v.Prefix }).(pulumi.StringPtrOutput) } -type RouteSpecHttp2RouteTimeoutIdlePtrOutput struct{ *pulumi.OutputState } +// Object that specifies the range of numbers that the value sent by the client must be included in. +func (o RouteSpecHttp2RouteMatchHeaderMatchOutput) Range() RouteSpecHttp2RouteMatchHeaderMatchRangePtrOutput { + return o.ApplyT(func(v RouteSpecHttp2RouteMatchHeaderMatch) *RouteSpecHttp2RouteMatchHeaderMatchRange { return v.Range }).(RouteSpecHttp2RouteMatchHeaderMatchRangePtrOutput) +} -func (RouteSpecHttp2RouteTimeoutIdlePtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**RouteSpecHttp2RouteTimeoutIdle)(nil)).Elem() +// The regex used to match the path. +func (o RouteSpecHttp2RouteMatchHeaderMatchOutput) Regex() pulumi.StringPtrOutput { + return o.ApplyT(func(v RouteSpecHttp2RouteMatchHeaderMatch) *string { return v.Regex }).(pulumi.StringPtrOutput) } -func (o RouteSpecHttp2RouteTimeoutIdlePtrOutput) ToRouteSpecHttp2RouteTimeoutIdlePtrOutput() RouteSpecHttp2RouteTimeoutIdlePtrOutput { +// Value sent by the client must end with the specified characters. Must be between 1 and 255 characters in length. +func (o RouteSpecHttp2RouteMatchHeaderMatchOutput) Suffix() pulumi.StringPtrOutput { + return o.ApplyT(func(v RouteSpecHttp2RouteMatchHeaderMatch) *string { return v.Suffix }).(pulumi.StringPtrOutput) +} + +type RouteSpecHttp2RouteMatchHeaderMatchPtrOutput struct{ *pulumi.OutputState } + +func (RouteSpecHttp2RouteMatchHeaderMatchPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**RouteSpecHttp2RouteMatchHeaderMatch)(nil)).Elem() +} + +func (o RouteSpecHttp2RouteMatchHeaderMatchPtrOutput) ToRouteSpecHttp2RouteMatchHeaderMatchPtrOutput() RouteSpecHttp2RouteMatchHeaderMatchPtrOutput { return o } -func (o RouteSpecHttp2RouteTimeoutIdlePtrOutput) ToRouteSpecHttp2RouteTimeoutIdlePtrOutputWithContext(ctx context.Context) RouteSpecHttp2RouteTimeoutIdlePtrOutput { +func (o RouteSpecHttp2RouteMatchHeaderMatchPtrOutput) ToRouteSpecHttp2RouteMatchHeaderMatchPtrOutputWithContext(ctx context.Context) RouteSpecHttp2RouteMatchHeaderMatchPtrOutput { return o } -func (o RouteSpecHttp2RouteTimeoutIdlePtrOutput) Elem() RouteSpecHttp2RouteTimeoutIdleOutput { - return o.ApplyT(func(v *RouteSpecHttp2RouteTimeoutIdle) RouteSpecHttp2RouteTimeoutIdle { +func (o RouteSpecHttp2RouteMatchHeaderMatchPtrOutput) Elem() RouteSpecHttp2RouteMatchHeaderMatchOutput { + return o.ApplyT(func(v *RouteSpecHttp2RouteMatchHeaderMatch) RouteSpecHttp2RouteMatchHeaderMatch { if v != nil { return *v } - var ret RouteSpecHttp2RouteTimeoutIdle + var ret RouteSpecHttp2RouteMatchHeaderMatch return ret - }).(RouteSpecHttp2RouteTimeoutIdleOutput) + }).(RouteSpecHttp2RouteMatchHeaderMatchOutput) } -// Unit of time. Valid values: `ms`, `s`. -func (o RouteSpecHttp2RouteTimeoutIdlePtrOutput) Unit() pulumi.StringPtrOutput { - return o.ApplyT(func(v *RouteSpecHttp2RouteTimeoutIdle) *string { +// The exact path to match on. +func (o RouteSpecHttp2RouteMatchHeaderMatchPtrOutput) Exact() pulumi.StringPtrOutput { + return o.ApplyT(func(v *RouteSpecHttp2RouteMatchHeaderMatch) *string { if v == nil { return nil } - return &v.Unit + return v.Exact }).(pulumi.StringPtrOutput) } -// Number of time units. Minimum value of `0`. -func (o RouteSpecHttp2RouteTimeoutIdlePtrOutput) Value() pulumi.IntPtrOutput { - return o.ApplyT(func(v *RouteSpecHttp2RouteTimeoutIdle) *int { +// Value sent by the client must begin with the specified characters. Must be between 1 and 255 characters in length. +// This parameter must always start with /, which by itself matches all requests to the virtual router service name. +func (o RouteSpecHttp2RouteMatchHeaderMatchPtrOutput) Prefix() pulumi.StringPtrOutput { + return o.ApplyT(func(v *RouteSpecHttp2RouteMatchHeaderMatch) *string { if v == nil { return nil } - return &v.Value - }).(pulumi.IntPtrOutput) + return v.Prefix + }).(pulumi.StringPtrOutput) } -type RouteSpecHttp2RouteTimeoutPerRequest struct { - // Unit of time. Valid values: `ms`, `s`. - Unit string `pulumi:"unit"` - // Number of time units. Minimum value of `0`. - Value int `pulumi:"value"` +// Object that specifies the range of numbers that the value sent by the client must be included in. +func (o RouteSpecHttp2RouteMatchHeaderMatchPtrOutput) Range() RouteSpecHttp2RouteMatchHeaderMatchRangePtrOutput { + return o.ApplyT(func(v *RouteSpecHttp2RouteMatchHeaderMatch) *RouteSpecHttp2RouteMatchHeaderMatchRange { + if v == nil { + return nil + } + return v.Range + }).(RouteSpecHttp2RouteMatchHeaderMatchRangePtrOutput) } -// RouteSpecHttp2RouteTimeoutPerRequestInput is an input type that accepts RouteSpecHttp2RouteTimeoutPerRequestArgs and RouteSpecHttp2RouteTimeoutPerRequestOutput values. -// You can construct a concrete instance of `RouteSpecHttp2RouteTimeoutPerRequestInput` via: +// The regex used to match the path. +func (o RouteSpecHttp2RouteMatchHeaderMatchPtrOutput) Regex() pulumi.StringPtrOutput { + return o.ApplyT(func(v *RouteSpecHttp2RouteMatchHeaderMatch) *string { + if v == nil { + return nil + } + return v.Regex + }).(pulumi.StringPtrOutput) +} + +// Value sent by the client must end with the specified characters. Must be between 1 and 255 characters in length. +func (o RouteSpecHttp2RouteMatchHeaderMatchPtrOutput) Suffix() pulumi.StringPtrOutput { + return o.ApplyT(func(v *RouteSpecHttp2RouteMatchHeaderMatch) *string { + if v == nil { + return nil + } + return v.Suffix + }).(pulumi.StringPtrOutput) +} + +type RouteSpecHttp2RouteMatchHeaderMatchRange struct { + // End of the range. + End int `pulumi:"end"` + // Start of the range. + Start int `pulumi:"start"` +} + +// RouteSpecHttp2RouteMatchHeaderMatchRangeInput is an input type that accepts RouteSpecHttp2RouteMatchHeaderMatchRangeArgs and RouteSpecHttp2RouteMatchHeaderMatchRangeOutput values. +// You can construct a concrete instance of `RouteSpecHttp2RouteMatchHeaderMatchRangeInput` via: // -// RouteSpecHttp2RouteTimeoutPerRequestArgs{...} -type RouteSpecHttp2RouteTimeoutPerRequestInput interface { +// RouteSpecHttp2RouteMatchHeaderMatchRangeArgs{...} +type RouteSpecHttp2RouteMatchHeaderMatchRangeInput interface { pulumi.Input - ToRouteSpecHttp2RouteTimeoutPerRequestOutput() RouteSpecHttp2RouteTimeoutPerRequestOutput - ToRouteSpecHttp2RouteTimeoutPerRequestOutputWithContext(context.Context) RouteSpecHttp2RouteTimeoutPerRequestOutput + ToRouteSpecHttp2RouteMatchHeaderMatchRangeOutput() RouteSpecHttp2RouteMatchHeaderMatchRangeOutput + ToRouteSpecHttp2RouteMatchHeaderMatchRangeOutputWithContext(context.Context) RouteSpecHttp2RouteMatchHeaderMatchRangeOutput } -type RouteSpecHttp2RouteTimeoutPerRequestArgs struct { - // Unit of time. Valid values: `ms`, `s`. - Unit pulumi.StringInput `pulumi:"unit"` - // Number of time units. Minimum value of `0`. - Value pulumi.IntInput `pulumi:"value"` +type RouteSpecHttp2RouteMatchHeaderMatchRangeArgs struct { + // End of the range. + End pulumi.IntInput `pulumi:"end"` + // Start of the range. + Start pulumi.IntInput `pulumi:"start"` } -func (RouteSpecHttp2RouteTimeoutPerRequestArgs) ElementType() reflect.Type { - return reflect.TypeOf((*RouteSpecHttp2RouteTimeoutPerRequest)(nil)).Elem() +func (RouteSpecHttp2RouteMatchHeaderMatchRangeArgs) ElementType() reflect.Type { + return reflect.TypeOf((*RouteSpecHttp2RouteMatchHeaderMatchRange)(nil)).Elem() } -func (i RouteSpecHttp2RouteTimeoutPerRequestArgs) ToRouteSpecHttp2RouteTimeoutPerRequestOutput() RouteSpecHttp2RouteTimeoutPerRequestOutput { - return i.ToRouteSpecHttp2RouteTimeoutPerRequestOutputWithContext(context.Background()) +func (i RouteSpecHttp2RouteMatchHeaderMatchRangeArgs) ToRouteSpecHttp2RouteMatchHeaderMatchRangeOutput() RouteSpecHttp2RouteMatchHeaderMatchRangeOutput { + return i.ToRouteSpecHttp2RouteMatchHeaderMatchRangeOutputWithContext(context.Background()) } -func (i RouteSpecHttp2RouteTimeoutPerRequestArgs) ToRouteSpecHttp2RouteTimeoutPerRequestOutputWithContext(ctx context.Context) RouteSpecHttp2RouteTimeoutPerRequestOutput { - return pulumi.ToOutputWithContext(ctx, i).(RouteSpecHttp2RouteTimeoutPerRequestOutput) +func (i RouteSpecHttp2RouteMatchHeaderMatchRangeArgs) ToRouteSpecHttp2RouteMatchHeaderMatchRangeOutputWithContext(ctx context.Context) RouteSpecHttp2RouteMatchHeaderMatchRangeOutput { + return pulumi.ToOutputWithContext(ctx, i).(RouteSpecHttp2RouteMatchHeaderMatchRangeOutput) } -func (i RouteSpecHttp2RouteTimeoutPerRequestArgs) ToRouteSpecHttp2RouteTimeoutPerRequestPtrOutput() RouteSpecHttp2RouteTimeoutPerRequestPtrOutput { - return i.ToRouteSpecHttp2RouteTimeoutPerRequestPtrOutputWithContext(context.Background()) +func (i RouteSpecHttp2RouteMatchHeaderMatchRangeArgs) ToRouteSpecHttp2RouteMatchHeaderMatchRangePtrOutput() RouteSpecHttp2RouteMatchHeaderMatchRangePtrOutput { + return i.ToRouteSpecHttp2RouteMatchHeaderMatchRangePtrOutputWithContext(context.Background()) } -func (i RouteSpecHttp2RouteTimeoutPerRequestArgs) ToRouteSpecHttp2RouteTimeoutPerRequestPtrOutputWithContext(ctx context.Context) RouteSpecHttp2RouteTimeoutPerRequestPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(RouteSpecHttp2RouteTimeoutPerRequestOutput).ToRouteSpecHttp2RouteTimeoutPerRequestPtrOutputWithContext(ctx) +func (i RouteSpecHttp2RouteMatchHeaderMatchRangeArgs) ToRouteSpecHttp2RouteMatchHeaderMatchRangePtrOutputWithContext(ctx context.Context) RouteSpecHttp2RouteMatchHeaderMatchRangePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(RouteSpecHttp2RouteMatchHeaderMatchRangeOutput).ToRouteSpecHttp2RouteMatchHeaderMatchRangePtrOutputWithContext(ctx) } -// RouteSpecHttp2RouteTimeoutPerRequestPtrInput is an input type that accepts RouteSpecHttp2RouteTimeoutPerRequestArgs, RouteSpecHttp2RouteTimeoutPerRequestPtr and RouteSpecHttp2RouteTimeoutPerRequestPtrOutput values. -// You can construct a concrete instance of `RouteSpecHttp2RouteTimeoutPerRequestPtrInput` via: +// RouteSpecHttp2RouteMatchHeaderMatchRangePtrInput is an input type that accepts RouteSpecHttp2RouteMatchHeaderMatchRangeArgs, RouteSpecHttp2RouteMatchHeaderMatchRangePtr and RouteSpecHttp2RouteMatchHeaderMatchRangePtrOutput values. +// You can construct a concrete instance of `RouteSpecHttp2RouteMatchHeaderMatchRangePtrInput` via: // -// RouteSpecHttp2RouteTimeoutPerRequestArgs{...} +// RouteSpecHttp2RouteMatchHeaderMatchRangeArgs{...} // // or: // // nil -type RouteSpecHttp2RouteTimeoutPerRequestPtrInput interface { +type RouteSpecHttp2RouteMatchHeaderMatchRangePtrInput interface { pulumi.Input - ToRouteSpecHttp2RouteTimeoutPerRequestPtrOutput() RouteSpecHttp2RouteTimeoutPerRequestPtrOutput - ToRouteSpecHttp2RouteTimeoutPerRequestPtrOutputWithContext(context.Context) RouteSpecHttp2RouteTimeoutPerRequestPtrOutput + ToRouteSpecHttp2RouteMatchHeaderMatchRangePtrOutput() RouteSpecHttp2RouteMatchHeaderMatchRangePtrOutput + ToRouteSpecHttp2RouteMatchHeaderMatchRangePtrOutputWithContext(context.Context) RouteSpecHttp2RouteMatchHeaderMatchRangePtrOutput } -type routeSpecHttp2RouteTimeoutPerRequestPtrType RouteSpecHttp2RouteTimeoutPerRequestArgs +type routeSpecHttp2RouteMatchHeaderMatchRangePtrType RouteSpecHttp2RouteMatchHeaderMatchRangeArgs -func RouteSpecHttp2RouteTimeoutPerRequestPtr(v *RouteSpecHttp2RouteTimeoutPerRequestArgs) RouteSpecHttp2RouteTimeoutPerRequestPtrInput { - return (*routeSpecHttp2RouteTimeoutPerRequestPtrType)(v) +func RouteSpecHttp2RouteMatchHeaderMatchRangePtr(v *RouteSpecHttp2RouteMatchHeaderMatchRangeArgs) RouteSpecHttp2RouteMatchHeaderMatchRangePtrInput { + return (*routeSpecHttp2RouteMatchHeaderMatchRangePtrType)(v) } -func (*routeSpecHttp2RouteTimeoutPerRequestPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**RouteSpecHttp2RouteTimeoutPerRequest)(nil)).Elem() +func (*routeSpecHttp2RouteMatchHeaderMatchRangePtrType) ElementType() reflect.Type { + return reflect.TypeOf((**RouteSpecHttp2RouteMatchHeaderMatchRange)(nil)).Elem() } -func (i *routeSpecHttp2RouteTimeoutPerRequestPtrType) ToRouteSpecHttp2RouteTimeoutPerRequestPtrOutput() RouteSpecHttp2RouteTimeoutPerRequestPtrOutput { - return i.ToRouteSpecHttp2RouteTimeoutPerRequestPtrOutputWithContext(context.Background()) +func (i *routeSpecHttp2RouteMatchHeaderMatchRangePtrType) ToRouteSpecHttp2RouteMatchHeaderMatchRangePtrOutput() RouteSpecHttp2RouteMatchHeaderMatchRangePtrOutput { + return i.ToRouteSpecHttp2RouteMatchHeaderMatchRangePtrOutputWithContext(context.Background()) } -func (i *routeSpecHttp2RouteTimeoutPerRequestPtrType) ToRouteSpecHttp2RouteTimeoutPerRequestPtrOutputWithContext(ctx context.Context) RouteSpecHttp2RouteTimeoutPerRequestPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(RouteSpecHttp2RouteTimeoutPerRequestPtrOutput) +func (i *routeSpecHttp2RouteMatchHeaderMatchRangePtrType) ToRouteSpecHttp2RouteMatchHeaderMatchRangePtrOutputWithContext(ctx context.Context) RouteSpecHttp2RouteMatchHeaderMatchRangePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(RouteSpecHttp2RouteMatchHeaderMatchRangePtrOutput) } -type RouteSpecHttp2RouteTimeoutPerRequestOutput struct{ *pulumi.OutputState } +type RouteSpecHttp2RouteMatchHeaderMatchRangeOutput struct{ *pulumi.OutputState } -func (RouteSpecHttp2RouteTimeoutPerRequestOutput) ElementType() reflect.Type { - return reflect.TypeOf((*RouteSpecHttp2RouteTimeoutPerRequest)(nil)).Elem() +func (RouteSpecHttp2RouteMatchHeaderMatchRangeOutput) ElementType() reflect.Type { + return reflect.TypeOf((*RouteSpecHttp2RouteMatchHeaderMatchRange)(nil)).Elem() } -func (o RouteSpecHttp2RouteTimeoutPerRequestOutput) ToRouteSpecHttp2RouteTimeoutPerRequestOutput() RouteSpecHttp2RouteTimeoutPerRequestOutput { +func (o RouteSpecHttp2RouteMatchHeaderMatchRangeOutput) ToRouteSpecHttp2RouteMatchHeaderMatchRangeOutput() RouteSpecHttp2RouteMatchHeaderMatchRangeOutput { return o } -func (o RouteSpecHttp2RouteTimeoutPerRequestOutput) ToRouteSpecHttp2RouteTimeoutPerRequestOutputWithContext(ctx context.Context) RouteSpecHttp2RouteTimeoutPerRequestOutput { +func (o RouteSpecHttp2RouteMatchHeaderMatchRangeOutput) ToRouteSpecHttp2RouteMatchHeaderMatchRangeOutputWithContext(ctx context.Context) RouteSpecHttp2RouteMatchHeaderMatchRangeOutput { return o } -func (o RouteSpecHttp2RouteTimeoutPerRequestOutput) ToRouteSpecHttp2RouteTimeoutPerRequestPtrOutput() RouteSpecHttp2RouteTimeoutPerRequestPtrOutput { - return o.ToRouteSpecHttp2RouteTimeoutPerRequestPtrOutputWithContext(context.Background()) +func (o RouteSpecHttp2RouteMatchHeaderMatchRangeOutput) ToRouteSpecHttp2RouteMatchHeaderMatchRangePtrOutput() RouteSpecHttp2RouteMatchHeaderMatchRangePtrOutput { + return o.ToRouteSpecHttp2RouteMatchHeaderMatchRangePtrOutputWithContext(context.Background()) } -func (o RouteSpecHttp2RouteTimeoutPerRequestOutput) ToRouteSpecHttp2RouteTimeoutPerRequestPtrOutputWithContext(ctx context.Context) RouteSpecHttp2RouteTimeoutPerRequestPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v RouteSpecHttp2RouteTimeoutPerRequest) *RouteSpecHttp2RouteTimeoutPerRequest { +func (o RouteSpecHttp2RouteMatchHeaderMatchRangeOutput) ToRouteSpecHttp2RouteMatchHeaderMatchRangePtrOutputWithContext(ctx context.Context) RouteSpecHttp2RouteMatchHeaderMatchRangePtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v RouteSpecHttp2RouteMatchHeaderMatchRange) *RouteSpecHttp2RouteMatchHeaderMatchRange { return &v - }).(RouteSpecHttp2RouteTimeoutPerRequestPtrOutput) + }).(RouteSpecHttp2RouteMatchHeaderMatchRangePtrOutput) } -// Unit of time. Valid values: `ms`, `s`. -func (o RouteSpecHttp2RouteTimeoutPerRequestOutput) Unit() pulumi.StringOutput { - return o.ApplyT(func(v RouteSpecHttp2RouteTimeoutPerRequest) string { return v.Unit }).(pulumi.StringOutput) +// End of the range. +func (o RouteSpecHttp2RouteMatchHeaderMatchRangeOutput) End() pulumi.IntOutput { + return o.ApplyT(func(v RouteSpecHttp2RouteMatchHeaderMatchRange) int { return v.End }).(pulumi.IntOutput) } -// Number of time units. Minimum value of `0`. -func (o RouteSpecHttp2RouteTimeoutPerRequestOutput) Value() pulumi.IntOutput { - return o.ApplyT(func(v RouteSpecHttp2RouteTimeoutPerRequest) int { return v.Value }).(pulumi.IntOutput) +// Start of the range. +func (o RouteSpecHttp2RouteMatchHeaderMatchRangeOutput) Start() pulumi.IntOutput { + return o.ApplyT(func(v RouteSpecHttp2RouteMatchHeaderMatchRange) int { return v.Start }).(pulumi.IntOutput) } -type RouteSpecHttp2RouteTimeoutPerRequestPtrOutput struct{ *pulumi.OutputState } +type RouteSpecHttp2RouteMatchHeaderMatchRangePtrOutput struct{ *pulumi.OutputState } -func (RouteSpecHttp2RouteTimeoutPerRequestPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**RouteSpecHttp2RouteTimeoutPerRequest)(nil)).Elem() +func (RouteSpecHttp2RouteMatchHeaderMatchRangePtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**RouteSpecHttp2RouteMatchHeaderMatchRange)(nil)).Elem() } -func (o RouteSpecHttp2RouteTimeoutPerRequestPtrOutput) ToRouteSpecHttp2RouteTimeoutPerRequestPtrOutput() RouteSpecHttp2RouteTimeoutPerRequestPtrOutput { +func (o RouteSpecHttp2RouteMatchHeaderMatchRangePtrOutput) ToRouteSpecHttp2RouteMatchHeaderMatchRangePtrOutput() RouteSpecHttp2RouteMatchHeaderMatchRangePtrOutput { return o } -func (o RouteSpecHttp2RouteTimeoutPerRequestPtrOutput) ToRouteSpecHttp2RouteTimeoutPerRequestPtrOutputWithContext(ctx context.Context) RouteSpecHttp2RouteTimeoutPerRequestPtrOutput { +func (o RouteSpecHttp2RouteMatchHeaderMatchRangePtrOutput) ToRouteSpecHttp2RouteMatchHeaderMatchRangePtrOutputWithContext(ctx context.Context) RouteSpecHttp2RouteMatchHeaderMatchRangePtrOutput { return o } -func (o RouteSpecHttp2RouteTimeoutPerRequestPtrOutput) Elem() RouteSpecHttp2RouteTimeoutPerRequestOutput { - return o.ApplyT(func(v *RouteSpecHttp2RouteTimeoutPerRequest) RouteSpecHttp2RouteTimeoutPerRequest { +func (o RouteSpecHttp2RouteMatchHeaderMatchRangePtrOutput) Elem() RouteSpecHttp2RouteMatchHeaderMatchRangeOutput { + return o.ApplyT(func(v *RouteSpecHttp2RouteMatchHeaderMatchRange) RouteSpecHttp2RouteMatchHeaderMatchRange { if v != nil { return *v } - var ret RouteSpecHttp2RouteTimeoutPerRequest + var ret RouteSpecHttp2RouteMatchHeaderMatchRange return ret - }).(RouteSpecHttp2RouteTimeoutPerRequestOutput) + }).(RouteSpecHttp2RouteMatchHeaderMatchRangeOutput) } -// Unit of time. Valid values: `ms`, `s`. -func (o RouteSpecHttp2RouteTimeoutPerRequestPtrOutput) Unit() pulumi.StringPtrOutput { - return o.ApplyT(func(v *RouteSpecHttp2RouteTimeoutPerRequest) *string { +// End of the range. +func (o RouteSpecHttp2RouteMatchHeaderMatchRangePtrOutput) End() pulumi.IntPtrOutput { + return o.ApplyT(func(v *RouteSpecHttp2RouteMatchHeaderMatchRange) *int { if v == nil { return nil } - return &v.Unit - }).(pulumi.StringPtrOutput) + return &v.End + }).(pulumi.IntPtrOutput) } -// Number of time units. Minimum value of `0`. -func (o RouteSpecHttp2RouteTimeoutPerRequestPtrOutput) Value() pulumi.IntPtrOutput { - return o.ApplyT(func(v *RouteSpecHttp2RouteTimeoutPerRequest) *int { +// Start of the range. +func (o RouteSpecHttp2RouteMatchHeaderMatchRangePtrOutput) Start() pulumi.IntPtrOutput { + return o.ApplyT(func(v *RouteSpecHttp2RouteMatchHeaderMatchRange) *int { if v == nil { return nil } - return &v.Value + return &v.Start }).(pulumi.IntPtrOutput) } -type RouteSpecHttpRoute struct { - // Action to take if a match is determined. - Action RouteSpecHttpRouteAction `pulumi:"action"` - // Criteria for determining an HTTP request match. - Match RouteSpecHttpRouteMatch `pulumi:"match"` - // Retry policy. - RetryPolicy *RouteSpecHttpRouteRetryPolicy `pulumi:"retryPolicy"` - // Types of timeouts. - Timeout *RouteSpecHttpRouteTimeout `pulumi:"timeout"` +type RouteSpecHttp2RouteMatchPath struct { + // Value sent by the client must match the specified value exactly. Must be between 1 and 255 characters in length. + Exact *string `pulumi:"exact"` + // Value sent by the client must include the specified characters. Must be between 1 and 255 characters in length. + Regex *string `pulumi:"regex"` } -// RouteSpecHttpRouteInput is an input type that accepts RouteSpecHttpRouteArgs and RouteSpecHttpRouteOutput values. -// You can construct a concrete instance of `RouteSpecHttpRouteInput` via: +// RouteSpecHttp2RouteMatchPathInput is an input type that accepts RouteSpecHttp2RouteMatchPathArgs and RouteSpecHttp2RouteMatchPathOutput values. +// You can construct a concrete instance of `RouteSpecHttp2RouteMatchPathInput` via: // -// RouteSpecHttpRouteArgs{...} -type RouteSpecHttpRouteInput interface { +// RouteSpecHttp2RouteMatchPathArgs{...} +type RouteSpecHttp2RouteMatchPathInput interface { pulumi.Input - ToRouteSpecHttpRouteOutput() RouteSpecHttpRouteOutput - ToRouteSpecHttpRouteOutputWithContext(context.Context) RouteSpecHttpRouteOutput + ToRouteSpecHttp2RouteMatchPathOutput() RouteSpecHttp2RouteMatchPathOutput + ToRouteSpecHttp2RouteMatchPathOutputWithContext(context.Context) RouteSpecHttp2RouteMatchPathOutput } -type RouteSpecHttpRouteArgs struct { - // Action to take if a match is determined. - Action RouteSpecHttpRouteActionInput `pulumi:"action"` - // Criteria for determining an HTTP request match. - Match RouteSpecHttpRouteMatchInput `pulumi:"match"` - // Retry policy. - RetryPolicy RouteSpecHttpRouteRetryPolicyPtrInput `pulumi:"retryPolicy"` - // Types of timeouts. - Timeout RouteSpecHttpRouteTimeoutPtrInput `pulumi:"timeout"` +type RouteSpecHttp2RouteMatchPathArgs struct { + // Value sent by the client must match the specified value exactly. Must be between 1 and 255 characters in length. + Exact pulumi.StringPtrInput `pulumi:"exact"` + // Value sent by the client must include the specified characters. Must be between 1 and 255 characters in length. + Regex pulumi.StringPtrInput `pulumi:"regex"` } -func (RouteSpecHttpRouteArgs) ElementType() reflect.Type { - return reflect.TypeOf((*RouteSpecHttpRoute)(nil)).Elem() +func (RouteSpecHttp2RouteMatchPathArgs) ElementType() reflect.Type { + return reflect.TypeOf((*RouteSpecHttp2RouteMatchPath)(nil)).Elem() } -func (i RouteSpecHttpRouteArgs) ToRouteSpecHttpRouteOutput() RouteSpecHttpRouteOutput { - return i.ToRouteSpecHttpRouteOutputWithContext(context.Background()) +func (i RouteSpecHttp2RouteMatchPathArgs) ToRouteSpecHttp2RouteMatchPathOutput() RouteSpecHttp2RouteMatchPathOutput { + return i.ToRouteSpecHttp2RouteMatchPathOutputWithContext(context.Background()) } -func (i RouteSpecHttpRouteArgs) ToRouteSpecHttpRouteOutputWithContext(ctx context.Context) RouteSpecHttpRouteOutput { - return pulumi.ToOutputWithContext(ctx, i).(RouteSpecHttpRouteOutput) +func (i RouteSpecHttp2RouteMatchPathArgs) ToRouteSpecHttp2RouteMatchPathOutputWithContext(ctx context.Context) RouteSpecHttp2RouteMatchPathOutput { + return pulumi.ToOutputWithContext(ctx, i).(RouteSpecHttp2RouteMatchPathOutput) } -func (i RouteSpecHttpRouteArgs) ToRouteSpecHttpRoutePtrOutput() RouteSpecHttpRoutePtrOutput { - return i.ToRouteSpecHttpRoutePtrOutputWithContext(context.Background()) +func (i RouteSpecHttp2RouteMatchPathArgs) ToRouteSpecHttp2RouteMatchPathPtrOutput() RouteSpecHttp2RouteMatchPathPtrOutput { + return i.ToRouteSpecHttp2RouteMatchPathPtrOutputWithContext(context.Background()) } -func (i RouteSpecHttpRouteArgs) ToRouteSpecHttpRoutePtrOutputWithContext(ctx context.Context) RouteSpecHttpRoutePtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(RouteSpecHttpRouteOutput).ToRouteSpecHttpRoutePtrOutputWithContext(ctx) +func (i RouteSpecHttp2RouteMatchPathArgs) ToRouteSpecHttp2RouteMatchPathPtrOutputWithContext(ctx context.Context) RouteSpecHttp2RouteMatchPathPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(RouteSpecHttp2RouteMatchPathOutput).ToRouteSpecHttp2RouteMatchPathPtrOutputWithContext(ctx) } -// RouteSpecHttpRoutePtrInput is an input type that accepts RouteSpecHttpRouteArgs, RouteSpecHttpRoutePtr and RouteSpecHttpRoutePtrOutput values. -// You can construct a concrete instance of `RouteSpecHttpRoutePtrInput` via: +// RouteSpecHttp2RouteMatchPathPtrInput is an input type that accepts RouteSpecHttp2RouteMatchPathArgs, RouteSpecHttp2RouteMatchPathPtr and RouteSpecHttp2RouteMatchPathPtrOutput values. +// You can construct a concrete instance of `RouteSpecHttp2RouteMatchPathPtrInput` via: // -// RouteSpecHttpRouteArgs{...} +// RouteSpecHttp2RouteMatchPathArgs{...} // // or: // // nil -type RouteSpecHttpRoutePtrInput interface { +type RouteSpecHttp2RouteMatchPathPtrInput interface { pulumi.Input - ToRouteSpecHttpRoutePtrOutput() RouteSpecHttpRoutePtrOutput - ToRouteSpecHttpRoutePtrOutputWithContext(context.Context) RouteSpecHttpRoutePtrOutput + ToRouteSpecHttp2RouteMatchPathPtrOutput() RouteSpecHttp2RouteMatchPathPtrOutput + ToRouteSpecHttp2RouteMatchPathPtrOutputWithContext(context.Context) RouteSpecHttp2RouteMatchPathPtrOutput } -type routeSpecHttpRoutePtrType RouteSpecHttpRouteArgs +type routeSpecHttp2RouteMatchPathPtrType RouteSpecHttp2RouteMatchPathArgs -func RouteSpecHttpRoutePtr(v *RouteSpecHttpRouteArgs) RouteSpecHttpRoutePtrInput { - return (*routeSpecHttpRoutePtrType)(v) +func RouteSpecHttp2RouteMatchPathPtr(v *RouteSpecHttp2RouteMatchPathArgs) RouteSpecHttp2RouteMatchPathPtrInput { + return (*routeSpecHttp2RouteMatchPathPtrType)(v) } -func (*routeSpecHttpRoutePtrType) ElementType() reflect.Type { - return reflect.TypeOf((**RouteSpecHttpRoute)(nil)).Elem() +func (*routeSpecHttp2RouteMatchPathPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**RouteSpecHttp2RouteMatchPath)(nil)).Elem() } -func (i *routeSpecHttpRoutePtrType) ToRouteSpecHttpRoutePtrOutput() RouteSpecHttpRoutePtrOutput { - return i.ToRouteSpecHttpRoutePtrOutputWithContext(context.Background()) +func (i *routeSpecHttp2RouteMatchPathPtrType) ToRouteSpecHttp2RouteMatchPathPtrOutput() RouteSpecHttp2RouteMatchPathPtrOutput { + return i.ToRouteSpecHttp2RouteMatchPathPtrOutputWithContext(context.Background()) } -func (i *routeSpecHttpRoutePtrType) ToRouteSpecHttpRoutePtrOutputWithContext(ctx context.Context) RouteSpecHttpRoutePtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(RouteSpecHttpRoutePtrOutput) +func (i *routeSpecHttp2RouteMatchPathPtrType) ToRouteSpecHttp2RouteMatchPathPtrOutputWithContext(ctx context.Context) RouteSpecHttp2RouteMatchPathPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(RouteSpecHttp2RouteMatchPathPtrOutput) } -type RouteSpecHttpRouteOutput struct{ *pulumi.OutputState } +type RouteSpecHttp2RouteMatchPathOutput struct{ *pulumi.OutputState } -func (RouteSpecHttpRouteOutput) ElementType() reflect.Type { - return reflect.TypeOf((*RouteSpecHttpRoute)(nil)).Elem() +func (RouteSpecHttp2RouteMatchPathOutput) ElementType() reflect.Type { + return reflect.TypeOf((*RouteSpecHttp2RouteMatchPath)(nil)).Elem() } -func (o RouteSpecHttpRouteOutput) ToRouteSpecHttpRouteOutput() RouteSpecHttpRouteOutput { +func (o RouteSpecHttp2RouteMatchPathOutput) ToRouteSpecHttp2RouteMatchPathOutput() RouteSpecHttp2RouteMatchPathOutput { return o } -func (o RouteSpecHttpRouteOutput) ToRouteSpecHttpRouteOutputWithContext(ctx context.Context) RouteSpecHttpRouteOutput { +func (o RouteSpecHttp2RouteMatchPathOutput) ToRouteSpecHttp2RouteMatchPathOutputWithContext(ctx context.Context) RouteSpecHttp2RouteMatchPathOutput { return o } -func (o RouteSpecHttpRouteOutput) ToRouteSpecHttpRoutePtrOutput() RouteSpecHttpRoutePtrOutput { - return o.ToRouteSpecHttpRoutePtrOutputWithContext(context.Background()) +func (o RouteSpecHttp2RouteMatchPathOutput) ToRouteSpecHttp2RouteMatchPathPtrOutput() RouteSpecHttp2RouteMatchPathPtrOutput { + return o.ToRouteSpecHttp2RouteMatchPathPtrOutputWithContext(context.Background()) } -func (o RouteSpecHttpRouteOutput) ToRouteSpecHttpRoutePtrOutputWithContext(ctx context.Context) RouteSpecHttpRoutePtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v RouteSpecHttpRoute) *RouteSpecHttpRoute { +func (o RouteSpecHttp2RouteMatchPathOutput) ToRouteSpecHttp2RouteMatchPathPtrOutputWithContext(ctx context.Context) RouteSpecHttp2RouteMatchPathPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v RouteSpecHttp2RouteMatchPath) *RouteSpecHttp2RouteMatchPath { return &v - }).(RouteSpecHttpRoutePtrOutput) -} - -// Action to take if a match is determined. -func (o RouteSpecHttpRouteOutput) Action() RouteSpecHttpRouteActionOutput { - return o.ApplyT(func(v RouteSpecHttpRoute) RouteSpecHttpRouteAction { return v.Action }).(RouteSpecHttpRouteActionOutput) -} - -// Criteria for determining an HTTP request match. -func (o RouteSpecHttpRouteOutput) Match() RouteSpecHttpRouteMatchOutput { - return o.ApplyT(func(v RouteSpecHttpRoute) RouteSpecHttpRouteMatch { return v.Match }).(RouteSpecHttpRouteMatchOutput) + }).(RouteSpecHttp2RouteMatchPathPtrOutput) } -// Retry policy. -func (o RouteSpecHttpRouteOutput) RetryPolicy() RouteSpecHttpRouteRetryPolicyPtrOutput { - return o.ApplyT(func(v RouteSpecHttpRoute) *RouteSpecHttpRouteRetryPolicy { return v.RetryPolicy }).(RouteSpecHttpRouteRetryPolicyPtrOutput) +// Value sent by the client must match the specified value exactly. Must be between 1 and 255 characters in length. +func (o RouteSpecHttp2RouteMatchPathOutput) Exact() pulumi.StringPtrOutput { + return o.ApplyT(func(v RouteSpecHttp2RouteMatchPath) *string { return v.Exact }).(pulumi.StringPtrOutput) } -// Types of timeouts. -func (o RouteSpecHttpRouteOutput) Timeout() RouteSpecHttpRouteTimeoutPtrOutput { - return o.ApplyT(func(v RouteSpecHttpRoute) *RouteSpecHttpRouteTimeout { return v.Timeout }).(RouteSpecHttpRouteTimeoutPtrOutput) +// Value sent by the client must include the specified characters. Must be between 1 and 255 characters in length. +func (o RouteSpecHttp2RouteMatchPathOutput) Regex() pulumi.StringPtrOutput { + return o.ApplyT(func(v RouteSpecHttp2RouteMatchPath) *string { return v.Regex }).(pulumi.StringPtrOutput) } -type RouteSpecHttpRoutePtrOutput struct{ *pulumi.OutputState } +type RouteSpecHttp2RouteMatchPathPtrOutput struct{ *pulumi.OutputState } -func (RouteSpecHttpRoutePtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**RouteSpecHttpRoute)(nil)).Elem() +func (RouteSpecHttp2RouteMatchPathPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**RouteSpecHttp2RouteMatchPath)(nil)).Elem() } -func (o RouteSpecHttpRoutePtrOutput) ToRouteSpecHttpRoutePtrOutput() RouteSpecHttpRoutePtrOutput { +func (o RouteSpecHttp2RouteMatchPathPtrOutput) ToRouteSpecHttp2RouteMatchPathPtrOutput() RouteSpecHttp2RouteMatchPathPtrOutput { return o } -func (o RouteSpecHttpRoutePtrOutput) ToRouteSpecHttpRoutePtrOutputWithContext(ctx context.Context) RouteSpecHttpRoutePtrOutput { +func (o RouteSpecHttp2RouteMatchPathPtrOutput) ToRouteSpecHttp2RouteMatchPathPtrOutputWithContext(ctx context.Context) RouteSpecHttp2RouteMatchPathPtrOutput { return o } -func (o RouteSpecHttpRoutePtrOutput) Elem() RouteSpecHttpRouteOutput { - return o.ApplyT(func(v *RouteSpecHttpRoute) RouteSpecHttpRoute { +func (o RouteSpecHttp2RouteMatchPathPtrOutput) Elem() RouteSpecHttp2RouteMatchPathOutput { + return o.ApplyT(func(v *RouteSpecHttp2RouteMatchPath) RouteSpecHttp2RouteMatchPath { if v != nil { return *v } - var ret RouteSpecHttpRoute + var ret RouteSpecHttp2RouteMatchPath return ret - }).(RouteSpecHttpRouteOutput) -} - -// Action to take if a match is determined. -func (o RouteSpecHttpRoutePtrOutput) Action() RouteSpecHttpRouteActionPtrOutput { - return o.ApplyT(func(v *RouteSpecHttpRoute) *RouteSpecHttpRouteAction { - if v == nil { - return nil - } - return &v.Action - }).(RouteSpecHttpRouteActionPtrOutput) -} - -// Criteria for determining an HTTP request match. -func (o RouteSpecHttpRoutePtrOutput) Match() RouteSpecHttpRouteMatchPtrOutput { - return o.ApplyT(func(v *RouteSpecHttpRoute) *RouteSpecHttpRouteMatch { - if v == nil { - return nil - } - return &v.Match - }).(RouteSpecHttpRouteMatchPtrOutput) + }).(RouteSpecHttp2RouteMatchPathOutput) } -// Retry policy. -func (o RouteSpecHttpRoutePtrOutput) RetryPolicy() RouteSpecHttpRouteRetryPolicyPtrOutput { - return o.ApplyT(func(v *RouteSpecHttpRoute) *RouteSpecHttpRouteRetryPolicy { +// Value sent by the client must match the specified value exactly. Must be between 1 and 255 characters in length. +func (o RouteSpecHttp2RouteMatchPathPtrOutput) Exact() pulumi.StringPtrOutput { + return o.ApplyT(func(v *RouteSpecHttp2RouteMatchPath) *string { if v == nil { return nil } - return v.RetryPolicy - }).(RouteSpecHttpRouteRetryPolicyPtrOutput) + return v.Exact + }).(pulumi.StringPtrOutput) } -// Types of timeouts. -func (o RouteSpecHttpRoutePtrOutput) Timeout() RouteSpecHttpRouteTimeoutPtrOutput { - return o.ApplyT(func(v *RouteSpecHttpRoute) *RouteSpecHttpRouteTimeout { +// Value sent by the client must include the specified characters. Must be between 1 and 255 characters in length. +func (o RouteSpecHttp2RouteMatchPathPtrOutput) Regex() pulumi.StringPtrOutput { + return o.ApplyT(func(v *RouteSpecHttp2RouteMatchPath) *string { if v == nil { return nil } - return v.Timeout - }).(RouteSpecHttpRouteTimeoutPtrOutput) + return v.Regex + }).(pulumi.StringPtrOutput) } -type RouteSpecHttpRouteAction struct { - // Targets that traffic is routed to when a request matches the route. - // You can specify one or more targets and their relative weights with which to distribute traffic. - WeightedTargets []RouteSpecHttpRouteActionWeightedTarget `pulumi:"weightedTargets"` +type RouteSpecHttp2RouteMatchQueryParameter struct { + // Criteria for determining an gRPC request match. + Match *RouteSpecHttp2RouteMatchQueryParameterMatch `pulumi:"match"` + // Name to use for the route. Must be between 1 and 255 characters in length. + Name string `pulumi:"name"` } -// RouteSpecHttpRouteActionInput is an input type that accepts RouteSpecHttpRouteActionArgs and RouteSpecHttpRouteActionOutput values. -// You can construct a concrete instance of `RouteSpecHttpRouteActionInput` via: +// RouteSpecHttp2RouteMatchQueryParameterInput is an input type that accepts RouteSpecHttp2RouteMatchQueryParameterArgs and RouteSpecHttp2RouteMatchQueryParameterOutput values. +// You can construct a concrete instance of `RouteSpecHttp2RouteMatchQueryParameterInput` via: // -// RouteSpecHttpRouteActionArgs{...} -type RouteSpecHttpRouteActionInput interface { +// RouteSpecHttp2RouteMatchQueryParameterArgs{...} +type RouteSpecHttp2RouteMatchQueryParameterInput interface { pulumi.Input - ToRouteSpecHttpRouteActionOutput() RouteSpecHttpRouteActionOutput - ToRouteSpecHttpRouteActionOutputWithContext(context.Context) RouteSpecHttpRouteActionOutput -} - -type RouteSpecHttpRouteActionArgs struct { - // Targets that traffic is routed to when a request matches the route. - // You can specify one or more targets and their relative weights with which to distribute traffic. - WeightedTargets RouteSpecHttpRouteActionWeightedTargetArrayInput `pulumi:"weightedTargets"` + ToRouteSpecHttp2RouteMatchQueryParameterOutput() RouteSpecHttp2RouteMatchQueryParameterOutput + ToRouteSpecHttp2RouteMatchQueryParameterOutputWithContext(context.Context) RouteSpecHttp2RouteMatchQueryParameterOutput } -func (RouteSpecHttpRouteActionArgs) ElementType() reflect.Type { - return reflect.TypeOf((*RouteSpecHttpRouteAction)(nil)).Elem() -} - -func (i RouteSpecHttpRouteActionArgs) ToRouteSpecHttpRouteActionOutput() RouteSpecHttpRouteActionOutput { - return i.ToRouteSpecHttpRouteActionOutputWithContext(context.Background()) +type RouteSpecHttp2RouteMatchQueryParameterArgs struct { + // Criteria for determining an gRPC request match. + Match RouteSpecHttp2RouteMatchQueryParameterMatchPtrInput `pulumi:"match"` + // Name to use for the route. Must be between 1 and 255 characters in length. + Name pulumi.StringInput `pulumi:"name"` } -func (i RouteSpecHttpRouteActionArgs) ToRouteSpecHttpRouteActionOutputWithContext(ctx context.Context) RouteSpecHttpRouteActionOutput { - return pulumi.ToOutputWithContext(ctx, i).(RouteSpecHttpRouteActionOutput) +func (RouteSpecHttp2RouteMatchQueryParameterArgs) ElementType() reflect.Type { + return reflect.TypeOf((*RouteSpecHttp2RouteMatchQueryParameter)(nil)).Elem() } -func (i RouteSpecHttpRouteActionArgs) ToRouteSpecHttpRouteActionPtrOutput() RouteSpecHttpRouteActionPtrOutput { - return i.ToRouteSpecHttpRouteActionPtrOutputWithContext(context.Background()) +func (i RouteSpecHttp2RouteMatchQueryParameterArgs) ToRouteSpecHttp2RouteMatchQueryParameterOutput() RouteSpecHttp2RouteMatchQueryParameterOutput { + return i.ToRouteSpecHttp2RouteMatchQueryParameterOutputWithContext(context.Background()) } -func (i RouteSpecHttpRouteActionArgs) ToRouteSpecHttpRouteActionPtrOutputWithContext(ctx context.Context) RouteSpecHttpRouteActionPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(RouteSpecHttpRouteActionOutput).ToRouteSpecHttpRouteActionPtrOutputWithContext(ctx) +func (i RouteSpecHttp2RouteMatchQueryParameterArgs) ToRouteSpecHttp2RouteMatchQueryParameterOutputWithContext(ctx context.Context) RouteSpecHttp2RouteMatchQueryParameterOutput { + return pulumi.ToOutputWithContext(ctx, i).(RouteSpecHttp2RouteMatchQueryParameterOutput) } -// RouteSpecHttpRouteActionPtrInput is an input type that accepts RouteSpecHttpRouteActionArgs, RouteSpecHttpRouteActionPtr and RouteSpecHttpRouteActionPtrOutput values. -// You can construct a concrete instance of `RouteSpecHttpRouteActionPtrInput` via: +// RouteSpecHttp2RouteMatchQueryParameterArrayInput is an input type that accepts RouteSpecHttp2RouteMatchQueryParameterArray and RouteSpecHttp2RouteMatchQueryParameterArrayOutput values. +// You can construct a concrete instance of `RouteSpecHttp2RouteMatchQueryParameterArrayInput` via: // -// RouteSpecHttpRouteActionArgs{...} -// -// or: -// -// nil -type RouteSpecHttpRouteActionPtrInput interface { +// RouteSpecHttp2RouteMatchQueryParameterArray{ RouteSpecHttp2RouteMatchQueryParameterArgs{...} } +type RouteSpecHttp2RouteMatchQueryParameterArrayInput interface { pulumi.Input - ToRouteSpecHttpRouteActionPtrOutput() RouteSpecHttpRouteActionPtrOutput - ToRouteSpecHttpRouteActionPtrOutputWithContext(context.Context) RouteSpecHttpRouteActionPtrOutput + ToRouteSpecHttp2RouteMatchQueryParameterArrayOutput() RouteSpecHttp2RouteMatchQueryParameterArrayOutput + ToRouteSpecHttp2RouteMatchQueryParameterArrayOutputWithContext(context.Context) RouteSpecHttp2RouteMatchQueryParameterArrayOutput } -type routeSpecHttpRouteActionPtrType RouteSpecHttpRouteActionArgs - -func RouteSpecHttpRouteActionPtr(v *RouteSpecHttpRouteActionArgs) RouteSpecHttpRouteActionPtrInput { - return (*routeSpecHttpRouteActionPtrType)(v) -} +type RouteSpecHttp2RouteMatchQueryParameterArray []RouteSpecHttp2RouteMatchQueryParameterInput -func (*routeSpecHttpRouteActionPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**RouteSpecHttpRouteAction)(nil)).Elem() +func (RouteSpecHttp2RouteMatchQueryParameterArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]RouteSpecHttp2RouteMatchQueryParameter)(nil)).Elem() } -func (i *routeSpecHttpRouteActionPtrType) ToRouteSpecHttpRouteActionPtrOutput() RouteSpecHttpRouteActionPtrOutput { - return i.ToRouteSpecHttpRouteActionPtrOutputWithContext(context.Background()) +func (i RouteSpecHttp2RouteMatchQueryParameterArray) ToRouteSpecHttp2RouteMatchQueryParameterArrayOutput() RouteSpecHttp2RouteMatchQueryParameterArrayOutput { + return i.ToRouteSpecHttp2RouteMatchQueryParameterArrayOutputWithContext(context.Background()) } -func (i *routeSpecHttpRouteActionPtrType) ToRouteSpecHttpRouteActionPtrOutputWithContext(ctx context.Context) RouteSpecHttpRouteActionPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(RouteSpecHttpRouteActionPtrOutput) +func (i RouteSpecHttp2RouteMatchQueryParameterArray) ToRouteSpecHttp2RouteMatchQueryParameterArrayOutputWithContext(ctx context.Context) RouteSpecHttp2RouteMatchQueryParameterArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(RouteSpecHttp2RouteMatchQueryParameterArrayOutput) } -type RouteSpecHttpRouteActionOutput struct{ *pulumi.OutputState } +type RouteSpecHttp2RouteMatchQueryParameterOutput struct{ *pulumi.OutputState } -func (RouteSpecHttpRouteActionOutput) ElementType() reflect.Type { - return reflect.TypeOf((*RouteSpecHttpRouteAction)(nil)).Elem() +func (RouteSpecHttp2RouteMatchQueryParameterOutput) ElementType() reflect.Type { + return reflect.TypeOf((*RouteSpecHttp2RouteMatchQueryParameter)(nil)).Elem() } -func (o RouteSpecHttpRouteActionOutput) ToRouteSpecHttpRouteActionOutput() RouteSpecHttpRouteActionOutput { +func (o RouteSpecHttp2RouteMatchQueryParameterOutput) ToRouteSpecHttp2RouteMatchQueryParameterOutput() RouteSpecHttp2RouteMatchQueryParameterOutput { return o } -func (o RouteSpecHttpRouteActionOutput) ToRouteSpecHttpRouteActionOutputWithContext(ctx context.Context) RouteSpecHttpRouteActionOutput { +func (o RouteSpecHttp2RouteMatchQueryParameterOutput) ToRouteSpecHttp2RouteMatchQueryParameterOutputWithContext(ctx context.Context) RouteSpecHttp2RouteMatchQueryParameterOutput { return o } -func (o RouteSpecHttpRouteActionOutput) ToRouteSpecHttpRouteActionPtrOutput() RouteSpecHttpRouteActionPtrOutput { - return o.ToRouteSpecHttpRouteActionPtrOutputWithContext(context.Background()) -} - -func (o RouteSpecHttpRouteActionOutput) ToRouteSpecHttpRouteActionPtrOutputWithContext(ctx context.Context) RouteSpecHttpRouteActionPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v RouteSpecHttpRouteAction) *RouteSpecHttpRouteAction { - return &v - }).(RouteSpecHttpRouteActionPtrOutput) +// Criteria for determining an gRPC request match. +func (o RouteSpecHttp2RouteMatchQueryParameterOutput) Match() RouteSpecHttp2RouteMatchQueryParameterMatchPtrOutput { + return o.ApplyT(func(v RouteSpecHttp2RouteMatchQueryParameter) *RouteSpecHttp2RouteMatchQueryParameterMatch { + return v.Match + }).(RouteSpecHttp2RouteMatchQueryParameterMatchPtrOutput) } -// Targets that traffic is routed to when a request matches the route. -// You can specify one or more targets and their relative weights with which to distribute traffic. -func (o RouteSpecHttpRouteActionOutput) WeightedTargets() RouteSpecHttpRouteActionWeightedTargetArrayOutput { - return o.ApplyT(func(v RouteSpecHttpRouteAction) []RouteSpecHttpRouteActionWeightedTarget { return v.WeightedTargets }).(RouteSpecHttpRouteActionWeightedTargetArrayOutput) +// Name to use for the route. Must be between 1 and 255 characters in length. +func (o RouteSpecHttp2RouteMatchQueryParameterOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v RouteSpecHttp2RouteMatchQueryParameter) string { return v.Name }).(pulumi.StringOutput) } -type RouteSpecHttpRouteActionPtrOutput struct{ *pulumi.OutputState } +type RouteSpecHttp2RouteMatchQueryParameterArrayOutput struct{ *pulumi.OutputState } -func (RouteSpecHttpRouteActionPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**RouteSpecHttpRouteAction)(nil)).Elem() +func (RouteSpecHttp2RouteMatchQueryParameterArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]RouteSpecHttp2RouteMatchQueryParameter)(nil)).Elem() } -func (o RouteSpecHttpRouteActionPtrOutput) ToRouteSpecHttpRouteActionPtrOutput() RouteSpecHttpRouteActionPtrOutput { +func (o RouteSpecHttp2RouteMatchQueryParameterArrayOutput) ToRouteSpecHttp2RouteMatchQueryParameterArrayOutput() RouteSpecHttp2RouteMatchQueryParameterArrayOutput { return o } -func (o RouteSpecHttpRouteActionPtrOutput) ToRouteSpecHttpRouteActionPtrOutputWithContext(ctx context.Context) RouteSpecHttpRouteActionPtrOutput { +func (o RouteSpecHttp2RouteMatchQueryParameterArrayOutput) ToRouteSpecHttp2RouteMatchQueryParameterArrayOutputWithContext(ctx context.Context) RouteSpecHttp2RouteMatchQueryParameterArrayOutput { return o } -func (o RouteSpecHttpRouteActionPtrOutput) Elem() RouteSpecHttpRouteActionOutput { - return o.ApplyT(func(v *RouteSpecHttpRouteAction) RouteSpecHttpRouteAction { - if v != nil { - return *v - } - var ret RouteSpecHttpRouteAction - return ret - }).(RouteSpecHttpRouteActionOutput) -} - -// Targets that traffic is routed to when a request matches the route. -// You can specify one or more targets and their relative weights with which to distribute traffic. -func (o RouteSpecHttpRouteActionPtrOutput) WeightedTargets() RouteSpecHttpRouteActionWeightedTargetArrayOutput { - return o.ApplyT(func(v *RouteSpecHttpRouteAction) []RouteSpecHttpRouteActionWeightedTarget { - if v == nil { - return nil - } - return v.WeightedTargets - }).(RouteSpecHttpRouteActionWeightedTargetArrayOutput) +func (o RouteSpecHttp2RouteMatchQueryParameterArrayOutput) Index(i pulumi.IntInput) RouteSpecHttp2RouteMatchQueryParameterOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) RouteSpecHttp2RouteMatchQueryParameter { + return vs[0].([]RouteSpecHttp2RouteMatchQueryParameter)[vs[1].(int)] + }).(RouteSpecHttp2RouteMatchQueryParameterOutput) } -type RouteSpecHttpRouteActionWeightedTarget struct { - // The targeted port of the weighted object. - Port *int `pulumi:"port"` - // Virtual node to associate with the weighted target. Must be between 1 and 255 characters in length. - VirtualNode string `pulumi:"virtualNode"` - // Relative weight of the weighted target. An integer between 0 and 100. - Weight int `pulumi:"weight"` +type RouteSpecHttp2RouteMatchQueryParameterMatch struct { + // The exact path to match on. + Exact *string `pulumi:"exact"` } -// RouteSpecHttpRouteActionWeightedTargetInput is an input type that accepts RouteSpecHttpRouteActionWeightedTargetArgs and RouteSpecHttpRouteActionWeightedTargetOutput values. -// You can construct a concrete instance of `RouteSpecHttpRouteActionWeightedTargetInput` via: +// RouteSpecHttp2RouteMatchQueryParameterMatchInput is an input type that accepts RouteSpecHttp2RouteMatchQueryParameterMatchArgs and RouteSpecHttp2RouteMatchQueryParameterMatchOutput values. +// You can construct a concrete instance of `RouteSpecHttp2RouteMatchQueryParameterMatchInput` via: // -// RouteSpecHttpRouteActionWeightedTargetArgs{...} -type RouteSpecHttpRouteActionWeightedTargetInput interface { +// RouteSpecHttp2RouteMatchQueryParameterMatchArgs{...} +type RouteSpecHttp2RouteMatchQueryParameterMatchInput interface { pulumi.Input - ToRouteSpecHttpRouteActionWeightedTargetOutput() RouteSpecHttpRouteActionWeightedTargetOutput - ToRouteSpecHttpRouteActionWeightedTargetOutputWithContext(context.Context) RouteSpecHttpRouteActionWeightedTargetOutput + ToRouteSpecHttp2RouteMatchQueryParameterMatchOutput() RouteSpecHttp2RouteMatchQueryParameterMatchOutput + ToRouteSpecHttp2RouteMatchQueryParameterMatchOutputWithContext(context.Context) RouteSpecHttp2RouteMatchQueryParameterMatchOutput } -type RouteSpecHttpRouteActionWeightedTargetArgs struct { - // The targeted port of the weighted object. - Port pulumi.IntPtrInput `pulumi:"port"` - // Virtual node to associate with the weighted target. Must be between 1 and 255 characters in length. - VirtualNode pulumi.StringInput `pulumi:"virtualNode"` - // Relative weight of the weighted target. An integer between 0 and 100. - Weight pulumi.IntInput `pulumi:"weight"` +type RouteSpecHttp2RouteMatchQueryParameterMatchArgs struct { + // The exact path to match on. + Exact pulumi.StringPtrInput `pulumi:"exact"` } -func (RouteSpecHttpRouteActionWeightedTargetArgs) ElementType() reflect.Type { - return reflect.TypeOf((*RouteSpecHttpRouteActionWeightedTarget)(nil)).Elem() +func (RouteSpecHttp2RouteMatchQueryParameterMatchArgs) ElementType() reflect.Type { + return reflect.TypeOf((*RouteSpecHttp2RouteMatchQueryParameterMatch)(nil)).Elem() } -func (i RouteSpecHttpRouteActionWeightedTargetArgs) ToRouteSpecHttpRouteActionWeightedTargetOutput() RouteSpecHttpRouteActionWeightedTargetOutput { - return i.ToRouteSpecHttpRouteActionWeightedTargetOutputWithContext(context.Background()) +func (i RouteSpecHttp2RouteMatchQueryParameterMatchArgs) ToRouteSpecHttp2RouteMatchQueryParameterMatchOutput() RouteSpecHttp2RouteMatchQueryParameterMatchOutput { + return i.ToRouteSpecHttp2RouteMatchQueryParameterMatchOutputWithContext(context.Background()) } -func (i RouteSpecHttpRouteActionWeightedTargetArgs) ToRouteSpecHttpRouteActionWeightedTargetOutputWithContext(ctx context.Context) RouteSpecHttpRouteActionWeightedTargetOutput { - return pulumi.ToOutputWithContext(ctx, i).(RouteSpecHttpRouteActionWeightedTargetOutput) +func (i RouteSpecHttp2RouteMatchQueryParameterMatchArgs) ToRouteSpecHttp2RouteMatchQueryParameterMatchOutputWithContext(ctx context.Context) RouteSpecHttp2RouteMatchQueryParameterMatchOutput { + return pulumi.ToOutputWithContext(ctx, i).(RouteSpecHttp2RouteMatchQueryParameterMatchOutput) } -// RouteSpecHttpRouteActionWeightedTargetArrayInput is an input type that accepts RouteSpecHttpRouteActionWeightedTargetArray and RouteSpecHttpRouteActionWeightedTargetArrayOutput values. -// You can construct a concrete instance of `RouteSpecHttpRouteActionWeightedTargetArrayInput` via: +func (i RouteSpecHttp2RouteMatchQueryParameterMatchArgs) ToRouteSpecHttp2RouteMatchQueryParameterMatchPtrOutput() RouteSpecHttp2RouteMatchQueryParameterMatchPtrOutput { + return i.ToRouteSpecHttp2RouteMatchQueryParameterMatchPtrOutputWithContext(context.Background()) +} + +func (i RouteSpecHttp2RouteMatchQueryParameterMatchArgs) ToRouteSpecHttp2RouteMatchQueryParameterMatchPtrOutputWithContext(ctx context.Context) RouteSpecHttp2RouteMatchQueryParameterMatchPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(RouteSpecHttp2RouteMatchQueryParameterMatchOutput).ToRouteSpecHttp2RouteMatchQueryParameterMatchPtrOutputWithContext(ctx) +} + +// RouteSpecHttp2RouteMatchQueryParameterMatchPtrInput is an input type that accepts RouteSpecHttp2RouteMatchQueryParameterMatchArgs, RouteSpecHttp2RouteMatchQueryParameterMatchPtr and RouteSpecHttp2RouteMatchQueryParameterMatchPtrOutput values. +// You can construct a concrete instance of `RouteSpecHttp2RouteMatchQueryParameterMatchPtrInput` via: // -// RouteSpecHttpRouteActionWeightedTargetArray{ RouteSpecHttpRouteActionWeightedTargetArgs{...} } -type RouteSpecHttpRouteActionWeightedTargetArrayInput interface { +// RouteSpecHttp2RouteMatchQueryParameterMatchArgs{...} +// +// or: +// +// nil +type RouteSpecHttp2RouteMatchQueryParameterMatchPtrInput interface { pulumi.Input - ToRouteSpecHttpRouteActionWeightedTargetArrayOutput() RouteSpecHttpRouteActionWeightedTargetArrayOutput - ToRouteSpecHttpRouteActionWeightedTargetArrayOutputWithContext(context.Context) RouteSpecHttpRouteActionWeightedTargetArrayOutput + ToRouteSpecHttp2RouteMatchQueryParameterMatchPtrOutput() RouteSpecHttp2RouteMatchQueryParameterMatchPtrOutput + ToRouteSpecHttp2RouteMatchQueryParameterMatchPtrOutputWithContext(context.Context) RouteSpecHttp2RouteMatchQueryParameterMatchPtrOutput } -type RouteSpecHttpRouteActionWeightedTargetArray []RouteSpecHttpRouteActionWeightedTargetInput +type routeSpecHttp2RouteMatchQueryParameterMatchPtrType RouteSpecHttp2RouteMatchQueryParameterMatchArgs -func (RouteSpecHttpRouteActionWeightedTargetArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]RouteSpecHttpRouteActionWeightedTarget)(nil)).Elem() +func RouteSpecHttp2RouteMatchQueryParameterMatchPtr(v *RouteSpecHttp2RouteMatchQueryParameterMatchArgs) RouteSpecHttp2RouteMatchQueryParameterMatchPtrInput { + return (*routeSpecHttp2RouteMatchQueryParameterMatchPtrType)(v) } -func (i RouteSpecHttpRouteActionWeightedTargetArray) ToRouteSpecHttpRouteActionWeightedTargetArrayOutput() RouteSpecHttpRouteActionWeightedTargetArrayOutput { - return i.ToRouteSpecHttpRouteActionWeightedTargetArrayOutputWithContext(context.Background()) +func (*routeSpecHttp2RouteMatchQueryParameterMatchPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**RouteSpecHttp2RouteMatchQueryParameterMatch)(nil)).Elem() } -func (i RouteSpecHttpRouteActionWeightedTargetArray) ToRouteSpecHttpRouteActionWeightedTargetArrayOutputWithContext(ctx context.Context) RouteSpecHttpRouteActionWeightedTargetArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(RouteSpecHttpRouteActionWeightedTargetArrayOutput) +func (i *routeSpecHttp2RouteMatchQueryParameterMatchPtrType) ToRouteSpecHttp2RouteMatchQueryParameterMatchPtrOutput() RouteSpecHttp2RouteMatchQueryParameterMatchPtrOutput { + return i.ToRouteSpecHttp2RouteMatchQueryParameterMatchPtrOutputWithContext(context.Background()) } -type RouteSpecHttpRouteActionWeightedTargetOutput struct{ *pulumi.OutputState } +func (i *routeSpecHttp2RouteMatchQueryParameterMatchPtrType) ToRouteSpecHttp2RouteMatchQueryParameterMatchPtrOutputWithContext(ctx context.Context) RouteSpecHttp2RouteMatchQueryParameterMatchPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(RouteSpecHttp2RouteMatchQueryParameterMatchPtrOutput) +} -func (RouteSpecHttpRouteActionWeightedTargetOutput) ElementType() reflect.Type { - return reflect.TypeOf((*RouteSpecHttpRouteActionWeightedTarget)(nil)).Elem() +type RouteSpecHttp2RouteMatchQueryParameterMatchOutput struct{ *pulumi.OutputState } + +func (RouteSpecHttp2RouteMatchQueryParameterMatchOutput) ElementType() reflect.Type { + return reflect.TypeOf((*RouteSpecHttp2RouteMatchQueryParameterMatch)(nil)).Elem() } -func (o RouteSpecHttpRouteActionWeightedTargetOutput) ToRouteSpecHttpRouteActionWeightedTargetOutput() RouteSpecHttpRouteActionWeightedTargetOutput { +func (o RouteSpecHttp2RouteMatchQueryParameterMatchOutput) ToRouteSpecHttp2RouteMatchQueryParameterMatchOutput() RouteSpecHttp2RouteMatchQueryParameterMatchOutput { return o } -func (o RouteSpecHttpRouteActionWeightedTargetOutput) ToRouteSpecHttpRouteActionWeightedTargetOutputWithContext(ctx context.Context) RouteSpecHttpRouteActionWeightedTargetOutput { +func (o RouteSpecHttp2RouteMatchQueryParameterMatchOutput) ToRouteSpecHttp2RouteMatchQueryParameterMatchOutputWithContext(ctx context.Context) RouteSpecHttp2RouteMatchQueryParameterMatchOutput { return o } -// The targeted port of the weighted object. -func (o RouteSpecHttpRouteActionWeightedTargetOutput) Port() pulumi.IntPtrOutput { - return o.ApplyT(func(v RouteSpecHttpRouteActionWeightedTarget) *int { return v.Port }).(pulumi.IntPtrOutput) +func (o RouteSpecHttp2RouteMatchQueryParameterMatchOutput) ToRouteSpecHttp2RouteMatchQueryParameterMatchPtrOutput() RouteSpecHttp2RouteMatchQueryParameterMatchPtrOutput { + return o.ToRouteSpecHttp2RouteMatchQueryParameterMatchPtrOutputWithContext(context.Background()) } -// Virtual node to associate with the weighted target. Must be between 1 and 255 characters in length. -func (o RouteSpecHttpRouteActionWeightedTargetOutput) VirtualNode() pulumi.StringOutput { - return o.ApplyT(func(v RouteSpecHttpRouteActionWeightedTarget) string { return v.VirtualNode }).(pulumi.StringOutput) +func (o RouteSpecHttp2RouteMatchQueryParameterMatchOutput) ToRouteSpecHttp2RouteMatchQueryParameterMatchPtrOutputWithContext(ctx context.Context) RouteSpecHttp2RouteMatchQueryParameterMatchPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v RouteSpecHttp2RouteMatchQueryParameterMatch) *RouteSpecHttp2RouteMatchQueryParameterMatch { + return &v + }).(RouteSpecHttp2RouteMatchQueryParameterMatchPtrOutput) } -// Relative weight of the weighted target. An integer between 0 and 100. -func (o RouteSpecHttpRouteActionWeightedTargetOutput) Weight() pulumi.IntOutput { - return o.ApplyT(func(v RouteSpecHttpRouteActionWeightedTarget) int { return v.Weight }).(pulumi.IntOutput) +// The exact path to match on. +func (o RouteSpecHttp2RouteMatchQueryParameterMatchOutput) Exact() pulumi.StringPtrOutput { + return o.ApplyT(func(v RouteSpecHttp2RouteMatchQueryParameterMatch) *string { return v.Exact }).(pulumi.StringPtrOutput) } -type RouteSpecHttpRouteActionWeightedTargetArrayOutput struct{ *pulumi.OutputState } +type RouteSpecHttp2RouteMatchQueryParameterMatchPtrOutput struct{ *pulumi.OutputState } -func (RouteSpecHttpRouteActionWeightedTargetArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]RouteSpecHttpRouteActionWeightedTarget)(nil)).Elem() +func (RouteSpecHttp2RouteMatchQueryParameterMatchPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**RouteSpecHttp2RouteMatchQueryParameterMatch)(nil)).Elem() } -func (o RouteSpecHttpRouteActionWeightedTargetArrayOutput) ToRouteSpecHttpRouteActionWeightedTargetArrayOutput() RouteSpecHttpRouteActionWeightedTargetArrayOutput { +func (o RouteSpecHttp2RouteMatchQueryParameterMatchPtrOutput) ToRouteSpecHttp2RouteMatchQueryParameterMatchPtrOutput() RouteSpecHttp2RouteMatchQueryParameterMatchPtrOutput { return o } -func (o RouteSpecHttpRouteActionWeightedTargetArrayOutput) ToRouteSpecHttpRouteActionWeightedTargetArrayOutputWithContext(ctx context.Context) RouteSpecHttpRouteActionWeightedTargetArrayOutput { +func (o RouteSpecHttp2RouteMatchQueryParameterMatchPtrOutput) ToRouteSpecHttp2RouteMatchQueryParameterMatchPtrOutputWithContext(ctx context.Context) RouteSpecHttp2RouteMatchQueryParameterMatchPtrOutput { return o } -func (o RouteSpecHttpRouteActionWeightedTargetArrayOutput) Index(i pulumi.IntInput) RouteSpecHttpRouteActionWeightedTargetOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) RouteSpecHttpRouteActionWeightedTarget { - return vs[0].([]RouteSpecHttpRouteActionWeightedTarget)[vs[1].(int)] - }).(RouteSpecHttpRouteActionWeightedTargetOutput) +func (o RouteSpecHttp2RouteMatchQueryParameterMatchPtrOutput) Elem() RouteSpecHttp2RouteMatchQueryParameterMatchOutput { + return o.ApplyT(func(v *RouteSpecHttp2RouteMatchQueryParameterMatch) RouteSpecHttp2RouteMatchQueryParameterMatch { + if v != nil { + return *v + } + var ret RouteSpecHttp2RouteMatchQueryParameterMatch + return ret + }).(RouteSpecHttp2RouteMatchQueryParameterMatchOutput) } -type RouteSpecHttpRouteMatch struct { - // Client request headers to match on. - Headers []RouteSpecHttpRouteMatchHeader `pulumi:"headers"` - // Client request header method to match on. Valid values: `GET`, `HEAD`, `POST`, `PUT`, `DELETE`, `CONNECT`, `OPTIONS`, `TRACE`, `PATCH`. - Method *string `pulumi:"method"` - // The port number to match from the request. - Port *int `pulumi:"port"` - // Value sent by the client must begin with the specified characters. Must be between 1 and 255 characters in length. - // This parameter must always start with /, which by itself matches all requests to the virtual router service name. - Prefix string `pulumi:"prefix"` - // Client request header scheme to match on. Valid values: `http`, `https`. - Scheme *string `pulumi:"scheme"` +// The exact path to match on. +func (o RouteSpecHttp2RouteMatchQueryParameterMatchPtrOutput) Exact() pulumi.StringPtrOutput { + return o.ApplyT(func(v *RouteSpecHttp2RouteMatchQueryParameterMatch) *string { + if v == nil { + return nil + } + return v.Exact + }).(pulumi.StringPtrOutput) } -// RouteSpecHttpRouteMatchInput is an input type that accepts RouteSpecHttpRouteMatchArgs and RouteSpecHttpRouteMatchOutput values. -// You can construct a concrete instance of `RouteSpecHttpRouteMatchInput` via: +type RouteSpecHttp2RouteRetryPolicy struct { + // List of HTTP retry events. + // Valid values: `client-error` (HTTP status code 409), `gateway-error` (HTTP status codes 502, 503, and 504), `server-error` (HTTP status codes 500, 501, 502, 503, 504, 505, 506, 507, 508, 510, and 511), `stream-error` (retry on refused stream). + // Valid values: `client-error` (HTTP status code 409), `gateway-error` (HTTP status codes 502, 503, and 504), `server-error` (HTTP status codes 500, 501, 502, 503, 504, 505, 506, 507, 508, 510, and 511), `stream-error` (retry on refused stream). + HttpRetryEvents []string `pulumi:"httpRetryEvents"` + // Maximum number of retries. + MaxRetries int `pulumi:"maxRetries"` + // Per-retry timeout. + PerRetryTimeout RouteSpecHttp2RouteRetryPolicyPerRetryTimeout `pulumi:"perRetryTimeout"` + // List of TCP retry events. The only valid value is `connection-error`. + TcpRetryEvents []string `pulumi:"tcpRetryEvents"` +} + +// RouteSpecHttp2RouteRetryPolicyInput is an input type that accepts RouteSpecHttp2RouteRetryPolicyArgs and RouteSpecHttp2RouteRetryPolicyOutput values. +// You can construct a concrete instance of `RouteSpecHttp2RouteRetryPolicyInput` via: // -// RouteSpecHttpRouteMatchArgs{...} -type RouteSpecHttpRouteMatchInput interface { +// RouteSpecHttp2RouteRetryPolicyArgs{...} +type RouteSpecHttp2RouteRetryPolicyInput interface { pulumi.Input - ToRouteSpecHttpRouteMatchOutput() RouteSpecHttpRouteMatchOutput - ToRouteSpecHttpRouteMatchOutputWithContext(context.Context) RouteSpecHttpRouteMatchOutput + ToRouteSpecHttp2RouteRetryPolicyOutput() RouteSpecHttp2RouteRetryPolicyOutput + ToRouteSpecHttp2RouteRetryPolicyOutputWithContext(context.Context) RouteSpecHttp2RouteRetryPolicyOutput } -type RouteSpecHttpRouteMatchArgs struct { - // Client request headers to match on. - Headers RouteSpecHttpRouteMatchHeaderArrayInput `pulumi:"headers"` - // Client request header method to match on. Valid values: `GET`, `HEAD`, `POST`, `PUT`, `DELETE`, `CONNECT`, `OPTIONS`, `TRACE`, `PATCH`. - Method pulumi.StringPtrInput `pulumi:"method"` - // The port number to match from the request. - Port pulumi.IntPtrInput `pulumi:"port"` - // Value sent by the client must begin with the specified characters. Must be between 1 and 255 characters in length. - // This parameter must always start with /, which by itself matches all requests to the virtual router service name. - Prefix pulumi.StringInput `pulumi:"prefix"` - // Client request header scheme to match on. Valid values: `http`, `https`. - Scheme pulumi.StringPtrInput `pulumi:"scheme"` +type RouteSpecHttp2RouteRetryPolicyArgs struct { + // List of HTTP retry events. + // Valid values: `client-error` (HTTP status code 409), `gateway-error` (HTTP status codes 502, 503, and 504), `server-error` (HTTP status codes 500, 501, 502, 503, 504, 505, 506, 507, 508, 510, and 511), `stream-error` (retry on refused stream). + // Valid values: `client-error` (HTTP status code 409), `gateway-error` (HTTP status codes 502, 503, and 504), `server-error` (HTTP status codes 500, 501, 502, 503, 504, 505, 506, 507, 508, 510, and 511), `stream-error` (retry on refused stream). + HttpRetryEvents pulumi.StringArrayInput `pulumi:"httpRetryEvents"` + // Maximum number of retries. + MaxRetries pulumi.IntInput `pulumi:"maxRetries"` + // Per-retry timeout. + PerRetryTimeout RouteSpecHttp2RouteRetryPolicyPerRetryTimeoutInput `pulumi:"perRetryTimeout"` + // List of TCP retry events. The only valid value is `connection-error`. + TcpRetryEvents pulumi.StringArrayInput `pulumi:"tcpRetryEvents"` } -func (RouteSpecHttpRouteMatchArgs) ElementType() reflect.Type { - return reflect.TypeOf((*RouteSpecHttpRouteMatch)(nil)).Elem() +func (RouteSpecHttp2RouteRetryPolicyArgs) ElementType() reflect.Type { + return reflect.TypeOf((*RouteSpecHttp2RouteRetryPolicy)(nil)).Elem() } -func (i RouteSpecHttpRouteMatchArgs) ToRouteSpecHttpRouteMatchOutput() RouteSpecHttpRouteMatchOutput { - return i.ToRouteSpecHttpRouteMatchOutputWithContext(context.Background()) +func (i RouteSpecHttp2RouteRetryPolicyArgs) ToRouteSpecHttp2RouteRetryPolicyOutput() RouteSpecHttp2RouteRetryPolicyOutput { + return i.ToRouteSpecHttp2RouteRetryPolicyOutputWithContext(context.Background()) } -func (i RouteSpecHttpRouteMatchArgs) ToRouteSpecHttpRouteMatchOutputWithContext(ctx context.Context) RouteSpecHttpRouteMatchOutput { - return pulumi.ToOutputWithContext(ctx, i).(RouteSpecHttpRouteMatchOutput) +func (i RouteSpecHttp2RouteRetryPolicyArgs) ToRouteSpecHttp2RouteRetryPolicyOutputWithContext(ctx context.Context) RouteSpecHttp2RouteRetryPolicyOutput { + return pulumi.ToOutputWithContext(ctx, i).(RouteSpecHttp2RouteRetryPolicyOutput) } -func (i RouteSpecHttpRouteMatchArgs) ToRouteSpecHttpRouteMatchPtrOutput() RouteSpecHttpRouteMatchPtrOutput { - return i.ToRouteSpecHttpRouteMatchPtrOutputWithContext(context.Background()) +func (i RouteSpecHttp2RouteRetryPolicyArgs) ToRouteSpecHttp2RouteRetryPolicyPtrOutput() RouteSpecHttp2RouteRetryPolicyPtrOutput { + return i.ToRouteSpecHttp2RouteRetryPolicyPtrOutputWithContext(context.Background()) } -func (i RouteSpecHttpRouteMatchArgs) ToRouteSpecHttpRouteMatchPtrOutputWithContext(ctx context.Context) RouteSpecHttpRouteMatchPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(RouteSpecHttpRouteMatchOutput).ToRouteSpecHttpRouteMatchPtrOutputWithContext(ctx) +func (i RouteSpecHttp2RouteRetryPolicyArgs) ToRouteSpecHttp2RouteRetryPolicyPtrOutputWithContext(ctx context.Context) RouteSpecHttp2RouteRetryPolicyPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(RouteSpecHttp2RouteRetryPolicyOutput).ToRouteSpecHttp2RouteRetryPolicyPtrOutputWithContext(ctx) } -// RouteSpecHttpRouteMatchPtrInput is an input type that accepts RouteSpecHttpRouteMatchArgs, RouteSpecHttpRouteMatchPtr and RouteSpecHttpRouteMatchPtrOutput values. -// You can construct a concrete instance of `RouteSpecHttpRouteMatchPtrInput` via: +// RouteSpecHttp2RouteRetryPolicyPtrInput is an input type that accepts RouteSpecHttp2RouteRetryPolicyArgs, RouteSpecHttp2RouteRetryPolicyPtr and RouteSpecHttp2RouteRetryPolicyPtrOutput values. +// You can construct a concrete instance of `RouteSpecHttp2RouteRetryPolicyPtrInput` via: // -// RouteSpecHttpRouteMatchArgs{...} +// RouteSpecHttp2RouteRetryPolicyArgs{...} // // or: // // nil -type RouteSpecHttpRouteMatchPtrInput interface { +type RouteSpecHttp2RouteRetryPolicyPtrInput interface { pulumi.Input - ToRouteSpecHttpRouteMatchPtrOutput() RouteSpecHttpRouteMatchPtrOutput - ToRouteSpecHttpRouteMatchPtrOutputWithContext(context.Context) RouteSpecHttpRouteMatchPtrOutput + ToRouteSpecHttp2RouteRetryPolicyPtrOutput() RouteSpecHttp2RouteRetryPolicyPtrOutput + ToRouteSpecHttp2RouteRetryPolicyPtrOutputWithContext(context.Context) RouteSpecHttp2RouteRetryPolicyPtrOutput } -type routeSpecHttpRouteMatchPtrType RouteSpecHttpRouteMatchArgs +type routeSpecHttp2RouteRetryPolicyPtrType RouteSpecHttp2RouteRetryPolicyArgs -func RouteSpecHttpRouteMatchPtr(v *RouteSpecHttpRouteMatchArgs) RouteSpecHttpRouteMatchPtrInput { - return (*routeSpecHttpRouteMatchPtrType)(v) +func RouteSpecHttp2RouteRetryPolicyPtr(v *RouteSpecHttp2RouteRetryPolicyArgs) RouteSpecHttp2RouteRetryPolicyPtrInput { + return (*routeSpecHttp2RouteRetryPolicyPtrType)(v) } -func (*routeSpecHttpRouteMatchPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**RouteSpecHttpRouteMatch)(nil)).Elem() +func (*routeSpecHttp2RouteRetryPolicyPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**RouteSpecHttp2RouteRetryPolicy)(nil)).Elem() } -func (i *routeSpecHttpRouteMatchPtrType) ToRouteSpecHttpRouteMatchPtrOutput() RouteSpecHttpRouteMatchPtrOutput { - return i.ToRouteSpecHttpRouteMatchPtrOutputWithContext(context.Background()) +func (i *routeSpecHttp2RouteRetryPolicyPtrType) ToRouteSpecHttp2RouteRetryPolicyPtrOutput() RouteSpecHttp2RouteRetryPolicyPtrOutput { + return i.ToRouteSpecHttp2RouteRetryPolicyPtrOutputWithContext(context.Background()) } -func (i *routeSpecHttpRouteMatchPtrType) ToRouteSpecHttpRouteMatchPtrOutputWithContext(ctx context.Context) RouteSpecHttpRouteMatchPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(RouteSpecHttpRouteMatchPtrOutput) +func (i *routeSpecHttp2RouteRetryPolicyPtrType) ToRouteSpecHttp2RouteRetryPolicyPtrOutputWithContext(ctx context.Context) RouteSpecHttp2RouteRetryPolicyPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(RouteSpecHttp2RouteRetryPolicyPtrOutput) } -type RouteSpecHttpRouteMatchOutput struct{ *pulumi.OutputState } +type RouteSpecHttp2RouteRetryPolicyOutput struct{ *pulumi.OutputState } -func (RouteSpecHttpRouteMatchOutput) ElementType() reflect.Type { - return reflect.TypeOf((*RouteSpecHttpRouteMatch)(nil)).Elem() +func (RouteSpecHttp2RouteRetryPolicyOutput) ElementType() reflect.Type { + return reflect.TypeOf((*RouteSpecHttp2RouteRetryPolicy)(nil)).Elem() } -func (o RouteSpecHttpRouteMatchOutput) ToRouteSpecHttpRouteMatchOutput() RouteSpecHttpRouteMatchOutput { +func (o RouteSpecHttp2RouteRetryPolicyOutput) ToRouteSpecHttp2RouteRetryPolicyOutput() RouteSpecHttp2RouteRetryPolicyOutput { return o } -func (o RouteSpecHttpRouteMatchOutput) ToRouteSpecHttpRouteMatchOutputWithContext(ctx context.Context) RouteSpecHttpRouteMatchOutput { +func (o RouteSpecHttp2RouteRetryPolicyOutput) ToRouteSpecHttp2RouteRetryPolicyOutputWithContext(ctx context.Context) RouteSpecHttp2RouteRetryPolicyOutput { return o } -func (o RouteSpecHttpRouteMatchOutput) ToRouteSpecHttpRouteMatchPtrOutput() RouteSpecHttpRouteMatchPtrOutput { - return o.ToRouteSpecHttpRouteMatchPtrOutputWithContext(context.Background()) +func (o RouteSpecHttp2RouteRetryPolicyOutput) ToRouteSpecHttp2RouteRetryPolicyPtrOutput() RouteSpecHttp2RouteRetryPolicyPtrOutput { + return o.ToRouteSpecHttp2RouteRetryPolicyPtrOutputWithContext(context.Background()) } -func (o RouteSpecHttpRouteMatchOutput) ToRouteSpecHttpRouteMatchPtrOutputWithContext(ctx context.Context) RouteSpecHttpRouteMatchPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v RouteSpecHttpRouteMatch) *RouteSpecHttpRouteMatch { +func (o RouteSpecHttp2RouteRetryPolicyOutput) ToRouteSpecHttp2RouteRetryPolicyPtrOutputWithContext(ctx context.Context) RouteSpecHttp2RouteRetryPolicyPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v RouteSpecHttp2RouteRetryPolicy) *RouteSpecHttp2RouteRetryPolicy { return &v - }).(RouteSpecHttpRouteMatchPtrOutput) -} - -// Client request headers to match on. -func (o RouteSpecHttpRouteMatchOutput) Headers() RouteSpecHttpRouteMatchHeaderArrayOutput { - return o.ApplyT(func(v RouteSpecHttpRouteMatch) []RouteSpecHttpRouteMatchHeader { return v.Headers }).(RouteSpecHttpRouteMatchHeaderArrayOutput) + }).(RouteSpecHttp2RouteRetryPolicyPtrOutput) } -// Client request header method to match on. Valid values: `GET`, `HEAD`, `POST`, `PUT`, `DELETE`, `CONNECT`, `OPTIONS`, `TRACE`, `PATCH`. -func (o RouteSpecHttpRouteMatchOutput) Method() pulumi.StringPtrOutput { - return o.ApplyT(func(v RouteSpecHttpRouteMatch) *string { return v.Method }).(pulumi.StringPtrOutput) +// List of HTTP retry events. +// Valid values: `client-error` (HTTP status code 409), `gateway-error` (HTTP status codes 502, 503, and 504), `server-error` (HTTP status codes 500, 501, 502, 503, 504, 505, 506, 507, 508, 510, and 511), `stream-error` (retry on refused stream). +// Valid values: `client-error` (HTTP status code 409), `gateway-error` (HTTP status codes 502, 503, and 504), `server-error` (HTTP status codes 500, 501, 502, 503, 504, 505, 506, 507, 508, 510, and 511), `stream-error` (retry on refused stream). +func (o RouteSpecHttp2RouteRetryPolicyOutput) HttpRetryEvents() pulumi.StringArrayOutput { + return o.ApplyT(func(v RouteSpecHttp2RouteRetryPolicy) []string { return v.HttpRetryEvents }).(pulumi.StringArrayOutput) } -// The port number to match from the request. -func (o RouteSpecHttpRouteMatchOutput) Port() pulumi.IntPtrOutput { - return o.ApplyT(func(v RouteSpecHttpRouteMatch) *int { return v.Port }).(pulumi.IntPtrOutput) +// Maximum number of retries. +func (o RouteSpecHttp2RouteRetryPolicyOutput) MaxRetries() pulumi.IntOutput { + return o.ApplyT(func(v RouteSpecHttp2RouteRetryPolicy) int { return v.MaxRetries }).(pulumi.IntOutput) } -// Value sent by the client must begin with the specified characters. Must be between 1 and 255 characters in length. -// This parameter must always start with /, which by itself matches all requests to the virtual router service name. -func (o RouteSpecHttpRouteMatchOutput) Prefix() pulumi.StringOutput { - return o.ApplyT(func(v RouteSpecHttpRouteMatch) string { return v.Prefix }).(pulumi.StringOutput) +// Per-retry timeout. +func (o RouteSpecHttp2RouteRetryPolicyOutput) PerRetryTimeout() RouteSpecHttp2RouteRetryPolicyPerRetryTimeoutOutput { + return o.ApplyT(func(v RouteSpecHttp2RouteRetryPolicy) RouteSpecHttp2RouteRetryPolicyPerRetryTimeout { + return v.PerRetryTimeout + }).(RouteSpecHttp2RouteRetryPolicyPerRetryTimeoutOutput) } -// Client request header scheme to match on. Valid values: `http`, `https`. -func (o RouteSpecHttpRouteMatchOutput) Scheme() pulumi.StringPtrOutput { - return o.ApplyT(func(v RouteSpecHttpRouteMatch) *string { return v.Scheme }).(pulumi.StringPtrOutput) +// List of TCP retry events. The only valid value is `connection-error`. +func (o RouteSpecHttp2RouteRetryPolicyOutput) TcpRetryEvents() pulumi.StringArrayOutput { + return o.ApplyT(func(v RouteSpecHttp2RouteRetryPolicy) []string { return v.TcpRetryEvents }).(pulumi.StringArrayOutput) } -type RouteSpecHttpRouteMatchPtrOutput struct{ *pulumi.OutputState } +type RouteSpecHttp2RouteRetryPolicyPtrOutput struct{ *pulumi.OutputState } -func (RouteSpecHttpRouteMatchPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**RouteSpecHttpRouteMatch)(nil)).Elem() +func (RouteSpecHttp2RouteRetryPolicyPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**RouteSpecHttp2RouteRetryPolicy)(nil)).Elem() } -func (o RouteSpecHttpRouteMatchPtrOutput) ToRouteSpecHttpRouteMatchPtrOutput() RouteSpecHttpRouteMatchPtrOutput { +func (o RouteSpecHttp2RouteRetryPolicyPtrOutput) ToRouteSpecHttp2RouteRetryPolicyPtrOutput() RouteSpecHttp2RouteRetryPolicyPtrOutput { return o } -func (o RouteSpecHttpRouteMatchPtrOutput) ToRouteSpecHttpRouteMatchPtrOutputWithContext(ctx context.Context) RouteSpecHttpRouteMatchPtrOutput { +func (o RouteSpecHttp2RouteRetryPolicyPtrOutput) ToRouteSpecHttp2RouteRetryPolicyPtrOutputWithContext(ctx context.Context) RouteSpecHttp2RouteRetryPolicyPtrOutput { return o } -func (o RouteSpecHttpRouteMatchPtrOutput) Elem() RouteSpecHttpRouteMatchOutput { - return o.ApplyT(func(v *RouteSpecHttpRouteMatch) RouteSpecHttpRouteMatch { +func (o RouteSpecHttp2RouteRetryPolicyPtrOutput) Elem() RouteSpecHttp2RouteRetryPolicyOutput { + return o.ApplyT(func(v *RouteSpecHttp2RouteRetryPolicy) RouteSpecHttp2RouteRetryPolicy { if v != nil { return *v } - var ret RouteSpecHttpRouteMatch + var ret RouteSpecHttp2RouteRetryPolicy return ret - }).(RouteSpecHttpRouteMatchOutput) -} - -// Client request headers to match on. -func (o RouteSpecHttpRouteMatchPtrOutput) Headers() RouteSpecHttpRouteMatchHeaderArrayOutput { - return o.ApplyT(func(v *RouteSpecHttpRouteMatch) []RouteSpecHttpRouteMatchHeader { - if v == nil { - return nil - } - return v.Headers - }).(RouteSpecHttpRouteMatchHeaderArrayOutput) + }).(RouteSpecHttp2RouteRetryPolicyOutput) } -// Client request header method to match on. Valid values: `GET`, `HEAD`, `POST`, `PUT`, `DELETE`, `CONNECT`, `OPTIONS`, `TRACE`, `PATCH`. -func (o RouteSpecHttpRouteMatchPtrOutput) Method() pulumi.StringPtrOutput { - return o.ApplyT(func(v *RouteSpecHttpRouteMatch) *string { +// List of HTTP retry events. +// Valid values: `client-error` (HTTP status code 409), `gateway-error` (HTTP status codes 502, 503, and 504), `server-error` (HTTP status codes 500, 501, 502, 503, 504, 505, 506, 507, 508, 510, and 511), `stream-error` (retry on refused stream). +// Valid values: `client-error` (HTTP status code 409), `gateway-error` (HTTP status codes 502, 503, and 504), `server-error` (HTTP status codes 500, 501, 502, 503, 504, 505, 506, 507, 508, 510, and 511), `stream-error` (retry on refused stream). +func (o RouteSpecHttp2RouteRetryPolicyPtrOutput) HttpRetryEvents() pulumi.StringArrayOutput { + return o.ApplyT(func(v *RouteSpecHttp2RouteRetryPolicy) []string { if v == nil { return nil } - return v.Method - }).(pulumi.StringPtrOutput) + return v.HttpRetryEvents + }).(pulumi.StringArrayOutput) } -// The port number to match from the request. -func (o RouteSpecHttpRouteMatchPtrOutput) Port() pulumi.IntPtrOutput { - return o.ApplyT(func(v *RouteSpecHttpRouteMatch) *int { +// Maximum number of retries. +func (o RouteSpecHttp2RouteRetryPolicyPtrOutput) MaxRetries() pulumi.IntPtrOutput { + return o.ApplyT(func(v *RouteSpecHttp2RouteRetryPolicy) *int { if v == nil { return nil } - return v.Port + return &v.MaxRetries }).(pulumi.IntPtrOutput) } -// Value sent by the client must begin with the specified characters. Must be between 1 and 255 characters in length. -// This parameter must always start with /, which by itself matches all requests to the virtual router service name. -func (o RouteSpecHttpRouteMatchPtrOutput) Prefix() pulumi.StringPtrOutput { - return o.ApplyT(func(v *RouteSpecHttpRouteMatch) *string { +// Per-retry timeout. +func (o RouteSpecHttp2RouteRetryPolicyPtrOutput) PerRetryTimeout() RouteSpecHttp2RouteRetryPolicyPerRetryTimeoutPtrOutput { + return o.ApplyT(func(v *RouteSpecHttp2RouteRetryPolicy) *RouteSpecHttp2RouteRetryPolicyPerRetryTimeout { if v == nil { return nil } - return &v.Prefix - }).(pulumi.StringPtrOutput) + return &v.PerRetryTimeout + }).(RouteSpecHttp2RouteRetryPolicyPerRetryTimeoutPtrOutput) } -// Client request header scheme to match on. Valid values: `http`, `https`. -func (o RouteSpecHttpRouteMatchPtrOutput) Scheme() pulumi.StringPtrOutput { - return o.ApplyT(func(v *RouteSpecHttpRouteMatch) *string { +// List of TCP retry events. The only valid value is `connection-error`. +func (o RouteSpecHttp2RouteRetryPolicyPtrOutput) TcpRetryEvents() pulumi.StringArrayOutput { + return o.ApplyT(func(v *RouteSpecHttp2RouteRetryPolicy) []string { if v == nil { return nil } - return v.Scheme - }).(pulumi.StringPtrOutput) + return v.TcpRetryEvents + }).(pulumi.StringArrayOutput) } -type RouteSpecHttpRouteMatchHeader struct { - // If `true`, the match is on the opposite of the `match` method and value. Default is `false`. - Invert *bool `pulumi:"invert"` - // Method and value to match the header value sent with a request. Specify one match method. - Match *RouteSpecHttpRouteMatchHeaderMatch `pulumi:"match"` - // Name for the HTTP header in the client request that will be matched on. - Name string `pulumi:"name"` +type RouteSpecHttp2RouteRetryPolicyPerRetryTimeout struct { + // Retry unit. Valid values: `ms`, `s`. + Unit string `pulumi:"unit"` + // Retry value. + Value int `pulumi:"value"` } -// RouteSpecHttpRouteMatchHeaderInput is an input type that accepts RouteSpecHttpRouteMatchHeaderArgs and RouteSpecHttpRouteMatchHeaderOutput values. -// You can construct a concrete instance of `RouteSpecHttpRouteMatchHeaderInput` via: +// RouteSpecHttp2RouteRetryPolicyPerRetryTimeoutInput is an input type that accepts RouteSpecHttp2RouteRetryPolicyPerRetryTimeoutArgs and RouteSpecHttp2RouteRetryPolicyPerRetryTimeoutOutput values. +// You can construct a concrete instance of `RouteSpecHttp2RouteRetryPolicyPerRetryTimeoutInput` via: // -// RouteSpecHttpRouteMatchHeaderArgs{...} -type RouteSpecHttpRouteMatchHeaderInput interface { +// RouteSpecHttp2RouteRetryPolicyPerRetryTimeoutArgs{...} +type RouteSpecHttp2RouteRetryPolicyPerRetryTimeoutInput interface { pulumi.Input - ToRouteSpecHttpRouteMatchHeaderOutput() RouteSpecHttpRouteMatchHeaderOutput - ToRouteSpecHttpRouteMatchHeaderOutputWithContext(context.Context) RouteSpecHttpRouteMatchHeaderOutput + ToRouteSpecHttp2RouteRetryPolicyPerRetryTimeoutOutput() RouteSpecHttp2RouteRetryPolicyPerRetryTimeoutOutput + ToRouteSpecHttp2RouteRetryPolicyPerRetryTimeoutOutputWithContext(context.Context) RouteSpecHttp2RouteRetryPolicyPerRetryTimeoutOutput } -type RouteSpecHttpRouteMatchHeaderArgs struct { - // If `true`, the match is on the opposite of the `match` method and value. Default is `false`. - Invert pulumi.BoolPtrInput `pulumi:"invert"` - // Method and value to match the header value sent with a request. Specify one match method. - Match RouteSpecHttpRouteMatchHeaderMatchPtrInput `pulumi:"match"` - // Name for the HTTP header in the client request that will be matched on. - Name pulumi.StringInput `pulumi:"name"` +type RouteSpecHttp2RouteRetryPolicyPerRetryTimeoutArgs struct { + // Retry unit. Valid values: `ms`, `s`. + Unit pulumi.StringInput `pulumi:"unit"` + // Retry value. + Value pulumi.IntInput `pulumi:"value"` } -func (RouteSpecHttpRouteMatchHeaderArgs) ElementType() reflect.Type { - return reflect.TypeOf((*RouteSpecHttpRouteMatchHeader)(nil)).Elem() +func (RouteSpecHttp2RouteRetryPolicyPerRetryTimeoutArgs) ElementType() reflect.Type { + return reflect.TypeOf((*RouteSpecHttp2RouteRetryPolicyPerRetryTimeout)(nil)).Elem() } -func (i RouteSpecHttpRouteMatchHeaderArgs) ToRouteSpecHttpRouteMatchHeaderOutput() RouteSpecHttpRouteMatchHeaderOutput { - return i.ToRouteSpecHttpRouteMatchHeaderOutputWithContext(context.Background()) +func (i RouteSpecHttp2RouteRetryPolicyPerRetryTimeoutArgs) ToRouteSpecHttp2RouteRetryPolicyPerRetryTimeoutOutput() RouteSpecHttp2RouteRetryPolicyPerRetryTimeoutOutput { + return i.ToRouteSpecHttp2RouteRetryPolicyPerRetryTimeoutOutputWithContext(context.Background()) } -func (i RouteSpecHttpRouteMatchHeaderArgs) ToRouteSpecHttpRouteMatchHeaderOutputWithContext(ctx context.Context) RouteSpecHttpRouteMatchHeaderOutput { - return pulumi.ToOutputWithContext(ctx, i).(RouteSpecHttpRouteMatchHeaderOutput) +func (i RouteSpecHttp2RouteRetryPolicyPerRetryTimeoutArgs) ToRouteSpecHttp2RouteRetryPolicyPerRetryTimeoutOutputWithContext(ctx context.Context) RouteSpecHttp2RouteRetryPolicyPerRetryTimeoutOutput { + return pulumi.ToOutputWithContext(ctx, i).(RouteSpecHttp2RouteRetryPolicyPerRetryTimeoutOutput) } -// RouteSpecHttpRouteMatchHeaderArrayInput is an input type that accepts RouteSpecHttpRouteMatchHeaderArray and RouteSpecHttpRouteMatchHeaderArrayOutput values. -// You can construct a concrete instance of `RouteSpecHttpRouteMatchHeaderArrayInput` via: +func (i RouteSpecHttp2RouteRetryPolicyPerRetryTimeoutArgs) ToRouteSpecHttp2RouteRetryPolicyPerRetryTimeoutPtrOutput() RouteSpecHttp2RouteRetryPolicyPerRetryTimeoutPtrOutput { + return i.ToRouteSpecHttp2RouteRetryPolicyPerRetryTimeoutPtrOutputWithContext(context.Background()) +} + +func (i RouteSpecHttp2RouteRetryPolicyPerRetryTimeoutArgs) ToRouteSpecHttp2RouteRetryPolicyPerRetryTimeoutPtrOutputWithContext(ctx context.Context) RouteSpecHttp2RouteRetryPolicyPerRetryTimeoutPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(RouteSpecHttp2RouteRetryPolicyPerRetryTimeoutOutput).ToRouteSpecHttp2RouteRetryPolicyPerRetryTimeoutPtrOutputWithContext(ctx) +} + +// RouteSpecHttp2RouteRetryPolicyPerRetryTimeoutPtrInput is an input type that accepts RouteSpecHttp2RouteRetryPolicyPerRetryTimeoutArgs, RouteSpecHttp2RouteRetryPolicyPerRetryTimeoutPtr and RouteSpecHttp2RouteRetryPolicyPerRetryTimeoutPtrOutput values. +// You can construct a concrete instance of `RouteSpecHttp2RouteRetryPolicyPerRetryTimeoutPtrInput` via: // -// RouteSpecHttpRouteMatchHeaderArray{ RouteSpecHttpRouteMatchHeaderArgs{...} } -type RouteSpecHttpRouteMatchHeaderArrayInput interface { +// RouteSpecHttp2RouteRetryPolicyPerRetryTimeoutArgs{...} +// +// or: +// +// nil +type RouteSpecHttp2RouteRetryPolicyPerRetryTimeoutPtrInput interface { pulumi.Input - ToRouteSpecHttpRouteMatchHeaderArrayOutput() RouteSpecHttpRouteMatchHeaderArrayOutput - ToRouteSpecHttpRouteMatchHeaderArrayOutputWithContext(context.Context) RouteSpecHttpRouteMatchHeaderArrayOutput + ToRouteSpecHttp2RouteRetryPolicyPerRetryTimeoutPtrOutput() RouteSpecHttp2RouteRetryPolicyPerRetryTimeoutPtrOutput + ToRouteSpecHttp2RouteRetryPolicyPerRetryTimeoutPtrOutputWithContext(context.Context) RouteSpecHttp2RouteRetryPolicyPerRetryTimeoutPtrOutput } -type RouteSpecHttpRouteMatchHeaderArray []RouteSpecHttpRouteMatchHeaderInput +type routeSpecHttp2RouteRetryPolicyPerRetryTimeoutPtrType RouteSpecHttp2RouteRetryPolicyPerRetryTimeoutArgs -func (RouteSpecHttpRouteMatchHeaderArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]RouteSpecHttpRouteMatchHeader)(nil)).Elem() +func RouteSpecHttp2RouteRetryPolicyPerRetryTimeoutPtr(v *RouteSpecHttp2RouteRetryPolicyPerRetryTimeoutArgs) RouteSpecHttp2RouteRetryPolicyPerRetryTimeoutPtrInput { + return (*routeSpecHttp2RouteRetryPolicyPerRetryTimeoutPtrType)(v) } -func (i RouteSpecHttpRouteMatchHeaderArray) ToRouteSpecHttpRouteMatchHeaderArrayOutput() RouteSpecHttpRouteMatchHeaderArrayOutput { - return i.ToRouteSpecHttpRouteMatchHeaderArrayOutputWithContext(context.Background()) +func (*routeSpecHttp2RouteRetryPolicyPerRetryTimeoutPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**RouteSpecHttp2RouteRetryPolicyPerRetryTimeout)(nil)).Elem() } -func (i RouteSpecHttpRouteMatchHeaderArray) ToRouteSpecHttpRouteMatchHeaderArrayOutputWithContext(ctx context.Context) RouteSpecHttpRouteMatchHeaderArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(RouteSpecHttpRouteMatchHeaderArrayOutput) +func (i *routeSpecHttp2RouteRetryPolicyPerRetryTimeoutPtrType) ToRouteSpecHttp2RouteRetryPolicyPerRetryTimeoutPtrOutput() RouteSpecHttp2RouteRetryPolicyPerRetryTimeoutPtrOutput { + return i.ToRouteSpecHttp2RouteRetryPolicyPerRetryTimeoutPtrOutputWithContext(context.Background()) } -type RouteSpecHttpRouteMatchHeaderOutput struct{ *pulumi.OutputState } +func (i *routeSpecHttp2RouteRetryPolicyPerRetryTimeoutPtrType) ToRouteSpecHttp2RouteRetryPolicyPerRetryTimeoutPtrOutputWithContext(ctx context.Context) RouteSpecHttp2RouteRetryPolicyPerRetryTimeoutPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(RouteSpecHttp2RouteRetryPolicyPerRetryTimeoutPtrOutput) +} -func (RouteSpecHttpRouteMatchHeaderOutput) ElementType() reflect.Type { - return reflect.TypeOf((*RouteSpecHttpRouteMatchHeader)(nil)).Elem() +type RouteSpecHttp2RouteRetryPolicyPerRetryTimeoutOutput struct{ *pulumi.OutputState } + +func (RouteSpecHttp2RouteRetryPolicyPerRetryTimeoutOutput) ElementType() reflect.Type { + return reflect.TypeOf((*RouteSpecHttp2RouteRetryPolicyPerRetryTimeout)(nil)).Elem() } -func (o RouteSpecHttpRouteMatchHeaderOutput) ToRouteSpecHttpRouteMatchHeaderOutput() RouteSpecHttpRouteMatchHeaderOutput { +func (o RouteSpecHttp2RouteRetryPolicyPerRetryTimeoutOutput) ToRouteSpecHttp2RouteRetryPolicyPerRetryTimeoutOutput() RouteSpecHttp2RouteRetryPolicyPerRetryTimeoutOutput { return o } -func (o RouteSpecHttpRouteMatchHeaderOutput) ToRouteSpecHttpRouteMatchHeaderOutputWithContext(ctx context.Context) RouteSpecHttpRouteMatchHeaderOutput { +func (o RouteSpecHttp2RouteRetryPolicyPerRetryTimeoutOutput) ToRouteSpecHttp2RouteRetryPolicyPerRetryTimeoutOutputWithContext(ctx context.Context) RouteSpecHttp2RouteRetryPolicyPerRetryTimeoutOutput { return o } -// If `true`, the match is on the opposite of the `match` method and value. Default is `false`. -func (o RouteSpecHttpRouteMatchHeaderOutput) Invert() pulumi.BoolPtrOutput { - return o.ApplyT(func(v RouteSpecHttpRouteMatchHeader) *bool { return v.Invert }).(pulumi.BoolPtrOutput) +func (o RouteSpecHttp2RouteRetryPolicyPerRetryTimeoutOutput) ToRouteSpecHttp2RouteRetryPolicyPerRetryTimeoutPtrOutput() RouteSpecHttp2RouteRetryPolicyPerRetryTimeoutPtrOutput { + return o.ToRouteSpecHttp2RouteRetryPolicyPerRetryTimeoutPtrOutputWithContext(context.Background()) } -// Method and value to match the header value sent with a request. Specify one match method. -func (o RouteSpecHttpRouteMatchHeaderOutput) Match() RouteSpecHttpRouteMatchHeaderMatchPtrOutput { - return o.ApplyT(func(v RouteSpecHttpRouteMatchHeader) *RouteSpecHttpRouteMatchHeaderMatch { return v.Match }).(RouteSpecHttpRouteMatchHeaderMatchPtrOutput) +func (o RouteSpecHttp2RouteRetryPolicyPerRetryTimeoutOutput) ToRouteSpecHttp2RouteRetryPolicyPerRetryTimeoutPtrOutputWithContext(ctx context.Context) RouteSpecHttp2RouteRetryPolicyPerRetryTimeoutPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v RouteSpecHttp2RouteRetryPolicyPerRetryTimeout) *RouteSpecHttp2RouteRetryPolicyPerRetryTimeout { + return &v + }).(RouteSpecHttp2RouteRetryPolicyPerRetryTimeoutPtrOutput) } -// Name for the HTTP header in the client request that will be matched on. -func (o RouteSpecHttpRouteMatchHeaderOutput) Name() pulumi.StringOutput { - return o.ApplyT(func(v RouteSpecHttpRouteMatchHeader) string { return v.Name }).(pulumi.StringOutput) +// Retry unit. Valid values: `ms`, `s`. +func (o RouteSpecHttp2RouteRetryPolicyPerRetryTimeoutOutput) Unit() pulumi.StringOutput { + return o.ApplyT(func(v RouteSpecHttp2RouteRetryPolicyPerRetryTimeout) string { return v.Unit }).(pulumi.StringOutput) } -type RouteSpecHttpRouteMatchHeaderArrayOutput struct{ *pulumi.OutputState } +// Retry value. +func (o RouteSpecHttp2RouteRetryPolicyPerRetryTimeoutOutput) Value() pulumi.IntOutput { + return o.ApplyT(func(v RouteSpecHttp2RouteRetryPolicyPerRetryTimeout) int { return v.Value }).(pulumi.IntOutput) +} -func (RouteSpecHttpRouteMatchHeaderArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]RouteSpecHttpRouteMatchHeader)(nil)).Elem() +type RouteSpecHttp2RouteRetryPolicyPerRetryTimeoutPtrOutput struct{ *pulumi.OutputState } + +func (RouteSpecHttp2RouteRetryPolicyPerRetryTimeoutPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**RouteSpecHttp2RouteRetryPolicyPerRetryTimeout)(nil)).Elem() } -func (o RouteSpecHttpRouteMatchHeaderArrayOutput) ToRouteSpecHttpRouteMatchHeaderArrayOutput() RouteSpecHttpRouteMatchHeaderArrayOutput { +func (o RouteSpecHttp2RouteRetryPolicyPerRetryTimeoutPtrOutput) ToRouteSpecHttp2RouteRetryPolicyPerRetryTimeoutPtrOutput() RouteSpecHttp2RouteRetryPolicyPerRetryTimeoutPtrOutput { return o } -func (o RouteSpecHttpRouteMatchHeaderArrayOutput) ToRouteSpecHttpRouteMatchHeaderArrayOutputWithContext(ctx context.Context) RouteSpecHttpRouteMatchHeaderArrayOutput { +func (o RouteSpecHttp2RouteRetryPolicyPerRetryTimeoutPtrOutput) ToRouteSpecHttp2RouteRetryPolicyPerRetryTimeoutPtrOutputWithContext(ctx context.Context) RouteSpecHttp2RouteRetryPolicyPerRetryTimeoutPtrOutput { return o } -func (o RouteSpecHttpRouteMatchHeaderArrayOutput) Index(i pulumi.IntInput) RouteSpecHttpRouteMatchHeaderOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) RouteSpecHttpRouteMatchHeader { - return vs[0].([]RouteSpecHttpRouteMatchHeader)[vs[1].(int)] - }).(RouteSpecHttpRouteMatchHeaderOutput) +func (o RouteSpecHttp2RouteRetryPolicyPerRetryTimeoutPtrOutput) Elem() RouteSpecHttp2RouteRetryPolicyPerRetryTimeoutOutput { + return o.ApplyT(func(v *RouteSpecHttp2RouteRetryPolicyPerRetryTimeout) RouteSpecHttp2RouteRetryPolicyPerRetryTimeout { + if v != nil { + return *v + } + var ret RouteSpecHttp2RouteRetryPolicyPerRetryTimeout + return ret + }).(RouteSpecHttp2RouteRetryPolicyPerRetryTimeoutOutput) } -type RouteSpecHttpRouteMatchHeaderMatch struct { - // Value sent by the client must match the specified value exactly. Must be between 1 and 255 characters in length. - Exact *string `pulumi:"exact"` - // Value sent by the client must begin with the specified characters. Must be between 1 and 255 characters in length. - // This parameter must always start with /, which by itself matches all requests to the virtual router service name. - Prefix *string `pulumi:"prefix"` - // Object that specifies the range of numbers that the value sent by the client must be included in. - Range *RouteSpecHttpRouteMatchHeaderMatchRange `pulumi:"range"` - // Value sent by the client must include the specified characters. Must be between 1 and 255 characters in length. - Regex *string `pulumi:"regex"` - // Value sent by the client must end with the specified characters. Must be between 1 and 255 characters in length. - Suffix *string `pulumi:"suffix"` +// Retry unit. Valid values: `ms`, `s`. +func (o RouteSpecHttp2RouteRetryPolicyPerRetryTimeoutPtrOutput) Unit() pulumi.StringPtrOutput { + return o.ApplyT(func(v *RouteSpecHttp2RouteRetryPolicyPerRetryTimeout) *string { + if v == nil { + return nil + } + return &v.Unit + }).(pulumi.StringPtrOutput) } -// RouteSpecHttpRouteMatchHeaderMatchInput is an input type that accepts RouteSpecHttpRouteMatchHeaderMatchArgs and RouteSpecHttpRouteMatchHeaderMatchOutput values. -// You can construct a concrete instance of `RouteSpecHttpRouteMatchHeaderMatchInput` via: +// Retry value. +func (o RouteSpecHttp2RouteRetryPolicyPerRetryTimeoutPtrOutput) Value() pulumi.IntPtrOutput { + return o.ApplyT(func(v *RouteSpecHttp2RouteRetryPolicyPerRetryTimeout) *int { + if v == nil { + return nil + } + return &v.Value + }).(pulumi.IntPtrOutput) +} + +type RouteSpecHttp2RouteTimeout struct { + // Idle timeout. An idle timeout bounds the amount of time that a connection may be idle. + Idle *RouteSpecHttp2RouteTimeoutIdle `pulumi:"idle"` + // Per request timeout. + PerRequest *RouteSpecHttp2RouteTimeoutPerRequest `pulumi:"perRequest"` +} + +// RouteSpecHttp2RouteTimeoutInput is an input type that accepts RouteSpecHttp2RouteTimeoutArgs and RouteSpecHttp2RouteTimeoutOutput values. +// You can construct a concrete instance of `RouteSpecHttp2RouteTimeoutInput` via: // -// RouteSpecHttpRouteMatchHeaderMatchArgs{...} -type RouteSpecHttpRouteMatchHeaderMatchInput interface { +// RouteSpecHttp2RouteTimeoutArgs{...} +type RouteSpecHttp2RouteTimeoutInput interface { pulumi.Input - ToRouteSpecHttpRouteMatchHeaderMatchOutput() RouteSpecHttpRouteMatchHeaderMatchOutput - ToRouteSpecHttpRouteMatchHeaderMatchOutputWithContext(context.Context) RouteSpecHttpRouteMatchHeaderMatchOutput + ToRouteSpecHttp2RouteTimeoutOutput() RouteSpecHttp2RouteTimeoutOutput + ToRouteSpecHttp2RouteTimeoutOutputWithContext(context.Context) RouteSpecHttp2RouteTimeoutOutput } -type RouteSpecHttpRouteMatchHeaderMatchArgs struct { - // Value sent by the client must match the specified value exactly. Must be between 1 and 255 characters in length. - Exact pulumi.StringPtrInput `pulumi:"exact"` - // Value sent by the client must begin with the specified characters. Must be between 1 and 255 characters in length. - // This parameter must always start with /, which by itself matches all requests to the virtual router service name. - Prefix pulumi.StringPtrInput `pulumi:"prefix"` - // Object that specifies the range of numbers that the value sent by the client must be included in. - Range RouteSpecHttpRouteMatchHeaderMatchRangePtrInput `pulumi:"range"` - // Value sent by the client must include the specified characters. Must be between 1 and 255 characters in length. - Regex pulumi.StringPtrInput `pulumi:"regex"` - // Value sent by the client must end with the specified characters. Must be between 1 and 255 characters in length. - Suffix pulumi.StringPtrInput `pulumi:"suffix"` +type RouteSpecHttp2RouteTimeoutArgs struct { + // Idle timeout. An idle timeout bounds the amount of time that a connection may be idle. + Idle RouteSpecHttp2RouteTimeoutIdlePtrInput `pulumi:"idle"` + // Per request timeout. + PerRequest RouteSpecHttp2RouteTimeoutPerRequestPtrInput `pulumi:"perRequest"` } -func (RouteSpecHttpRouteMatchHeaderMatchArgs) ElementType() reflect.Type { - return reflect.TypeOf((*RouteSpecHttpRouteMatchHeaderMatch)(nil)).Elem() +func (RouteSpecHttp2RouteTimeoutArgs) ElementType() reflect.Type { + return reflect.TypeOf((*RouteSpecHttp2RouteTimeout)(nil)).Elem() } -func (i RouteSpecHttpRouteMatchHeaderMatchArgs) ToRouteSpecHttpRouteMatchHeaderMatchOutput() RouteSpecHttpRouteMatchHeaderMatchOutput { - return i.ToRouteSpecHttpRouteMatchHeaderMatchOutputWithContext(context.Background()) +func (i RouteSpecHttp2RouteTimeoutArgs) ToRouteSpecHttp2RouteTimeoutOutput() RouteSpecHttp2RouteTimeoutOutput { + return i.ToRouteSpecHttp2RouteTimeoutOutputWithContext(context.Background()) } -func (i RouteSpecHttpRouteMatchHeaderMatchArgs) ToRouteSpecHttpRouteMatchHeaderMatchOutputWithContext(ctx context.Context) RouteSpecHttpRouteMatchHeaderMatchOutput { - return pulumi.ToOutputWithContext(ctx, i).(RouteSpecHttpRouteMatchHeaderMatchOutput) +func (i RouteSpecHttp2RouteTimeoutArgs) ToRouteSpecHttp2RouteTimeoutOutputWithContext(ctx context.Context) RouteSpecHttp2RouteTimeoutOutput { + return pulumi.ToOutputWithContext(ctx, i).(RouteSpecHttp2RouteTimeoutOutput) } -func (i RouteSpecHttpRouteMatchHeaderMatchArgs) ToRouteSpecHttpRouteMatchHeaderMatchPtrOutput() RouteSpecHttpRouteMatchHeaderMatchPtrOutput { - return i.ToRouteSpecHttpRouteMatchHeaderMatchPtrOutputWithContext(context.Background()) +func (i RouteSpecHttp2RouteTimeoutArgs) ToRouteSpecHttp2RouteTimeoutPtrOutput() RouteSpecHttp2RouteTimeoutPtrOutput { + return i.ToRouteSpecHttp2RouteTimeoutPtrOutputWithContext(context.Background()) } -func (i RouteSpecHttpRouteMatchHeaderMatchArgs) ToRouteSpecHttpRouteMatchHeaderMatchPtrOutputWithContext(ctx context.Context) RouteSpecHttpRouteMatchHeaderMatchPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(RouteSpecHttpRouteMatchHeaderMatchOutput).ToRouteSpecHttpRouteMatchHeaderMatchPtrOutputWithContext(ctx) +func (i RouteSpecHttp2RouteTimeoutArgs) ToRouteSpecHttp2RouteTimeoutPtrOutputWithContext(ctx context.Context) RouteSpecHttp2RouteTimeoutPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(RouteSpecHttp2RouteTimeoutOutput).ToRouteSpecHttp2RouteTimeoutPtrOutputWithContext(ctx) } -// RouteSpecHttpRouteMatchHeaderMatchPtrInput is an input type that accepts RouteSpecHttpRouteMatchHeaderMatchArgs, RouteSpecHttpRouteMatchHeaderMatchPtr and RouteSpecHttpRouteMatchHeaderMatchPtrOutput values. -// You can construct a concrete instance of `RouteSpecHttpRouteMatchHeaderMatchPtrInput` via: +// RouteSpecHttp2RouteTimeoutPtrInput is an input type that accepts RouteSpecHttp2RouteTimeoutArgs, RouteSpecHttp2RouteTimeoutPtr and RouteSpecHttp2RouteTimeoutPtrOutput values. +// You can construct a concrete instance of `RouteSpecHttp2RouteTimeoutPtrInput` via: // -// RouteSpecHttpRouteMatchHeaderMatchArgs{...} +// RouteSpecHttp2RouteTimeoutArgs{...} // // or: // // nil -type RouteSpecHttpRouteMatchHeaderMatchPtrInput interface { +type RouteSpecHttp2RouteTimeoutPtrInput interface { pulumi.Input - ToRouteSpecHttpRouteMatchHeaderMatchPtrOutput() RouteSpecHttpRouteMatchHeaderMatchPtrOutput - ToRouteSpecHttpRouteMatchHeaderMatchPtrOutputWithContext(context.Context) RouteSpecHttpRouteMatchHeaderMatchPtrOutput + ToRouteSpecHttp2RouteTimeoutPtrOutput() RouteSpecHttp2RouteTimeoutPtrOutput + ToRouteSpecHttp2RouteTimeoutPtrOutputWithContext(context.Context) RouteSpecHttp2RouteTimeoutPtrOutput } -type routeSpecHttpRouteMatchHeaderMatchPtrType RouteSpecHttpRouteMatchHeaderMatchArgs +type routeSpecHttp2RouteTimeoutPtrType RouteSpecHttp2RouteTimeoutArgs -func RouteSpecHttpRouteMatchHeaderMatchPtr(v *RouteSpecHttpRouteMatchHeaderMatchArgs) RouteSpecHttpRouteMatchHeaderMatchPtrInput { - return (*routeSpecHttpRouteMatchHeaderMatchPtrType)(v) +func RouteSpecHttp2RouteTimeoutPtr(v *RouteSpecHttp2RouteTimeoutArgs) RouteSpecHttp2RouteTimeoutPtrInput { + return (*routeSpecHttp2RouteTimeoutPtrType)(v) } -func (*routeSpecHttpRouteMatchHeaderMatchPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**RouteSpecHttpRouteMatchHeaderMatch)(nil)).Elem() +func (*routeSpecHttp2RouteTimeoutPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**RouteSpecHttp2RouteTimeout)(nil)).Elem() } -func (i *routeSpecHttpRouteMatchHeaderMatchPtrType) ToRouteSpecHttpRouteMatchHeaderMatchPtrOutput() RouteSpecHttpRouteMatchHeaderMatchPtrOutput { - return i.ToRouteSpecHttpRouteMatchHeaderMatchPtrOutputWithContext(context.Background()) +func (i *routeSpecHttp2RouteTimeoutPtrType) ToRouteSpecHttp2RouteTimeoutPtrOutput() RouteSpecHttp2RouteTimeoutPtrOutput { + return i.ToRouteSpecHttp2RouteTimeoutPtrOutputWithContext(context.Background()) } -func (i *routeSpecHttpRouteMatchHeaderMatchPtrType) ToRouteSpecHttpRouteMatchHeaderMatchPtrOutputWithContext(ctx context.Context) RouteSpecHttpRouteMatchHeaderMatchPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(RouteSpecHttpRouteMatchHeaderMatchPtrOutput) +func (i *routeSpecHttp2RouteTimeoutPtrType) ToRouteSpecHttp2RouteTimeoutPtrOutputWithContext(ctx context.Context) RouteSpecHttp2RouteTimeoutPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(RouteSpecHttp2RouteTimeoutPtrOutput) } -type RouteSpecHttpRouteMatchHeaderMatchOutput struct{ *pulumi.OutputState } +type RouteSpecHttp2RouteTimeoutOutput struct{ *pulumi.OutputState } -func (RouteSpecHttpRouteMatchHeaderMatchOutput) ElementType() reflect.Type { - return reflect.TypeOf((*RouteSpecHttpRouteMatchHeaderMatch)(nil)).Elem() +func (RouteSpecHttp2RouteTimeoutOutput) ElementType() reflect.Type { + return reflect.TypeOf((*RouteSpecHttp2RouteTimeout)(nil)).Elem() } -func (o RouteSpecHttpRouteMatchHeaderMatchOutput) ToRouteSpecHttpRouteMatchHeaderMatchOutput() RouteSpecHttpRouteMatchHeaderMatchOutput { +func (o RouteSpecHttp2RouteTimeoutOutput) ToRouteSpecHttp2RouteTimeoutOutput() RouteSpecHttp2RouteTimeoutOutput { return o } -func (o RouteSpecHttpRouteMatchHeaderMatchOutput) ToRouteSpecHttpRouteMatchHeaderMatchOutputWithContext(ctx context.Context) RouteSpecHttpRouteMatchHeaderMatchOutput { +func (o RouteSpecHttp2RouteTimeoutOutput) ToRouteSpecHttp2RouteTimeoutOutputWithContext(ctx context.Context) RouteSpecHttp2RouteTimeoutOutput { return o } -func (o RouteSpecHttpRouteMatchHeaderMatchOutput) ToRouteSpecHttpRouteMatchHeaderMatchPtrOutput() RouteSpecHttpRouteMatchHeaderMatchPtrOutput { - return o.ToRouteSpecHttpRouteMatchHeaderMatchPtrOutputWithContext(context.Background()) +func (o RouteSpecHttp2RouteTimeoutOutput) ToRouteSpecHttp2RouteTimeoutPtrOutput() RouteSpecHttp2RouteTimeoutPtrOutput { + return o.ToRouteSpecHttp2RouteTimeoutPtrOutputWithContext(context.Background()) } -func (o RouteSpecHttpRouteMatchHeaderMatchOutput) ToRouteSpecHttpRouteMatchHeaderMatchPtrOutputWithContext(ctx context.Context) RouteSpecHttpRouteMatchHeaderMatchPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v RouteSpecHttpRouteMatchHeaderMatch) *RouteSpecHttpRouteMatchHeaderMatch { +func (o RouteSpecHttp2RouteTimeoutOutput) ToRouteSpecHttp2RouteTimeoutPtrOutputWithContext(ctx context.Context) RouteSpecHttp2RouteTimeoutPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v RouteSpecHttp2RouteTimeout) *RouteSpecHttp2RouteTimeout { return &v - }).(RouteSpecHttpRouteMatchHeaderMatchPtrOutput) -} - -// Value sent by the client must match the specified value exactly. Must be between 1 and 255 characters in length. -func (o RouteSpecHttpRouteMatchHeaderMatchOutput) Exact() pulumi.StringPtrOutput { - return o.ApplyT(func(v RouteSpecHttpRouteMatchHeaderMatch) *string { return v.Exact }).(pulumi.StringPtrOutput) -} - -// Value sent by the client must begin with the specified characters. Must be between 1 and 255 characters in length. -// This parameter must always start with /, which by itself matches all requests to the virtual router service name. -func (o RouteSpecHttpRouteMatchHeaderMatchOutput) Prefix() pulumi.StringPtrOutput { - return o.ApplyT(func(v RouteSpecHttpRouteMatchHeaderMatch) *string { return v.Prefix }).(pulumi.StringPtrOutput) -} - -// Object that specifies the range of numbers that the value sent by the client must be included in. -func (o RouteSpecHttpRouteMatchHeaderMatchOutput) Range() RouteSpecHttpRouteMatchHeaderMatchRangePtrOutput { - return o.ApplyT(func(v RouteSpecHttpRouteMatchHeaderMatch) *RouteSpecHttpRouteMatchHeaderMatchRange { return v.Range }).(RouteSpecHttpRouteMatchHeaderMatchRangePtrOutput) + }).(RouteSpecHttp2RouteTimeoutPtrOutput) } -// Value sent by the client must include the specified characters. Must be between 1 and 255 characters in length. -func (o RouteSpecHttpRouteMatchHeaderMatchOutput) Regex() pulumi.StringPtrOutput { - return o.ApplyT(func(v RouteSpecHttpRouteMatchHeaderMatch) *string { return v.Regex }).(pulumi.StringPtrOutput) +// Idle timeout. An idle timeout bounds the amount of time that a connection may be idle. +func (o RouteSpecHttp2RouteTimeoutOutput) Idle() RouteSpecHttp2RouteTimeoutIdlePtrOutput { + return o.ApplyT(func(v RouteSpecHttp2RouteTimeout) *RouteSpecHttp2RouteTimeoutIdle { return v.Idle }).(RouteSpecHttp2RouteTimeoutIdlePtrOutput) } -// Value sent by the client must end with the specified characters. Must be between 1 and 255 characters in length. -func (o RouteSpecHttpRouteMatchHeaderMatchOutput) Suffix() pulumi.StringPtrOutput { - return o.ApplyT(func(v RouteSpecHttpRouteMatchHeaderMatch) *string { return v.Suffix }).(pulumi.StringPtrOutput) +// Per request timeout. +func (o RouteSpecHttp2RouteTimeoutOutput) PerRequest() RouteSpecHttp2RouteTimeoutPerRequestPtrOutput { + return o.ApplyT(func(v RouteSpecHttp2RouteTimeout) *RouteSpecHttp2RouteTimeoutPerRequest { return v.PerRequest }).(RouteSpecHttp2RouteTimeoutPerRequestPtrOutput) } -type RouteSpecHttpRouteMatchHeaderMatchPtrOutput struct{ *pulumi.OutputState } +type RouteSpecHttp2RouteTimeoutPtrOutput struct{ *pulumi.OutputState } -func (RouteSpecHttpRouteMatchHeaderMatchPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**RouteSpecHttpRouteMatchHeaderMatch)(nil)).Elem() +func (RouteSpecHttp2RouteTimeoutPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**RouteSpecHttp2RouteTimeout)(nil)).Elem() } -func (o RouteSpecHttpRouteMatchHeaderMatchPtrOutput) ToRouteSpecHttpRouteMatchHeaderMatchPtrOutput() RouteSpecHttpRouteMatchHeaderMatchPtrOutput { +func (o RouteSpecHttp2RouteTimeoutPtrOutput) ToRouteSpecHttp2RouteTimeoutPtrOutput() RouteSpecHttp2RouteTimeoutPtrOutput { return o } -func (o RouteSpecHttpRouteMatchHeaderMatchPtrOutput) ToRouteSpecHttpRouteMatchHeaderMatchPtrOutputWithContext(ctx context.Context) RouteSpecHttpRouteMatchHeaderMatchPtrOutput { +func (o RouteSpecHttp2RouteTimeoutPtrOutput) ToRouteSpecHttp2RouteTimeoutPtrOutputWithContext(ctx context.Context) RouteSpecHttp2RouteTimeoutPtrOutput { return o } -func (o RouteSpecHttpRouteMatchHeaderMatchPtrOutput) Elem() RouteSpecHttpRouteMatchHeaderMatchOutput { - return o.ApplyT(func(v *RouteSpecHttpRouteMatchHeaderMatch) RouteSpecHttpRouteMatchHeaderMatch { +func (o RouteSpecHttp2RouteTimeoutPtrOutput) Elem() RouteSpecHttp2RouteTimeoutOutput { + return o.ApplyT(func(v *RouteSpecHttp2RouteTimeout) RouteSpecHttp2RouteTimeout { if v != nil { return *v } - var ret RouteSpecHttpRouteMatchHeaderMatch + var ret RouteSpecHttp2RouteTimeout return ret - }).(RouteSpecHttpRouteMatchHeaderMatchOutput) + }).(RouteSpecHttp2RouteTimeoutOutput) } -// Value sent by the client must match the specified value exactly. Must be between 1 and 255 characters in length. -func (o RouteSpecHttpRouteMatchHeaderMatchPtrOutput) Exact() pulumi.StringPtrOutput { - return o.ApplyT(func(v *RouteSpecHttpRouteMatchHeaderMatch) *string { +// Idle timeout. An idle timeout bounds the amount of time that a connection may be idle. +func (o RouteSpecHttp2RouteTimeoutPtrOutput) Idle() RouteSpecHttp2RouteTimeoutIdlePtrOutput { + return o.ApplyT(func(v *RouteSpecHttp2RouteTimeout) *RouteSpecHttp2RouteTimeoutIdle { if v == nil { return nil } - return v.Exact - }).(pulumi.StringPtrOutput) + return v.Idle + }).(RouteSpecHttp2RouteTimeoutIdlePtrOutput) } -// Value sent by the client must begin with the specified characters. Must be between 1 and 255 characters in length. -// This parameter must always start with /, which by itself matches all requests to the virtual router service name. -func (o RouteSpecHttpRouteMatchHeaderMatchPtrOutput) Prefix() pulumi.StringPtrOutput { - return o.ApplyT(func(v *RouteSpecHttpRouteMatchHeaderMatch) *string { +// Per request timeout. +func (o RouteSpecHttp2RouteTimeoutPtrOutput) PerRequest() RouteSpecHttp2RouteTimeoutPerRequestPtrOutput { + return o.ApplyT(func(v *RouteSpecHttp2RouteTimeout) *RouteSpecHttp2RouteTimeoutPerRequest { if v == nil { return nil } - return v.Prefix - }).(pulumi.StringPtrOutput) + return v.PerRequest + }).(RouteSpecHttp2RouteTimeoutPerRequestPtrOutput) } -// Object that specifies the range of numbers that the value sent by the client must be included in. -func (o RouteSpecHttpRouteMatchHeaderMatchPtrOutput) Range() RouteSpecHttpRouteMatchHeaderMatchRangePtrOutput { - return o.ApplyT(func(v *RouteSpecHttpRouteMatchHeaderMatch) *RouteSpecHttpRouteMatchHeaderMatchRange { - if v == nil { - return nil - } - return v.Range - }).(RouteSpecHttpRouteMatchHeaderMatchRangePtrOutput) +type RouteSpecHttp2RouteTimeoutIdle struct { + // Unit of time. Valid values: `ms`, `s`. + Unit string `pulumi:"unit"` + // Number of time units. Minimum value of `0`. + Value int `pulumi:"value"` } -// Value sent by the client must include the specified characters. Must be between 1 and 255 characters in length. -func (o RouteSpecHttpRouteMatchHeaderMatchPtrOutput) Regex() pulumi.StringPtrOutput { - return o.ApplyT(func(v *RouteSpecHttpRouteMatchHeaderMatch) *string { - if v == nil { - return nil - } - return v.Regex - }).(pulumi.StringPtrOutput) +// RouteSpecHttp2RouteTimeoutIdleInput is an input type that accepts RouteSpecHttp2RouteTimeoutIdleArgs and RouteSpecHttp2RouteTimeoutIdleOutput values. +// You can construct a concrete instance of `RouteSpecHttp2RouteTimeoutIdleInput` via: +// +// RouteSpecHttp2RouteTimeoutIdleArgs{...} +type RouteSpecHttp2RouteTimeoutIdleInput interface { + pulumi.Input + + ToRouteSpecHttp2RouteTimeoutIdleOutput() RouteSpecHttp2RouteTimeoutIdleOutput + ToRouteSpecHttp2RouteTimeoutIdleOutputWithContext(context.Context) RouteSpecHttp2RouteTimeoutIdleOutput } -// Value sent by the client must end with the specified characters. Must be between 1 and 255 characters in length. -func (o RouteSpecHttpRouteMatchHeaderMatchPtrOutput) Suffix() pulumi.StringPtrOutput { - return o.ApplyT(func(v *RouteSpecHttpRouteMatchHeaderMatch) *string { - if v == nil { - return nil - } - return v.Suffix - }).(pulumi.StringPtrOutput) +type RouteSpecHttp2RouteTimeoutIdleArgs struct { + // Unit of time. Valid values: `ms`, `s`. + Unit pulumi.StringInput `pulumi:"unit"` + // Number of time units. Minimum value of `0`. + Value pulumi.IntInput `pulumi:"value"` } -type RouteSpecHttpRouteMatchHeaderMatchRange struct { - // End of the range. - End int `pulumi:"end"` - // Start of the range. - Start int `pulumi:"start"` +func (RouteSpecHttp2RouteTimeoutIdleArgs) ElementType() reflect.Type { + return reflect.TypeOf((*RouteSpecHttp2RouteTimeoutIdle)(nil)).Elem() } -// RouteSpecHttpRouteMatchHeaderMatchRangeInput is an input type that accepts RouteSpecHttpRouteMatchHeaderMatchRangeArgs and RouteSpecHttpRouteMatchHeaderMatchRangeOutput values. -// You can construct a concrete instance of `RouteSpecHttpRouteMatchHeaderMatchRangeInput` via: -// -// RouteSpecHttpRouteMatchHeaderMatchRangeArgs{...} -type RouteSpecHttpRouteMatchHeaderMatchRangeInput interface { - pulumi.Input - - ToRouteSpecHttpRouteMatchHeaderMatchRangeOutput() RouteSpecHttpRouteMatchHeaderMatchRangeOutput - ToRouteSpecHttpRouteMatchHeaderMatchRangeOutputWithContext(context.Context) RouteSpecHttpRouteMatchHeaderMatchRangeOutput -} - -type RouteSpecHttpRouteMatchHeaderMatchRangeArgs struct { - // End of the range. - End pulumi.IntInput `pulumi:"end"` - // Start of the range. - Start pulumi.IntInput `pulumi:"start"` -} - -func (RouteSpecHttpRouteMatchHeaderMatchRangeArgs) ElementType() reflect.Type { - return reflect.TypeOf((*RouteSpecHttpRouteMatchHeaderMatchRange)(nil)).Elem() -} - -func (i RouteSpecHttpRouteMatchHeaderMatchRangeArgs) ToRouteSpecHttpRouteMatchHeaderMatchRangeOutput() RouteSpecHttpRouteMatchHeaderMatchRangeOutput { - return i.ToRouteSpecHttpRouteMatchHeaderMatchRangeOutputWithContext(context.Background()) +func (i RouteSpecHttp2RouteTimeoutIdleArgs) ToRouteSpecHttp2RouteTimeoutIdleOutput() RouteSpecHttp2RouteTimeoutIdleOutput { + return i.ToRouteSpecHttp2RouteTimeoutIdleOutputWithContext(context.Background()) } -func (i RouteSpecHttpRouteMatchHeaderMatchRangeArgs) ToRouteSpecHttpRouteMatchHeaderMatchRangeOutputWithContext(ctx context.Context) RouteSpecHttpRouteMatchHeaderMatchRangeOutput { - return pulumi.ToOutputWithContext(ctx, i).(RouteSpecHttpRouteMatchHeaderMatchRangeOutput) +func (i RouteSpecHttp2RouteTimeoutIdleArgs) ToRouteSpecHttp2RouteTimeoutIdleOutputWithContext(ctx context.Context) RouteSpecHttp2RouteTimeoutIdleOutput { + return pulumi.ToOutputWithContext(ctx, i).(RouteSpecHttp2RouteTimeoutIdleOutput) } -func (i RouteSpecHttpRouteMatchHeaderMatchRangeArgs) ToRouteSpecHttpRouteMatchHeaderMatchRangePtrOutput() RouteSpecHttpRouteMatchHeaderMatchRangePtrOutput { - return i.ToRouteSpecHttpRouteMatchHeaderMatchRangePtrOutputWithContext(context.Background()) +func (i RouteSpecHttp2RouteTimeoutIdleArgs) ToRouteSpecHttp2RouteTimeoutIdlePtrOutput() RouteSpecHttp2RouteTimeoutIdlePtrOutput { + return i.ToRouteSpecHttp2RouteTimeoutIdlePtrOutputWithContext(context.Background()) } -func (i RouteSpecHttpRouteMatchHeaderMatchRangeArgs) ToRouteSpecHttpRouteMatchHeaderMatchRangePtrOutputWithContext(ctx context.Context) RouteSpecHttpRouteMatchHeaderMatchRangePtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(RouteSpecHttpRouteMatchHeaderMatchRangeOutput).ToRouteSpecHttpRouteMatchHeaderMatchRangePtrOutputWithContext(ctx) +func (i RouteSpecHttp2RouteTimeoutIdleArgs) ToRouteSpecHttp2RouteTimeoutIdlePtrOutputWithContext(ctx context.Context) RouteSpecHttp2RouteTimeoutIdlePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(RouteSpecHttp2RouteTimeoutIdleOutput).ToRouteSpecHttp2RouteTimeoutIdlePtrOutputWithContext(ctx) } -// RouteSpecHttpRouteMatchHeaderMatchRangePtrInput is an input type that accepts RouteSpecHttpRouteMatchHeaderMatchRangeArgs, RouteSpecHttpRouteMatchHeaderMatchRangePtr and RouteSpecHttpRouteMatchHeaderMatchRangePtrOutput values. -// You can construct a concrete instance of `RouteSpecHttpRouteMatchHeaderMatchRangePtrInput` via: +// RouteSpecHttp2RouteTimeoutIdlePtrInput is an input type that accepts RouteSpecHttp2RouteTimeoutIdleArgs, RouteSpecHttp2RouteTimeoutIdlePtr and RouteSpecHttp2RouteTimeoutIdlePtrOutput values. +// You can construct a concrete instance of `RouteSpecHttp2RouteTimeoutIdlePtrInput` via: // -// RouteSpecHttpRouteMatchHeaderMatchRangeArgs{...} +// RouteSpecHttp2RouteTimeoutIdleArgs{...} // // or: // // nil -type RouteSpecHttpRouteMatchHeaderMatchRangePtrInput interface { +type RouteSpecHttp2RouteTimeoutIdlePtrInput interface { pulumi.Input - ToRouteSpecHttpRouteMatchHeaderMatchRangePtrOutput() RouteSpecHttpRouteMatchHeaderMatchRangePtrOutput - ToRouteSpecHttpRouteMatchHeaderMatchRangePtrOutputWithContext(context.Context) RouteSpecHttpRouteMatchHeaderMatchRangePtrOutput + ToRouteSpecHttp2RouteTimeoutIdlePtrOutput() RouteSpecHttp2RouteTimeoutIdlePtrOutput + ToRouteSpecHttp2RouteTimeoutIdlePtrOutputWithContext(context.Context) RouteSpecHttp2RouteTimeoutIdlePtrOutput } -type routeSpecHttpRouteMatchHeaderMatchRangePtrType RouteSpecHttpRouteMatchHeaderMatchRangeArgs +type routeSpecHttp2RouteTimeoutIdlePtrType RouteSpecHttp2RouteTimeoutIdleArgs -func RouteSpecHttpRouteMatchHeaderMatchRangePtr(v *RouteSpecHttpRouteMatchHeaderMatchRangeArgs) RouteSpecHttpRouteMatchHeaderMatchRangePtrInput { - return (*routeSpecHttpRouteMatchHeaderMatchRangePtrType)(v) +func RouteSpecHttp2RouteTimeoutIdlePtr(v *RouteSpecHttp2RouteTimeoutIdleArgs) RouteSpecHttp2RouteTimeoutIdlePtrInput { + return (*routeSpecHttp2RouteTimeoutIdlePtrType)(v) } -func (*routeSpecHttpRouteMatchHeaderMatchRangePtrType) ElementType() reflect.Type { - return reflect.TypeOf((**RouteSpecHttpRouteMatchHeaderMatchRange)(nil)).Elem() +func (*routeSpecHttp2RouteTimeoutIdlePtrType) ElementType() reflect.Type { + return reflect.TypeOf((**RouteSpecHttp2RouteTimeoutIdle)(nil)).Elem() } -func (i *routeSpecHttpRouteMatchHeaderMatchRangePtrType) ToRouteSpecHttpRouteMatchHeaderMatchRangePtrOutput() RouteSpecHttpRouteMatchHeaderMatchRangePtrOutput { - return i.ToRouteSpecHttpRouteMatchHeaderMatchRangePtrOutputWithContext(context.Background()) +func (i *routeSpecHttp2RouteTimeoutIdlePtrType) ToRouteSpecHttp2RouteTimeoutIdlePtrOutput() RouteSpecHttp2RouteTimeoutIdlePtrOutput { + return i.ToRouteSpecHttp2RouteTimeoutIdlePtrOutputWithContext(context.Background()) } -func (i *routeSpecHttpRouteMatchHeaderMatchRangePtrType) ToRouteSpecHttpRouteMatchHeaderMatchRangePtrOutputWithContext(ctx context.Context) RouteSpecHttpRouteMatchHeaderMatchRangePtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(RouteSpecHttpRouteMatchHeaderMatchRangePtrOutput) +func (i *routeSpecHttp2RouteTimeoutIdlePtrType) ToRouteSpecHttp2RouteTimeoutIdlePtrOutputWithContext(ctx context.Context) RouteSpecHttp2RouteTimeoutIdlePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(RouteSpecHttp2RouteTimeoutIdlePtrOutput) } -type RouteSpecHttpRouteMatchHeaderMatchRangeOutput struct{ *pulumi.OutputState } +type RouteSpecHttp2RouteTimeoutIdleOutput struct{ *pulumi.OutputState } -func (RouteSpecHttpRouteMatchHeaderMatchRangeOutput) ElementType() reflect.Type { - return reflect.TypeOf((*RouteSpecHttpRouteMatchHeaderMatchRange)(nil)).Elem() +func (RouteSpecHttp2RouteTimeoutIdleOutput) ElementType() reflect.Type { + return reflect.TypeOf((*RouteSpecHttp2RouteTimeoutIdle)(nil)).Elem() } -func (o RouteSpecHttpRouteMatchHeaderMatchRangeOutput) ToRouteSpecHttpRouteMatchHeaderMatchRangeOutput() RouteSpecHttpRouteMatchHeaderMatchRangeOutput { +func (o RouteSpecHttp2RouteTimeoutIdleOutput) ToRouteSpecHttp2RouteTimeoutIdleOutput() RouteSpecHttp2RouteTimeoutIdleOutput { return o } -func (o RouteSpecHttpRouteMatchHeaderMatchRangeOutput) ToRouteSpecHttpRouteMatchHeaderMatchRangeOutputWithContext(ctx context.Context) RouteSpecHttpRouteMatchHeaderMatchRangeOutput { +func (o RouteSpecHttp2RouteTimeoutIdleOutput) ToRouteSpecHttp2RouteTimeoutIdleOutputWithContext(ctx context.Context) RouteSpecHttp2RouteTimeoutIdleOutput { return o } -func (o RouteSpecHttpRouteMatchHeaderMatchRangeOutput) ToRouteSpecHttpRouteMatchHeaderMatchRangePtrOutput() RouteSpecHttpRouteMatchHeaderMatchRangePtrOutput { - return o.ToRouteSpecHttpRouteMatchHeaderMatchRangePtrOutputWithContext(context.Background()) +func (o RouteSpecHttp2RouteTimeoutIdleOutput) ToRouteSpecHttp2RouteTimeoutIdlePtrOutput() RouteSpecHttp2RouteTimeoutIdlePtrOutput { + return o.ToRouteSpecHttp2RouteTimeoutIdlePtrOutputWithContext(context.Background()) } -func (o RouteSpecHttpRouteMatchHeaderMatchRangeOutput) ToRouteSpecHttpRouteMatchHeaderMatchRangePtrOutputWithContext(ctx context.Context) RouteSpecHttpRouteMatchHeaderMatchRangePtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v RouteSpecHttpRouteMatchHeaderMatchRange) *RouteSpecHttpRouteMatchHeaderMatchRange { +func (o RouteSpecHttp2RouteTimeoutIdleOutput) ToRouteSpecHttp2RouteTimeoutIdlePtrOutputWithContext(ctx context.Context) RouteSpecHttp2RouteTimeoutIdlePtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v RouteSpecHttp2RouteTimeoutIdle) *RouteSpecHttp2RouteTimeoutIdle { return &v - }).(RouteSpecHttpRouteMatchHeaderMatchRangePtrOutput) + }).(RouteSpecHttp2RouteTimeoutIdlePtrOutput) } -// End of the range. -func (o RouteSpecHttpRouteMatchHeaderMatchRangeOutput) End() pulumi.IntOutput { - return o.ApplyT(func(v RouteSpecHttpRouteMatchHeaderMatchRange) int { return v.End }).(pulumi.IntOutput) +// Unit of time. Valid values: `ms`, `s`. +func (o RouteSpecHttp2RouteTimeoutIdleOutput) Unit() pulumi.StringOutput { + return o.ApplyT(func(v RouteSpecHttp2RouteTimeoutIdle) string { return v.Unit }).(pulumi.StringOutput) } -// Start of the range. -func (o RouteSpecHttpRouteMatchHeaderMatchRangeOutput) Start() pulumi.IntOutput { - return o.ApplyT(func(v RouteSpecHttpRouteMatchHeaderMatchRange) int { return v.Start }).(pulumi.IntOutput) +// Number of time units. Minimum value of `0`. +func (o RouteSpecHttp2RouteTimeoutIdleOutput) Value() pulumi.IntOutput { + return o.ApplyT(func(v RouteSpecHttp2RouteTimeoutIdle) int { return v.Value }).(pulumi.IntOutput) } -type RouteSpecHttpRouteMatchHeaderMatchRangePtrOutput struct{ *pulumi.OutputState } +type RouteSpecHttp2RouteTimeoutIdlePtrOutput struct{ *pulumi.OutputState } -func (RouteSpecHttpRouteMatchHeaderMatchRangePtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**RouteSpecHttpRouteMatchHeaderMatchRange)(nil)).Elem() +func (RouteSpecHttp2RouteTimeoutIdlePtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**RouteSpecHttp2RouteTimeoutIdle)(nil)).Elem() } -func (o RouteSpecHttpRouteMatchHeaderMatchRangePtrOutput) ToRouteSpecHttpRouteMatchHeaderMatchRangePtrOutput() RouteSpecHttpRouteMatchHeaderMatchRangePtrOutput { +func (o RouteSpecHttp2RouteTimeoutIdlePtrOutput) ToRouteSpecHttp2RouteTimeoutIdlePtrOutput() RouteSpecHttp2RouteTimeoutIdlePtrOutput { return o } -func (o RouteSpecHttpRouteMatchHeaderMatchRangePtrOutput) ToRouteSpecHttpRouteMatchHeaderMatchRangePtrOutputWithContext(ctx context.Context) RouteSpecHttpRouteMatchHeaderMatchRangePtrOutput { +func (o RouteSpecHttp2RouteTimeoutIdlePtrOutput) ToRouteSpecHttp2RouteTimeoutIdlePtrOutputWithContext(ctx context.Context) RouteSpecHttp2RouteTimeoutIdlePtrOutput { return o } -func (o RouteSpecHttpRouteMatchHeaderMatchRangePtrOutput) Elem() RouteSpecHttpRouteMatchHeaderMatchRangeOutput { - return o.ApplyT(func(v *RouteSpecHttpRouteMatchHeaderMatchRange) RouteSpecHttpRouteMatchHeaderMatchRange { +func (o RouteSpecHttp2RouteTimeoutIdlePtrOutput) Elem() RouteSpecHttp2RouteTimeoutIdleOutput { + return o.ApplyT(func(v *RouteSpecHttp2RouteTimeoutIdle) RouteSpecHttp2RouteTimeoutIdle { if v != nil { return *v } - var ret RouteSpecHttpRouteMatchHeaderMatchRange + var ret RouteSpecHttp2RouteTimeoutIdle return ret - }).(RouteSpecHttpRouteMatchHeaderMatchRangeOutput) + }).(RouteSpecHttp2RouteTimeoutIdleOutput) } -// End of the range. -func (o RouteSpecHttpRouteMatchHeaderMatchRangePtrOutput) End() pulumi.IntPtrOutput { - return o.ApplyT(func(v *RouteSpecHttpRouteMatchHeaderMatchRange) *int { +// Unit of time. Valid values: `ms`, `s`. +func (o RouteSpecHttp2RouteTimeoutIdlePtrOutput) Unit() pulumi.StringPtrOutput { + return o.ApplyT(func(v *RouteSpecHttp2RouteTimeoutIdle) *string { if v == nil { return nil } - return &v.End - }).(pulumi.IntPtrOutput) + return &v.Unit + }).(pulumi.StringPtrOutput) } -// Start of the range. -func (o RouteSpecHttpRouteMatchHeaderMatchRangePtrOutput) Start() pulumi.IntPtrOutput { - return o.ApplyT(func(v *RouteSpecHttpRouteMatchHeaderMatchRange) *int { +// Number of time units. Minimum value of `0`. +func (o RouteSpecHttp2RouteTimeoutIdlePtrOutput) Value() pulumi.IntPtrOutput { + return o.ApplyT(func(v *RouteSpecHttp2RouteTimeoutIdle) *int { if v == nil { return nil } - return &v.Start + return &v.Value }).(pulumi.IntPtrOutput) } -type RouteSpecHttpRouteRetryPolicy struct { - // List of HTTP retry events. - // Valid values: `client-error` (HTTP status code 409), `gateway-error` (HTTP status codes 502, 503, and 504), `server-error` (HTTP status codes 500, 501, 502, 503, 504, 505, 506, 507, 508, 510, and 511), `stream-error` (retry on refused stream). - // Valid values: `client-error` (HTTP status code 409), `gateway-error` (HTTP status codes 502, 503, and 504), `server-error` (HTTP status codes 500, 501, 502, 503, 504, 505, 506, 507, 508, 510, and 511), `stream-error` (retry on refused stream). - HttpRetryEvents []string `pulumi:"httpRetryEvents"` - // Maximum number of retries. - MaxRetries int `pulumi:"maxRetries"` - // Per-retry timeout. - PerRetryTimeout RouteSpecHttpRouteRetryPolicyPerRetryTimeout `pulumi:"perRetryTimeout"` - // List of TCP retry events. The only valid value is `connection-error`. - TcpRetryEvents []string `pulumi:"tcpRetryEvents"` +type RouteSpecHttp2RouteTimeoutPerRequest struct { + // Unit of time. Valid values: `ms`, `s`. + Unit string `pulumi:"unit"` + // Number of time units. Minimum value of `0`. + Value int `pulumi:"value"` } -// RouteSpecHttpRouteRetryPolicyInput is an input type that accepts RouteSpecHttpRouteRetryPolicyArgs and RouteSpecHttpRouteRetryPolicyOutput values. -// You can construct a concrete instance of `RouteSpecHttpRouteRetryPolicyInput` via: +// RouteSpecHttp2RouteTimeoutPerRequestInput is an input type that accepts RouteSpecHttp2RouteTimeoutPerRequestArgs and RouteSpecHttp2RouteTimeoutPerRequestOutput values. +// You can construct a concrete instance of `RouteSpecHttp2RouteTimeoutPerRequestInput` via: // -// RouteSpecHttpRouteRetryPolicyArgs{...} -type RouteSpecHttpRouteRetryPolicyInput interface { +// RouteSpecHttp2RouteTimeoutPerRequestArgs{...} +type RouteSpecHttp2RouteTimeoutPerRequestInput interface { pulumi.Input - ToRouteSpecHttpRouteRetryPolicyOutput() RouteSpecHttpRouteRetryPolicyOutput - ToRouteSpecHttpRouteRetryPolicyOutputWithContext(context.Context) RouteSpecHttpRouteRetryPolicyOutput + ToRouteSpecHttp2RouteTimeoutPerRequestOutput() RouteSpecHttp2RouteTimeoutPerRequestOutput + ToRouteSpecHttp2RouteTimeoutPerRequestOutputWithContext(context.Context) RouteSpecHttp2RouteTimeoutPerRequestOutput } -type RouteSpecHttpRouteRetryPolicyArgs struct { - // List of HTTP retry events. - // Valid values: `client-error` (HTTP status code 409), `gateway-error` (HTTP status codes 502, 503, and 504), `server-error` (HTTP status codes 500, 501, 502, 503, 504, 505, 506, 507, 508, 510, and 511), `stream-error` (retry on refused stream). - // Valid values: `client-error` (HTTP status code 409), `gateway-error` (HTTP status codes 502, 503, and 504), `server-error` (HTTP status codes 500, 501, 502, 503, 504, 505, 506, 507, 508, 510, and 511), `stream-error` (retry on refused stream). - HttpRetryEvents pulumi.StringArrayInput `pulumi:"httpRetryEvents"` - // Maximum number of retries. - MaxRetries pulumi.IntInput `pulumi:"maxRetries"` - // Per-retry timeout. - PerRetryTimeout RouteSpecHttpRouteRetryPolicyPerRetryTimeoutInput `pulumi:"perRetryTimeout"` - // List of TCP retry events. The only valid value is `connection-error`. - TcpRetryEvents pulumi.StringArrayInput `pulumi:"tcpRetryEvents"` +type RouteSpecHttp2RouteTimeoutPerRequestArgs struct { + // Unit of time. Valid values: `ms`, `s`. + Unit pulumi.StringInput `pulumi:"unit"` + // Number of time units. Minimum value of `0`. + Value pulumi.IntInput `pulumi:"value"` } -func (RouteSpecHttpRouteRetryPolicyArgs) ElementType() reflect.Type { - return reflect.TypeOf((*RouteSpecHttpRouteRetryPolicy)(nil)).Elem() +func (RouteSpecHttp2RouteTimeoutPerRequestArgs) ElementType() reflect.Type { + return reflect.TypeOf((*RouteSpecHttp2RouteTimeoutPerRequest)(nil)).Elem() } -func (i RouteSpecHttpRouteRetryPolicyArgs) ToRouteSpecHttpRouteRetryPolicyOutput() RouteSpecHttpRouteRetryPolicyOutput { - return i.ToRouteSpecHttpRouteRetryPolicyOutputWithContext(context.Background()) +func (i RouteSpecHttp2RouteTimeoutPerRequestArgs) ToRouteSpecHttp2RouteTimeoutPerRequestOutput() RouteSpecHttp2RouteTimeoutPerRequestOutput { + return i.ToRouteSpecHttp2RouteTimeoutPerRequestOutputWithContext(context.Background()) } -func (i RouteSpecHttpRouteRetryPolicyArgs) ToRouteSpecHttpRouteRetryPolicyOutputWithContext(ctx context.Context) RouteSpecHttpRouteRetryPolicyOutput { - return pulumi.ToOutputWithContext(ctx, i).(RouteSpecHttpRouteRetryPolicyOutput) +func (i RouteSpecHttp2RouteTimeoutPerRequestArgs) ToRouteSpecHttp2RouteTimeoutPerRequestOutputWithContext(ctx context.Context) RouteSpecHttp2RouteTimeoutPerRequestOutput { + return pulumi.ToOutputWithContext(ctx, i).(RouteSpecHttp2RouteTimeoutPerRequestOutput) } -func (i RouteSpecHttpRouteRetryPolicyArgs) ToRouteSpecHttpRouteRetryPolicyPtrOutput() RouteSpecHttpRouteRetryPolicyPtrOutput { - return i.ToRouteSpecHttpRouteRetryPolicyPtrOutputWithContext(context.Background()) +func (i RouteSpecHttp2RouteTimeoutPerRequestArgs) ToRouteSpecHttp2RouteTimeoutPerRequestPtrOutput() RouteSpecHttp2RouteTimeoutPerRequestPtrOutput { + return i.ToRouteSpecHttp2RouteTimeoutPerRequestPtrOutputWithContext(context.Background()) } -func (i RouteSpecHttpRouteRetryPolicyArgs) ToRouteSpecHttpRouteRetryPolicyPtrOutputWithContext(ctx context.Context) RouteSpecHttpRouteRetryPolicyPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(RouteSpecHttpRouteRetryPolicyOutput).ToRouteSpecHttpRouteRetryPolicyPtrOutputWithContext(ctx) +func (i RouteSpecHttp2RouteTimeoutPerRequestArgs) ToRouteSpecHttp2RouteTimeoutPerRequestPtrOutputWithContext(ctx context.Context) RouteSpecHttp2RouteTimeoutPerRequestPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(RouteSpecHttp2RouteTimeoutPerRequestOutput).ToRouteSpecHttp2RouteTimeoutPerRequestPtrOutputWithContext(ctx) } -// RouteSpecHttpRouteRetryPolicyPtrInput is an input type that accepts RouteSpecHttpRouteRetryPolicyArgs, RouteSpecHttpRouteRetryPolicyPtr and RouteSpecHttpRouteRetryPolicyPtrOutput values. -// You can construct a concrete instance of `RouteSpecHttpRouteRetryPolicyPtrInput` via: +// RouteSpecHttp2RouteTimeoutPerRequestPtrInput is an input type that accepts RouteSpecHttp2RouteTimeoutPerRequestArgs, RouteSpecHttp2RouteTimeoutPerRequestPtr and RouteSpecHttp2RouteTimeoutPerRequestPtrOutput values. +// You can construct a concrete instance of `RouteSpecHttp2RouteTimeoutPerRequestPtrInput` via: // -// RouteSpecHttpRouteRetryPolicyArgs{...} +// RouteSpecHttp2RouteTimeoutPerRequestArgs{...} // // or: // // nil -type RouteSpecHttpRouteRetryPolicyPtrInput interface { +type RouteSpecHttp2RouteTimeoutPerRequestPtrInput interface { pulumi.Input - ToRouteSpecHttpRouteRetryPolicyPtrOutput() RouteSpecHttpRouteRetryPolicyPtrOutput - ToRouteSpecHttpRouteRetryPolicyPtrOutputWithContext(context.Context) RouteSpecHttpRouteRetryPolicyPtrOutput + ToRouteSpecHttp2RouteTimeoutPerRequestPtrOutput() RouteSpecHttp2RouteTimeoutPerRequestPtrOutput + ToRouteSpecHttp2RouteTimeoutPerRequestPtrOutputWithContext(context.Context) RouteSpecHttp2RouteTimeoutPerRequestPtrOutput } -type routeSpecHttpRouteRetryPolicyPtrType RouteSpecHttpRouteRetryPolicyArgs +type routeSpecHttp2RouteTimeoutPerRequestPtrType RouteSpecHttp2RouteTimeoutPerRequestArgs -func RouteSpecHttpRouteRetryPolicyPtr(v *RouteSpecHttpRouteRetryPolicyArgs) RouteSpecHttpRouteRetryPolicyPtrInput { - return (*routeSpecHttpRouteRetryPolicyPtrType)(v) +func RouteSpecHttp2RouteTimeoutPerRequestPtr(v *RouteSpecHttp2RouteTimeoutPerRequestArgs) RouteSpecHttp2RouteTimeoutPerRequestPtrInput { + return (*routeSpecHttp2RouteTimeoutPerRequestPtrType)(v) } -func (*routeSpecHttpRouteRetryPolicyPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**RouteSpecHttpRouteRetryPolicy)(nil)).Elem() +func (*routeSpecHttp2RouteTimeoutPerRequestPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**RouteSpecHttp2RouteTimeoutPerRequest)(nil)).Elem() } -func (i *routeSpecHttpRouteRetryPolicyPtrType) ToRouteSpecHttpRouteRetryPolicyPtrOutput() RouteSpecHttpRouteRetryPolicyPtrOutput { - return i.ToRouteSpecHttpRouteRetryPolicyPtrOutputWithContext(context.Background()) +func (i *routeSpecHttp2RouteTimeoutPerRequestPtrType) ToRouteSpecHttp2RouteTimeoutPerRequestPtrOutput() RouteSpecHttp2RouteTimeoutPerRequestPtrOutput { + return i.ToRouteSpecHttp2RouteTimeoutPerRequestPtrOutputWithContext(context.Background()) } -func (i *routeSpecHttpRouteRetryPolicyPtrType) ToRouteSpecHttpRouteRetryPolicyPtrOutputWithContext(ctx context.Context) RouteSpecHttpRouteRetryPolicyPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(RouteSpecHttpRouteRetryPolicyPtrOutput) +func (i *routeSpecHttp2RouteTimeoutPerRequestPtrType) ToRouteSpecHttp2RouteTimeoutPerRequestPtrOutputWithContext(ctx context.Context) RouteSpecHttp2RouteTimeoutPerRequestPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(RouteSpecHttp2RouteTimeoutPerRequestPtrOutput) } -type RouteSpecHttpRouteRetryPolicyOutput struct{ *pulumi.OutputState } +type RouteSpecHttp2RouteTimeoutPerRequestOutput struct{ *pulumi.OutputState } -func (RouteSpecHttpRouteRetryPolicyOutput) ElementType() reflect.Type { - return reflect.TypeOf((*RouteSpecHttpRouteRetryPolicy)(nil)).Elem() +func (RouteSpecHttp2RouteTimeoutPerRequestOutput) ElementType() reflect.Type { + return reflect.TypeOf((*RouteSpecHttp2RouteTimeoutPerRequest)(nil)).Elem() } -func (o RouteSpecHttpRouteRetryPolicyOutput) ToRouteSpecHttpRouteRetryPolicyOutput() RouteSpecHttpRouteRetryPolicyOutput { +func (o RouteSpecHttp2RouteTimeoutPerRequestOutput) ToRouteSpecHttp2RouteTimeoutPerRequestOutput() RouteSpecHttp2RouteTimeoutPerRequestOutput { return o } -func (o RouteSpecHttpRouteRetryPolicyOutput) ToRouteSpecHttpRouteRetryPolicyOutputWithContext(ctx context.Context) RouteSpecHttpRouteRetryPolicyOutput { +func (o RouteSpecHttp2RouteTimeoutPerRequestOutput) ToRouteSpecHttp2RouteTimeoutPerRequestOutputWithContext(ctx context.Context) RouteSpecHttp2RouteTimeoutPerRequestOutput { return o } -func (o RouteSpecHttpRouteRetryPolicyOutput) ToRouteSpecHttpRouteRetryPolicyPtrOutput() RouteSpecHttpRouteRetryPolicyPtrOutput { - return o.ToRouteSpecHttpRouteRetryPolicyPtrOutputWithContext(context.Background()) +func (o RouteSpecHttp2RouteTimeoutPerRequestOutput) ToRouteSpecHttp2RouteTimeoutPerRequestPtrOutput() RouteSpecHttp2RouteTimeoutPerRequestPtrOutput { + return o.ToRouteSpecHttp2RouteTimeoutPerRequestPtrOutputWithContext(context.Background()) } -func (o RouteSpecHttpRouteRetryPolicyOutput) ToRouteSpecHttpRouteRetryPolicyPtrOutputWithContext(ctx context.Context) RouteSpecHttpRouteRetryPolicyPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v RouteSpecHttpRouteRetryPolicy) *RouteSpecHttpRouteRetryPolicy { +func (o RouteSpecHttp2RouteTimeoutPerRequestOutput) ToRouteSpecHttp2RouteTimeoutPerRequestPtrOutputWithContext(ctx context.Context) RouteSpecHttp2RouteTimeoutPerRequestPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v RouteSpecHttp2RouteTimeoutPerRequest) *RouteSpecHttp2RouteTimeoutPerRequest { return &v - }).(RouteSpecHttpRouteRetryPolicyPtrOutput) -} - -// List of HTTP retry events. -// Valid values: `client-error` (HTTP status code 409), `gateway-error` (HTTP status codes 502, 503, and 504), `server-error` (HTTP status codes 500, 501, 502, 503, 504, 505, 506, 507, 508, 510, and 511), `stream-error` (retry on refused stream). -// Valid values: `client-error` (HTTP status code 409), `gateway-error` (HTTP status codes 502, 503, and 504), `server-error` (HTTP status codes 500, 501, 502, 503, 504, 505, 506, 507, 508, 510, and 511), `stream-error` (retry on refused stream). -func (o RouteSpecHttpRouteRetryPolicyOutput) HttpRetryEvents() pulumi.StringArrayOutput { - return o.ApplyT(func(v RouteSpecHttpRouteRetryPolicy) []string { return v.HttpRetryEvents }).(pulumi.StringArrayOutput) -} - -// Maximum number of retries. -func (o RouteSpecHttpRouteRetryPolicyOutput) MaxRetries() pulumi.IntOutput { - return o.ApplyT(func(v RouteSpecHttpRouteRetryPolicy) int { return v.MaxRetries }).(pulumi.IntOutput) + }).(RouteSpecHttp2RouteTimeoutPerRequestPtrOutput) } -// Per-retry timeout. -func (o RouteSpecHttpRouteRetryPolicyOutput) PerRetryTimeout() RouteSpecHttpRouteRetryPolicyPerRetryTimeoutOutput { - return o.ApplyT(func(v RouteSpecHttpRouteRetryPolicy) RouteSpecHttpRouteRetryPolicyPerRetryTimeout { - return v.PerRetryTimeout - }).(RouteSpecHttpRouteRetryPolicyPerRetryTimeoutOutput) +// Unit of time. Valid values: `ms`, `s`. +func (o RouteSpecHttp2RouteTimeoutPerRequestOutput) Unit() pulumi.StringOutput { + return o.ApplyT(func(v RouteSpecHttp2RouteTimeoutPerRequest) string { return v.Unit }).(pulumi.StringOutput) } -// List of TCP retry events. The only valid value is `connection-error`. -func (o RouteSpecHttpRouteRetryPolicyOutput) TcpRetryEvents() pulumi.StringArrayOutput { - return o.ApplyT(func(v RouteSpecHttpRouteRetryPolicy) []string { return v.TcpRetryEvents }).(pulumi.StringArrayOutput) +// Number of time units. Minimum value of `0`. +func (o RouteSpecHttp2RouteTimeoutPerRequestOutput) Value() pulumi.IntOutput { + return o.ApplyT(func(v RouteSpecHttp2RouteTimeoutPerRequest) int { return v.Value }).(pulumi.IntOutput) } -type RouteSpecHttpRouteRetryPolicyPtrOutput struct{ *pulumi.OutputState } +type RouteSpecHttp2RouteTimeoutPerRequestPtrOutput struct{ *pulumi.OutputState } -func (RouteSpecHttpRouteRetryPolicyPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**RouteSpecHttpRouteRetryPolicy)(nil)).Elem() +func (RouteSpecHttp2RouteTimeoutPerRequestPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**RouteSpecHttp2RouteTimeoutPerRequest)(nil)).Elem() } -func (o RouteSpecHttpRouteRetryPolicyPtrOutput) ToRouteSpecHttpRouteRetryPolicyPtrOutput() RouteSpecHttpRouteRetryPolicyPtrOutput { +func (o RouteSpecHttp2RouteTimeoutPerRequestPtrOutput) ToRouteSpecHttp2RouteTimeoutPerRequestPtrOutput() RouteSpecHttp2RouteTimeoutPerRequestPtrOutput { return o } -func (o RouteSpecHttpRouteRetryPolicyPtrOutput) ToRouteSpecHttpRouteRetryPolicyPtrOutputWithContext(ctx context.Context) RouteSpecHttpRouteRetryPolicyPtrOutput { +func (o RouteSpecHttp2RouteTimeoutPerRequestPtrOutput) ToRouteSpecHttp2RouteTimeoutPerRequestPtrOutputWithContext(ctx context.Context) RouteSpecHttp2RouteTimeoutPerRequestPtrOutput { return o } -func (o RouteSpecHttpRouteRetryPolicyPtrOutput) Elem() RouteSpecHttpRouteRetryPolicyOutput { - return o.ApplyT(func(v *RouteSpecHttpRouteRetryPolicy) RouteSpecHttpRouteRetryPolicy { +func (o RouteSpecHttp2RouteTimeoutPerRequestPtrOutput) Elem() RouteSpecHttp2RouteTimeoutPerRequestOutput { + return o.ApplyT(func(v *RouteSpecHttp2RouteTimeoutPerRequest) RouteSpecHttp2RouteTimeoutPerRequest { if v != nil { return *v } - var ret RouteSpecHttpRouteRetryPolicy + var ret RouteSpecHttp2RouteTimeoutPerRequest return ret - }).(RouteSpecHttpRouteRetryPolicyOutput) + }).(RouteSpecHttp2RouteTimeoutPerRequestOutput) } -// List of HTTP retry events. -// Valid values: `client-error` (HTTP status code 409), `gateway-error` (HTTP status codes 502, 503, and 504), `server-error` (HTTP status codes 500, 501, 502, 503, 504, 505, 506, 507, 508, 510, and 511), `stream-error` (retry on refused stream). -// Valid values: `client-error` (HTTP status code 409), `gateway-error` (HTTP status codes 502, 503, and 504), `server-error` (HTTP status codes 500, 501, 502, 503, 504, 505, 506, 507, 508, 510, and 511), `stream-error` (retry on refused stream). -func (o RouteSpecHttpRouteRetryPolicyPtrOutput) HttpRetryEvents() pulumi.StringArrayOutput { - return o.ApplyT(func(v *RouteSpecHttpRouteRetryPolicy) []string { +// Unit of time. Valid values: `ms`, `s`. +func (o RouteSpecHttp2RouteTimeoutPerRequestPtrOutput) Unit() pulumi.StringPtrOutput { + return o.ApplyT(func(v *RouteSpecHttp2RouteTimeoutPerRequest) *string { if v == nil { return nil } - return v.HttpRetryEvents - }).(pulumi.StringArrayOutput) + return &v.Unit + }).(pulumi.StringPtrOutput) } -// Maximum number of retries. -func (o RouteSpecHttpRouteRetryPolicyPtrOutput) MaxRetries() pulumi.IntPtrOutput { - return o.ApplyT(func(v *RouteSpecHttpRouteRetryPolicy) *int { +// Number of time units. Minimum value of `0`. +func (o RouteSpecHttp2RouteTimeoutPerRequestPtrOutput) Value() pulumi.IntPtrOutput { + return o.ApplyT(func(v *RouteSpecHttp2RouteTimeoutPerRequest) *int { if v == nil { return nil } - return &v.MaxRetries + return &v.Value }).(pulumi.IntPtrOutput) } -// Per-retry timeout. -func (o RouteSpecHttpRouteRetryPolicyPtrOutput) PerRetryTimeout() RouteSpecHttpRouteRetryPolicyPerRetryTimeoutPtrOutput { - return o.ApplyT(func(v *RouteSpecHttpRouteRetryPolicy) *RouteSpecHttpRouteRetryPolicyPerRetryTimeout { - if v == nil { - return nil - } - return &v.PerRetryTimeout - }).(RouteSpecHttpRouteRetryPolicyPerRetryTimeoutPtrOutput) -} - -// List of TCP retry events. The only valid value is `connection-error`. -func (o RouteSpecHttpRouteRetryPolicyPtrOutput) TcpRetryEvents() pulumi.StringArrayOutput { - return o.ApplyT(func(v *RouteSpecHttpRouteRetryPolicy) []string { - if v == nil { - return nil - } - return v.TcpRetryEvents - }).(pulumi.StringArrayOutput) -} - -type RouteSpecHttpRouteRetryPolicyPerRetryTimeout struct { - // Retry unit. Valid values: `ms`, `s`. - Unit string `pulumi:"unit"` - // Retry value. - Value int `pulumi:"value"` +type RouteSpecHttpRoute struct { + // Action to take if a match is determined. + Action RouteSpecHttpRouteAction `pulumi:"action"` + // Criteria for determining an HTTP request match. + Match RouteSpecHttpRouteMatch `pulumi:"match"` + // Retry policy. + RetryPolicy *RouteSpecHttpRouteRetryPolicy `pulumi:"retryPolicy"` + // Types of timeouts. + Timeout *RouteSpecHttpRouteTimeout `pulumi:"timeout"` } -// RouteSpecHttpRouteRetryPolicyPerRetryTimeoutInput is an input type that accepts RouteSpecHttpRouteRetryPolicyPerRetryTimeoutArgs and RouteSpecHttpRouteRetryPolicyPerRetryTimeoutOutput values. -// You can construct a concrete instance of `RouteSpecHttpRouteRetryPolicyPerRetryTimeoutInput` via: +// RouteSpecHttpRouteInput is an input type that accepts RouteSpecHttpRouteArgs and RouteSpecHttpRouteOutput values. +// You can construct a concrete instance of `RouteSpecHttpRouteInput` via: // -// RouteSpecHttpRouteRetryPolicyPerRetryTimeoutArgs{...} -type RouteSpecHttpRouteRetryPolicyPerRetryTimeoutInput interface { +// RouteSpecHttpRouteArgs{...} +type RouteSpecHttpRouteInput interface { pulumi.Input - ToRouteSpecHttpRouteRetryPolicyPerRetryTimeoutOutput() RouteSpecHttpRouteRetryPolicyPerRetryTimeoutOutput - ToRouteSpecHttpRouteRetryPolicyPerRetryTimeoutOutputWithContext(context.Context) RouteSpecHttpRouteRetryPolicyPerRetryTimeoutOutput + ToRouteSpecHttpRouteOutput() RouteSpecHttpRouteOutput + ToRouteSpecHttpRouteOutputWithContext(context.Context) RouteSpecHttpRouteOutput } -type RouteSpecHttpRouteRetryPolicyPerRetryTimeoutArgs struct { - // Retry unit. Valid values: `ms`, `s`. - Unit pulumi.StringInput `pulumi:"unit"` - // Retry value. - Value pulumi.IntInput `pulumi:"value"` +type RouteSpecHttpRouteArgs struct { + // Action to take if a match is determined. + Action RouteSpecHttpRouteActionInput `pulumi:"action"` + // Criteria for determining an HTTP request match. + Match RouteSpecHttpRouteMatchInput `pulumi:"match"` + // Retry policy. + RetryPolicy RouteSpecHttpRouteRetryPolicyPtrInput `pulumi:"retryPolicy"` + // Types of timeouts. + Timeout RouteSpecHttpRouteTimeoutPtrInput `pulumi:"timeout"` } -func (RouteSpecHttpRouteRetryPolicyPerRetryTimeoutArgs) ElementType() reflect.Type { - return reflect.TypeOf((*RouteSpecHttpRouteRetryPolicyPerRetryTimeout)(nil)).Elem() +func (RouteSpecHttpRouteArgs) ElementType() reflect.Type { + return reflect.TypeOf((*RouteSpecHttpRoute)(nil)).Elem() } -func (i RouteSpecHttpRouteRetryPolicyPerRetryTimeoutArgs) ToRouteSpecHttpRouteRetryPolicyPerRetryTimeoutOutput() RouteSpecHttpRouteRetryPolicyPerRetryTimeoutOutput { - return i.ToRouteSpecHttpRouteRetryPolicyPerRetryTimeoutOutputWithContext(context.Background()) +func (i RouteSpecHttpRouteArgs) ToRouteSpecHttpRouteOutput() RouteSpecHttpRouteOutput { + return i.ToRouteSpecHttpRouteOutputWithContext(context.Background()) } -func (i RouteSpecHttpRouteRetryPolicyPerRetryTimeoutArgs) ToRouteSpecHttpRouteRetryPolicyPerRetryTimeoutOutputWithContext(ctx context.Context) RouteSpecHttpRouteRetryPolicyPerRetryTimeoutOutput { - return pulumi.ToOutputWithContext(ctx, i).(RouteSpecHttpRouteRetryPolicyPerRetryTimeoutOutput) +func (i RouteSpecHttpRouteArgs) ToRouteSpecHttpRouteOutputWithContext(ctx context.Context) RouteSpecHttpRouteOutput { + return pulumi.ToOutputWithContext(ctx, i).(RouteSpecHttpRouteOutput) } -func (i RouteSpecHttpRouteRetryPolicyPerRetryTimeoutArgs) ToRouteSpecHttpRouteRetryPolicyPerRetryTimeoutPtrOutput() RouteSpecHttpRouteRetryPolicyPerRetryTimeoutPtrOutput { - return i.ToRouteSpecHttpRouteRetryPolicyPerRetryTimeoutPtrOutputWithContext(context.Background()) +func (i RouteSpecHttpRouteArgs) ToRouteSpecHttpRoutePtrOutput() RouteSpecHttpRoutePtrOutput { + return i.ToRouteSpecHttpRoutePtrOutputWithContext(context.Background()) } -func (i RouteSpecHttpRouteRetryPolicyPerRetryTimeoutArgs) ToRouteSpecHttpRouteRetryPolicyPerRetryTimeoutPtrOutputWithContext(ctx context.Context) RouteSpecHttpRouteRetryPolicyPerRetryTimeoutPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(RouteSpecHttpRouteRetryPolicyPerRetryTimeoutOutput).ToRouteSpecHttpRouteRetryPolicyPerRetryTimeoutPtrOutputWithContext(ctx) +func (i RouteSpecHttpRouteArgs) ToRouteSpecHttpRoutePtrOutputWithContext(ctx context.Context) RouteSpecHttpRoutePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(RouteSpecHttpRouteOutput).ToRouteSpecHttpRoutePtrOutputWithContext(ctx) } -// RouteSpecHttpRouteRetryPolicyPerRetryTimeoutPtrInput is an input type that accepts RouteSpecHttpRouteRetryPolicyPerRetryTimeoutArgs, RouteSpecHttpRouteRetryPolicyPerRetryTimeoutPtr and RouteSpecHttpRouteRetryPolicyPerRetryTimeoutPtrOutput values. -// You can construct a concrete instance of `RouteSpecHttpRouteRetryPolicyPerRetryTimeoutPtrInput` via: +// RouteSpecHttpRoutePtrInput is an input type that accepts RouteSpecHttpRouteArgs, RouteSpecHttpRoutePtr and RouteSpecHttpRoutePtrOutput values. +// You can construct a concrete instance of `RouteSpecHttpRoutePtrInput` via: // -// RouteSpecHttpRouteRetryPolicyPerRetryTimeoutArgs{...} +// RouteSpecHttpRouteArgs{...} // // or: // // nil -type RouteSpecHttpRouteRetryPolicyPerRetryTimeoutPtrInput interface { +type RouteSpecHttpRoutePtrInput interface { pulumi.Input - ToRouteSpecHttpRouteRetryPolicyPerRetryTimeoutPtrOutput() RouteSpecHttpRouteRetryPolicyPerRetryTimeoutPtrOutput - ToRouteSpecHttpRouteRetryPolicyPerRetryTimeoutPtrOutputWithContext(context.Context) RouteSpecHttpRouteRetryPolicyPerRetryTimeoutPtrOutput + ToRouteSpecHttpRoutePtrOutput() RouteSpecHttpRoutePtrOutput + ToRouteSpecHttpRoutePtrOutputWithContext(context.Context) RouteSpecHttpRoutePtrOutput } -type routeSpecHttpRouteRetryPolicyPerRetryTimeoutPtrType RouteSpecHttpRouteRetryPolicyPerRetryTimeoutArgs +type routeSpecHttpRoutePtrType RouteSpecHttpRouteArgs -func RouteSpecHttpRouteRetryPolicyPerRetryTimeoutPtr(v *RouteSpecHttpRouteRetryPolicyPerRetryTimeoutArgs) RouteSpecHttpRouteRetryPolicyPerRetryTimeoutPtrInput { - return (*routeSpecHttpRouteRetryPolicyPerRetryTimeoutPtrType)(v) +func RouteSpecHttpRoutePtr(v *RouteSpecHttpRouteArgs) RouteSpecHttpRoutePtrInput { + return (*routeSpecHttpRoutePtrType)(v) } -func (*routeSpecHttpRouteRetryPolicyPerRetryTimeoutPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**RouteSpecHttpRouteRetryPolicyPerRetryTimeout)(nil)).Elem() +func (*routeSpecHttpRoutePtrType) ElementType() reflect.Type { + return reflect.TypeOf((**RouteSpecHttpRoute)(nil)).Elem() } -func (i *routeSpecHttpRouteRetryPolicyPerRetryTimeoutPtrType) ToRouteSpecHttpRouteRetryPolicyPerRetryTimeoutPtrOutput() RouteSpecHttpRouteRetryPolicyPerRetryTimeoutPtrOutput { - return i.ToRouteSpecHttpRouteRetryPolicyPerRetryTimeoutPtrOutputWithContext(context.Background()) +func (i *routeSpecHttpRoutePtrType) ToRouteSpecHttpRoutePtrOutput() RouteSpecHttpRoutePtrOutput { + return i.ToRouteSpecHttpRoutePtrOutputWithContext(context.Background()) } -func (i *routeSpecHttpRouteRetryPolicyPerRetryTimeoutPtrType) ToRouteSpecHttpRouteRetryPolicyPerRetryTimeoutPtrOutputWithContext(ctx context.Context) RouteSpecHttpRouteRetryPolicyPerRetryTimeoutPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(RouteSpecHttpRouteRetryPolicyPerRetryTimeoutPtrOutput) +func (i *routeSpecHttpRoutePtrType) ToRouteSpecHttpRoutePtrOutputWithContext(ctx context.Context) RouteSpecHttpRoutePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(RouteSpecHttpRoutePtrOutput) } -type RouteSpecHttpRouteRetryPolicyPerRetryTimeoutOutput struct{ *pulumi.OutputState } +type RouteSpecHttpRouteOutput struct{ *pulumi.OutputState } -func (RouteSpecHttpRouteRetryPolicyPerRetryTimeoutOutput) ElementType() reflect.Type { - return reflect.TypeOf((*RouteSpecHttpRouteRetryPolicyPerRetryTimeout)(nil)).Elem() +func (RouteSpecHttpRouteOutput) ElementType() reflect.Type { + return reflect.TypeOf((*RouteSpecHttpRoute)(nil)).Elem() } -func (o RouteSpecHttpRouteRetryPolicyPerRetryTimeoutOutput) ToRouteSpecHttpRouteRetryPolicyPerRetryTimeoutOutput() RouteSpecHttpRouteRetryPolicyPerRetryTimeoutOutput { +func (o RouteSpecHttpRouteOutput) ToRouteSpecHttpRouteOutput() RouteSpecHttpRouteOutput { return o } -func (o RouteSpecHttpRouteRetryPolicyPerRetryTimeoutOutput) ToRouteSpecHttpRouteRetryPolicyPerRetryTimeoutOutputWithContext(ctx context.Context) RouteSpecHttpRouteRetryPolicyPerRetryTimeoutOutput { +func (o RouteSpecHttpRouteOutput) ToRouteSpecHttpRouteOutputWithContext(ctx context.Context) RouteSpecHttpRouteOutput { return o } -func (o RouteSpecHttpRouteRetryPolicyPerRetryTimeoutOutput) ToRouteSpecHttpRouteRetryPolicyPerRetryTimeoutPtrOutput() RouteSpecHttpRouteRetryPolicyPerRetryTimeoutPtrOutput { - return o.ToRouteSpecHttpRouteRetryPolicyPerRetryTimeoutPtrOutputWithContext(context.Background()) +func (o RouteSpecHttpRouteOutput) ToRouteSpecHttpRoutePtrOutput() RouteSpecHttpRoutePtrOutput { + return o.ToRouteSpecHttpRoutePtrOutputWithContext(context.Background()) } -func (o RouteSpecHttpRouteRetryPolicyPerRetryTimeoutOutput) ToRouteSpecHttpRouteRetryPolicyPerRetryTimeoutPtrOutputWithContext(ctx context.Context) RouteSpecHttpRouteRetryPolicyPerRetryTimeoutPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v RouteSpecHttpRouteRetryPolicyPerRetryTimeout) *RouteSpecHttpRouteRetryPolicyPerRetryTimeout { +func (o RouteSpecHttpRouteOutput) ToRouteSpecHttpRoutePtrOutputWithContext(ctx context.Context) RouteSpecHttpRoutePtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v RouteSpecHttpRoute) *RouteSpecHttpRoute { return &v - }).(RouteSpecHttpRouteRetryPolicyPerRetryTimeoutPtrOutput) + }).(RouteSpecHttpRoutePtrOutput) } -// Retry unit. Valid values: `ms`, `s`. -func (o RouteSpecHttpRouteRetryPolicyPerRetryTimeoutOutput) Unit() pulumi.StringOutput { - return o.ApplyT(func(v RouteSpecHttpRouteRetryPolicyPerRetryTimeout) string { return v.Unit }).(pulumi.StringOutput) +// Action to take if a match is determined. +func (o RouteSpecHttpRouteOutput) Action() RouteSpecHttpRouteActionOutput { + return o.ApplyT(func(v RouteSpecHttpRoute) RouteSpecHttpRouteAction { return v.Action }).(RouteSpecHttpRouteActionOutput) } -// Retry value. -func (o RouteSpecHttpRouteRetryPolicyPerRetryTimeoutOutput) Value() pulumi.IntOutput { - return o.ApplyT(func(v RouteSpecHttpRouteRetryPolicyPerRetryTimeout) int { return v.Value }).(pulumi.IntOutput) +// Criteria for determining an HTTP request match. +func (o RouteSpecHttpRouteOutput) Match() RouteSpecHttpRouteMatchOutput { + return o.ApplyT(func(v RouteSpecHttpRoute) RouteSpecHttpRouteMatch { return v.Match }).(RouteSpecHttpRouteMatchOutput) } -type RouteSpecHttpRouteRetryPolicyPerRetryTimeoutPtrOutput struct{ *pulumi.OutputState } +// Retry policy. +func (o RouteSpecHttpRouteOutput) RetryPolicy() RouteSpecHttpRouteRetryPolicyPtrOutput { + return o.ApplyT(func(v RouteSpecHttpRoute) *RouteSpecHttpRouteRetryPolicy { return v.RetryPolicy }).(RouteSpecHttpRouteRetryPolicyPtrOutput) +} -func (RouteSpecHttpRouteRetryPolicyPerRetryTimeoutPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**RouteSpecHttpRouteRetryPolicyPerRetryTimeout)(nil)).Elem() +// Types of timeouts. +func (o RouteSpecHttpRouteOutput) Timeout() RouteSpecHttpRouteTimeoutPtrOutput { + return o.ApplyT(func(v RouteSpecHttpRoute) *RouteSpecHttpRouteTimeout { return v.Timeout }).(RouteSpecHttpRouteTimeoutPtrOutput) } -func (o RouteSpecHttpRouteRetryPolicyPerRetryTimeoutPtrOutput) ToRouteSpecHttpRouteRetryPolicyPerRetryTimeoutPtrOutput() RouteSpecHttpRouteRetryPolicyPerRetryTimeoutPtrOutput { +type RouteSpecHttpRoutePtrOutput struct{ *pulumi.OutputState } + +func (RouteSpecHttpRoutePtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**RouteSpecHttpRoute)(nil)).Elem() +} + +func (o RouteSpecHttpRoutePtrOutput) ToRouteSpecHttpRoutePtrOutput() RouteSpecHttpRoutePtrOutput { return o } -func (o RouteSpecHttpRouteRetryPolicyPerRetryTimeoutPtrOutput) ToRouteSpecHttpRouteRetryPolicyPerRetryTimeoutPtrOutputWithContext(ctx context.Context) RouteSpecHttpRouteRetryPolicyPerRetryTimeoutPtrOutput { +func (o RouteSpecHttpRoutePtrOutput) ToRouteSpecHttpRoutePtrOutputWithContext(ctx context.Context) RouteSpecHttpRoutePtrOutput { return o } -func (o RouteSpecHttpRouteRetryPolicyPerRetryTimeoutPtrOutput) Elem() RouteSpecHttpRouteRetryPolicyPerRetryTimeoutOutput { - return o.ApplyT(func(v *RouteSpecHttpRouteRetryPolicyPerRetryTimeout) RouteSpecHttpRouteRetryPolicyPerRetryTimeout { +func (o RouteSpecHttpRoutePtrOutput) Elem() RouteSpecHttpRouteOutput { + return o.ApplyT(func(v *RouteSpecHttpRoute) RouteSpecHttpRoute { if v != nil { return *v } - var ret RouteSpecHttpRouteRetryPolicyPerRetryTimeout + var ret RouteSpecHttpRoute return ret - }).(RouteSpecHttpRouteRetryPolicyPerRetryTimeoutOutput) + }).(RouteSpecHttpRouteOutput) } -// Retry unit. Valid values: `ms`, `s`. -func (o RouteSpecHttpRouteRetryPolicyPerRetryTimeoutPtrOutput) Unit() pulumi.StringPtrOutput { - return o.ApplyT(func(v *RouteSpecHttpRouteRetryPolicyPerRetryTimeout) *string { +// Action to take if a match is determined. +func (o RouteSpecHttpRoutePtrOutput) Action() RouteSpecHttpRouteActionPtrOutput { + return o.ApplyT(func(v *RouteSpecHttpRoute) *RouteSpecHttpRouteAction { if v == nil { return nil } - return &v.Unit - }).(pulumi.StringPtrOutput) + return &v.Action + }).(RouteSpecHttpRouteActionPtrOutput) } -// Retry value. -func (o RouteSpecHttpRouteRetryPolicyPerRetryTimeoutPtrOutput) Value() pulumi.IntPtrOutput { - return o.ApplyT(func(v *RouteSpecHttpRouteRetryPolicyPerRetryTimeout) *int { +// Criteria for determining an HTTP request match. +func (o RouteSpecHttpRoutePtrOutput) Match() RouteSpecHttpRouteMatchPtrOutput { + return o.ApplyT(func(v *RouteSpecHttpRoute) *RouteSpecHttpRouteMatch { if v == nil { return nil } - return &v.Value - }).(pulumi.IntPtrOutput) -} - -type RouteSpecHttpRouteTimeout struct { - // Idle timeout. An idle timeout bounds the amount of time that a connection may be idle. - Idle *RouteSpecHttpRouteTimeoutIdle `pulumi:"idle"` - // Per request timeout. - PerRequest *RouteSpecHttpRouteTimeoutPerRequest `pulumi:"perRequest"` + return &v.Match + }).(RouteSpecHttpRouteMatchPtrOutput) } -// RouteSpecHttpRouteTimeoutInput is an input type that accepts RouteSpecHttpRouteTimeoutArgs and RouteSpecHttpRouteTimeoutOutput values. -// You can construct a concrete instance of `RouteSpecHttpRouteTimeoutInput` via: -// -// RouteSpecHttpRouteTimeoutArgs{...} -type RouteSpecHttpRouteTimeoutInput interface { +// Retry policy. +func (o RouteSpecHttpRoutePtrOutput) RetryPolicy() RouteSpecHttpRouteRetryPolicyPtrOutput { + return o.ApplyT(func(v *RouteSpecHttpRoute) *RouteSpecHttpRouteRetryPolicy { + if v == nil { + return nil + } + return v.RetryPolicy + }).(RouteSpecHttpRouteRetryPolicyPtrOutput) +} + +// Types of timeouts. +func (o RouteSpecHttpRoutePtrOutput) Timeout() RouteSpecHttpRouteTimeoutPtrOutput { + return o.ApplyT(func(v *RouteSpecHttpRoute) *RouteSpecHttpRouteTimeout { + if v == nil { + return nil + } + return v.Timeout + }).(RouteSpecHttpRouteTimeoutPtrOutput) +} + +type RouteSpecHttpRouteAction struct { + // Targets that traffic is routed to when a request matches the route. + // You can specify one or more targets and their relative weights with which to distribute traffic. + WeightedTargets []RouteSpecHttpRouteActionWeightedTarget `pulumi:"weightedTargets"` +} + +// RouteSpecHttpRouteActionInput is an input type that accepts RouteSpecHttpRouteActionArgs and RouteSpecHttpRouteActionOutput values. +// You can construct a concrete instance of `RouteSpecHttpRouteActionInput` via: +// +// RouteSpecHttpRouteActionArgs{...} +type RouteSpecHttpRouteActionInput interface { pulumi.Input - ToRouteSpecHttpRouteTimeoutOutput() RouteSpecHttpRouteTimeoutOutput - ToRouteSpecHttpRouteTimeoutOutputWithContext(context.Context) RouteSpecHttpRouteTimeoutOutput + ToRouteSpecHttpRouteActionOutput() RouteSpecHttpRouteActionOutput + ToRouteSpecHttpRouteActionOutputWithContext(context.Context) RouteSpecHttpRouteActionOutput } -type RouteSpecHttpRouteTimeoutArgs struct { - // Idle timeout. An idle timeout bounds the amount of time that a connection may be idle. - Idle RouteSpecHttpRouteTimeoutIdlePtrInput `pulumi:"idle"` - // Per request timeout. - PerRequest RouteSpecHttpRouteTimeoutPerRequestPtrInput `pulumi:"perRequest"` +type RouteSpecHttpRouteActionArgs struct { + // Targets that traffic is routed to when a request matches the route. + // You can specify one or more targets and their relative weights with which to distribute traffic. + WeightedTargets RouteSpecHttpRouteActionWeightedTargetArrayInput `pulumi:"weightedTargets"` } -func (RouteSpecHttpRouteTimeoutArgs) ElementType() reflect.Type { - return reflect.TypeOf((*RouteSpecHttpRouteTimeout)(nil)).Elem() +func (RouteSpecHttpRouteActionArgs) ElementType() reflect.Type { + return reflect.TypeOf((*RouteSpecHttpRouteAction)(nil)).Elem() } -func (i RouteSpecHttpRouteTimeoutArgs) ToRouteSpecHttpRouteTimeoutOutput() RouteSpecHttpRouteTimeoutOutput { - return i.ToRouteSpecHttpRouteTimeoutOutputWithContext(context.Background()) +func (i RouteSpecHttpRouteActionArgs) ToRouteSpecHttpRouteActionOutput() RouteSpecHttpRouteActionOutput { + return i.ToRouteSpecHttpRouteActionOutputWithContext(context.Background()) } -func (i RouteSpecHttpRouteTimeoutArgs) ToRouteSpecHttpRouteTimeoutOutputWithContext(ctx context.Context) RouteSpecHttpRouteTimeoutOutput { - return pulumi.ToOutputWithContext(ctx, i).(RouteSpecHttpRouteTimeoutOutput) +func (i RouteSpecHttpRouteActionArgs) ToRouteSpecHttpRouteActionOutputWithContext(ctx context.Context) RouteSpecHttpRouteActionOutput { + return pulumi.ToOutputWithContext(ctx, i).(RouteSpecHttpRouteActionOutput) } -func (i RouteSpecHttpRouteTimeoutArgs) ToRouteSpecHttpRouteTimeoutPtrOutput() RouteSpecHttpRouteTimeoutPtrOutput { - return i.ToRouteSpecHttpRouteTimeoutPtrOutputWithContext(context.Background()) +func (i RouteSpecHttpRouteActionArgs) ToRouteSpecHttpRouteActionPtrOutput() RouteSpecHttpRouteActionPtrOutput { + return i.ToRouteSpecHttpRouteActionPtrOutputWithContext(context.Background()) } -func (i RouteSpecHttpRouteTimeoutArgs) ToRouteSpecHttpRouteTimeoutPtrOutputWithContext(ctx context.Context) RouteSpecHttpRouteTimeoutPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(RouteSpecHttpRouteTimeoutOutput).ToRouteSpecHttpRouteTimeoutPtrOutputWithContext(ctx) +func (i RouteSpecHttpRouteActionArgs) ToRouteSpecHttpRouteActionPtrOutputWithContext(ctx context.Context) RouteSpecHttpRouteActionPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(RouteSpecHttpRouteActionOutput).ToRouteSpecHttpRouteActionPtrOutputWithContext(ctx) } -// RouteSpecHttpRouteTimeoutPtrInput is an input type that accepts RouteSpecHttpRouteTimeoutArgs, RouteSpecHttpRouteTimeoutPtr and RouteSpecHttpRouteTimeoutPtrOutput values. -// You can construct a concrete instance of `RouteSpecHttpRouteTimeoutPtrInput` via: +// RouteSpecHttpRouteActionPtrInput is an input type that accepts RouteSpecHttpRouteActionArgs, RouteSpecHttpRouteActionPtr and RouteSpecHttpRouteActionPtrOutput values. +// You can construct a concrete instance of `RouteSpecHttpRouteActionPtrInput` via: // -// RouteSpecHttpRouteTimeoutArgs{...} +// RouteSpecHttpRouteActionArgs{...} // // or: // // nil -type RouteSpecHttpRouteTimeoutPtrInput interface { +type RouteSpecHttpRouteActionPtrInput interface { pulumi.Input - ToRouteSpecHttpRouteTimeoutPtrOutput() RouteSpecHttpRouteTimeoutPtrOutput - ToRouteSpecHttpRouteTimeoutPtrOutputWithContext(context.Context) RouteSpecHttpRouteTimeoutPtrOutput + ToRouteSpecHttpRouteActionPtrOutput() RouteSpecHttpRouteActionPtrOutput + ToRouteSpecHttpRouteActionPtrOutputWithContext(context.Context) RouteSpecHttpRouteActionPtrOutput } -type routeSpecHttpRouteTimeoutPtrType RouteSpecHttpRouteTimeoutArgs +type routeSpecHttpRouteActionPtrType RouteSpecHttpRouteActionArgs -func RouteSpecHttpRouteTimeoutPtr(v *RouteSpecHttpRouteTimeoutArgs) RouteSpecHttpRouteTimeoutPtrInput { - return (*routeSpecHttpRouteTimeoutPtrType)(v) +func RouteSpecHttpRouteActionPtr(v *RouteSpecHttpRouteActionArgs) RouteSpecHttpRouteActionPtrInput { + return (*routeSpecHttpRouteActionPtrType)(v) } -func (*routeSpecHttpRouteTimeoutPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**RouteSpecHttpRouteTimeout)(nil)).Elem() +func (*routeSpecHttpRouteActionPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**RouteSpecHttpRouteAction)(nil)).Elem() } -func (i *routeSpecHttpRouteTimeoutPtrType) ToRouteSpecHttpRouteTimeoutPtrOutput() RouteSpecHttpRouteTimeoutPtrOutput { - return i.ToRouteSpecHttpRouteTimeoutPtrOutputWithContext(context.Background()) +func (i *routeSpecHttpRouteActionPtrType) ToRouteSpecHttpRouteActionPtrOutput() RouteSpecHttpRouteActionPtrOutput { + return i.ToRouteSpecHttpRouteActionPtrOutputWithContext(context.Background()) } -func (i *routeSpecHttpRouteTimeoutPtrType) ToRouteSpecHttpRouteTimeoutPtrOutputWithContext(ctx context.Context) RouteSpecHttpRouteTimeoutPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(RouteSpecHttpRouteTimeoutPtrOutput) +func (i *routeSpecHttpRouteActionPtrType) ToRouteSpecHttpRouteActionPtrOutputWithContext(ctx context.Context) RouteSpecHttpRouteActionPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(RouteSpecHttpRouteActionPtrOutput) } -type RouteSpecHttpRouteTimeoutOutput struct{ *pulumi.OutputState } +type RouteSpecHttpRouteActionOutput struct{ *pulumi.OutputState } -func (RouteSpecHttpRouteTimeoutOutput) ElementType() reflect.Type { - return reflect.TypeOf((*RouteSpecHttpRouteTimeout)(nil)).Elem() +func (RouteSpecHttpRouteActionOutput) ElementType() reflect.Type { + return reflect.TypeOf((*RouteSpecHttpRouteAction)(nil)).Elem() } -func (o RouteSpecHttpRouteTimeoutOutput) ToRouteSpecHttpRouteTimeoutOutput() RouteSpecHttpRouteTimeoutOutput { +func (o RouteSpecHttpRouteActionOutput) ToRouteSpecHttpRouteActionOutput() RouteSpecHttpRouteActionOutput { return o } -func (o RouteSpecHttpRouteTimeoutOutput) ToRouteSpecHttpRouteTimeoutOutputWithContext(ctx context.Context) RouteSpecHttpRouteTimeoutOutput { +func (o RouteSpecHttpRouteActionOutput) ToRouteSpecHttpRouteActionOutputWithContext(ctx context.Context) RouteSpecHttpRouteActionOutput { return o } -func (o RouteSpecHttpRouteTimeoutOutput) ToRouteSpecHttpRouteTimeoutPtrOutput() RouteSpecHttpRouteTimeoutPtrOutput { - return o.ToRouteSpecHttpRouteTimeoutPtrOutputWithContext(context.Background()) +func (o RouteSpecHttpRouteActionOutput) ToRouteSpecHttpRouteActionPtrOutput() RouteSpecHttpRouteActionPtrOutput { + return o.ToRouteSpecHttpRouteActionPtrOutputWithContext(context.Background()) } -func (o RouteSpecHttpRouteTimeoutOutput) ToRouteSpecHttpRouteTimeoutPtrOutputWithContext(ctx context.Context) RouteSpecHttpRouteTimeoutPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v RouteSpecHttpRouteTimeout) *RouteSpecHttpRouteTimeout { +func (o RouteSpecHttpRouteActionOutput) ToRouteSpecHttpRouteActionPtrOutputWithContext(ctx context.Context) RouteSpecHttpRouteActionPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v RouteSpecHttpRouteAction) *RouteSpecHttpRouteAction { return &v - }).(RouteSpecHttpRouteTimeoutPtrOutput) -} - -// Idle timeout. An idle timeout bounds the amount of time that a connection may be idle. -func (o RouteSpecHttpRouteTimeoutOutput) Idle() RouteSpecHttpRouteTimeoutIdlePtrOutput { - return o.ApplyT(func(v RouteSpecHttpRouteTimeout) *RouteSpecHttpRouteTimeoutIdle { return v.Idle }).(RouteSpecHttpRouteTimeoutIdlePtrOutput) + }).(RouteSpecHttpRouteActionPtrOutput) } -// Per request timeout. -func (o RouteSpecHttpRouteTimeoutOutput) PerRequest() RouteSpecHttpRouteTimeoutPerRequestPtrOutput { - return o.ApplyT(func(v RouteSpecHttpRouteTimeout) *RouteSpecHttpRouteTimeoutPerRequest { return v.PerRequest }).(RouteSpecHttpRouteTimeoutPerRequestPtrOutput) +// Targets that traffic is routed to when a request matches the route. +// You can specify one or more targets and their relative weights with which to distribute traffic. +func (o RouteSpecHttpRouteActionOutput) WeightedTargets() RouteSpecHttpRouteActionWeightedTargetArrayOutput { + return o.ApplyT(func(v RouteSpecHttpRouteAction) []RouteSpecHttpRouteActionWeightedTarget { return v.WeightedTargets }).(RouteSpecHttpRouteActionWeightedTargetArrayOutput) } -type RouteSpecHttpRouteTimeoutPtrOutput struct{ *pulumi.OutputState } +type RouteSpecHttpRouteActionPtrOutput struct{ *pulumi.OutputState } -func (RouteSpecHttpRouteTimeoutPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**RouteSpecHttpRouteTimeout)(nil)).Elem() +func (RouteSpecHttpRouteActionPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**RouteSpecHttpRouteAction)(nil)).Elem() } -func (o RouteSpecHttpRouteTimeoutPtrOutput) ToRouteSpecHttpRouteTimeoutPtrOutput() RouteSpecHttpRouteTimeoutPtrOutput { +func (o RouteSpecHttpRouteActionPtrOutput) ToRouteSpecHttpRouteActionPtrOutput() RouteSpecHttpRouteActionPtrOutput { return o } -func (o RouteSpecHttpRouteTimeoutPtrOutput) ToRouteSpecHttpRouteTimeoutPtrOutputWithContext(ctx context.Context) RouteSpecHttpRouteTimeoutPtrOutput { +func (o RouteSpecHttpRouteActionPtrOutput) ToRouteSpecHttpRouteActionPtrOutputWithContext(ctx context.Context) RouteSpecHttpRouteActionPtrOutput { return o } -func (o RouteSpecHttpRouteTimeoutPtrOutput) Elem() RouteSpecHttpRouteTimeoutOutput { - return o.ApplyT(func(v *RouteSpecHttpRouteTimeout) RouteSpecHttpRouteTimeout { +func (o RouteSpecHttpRouteActionPtrOutput) Elem() RouteSpecHttpRouteActionOutput { + return o.ApplyT(func(v *RouteSpecHttpRouteAction) RouteSpecHttpRouteAction { if v != nil { return *v } - var ret RouteSpecHttpRouteTimeout + var ret RouteSpecHttpRouteAction return ret - }).(RouteSpecHttpRouteTimeoutOutput) -} - -// Idle timeout. An idle timeout bounds the amount of time that a connection may be idle. -func (o RouteSpecHttpRouteTimeoutPtrOutput) Idle() RouteSpecHttpRouteTimeoutIdlePtrOutput { - return o.ApplyT(func(v *RouteSpecHttpRouteTimeout) *RouteSpecHttpRouteTimeoutIdle { - if v == nil { - return nil - } - return v.Idle - }).(RouteSpecHttpRouteTimeoutIdlePtrOutput) + }).(RouteSpecHttpRouteActionOutput) } -// Per request timeout. -func (o RouteSpecHttpRouteTimeoutPtrOutput) PerRequest() RouteSpecHttpRouteTimeoutPerRequestPtrOutput { - return o.ApplyT(func(v *RouteSpecHttpRouteTimeout) *RouteSpecHttpRouteTimeoutPerRequest { +// Targets that traffic is routed to when a request matches the route. +// You can specify one or more targets and their relative weights with which to distribute traffic. +func (o RouteSpecHttpRouteActionPtrOutput) WeightedTargets() RouteSpecHttpRouteActionWeightedTargetArrayOutput { + return o.ApplyT(func(v *RouteSpecHttpRouteAction) []RouteSpecHttpRouteActionWeightedTarget { if v == nil { return nil } - return v.PerRequest - }).(RouteSpecHttpRouteTimeoutPerRequestPtrOutput) + return v.WeightedTargets + }).(RouteSpecHttpRouteActionWeightedTargetArrayOutput) } -type RouteSpecHttpRouteTimeoutIdle struct { - // Unit of time. Valid values: `ms`, `s`. - Unit string `pulumi:"unit"` - // Number of time units. Minimum value of `0`. - Value int `pulumi:"value"` +type RouteSpecHttpRouteActionWeightedTarget struct { + // The targeted port of the weighted object. + Port *int `pulumi:"port"` + // Virtual node to associate with the weighted target. Must be between 1 and 255 characters in length. + VirtualNode string `pulumi:"virtualNode"` + // Relative weight of the weighted target. An integer between 0 and 100. + Weight int `pulumi:"weight"` } -// RouteSpecHttpRouteTimeoutIdleInput is an input type that accepts RouteSpecHttpRouteTimeoutIdleArgs and RouteSpecHttpRouteTimeoutIdleOutput values. -// You can construct a concrete instance of `RouteSpecHttpRouteTimeoutIdleInput` via: +// RouteSpecHttpRouteActionWeightedTargetInput is an input type that accepts RouteSpecHttpRouteActionWeightedTargetArgs and RouteSpecHttpRouteActionWeightedTargetOutput values. +// You can construct a concrete instance of `RouteSpecHttpRouteActionWeightedTargetInput` via: // -// RouteSpecHttpRouteTimeoutIdleArgs{...} -type RouteSpecHttpRouteTimeoutIdleInput interface { +// RouteSpecHttpRouteActionWeightedTargetArgs{...} +type RouteSpecHttpRouteActionWeightedTargetInput interface { pulumi.Input - ToRouteSpecHttpRouteTimeoutIdleOutput() RouteSpecHttpRouteTimeoutIdleOutput - ToRouteSpecHttpRouteTimeoutIdleOutputWithContext(context.Context) RouteSpecHttpRouteTimeoutIdleOutput -} - -type RouteSpecHttpRouteTimeoutIdleArgs struct { - // Unit of time. Valid values: `ms`, `s`. - Unit pulumi.StringInput `pulumi:"unit"` - // Number of time units. Minimum value of `0`. - Value pulumi.IntInput `pulumi:"value"` -} - -func (RouteSpecHttpRouteTimeoutIdleArgs) ElementType() reflect.Type { - return reflect.TypeOf((*RouteSpecHttpRouteTimeoutIdle)(nil)).Elem() + ToRouteSpecHttpRouteActionWeightedTargetOutput() RouteSpecHttpRouteActionWeightedTargetOutput + ToRouteSpecHttpRouteActionWeightedTargetOutputWithContext(context.Context) RouteSpecHttpRouteActionWeightedTargetOutput } -func (i RouteSpecHttpRouteTimeoutIdleArgs) ToRouteSpecHttpRouteTimeoutIdleOutput() RouteSpecHttpRouteTimeoutIdleOutput { - return i.ToRouteSpecHttpRouteTimeoutIdleOutputWithContext(context.Background()) +type RouteSpecHttpRouteActionWeightedTargetArgs struct { + // The targeted port of the weighted object. + Port pulumi.IntPtrInput `pulumi:"port"` + // Virtual node to associate with the weighted target. Must be between 1 and 255 characters in length. + VirtualNode pulumi.StringInput `pulumi:"virtualNode"` + // Relative weight of the weighted target. An integer between 0 and 100. + Weight pulumi.IntInput `pulumi:"weight"` } -func (i RouteSpecHttpRouteTimeoutIdleArgs) ToRouteSpecHttpRouteTimeoutIdleOutputWithContext(ctx context.Context) RouteSpecHttpRouteTimeoutIdleOutput { - return pulumi.ToOutputWithContext(ctx, i).(RouteSpecHttpRouteTimeoutIdleOutput) +func (RouteSpecHttpRouteActionWeightedTargetArgs) ElementType() reflect.Type { + return reflect.TypeOf((*RouteSpecHttpRouteActionWeightedTarget)(nil)).Elem() } -func (i RouteSpecHttpRouteTimeoutIdleArgs) ToRouteSpecHttpRouteTimeoutIdlePtrOutput() RouteSpecHttpRouteTimeoutIdlePtrOutput { - return i.ToRouteSpecHttpRouteTimeoutIdlePtrOutputWithContext(context.Background()) +func (i RouteSpecHttpRouteActionWeightedTargetArgs) ToRouteSpecHttpRouteActionWeightedTargetOutput() RouteSpecHttpRouteActionWeightedTargetOutput { + return i.ToRouteSpecHttpRouteActionWeightedTargetOutputWithContext(context.Background()) } -func (i RouteSpecHttpRouteTimeoutIdleArgs) ToRouteSpecHttpRouteTimeoutIdlePtrOutputWithContext(ctx context.Context) RouteSpecHttpRouteTimeoutIdlePtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(RouteSpecHttpRouteTimeoutIdleOutput).ToRouteSpecHttpRouteTimeoutIdlePtrOutputWithContext(ctx) +func (i RouteSpecHttpRouteActionWeightedTargetArgs) ToRouteSpecHttpRouteActionWeightedTargetOutputWithContext(ctx context.Context) RouteSpecHttpRouteActionWeightedTargetOutput { + return pulumi.ToOutputWithContext(ctx, i).(RouteSpecHttpRouteActionWeightedTargetOutput) } -// RouteSpecHttpRouteTimeoutIdlePtrInput is an input type that accepts RouteSpecHttpRouteTimeoutIdleArgs, RouteSpecHttpRouteTimeoutIdlePtr and RouteSpecHttpRouteTimeoutIdlePtrOutput values. -// You can construct a concrete instance of `RouteSpecHttpRouteTimeoutIdlePtrInput` via: -// -// RouteSpecHttpRouteTimeoutIdleArgs{...} -// -// or: +// RouteSpecHttpRouteActionWeightedTargetArrayInput is an input type that accepts RouteSpecHttpRouteActionWeightedTargetArray and RouteSpecHttpRouteActionWeightedTargetArrayOutput values. +// You can construct a concrete instance of `RouteSpecHttpRouteActionWeightedTargetArrayInput` via: // -// nil -type RouteSpecHttpRouteTimeoutIdlePtrInput interface { +// RouteSpecHttpRouteActionWeightedTargetArray{ RouteSpecHttpRouteActionWeightedTargetArgs{...} } +type RouteSpecHttpRouteActionWeightedTargetArrayInput interface { pulumi.Input - ToRouteSpecHttpRouteTimeoutIdlePtrOutput() RouteSpecHttpRouteTimeoutIdlePtrOutput - ToRouteSpecHttpRouteTimeoutIdlePtrOutputWithContext(context.Context) RouteSpecHttpRouteTimeoutIdlePtrOutput + ToRouteSpecHttpRouteActionWeightedTargetArrayOutput() RouteSpecHttpRouteActionWeightedTargetArrayOutput + ToRouteSpecHttpRouteActionWeightedTargetArrayOutputWithContext(context.Context) RouteSpecHttpRouteActionWeightedTargetArrayOutput } -type routeSpecHttpRouteTimeoutIdlePtrType RouteSpecHttpRouteTimeoutIdleArgs - -func RouteSpecHttpRouteTimeoutIdlePtr(v *RouteSpecHttpRouteTimeoutIdleArgs) RouteSpecHttpRouteTimeoutIdlePtrInput { - return (*routeSpecHttpRouteTimeoutIdlePtrType)(v) -} +type RouteSpecHttpRouteActionWeightedTargetArray []RouteSpecHttpRouteActionWeightedTargetInput -func (*routeSpecHttpRouteTimeoutIdlePtrType) ElementType() reflect.Type { - return reflect.TypeOf((**RouteSpecHttpRouteTimeoutIdle)(nil)).Elem() +func (RouteSpecHttpRouteActionWeightedTargetArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]RouteSpecHttpRouteActionWeightedTarget)(nil)).Elem() } -func (i *routeSpecHttpRouteTimeoutIdlePtrType) ToRouteSpecHttpRouteTimeoutIdlePtrOutput() RouteSpecHttpRouteTimeoutIdlePtrOutput { - return i.ToRouteSpecHttpRouteTimeoutIdlePtrOutputWithContext(context.Background()) +func (i RouteSpecHttpRouteActionWeightedTargetArray) ToRouteSpecHttpRouteActionWeightedTargetArrayOutput() RouteSpecHttpRouteActionWeightedTargetArrayOutput { + return i.ToRouteSpecHttpRouteActionWeightedTargetArrayOutputWithContext(context.Background()) } -func (i *routeSpecHttpRouteTimeoutIdlePtrType) ToRouteSpecHttpRouteTimeoutIdlePtrOutputWithContext(ctx context.Context) RouteSpecHttpRouteTimeoutIdlePtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(RouteSpecHttpRouteTimeoutIdlePtrOutput) +func (i RouteSpecHttpRouteActionWeightedTargetArray) ToRouteSpecHttpRouteActionWeightedTargetArrayOutputWithContext(ctx context.Context) RouteSpecHttpRouteActionWeightedTargetArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(RouteSpecHttpRouteActionWeightedTargetArrayOutput) } -type RouteSpecHttpRouteTimeoutIdleOutput struct{ *pulumi.OutputState } +type RouteSpecHttpRouteActionWeightedTargetOutput struct{ *pulumi.OutputState } -func (RouteSpecHttpRouteTimeoutIdleOutput) ElementType() reflect.Type { - return reflect.TypeOf((*RouteSpecHttpRouteTimeoutIdle)(nil)).Elem() +func (RouteSpecHttpRouteActionWeightedTargetOutput) ElementType() reflect.Type { + return reflect.TypeOf((*RouteSpecHttpRouteActionWeightedTarget)(nil)).Elem() } -func (o RouteSpecHttpRouteTimeoutIdleOutput) ToRouteSpecHttpRouteTimeoutIdleOutput() RouteSpecHttpRouteTimeoutIdleOutput { +func (o RouteSpecHttpRouteActionWeightedTargetOutput) ToRouteSpecHttpRouteActionWeightedTargetOutput() RouteSpecHttpRouteActionWeightedTargetOutput { return o } -func (o RouteSpecHttpRouteTimeoutIdleOutput) ToRouteSpecHttpRouteTimeoutIdleOutputWithContext(ctx context.Context) RouteSpecHttpRouteTimeoutIdleOutput { +func (o RouteSpecHttpRouteActionWeightedTargetOutput) ToRouteSpecHttpRouteActionWeightedTargetOutputWithContext(ctx context.Context) RouteSpecHttpRouteActionWeightedTargetOutput { return o } -func (o RouteSpecHttpRouteTimeoutIdleOutput) ToRouteSpecHttpRouteTimeoutIdlePtrOutput() RouteSpecHttpRouteTimeoutIdlePtrOutput { - return o.ToRouteSpecHttpRouteTimeoutIdlePtrOutputWithContext(context.Background()) -} - -func (o RouteSpecHttpRouteTimeoutIdleOutput) ToRouteSpecHttpRouteTimeoutIdlePtrOutputWithContext(ctx context.Context) RouteSpecHttpRouteTimeoutIdlePtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v RouteSpecHttpRouteTimeoutIdle) *RouteSpecHttpRouteTimeoutIdle { - return &v - }).(RouteSpecHttpRouteTimeoutIdlePtrOutput) +// The targeted port of the weighted object. +func (o RouteSpecHttpRouteActionWeightedTargetOutput) Port() pulumi.IntPtrOutput { + return o.ApplyT(func(v RouteSpecHttpRouteActionWeightedTarget) *int { return v.Port }).(pulumi.IntPtrOutput) } -// Unit of time. Valid values: `ms`, `s`. -func (o RouteSpecHttpRouteTimeoutIdleOutput) Unit() pulumi.StringOutput { - return o.ApplyT(func(v RouteSpecHttpRouteTimeoutIdle) string { return v.Unit }).(pulumi.StringOutput) +// Virtual node to associate with the weighted target. Must be between 1 and 255 characters in length. +func (o RouteSpecHttpRouteActionWeightedTargetOutput) VirtualNode() pulumi.StringOutput { + return o.ApplyT(func(v RouteSpecHttpRouteActionWeightedTarget) string { return v.VirtualNode }).(pulumi.StringOutput) } -// Number of time units. Minimum value of `0`. -func (o RouteSpecHttpRouteTimeoutIdleOutput) Value() pulumi.IntOutput { - return o.ApplyT(func(v RouteSpecHttpRouteTimeoutIdle) int { return v.Value }).(pulumi.IntOutput) +// Relative weight of the weighted target. An integer between 0 and 100. +func (o RouteSpecHttpRouteActionWeightedTargetOutput) Weight() pulumi.IntOutput { + return o.ApplyT(func(v RouteSpecHttpRouteActionWeightedTarget) int { return v.Weight }).(pulumi.IntOutput) } -type RouteSpecHttpRouteTimeoutIdlePtrOutput struct{ *pulumi.OutputState } +type RouteSpecHttpRouteActionWeightedTargetArrayOutput struct{ *pulumi.OutputState } -func (RouteSpecHttpRouteTimeoutIdlePtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**RouteSpecHttpRouteTimeoutIdle)(nil)).Elem() +func (RouteSpecHttpRouteActionWeightedTargetArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]RouteSpecHttpRouteActionWeightedTarget)(nil)).Elem() } -func (o RouteSpecHttpRouteTimeoutIdlePtrOutput) ToRouteSpecHttpRouteTimeoutIdlePtrOutput() RouteSpecHttpRouteTimeoutIdlePtrOutput { +func (o RouteSpecHttpRouteActionWeightedTargetArrayOutput) ToRouteSpecHttpRouteActionWeightedTargetArrayOutput() RouteSpecHttpRouteActionWeightedTargetArrayOutput { return o } -func (o RouteSpecHttpRouteTimeoutIdlePtrOutput) ToRouteSpecHttpRouteTimeoutIdlePtrOutputWithContext(ctx context.Context) RouteSpecHttpRouteTimeoutIdlePtrOutput { +func (o RouteSpecHttpRouteActionWeightedTargetArrayOutput) ToRouteSpecHttpRouteActionWeightedTargetArrayOutputWithContext(ctx context.Context) RouteSpecHttpRouteActionWeightedTargetArrayOutput { return o } -func (o RouteSpecHttpRouteTimeoutIdlePtrOutput) Elem() RouteSpecHttpRouteTimeoutIdleOutput { - return o.ApplyT(func(v *RouteSpecHttpRouteTimeoutIdle) RouteSpecHttpRouteTimeoutIdle { - if v != nil { - return *v - } - var ret RouteSpecHttpRouteTimeoutIdle - return ret - }).(RouteSpecHttpRouteTimeoutIdleOutput) -} - -// Unit of time. Valid values: `ms`, `s`. -func (o RouteSpecHttpRouteTimeoutIdlePtrOutput) Unit() pulumi.StringPtrOutput { - return o.ApplyT(func(v *RouteSpecHttpRouteTimeoutIdle) *string { - if v == nil { - return nil - } - return &v.Unit - }).(pulumi.StringPtrOutput) -} - -// Number of time units. Minimum value of `0`. -func (o RouteSpecHttpRouteTimeoutIdlePtrOutput) Value() pulumi.IntPtrOutput { - return o.ApplyT(func(v *RouteSpecHttpRouteTimeoutIdle) *int { - if v == nil { - return nil - } - return &v.Value - }).(pulumi.IntPtrOutput) +func (o RouteSpecHttpRouteActionWeightedTargetArrayOutput) Index(i pulumi.IntInput) RouteSpecHttpRouteActionWeightedTargetOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) RouteSpecHttpRouteActionWeightedTarget { + return vs[0].([]RouteSpecHttpRouteActionWeightedTarget)[vs[1].(int)] + }).(RouteSpecHttpRouteActionWeightedTargetOutput) } -type RouteSpecHttpRouteTimeoutPerRequest struct { - // Unit of time. Valid values: `ms`, `s`. - Unit string `pulumi:"unit"` - // Number of time units. Minimum value of `0`. - Value int `pulumi:"value"` +type RouteSpecHttpRouteMatch struct { + // Client request headers to match on. + Headers []RouteSpecHttpRouteMatchHeader `pulumi:"headers"` + // Client request header method to match on. Valid values: `GET`, `HEAD`, `POST`, `PUT`, `DELETE`, `CONNECT`, `OPTIONS`, `TRACE`, `PATCH`. + Method *string `pulumi:"method"` + // Client request path to match on. + Path *RouteSpecHttpRouteMatchPath `pulumi:"path"` + // The port number to match from the request. + Port *int `pulumi:"port"` + // Value sent by the client must begin with the specified characters. Must be between 1 and 255 characters in length. + // This parameter must always start with /, which by itself matches all requests to the virtual router service name. + Prefix *string `pulumi:"prefix"` + // Client request query parameters to match on. + QueryParameters []RouteSpecHttpRouteMatchQueryParameter `pulumi:"queryParameters"` + // Client request header scheme to match on. Valid values: `http`, `https`. + Scheme *string `pulumi:"scheme"` } -// RouteSpecHttpRouteTimeoutPerRequestInput is an input type that accepts RouteSpecHttpRouteTimeoutPerRequestArgs and RouteSpecHttpRouteTimeoutPerRequestOutput values. -// You can construct a concrete instance of `RouteSpecHttpRouteTimeoutPerRequestInput` via: +// RouteSpecHttpRouteMatchInput is an input type that accepts RouteSpecHttpRouteMatchArgs and RouteSpecHttpRouteMatchOutput values. +// You can construct a concrete instance of `RouteSpecHttpRouteMatchInput` via: // -// RouteSpecHttpRouteTimeoutPerRequestArgs{...} -type RouteSpecHttpRouteTimeoutPerRequestInput interface { +// RouteSpecHttpRouteMatchArgs{...} +type RouteSpecHttpRouteMatchInput interface { pulumi.Input - ToRouteSpecHttpRouteTimeoutPerRequestOutput() RouteSpecHttpRouteTimeoutPerRequestOutput - ToRouteSpecHttpRouteTimeoutPerRequestOutputWithContext(context.Context) RouteSpecHttpRouteTimeoutPerRequestOutput + ToRouteSpecHttpRouteMatchOutput() RouteSpecHttpRouteMatchOutput + ToRouteSpecHttpRouteMatchOutputWithContext(context.Context) RouteSpecHttpRouteMatchOutput } -type RouteSpecHttpRouteTimeoutPerRequestArgs struct { - // Unit of time. Valid values: `ms`, `s`. - Unit pulumi.StringInput `pulumi:"unit"` - // Number of time units. Minimum value of `0`. - Value pulumi.IntInput `pulumi:"value"` +type RouteSpecHttpRouteMatchArgs struct { + // Client request headers to match on. + Headers RouteSpecHttpRouteMatchHeaderArrayInput `pulumi:"headers"` + // Client request header method to match on. Valid values: `GET`, `HEAD`, `POST`, `PUT`, `DELETE`, `CONNECT`, `OPTIONS`, `TRACE`, `PATCH`. + Method pulumi.StringPtrInput `pulumi:"method"` + // Client request path to match on. + Path RouteSpecHttpRouteMatchPathPtrInput `pulumi:"path"` + // The port number to match from the request. + Port pulumi.IntPtrInput `pulumi:"port"` + // Value sent by the client must begin with the specified characters. Must be between 1 and 255 characters in length. + // This parameter must always start with /, which by itself matches all requests to the virtual router service name. + Prefix pulumi.StringPtrInput `pulumi:"prefix"` + // Client request query parameters to match on. + QueryParameters RouteSpecHttpRouteMatchQueryParameterArrayInput `pulumi:"queryParameters"` + // Client request header scheme to match on. Valid values: `http`, `https`. + Scheme pulumi.StringPtrInput `pulumi:"scheme"` } -func (RouteSpecHttpRouteTimeoutPerRequestArgs) ElementType() reflect.Type { - return reflect.TypeOf((*RouteSpecHttpRouteTimeoutPerRequest)(nil)).Elem() +func (RouteSpecHttpRouteMatchArgs) ElementType() reflect.Type { + return reflect.TypeOf((*RouteSpecHttpRouteMatch)(nil)).Elem() } -func (i RouteSpecHttpRouteTimeoutPerRequestArgs) ToRouteSpecHttpRouteTimeoutPerRequestOutput() RouteSpecHttpRouteTimeoutPerRequestOutput { - return i.ToRouteSpecHttpRouteTimeoutPerRequestOutputWithContext(context.Background()) +func (i RouteSpecHttpRouteMatchArgs) ToRouteSpecHttpRouteMatchOutput() RouteSpecHttpRouteMatchOutput { + return i.ToRouteSpecHttpRouteMatchOutputWithContext(context.Background()) } -func (i RouteSpecHttpRouteTimeoutPerRequestArgs) ToRouteSpecHttpRouteTimeoutPerRequestOutputWithContext(ctx context.Context) RouteSpecHttpRouteTimeoutPerRequestOutput { - return pulumi.ToOutputWithContext(ctx, i).(RouteSpecHttpRouteTimeoutPerRequestOutput) +func (i RouteSpecHttpRouteMatchArgs) ToRouteSpecHttpRouteMatchOutputWithContext(ctx context.Context) RouteSpecHttpRouteMatchOutput { + return pulumi.ToOutputWithContext(ctx, i).(RouteSpecHttpRouteMatchOutput) } -func (i RouteSpecHttpRouteTimeoutPerRequestArgs) ToRouteSpecHttpRouteTimeoutPerRequestPtrOutput() RouteSpecHttpRouteTimeoutPerRequestPtrOutput { - return i.ToRouteSpecHttpRouteTimeoutPerRequestPtrOutputWithContext(context.Background()) +func (i RouteSpecHttpRouteMatchArgs) ToRouteSpecHttpRouteMatchPtrOutput() RouteSpecHttpRouteMatchPtrOutput { + return i.ToRouteSpecHttpRouteMatchPtrOutputWithContext(context.Background()) } -func (i RouteSpecHttpRouteTimeoutPerRequestArgs) ToRouteSpecHttpRouteTimeoutPerRequestPtrOutputWithContext(ctx context.Context) RouteSpecHttpRouteTimeoutPerRequestPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(RouteSpecHttpRouteTimeoutPerRequestOutput).ToRouteSpecHttpRouteTimeoutPerRequestPtrOutputWithContext(ctx) +func (i RouteSpecHttpRouteMatchArgs) ToRouteSpecHttpRouteMatchPtrOutputWithContext(ctx context.Context) RouteSpecHttpRouteMatchPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(RouteSpecHttpRouteMatchOutput).ToRouteSpecHttpRouteMatchPtrOutputWithContext(ctx) } -// RouteSpecHttpRouteTimeoutPerRequestPtrInput is an input type that accepts RouteSpecHttpRouteTimeoutPerRequestArgs, RouteSpecHttpRouteTimeoutPerRequestPtr and RouteSpecHttpRouteTimeoutPerRequestPtrOutput values. -// You can construct a concrete instance of `RouteSpecHttpRouteTimeoutPerRequestPtrInput` via: +// RouteSpecHttpRouteMatchPtrInput is an input type that accepts RouteSpecHttpRouteMatchArgs, RouteSpecHttpRouteMatchPtr and RouteSpecHttpRouteMatchPtrOutput values. +// You can construct a concrete instance of `RouteSpecHttpRouteMatchPtrInput` via: // -// RouteSpecHttpRouteTimeoutPerRequestArgs{...} +// RouteSpecHttpRouteMatchArgs{...} // // or: // // nil -type RouteSpecHttpRouteTimeoutPerRequestPtrInput interface { +type RouteSpecHttpRouteMatchPtrInput interface { pulumi.Input - ToRouteSpecHttpRouteTimeoutPerRequestPtrOutput() RouteSpecHttpRouteTimeoutPerRequestPtrOutput - ToRouteSpecHttpRouteTimeoutPerRequestPtrOutputWithContext(context.Context) RouteSpecHttpRouteTimeoutPerRequestPtrOutput + ToRouteSpecHttpRouteMatchPtrOutput() RouteSpecHttpRouteMatchPtrOutput + ToRouteSpecHttpRouteMatchPtrOutputWithContext(context.Context) RouteSpecHttpRouteMatchPtrOutput } -type routeSpecHttpRouteTimeoutPerRequestPtrType RouteSpecHttpRouteTimeoutPerRequestArgs +type routeSpecHttpRouteMatchPtrType RouteSpecHttpRouteMatchArgs -func RouteSpecHttpRouteTimeoutPerRequestPtr(v *RouteSpecHttpRouteTimeoutPerRequestArgs) RouteSpecHttpRouteTimeoutPerRequestPtrInput { - return (*routeSpecHttpRouteTimeoutPerRequestPtrType)(v) +func RouteSpecHttpRouteMatchPtr(v *RouteSpecHttpRouteMatchArgs) RouteSpecHttpRouteMatchPtrInput { + return (*routeSpecHttpRouteMatchPtrType)(v) } -func (*routeSpecHttpRouteTimeoutPerRequestPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**RouteSpecHttpRouteTimeoutPerRequest)(nil)).Elem() +func (*routeSpecHttpRouteMatchPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**RouteSpecHttpRouteMatch)(nil)).Elem() } -func (i *routeSpecHttpRouteTimeoutPerRequestPtrType) ToRouteSpecHttpRouteTimeoutPerRequestPtrOutput() RouteSpecHttpRouteTimeoutPerRequestPtrOutput { - return i.ToRouteSpecHttpRouteTimeoutPerRequestPtrOutputWithContext(context.Background()) +func (i *routeSpecHttpRouteMatchPtrType) ToRouteSpecHttpRouteMatchPtrOutput() RouteSpecHttpRouteMatchPtrOutput { + return i.ToRouteSpecHttpRouteMatchPtrOutputWithContext(context.Background()) } -func (i *routeSpecHttpRouteTimeoutPerRequestPtrType) ToRouteSpecHttpRouteTimeoutPerRequestPtrOutputWithContext(ctx context.Context) RouteSpecHttpRouteTimeoutPerRequestPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(RouteSpecHttpRouteTimeoutPerRequestPtrOutput) +func (i *routeSpecHttpRouteMatchPtrType) ToRouteSpecHttpRouteMatchPtrOutputWithContext(ctx context.Context) RouteSpecHttpRouteMatchPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(RouteSpecHttpRouteMatchPtrOutput) } -type RouteSpecHttpRouteTimeoutPerRequestOutput struct{ *pulumi.OutputState } +type RouteSpecHttpRouteMatchOutput struct{ *pulumi.OutputState } -func (RouteSpecHttpRouteTimeoutPerRequestOutput) ElementType() reflect.Type { - return reflect.TypeOf((*RouteSpecHttpRouteTimeoutPerRequest)(nil)).Elem() +func (RouteSpecHttpRouteMatchOutput) ElementType() reflect.Type { + return reflect.TypeOf((*RouteSpecHttpRouteMatch)(nil)).Elem() } -func (o RouteSpecHttpRouteTimeoutPerRequestOutput) ToRouteSpecHttpRouteTimeoutPerRequestOutput() RouteSpecHttpRouteTimeoutPerRequestOutput { +func (o RouteSpecHttpRouteMatchOutput) ToRouteSpecHttpRouteMatchOutput() RouteSpecHttpRouteMatchOutput { return o } -func (o RouteSpecHttpRouteTimeoutPerRequestOutput) ToRouteSpecHttpRouteTimeoutPerRequestOutputWithContext(ctx context.Context) RouteSpecHttpRouteTimeoutPerRequestOutput { +func (o RouteSpecHttpRouteMatchOutput) ToRouteSpecHttpRouteMatchOutputWithContext(ctx context.Context) RouteSpecHttpRouteMatchOutput { return o } -func (o RouteSpecHttpRouteTimeoutPerRequestOutput) ToRouteSpecHttpRouteTimeoutPerRequestPtrOutput() RouteSpecHttpRouteTimeoutPerRequestPtrOutput { - return o.ToRouteSpecHttpRouteTimeoutPerRequestPtrOutputWithContext(context.Background()) +func (o RouteSpecHttpRouteMatchOutput) ToRouteSpecHttpRouteMatchPtrOutput() RouteSpecHttpRouteMatchPtrOutput { + return o.ToRouteSpecHttpRouteMatchPtrOutputWithContext(context.Background()) } -func (o RouteSpecHttpRouteTimeoutPerRequestOutput) ToRouteSpecHttpRouteTimeoutPerRequestPtrOutputWithContext(ctx context.Context) RouteSpecHttpRouteTimeoutPerRequestPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v RouteSpecHttpRouteTimeoutPerRequest) *RouteSpecHttpRouteTimeoutPerRequest { +func (o RouteSpecHttpRouteMatchOutput) ToRouteSpecHttpRouteMatchPtrOutputWithContext(ctx context.Context) RouteSpecHttpRouteMatchPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v RouteSpecHttpRouteMatch) *RouteSpecHttpRouteMatch { return &v - }).(RouteSpecHttpRouteTimeoutPerRequestPtrOutput) + }).(RouteSpecHttpRouteMatchPtrOutput) } -// Unit of time. Valid values: `ms`, `s`. -func (o RouteSpecHttpRouteTimeoutPerRequestOutput) Unit() pulumi.StringOutput { - return o.ApplyT(func(v RouteSpecHttpRouteTimeoutPerRequest) string { return v.Unit }).(pulumi.StringOutput) +// Client request headers to match on. +func (o RouteSpecHttpRouteMatchOutput) Headers() RouteSpecHttpRouteMatchHeaderArrayOutput { + return o.ApplyT(func(v RouteSpecHttpRouteMatch) []RouteSpecHttpRouteMatchHeader { return v.Headers }).(RouteSpecHttpRouteMatchHeaderArrayOutput) } -// Number of time units. Minimum value of `0`. -func (o RouteSpecHttpRouteTimeoutPerRequestOutput) Value() pulumi.IntOutput { - return o.ApplyT(func(v RouteSpecHttpRouteTimeoutPerRequest) int { return v.Value }).(pulumi.IntOutput) +// Client request header method to match on. Valid values: `GET`, `HEAD`, `POST`, `PUT`, `DELETE`, `CONNECT`, `OPTIONS`, `TRACE`, `PATCH`. +func (o RouteSpecHttpRouteMatchOutput) Method() pulumi.StringPtrOutput { + return o.ApplyT(func(v RouteSpecHttpRouteMatch) *string { return v.Method }).(pulumi.StringPtrOutput) } -type RouteSpecHttpRouteTimeoutPerRequestPtrOutput struct{ *pulumi.OutputState } +// Client request path to match on. +func (o RouteSpecHttpRouteMatchOutput) Path() RouteSpecHttpRouteMatchPathPtrOutput { + return o.ApplyT(func(v RouteSpecHttpRouteMatch) *RouteSpecHttpRouteMatchPath { return v.Path }).(RouteSpecHttpRouteMatchPathPtrOutput) +} -func (RouteSpecHttpRouteTimeoutPerRequestPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**RouteSpecHttpRouteTimeoutPerRequest)(nil)).Elem() +// The port number to match from the request. +func (o RouteSpecHttpRouteMatchOutput) Port() pulumi.IntPtrOutput { + return o.ApplyT(func(v RouteSpecHttpRouteMatch) *int { return v.Port }).(pulumi.IntPtrOutput) } -func (o RouteSpecHttpRouteTimeoutPerRequestPtrOutput) ToRouteSpecHttpRouteTimeoutPerRequestPtrOutput() RouteSpecHttpRouteTimeoutPerRequestPtrOutput { +// Value sent by the client must begin with the specified characters. Must be between 1 and 255 characters in length. +// This parameter must always start with /, which by itself matches all requests to the virtual router service name. +func (o RouteSpecHttpRouteMatchOutput) Prefix() pulumi.StringPtrOutput { + return o.ApplyT(func(v RouteSpecHttpRouteMatch) *string { return v.Prefix }).(pulumi.StringPtrOutput) +} + +// Client request query parameters to match on. +func (o RouteSpecHttpRouteMatchOutput) QueryParameters() RouteSpecHttpRouteMatchQueryParameterArrayOutput { + return o.ApplyT(func(v RouteSpecHttpRouteMatch) []RouteSpecHttpRouteMatchQueryParameter { return v.QueryParameters }).(RouteSpecHttpRouteMatchQueryParameterArrayOutput) +} + +// Client request header scheme to match on. Valid values: `http`, `https`. +func (o RouteSpecHttpRouteMatchOutput) Scheme() pulumi.StringPtrOutput { + return o.ApplyT(func(v RouteSpecHttpRouteMatch) *string { return v.Scheme }).(pulumi.StringPtrOutput) +} + +type RouteSpecHttpRouteMatchPtrOutput struct{ *pulumi.OutputState } + +func (RouteSpecHttpRouteMatchPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**RouteSpecHttpRouteMatch)(nil)).Elem() +} + +func (o RouteSpecHttpRouteMatchPtrOutput) ToRouteSpecHttpRouteMatchPtrOutput() RouteSpecHttpRouteMatchPtrOutput { return o } -func (o RouteSpecHttpRouteTimeoutPerRequestPtrOutput) ToRouteSpecHttpRouteTimeoutPerRequestPtrOutputWithContext(ctx context.Context) RouteSpecHttpRouteTimeoutPerRequestPtrOutput { +func (o RouteSpecHttpRouteMatchPtrOutput) ToRouteSpecHttpRouteMatchPtrOutputWithContext(ctx context.Context) RouteSpecHttpRouteMatchPtrOutput { return o } -func (o RouteSpecHttpRouteTimeoutPerRequestPtrOutput) Elem() RouteSpecHttpRouteTimeoutPerRequestOutput { - return o.ApplyT(func(v *RouteSpecHttpRouteTimeoutPerRequest) RouteSpecHttpRouteTimeoutPerRequest { +func (o RouteSpecHttpRouteMatchPtrOutput) Elem() RouteSpecHttpRouteMatchOutput { + return o.ApplyT(func(v *RouteSpecHttpRouteMatch) RouteSpecHttpRouteMatch { if v != nil { return *v } - var ret RouteSpecHttpRouteTimeoutPerRequest + var ret RouteSpecHttpRouteMatch return ret - }).(RouteSpecHttpRouteTimeoutPerRequestOutput) + }).(RouteSpecHttpRouteMatchOutput) } -// Unit of time. Valid values: `ms`, `s`. -func (o RouteSpecHttpRouteTimeoutPerRequestPtrOutput) Unit() pulumi.StringPtrOutput { - return o.ApplyT(func(v *RouteSpecHttpRouteTimeoutPerRequest) *string { +// Client request headers to match on. +func (o RouteSpecHttpRouteMatchPtrOutput) Headers() RouteSpecHttpRouteMatchHeaderArrayOutput { + return o.ApplyT(func(v *RouteSpecHttpRouteMatch) []RouteSpecHttpRouteMatchHeader { if v == nil { return nil } - return &v.Unit - }).(pulumi.StringPtrOutput) + return v.Headers + }).(RouteSpecHttpRouteMatchHeaderArrayOutput) } -// Number of time units. Minimum value of `0`. -func (o RouteSpecHttpRouteTimeoutPerRequestPtrOutput) Value() pulumi.IntPtrOutput { - return o.ApplyT(func(v *RouteSpecHttpRouteTimeoutPerRequest) *int { +// Client request header method to match on. Valid values: `GET`, `HEAD`, `POST`, `PUT`, `DELETE`, `CONNECT`, `OPTIONS`, `TRACE`, `PATCH`. +func (o RouteSpecHttpRouteMatchPtrOutput) Method() pulumi.StringPtrOutput { + return o.ApplyT(func(v *RouteSpecHttpRouteMatch) *string { if v == nil { return nil } - return &v.Value - }).(pulumi.IntPtrOutput) + return v.Method + }).(pulumi.StringPtrOutput) } -type RouteSpecTcpRoute struct { - // Action to take if a match is determined. - Action RouteSpecTcpRouteAction `pulumi:"action"` - // Criteria for determining an gRPC request match. - Match *RouteSpecTcpRouteMatch `pulumi:"match"` - // Types of timeouts. - Timeout *RouteSpecTcpRouteTimeout `pulumi:"timeout"` +// Client request path to match on. +func (o RouteSpecHttpRouteMatchPtrOutput) Path() RouteSpecHttpRouteMatchPathPtrOutput { + return o.ApplyT(func(v *RouteSpecHttpRouteMatch) *RouteSpecHttpRouteMatchPath { + if v == nil { + return nil + } + return v.Path + }).(RouteSpecHttpRouteMatchPathPtrOutput) } -// RouteSpecTcpRouteInput is an input type that accepts RouteSpecTcpRouteArgs and RouteSpecTcpRouteOutput values. -// You can construct a concrete instance of `RouteSpecTcpRouteInput` via: +// The port number to match from the request. +func (o RouteSpecHttpRouteMatchPtrOutput) Port() pulumi.IntPtrOutput { + return o.ApplyT(func(v *RouteSpecHttpRouteMatch) *int { + if v == nil { + return nil + } + return v.Port + }).(pulumi.IntPtrOutput) +} + +// Value sent by the client must begin with the specified characters. Must be between 1 and 255 characters in length. +// This parameter must always start with /, which by itself matches all requests to the virtual router service name. +func (o RouteSpecHttpRouteMatchPtrOutput) Prefix() pulumi.StringPtrOutput { + return o.ApplyT(func(v *RouteSpecHttpRouteMatch) *string { + if v == nil { + return nil + } + return v.Prefix + }).(pulumi.StringPtrOutput) +} + +// Client request query parameters to match on. +func (o RouteSpecHttpRouteMatchPtrOutput) QueryParameters() RouteSpecHttpRouteMatchQueryParameterArrayOutput { + return o.ApplyT(func(v *RouteSpecHttpRouteMatch) []RouteSpecHttpRouteMatchQueryParameter { + if v == nil { + return nil + } + return v.QueryParameters + }).(RouteSpecHttpRouteMatchQueryParameterArrayOutput) +} + +// Client request header scheme to match on. Valid values: `http`, `https`. +func (o RouteSpecHttpRouteMatchPtrOutput) Scheme() pulumi.StringPtrOutput { + return o.ApplyT(func(v *RouteSpecHttpRouteMatch) *string { + if v == nil { + return nil + } + return v.Scheme + }).(pulumi.StringPtrOutput) +} + +type RouteSpecHttpRouteMatchHeader struct { + // If `true`, the match is on the opposite of the `match` method and value. Default is `false`. + Invert *bool `pulumi:"invert"` + // Method and value to match the header value sent with a request. Specify one match method. + Match *RouteSpecHttpRouteMatchHeaderMatch `pulumi:"match"` + // Name for the HTTP header in the client request that will be matched on. + Name string `pulumi:"name"` +} + +// RouteSpecHttpRouteMatchHeaderInput is an input type that accepts RouteSpecHttpRouteMatchHeaderArgs and RouteSpecHttpRouteMatchHeaderOutput values. +// You can construct a concrete instance of `RouteSpecHttpRouteMatchHeaderInput` via: // -// RouteSpecTcpRouteArgs{...} -type RouteSpecTcpRouteInput interface { +// RouteSpecHttpRouteMatchHeaderArgs{...} +type RouteSpecHttpRouteMatchHeaderInput interface { pulumi.Input - ToRouteSpecTcpRouteOutput() RouteSpecTcpRouteOutput - ToRouteSpecTcpRouteOutputWithContext(context.Context) RouteSpecTcpRouteOutput + ToRouteSpecHttpRouteMatchHeaderOutput() RouteSpecHttpRouteMatchHeaderOutput + ToRouteSpecHttpRouteMatchHeaderOutputWithContext(context.Context) RouteSpecHttpRouteMatchHeaderOutput } -type RouteSpecTcpRouteArgs struct { - // Action to take if a match is determined. - Action RouteSpecTcpRouteActionInput `pulumi:"action"` - // Criteria for determining an gRPC request match. - Match RouteSpecTcpRouteMatchPtrInput `pulumi:"match"` - // Types of timeouts. - Timeout RouteSpecTcpRouteTimeoutPtrInput `pulumi:"timeout"` +type RouteSpecHttpRouteMatchHeaderArgs struct { + // If `true`, the match is on the opposite of the `match` method and value. Default is `false`. + Invert pulumi.BoolPtrInput `pulumi:"invert"` + // Method and value to match the header value sent with a request. Specify one match method. + Match RouteSpecHttpRouteMatchHeaderMatchPtrInput `pulumi:"match"` + // Name for the HTTP header in the client request that will be matched on. + Name pulumi.StringInput `pulumi:"name"` } -func (RouteSpecTcpRouteArgs) ElementType() reflect.Type { - return reflect.TypeOf((*RouteSpecTcpRoute)(nil)).Elem() +func (RouteSpecHttpRouteMatchHeaderArgs) ElementType() reflect.Type { + return reflect.TypeOf((*RouteSpecHttpRouteMatchHeader)(nil)).Elem() } -func (i RouteSpecTcpRouteArgs) ToRouteSpecTcpRouteOutput() RouteSpecTcpRouteOutput { - return i.ToRouteSpecTcpRouteOutputWithContext(context.Background()) +func (i RouteSpecHttpRouteMatchHeaderArgs) ToRouteSpecHttpRouteMatchHeaderOutput() RouteSpecHttpRouteMatchHeaderOutput { + return i.ToRouteSpecHttpRouteMatchHeaderOutputWithContext(context.Background()) } -func (i RouteSpecTcpRouteArgs) ToRouteSpecTcpRouteOutputWithContext(ctx context.Context) RouteSpecTcpRouteOutput { - return pulumi.ToOutputWithContext(ctx, i).(RouteSpecTcpRouteOutput) +func (i RouteSpecHttpRouteMatchHeaderArgs) ToRouteSpecHttpRouteMatchHeaderOutputWithContext(ctx context.Context) RouteSpecHttpRouteMatchHeaderOutput { + return pulumi.ToOutputWithContext(ctx, i).(RouteSpecHttpRouteMatchHeaderOutput) } -func (i RouteSpecTcpRouteArgs) ToRouteSpecTcpRoutePtrOutput() RouteSpecTcpRoutePtrOutput { - return i.ToRouteSpecTcpRoutePtrOutputWithContext(context.Background()) +// RouteSpecHttpRouteMatchHeaderArrayInput is an input type that accepts RouteSpecHttpRouteMatchHeaderArray and RouteSpecHttpRouteMatchHeaderArrayOutput values. +// You can construct a concrete instance of `RouteSpecHttpRouteMatchHeaderArrayInput` via: +// +// RouteSpecHttpRouteMatchHeaderArray{ RouteSpecHttpRouteMatchHeaderArgs{...} } +type RouteSpecHttpRouteMatchHeaderArrayInput interface { + pulumi.Input + + ToRouteSpecHttpRouteMatchHeaderArrayOutput() RouteSpecHttpRouteMatchHeaderArrayOutput + ToRouteSpecHttpRouteMatchHeaderArrayOutputWithContext(context.Context) RouteSpecHttpRouteMatchHeaderArrayOutput } -func (i RouteSpecTcpRouteArgs) ToRouteSpecTcpRoutePtrOutputWithContext(ctx context.Context) RouteSpecTcpRoutePtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(RouteSpecTcpRouteOutput).ToRouteSpecTcpRoutePtrOutputWithContext(ctx) +type RouteSpecHttpRouteMatchHeaderArray []RouteSpecHttpRouteMatchHeaderInput + +func (RouteSpecHttpRouteMatchHeaderArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]RouteSpecHttpRouteMatchHeader)(nil)).Elem() } -// RouteSpecTcpRoutePtrInput is an input type that accepts RouteSpecTcpRouteArgs, RouteSpecTcpRoutePtr and RouteSpecTcpRoutePtrOutput values. -// You can construct a concrete instance of `RouteSpecTcpRoutePtrInput` via: +func (i RouteSpecHttpRouteMatchHeaderArray) ToRouteSpecHttpRouteMatchHeaderArrayOutput() RouteSpecHttpRouteMatchHeaderArrayOutput { + return i.ToRouteSpecHttpRouteMatchHeaderArrayOutputWithContext(context.Background()) +} + +func (i RouteSpecHttpRouteMatchHeaderArray) ToRouteSpecHttpRouteMatchHeaderArrayOutputWithContext(ctx context.Context) RouteSpecHttpRouteMatchHeaderArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(RouteSpecHttpRouteMatchHeaderArrayOutput) +} + +type RouteSpecHttpRouteMatchHeaderOutput struct{ *pulumi.OutputState } + +func (RouteSpecHttpRouteMatchHeaderOutput) ElementType() reflect.Type { + return reflect.TypeOf((*RouteSpecHttpRouteMatchHeader)(nil)).Elem() +} + +func (o RouteSpecHttpRouteMatchHeaderOutput) ToRouteSpecHttpRouteMatchHeaderOutput() RouteSpecHttpRouteMatchHeaderOutput { + return o +} + +func (o RouteSpecHttpRouteMatchHeaderOutput) ToRouteSpecHttpRouteMatchHeaderOutputWithContext(ctx context.Context) RouteSpecHttpRouteMatchHeaderOutput { + return o +} + +// If `true`, the match is on the opposite of the `match` method and value. Default is `false`. +func (o RouteSpecHttpRouteMatchHeaderOutput) Invert() pulumi.BoolPtrOutput { + return o.ApplyT(func(v RouteSpecHttpRouteMatchHeader) *bool { return v.Invert }).(pulumi.BoolPtrOutput) +} + +// Method and value to match the header value sent with a request. Specify one match method. +func (o RouteSpecHttpRouteMatchHeaderOutput) Match() RouteSpecHttpRouteMatchHeaderMatchPtrOutput { + return o.ApplyT(func(v RouteSpecHttpRouteMatchHeader) *RouteSpecHttpRouteMatchHeaderMatch { return v.Match }).(RouteSpecHttpRouteMatchHeaderMatchPtrOutput) +} + +// Name for the HTTP header in the client request that will be matched on. +func (o RouteSpecHttpRouteMatchHeaderOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v RouteSpecHttpRouteMatchHeader) string { return v.Name }).(pulumi.StringOutput) +} + +type RouteSpecHttpRouteMatchHeaderArrayOutput struct{ *pulumi.OutputState } + +func (RouteSpecHttpRouteMatchHeaderArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]RouteSpecHttpRouteMatchHeader)(nil)).Elem() +} + +func (o RouteSpecHttpRouteMatchHeaderArrayOutput) ToRouteSpecHttpRouteMatchHeaderArrayOutput() RouteSpecHttpRouteMatchHeaderArrayOutput { + return o +} + +func (o RouteSpecHttpRouteMatchHeaderArrayOutput) ToRouteSpecHttpRouteMatchHeaderArrayOutputWithContext(ctx context.Context) RouteSpecHttpRouteMatchHeaderArrayOutput { + return o +} + +func (o RouteSpecHttpRouteMatchHeaderArrayOutput) Index(i pulumi.IntInput) RouteSpecHttpRouteMatchHeaderOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) RouteSpecHttpRouteMatchHeader { + return vs[0].([]RouteSpecHttpRouteMatchHeader)[vs[1].(int)] + }).(RouteSpecHttpRouteMatchHeaderOutput) +} + +type RouteSpecHttpRouteMatchHeaderMatch struct { + // The exact path to match on. + Exact *string `pulumi:"exact"` + // Value sent by the client must begin with the specified characters. Must be between 1 and 255 characters in length. + // This parameter must always start with /, which by itself matches all requests to the virtual router service name. + Prefix *string `pulumi:"prefix"` + // Object that specifies the range of numbers that the value sent by the client must be included in. + Range *RouteSpecHttpRouteMatchHeaderMatchRange `pulumi:"range"` + // The regex used to match the path. + Regex *string `pulumi:"regex"` + // Value sent by the client must end with the specified characters. Must be between 1 and 255 characters in length. + Suffix *string `pulumi:"suffix"` +} + +// RouteSpecHttpRouteMatchHeaderMatchInput is an input type that accepts RouteSpecHttpRouteMatchHeaderMatchArgs and RouteSpecHttpRouteMatchHeaderMatchOutput values. +// You can construct a concrete instance of `RouteSpecHttpRouteMatchHeaderMatchInput` via: // -// RouteSpecTcpRouteArgs{...} +// RouteSpecHttpRouteMatchHeaderMatchArgs{...} +type RouteSpecHttpRouteMatchHeaderMatchInput interface { + pulumi.Input + + ToRouteSpecHttpRouteMatchHeaderMatchOutput() RouteSpecHttpRouteMatchHeaderMatchOutput + ToRouteSpecHttpRouteMatchHeaderMatchOutputWithContext(context.Context) RouteSpecHttpRouteMatchHeaderMatchOutput +} + +type RouteSpecHttpRouteMatchHeaderMatchArgs struct { + // The exact path to match on. + Exact pulumi.StringPtrInput `pulumi:"exact"` + // Value sent by the client must begin with the specified characters. Must be between 1 and 255 characters in length. + // This parameter must always start with /, which by itself matches all requests to the virtual router service name. + Prefix pulumi.StringPtrInput `pulumi:"prefix"` + // Object that specifies the range of numbers that the value sent by the client must be included in. + Range RouteSpecHttpRouteMatchHeaderMatchRangePtrInput `pulumi:"range"` + // The regex used to match the path. + Regex pulumi.StringPtrInput `pulumi:"regex"` + // Value sent by the client must end with the specified characters. Must be between 1 and 255 characters in length. + Suffix pulumi.StringPtrInput `pulumi:"suffix"` +} + +func (RouteSpecHttpRouteMatchHeaderMatchArgs) ElementType() reflect.Type { + return reflect.TypeOf((*RouteSpecHttpRouteMatchHeaderMatch)(nil)).Elem() +} + +func (i RouteSpecHttpRouteMatchHeaderMatchArgs) ToRouteSpecHttpRouteMatchHeaderMatchOutput() RouteSpecHttpRouteMatchHeaderMatchOutput { + return i.ToRouteSpecHttpRouteMatchHeaderMatchOutputWithContext(context.Background()) +} + +func (i RouteSpecHttpRouteMatchHeaderMatchArgs) ToRouteSpecHttpRouteMatchHeaderMatchOutputWithContext(ctx context.Context) RouteSpecHttpRouteMatchHeaderMatchOutput { + return pulumi.ToOutputWithContext(ctx, i).(RouteSpecHttpRouteMatchHeaderMatchOutput) +} + +func (i RouteSpecHttpRouteMatchHeaderMatchArgs) ToRouteSpecHttpRouteMatchHeaderMatchPtrOutput() RouteSpecHttpRouteMatchHeaderMatchPtrOutput { + return i.ToRouteSpecHttpRouteMatchHeaderMatchPtrOutputWithContext(context.Background()) +} + +func (i RouteSpecHttpRouteMatchHeaderMatchArgs) ToRouteSpecHttpRouteMatchHeaderMatchPtrOutputWithContext(ctx context.Context) RouteSpecHttpRouteMatchHeaderMatchPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(RouteSpecHttpRouteMatchHeaderMatchOutput).ToRouteSpecHttpRouteMatchHeaderMatchPtrOutputWithContext(ctx) +} + +// RouteSpecHttpRouteMatchHeaderMatchPtrInput is an input type that accepts RouteSpecHttpRouteMatchHeaderMatchArgs, RouteSpecHttpRouteMatchHeaderMatchPtr and RouteSpecHttpRouteMatchHeaderMatchPtrOutput values. +// You can construct a concrete instance of `RouteSpecHttpRouteMatchHeaderMatchPtrInput` via: +// +// RouteSpecHttpRouteMatchHeaderMatchArgs{...} // // or: // // nil -type RouteSpecTcpRoutePtrInput interface { +type RouteSpecHttpRouteMatchHeaderMatchPtrInput interface { pulumi.Input - ToRouteSpecTcpRoutePtrOutput() RouteSpecTcpRoutePtrOutput - ToRouteSpecTcpRoutePtrOutputWithContext(context.Context) RouteSpecTcpRoutePtrOutput + ToRouteSpecHttpRouteMatchHeaderMatchPtrOutput() RouteSpecHttpRouteMatchHeaderMatchPtrOutput + ToRouteSpecHttpRouteMatchHeaderMatchPtrOutputWithContext(context.Context) RouteSpecHttpRouteMatchHeaderMatchPtrOutput } -type routeSpecTcpRoutePtrType RouteSpecTcpRouteArgs +type routeSpecHttpRouteMatchHeaderMatchPtrType RouteSpecHttpRouteMatchHeaderMatchArgs -func RouteSpecTcpRoutePtr(v *RouteSpecTcpRouteArgs) RouteSpecTcpRoutePtrInput { - return (*routeSpecTcpRoutePtrType)(v) +func RouteSpecHttpRouteMatchHeaderMatchPtr(v *RouteSpecHttpRouteMatchHeaderMatchArgs) RouteSpecHttpRouteMatchHeaderMatchPtrInput { + return (*routeSpecHttpRouteMatchHeaderMatchPtrType)(v) } -func (*routeSpecTcpRoutePtrType) ElementType() reflect.Type { - return reflect.TypeOf((**RouteSpecTcpRoute)(nil)).Elem() +func (*routeSpecHttpRouteMatchHeaderMatchPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**RouteSpecHttpRouteMatchHeaderMatch)(nil)).Elem() } -func (i *routeSpecTcpRoutePtrType) ToRouteSpecTcpRoutePtrOutput() RouteSpecTcpRoutePtrOutput { - return i.ToRouteSpecTcpRoutePtrOutputWithContext(context.Background()) +func (i *routeSpecHttpRouteMatchHeaderMatchPtrType) ToRouteSpecHttpRouteMatchHeaderMatchPtrOutput() RouteSpecHttpRouteMatchHeaderMatchPtrOutput { + return i.ToRouteSpecHttpRouteMatchHeaderMatchPtrOutputWithContext(context.Background()) } -func (i *routeSpecTcpRoutePtrType) ToRouteSpecTcpRoutePtrOutputWithContext(ctx context.Context) RouteSpecTcpRoutePtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(RouteSpecTcpRoutePtrOutput) +func (i *routeSpecHttpRouteMatchHeaderMatchPtrType) ToRouteSpecHttpRouteMatchHeaderMatchPtrOutputWithContext(ctx context.Context) RouteSpecHttpRouteMatchHeaderMatchPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(RouteSpecHttpRouteMatchHeaderMatchPtrOutput) } -type RouteSpecTcpRouteOutput struct{ *pulumi.OutputState } +type RouteSpecHttpRouteMatchHeaderMatchOutput struct{ *pulumi.OutputState } -func (RouteSpecTcpRouteOutput) ElementType() reflect.Type { - return reflect.TypeOf((*RouteSpecTcpRoute)(nil)).Elem() +func (RouteSpecHttpRouteMatchHeaderMatchOutput) ElementType() reflect.Type { + return reflect.TypeOf((*RouteSpecHttpRouteMatchHeaderMatch)(nil)).Elem() } -func (o RouteSpecTcpRouteOutput) ToRouteSpecTcpRouteOutput() RouteSpecTcpRouteOutput { +func (o RouteSpecHttpRouteMatchHeaderMatchOutput) ToRouteSpecHttpRouteMatchHeaderMatchOutput() RouteSpecHttpRouteMatchHeaderMatchOutput { return o } -func (o RouteSpecTcpRouteOutput) ToRouteSpecTcpRouteOutputWithContext(ctx context.Context) RouteSpecTcpRouteOutput { +func (o RouteSpecHttpRouteMatchHeaderMatchOutput) ToRouteSpecHttpRouteMatchHeaderMatchOutputWithContext(ctx context.Context) RouteSpecHttpRouteMatchHeaderMatchOutput { return o } -func (o RouteSpecTcpRouteOutput) ToRouteSpecTcpRoutePtrOutput() RouteSpecTcpRoutePtrOutput { - return o.ToRouteSpecTcpRoutePtrOutputWithContext(context.Background()) +func (o RouteSpecHttpRouteMatchHeaderMatchOutput) ToRouteSpecHttpRouteMatchHeaderMatchPtrOutput() RouteSpecHttpRouteMatchHeaderMatchPtrOutput { + return o.ToRouteSpecHttpRouteMatchHeaderMatchPtrOutputWithContext(context.Background()) } -func (o RouteSpecTcpRouteOutput) ToRouteSpecTcpRoutePtrOutputWithContext(ctx context.Context) RouteSpecTcpRoutePtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v RouteSpecTcpRoute) *RouteSpecTcpRoute { +func (o RouteSpecHttpRouteMatchHeaderMatchOutput) ToRouteSpecHttpRouteMatchHeaderMatchPtrOutputWithContext(ctx context.Context) RouteSpecHttpRouteMatchHeaderMatchPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v RouteSpecHttpRouteMatchHeaderMatch) *RouteSpecHttpRouteMatchHeaderMatch { return &v - }).(RouteSpecTcpRoutePtrOutput) + }).(RouteSpecHttpRouteMatchHeaderMatchPtrOutput) } -// Action to take if a match is determined. -func (o RouteSpecTcpRouteOutput) Action() RouteSpecTcpRouteActionOutput { - return o.ApplyT(func(v RouteSpecTcpRoute) RouteSpecTcpRouteAction { return v.Action }).(RouteSpecTcpRouteActionOutput) +// The exact path to match on. +func (o RouteSpecHttpRouteMatchHeaderMatchOutput) Exact() pulumi.StringPtrOutput { + return o.ApplyT(func(v RouteSpecHttpRouteMatchHeaderMatch) *string { return v.Exact }).(pulumi.StringPtrOutput) } -// Criteria for determining an gRPC request match. -func (o RouteSpecTcpRouteOutput) Match() RouteSpecTcpRouteMatchPtrOutput { - return o.ApplyT(func(v RouteSpecTcpRoute) *RouteSpecTcpRouteMatch { return v.Match }).(RouteSpecTcpRouteMatchPtrOutput) +// Value sent by the client must begin with the specified characters. Must be between 1 and 255 characters in length. +// This parameter must always start with /, which by itself matches all requests to the virtual router service name. +func (o RouteSpecHttpRouteMatchHeaderMatchOutput) Prefix() pulumi.StringPtrOutput { + return o.ApplyT(func(v RouteSpecHttpRouteMatchHeaderMatch) *string { return v.Prefix }).(pulumi.StringPtrOutput) } -// Types of timeouts. -func (o RouteSpecTcpRouteOutput) Timeout() RouteSpecTcpRouteTimeoutPtrOutput { - return o.ApplyT(func(v RouteSpecTcpRoute) *RouteSpecTcpRouteTimeout { return v.Timeout }).(RouteSpecTcpRouteTimeoutPtrOutput) +// Object that specifies the range of numbers that the value sent by the client must be included in. +func (o RouteSpecHttpRouteMatchHeaderMatchOutput) Range() RouteSpecHttpRouteMatchHeaderMatchRangePtrOutput { + return o.ApplyT(func(v RouteSpecHttpRouteMatchHeaderMatch) *RouteSpecHttpRouteMatchHeaderMatchRange { return v.Range }).(RouteSpecHttpRouteMatchHeaderMatchRangePtrOutput) } -type RouteSpecTcpRoutePtrOutput struct{ *pulumi.OutputState } +// The regex used to match the path. +func (o RouteSpecHttpRouteMatchHeaderMatchOutput) Regex() pulumi.StringPtrOutput { + return o.ApplyT(func(v RouteSpecHttpRouteMatchHeaderMatch) *string { return v.Regex }).(pulumi.StringPtrOutput) +} -func (RouteSpecTcpRoutePtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**RouteSpecTcpRoute)(nil)).Elem() +// Value sent by the client must end with the specified characters. Must be between 1 and 255 characters in length. +func (o RouteSpecHttpRouteMatchHeaderMatchOutput) Suffix() pulumi.StringPtrOutput { + return o.ApplyT(func(v RouteSpecHttpRouteMatchHeaderMatch) *string { return v.Suffix }).(pulumi.StringPtrOutput) } -func (o RouteSpecTcpRoutePtrOutput) ToRouteSpecTcpRoutePtrOutput() RouteSpecTcpRoutePtrOutput { +type RouteSpecHttpRouteMatchHeaderMatchPtrOutput struct{ *pulumi.OutputState } + +func (RouteSpecHttpRouteMatchHeaderMatchPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**RouteSpecHttpRouteMatchHeaderMatch)(nil)).Elem() +} + +func (o RouteSpecHttpRouteMatchHeaderMatchPtrOutput) ToRouteSpecHttpRouteMatchHeaderMatchPtrOutput() RouteSpecHttpRouteMatchHeaderMatchPtrOutput { return o } -func (o RouteSpecTcpRoutePtrOutput) ToRouteSpecTcpRoutePtrOutputWithContext(ctx context.Context) RouteSpecTcpRoutePtrOutput { +func (o RouteSpecHttpRouteMatchHeaderMatchPtrOutput) ToRouteSpecHttpRouteMatchHeaderMatchPtrOutputWithContext(ctx context.Context) RouteSpecHttpRouteMatchHeaderMatchPtrOutput { return o } -func (o RouteSpecTcpRoutePtrOutput) Elem() RouteSpecTcpRouteOutput { - return o.ApplyT(func(v *RouteSpecTcpRoute) RouteSpecTcpRoute { +func (o RouteSpecHttpRouteMatchHeaderMatchPtrOutput) Elem() RouteSpecHttpRouteMatchHeaderMatchOutput { + return o.ApplyT(func(v *RouteSpecHttpRouteMatchHeaderMatch) RouteSpecHttpRouteMatchHeaderMatch { if v != nil { return *v } - var ret RouteSpecTcpRoute + var ret RouteSpecHttpRouteMatchHeaderMatch return ret - }).(RouteSpecTcpRouteOutput) + }).(RouteSpecHttpRouteMatchHeaderMatchOutput) } -// Action to take if a match is determined. -func (o RouteSpecTcpRoutePtrOutput) Action() RouteSpecTcpRouteActionPtrOutput { - return o.ApplyT(func(v *RouteSpecTcpRoute) *RouteSpecTcpRouteAction { +// The exact path to match on. +func (o RouteSpecHttpRouteMatchHeaderMatchPtrOutput) Exact() pulumi.StringPtrOutput { + return o.ApplyT(func(v *RouteSpecHttpRouteMatchHeaderMatch) *string { if v == nil { return nil } - return &v.Action - }).(RouteSpecTcpRouteActionPtrOutput) + return v.Exact + }).(pulumi.StringPtrOutput) } -// Criteria for determining an gRPC request match. -func (o RouteSpecTcpRoutePtrOutput) Match() RouteSpecTcpRouteMatchPtrOutput { - return o.ApplyT(func(v *RouteSpecTcpRoute) *RouteSpecTcpRouteMatch { +// Value sent by the client must begin with the specified characters. Must be between 1 and 255 characters in length. +// This parameter must always start with /, which by itself matches all requests to the virtual router service name. +func (o RouteSpecHttpRouteMatchHeaderMatchPtrOutput) Prefix() pulumi.StringPtrOutput { + return o.ApplyT(func(v *RouteSpecHttpRouteMatchHeaderMatch) *string { if v == nil { return nil } - return v.Match - }).(RouteSpecTcpRouteMatchPtrOutput) + return v.Prefix + }).(pulumi.StringPtrOutput) } -// Types of timeouts. -func (o RouteSpecTcpRoutePtrOutput) Timeout() RouteSpecTcpRouteTimeoutPtrOutput { - return o.ApplyT(func(v *RouteSpecTcpRoute) *RouteSpecTcpRouteTimeout { +// Object that specifies the range of numbers that the value sent by the client must be included in. +func (o RouteSpecHttpRouteMatchHeaderMatchPtrOutput) Range() RouteSpecHttpRouteMatchHeaderMatchRangePtrOutput { + return o.ApplyT(func(v *RouteSpecHttpRouteMatchHeaderMatch) *RouteSpecHttpRouteMatchHeaderMatchRange { if v == nil { return nil } - return v.Timeout - }).(RouteSpecTcpRouteTimeoutPtrOutput) + return v.Range + }).(RouteSpecHttpRouteMatchHeaderMatchRangePtrOutput) } -type RouteSpecTcpRouteAction struct { - // Targets that traffic is routed to when a request matches the route. - // You can specify one or more targets and their relative weights with which to distribute traffic. - WeightedTargets []RouteSpecTcpRouteActionWeightedTarget `pulumi:"weightedTargets"` +// The regex used to match the path. +func (o RouteSpecHttpRouteMatchHeaderMatchPtrOutput) Regex() pulumi.StringPtrOutput { + return o.ApplyT(func(v *RouteSpecHttpRouteMatchHeaderMatch) *string { + if v == nil { + return nil + } + return v.Regex + }).(pulumi.StringPtrOutput) } -// RouteSpecTcpRouteActionInput is an input type that accepts RouteSpecTcpRouteActionArgs and RouteSpecTcpRouteActionOutput values. -// You can construct a concrete instance of `RouteSpecTcpRouteActionInput` via: +// Value sent by the client must end with the specified characters. Must be between 1 and 255 characters in length. +func (o RouteSpecHttpRouteMatchHeaderMatchPtrOutput) Suffix() pulumi.StringPtrOutput { + return o.ApplyT(func(v *RouteSpecHttpRouteMatchHeaderMatch) *string { + if v == nil { + return nil + } + return v.Suffix + }).(pulumi.StringPtrOutput) +} + +type RouteSpecHttpRouteMatchHeaderMatchRange struct { + // End of the range. + End int `pulumi:"end"` + // Start of the range. + Start int `pulumi:"start"` +} + +// RouteSpecHttpRouteMatchHeaderMatchRangeInput is an input type that accepts RouteSpecHttpRouteMatchHeaderMatchRangeArgs and RouteSpecHttpRouteMatchHeaderMatchRangeOutput values. +// You can construct a concrete instance of `RouteSpecHttpRouteMatchHeaderMatchRangeInput` via: // -// RouteSpecTcpRouteActionArgs{...} -type RouteSpecTcpRouteActionInput interface { +// RouteSpecHttpRouteMatchHeaderMatchRangeArgs{...} +type RouteSpecHttpRouteMatchHeaderMatchRangeInput interface { pulumi.Input - ToRouteSpecTcpRouteActionOutput() RouteSpecTcpRouteActionOutput - ToRouteSpecTcpRouteActionOutputWithContext(context.Context) RouteSpecTcpRouteActionOutput + ToRouteSpecHttpRouteMatchHeaderMatchRangeOutput() RouteSpecHttpRouteMatchHeaderMatchRangeOutput + ToRouteSpecHttpRouteMatchHeaderMatchRangeOutputWithContext(context.Context) RouteSpecHttpRouteMatchHeaderMatchRangeOutput } -type RouteSpecTcpRouteActionArgs struct { - // Targets that traffic is routed to when a request matches the route. - // You can specify one or more targets and their relative weights with which to distribute traffic. - WeightedTargets RouteSpecTcpRouteActionWeightedTargetArrayInput `pulumi:"weightedTargets"` +type RouteSpecHttpRouteMatchHeaderMatchRangeArgs struct { + // End of the range. + End pulumi.IntInput `pulumi:"end"` + // Start of the range. + Start pulumi.IntInput `pulumi:"start"` } -func (RouteSpecTcpRouteActionArgs) ElementType() reflect.Type { - return reflect.TypeOf((*RouteSpecTcpRouteAction)(nil)).Elem() +func (RouteSpecHttpRouteMatchHeaderMatchRangeArgs) ElementType() reflect.Type { + return reflect.TypeOf((*RouteSpecHttpRouteMatchHeaderMatchRange)(nil)).Elem() } -func (i RouteSpecTcpRouteActionArgs) ToRouteSpecTcpRouteActionOutput() RouteSpecTcpRouteActionOutput { - return i.ToRouteSpecTcpRouteActionOutputWithContext(context.Background()) +func (i RouteSpecHttpRouteMatchHeaderMatchRangeArgs) ToRouteSpecHttpRouteMatchHeaderMatchRangeOutput() RouteSpecHttpRouteMatchHeaderMatchRangeOutput { + return i.ToRouteSpecHttpRouteMatchHeaderMatchRangeOutputWithContext(context.Background()) } -func (i RouteSpecTcpRouteActionArgs) ToRouteSpecTcpRouteActionOutputWithContext(ctx context.Context) RouteSpecTcpRouteActionOutput { - return pulumi.ToOutputWithContext(ctx, i).(RouteSpecTcpRouteActionOutput) +func (i RouteSpecHttpRouteMatchHeaderMatchRangeArgs) ToRouteSpecHttpRouteMatchHeaderMatchRangeOutputWithContext(ctx context.Context) RouteSpecHttpRouteMatchHeaderMatchRangeOutput { + return pulumi.ToOutputWithContext(ctx, i).(RouteSpecHttpRouteMatchHeaderMatchRangeOutput) } -func (i RouteSpecTcpRouteActionArgs) ToRouteSpecTcpRouteActionPtrOutput() RouteSpecTcpRouteActionPtrOutput { - return i.ToRouteSpecTcpRouteActionPtrOutputWithContext(context.Background()) +func (i RouteSpecHttpRouteMatchHeaderMatchRangeArgs) ToRouteSpecHttpRouteMatchHeaderMatchRangePtrOutput() RouteSpecHttpRouteMatchHeaderMatchRangePtrOutput { + return i.ToRouteSpecHttpRouteMatchHeaderMatchRangePtrOutputWithContext(context.Background()) } -func (i RouteSpecTcpRouteActionArgs) ToRouteSpecTcpRouteActionPtrOutputWithContext(ctx context.Context) RouteSpecTcpRouteActionPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(RouteSpecTcpRouteActionOutput).ToRouteSpecTcpRouteActionPtrOutputWithContext(ctx) +func (i RouteSpecHttpRouteMatchHeaderMatchRangeArgs) ToRouteSpecHttpRouteMatchHeaderMatchRangePtrOutputWithContext(ctx context.Context) RouteSpecHttpRouteMatchHeaderMatchRangePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(RouteSpecHttpRouteMatchHeaderMatchRangeOutput).ToRouteSpecHttpRouteMatchHeaderMatchRangePtrOutputWithContext(ctx) } -// RouteSpecTcpRouteActionPtrInput is an input type that accepts RouteSpecTcpRouteActionArgs, RouteSpecTcpRouteActionPtr and RouteSpecTcpRouteActionPtrOutput values. -// You can construct a concrete instance of `RouteSpecTcpRouteActionPtrInput` via: +// RouteSpecHttpRouteMatchHeaderMatchRangePtrInput is an input type that accepts RouteSpecHttpRouteMatchHeaderMatchRangeArgs, RouteSpecHttpRouteMatchHeaderMatchRangePtr and RouteSpecHttpRouteMatchHeaderMatchRangePtrOutput values. +// You can construct a concrete instance of `RouteSpecHttpRouteMatchHeaderMatchRangePtrInput` via: // -// RouteSpecTcpRouteActionArgs{...} +// RouteSpecHttpRouteMatchHeaderMatchRangeArgs{...} // // or: // // nil -type RouteSpecTcpRouteActionPtrInput interface { +type RouteSpecHttpRouteMatchHeaderMatchRangePtrInput interface { pulumi.Input - ToRouteSpecTcpRouteActionPtrOutput() RouteSpecTcpRouteActionPtrOutput - ToRouteSpecTcpRouteActionPtrOutputWithContext(context.Context) RouteSpecTcpRouteActionPtrOutput + ToRouteSpecHttpRouteMatchHeaderMatchRangePtrOutput() RouteSpecHttpRouteMatchHeaderMatchRangePtrOutput + ToRouteSpecHttpRouteMatchHeaderMatchRangePtrOutputWithContext(context.Context) RouteSpecHttpRouteMatchHeaderMatchRangePtrOutput } -type routeSpecTcpRouteActionPtrType RouteSpecTcpRouteActionArgs +type routeSpecHttpRouteMatchHeaderMatchRangePtrType RouteSpecHttpRouteMatchHeaderMatchRangeArgs -func RouteSpecTcpRouteActionPtr(v *RouteSpecTcpRouteActionArgs) RouteSpecTcpRouteActionPtrInput { - return (*routeSpecTcpRouteActionPtrType)(v) +func RouteSpecHttpRouteMatchHeaderMatchRangePtr(v *RouteSpecHttpRouteMatchHeaderMatchRangeArgs) RouteSpecHttpRouteMatchHeaderMatchRangePtrInput { + return (*routeSpecHttpRouteMatchHeaderMatchRangePtrType)(v) } -func (*routeSpecTcpRouteActionPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**RouteSpecTcpRouteAction)(nil)).Elem() +func (*routeSpecHttpRouteMatchHeaderMatchRangePtrType) ElementType() reflect.Type { + return reflect.TypeOf((**RouteSpecHttpRouteMatchHeaderMatchRange)(nil)).Elem() } -func (i *routeSpecTcpRouteActionPtrType) ToRouteSpecTcpRouteActionPtrOutput() RouteSpecTcpRouteActionPtrOutput { - return i.ToRouteSpecTcpRouteActionPtrOutputWithContext(context.Background()) +func (i *routeSpecHttpRouteMatchHeaderMatchRangePtrType) ToRouteSpecHttpRouteMatchHeaderMatchRangePtrOutput() RouteSpecHttpRouteMatchHeaderMatchRangePtrOutput { + return i.ToRouteSpecHttpRouteMatchHeaderMatchRangePtrOutputWithContext(context.Background()) } -func (i *routeSpecTcpRouteActionPtrType) ToRouteSpecTcpRouteActionPtrOutputWithContext(ctx context.Context) RouteSpecTcpRouteActionPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(RouteSpecTcpRouteActionPtrOutput) +func (i *routeSpecHttpRouteMatchHeaderMatchRangePtrType) ToRouteSpecHttpRouteMatchHeaderMatchRangePtrOutputWithContext(ctx context.Context) RouteSpecHttpRouteMatchHeaderMatchRangePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(RouteSpecHttpRouteMatchHeaderMatchRangePtrOutput) } -type RouteSpecTcpRouteActionOutput struct{ *pulumi.OutputState } +type RouteSpecHttpRouteMatchHeaderMatchRangeOutput struct{ *pulumi.OutputState } -func (RouteSpecTcpRouteActionOutput) ElementType() reflect.Type { - return reflect.TypeOf((*RouteSpecTcpRouteAction)(nil)).Elem() +func (RouteSpecHttpRouteMatchHeaderMatchRangeOutput) ElementType() reflect.Type { + return reflect.TypeOf((*RouteSpecHttpRouteMatchHeaderMatchRange)(nil)).Elem() } -func (o RouteSpecTcpRouteActionOutput) ToRouteSpecTcpRouteActionOutput() RouteSpecTcpRouteActionOutput { +func (o RouteSpecHttpRouteMatchHeaderMatchRangeOutput) ToRouteSpecHttpRouteMatchHeaderMatchRangeOutput() RouteSpecHttpRouteMatchHeaderMatchRangeOutput { return o } -func (o RouteSpecTcpRouteActionOutput) ToRouteSpecTcpRouteActionOutputWithContext(ctx context.Context) RouteSpecTcpRouteActionOutput { +func (o RouteSpecHttpRouteMatchHeaderMatchRangeOutput) ToRouteSpecHttpRouteMatchHeaderMatchRangeOutputWithContext(ctx context.Context) RouteSpecHttpRouteMatchHeaderMatchRangeOutput { return o } -func (o RouteSpecTcpRouteActionOutput) ToRouteSpecTcpRouteActionPtrOutput() RouteSpecTcpRouteActionPtrOutput { - return o.ToRouteSpecTcpRouteActionPtrOutputWithContext(context.Background()) +func (o RouteSpecHttpRouteMatchHeaderMatchRangeOutput) ToRouteSpecHttpRouteMatchHeaderMatchRangePtrOutput() RouteSpecHttpRouteMatchHeaderMatchRangePtrOutput { + return o.ToRouteSpecHttpRouteMatchHeaderMatchRangePtrOutputWithContext(context.Background()) } -func (o RouteSpecTcpRouteActionOutput) ToRouteSpecTcpRouteActionPtrOutputWithContext(ctx context.Context) RouteSpecTcpRouteActionPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v RouteSpecTcpRouteAction) *RouteSpecTcpRouteAction { +func (o RouteSpecHttpRouteMatchHeaderMatchRangeOutput) ToRouteSpecHttpRouteMatchHeaderMatchRangePtrOutputWithContext(ctx context.Context) RouteSpecHttpRouteMatchHeaderMatchRangePtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v RouteSpecHttpRouteMatchHeaderMatchRange) *RouteSpecHttpRouteMatchHeaderMatchRange { return &v - }).(RouteSpecTcpRouteActionPtrOutput) + }).(RouteSpecHttpRouteMatchHeaderMatchRangePtrOutput) } -// Targets that traffic is routed to when a request matches the route. -// You can specify one or more targets and their relative weights with which to distribute traffic. -func (o RouteSpecTcpRouteActionOutput) WeightedTargets() RouteSpecTcpRouteActionWeightedTargetArrayOutput { - return o.ApplyT(func(v RouteSpecTcpRouteAction) []RouteSpecTcpRouteActionWeightedTarget { return v.WeightedTargets }).(RouteSpecTcpRouteActionWeightedTargetArrayOutput) +// End of the range. +func (o RouteSpecHttpRouteMatchHeaderMatchRangeOutput) End() pulumi.IntOutput { + return o.ApplyT(func(v RouteSpecHttpRouteMatchHeaderMatchRange) int { return v.End }).(pulumi.IntOutput) } -type RouteSpecTcpRouteActionPtrOutput struct{ *pulumi.OutputState } +// Start of the range. +func (o RouteSpecHttpRouteMatchHeaderMatchRangeOutput) Start() pulumi.IntOutput { + return o.ApplyT(func(v RouteSpecHttpRouteMatchHeaderMatchRange) int { return v.Start }).(pulumi.IntOutput) +} -func (RouteSpecTcpRouteActionPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**RouteSpecTcpRouteAction)(nil)).Elem() +type RouteSpecHttpRouteMatchHeaderMatchRangePtrOutput struct{ *pulumi.OutputState } + +func (RouteSpecHttpRouteMatchHeaderMatchRangePtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**RouteSpecHttpRouteMatchHeaderMatchRange)(nil)).Elem() } -func (o RouteSpecTcpRouteActionPtrOutput) ToRouteSpecTcpRouteActionPtrOutput() RouteSpecTcpRouteActionPtrOutput { +func (o RouteSpecHttpRouteMatchHeaderMatchRangePtrOutput) ToRouteSpecHttpRouteMatchHeaderMatchRangePtrOutput() RouteSpecHttpRouteMatchHeaderMatchRangePtrOutput { return o } -func (o RouteSpecTcpRouteActionPtrOutput) ToRouteSpecTcpRouteActionPtrOutputWithContext(ctx context.Context) RouteSpecTcpRouteActionPtrOutput { +func (o RouteSpecHttpRouteMatchHeaderMatchRangePtrOutput) ToRouteSpecHttpRouteMatchHeaderMatchRangePtrOutputWithContext(ctx context.Context) RouteSpecHttpRouteMatchHeaderMatchRangePtrOutput { return o } -func (o RouteSpecTcpRouteActionPtrOutput) Elem() RouteSpecTcpRouteActionOutput { - return o.ApplyT(func(v *RouteSpecTcpRouteAction) RouteSpecTcpRouteAction { +func (o RouteSpecHttpRouteMatchHeaderMatchRangePtrOutput) Elem() RouteSpecHttpRouteMatchHeaderMatchRangeOutput { + return o.ApplyT(func(v *RouteSpecHttpRouteMatchHeaderMatchRange) RouteSpecHttpRouteMatchHeaderMatchRange { if v != nil { return *v } - var ret RouteSpecTcpRouteAction + var ret RouteSpecHttpRouteMatchHeaderMatchRange return ret - }).(RouteSpecTcpRouteActionOutput) + }).(RouteSpecHttpRouteMatchHeaderMatchRangeOutput) } -// Targets that traffic is routed to when a request matches the route. -// You can specify one or more targets and their relative weights with which to distribute traffic. -func (o RouteSpecTcpRouteActionPtrOutput) WeightedTargets() RouteSpecTcpRouteActionWeightedTargetArrayOutput { - return o.ApplyT(func(v *RouteSpecTcpRouteAction) []RouteSpecTcpRouteActionWeightedTarget { +// End of the range. +func (o RouteSpecHttpRouteMatchHeaderMatchRangePtrOutput) End() pulumi.IntPtrOutput { + return o.ApplyT(func(v *RouteSpecHttpRouteMatchHeaderMatchRange) *int { if v == nil { return nil } - return v.WeightedTargets - }).(RouteSpecTcpRouteActionWeightedTargetArrayOutput) + return &v.End + }).(pulumi.IntPtrOutput) } -type RouteSpecTcpRouteActionWeightedTarget struct { - // The targeted port of the weighted object. - Port *int `pulumi:"port"` - // Virtual node to associate with the weighted target. Must be between 1 and 255 characters in length. - VirtualNode string `pulumi:"virtualNode"` - // Relative weight of the weighted target. An integer between 0 and 100. - Weight int `pulumi:"weight"` +// Start of the range. +func (o RouteSpecHttpRouteMatchHeaderMatchRangePtrOutput) Start() pulumi.IntPtrOutput { + return o.ApplyT(func(v *RouteSpecHttpRouteMatchHeaderMatchRange) *int { + if v == nil { + return nil + } + return &v.Start + }).(pulumi.IntPtrOutput) } -// RouteSpecTcpRouteActionWeightedTargetInput is an input type that accepts RouteSpecTcpRouteActionWeightedTargetArgs and RouteSpecTcpRouteActionWeightedTargetOutput values. -// You can construct a concrete instance of `RouteSpecTcpRouteActionWeightedTargetInput` via: +type RouteSpecHttpRouteMatchPath struct { + // Value sent by the client must match the specified value exactly. Must be between 1 and 255 characters in length. + Exact *string `pulumi:"exact"` + // Value sent by the client must include the specified characters. Must be between 1 and 255 characters in length. + Regex *string `pulumi:"regex"` +} + +// RouteSpecHttpRouteMatchPathInput is an input type that accepts RouteSpecHttpRouteMatchPathArgs and RouteSpecHttpRouteMatchPathOutput values. +// You can construct a concrete instance of `RouteSpecHttpRouteMatchPathInput` via: // -// RouteSpecTcpRouteActionWeightedTargetArgs{...} -type RouteSpecTcpRouteActionWeightedTargetInput interface { +// RouteSpecHttpRouteMatchPathArgs{...} +type RouteSpecHttpRouteMatchPathInput interface { pulumi.Input - ToRouteSpecTcpRouteActionWeightedTargetOutput() RouteSpecTcpRouteActionWeightedTargetOutput - ToRouteSpecTcpRouteActionWeightedTargetOutputWithContext(context.Context) RouteSpecTcpRouteActionWeightedTargetOutput + ToRouteSpecHttpRouteMatchPathOutput() RouteSpecHttpRouteMatchPathOutput + ToRouteSpecHttpRouteMatchPathOutputWithContext(context.Context) RouteSpecHttpRouteMatchPathOutput } -type RouteSpecTcpRouteActionWeightedTargetArgs struct { - // The targeted port of the weighted object. - Port pulumi.IntPtrInput `pulumi:"port"` - // Virtual node to associate with the weighted target. Must be between 1 and 255 characters in length. - VirtualNode pulumi.StringInput `pulumi:"virtualNode"` - // Relative weight of the weighted target. An integer between 0 and 100. - Weight pulumi.IntInput `pulumi:"weight"` +type RouteSpecHttpRouteMatchPathArgs struct { + // Value sent by the client must match the specified value exactly. Must be between 1 and 255 characters in length. + Exact pulumi.StringPtrInput `pulumi:"exact"` + // Value sent by the client must include the specified characters. Must be between 1 and 255 characters in length. + Regex pulumi.StringPtrInput `pulumi:"regex"` } -func (RouteSpecTcpRouteActionWeightedTargetArgs) ElementType() reflect.Type { - return reflect.TypeOf((*RouteSpecTcpRouteActionWeightedTarget)(nil)).Elem() +func (RouteSpecHttpRouteMatchPathArgs) ElementType() reflect.Type { + return reflect.TypeOf((*RouteSpecHttpRouteMatchPath)(nil)).Elem() } -func (i RouteSpecTcpRouteActionWeightedTargetArgs) ToRouteSpecTcpRouteActionWeightedTargetOutput() RouteSpecTcpRouteActionWeightedTargetOutput { - return i.ToRouteSpecTcpRouteActionWeightedTargetOutputWithContext(context.Background()) +func (i RouteSpecHttpRouteMatchPathArgs) ToRouteSpecHttpRouteMatchPathOutput() RouteSpecHttpRouteMatchPathOutput { + return i.ToRouteSpecHttpRouteMatchPathOutputWithContext(context.Background()) } -func (i RouteSpecTcpRouteActionWeightedTargetArgs) ToRouteSpecTcpRouteActionWeightedTargetOutputWithContext(ctx context.Context) RouteSpecTcpRouteActionWeightedTargetOutput { - return pulumi.ToOutputWithContext(ctx, i).(RouteSpecTcpRouteActionWeightedTargetOutput) +func (i RouteSpecHttpRouteMatchPathArgs) ToRouteSpecHttpRouteMatchPathOutputWithContext(ctx context.Context) RouteSpecHttpRouteMatchPathOutput { + return pulumi.ToOutputWithContext(ctx, i).(RouteSpecHttpRouteMatchPathOutput) } -// RouteSpecTcpRouteActionWeightedTargetArrayInput is an input type that accepts RouteSpecTcpRouteActionWeightedTargetArray and RouteSpecTcpRouteActionWeightedTargetArrayOutput values. -// You can construct a concrete instance of `RouteSpecTcpRouteActionWeightedTargetArrayInput` via: +func (i RouteSpecHttpRouteMatchPathArgs) ToRouteSpecHttpRouteMatchPathPtrOutput() RouteSpecHttpRouteMatchPathPtrOutput { + return i.ToRouteSpecHttpRouteMatchPathPtrOutputWithContext(context.Background()) +} + +func (i RouteSpecHttpRouteMatchPathArgs) ToRouteSpecHttpRouteMatchPathPtrOutputWithContext(ctx context.Context) RouteSpecHttpRouteMatchPathPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(RouteSpecHttpRouteMatchPathOutput).ToRouteSpecHttpRouteMatchPathPtrOutputWithContext(ctx) +} + +// RouteSpecHttpRouteMatchPathPtrInput is an input type that accepts RouteSpecHttpRouteMatchPathArgs, RouteSpecHttpRouteMatchPathPtr and RouteSpecHttpRouteMatchPathPtrOutput values. +// You can construct a concrete instance of `RouteSpecHttpRouteMatchPathPtrInput` via: // -// RouteSpecTcpRouteActionWeightedTargetArray{ RouteSpecTcpRouteActionWeightedTargetArgs{...} } -type RouteSpecTcpRouteActionWeightedTargetArrayInput interface { +// RouteSpecHttpRouteMatchPathArgs{...} +// +// or: +// +// nil +type RouteSpecHttpRouteMatchPathPtrInput interface { pulumi.Input - ToRouteSpecTcpRouteActionWeightedTargetArrayOutput() RouteSpecTcpRouteActionWeightedTargetArrayOutput - ToRouteSpecTcpRouteActionWeightedTargetArrayOutputWithContext(context.Context) RouteSpecTcpRouteActionWeightedTargetArrayOutput + ToRouteSpecHttpRouteMatchPathPtrOutput() RouteSpecHttpRouteMatchPathPtrOutput + ToRouteSpecHttpRouteMatchPathPtrOutputWithContext(context.Context) RouteSpecHttpRouteMatchPathPtrOutput } -type RouteSpecTcpRouteActionWeightedTargetArray []RouteSpecTcpRouteActionWeightedTargetInput +type routeSpecHttpRouteMatchPathPtrType RouteSpecHttpRouteMatchPathArgs -func (RouteSpecTcpRouteActionWeightedTargetArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]RouteSpecTcpRouteActionWeightedTarget)(nil)).Elem() +func RouteSpecHttpRouteMatchPathPtr(v *RouteSpecHttpRouteMatchPathArgs) RouteSpecHttpRouteMatchPathPtrInput { + return (*routeSpecHttpRouteMatchPathPtrType)(v) } -func (i RouteSpecTcpRouteActionWeightedTargetArray) ToRouteSpecTcpRouteActionWeightedTargetArrayOutput() RouteSpecTcpRouteActionWeightedTargetArrayOutput { - return i.ToRouteSpecTcpRouteActionWeightedTargetArrayOutputWithContext(context.Background()) +func (*routeSpecHttpRouteMatchPathPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**RouteSpecHttpRouteMatchPath)(nil)).Elem() } -func (i RouteSpecTcpRouteActionWeightedTargetArray) ToRouteSpecTcpRouteActionWeightedTargetArrayOutputWithContext(ctx context.Context) RouteSpecTcpRouteActionWeightedTargetArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(RouteSpecTcpRouteActionWeightedTargetArrayOutput) +func (i *routeSpecHttpRouteMatchPathPtrType) ToRouteSpecHttpRouteMatchPathPtrOutput() RouteSpecHttpRouteMatchPathPtrOutput { + return i.ToRouteSpecHttpRouteMatchPathPtrOutputWithContext(context.Background()) } -type RouteSpecTcpRouteActionWeightedTargetOutput struct{ *pulumi.OutputState } +func (i *routeSpecHttpRouteMatchPathPtrType) ToRouteSpecHttpRouteMatchPathPtrOutputWithContext(ctx context.Context) RouteSpecHttpRouteMatchPathPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(RouteSpecHttpRouteMatchPathPtrOutput) +} -func (RouteSpecTcpRouteActionWeightedTargetOutput) ElementType() reflect.Type { - return reflect.TypeOf((*RouteSpecTcpRouteActionWeightedTarget)(nil)).Elem() +type RouteSpecHttpRouteMatchPathOutput struct{ *pulumi.OutputState } + +func (RouteSpecHttpRouteMatchPathOutput) ElementType() reflect.Type { + return reflect.TypeOf((*RouteSpecHttpRouteMatchPath)(nil)).Elem() } -func (o RouteSpecTcpRouteActionWeightedTargetOutput) ToRouteSpecTcpRouteActionWeightedTargetOutput() RouteSpecTcpRouteActionWeightedTargetOutput { +func (o RouteSpecHttpRouteMatchPathOutput) ToRouteSpecHttpRouteMatchPathOutput() RouteSpecHttpRouteMatchPathOutput { return o } -func (o RouteSpecTcpRouteActionWeightedTargetOutput) ToRouteSpecTcpRouteActionWeightedTargetOutputWithContext(ctx context.Context) RouteSpecTcpRouteActionWeightedTargetOutput { +func (o RouteSpecHttpRouteMatchPathOutput) ToRouteSpecHttpRouteMatchPathOutputWithContext(ctx context.Context) RouteSpecHttpRouteMatchPathOutput { return o } -// The targeted port of the weighted object. -func (o RouteSpecTcpRouteActionWeightedTargetOutput) Port() pulumi.IntPtrOutput { - return o.ApplyT(func(v RouteSpecTcpRouteActionWeightedTarget) *int { return v.Port }).(pulumi.IntPtrOutput) +func (o RouteSpecHttpRouteMatchPathOutput) ToRouteSpecHttpRouteMatchPathPtrOutput() RouteSpecHttpRouteMatchPathPtrOutput { + return o.ToRouteSpecHttpRouteMatchPathPtrOutputWithContext(context.Background()) } -// Virtual node to associate with the weighted target. Must be between 1 and 255 characters in length. -func (o RouteSpecTcpRouteActionWeightedTargetOutput) VirtualNode() pulumi.StringOutput { - return o.ApplyT(func(v RouteSpecTcpRouteActionWeightedTarget) string { return v.VirtualNode }).(pulumi.StringOutput) +func (o RouteSpecHttpRouteMatchPathOutput) ToRouteSpecHttpRouteMatchPathPtrOutputWithContext(ctx context.Context) RouteSpecHttpRouteMatchPathPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v RouteSpecHttpRouteMatchPath) *RouteSpecHttpRouteMatchPath { + return &v + }).(RouteSpecHttpRouteMatchPathPtrOutput) } -// Relative weight of the weighted target. An integer between 0 and 100. -func (o RouteSpecTcpRouteActionWeightedTargetOutput) Weight() pulumi.IntOutput { - return o.ApplyT(func(v RouteSpecTcpRouteActionWeightedTarget) int { return v.Weight }).(pulumi.IntOutput) +// Value sent by the client must match the specified value exactly. Must be between 1 and 255 characters in length. +func (o RouteSpecHttpRouteMatchPathOutput) Exact() pulumi.StringPtrOutput { + return o.ApplyT(func(v RouteSpecHttpRouteMatchPath) *string { return v.Exact }).(pulumi.StringPtrOutput) } -type RouteSpecTcpRouteActionWeightedTargetArrayOutput struct{ *pulumi.OutputState } +// Value sent by the client must include the specified characters. Must be between 1 and 255 characters in length. +func (o RouteSpecHttpRouteMatchPathOutput) Regex() pulumi.StringPtrOutput { + return o.ApplyT(func(v RouteSpecHttpRouteMatchPath) *string { return v.Regex }).(pulumi.StringPtrOutput) +} -func (RouteSpecTcpRouteActionWeightedTargetArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]RouteSpecTcpRouteActionWeightedTarget)(nil)).Elem() +type RouteSpecHttpRouteMatchPathPtrOutput struct{ *pulumi.OutputState } + +func (RouteSpecHttpRouteMatchPathPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**RouteSpecHttpRouteMatchPath)(nil)).Elem() } -func (o RouteSpecTcpRouteActionWeightedTargetArrayOutput) ToRouteSpecTcpRouteActionWeightedTargetArrayOutput() RouteSpecTcpRouteActionWeightedTargetArrayOutput { +func (o RouteSpecHttpRouteMatchPathPtrOutput) ToRouteSpecHttpRouteMatchPathPtrOutput() RouteSpecHttpRouteMatchPathPtrOutput { return o } -func (o RouteSpecTcpRouteActionWeightedTargetArrayOutput) ToRouteSpecTcpRouteActionWeightedTargetArrayOutputWithContext(ctx context.Context) RouteSpecTcpRouteActionWeightedTargetArrayOutput { +func (o RouteSpecHttpRouteMatchPathPtrOutput) ToRouteSpecHttpRouteMatchPathPtrOutputWithContext(ctx context.Context) RouteSpecHttpRouteMatchPathPtrOutput { return o } -func (o RouteSpecTcpRouteActionWeightedTargetArrayOutput) Index(i pulumi.IntInput) RouteSpecTcpRouteActionWeightedTargetOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) RouteSpecTcpRouteActionWeightedTarget { - return vs[0].([]RouteSpecTcpRouteActionWeightedTarget)[vs[1].(int)] - }).(RouteSpecTcpRouteActionWeightedTargetOutput) +func (o RouteSpecHttpRouteMatchPathPtrOutput) Elem() RouteSpecHttpRouteMatchPathOutput { + return o.ApplyT(func(v *RouteSpecHttpRouteMatchPath) RouteSpecHttpRouteMatchPath { + if v != nil { + return *v + } + var ret RouteSpecHttpRouteMatchPath + return ret + }).(RouteSpecHttpRouteMatchPathOutput) } -type RouteSpecTcpRouteMatch struct { - // The port number to match from the request. - Port *int `pulumi:"port"` +// Value sent by the client must match the specified value exactly. Must be between 1 and 255 characters in length. +func (o RouteSpecHttpRouteMatchPathPtrOutput) Exact() pulumi.StringPtrOutput { + return o.ApplyT(func(v *RouteSpecHttpRouteMatchPath) *string { + if v == nil { + return nil + } + return v.Exact + }).(pulumi.StringPtrOutput) } -// RouteSpecTcpRouteMatchInput is an input type that accepts RouteSpecTcpRouteMatchArgs and RouteSpecTcpRouteMatchOutput values. -// You can construct a concrete instance of `RouteSpecTcpRouteMatchInput` via: -// -// RouteSpecTcpRouteMatchArgs{...} -type RouteSpecTcpRouteMatchInput interface { - pulumi.Input - - ToRouteSpecTcpRouteMatchOutput() RouteSpecTcpRouteMatchOutput - ToRouteSpecTcpRouteMatchOutputWithContext(context.Context) RouteSpecTcpRouteMatchOutput +// Value sent by the client must include the specified characters. Must be between 1 and 255 characters in length. +func (o RouteSpecHttpRouteMatchPathPtrOutput) Regex() pulumi.StringPtrOutput { + return o.ApplyT(func(v *RouteSpecHttpRouteMatchPath) *string { + if v == nil { + return nil + } + return v.Regex + }).(pulumi.StringPtrOutput) } -type RouteSpecTcpRouteMatchArgs struct { - // The port number to match from the request. - Port pulumi.IntPtrInput `pulumi:"port"` +type RouteSpecHttpRouteMatchQueryParameter struct { + // Criteria for determining an gRPC request match. + Match *RouteSpecHttpRouteMatchQueryParameterMatch `pulumi:"match"` + // Name to use for the route. Must be between 1 and 255 characters in length. + Name string `pulumi:"name"` } -func (RouteSpecTcpRouteMatchArgs) ElementType() reflect.Type { - return reflect.TypeOf((*RouteSpecTcpRouteMatch)(nil)).Elem() +// RouteSpecHttpRouteMatchQueryParameterInput is an input type that accepts RouteSpecHttpRouteMatchQueryParameterArgs and RouteSpecHttpRouteMatchQueryParameterOutput values. +// You can construct a concrete instance of `RouteSpecHttpRouteMatchQueryParameterInput` via: +// +// RouteSpecHttpRouteMatchQueryParameterArgs{...} +type RouteSpecHttpRouteMatchQueryParameterInput interface { + pulumi.Input + + ToRouteSpecHttpRouteMatchQueryParameterOutput() RouteSpecHttpRouteMatchQueryParameterOutput + ToRouteSpecHttpRouteMatchQueryParameterOutputWithContext(context.Context) RouteSpecHttpRouteMatchQueryParameterOutput } -func (i RouteSpecTcpRouteMatchArgs) ToRouteSpecTcpRouteMatchOutput() RouteSpecTcpRouteMatchOutput { - return i.ToRouteSpecTcpRouteMatchOutputWithContext(context.Background()) +type RouteSpecHttpRouteMatchQueryParameterArgs struct { + // Criteria for determining an gRPC request match. + Match RouteSpecHttpRouteMatchQueryParameterMatchPtrInput `pulumi:"match"` + // Name to use for the route. Must be between 1 and 255 characters in length. + Name pulumi.StringInput `pulumi:"name"` } -func (i RouteSpecTcpRouteMatchArgs) ToRouteSpecTcpRouteMatchOutputWithContext(ctx context.Context) RouteSpecTcpRouteMatchOutput { - return pulumi.ToOutputWithContext(ctx, i).(RouteSpecTcpRouteMatchOutput) +func (RouteSpecHttpRouteMatchQueryParameterArgs) ElementType() reflect.Type { + return reflect.TypeOf((*RouteSpecHttpRouteMatchQueryParameter)(nil)).Elem() } -func (i RouteSpecTcpRouteMatchArgs) ToRouteSpecTcpRouteMatchPtrOutput() RouteSpecTcpRouteMatchPtrOutput { - return i.ToRouteSpecTcpRouteMatchPtrOutputWithContext(context.Background()) +func (i RouteSpecHttpRouteMatchQueryParameterArgs) ToRouteSpecHttpRouteMatchQueryParameterOutput() RouteSpecHttpRouteMatchQueryParameterOutput { + return i.ToRouteSpecHttpRouteMatchQueryParameterOutputWithContext(context.Background()) } -func (i RouteSpecTcpRouteMatchArgs) ToRouteSpecTcpRouteMatchPtrOutputWithContext(ctx context.Context) RouteSpecTcpRouteMatchPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(RouteSpecTcpRouteMatchOutput).ToRouteSpecTcpRouteMatchPtrOutputWithContext(ctx) +func (i RouteSpecHttpRouteMatchQueryParameterArgs) ToRouteSpecHttpRouteMatchQueryParameterOutputWithContext(ctx context.Context) RouteSpecHttpRouteMatchQueryParameterOutput { + return pulumi.ToOutputWithContext(ctx, i).(RouteSpecHttpRouteMatchQueryParameterOutput) } -// RouteSpecTcpRouteMatchPtrInput is an input type that accepts RouteSpecTcpRouteMatchArgs, RouteSpecTcpRouteMatchPtr and RouteSpecTcpRouteMatchPtrOutput values. -// You can construct a concrete instance of `RouteSpecTcpRouteMatchPtrInput` via: -// -// RouteSpecTcpRouteMatchArgs{...} -// -// or: +// RouteSpecHttpRouteMatchQueryParameterArrayInput is an input type that accepts RouteSpecHttpRouteMatchQueryParameterArray and RouteSpecHttpRouteMatchQueryParameterArrayOutput values. +// You can construct a concrete instance of `RouteSpecHttpRouteMatchQueryParameterArrayInput` via: // -// nil -type RouteSpecTcpRouteMatchPtrInput interface { +// RouteSpecHttpRouteMatchQueryParameterArray{ RouteSpecHttpRouteMatchQueryParameterArgs{...} } +type RouteSpecHttpRouteMatchQueryParameterArrayInput interface { pulumi.Input - ToRouteSpecTcpRouteMatchPtrOutput() RouteSpecTcpRouteMatchPtrOutput - ToRouteSpecTcpRouteMatchPtrOutputWithContext(context.Context) RouteSpecTcpRouteMatchPtrOutput + ToRouteSpecHttpRouteMatchQueryParameterArrayOutput() RouteSpecHttpRouteMatchQueryParameterArrayOutput + ToRouteSpecHttpRouteMatchQueryParameterArrayOutputWithContext(context.Context) RouteSpecHttpRouteMatchQueryParameterArrayOutput } -type routeSpecTcpRouteMatchPtrType RouteSpecTcpRouteMatchArgs - -func RouteSpecTcpRouteMatchPtr(v *RouteSpecTcpRouteMatchArgs) RouteSpecTcpRouteMatchPtrInput { - return (*routeSpecTcpRouteMatchPtrType)(v) -} +type RouteSpecHttpRouteMatchQueryParameterArray []RouteSpecHttpRouteMatchQueryParameterInput -func (*routeSpecTcpRouteMatchPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**RouteSpecTcpRouteMatch)(nil)).Elem() +func (RouteSpecHttpRouteMatchQueryParameterArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]RouteSpecHttpRouteMatchQueryParameter)(nil)).Elem() } -func (i *routeSpecTcpRouteMatchPtrType) ToRouteSpecTcpRouteMatchPtrOutput() RouteSpecTcpRouteMatchPtrOutput { - return i.ToRouteSpecTcpRouteMatchPtrOutputWithContext(context.Background()) +func (i RouteSpecHttpRouteMatchQueryParameterArray) ToRouteSpecHttpRouteMatchQueryParameterArrayOutput() RouteSpecHttpRouteMatchQueryParameterArrayOutput { + return i.ToRouteSpecHttpRouteMatchQueryParameterArrayOutputWithContext(context.Background()) } -func (i *routeSpecTcpRouteMatchPtrType) ToRouteSpecTcpRouteMatchPtrOutputWithContext(ctx context.Context) RouteSpecTcpRouteMatchPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(RouteSpecTcpRouteMatchPtrOutput) +func (i RouteSpecHttpRouteMatchQueryParameterArray) ToRouteSpecHttpRouteMatchQueryParameterArrayOutputWithContext(ctx context.Context) RouteSpecHttpRouteMatchQueryParameterArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(RouteSpecHttpRouteMatchQueryParameterArrayOutput) } -type RouteSpecTcpRouteMatchOutput struct{ *pulumi.OutputState } +type RouteSpecHttpRouteMatchQueryParameterOutput struct{ *pulumi.OutputState } -func (RouteSpecTcpRouteMatchOutput) ElementType() reflect.Type { - return reflect.TypeOf((*RouteSpecTcpRouteMatch)(nil)).Elem() +func (RouteSpecHttpRouteMatchQueryParameterOutput) ElementType() reflect.Type { + return reflect.TypeOf((*RouteSpecHttpRouteMatchQueryParameter)(nil)).Elem() } -func (o RouteSpecTcpRouteMatchOutput) ToRouteSpecTcpRouteMatchOutput() RouteSpecTcpRouteMatchOutput { +func (o RouteSpecHttpRouteMatchQueryParameterOutput) ToRouteSpecHttpRouteMatchQueryParameterOutput() RouteSpecHttpRouteMatchQueryParameterOutput { return o } -func (o RouteSpecTcpRouteMatchOutput) ToRouteSpecTcpRouteMatchOutputWithContext(ctx context.Context) RouteSpecTcpRouteMatchOutput { +func (o RouteSpecHttpRouteMatchQueryParameterOutput) ToRouteSpecHttpRouteMatchQueryParameterOutputWithContext(ctx context.Context) RouteSpecHttpRouteMatchQueryParameterOutput { return o } -func (o RouteSpecTcpRouteMatchOutput) ToRouteSpecTcpRouteMatchPtrOutput() RouteSpecTcpRouteMatchPtrOutput { - return o.ToRouteSpecTcpRouteMatchPtrOutputWithContext(context.Background()) -} - -func (o RouteSpecTcpRouteMatchOutput) ToRouteSpecTcpRouteMatchPtrOutputWithContext(ctx context.Context) RouteSpecTcpRouteMatchPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v RouteSpecTcpRouteMatch) *RouteSpecTcpRouteMatch { - return &v - }).(RouteSpecTcpRouteMatchPtrOutput) +// Criteria for determining an gRPC request match. +func (o RouteSpecHttpRouteMatchQueryParameterOutput) Match() RouteSpecHttpRouteMatchQueryParameterMatchPtrOutput { + return o.ApplyT(func(v RouteSpecHttpRouteMatchQueryParameter) *RouteSpecHttpRouteMatchQueryParameterMatch { + return v.Match + }).(RouteSpecHttpRouteMatchQueryParameterMatchPtrOutput) } -// The port number to match from the request. -func (o RouteSpecTcpRouteMatchOutput) Port() pulumi.IntPtrOutput { - return o.ApplyT(func(v RouteSpecTcpRouteMatch) *int { return v.Port }).(pulumi.IntPtrOutput) +// Name to use for the route. Must be between 1 and 255 characters in length. +func (o RouteSpecHttpRouteMatchQueryParameterOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v RouteSpecHttpRouteMatchQueryParameter) string { return v.Name }).(pulumi.StringOutput) } -type RouteSpecTcpRouteMatchPtrOutput struct{ *pulumi.OutputState } +type RouteSpecHttpRouteMatchQueryParameterArrayOutput struct{ *pulumi.OutputState } -func (RouteSpecTcpRouteMatchPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**RouteSpecTcpRouteMatch)(nil)).Elem() +func (RouteSpecHttpRouteMatchQueryParameterArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]RouteSpecHttpRouteMatchQueryParameter)(nil)).Elem() } -func (o RouteSpecTcpRouteMatchPtrOutput) ToRouteSpecTcpRouteMatchPtrOutput() RouteSpecTcpRouteMatchPtrOutput { +func (o RouteSpecHttpRouteMatchQueryParameterArrayOutput) ToRouteSpecHttpRouteMatchQueryParameterArrayOutput() RouteSpecHttpRouteMatchQueryParameterArrayOutput { return o } -func (o RouteSpecTcpRouteMatchPtrOutput) ToRouteSpecTcpRouteMatchPtrOutputWithContext(ctx context.Context) RouteSpecTcpRouteMatchPtrOutput { +func (o RouteSpecHttpRouteMatchQueryParameterArrayOutput) ToRouteSpecHttpRouteMatchQueryParameterArrayOutputWithContext(ctx context.Context) RouteSpecHttpRouteMatchQueryParameterArrayOutput { return o } -func (o RouteSpecTcpRouteMatchPtrOutput) Elem() RouteSpecTcpRouteMatchOutput { - return o.ApplyT(func(v *RouteSpecTcpRouteMatch) RouteSpecTcpRouteMatch { - if v != nil { - return *v - } - var ret RouteSpecTcpRouteMatch - return ret - }).(RouteSpecTcpRouteMatchOutput) -} - -// The port number to match from the request. -func (o RouteSpecTcpRouteMatchPtrOutput) Port() pulumi.IntPtrOutput { - return o.ApplyT(func(v *RouteSpecTcpRouteMatch) *int { - if v == nil { - return nil - } - return v.Port - }).(pulumi.IntPtrOutput) +func (o RouteSpecHttpRouteMatchQueryParameterArrayOutput) Index(i pulumi.IntInput) RouteSpecHttpRouteMatchQueryParameterOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) RouteSpecHttpRouteMatchQueryParameter { + return vs[0].([]RouteSpecHttpRouteMatchQueryParameter)[vs[1].(int)] + }).(RouteSpecHttpRouteMatchQueryParameterOutput) } -type RouteSpecTcpRouteTimeout struct { - // Idle timeout. An idle timeout bounds the amount of time that a connection may be idle. - Idle *RouteSpecTcpRouteTimeoutIdle `pulumi:"idle"` +type RouteSpecHttpRouteMatchQueryParameterMatch struct { + // The exact path to match on. + Exact *string `pulumi:"exact"` } -// RouteSpecTcpRouteTimeoutInput is an input type that accepts RouteSpecTcpRouteTimeoutArgs and RouteSpecTcpRouteTimeoutOutput values. -// You can construct a concrete instance of `RouteSpecTcpRouteTimeoutInput` via: +// RouteSpecHttpRouteMatchQueryParameterMatchInput is an input type that accepts RouteSpecHttpRouteMatchQueryParameterMatchArgs and RouteSpecHttpRouteMatchQueryParameterMatchOutput values. +// You can construct a concrete instance of `RouteSpecHttpRouteMatchQueryParameterMatchInput` via: // -// RouteSpecTcpRouteTimeoutArgs{...} -type RouteSpecTcpRouteTimeoutInput interface { +// RouteSpecHttpRouteMatchQueryParameterMatchArgs{...} +type RouteSpecHttpRouteMatchQueryParameterMatchInput interface { pulumi.Input - ToRouteSpecTcpRouteTimeoutOutput() RouteSpecTcpRouteTimeoutOutput - ToRouteSpecTcpRouteTimeoutOutputWithContext(context.Context) RouteSpecTcpRouteTimeoutOutput + ToRouteSpecHttpRouteMatchQueryParameterMatchOutput() RouteSpecHttpRouteMatchQueryParameterMatchOutput + ToRouteSpecHttpRouteMatchQueryParameterMatchOutputWithContext(context.Context) RouteSpecHttpRouteMatchQueryParameterMatchOutput } -type RouteSpecTcpRouteTimeoutArgs struct { - // Idle timeout. An idle timeout bounds the amount of time that a connection may be idle. - Idle RouteSpecTcpRouteTimeoutIdlePtrInput `pulumi:"idle"` +type RouteSpecHttpRouteMatchQueryParameterMatchArgs struct { + // The exact path to match on. + Exact pulumi.StringPtrInput `pulumi:"exact"` } -func (RouteSpecTcpRouteTimeoutArgs) ElementType() reflect.Type { - return reflect.TypeOf((*RouteSpecTcpRouteTimeout)(nil)).Elem() +func (RouteSpecHttpRouteMatchQueryParameterMatchArgs) ElementType() reflect.Type { + return reflect.TypeOf((*RouteSpecHttpRouteMatchQueryParameterMatch)(nil)).Elem() } -func (i RouteSpecTcpRouteTimeoutArgs) ToRouteSpecTcpRouteTimeoutOutput() RouteSpecTcpRouteTimeoutOutput { - return i.ToRouteSpecTcpRouteTimeoutOutputWithContext(context.Background()) +func (i RouteSpecHttpRouteMatchQueryParameterMatchArgs) ToRouteSpecHttpRouteMatchQueryParameterMatchOutput() RouteSpecHttpRouteMatchQueryParameterMatchOutput { + return i.ToRouteSpecHttpRouteMatchQueryParameterMatchOutputWithContext(context.Background()) } -func (i RouteSpecTcpRouteTimeoutArgs) ToRouteSpecTcpRouteTimeoutOutputWithContext(ctx context.Context) RouteSpecTcpRouteTimeoutOutput { - return pulumi.ToOutputWithContext(ctx, i).(RouteSpecTcpRouteTimeoutOutput) +func (i RouteSpecHttpRouteMatchQueryParameterMatchArgs) ToRouteSpecHttpRouteMatchQueryParameterMatchOutputWithContext(ctx context.Context) RouteSpecHttpRouteMatchQueryParameterMatchOutput { + return pulumi.ToOutputWithContext(ctx, i).(RouteSpecHttpRouteMatchQueryParameterMatchOutput) } -func (i RouteSpecTcpRouteTimeoutArgs) ToRouteSpecTcpRouteTimeoutPtrOutput() RouteSpecTcpRouteTimeoutPtrOutput { - return i.ToRouteSpecTcpRouteTimeoutPtrOutputWithContext(context.Background()) +func (i RouteSpecHttpRouteMatchQueryParameterMatchArgs) ToRouteSpecHttpRouteMatchQueryParameterMatchPtrOutput() RouteSpecHttpRouteMatchQueryParameterMatchPtrOutput { + return i.ToRouteSpecHttpRouteMatchQueryParameterMatchPtrOutputWithContext(context.Background()) } -func (i RouteSpecTcpRouteTimeoutArgs) ToRouteSpecTcpRouteTimeoutPtrOutputWithContext(ctx context.Context) RouteSpecTcpRouteTimeoutPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(RouteSpecTcpRouteTimeoutOutput).ToRouteSpecTcpRouteTimeoutPtrOutputWithContext(ctx) +func (i RouteSpecHttpRouteMatchQueryParameterMatchArgs) ToRouteSpecHttpRouteMatchQueryParameterMatchPtrOutputWithContext(ctx context.Context) RouteSpecHttpRouteMatchQueryParameterMatchPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(RouteSpecHttpRouteMatchQueryParameterMatchOutput).ToRouteSpecHttpRouteMatchQueryParameterMatchPtrOutputWithContext(ctx) } -// RouteSpecTcpRouteTimeoutPtrInput is an input type that accepts RouteSpecTcpRouteTimeoutArgs, RouteSpecTcpRouteTimeoutPtr and RouteSpecTcpRouteTimeoutPtrOutput values. -// You can construct a concrete instance of `RouteSpecTcpRouteTimeoutPtrInput` via: +// RouteSpecHttpRouteMatchQueryParameterMatchPtrInput is an input type that accepts RouteSpecHttpRouteMatchQueryParameterMatchArgs, RouteSpecHttpRouteMatchQueryParameterMatchPtr and RouteSpecHttpRouteMatchQueryParameterMatchPtrOutput values. +// You can construct a concrete instance of `RouteSpecHttpRouteMatchQueryParameterMatchPtrInput` via: // -// RouteSpecTcpRouteTimeoutArgs{...} +// RouteSpecHttpRouteMatchQueryParameterMatchArgs{...} // // or: // // nil -type RouteSpecTcpRouteTimeoutPtrInput interface { +type RouteSpecHttpRouteMatchQueryParameterMatchPtrInput interface { pulumi.Input - ToRouteSpecTcpRouteTimeoutPtrOutput() RouteSpecTcpRouteTimeoutPtrOutput - ToRouteSpecTcpRouteTimeoutPtrOutputWithContext(context.Context) RouteSpecTcpRouteTimeoutPtrOutput + ToRouteSpecHttpRouteMatchQueryParameterMatchPtrOutput() RouteSpecHttpRouteMatchQueryParameterMatchPtrOutput + ToRouteSpecHttpRouteMatchQueryParameterMatchPtrOutputWithContext(context.Context) RouteSpecHttpRouteMatchQueryParameterMatchPtrOutput } -type routeSpecTcpRouteTimeoutPtrType RouteSpecTcpRouteTimeoutArgs +type routeSpecHttpRouteMatchQueryParameterMatchPtrType RouteSpecHttpRouteMatchQueryParameterMatchArgs -func RouteSpecTcpRouteTimeoutPtr(v *RouteSpecTcpRouteTimeoutArgs) RouteSpecTcpRouteTimeoutPtrInput { - return (*routeSpecTcpRouteTimeoutPtrType)(v) +func RouteSpecHttpRouteMatchQueryParameterMatchPtr(v *RouteSpecHttpRouteMatchQueryParameterMatchArgs) RouteSpecHttpRouteMatchQueryParameterMatchPtrInput { + return (*routeSpecHttpRouteMatchQueryParameterMatchPtrType)(v) } -func (*routeSpecTcpRouteTimeoutPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**RouteSpecTcpRouteTimeout)(nil)).Elem() +func (*routeSpecHttpRouteMatchQueryParameterMatchPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**RouteSpecHttpRouteMatchQueryParameterMatch)(nil)).Elem() } -func (i *routeSpecTcpRouteTimeoutPtrType) ToRouteSpecTcpRouteTimeoutPtrOutput() RouteSpecTcpRouteTimeoutPtrOutput { - return i.ToRouteSpecTcpRouteTimeoutPtrOutputWithContext(context.Background()) +func (i *routeSpecHttpRouteMatchQueryParameterMatchPtrType) ToRouteSpecHttpRouteMatchQueryParameterMatchPtrOutput() RouteSpecHttpRouteMatchQueryParameterMatchPtrOutput { + return i.ToRouteSpecHttpRouteMatchQueryParameterMatchPtrOutputWithContext(context.Background()) } -func (i *routeSpecTcpRouteTimeoutPtrType) ToRouteSpecTcpRouteTimeoutPtrOutputWithContext(ctx context.Context) RouteSpecTcpRouteTimeoutPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(RouteSpecTcpRouteTimeoutPtrOutput) +func (i *routeSpecHttpRouteMatchQueryParameterMatchPtrType) ToRouteSpecHttpRouteMatchQueryParameterMatchPtrOutputWithContext(ctx context.Context) RouteSpecHttpRouteMatchQueryParameterMatchPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(RouteSpecHttpRouteMatchQueryParameterMatchPtrOutput) } -type RouteSpecTcpRouteTimeoutOutput struct{ *pulumi.OutputState } +type RouteSpecHttpRouteMatchQueryParameterMatchOutput struct{ *pulumi.OutputState } -func (RouteSpecTcpRouteTimeoutOutput) ElementType() reflect.Type { - return reflect.TypeOf((*RouteSpecTcpRouteTimeout)(nil)).Elem() +func (RouteSpecHttpRouteMatchQueryParameterMatchOutput) ElementType() reflect.Type { + return reflect.TypeOf((*RouteSpecHttpRouteMatchQueryParameterMatch)(nil)).Elem() } -func (o RouteSpecTcpRouteTimeoutOutput) ToRouteSpecTcpRouteTimeoutOutput() RouteSpecTcpRouteTimeoutOutput { +func (o RouteSpecHttpRouteMatchQueryParameterMatchOutput) ToRouteSpecHttpRouteMatchQueryParameterMatchOutput() RouteSpecHttpRouteMatchQueryParameterMatchOutput { return o } -func (o RouteSpecTcpRouteTimeoutOutput) ToRouteSpecTcpRouteTimeoutOutputWithContext(ctx context.Context) RouteSpecTcpRouteTimeoutOutput { +func (o RouteSpecHttpRouteMatchQueryParameterMatchOutput) ToRouteSpecHttpRouteMatchQueryParameterMatchOutputWithContext(ctx context.Context) RouteSpecHttpRouteMatchQueryParameterMatchOutput { return o } -func (o RouteSpecTcpRouteTimeoutOutput) ToRouteSpecTcpRouteTimeoutPtrOutput() RouteSpecTcpRouteTimeoutPtrOutput { - return o.ToRouteSpecTcpRouteTimeoutPtrOutputWithContext(context.Background()) +func (o RouteSpecHttpRouteMatchQueryParameterMatchOutput) ToRouteSpecHttpRouteMatchQueryParameterMatchPtrOutput() RouteSpecHttpRouteMatchQueryParameterMatchPtrOutput { + return o.ToRouteSpecHttpRouteMatchQueryParameterMatchPtrOutputWithContext(context.Background()) } -func (o RouteSpecTcpRouteTimeoutOutput) ToRouteSpecTcpRouteTimeoutPtrOutputWithContext(ctx context.Context) RouteSpecTcpRouteTimeoutPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v RouteSpecTcpRouteTimeout) *RouteSpecTcpRouteTimeout { +func (o RouteSpecHttpRouteMatchQueryParameterMatchOutput) ToRouteSpecHttpRouteMatchQueryParameterMatchPtrOutputWithContext(ctx context.Context) RouteSpecHttpRouteMatchQueryParameterMatchPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v RouteSpecHttpRouteMatchQueryParameterMatch) *RouteSpecHttpRouteMatchQueryParameterMatch { return &v - }).(RouteSpecTcpRouteTimeoutPtrOutput) + }).(RouteSpecHttpRouteMatchQueryParameterMatchPtrOutput) } -// Idle timeout. An idle timeout bounds the amount of time that a connection may be idle. -func (o RouteSpecTcpRouteTimeoutOutput) Idle() RouteSpecTcpRouteTimeoutIdlePtrOutput { - return o.ApplyT(func(v RouteSpecTcpRouteTimeout) *RouteSpecTcpRouteTimeoutIdle { return v.Idle }).(RouteSpecTcpRouteTimeoutIdlePtrOutput) +// The exact path to match on. +func (o RouteSpecHttpRouteMatchQueryParameterMatchOutput) Exact() pulumi.StringPtrOutput { + return o.ApplyT(func(v RouteSpecHttpRouteMatchQueryParameterMatch) *string { return v.Exact }).(pulumi.StringPtrOutput) } -type RouteSpecTcpRouteTimeoutPtrOutput struct{ *pulumi.OutputState } +type RouteSpecHttpRouteMatchQueryParameterMatchPtrOutput struct{ *pulumi.OutputState } -func (RouteSpecTcpRouteTimeoutPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**RouteSpecTcpRouteTimeout)(nil)).Elem() +func (RouteSpecHttpRouteMatchQueryParameterMatchPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**RouteSpecHttpRouteMatchQueryParameterMatch)(nil)).Elem() } -func (o RouteSpecTcpRouteTimeoutPtrOutput) ToRouteSpecTcpRouteTimeoutPtrOutput() RouteSpecTcpRouteTimeoutPtrOutput { +func (o RouteSpecHttpRouteMatchQueryParameterMatchPtrOutput) ToRouteSpecHttpRouteMatchQueryParameterMatchPtrOutput() RouteSpecHttpRouteMatchQueryParameterMatchPtrOutput { return o } -func (o RouteSpecTcpRouteTimeoutPtrOutput) ToRouteSpecTcpRouteTimeoutPtrOutputWithContext(ctx context.Context) RouteSpecTcpRouteTimeoutPtrOutput { +func (o RouteSpecHttpRouteMatchQueryParameterMatchPtrOutput) ToRouteSpecHttpRouteMatchQueryParameterMatchPtrOutputWithContext(ctx context.Context) RouteSpecHttpRouteMatchQueryParameterMatchPtrOutput { return o } -func (o RouteSpecTcpRouteTimeoutPtrOutput) Elem() RouteSpecTcpRouteTimeoutOutput { - return o.ApplyT(func(v *RouteSpecTcpRouteTimeout) RouteSpecTcpRouteTimeout { +func (o RouteSpecHttpRouteMatchQueryParameterMatchPtrOutput) Elem() RouteSpecHttpRouteMatchQueryParameterMatchOutput { + return o.ApplyT(func(v *RouteSpecHttpRouteMatchQueryParameterMatch) RouteSpecHttpRouteMatchQueryParameterMatch { if v != nil { return *v } - var ret RouteSpecTcpRouteTimeout + var ret RouteSpecHttpRouteMatchQueryParameterMatch return ret - }).(RouteSpecTcpRouteTimeoutOutput) + }).(RouteSpecHttpRouteMatchQueryParameterMatchOutput) } -// Idle timeout. An idle timeout bounds the amount of time that a connection may be idle. -func (o RouteSpecTcpRouteTimeoutPtrOutput) Idle() RouteSpecTcpRouteTimeoutIdlePtrOutput { - return o.ApplyT(func(v *RouteSpecTcpRouteTimeout) *RouteSpecTcpRouteTimeoutIdle { +// The exact path to match on. +func (o RouteSpecHttpRouteMatchQueryParameterMatchPtrOutput) Exact() pulumi.StringPtrOutput { + return o.ApplyT(func(v *RouteSpecHttpRouteMatchQueryParameterMatch) *string { if v == nil { return nil } - return v.Idle - }).(RouteSpecTcpRouteTimeoutIdlePtrOutput) + return v.Exact + }).(pulumi.StringPtrOutput) } -type RouteSpecTcpRouteTimeoutIdle struct { - // Unit of time. Valid values: `ms`, `s`. - Unit string `pulumi:"unit"` - // Number of time units. Minimum value of `0`. - Value int `pulumi:"value"` +type RouteSpecHttpRouteRetryPolicy struct { + // List of HTTP retry events. + // Valid values: `client-error` (HTTP status code 409), `gateway-error` (HTTP status codes 502, 503, and 504), `server-error` (HTTP status codes 500, 501, 502, 503, 504, 505, 506, 507, 508, 510, and 511), `stream-error` (retry on refused stream). + // Valid values: `client-error` (HTTP status code 409), `gateway-error` (HTTP status codes 502, 503, and 504), `server-error` (HTTP status codes 500, 501, 502, 503, 504, 505, 506, 507, 508, 510, and 511), `stream-error` (retry on refused stream). + HttpRetryEvents []string `pulumi:"httpRetryEvents"` + // Maximum number of retries. + MaxRetries int `pulumi:"maxRetries"` + // Per-retry timeout. + PerRetryTimeout RouteSpecHttpRouteRetryPolicyPerRetryTimeout `pulumi:"perRetryTimeout"` + // List of TCP retry events. The only valid value is `connection-error`. + TcpRetryEvents []string `pulumi:"tcpRetryEvents"` } -// RouteSpecTcpRouteTimeoutIdleInput is an input type that accepts RouteSpecTcpRouteTimeoutIdleArgs and RouteSpecTcpRouteTimeoutIdleOutput values. -// You can construct a concrete instance of `RouteSpecTcpRouteTimeoutIdleInput` via: +// RouteSpecHttpRouteRetryPolicyInput is an input type that accepts RouteSpecHttpRouteRetryPolicyArgs and RouteSpecHttpRouteRetryPolicyOutput values. +// You can construct a concrete instance of `RouteSpecHttpRouteRetryPolicyInput` via: // -// RouteSpecTcpRouteTimeoutIdleArgs{...} -type RouteSpecTcpRouteTimeoutIdleInput interface { +// RouteSpecHttpRouteRetryPolicyArgs{...} +type RouteSpecHttpRouteRetryPolicyInput interface { pulumi.Input - ToRouteSpecTcpRouteTimeoutIdleOutput() RouteSpecTcpRouteTimeoutIdleOutput - ToRouteSpecTcpRouteTimeoutIdleOutputWithContext(context.Context) RouteSpecTcpRouteTimeoutIdleOutput + ToRouteSpecHttpRouteRetryPolicyOutput() RouteSpecHttpRouteRetryPolicyOutput + ToRouteSpecHttpRouteRetryPolicyOutputWithContext(context.Context) RouteSpecHttpRouteRetryPolicyOutput } -type RouteSpecTcpRouteTimeoutIdleArgs struct { - // Unit of time. Valid values: `ms`, `s`. - Unit pulumi.StringInput `pulumi:"unit"` - // Number of time units. Minimum value of `0`. - Value pulumi.IntInput `pulumi:"value"` +type RouteSpecHttpRouteRetryPolicyArgs struct { + // List of HTTP retry events. + // Valid values: `client-error` (HTTP status code 409), `gateway-error` (HTTP status codes 502, 503, and 504), `server-error` (HTTP status codes 500, 501, 502, 503, 504, 505, 506, 507, 508, 510, and 511), `stream-error` (retry on refused stream). + // Valid values: `client-error` (HTTP status code 409), `gateway-error` (HTTP status codes 502, 503, and 504), `server-error` (HTTP status codes 500, 501, 502, 503, 504, 505, 506, 507, 508, 510, and 511), `stream-error` (retry on refused stream). + HttpRetryEvents pulumi.StringArrayInput `pulumi:"httpRetryEvents"` + // Maximum number of retries. + MaxRetries pulumi.IntInput `pulumi:"maxRetries"` + // Per-retry timeout. + PerRetryTimeout RouteSpecHttpRouteRetryPolicyPerRetryTimeoutInput `pulumi:"perRetryTimeout"` + // List of TCP retry events. The only valid value is `connection-error`. + TcpRetryEvents pulumi.StringArrayInput `pulumi:"tcpRetryEvents"` } -func (RouteSpecTcpRouteTimeoutIdleArgs) ElementType() reflect.Type { - return reflect.TypeOf((*RouteSpecTcpRouteTimeoutIdle)(nil)).Elem() +func (RouteSpecHttpRouteRetryPolicyArgs) ElementType() reflect.Type { + return reflect.TypeOf((*RouteSpecHttpRouteRetryPolicy)(nil)).Elem() } -func (i RouteSpecTcpRouteTimeoutIdleArgs) ToRouteSpecTcpRouteTimeoutIdleOutput() RouteSpecTcpRouteTimeoutIdleOutput { - return i.ToRouteSpecTcpRouteTimeoutIdleOutputWithContext(context.Background()) +func (i RouteSpecHttpRouteRetryPolicyArgs) ToRouteSpecHttpRouteRetryPolicyOutput() RouteSpecHttpRouteRetryPolicyOutput { + return i.ToRouteSpecHttpRouteRetryPolicyOutputWithContext(context.Background()) } -func (i RouteSpecTcpRouteTimeoutIdleArgs) ToRouteSpecTcpRouteTimeoutIdleOutputWithContext(ctx context.Context) RouteSpecTcpRouteTimeoutIdleOutput { - return pulumi.ToOutputWithContext(ctx, i).(RouteSpecTcpRouteTimeoutIdleOutput) +func (i RouteSpecHttpRouteRetryPolicyArgs) ToRouteSpecHttpRouteRetryPolicyOutputWithContext(ctx context.Context) RouteSpecHttpRouteRetryPolicyOutput { + return pulumi.ToOutputWithContext(ctx, i).(RouteSpecHttpRouteRetryPolicyOutput) } -func (i RouteSpecTcpRouteTimeoutIdleArgs) ToRouteSpecTcpRouteTimeoutIdlePtrOutput() RouteSpecTcpRouteTimeoutIdlePtrOutput { - return i.ToRouteSpecTcpRouteTimeoutIdlePtrOutputWithContext(context.Background()) +func (i RouteSpecHttpRouteRetryPolicyArgs) ToRouteSpecHttpRouteRetryPolicyPtrOutput() RouteSpecHttpRouteRetryPolicyPtrOutput { + return i.ToRouteSpecHttpRouteRetryPolicyPtrOutputWithContext(context.Background()) } -func (i RouteSpecTcpRouteTimeoutIdleArgs) ToRouteSpecTcpRouteTimeoutIdlePtrOutputWithContext(ctx context.Context) RouteSpecTcpRouteTimeoutIdlePtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(RouteSpecTcpRouteTimeoutIdleOutput).ToRouteSpecTcpRouteTimeoutIdlePtrOutputWithContext(ctx) +func (i RouteSpecHttpRouteRetryPolicyArgs) ToRouteSpecHttpRouteRetryPolicyPtrOutputWithContext(ctx context.Context) RouteSpecHttpRouteRetryPolicyPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(RouteSpecHttpRouteRetryPolicyOutput).ToRouteSpecHttpRouteRetryPolicyPtrOutputWithContext(ctx) } -// RouteSpecTcpRouteTimeoutIdlePtrInput is an input type that accepts RouteSpecTcpRouteTimeoutIdleArgs, RouteSpecTcpRouteTimeoutIdlePtr and RouteSpecTcpRouteTimeoutIdlePtrOutput values. -// You can construct a concrete instance of `RouteSpecTcpRouteTimeoutIdlePtrInput` via: +// RouteSpecHttpRouteRetryPolicyPtrInput is an input type that accepts RouteSpecHttpRouteRetryPolicyArgs, RouteSpecHttpRouteRetryPolicyPtr and RouteSpecHttpRouteRetryPolicyPtrOutput values. +// You can construct a concrete instance of `RouteSpecHttpRouteRetryPolicyPtrInput` via: // -// RouteSpecTcpRouteTimeoutIdleArgs{...} +// RouteSpecHttpRouteRetryPolicyArgs{...} // // or: // // nil -type RouteSpecTcpRouteTimeoutIdlePtrInput interface { +type RouteSpecHttpRouteRetryPolicyPtrInput interface { pulumi.Input - ToRouteSpecTcpRouteTimeoutIdlePtrOutput() RouteSpecTcpRouteTimeoutIdlePtrOutput - ToRouteSpecTcpRouteTimeoutIdlePtrOutputWithContext(context.Context) RouteSpecTcpRouteTimeoutIdlePtrOutput + ToRouteSpecHttpRouteRetryPolicyPtrOutput() RouteSpecHttpRouteRetryPolicyPtrOutput + ToRouteSpecHttpRouteRetryPolicyPtrOutputWithContext(context.Context) RouteSpecHttpRouteRetryPolicyPtrOutput } -type routeSpecTcpRouteTimeoutIdlePtrType RouteSpecTcpRouteTimeoutIdleArgs +type routeSpecHttpRouteRetryPolicyPtrType RouteSpecHttpRouteRetryPolicyArgs -func RouteSpecTcpRouteTimeoutIdlePtr(v *RouteSpecTcpRouteTimeoutIdleArgs) RouteSpecTcpRouteTimeoutIdlePtrInput { - return (*routeSpecTcpRouteTimeoutIdlePtrType)(v) +func RouteSpecHttpRouteRetryPolicyPtr(v *RouteSpecHttpRouteRetryPolicyArgs) RouteSpecHttpRouteRetryPolicyPtrInput { + return (*routeSpecHttpRouteRetryPolicyPtrType)(v) } -func (*routeSpecTcpRouteTimeoutIdlePtrType) ElementType() reflect.Type { - return reflect.TypeOf((**RouteSpecTcpRouteTimeoutIdle)(nil)).Elem() +func (*routeSpecHttpRouteRetryPolicyPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**RouteSpecHttpRouteRetryPolicy)(nil)).Elem() } -func (i *routeSpecTcpRouteTimeoutIdlePtrType) ToRouteSpecTcpRouteTimeoutIdlePtrOutput() RouteSpecTcpRouteTimeoutIdlePtrOutput { - return i.ToRouteSpecTcpRouteTimeoutIdlePtrOutputWithContext(context.Background()) +func (i *routeSpecHttpRouteRetryPolicyPtrType) ToRouteSpecHttpRouteRetryPolicyPtrOutput() RouteSpecHttpRouteRetryPolicyPtrOutput { + return i.ToRouteSpecHttpRouteRetryPolicyPtrOutputWithContext(context.Background()) } -func (i *routeSpecTcpRouteTimeoutIdlePtrType) ToRouteSpecTcpRouteTimeoutIdlePtrOutputWithContext(ctx context.Context) RouteSpecTcpRouteTimeoutIdlePtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(RouteSpecTcpRouteTimeoutIdlePtrOutput) +func (i *routeSpecHttpRouteRetryPolicyPtrType) ToRouteSpecHttpRouteRetryPolicyPtrOutputWithContext(ctx context.Context) RouteSpecHttpRouteRetryPolicyPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(RouteSpecHttpRouteRetryPolicyPtrOutput) } -type RouteSpecTcpRouteTimeoutIdleOutput struct{ *pulumi.OutputState } +type RouteSpecHttpRouteRetryPolicyOutput struct{ *pulumi.OutputState } -func (RouteSpecTcpRouteTimeoutIdleOutput) ElementType() reflect.Type { - return reflect.TypeOf((*RouteSpecTcpRouteTimeoutIdle)(nil)).Elem() +func (RouteSpecHttpRouteRetryPolicyOutput) ElementType() reflect.Type { + return reflect.TypeOf((*RouteSpecHttpRouteRetryPolicy)(nil)).Elem() } -func (o RouteSpecTcpRouteTimeoutIdleOutput) ToRouteSpecTcpRouteTimeoutIdleOutput() RouteSpecTcpRouteTimeoutIdleOutput { +func (o RouteSpecHttpRouteRetryPolicyOutput) ToRouteSpecHttpRouteRetryPolicyOutput() RouteSpecHttpRouteRetryPolicyOutput { return o } -func (o RouteSpecTcpRouteTimeoutIdleOutput) ToRouteSpecTcpRouteTimeoutIdleOutputWithContext(ctx context.Context) RouteSpecTcpRouteTimeoutIdleOutput { +func (o RouteSpecHttpRouteRetryPolicyOutput) ToRouteSpecHttpRouteRetryPolicyOutputWithContext(ctx context.Context) RouteSpecHttpRouteRetryPolicyOutput { return o } -func (o RouteSpecTcpRouteTimeoutIdleOutput) ToRouteSpecTcpRouteTimeoutIdlePtrOutput() RouteSpecTcpRouteTimeoutIdlePtrOutput { - return o.ToRouteSpecTcpRouteTimeoutIdlePtrOutputWithContext(context.Background()) +func (o RouteSpecHttpRouteRetryPolicyOutput) ToRouteSpecHttpRouteRetryPolicyPtrOutput() RouteSpecHttpRouteRetryPolicyPtrOutput { + return o.ToRouteSpecHttpRouteRetryPolicyPtrOutputWithContext(context.Background()) } -func (o RouteSpecTcpRouteTimeoutIdleOutput) ToRouteSpecTcpRouteTimeoutIdlePtrOutputWithContext(ctx context.Context) RouteSpecTcpRouteTimeoutIdlePtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v RouteSpecTcpRouteTimeoutIdle) *RouteSpecTcpRouteTimeoutIdle { +func (o RouteSpecHttpRouteRetryPolicyOutput) ToRouteSpecHttpRouteRetryPolicyPtrOutputWithContext(ctx context.Context) RouteSpecHttpRouteRetryPolicyPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v RouteSpecHttpRouteRetryPolicy) *RouteSpecHttpRouteRetryPolicy { return &v - }).(RouteSpecTcpRouteTimeoutIdlePtrOutput) + }).(RouteSpecHttpRouteRetryPolicyPtrOutput) } -// Unit of time. Valid values: `ms`, `s`. -func (o RouteSpecTcpRouteTimeoutIdleOutput) Unit() pulumi.StringOutput { - return o.ApplyT(func(v RouteSpecTcpRouteTimeoutIdle) string { return v.Unit }).(pulumi.StringOutput) +// List of HTTP retry events. +// Valid values: `client-error` (HTTP status code 409), `gateway-error` (HTTP status codes 502, 503, and 504), `server-error` (HTTP status codes 500, 501, 502, 503, 504, 505, 506, 507, 508, 510, and 511), `stream-error` (retry on refused stream). +// Valid values: `client-error` (HTTP status code 409), `gateway-error` (HTTP status codes 502, 503, and 504), `server-error` (HTTP status codes 500, 501, 502, 503, 504, 505, 506, 507, 508, 510, and 511), `stream-error` (retry on refused stream). +func (o RouteSpecHttpRouteRetryPolicyOutput) HttpRetryEvents() pulumi.StringArrayOutput { + return o.ApplyT(func(v RouteSpecHttpRouteRetryPolicy) []string { return v.HttpRetryEvents }).(pulumi.StringArrayOutput) } -// Number of time units. Minimum value of `0`. -func (o RouteSpecTcpRouteTimeoutIdleOutput) Value() pulumi.IntOutput { - return o.ApplyT(func(v RouteSpecTcpRouteTimeoutIdle) int { return v.Value }).(pulumi.IntOutput) +// Maximum number of retries. +func (o RouteSpecHttpRouteRetryPolicyOutput) MaxRetries() pulumi.IntOutput { + return o.ApplyT(func(v RouteSpecHttpRouteRetryPolicy) int { return v.MaxRetries }).(pulumi.IntOutput) } -type RouteSpecTcpRouteTimeoutIdlePtrOutput struct{ *pulumi.OutputState } +// Per-retry timeout. +func (o RouteSpecHttpRouteRetryPolicyOutput) PerRetryTimeout() RouteSpecHttpRouteRetryPolicyPerRetryTimeoutOutput { + return o.ApplyT(func(v RouteSpecHttpRouteRetryPolicy) RouteSpecHttpRouteRetryPolicyPerRetryTimeout { + return v.PerRetryTimeout + }).(RouteSpecHttpRouteRetryPolicyPerRetryTimeoutOutput) +} -func (RouteSpecTcpRouteTimeoutIdlePtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**RouteSpecTcpRouteTimeoutIdle)(nil)).Elem() +// List of TCP retry events. The only valid value is `connection-error`. +func (o RouteSpecHttpRouteRetryPolicyOutput) TcpRetryEvents() pulumi.StringArrayOutput { + return o.ApplyT(func(v RouteSpecHttpRouteRetryPolicy) []string { return v.TcpRetryEvents }).(pulumi.StringArrayOutput) } -func (o RouteSpecTcpRouteTimeoutIdlePtrOutput) ToRouteSpecTcpRouteTimeoutIdlePtrOutput() RouteSpecTcpRouteTimeoutIdlePtrOutput { +type RouteSpecHttpRouteRetryPolicyPtrOutput struct{ *pulumi.OutputState } + +func (RouteSpecHttpRouteRetryPolicyPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**RouteSpecHttpRouteRetryPolicy)(nil)).Elem() +} + +func (o RouteSpecHttpRouteRetryPolicyPtrOutput) ToRouteSpecHttpRouteRetryPolicyPtrOutput() RouteSpecHttpRouteRetryPolicyPtrOutput { return o } -func (o RouteSpecTcpRouteTimeoutIdlePtrOutput) ToRouteSpecTcpRouteTimeoutIdlePtrOutputWithContext(ctx context.Context) RouteSpecTcpRouteTimeoutIdlePtrOutput { +func (o RouteSpecHttpRouteRetryPolicyPtrOutput) ToRouteSpecHttpRouteRetryPolicyPtrOutputWithContext(ctx context.Context) RouteSpecHttpRouteRetryPolicyPtrOutput { return o } -func (o RouteSpecTcpRouteTimeoutIdlePtrOutput) Elem() RouteSpecTcpRouteTimeoutIdleOutput { - return o.ApplyT(func(v *RouteSpecTcpRouteTimeoutIdle) RouteSpecTcpRouteTimeoutIdle { +func (o RouteSpecHttpRouteRetryPolicyPtrOutput) Elem() RouteSpecHttpRouteRetryPolicyOutput { + return o.ApplyT(func(v *RouteSpecHttpRouteRetryPolicy) RouteSpecHttpRouteRetryPolicy { if v != nil { return *v } - var ret RouteSpecTcpRouteTimeoutIdle + var ret RouteSpecHttpRouteRetryPolicy return ret - }).(RouteSpecTcpRouteTimeoutIdleOutput) + }).(RouteSpecHttpRouteRetryPolicyOutput) } -// Unit of time. Valid values: `ms`, `s`. -func (o RouteSpecTcpRouteTimeoutIdlePtrOutput) Unit() pulumi.StringPtrOutput { - return o.ApplyT(func(v *RouteSpecTcpRouteTimeoutIdle) *string { +// List of HTTP retry events. +// Valid values: `client-error` (HTTP status code 409), `gateway-error` (HTTP status codes 502, 503, and 504), `server-error` (HTTP status codes 500, 501, 502, 503, 504, 505, 506, 507, 508, 510, and 511), `stream-error` (retry on refused stream). +// Valid values: `client-error` (HTTP status code 409), `gateway-error` (HTTP status codes 502, 503, and 504), `server-error` (HTTP status codes 500, 501, 502, 503, 504, 505, 506, 507, 508, 510, and 511), `stream-error` (retry on refused stream). +func (o RouteSpecHttpRouteRetryPolicyPtrOutput) HttpRetryEvents() pulumi.StringArrayOutput { + return o.ApplyT(func(v *RouteSpecHttpRouteRetryPolicy) []string { if v == nil { return nil } - return &v.Unit - }).(pulumi.StringPtrOutput) + return v.HttpRetryEvents + }).(pulumi.StringArrayOutput) } -// Number of time units. Minimum value of `0`. -func (o RouteSpecTcpRouteTimeoutIdlePtrOutput) Value() pulumi.IntPtrOutput { - return o.ApplyT(func(v *RouteSpecTcpRouteTimeoutIdle) *int { +// Maximum number of retries. +func (o RouteSpecHttpRouteRetryPolicyPtrOutput) MaxRetries() pulumi.IntPtrOutput { + return o.ApplyT(func(v *RouteSpecHttpRouteRetryPolicy) *int { if v == nil { return nil } - return &v.Value + return &v.MaxRetries }).(pulumi.IntPtrOutput) } -type VirtualGatewaySpec struct { - // Defaults for backends. - BackendDefaults *VirtualGatewaySpecBackendDefaults `pulumi:"backendDefaults"` - // Listeners that the mesh endpoint is expected to receive inbound traffic from. You can specify one listener. - Listener VirtualGatewaySpecListener `pulumi:"listener"` - // Inbound and outbound access logging information for the virtual gateway. - Logging *VirtualGatewaySpecLogging `pulumi:"logging"` +// Per-retry timeout. +func (o RouteSpecHttpRouteRetryPolicyPtrOutput) PerRetryTimeout() RouteSpecHttpRouteRetryPolicyPerRetryTimeoutPtrOutput { + return o.ApplyT(func(v *RouteSpecHttpRouteRetryPolicy) *RouteSpecHttpRouteRetryPolicyPerRetryTimeout { + if v == nil { + return nil + } + return &v.PerRetryTimeout + }).(RouteSpecHttpRouteRetryPolicyPerRetryTimeoutPtrOutput) } -// VirtualGatewaySpecInput is an input type that accepts VirtualGatewaySpecArgs and VirtualGatewaySpecOutput values. -// You can construct a concrete instance of `VirtualGatewaySpecInput` via: +// List of TCP retry events. The only valid value is `connection-error`. +func (o RouteSpecHttpRouteRetryPolicyPtrOutput) TcpRetryEvents() pulumi.StringArrayOutput { + return o.ApplyT(func(v *RouteSpecHttpRouteRetryPolicy) []string { + if v == nil { + return nil + } + return v.TcpRetryEvents + }).(pulumi.StringArrayOutput) +} + +type RouteSpecHttpRouteRetryPolicyPerRetryTimeout struct { + // Retry unit. Valid values: `ms`, `s`. + Unit string `pulumi:"unit"` + // Retry value. + Value int `pulumi:"value"` +} + +// RouteSpecHttpRouteRetryPolicyPerRetryTimeoutInput is an input type that accepts RouteSpecHttpRouteRetryPolicyPerRetryTimeoutArgs and RouteSpecHttpRouteRetryPolicyPerRetryTimeoutOutput values. +// You can construct a concrete instance of `RouteSpecHttpRouteRetryPolicyPerRetryTimeoutInput` via: // -// VirtualGatewaySpecArgs{...} -type VirtualGatewaySpecInput interface { +// RouteSpecHttpRouteRetryPolicyPerRetryTimeoutArgs{...} +type RouteSpecHttpRouteRetryPolicyPerRetryTimeoutInput interface { pulumi.Input - ToVirtualGatewaySpecOutput() VirtualGatewaySpecOutput - ToVirtualGatewaySpecOutputWithContext(context.Context) VirtualGatewaySpecOutput + ToRouteSpecHttpRouteRetryPolicyPerRetryTimeoutOutput() RouteSpecHttpRouteRetryPolicyPerRetryTimeoutOutput + ToRouteSpecHttpRouteRetryPolicyPerRetryTimeoutOutputWithContext(context.Context) RouteSpecHttpRouteRetryPolicyPerRetryTimeoutOutput } -type VirtualGatewaySpecArgs struct { - // Defaults for backends. - BackendDefaults VirtualGatewaySpecBackendDefaultsPtrInput `pulumi:"backendDefaults"` - // Listeners that the mesh endpoint is expected to receive inbound traffic from. You can specify one listener. - Listener VirtualGatewaySpecListenerInput `pulumi:"listener"` - // Inbound and outbound access logging information for the virtual gateway. - Logging VirtualGatewaySpecLoggingPtrInput `pulumi:"logging"` +type RouteSpecHttpRouteRetryPolicyPerRetryTimeoutArgs struct { + // Retry unit. Valid values: `ms`, `s`. + Unit pulumi.StringInput `pulumi:"unit"` + // Retry value. + Value pulumi.IntInput `pulumi:"value"` } -func (VirtualGatewaySpecArgs) ElementType() reflect.Type { - return reflect.TypeOf((*VirtualGatewaySpec)(nil)).Elem() +func (RouteSpecHttpRouteRetryPolicyPerRetryTimeoutArgs) ElementType() reflect.Type { + return reflect.TypeOf((*RouteSpecHttpRouteRetryPolicyPerRetryTimeout)(nil)).Elem() } -func (i VirtualGatewaySpecArgs) ToVirtualGatewaySpecOutput() VirtualGatewaySpecOutput { - return i.ToVirtualGatewaySpecOutputWithContext(context.Background()) -} +func (i RouteSpecHttpRouteRetryPolicyPerRetryTimeoutArgs) ToRouteSpecHttpRouteRetryPolicyPerRetryTimeoutOutput() RouteSpecHttpRouteRetryPolicyPerRetryTimeoutOutput { + return i.ToRouteSpecHttpRouteRetryPolicyPerRetryTimeoutOutputWithContext(context.Background()) +} -func (i VirtualGatewaySpecArgs) ToVirtualGatewaySpecOutputWithContext(ctx context.Context) VirtualGatewaySpecOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualGatewaySpecOutput) +func (i RouteSpecHttpRouteRetryPolicyPerRetryTimeoutArgs) ToRouteSpecHttpRouteRetryPolicyPerRetryTimeoutOutputWithContext(ctx context.Context) RouteSpecHttpRouteRetryPolicyPerRetryTimeoutOutput { + return pulumi.ToOutputWithContext(ctx, i).(RouteSpecHttpRouteRetryPolicyPerRetryTimeoutOutput) } -func (i VirtualGatewaySpecArgs) ToVirtualGatewaySpecPtrOutput() VirtualGatewaySpecPtrOutput { - return i.ToVirtualGatewaySpecPtrOutputWithContext(context.Background()) +func (i RouteSpecHttpRouteRetryPolicyPerRetryTimeoutArgs) ToRouteSpecHttpRouteRetryPolicyPerRetryTimeoutPtrOutput() RouteSpecHttpRouteRetryPolicyPerRetryTimeoutPtrOutput { + return i.ToRouteSpecHttpRouteRetryPolicyPerRetryTimeoutPtrOutputWithContext(context.Background()) } -func (i VirtualGatewaySpecArgs) ToVirtualGatewaySpecPtrOutputWithContext(ctx context.Context) VirtualGatewaySpecPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualGatewaySpecOutput).ToVirtualGatewaySpecPtrOutputWithContext(ctx) +func (i RouteSpecHttpRouteRetryPolicyPerRetryTimeoutArgs) ToRouteSpecHttpRouteRetryPolicyPerRetryTimeoutPtrOutputWithContext(ctx context.Context) RouteSpecHttpRouteRetryPolicyPerRetryTimeoutPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(RouteSpecHttpRouteRetryPolicyPerRetryTimeoutOutput).ToRouteSpecHttpRouteRetryPolicyPerRetryTimeoutPtrOutputWithContext(ctx) } -// VirtualGatewaySpecPtrInput is an input type that accepts VirtualGatewaySpecArgs, VirtualGatewaySpecPtr and VirtualGatewaySpecPtrOutput values. -// You can construct a concrete instance of `VirtualGatewaySpecPtrInput` via: +// RouteSpecHttpRouteRetryPolicyPerRetryTimeoutPtrInput is an input type that accepts RouteSpecHttpRouteRetryPolicyPerRetryTimeoutArgs, RouteSpecHttpRouteRetryPolicyPerRetryTimeoutPtr and RouteSpecHttpRouteRetryPolicyPerRetryTimeoutPtrOutput values. +// You can construct a concrete instance of `RouteSpecHttpRouteRetryPolicyPerRetryTimeoutPtrInput` via: // -// VirtualGatewaySpecArgs{...} +// RouteSpecHttpRouteRetryPolicyPerRetryTimeoutArgs{...} // // or: // // nil -type VirtualGatewaySpecPtrInput interface { +type RouteSpecHttpRouteRetryPolicyPerRetryTimeoutPtrInput interface { pulumi.Input - ToVirtualGatewaySpecPtrOutput() VirtualGatewaySpecPtrOutput - ToVirtualGatewaySpecPtrOutputWithContext(context.Context) VirtualGatewaySpecPtrOutput + ToRouteSpecHttpRouteRetryPolicyPerRetryTimeoutPtrOutput() RouteSpecHttpRouteRetryPolicyPerRetryTimeoutPtrOutput + ToRouteSpecHttpRouteRetryPolicyPerRetryTimeoutPtrOutputWithContext(context.Context) RouteSpecHttpRouteRetryPolicyPerRetryTimeoutPtrOutput } -type virtualGatewaySpecPtrType VirtualGatewaySpecArgs +type routeSpecHttpRouteRetryPolicyPerRetryTimeoutPtrType RouteSpecHttpRouteRetryPolicyPerRetryTimeoutArgs -func VirtualGatewaySpecPtr(v *VirtualGatewaySpecArgs) VirtualGatewaySpecPtrInput { - return (*virtualGatewaySpecPtrType)(v) +func RouteSpecHttpRouteRetryPolicyPerRetryTimeoutPtr(v *RouteSpecHttpRouteRetryPolicyPerRetryTimeoutArgs) RouteSpecHttpRouteRetryPolicyPerRetryTimeoutPtrInput { + return (*routeSpecHttpRouteRetryPolicyPerRetryTimeoutPtrType)(v) } -func (*virtualGatewaySpecPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**VirtualGatewaySpec)(nil)).Elem() +func (*routeSpecHttpRouteRetryPolicyPerRetryTimeoutPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**RouteSpecHttpRouteRetryPolicyPerRetryTimeout)(nil)).Elem() } -func (i *virtualGatewaySpecPtrType) ToVirtualGatewaySpecPtrOutput() VirtualGatewaySpecPtrOutput { - return i.ToVirtualGatewaySpecPtrOutputWithContext(context.Background()) +func (i *routeSpecHttpRouteRetryPolicyPerRetryTimeoutPtrType) ToRouteSpecHttpRouteRetryPolicyPerRetryTimeoutPtrOutput() RouteSpecHttpRouteRetryPolicyPerRetryTimeoutPtrOutput { + return i.ToRouteSpecHttpRouteRetryPolicyPerRetryTimeoutPtrOutputWithContext(context.Background()) } -func (i *virtualGatewaySpecPtrType) ToVirtualGatewaySpecPtrOutputWithContext(ctx context.Context) VirtualGatewaySpecPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualGatewaySpecPtrOutput) +func (i *routeSpecHttpRouteRetryPolicyPerRetryTimeoutPtrType) ToRouteSpecHttpRouteRetryPolicyPerRetryTimeoutPtrOutputWithContext(ctx context.Context) RouteSpecHttpRouteRetryPolicyPerRetryTimeoutPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(RouteSpecHttpRouteRetryPolicyPerRetryTimeoutPtrOutput) } -type VirtualGatewaySpecOutput struct{ *pulumi.OutputState } +type RouteSpecHttpRouteRetryPolicyPerRetryTimeoutOutput struct{ *pulumi.OutputState } -func (VirtualGatewaySpecOutput) ElementType() reflect.Type { - return reflect.TypeOf((*VirtualGatewaySpec)(nil)).Elem() +func (RouteSpecHttpRouteRetryPolicyPerRetryTimeoutOutput) ElementType() reflect.Type { + return reflect.TypeOf((*RouteSpecHttpRouteRetryPolicyPerRetryTimeout)(nil)).Elem() } -func (o VirtualGatewaySpecOutput) ToVirtualGatewaySpecOutput() VirtualGatewaySpecOutput { +func (o RouteSpecHttpRouteRetryPolicyPerRetryTimeoutOutput) ToRouteSpecHttpRouteRetryPolicyPerRetryTimeoutOutput() RouteSpecHttpRouteRetryPolicyPerRetryTimeoutOutput { return o } -func (o VirtualGatewaySpecOutput) ToVirtualGatewaySpecOutputWithContext(ctx context.Context) VirtualGatewaySpecOutput { +func (o RouteSpecHttpRouteRetryPolicyPerRetryTimeoutOutput) ToRouteSpecHttpRouteRetryPolicyPerRetryTimeoutOutputWithContext(ctx context.Context) RouteSpecHttpRouteRetryPolicyPerRetryTimeoutOutput { return o } -func (o VirtualGatewaySpecOutput) ToVirtualGatewaySpecPtrOutput() VirtualGatewaySpecPtrOutput { - return o.ToVirtualGatewaySpecPtrOutputWithContext(context.Background()) +func (o RouteSpecHttpRouteRetryPolicyPerRetryTimeoutOutput) ToRouteSpecHttpRouteRetryPolicyPerRetryTimeoutPtrOutput() RouteSpecHttpRouteRetryPolicyPerRetryTimeoutPtrOutput { + return o.ToRouteSpecHttpRouteRetryPolicyPerRetryTimeoutPtrOutputWithContext(context.Background()) } -func (o VirtualGatewaySpecOutput) ToVirtualGatewaySpecPtrOutputWithContext(ctx context.Context) VirtualGatewaySpecPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v VirtualGatewaySpec) *VirtualGatewaySpec { +func (o RouteSpecHttpRouteRetryPolicyPerRetryTimeoutOutput) ToRouteSpecHttpRouteRetryPolicyPerRetryTimeoutPtrOutputWithContext(ctx context.Context) RouteSpecHttpRouteRetryPolicyPerRetryTimeoutPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v RouteSpecHttpRouteRetryPolicyPerRetryTimeout) *RouteSpecHttpRouteRetryPolicyPerRetryTimeout { return &v - }).(VirtualGatewaySpecPtrOutput) -} - -// Defaults for backends. -func (o VirtualGatewaySpecOutput) BackendDefaults() VirtualGatewaySpecBackendDefaultsPtrOutput { - return o.ApplyT(func(v VirtualGatewaySpec) *VirtualGatewaySpecBackendDefaults { return v.BackendDefaults }).(VirtualGatewaySpecBackendDefaultsPtrOutput) + }).(RouteSpecHttpRouteRetryPolicyPerRetryTimeoutPtrOutput) } -// Listeners that the mesh endpoint is expected to receive inbound traffic from. You can specify one listener. -func (o VirtualGatewaySpecOutput) Listener() VirtualGatewaySpecListenerOutput { - return o.ApplyT(func(v VirtualGatewaySpec) VirtualGatewaySpecListener { return v.Listener }).(VirtualGatewaySpecListenerOutput) +// Retry unit. Valid values: `ms`, `s`. +func (o RouteSpecHttpRouteRetryPolicyPerRetryTimeoutOutput) Unit() pulumi.StringOutput { + return o.ApplyT(func(v RouteSpecHttpRouteRetryPolicyPerRetryTimeout) string { return v.Unit }).(pulumi.StringOutput) } -// Inbound and outbound access logging information for the virtual gateway. -func (o VirtualGatewaySpecOutput) Logging() VirtualGatewaySpecLoggingPtrOutput { - return o.ApplyT(func(v VirtualGatewaySpec) *VirtualGatewaySpecLogging { return v.Logging }).(VirtualGatewaySpecLoggingPtrOutput) +// Retry value. +func (o RouteSpecHttpRouteRetryPolicyPerRetryTimeoutOutput) Value() pulumi.IntOutput { + return o.ApplyT(func(v RouteSpecHttpRouteRetryPolicyPerRetryTimeout) int { return v.Value }).(pulumi.IntOutput) } -type VirtualGatewaySpecPtrOutput struct{ *pulumi.OutputState } +type RouteSpecHttpRouteRetryPolicyPerRetryTimeoutPtrOutput struct{ *pulumi.OutputState } -func (VirtualGatewaySpecPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**VirtualGatewaySpec)(nil)).Elem() +func (RouteSpecHttpRouteRetryPolicyPerRetryTimeoutPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**RouteSpecHttpRouteRetryPolicyPerRetryTimeout)(nil)).Elem() } -func (o VirtualGatewaySpecPtrOutput) ToVirtualGatewaySpecPtrOutput() VirtualGatewaySpecPtrOutput { +func (o RouteSpecHttpRouteRetryPolicyPerRetryTimeoutPtrOutput) ToRouteSpecHttpRouteRetryPolicyPerRetryTimeoutPtrOutput() RouteSpecHttpRouteRetryPolicyPerRetryTimeoutPtrOutput { return o } -func (o VirtualGatewaySpecPtrOutput) ToVirtualGatewaySpecPtrOutputWithContext(ctx context.Context) VirtualGatewaySpecPtrOutput { +func (o RouteSpecHttpRouteRetryPolicyPerRetryTimeoutPtrOutput) ToRouteSpecHttpRouteRetryPolicyPerRetryTimeoutPtrOutputWithContext(ctx context.Context) RouteSpecHttpRouteRetryPolicyPerRetryTimeoutPtrOutput { return o } -func (o VirtualGatewaySpecPtrOutput) Elem() VirtualGatewaySpecOutput { - return o.ApplyT(func(v *VirtualGatewaySpec) VirtualGatewaySpec { +func (o RouteSpecHttpRouteRetryPolicyPerRetryTimeoutPtrOutput) Elem() RouteSpecHttpRouteRetryPolicyPerRetryTimeoutOutput { + return o.ApplyT(func(v *RouteSpecHttpRouteRetryPolicyPerRetryTimeout) RouteSpecHttpRouteRetryPolicyPerRetryTimeout { if v != nil { return *v } - var ret VirtualGatewaySpec + var ret RouteSpecHttpRouteRetryPolicyPerRetryTimeout return ret - }).(VirtualGatewaySpecOutput) -} - -// Defaults for backends. -func (o VirtualGatewaySpecPtrOutput) BackendDefaults() VirtualGatewaySpecBackendDefaultsPtrOutput { - return o.ApplyT(func(v *VirtualGatewaySpec) *VirtualGatewaySpecBackendDefaults { - if v == nil { - return nil - } - return v.BackendDefaults - }).(VirtualGatewaySpecBackendDefaultsPtrOutput) + }).(RouteSpecHttpRouteRetryPolicyPerRetryTimeoutOutput) } -// Listeners that the mesh endpoint is expected to receive inbound traffic from. You can specify one listener. -func (o VirtualGatewaySpecPtrOutput) Listener() VirtualGatewaySpecListenerPtrOutput { - return o.ApplyT(func(v *VirtualGatewaySpec) *VirtualGatewaySpecListener { +// Retry unit. Valid values: `ms`, `s`. +func (o RouteSpecHttpRouteRetryPolicyPerRetryTimeoutPtrOutput) Unit() pulumi.StringPtrOutput { + return o.ApplyT(func(v *RouteSpecHttpRouteRetryPolicyPerRetryTimeout) *string { if v == nil { return nil } - return &v.Listener - }).(VirtualGatewaySpecListenerPtrOutput) + return &v.Unit + }).(pulumi.StringPtrOutput) } -// Inbound and outbound access logging information for the virtual gateway. -func (o VirtualGatewaySpecPtrOutput) Logging() VirtualGatewaySpecLoggingPtrOutput { - return o.ApplyT(func(v *VirtualGatewaySpec) *VirtualGatewaySpecLogging { +// Retry value. +func (o RouteSpecHttpRouteRetryPolicyPerRetryTimeoutPtrOutput) Value() pulumi.IntPtrOutput { + return o.ApplyT(func(v *RouteSpecHttpRouteRetryPolicyPerRetryTimeout) *int { if v == nil { return nil } - return v.Logging - }).(VirtualGatewaySpecLoggingPtrOutput) + return &v.Value + }).(pulumi.IntPtrOutput) } -type VirtualGatewaySpecBackendDefaults struct { - // Default client policy for virtual gateway backends. - ClientPolicy *VirtualGatewaySpecBackendDefaultsClientPolicy `pulumi:"clientPolicy"` +type RouteSpecHttpRouteTimeout struct { + // Idle timeout. An idle timeout bounds the amount of time that a connection may be idle. + Idle *RouteSpecHttpRouteTimeoutIdle `pulumi:"idle"` + // Per request timeout. + PerRequest *RouteSpecHttpRouteTimeoutPerRequest `pulumi:"perRequest"` } -// VirtualGatewaySpecBackendDefaultsInput is an input type that accepts VirtualGatewaySpecBackendDefaultsArgs and VirtualGatewaySpecBackendDefaultsOutput values. -// You can construct a concrete instance of `VirtualGatewaySpecBackendDefaultsInput` via: +// RouteSpecHttpRouteTimeoutInput is an input type that accepts RouteSpecHttpRouteTimeoutArgs and RouteSpecHttpRouteTimeoutOutput values. +// You can construct a concrete instance of `RouteSpecHttpRouteTimeoutInput` via: // -// VirtualGatewaySpecBackendDefaultsArgs{...} -type VirtualGatewaySpecBackendDefaultsInput interface { +// RouteSpecHttpRouteTimeoutArgs{...} +type RouteSpecHttpRouteTimeoutInput interface { pulumi.Input - ToVirtualGatewaySpecBackendDefaultsOutput() VirtualGatewaySpecBackendDefaultsOutput - ToVirtualGatewaySpecBackendDefaultsOutputWithContext(context.Context) VirtualGatewaySpecBackendDefaultsOutput + ToRouteSpecHttpRouteTimeoutOutput() RouteSpecHttpRouteTimeoutOutput + ToRouteSpecHttpRouteTimeoutOutputWithContext(context.Context) RouteSpecHttpRouteTimeoutOutput } -type VirtualGatewaySpecBackendDefaultsArgs struct { - // Default client policy for virtual gateway backends. - ClientPolicy VirtualGatewaySpecBackendDefaultsClientPolicyPtrInput `pulumi:"clientPolicy"` +type RouteSpecHttpRouteTimeoutArgs struct { + // Idle timeout. An idle timeout bounds the amount of time that a connection may be idle. + Idle RouteSpecHttpRouteTimeoutIdlePtrInput `pulumi:"idle"` + // Per request timeout. + PerRequest RouteSpecHttpRouteTimeoutPerRequestPtrInput `pulumi:"perRequest"` } -func (VirtualGatewaySpecBackendDefaultsArgs) ElementType() reflect.Type { - return reflect.TypeOf((*VirtualGatewaySpecBackendDefaults)(nil)).Elem() +func (RouteSpecHttpRouteTimeoutArgs) ElementType() reflect.Type { + return reflect.TypeOf((*RouteSpecHttpRouteTimeout)(nil)).Elem() } -func (i VirtualGatewaySpecBackendDefaultsArgs) ToVirtualGatewaySpecBackendDefaultsOutput() VirtualGatewaySpecBackendDefaultsOutput { - return i.ToVirtualGatewaySpecBackendDefaultsOutputWithContext(context.Background()) +func (i RouteSpecHttpRouteTimeoutArgs) ToRouteSpecHttpRouteTimeoutOutput() RouteSpecHttpRouteTimeoutOutput { + return i.ToRouteSpecHttpRouteTimeoutOutputWithContext(context.Background()) } -func (i VirtualGatewaySpecBackendDefaultsArgs) ToVirtualGatewaySpecBackendDefaultsOutputWithContext(ctx context.Context) VirtualGatewaySpecBackendDefaultsOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualGatewaySpecBackendDefaultsOutput) +func (i RouteSpecHttpRouteTimeoutArgs) ToRouteSpecHttpRouteTimeoutOutputWithContext(ctx context.Context) RouteSpecHttpRouteTimeoutOutput { + return pulumi.ToOutputWithContext(ctx, i).(RouteSpecHttpRouteTimeoutOutput) } -func (i VirtualGatewaySpecBackendDefaultsArgs) ToVirtualGatewaySpecBackendDefaultsPtrOutput() VirtualGatewaySpecBackendDefaultsPtrOutput { - return i.ToVirtualGatewaySpecBackendDefaultsPtrOutputWithContext(context.Background()) +func (i RouteSpecHttpRouteTimeoutArgs) ToRouteSpecHttpRouteTimeoutPtrOutput() RouteSpecHttpRouteTimeoutPtrOutput { + return i.ToRouteSpecHttpRouteTimeoutPtrOutputWithContext(context.Background()) } -func (i VirtualGatewaySpecBackendDefaultsArgs) ToVirtualGatewaySpecBackendDefaultsPtrOutputWithContext(ctx context.Context) VirtualGatewaySpecBackendDefaultsPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualGatewaySpecBackendDefaultsOutput).ToVirtualGatewaySpecBackendDefaultsPtrOutputWithContext(ctx) +func (i RouteSpecHttpRouteTimeoutArgs) ToRouteSpecHttpRouteTimeoutPtrOutputWithContext(ctx context.Context) RouteSpecHttpRouteTimeoutPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(RouteSpecHttpRouteTimeoutOutput).ToRouteSpecHttpRouteTimeoutPtrOutputWithContext(ctx) } -// VirtualGatewaySpecBackendDefaultsPtrInput is an input type that accepts VirtualGatewaySpecBackendDefaultsArgs, VirtualGatewaySpecBackendDefaultsPtr and VirtualGatewaySpecBackendDefaultsPtrOutput values. -// You can construct a concrete instance of `VirtualGatewaySpecBackendDefaultsPtrInput` via: +// RouteSpecHttpRouteTimeoutPtrInput is an input type that accepts RouteSpecHttpRouteTimeoutArgs, RouteSpecHttpRouteTimeoutPtr and RouteSpecHttpRouteTimeoutPtrOutput values. +// You can construct a concrete instance of `RouteSpecHttpRouteTimeoutPtrInput` via: // -// VirtualGatewaySpecBackendDefaultsArgs{...} +// RouteSpecHttpRouteTimeoutArgs{...} // // or: // // nil -type VirtualGatewaySpecBackendDefaultsPtrInput interface { +type RouteSpecHttpRouteTimeoutPtrInput interface { pulumi.Input - ToVirtualGatewaySpecBackendDefaultsPtrOutput() VirtualGatewaySpecBackendDefaultsPtrOutput - ToVirtualGatewaySpecBackendDefaultsPtrOutputWithContext(context.Context) VirtualGatewaySpecBackendDefaultsPtrOutput + ToRouteSpecHttpRouteTimeoutPtrOutput() RouteSpecHttpRouteTimeoutPtrOutput + ToRouteSpecHttpRouteTimeoutPtrOutputWithContext(context.Context) RouteSpecHttpRouteTimeoutPtrOutput } -type virtualGatewaySpecBackendDefaultsPtrType VirtualGatewaySpecBackendDefaultsArgs +type routeSpecHttpRouteTimeoutPtrType RouteSpecHttpRouteTimeoutArgs -func VirtualGatewaySpecBackendDefaultsPtr(v *VirtualGatewaySpecBackendDefaultsArgs) VirtualGatewaySpecBackendDefaultsPtrInput { - return (*virtualGatewaySpecBackendDefaultsPtrType)(v) +func RouteSpecHttpRouteTimeoutPtr(v *RouteSpecHttpRouteTimeoutArgs) RouteSpecHttpRouteTimeoutPtrInput { + return (*routeSpecHttpRouteTimeoutPtrType)(v) } -func (*virtualGatewaySpecBackendDefaultsPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**VirtualGatewaySpecBackendDefaults)(nil)).Elem() +func (*routeSpecHttpRouteTimeoutPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**RouteSpecHttpRouteTimeout)(nil)).Elem() } -func (i *virtualGatewaySpecBackendDefaultsPtrType) ToVirtualGatewaySpecBackendDefaultsPtrOutput() VirtualGatewaySpecBackendDefaultsPtrOutput { - return i.ToVirtualGatewaySpecBackendDefaultsPtrOutputWithContext(context.Background()) +func (i *routeSpecHttpRouteTimeoutPtrType) ToRouteSpecHttpRouteTimeoutPtrOutput() RouteSpecHttpRouteTimeoutPtrOutput { + return i.ToRouteSpecHttpRouteTimeoutPtrOutputWithContext(context.Background()) } -func (i *virtualGatewaySpecBackendDefaultsPtrType) ToVirtualGatewaySpecBackendDefaultsPtrOutputWithContext(ctx context.Context) VirtualGatewaySpecBackendDefaultsPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualGatewaySpecBackendDefaultsPtrOutput) +func (i *routeSpecHttpRouteTimeoutPtrType) ToRouteSpecHttpRouteTimeoutPtrOutputWithContext(ctx context.Context) RouteSpecHttpRouteTimeoutPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(RouteSpecHttpRouteTimeoutPtrOutput) } -type VirtualGatewaySpecBackendDefaultsOutput struct{ *pulumi.OutputState } +type RouteSpecHttpRouteTimeoutOutput struct{ *pulumi.OutputState } -func (VirtualGatewaySpecBackendDefaultsOutput) ElementType() reflect.Type { - return reflect.TypeOf((*VirtualGatewaySpecBackendDefaults)(nil)).Elem() +func (RouteSpecHttpRouteTimeoutOutput) ElementType() reflect.Type { + return reflect.TypeOf((*RouteSpecHttpRouteTimeout)(nil)).Elem() } -func (o VirtualGatewaySpecBackendDefaultsOutput) ToVirtualGatewaySpecBackendDefaultsOutput() VirtualGatewaySpecBackendDefaultsOutput { +func (o RouteSpecHttpRouteTimeoutOutput) ToRouteSpecHttpRouteTimeoutOutput() RouteSpecHttpRouteTimeoutOutput { return o } -func (o VirtualGatewaySpecBackendDefaultsOutput) ToVirtualGatewaySpecBackendDefaultsOutputWithContext(ctx context.Context) VirtualGatewaySpecBackendDefaultsOutput { +func (o RouteSpecHttpRouteTimeoutOutput) ToRouteSpecHttpRouteTimeoutOutputWithContext(ctx context.Context) RouteSpecHttpRouteTimeoutOutput { return o } -func (o VirtualGatewaySpecBackendDefaultsOutput) ToVirtualGatewaySpecBackendDefaultsPtrOutput() VirtualGatewaySpecBackendDefaultsPtrOutput { - return o.ToVirtualGatewaySpecBackendDefaultsPtrOutputWithContext(context.Background()) +func (o RouteSpecHttpRouteTimeoutOutput) ToRouteSpecHttpRouteTimeoutPtrOutput() RouteSpecHttpRouteTimeoutPtrOutput { + return o.ToRouteSpecHttpRouteTimeoutPtrOutputWithContext(context.Background()) } -func (o VirtualGatewaySpecBackendDefaultsOutput) ToVirtualGatewaySpecBackendDefaultsPtrOutputWithContext(ctx context.Context) VirtualGatewaySpecBackendDefaultsPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v VirtualGatewaySpecBackendDefaults) *VirtualGatewaySpecBackendDefaults { +func (o RouteSpecHttpRouteTimeoutOutput) ToRouteSpecHttpRouteTimeoutPtrOutputWithContext(ctx context.Context) RouteSpecHttpRouteTimeoutPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v RouteSpecHttpRouteTimeout) *RouteSpecHttpRouteTimeout { return &v - }).(VirtualGatewaySpecBackendDefaultsPtrOutput) + }).(RouteSpecHttpRouteTimeoutPtrOutput) } -// Default client policy for virtual gateway backends. -func (o VirtualGatewaySpecBackendDefaultsOutput) ClientPolicy() VirtualGatewaySpecBackendDefaultsClientPolicyPtrOutput { - return o.ApplyT(func(v VirtualGatewaySpecBackendDefaults) *VirtualGatewaySpecBackendDefaultsClientPolicy { - return v.ClientPolicy - }).(VirtualGatewaySpecBackendDefaultsClientPolicyPtrOutput) +// Idle timeout. An idle timeout bounds the amount of time that a connection may be idle. +func (o RouteSpecHttpRouteTimeoutOutput) Idle() RouteSpecHttpRouteTimeoutIdlePtrOutput { + return o.ApplyT(func(v RouteSpecHttpRouteTimeout) *RouteSpecHttpRouteTimeoutIdle { return v.Idle }).(RouteSpecHttpRouteTimeoutIdlePtrOutput) } -type VirtualGatewaySpecBackendDefaultsPtrOutput struct{ *pulumi.OutputState } +// Per request timeout. +func (o RouteSpecHttpRouteTimeoutOutput) PerRequest() RouteSpecHttpRouteTimeoutPerRequestPtrOutput { + return o.ApplyT(func(v RouteSpecHttpRouteTimeout) *RouteSpecHttpRouteTimeoutPerRequest { return v.PerRequest }).(RouteSpecHttpRouteTimeoutPerRequestPtrOutput) +} -func (VirtualGatewaySpecBackendDefaultsPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**VirtualGatewaySpecBackendDefaults)(nil)).Elem() +type RouteSpecHttpRouteTimeoutPtrOutput struct{ *pulumi.OutputState } + +func (RouteSpecHttpRouteTimeoutPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**RouteSpecHttpRouteTimeout)(nil)).Elem() } -func (o VirtualGatewaySpecBackendDefaultsPtrOutput) ToVirtualGatewaySpecBackendDefaultsPtrOutput() VirtualGatewaySpecBackendDefaultsPtrOutput { +func (o RouteSpecHttpRouteTimeoutPtrOutput) ToRouteSpecHttpRouteTimeoutPtrOutput() RouteSpecHttpRouteTimeoutPtrOutput { return o } -func (o VirtualGatewaySpecBackendDefaultsPtrOutput) ToVirtualGatewaySpecBackendDefaultsPtrOutputWithContext(ctx context.Context) VirtualGatewaySpecBackendDefaultsPtrOutput { +func (o RouteSpecHttpRouteTimeoutPtrOutput) ToRouteSpecHttpRouteTimeoutPtrOutputWithContext(ctx context.Context) RouteSpecHttpRouteTimeoutPtrOutput { return o } -func (o VirtualGatewaySpecBackendDefaultsPtrOutput) Elem() VirtualGatewaySpecBackendDefaultsOutput { - return o.ApplyT(func(v *VirtualGatewaySpecBackendDefaults) VirtualGatewaySpecBackendDefaults { +func (o RouteSpecHttpRouteTimeoutPtrOutput) Elem() RouteSpecHttpRouteTimeoutOutput { + return o.ApplyT(func(v *RouteSpecHttpRouteTimeout) RouteSpecHttpRouteTimeout { if v != nil { return *v } - var ret VirtualGatewaySpecBackendDefaults + var ret RouteSpecHttpRouteTimeout return ret - }).(VirtualGatewaySpecBackendDefaultsOutput) + }).(RouteSpecHttpRouteTimeoutOutput) } -// Default client policy for virtual gateway backends. -func (o VirtualGatewaySpecBackendDefaultsPtrOutput) ClientPolicy() VirtualGatewaySpecBackendDefaultsClientPolicyPtrOutput { - return o.ApplyT(func(v *VirtualGatewaySpecBackendDefaults) *VirtualGatewaySpecBackendDefaultsClientPolicy { +// Idle timeout. An idle timeout bounds the amount of time that a connection may be idle. +func (o RouteSpecHttpRouteTimeoutPtrOutput) Idle() RouteSpecHttpRouteTimeoutIdlePtrOutput { + return o.ApplyT(func(v *RouteSpecHttpRouteTimeout) *RouteSpecHttpRouteTimeoutIdle { if v == nil { return nil } - return v.ClientPolicy - }).(VirtualGatewaySpecBackendDefaultsClientPolicyPtrOutput) + return v.Idle + }).(RouteSpecHttpRouteTimeoutIdlePtrOutput) } -type VirtualGatewaySpecBackendDefaultsClientPolicy struct { - // Transport Layer Security (TLS) client policy. - Tls *VirtualGatewaySpecBackendDefaultsClientPolicyTls `pulumi:"tls"` +// Per request timeout. +func (o RouteSpecHttpRouteTimeoutPtrOutput) PerRequest() RouteSpecHttpRouteTimeoutPerRequestPtrOutput { + return o.ApplyT(func(v *RouteSpecHttpRouteTimeout) *RouteSpecHttpRouteTimeoutPerRequest { + if v == nil { + return nil + } + return v.PerRequest + }).(RouteSpecHttpRouteTimeoutPerRequestPtrOutput) } -// VirtualGatewaySpecBackendDefaultsClientPolicyInput is an input type that accepts VirtualGatewaySpecBackendDefaultsClientPolicyArgs and VirtualGatewaySpecBackendDefaultsClientPolicyOutput values. -// You can construct a concrete instance of `VirtualGatewaySpecBackendDefaultsClientPolicyInput` via: +type RouteSpecHttpRouteTimeoutIdle struct { + // Unit of time. Valid values: `ms`, `s`. + Unit string `pulumi:"unit"` + // Number of time units. Minimum value of `0`. + Value int `pulumi:"value"` +} + +// RouteSpecHttpRouteTimeoutIdleInput is an input type that accepts RouteSpecHttpRouteTimeoutIdleArgs and RouteSpecHttpRouteTimeoutIdleOutput values. +// You can construct a concrete instance of `RouteSpecHttpRouteTimeoutIdleInput` via: // -// VirtualGatewaySpecBackendDefaultsClientPolicyArgs{...} -type VirtualGatewaySpecBackendDefaultsClientPolicyInput interface { +// RouteSpecHttpRouteTimeoutIdleArgs{...} +type RouteSpecHttpRouteTimeoutIdleInput interface { pulumi.Input - ToVirtualGatewaySpecBackendDefaultsClientPolicyOutput() VirtualGatewaySpecBackendDefaultsClientPolicyOutput - ToVirtualGatewaySpecBackendDefaultsClientPolicyOutputWithContext(context.Context) VirtualGatewaySpecBackendDefaultsClientPolicyOutput + ToRouteSpecHttpRouteTimeoutIdleOutput() RouteSpecHttpRouteTimeoutIdleOutput + ToRouteSpecHttpRouteTimeoutIdleOutputWithContext(context.Context) RouteSpecHttpRouteTimeoutIdleOutput } -type VirtualGatewaySpecBackendDefaultsClientPolicyArgs struct { - // Transport Layer Security (TLS) client policy. - Tls VirtualGatewaySpecBackendDefaultsClientPolicyTlsPtrInput `pulumi:"tls"` +type RouteSpecHttpRouteTimeoutIdleArgs struct { + // Unit of time. Valid values: `ms`, `s`. + Unit pulumi.StringInput `pulumi:"unit"` + // Number of time units. Minimum value of `0`. + Value pulumi.IntInput `pulumi:"value"` } -func (VirtualGatewaySpecBackendDefaultsClientPolicyArgs) ElementType() reflect.Type { - return reflect.TypeOf((*VirtualGatewaySpecBackendDefaultsClientPolicy)(nil)).Elem() +func (RouteSpecHttpRouteTimeoutIdleArgs) ElementType() reflect.Type { + return reflect.TypeOf((*RouteSpecHttpRouteTimeoutIdle)(nil)).Elem() } -func (i VirtualGatewaySpecBackendDefaultsClientPolicyArgs) ToVirtualGatewaySpecBackendDefaultsClientPolicyOutput() VirtualGatewaySpecBackendDefaultsClientPolicyOutput { - return i.ToVirtualGatewaySpecBackendDefaultsClientPolicyOutputWithContext(context.Background()) +func (i RouteSpecHttpRouteTimeoutIdleArgs) ToRouteSpecHttpRouteTimeoutIdleOutput() RouteSpecHttpRouteTimeoutIdleOutput { + return i.ToRouteSpecHttpRouteTimeoutIdleOutputWithContext(context.Background()) } -func (i VirtualGatewaySpecBackendDefaultsClientPolicyArgs) ToVirtualGatewaySpecBackendDefaultsClientPolicyOutputWithContext(ctx context.Context) VirtualGatewaySpecBackendDefaultsClientPolicyOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualGatewaySpecBackendDefaultsClientPolicyOutput) +func (i RouteSpecHttpRouteTimeoutIdleArgs) ToRouteSpecHttpRouteTimeoutIdleOutputWithContext(ctx context.Context) RouteSpecHttpRouteTimeoutIdleOutput { + return pulumi.ToOutputWithContext(ctx, i).(RouteSpecHttpRouteTimeoutIdleOutput) } -func (i VirtualGatewaySpecBackendDefaultsClientPolicyArgs) ToVirtualGatewaySpecBackendDefaultsClientPolicyPtrOutput() VirtualGatewaySpecBackendDefaultsClientPolicyPtrOutput { - return i.ToVirtualGatewaySpecBackendDefaultsClientPolicyPtrOutputWithContext(context.Background()) +func (i RouteSpecHttpRouteTimeoutIdleArgs) ToRouteSpecHttpRouteTimeoutIdlePtrOutput() RouteSpecHttpRouteTimeoutIdlePtrOutput { + return i.ToRouteSpecHttpRouteTimeoutIdlePtrOutputWithContext(context.Background()) } -func (i VirtualGatewaySpecBackendDefaultsClientPolicyArgs) ToVirtualGatewaySpecBackendDefaultsClientPolicyPtrOutputWithContext(ctx context.Context) VirtualGatewaySpecBackendDefaultsClientPolicyPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualGatewaySpecBackendDefaultsClientPolicyOutput).ToVirtualGatewaySpecBackendDefaultsClientPolicyPtrOutputWithContext(ctx) +func (i RouteSpecHttpRouteTimeoutIdleArgs) ToRouteSpecHttpRouteTimeoutIdlePtrOutputWithContext(ctx context.Context) RouteSpecHttpRouteTimeoutIdlePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(RouteSpecHttpRouteTimeoutIdleOutput).ToRouteSpecHttpRouteTimeoutIdlePtrOutputWithContext(ctx) } -// VirtualGatewaySpecBackendDefaultsClientPolicyPtrInput is an input type that accepts VirtualGatewaySpecBackendDefaultsClientPolicyArgs, VirtualGatewaySpecBackendDefaultsClientPolicyPtr and VirtualGatewaySpecBackendDefaultsClientPolicyPtrOutput values. -// You can construct a concrete instance of `VirtualGatewaySpecBackendDefaultsClientPolicyPtrInput` via: +// RouteSpecHttpRouteTimeoutIdlePtrInput is an input type that accepts RouteSpecHttpRouteTimeoutIdleArgs, RouteSpecHttpRouteTimeoutIdlePtr and RouteSpecHttpRouteTimeoutIdlePtrOutput values. +// You can construct a concrete instance of `RouteSpecHttpRouteTimeoutIdlePtrInput` via: // -// VirtualGatewaySpecBackendDefaultsClientPolicyArgs{...} +// RouteSpecHttpRouteTimeoutIdleArgs{...} // // or: // // nil -type VirtualGatewaySpecBackendDefaultsClientPolicyPtrInput interface { +type RouteSpecHttpRouteTimeoutIdlePtrInput interface { pulumi.Input - ToVirtualGatewaySpecBackendDefaultsClientPolicyPtrOutput() VirtualGatewaySpecBackendDefaultsClientPolicyPtrOutput - ToVirtualGatewaySpecBackendDefaultsClientPolicyPtrOutputWithContext(context.Context) VirtualGatewaySpecBackendDefaultsClientPolicyPtrOutput + ToRouteSpecHttpRouteTimeoutIdlePtrOutput() RouteSpecHttpRouteTimeoutIdlePtrOutput + ToRouteSpecHttpRouteTimeoutIdlePtrOutputWithContext(context.Context) RouteSpecHttpRouteTimeoutIdlePtrOutput } -type virtualGatewaySpecBackendDefaultsClientPolicyPtrType VirtualGatewaySpecBackendDefaultsClientPolicyArgs +type routeSpecHttpRouteTimeoutIdlePtrType RouteSpecHttpRouteTimeoutIdleArgs -func VirtualGatewaySpecBackendDefaultsClientPolicyPtr(v *VirtualGatewaySpecBackendDefaultsClientPolicyArgs) VirtualGatewaySpecBackendDefaultsClientPolicyPtrInput { - return (*virtualGatewaySpecBackendDefaultsClientPolicyPtrType)(v) +func RouteSpecHttpRouteTimeoutIdlePtr(v *RouteSpecHttpRouteTimeoutIdleArgs) RouteSpecHttpRouteTimeoutIdlePtrInput { + return (*routeSpecHttpRouteTimeoutIdlePtrType)(v) } -func (*virtualGatewaySpecBackendDefaultsClientPolicyPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**VirtualGatewaySpecBackendDefaultsClientPolicy)(nil)).Elem() +func (*routeSpecHttpRouteTimeoutIdlePtrType) ElementType() reflect.Type { + return reflect.TypeOf((**RouteSpecHttpRouteTimeoutIdle)(nil)).Elem() } -func (i *virtualGatewaySpecBackendDefaultsClientPolicyPtrType) ToVirtualGatewaySpecBackendDefaultsClientPolicyPtrOutput() VirtualGatewaySpecBackendDefaultsClientPolicyPtrOutput { - return i.ToVirtualGatewaySpecBackendDefaultsClientPolicyPtrOutputWithContext(context.Background()) +func (i *routeSpecHttpRouteTimeoutIdlePtrType) ToRouteSpecHttpRouteTimeoutIdlePtrOutput() RouteSpecHttpRouteTimeoutIdlePtrOutput { + return i.ToRouteSpecHttpRouteTimeoutIdlePtrOutputWithContext(context.Background()) } -func (i *virtualGatewaySpecBackendDefaultsClientPolicyPtrType) ToVirtualGatewaySpecBackendDefaultsClientPolicyPtrOutputWithContext(ctx context.Context) VirtualGatewaySpecBackendDefaultsClientPolicyPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualGatewaySpecBackendDefaultsClientPolicyPtrOutput) +func (i *routeSpecHttpRouteTimeoutIdlePtrType) ToRouteSpecHttpRouteTimeoutIdlePtrOutputWithContext(ctx context.Context) RouteSpecHttpRouteTimeoutIdlePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(RouteSpecHttpRouteTimeoutIdlePtrOutput) } -type VirtualGatewaySpecBackendDefaultsClientPolicyOutput struct{ *pulumi.OutputState } +type RouteSpecHttpRouteTimeoutIdleOutput struct{ *pulumi.OutputState } -func (VirtualGatewaySpecBackendDefaultsClientPolicyOutput) ElementType() reflect.Type { - return reflect.TypeOf((*VirtualGatewaySpecBackendDefaultsClientPolicy)(nil)).Elem() +func (RouteSpecHttpRouteTimeoutIdleOutput) ElementType() reflect.Type { + return reflect.TypeOf((*RouteSpecHttpRouteTimeoutIdle)(nil)).Elem() } -func (o VirtualGatewaySpecBackendDefaultsClientPolicyOutput) ToVirtualGatewaySpecBackendDefaultsClientPolicyOutput() VirtualGatewaySpecBackendDefaultsClientPolicyOutput { +func (o RouteSpecHttpRouteTimeoutIdleOutput) ToRouteSpecHttpRouteTimeoutIdleOutput() RouteSpecHttpRouteTimeoutIdleOutput { return o } -func (o VirtualGatewaySpecBackendDefaultsClientPolicyOutput) ToVirtualGatewaySpecBackendDefaultsClientPolicyOutputWithContext(ctx context.Context) VirtualGatewaySpecBackendDefaultsClientPolicyOutput { +func (o RouteSpecHttpRouteTimeoutIdleOutput) ToRouteSpecHttpRouteTimeoutIdleOutputWithContext(ctx context.Context) RouteSpecHttpRouteTimeoutIdleOutput { return o } -func (o VirtualGatewaySpecBackendDefaultsClientPolicyOutput) ToVirtualGatewaySpecBackendDefaultsClientPolicyPtrOutput() VirtualGatewaySpecBackendDefaultsClientPolicyPtrOutput { - return o.ToVirtualGatewaySpecBackendDefaultsClientPolicyPtrOutputWithContext(context.Background()) +func (o RouteSpecHttpRouteTimeoutIdleOutput) ToRouteSpecHttpRouteTimeoutIdlePtrOutput() RouteSpecHttpRouteTimeoutIdlePtrOutput { + return o.ToRouteSpecHttpRouteTimeoutIdlePtrOutputWithContext(context.Background()) } -func (o VirtualGatewaySpecBackendDefaultsClientPolicyOutput) ToVirtualGatewaySpecBackendDefaultsClientPolicyPtrOutputWithContext(ctx context.Context) VirtualGatewaySpecBackendDefaultsClientPolicyPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v VirtualGatewaySpecBackendDefaultsClientPolicy) *VirtualGatewaySpecBackendDefaultsClientPolicy { +func (o RouteSpecHttpRouteTimeoutIdleOutput) ToRouteSpecHttpRouteTimeoutIdlePtrOutputWithContext(ctx context.Context) RouteSpecHttpRouteTimeoutIdlePtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v RouteSpecHttpRouteTimeoutIdle) *RouteSpecHttpRouteTimeoutIdle { return &v - }).(VirtualGatewaySpecBackendDefaultsClientPolicyPtrOutput) + }).(RouteSpecHttpRouteTimeoutIdlePtrOutput) } -// Transport Layer Security (TLS) client policy. -func (o VirtualGatewaySpecBackendDefaultsClientPolicyOutput) Tls() VirtualGatewaySpecBackendDefaultsClientPolicyTlsPtrOutput { - return o.ApplyT(func(v VirtualGatewaySpecBackendDefaultsClientPolicy) *VirtualGatewaySpecBackendDefaultsClientPolicyTls { - return v.Tls - }).(VirtualGatewaySpecBackendDefaultsClientPolicyTlsPtrOutput) +// Unit of time. Valid values: `ms`, `s`. +func (o RouteSpecHttpRouteTimeoutIdleOutput) Unit() pulumi.StringOutput { + return o.ApplyT(func(v RouteSpecHttpRouteTimeoutIdle) string { return v.Unit }).(pulumi.StringOutput) } -type VirtualGatewaySpecBackendDefaultsClientPolicyPtrOutput struct{ *pulumi.OutputState } +// Number of time units. Minimum value of `0`. +func (o RouteSpecHttpRouteTimeoutIdleOutput) Value() pulumi.IntOutput { + return o.ApplyT(func(v RouteSpecHttpRouteTimeoutIdle) int { return v.Value }).(pulumi.IntOutput) +} -func (VirtualGatewaySpecBackendDefaultsClientPolicyPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**VirtualGatewaySpecBackendDefaultsClientPolicy)(nil)).Elem() +type RouteSpecHttpRouteTimeoutIdlePtrOutput struct{ *pulumi.OutputState } + +func (RouteSpecHttpRouteTimeoutIdlePtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**RouteSpecHttpRouteTimeoutIdle)(nil)).Elem() } -func (o VirtualGatewaySpecBackendDefaultsClientPolicyPtrOutput) ToVirtualGatewaySpecBackendDefaultsClientPolicyPtrOutput() VirtualGatewaySpecBackendDefaultsClientPolicyPtrOutput { +func (o RouteSpecHttpRouteTimeoutIdlePtrOutput) ToRouteSpecHttpRouteTimeoutIdlePtrOutput() RouteSpecHttpRouteTimeoutIdlePtrOutput { return o } -func (o VirtualGatewaySpecBackendDefaultsClientPolicyPtrOutput) ToVirtualGatewaySpecBackendDefaultsClientPolicyPtrOutputWithContext(ctx context.Context) VirtualGatewaySpecBackendDefaultsClientPolicyPtrOutput { +func (o RouteSpecHttpRouteTimeoutIdlePtrOutput) ToRouteSpecHttpRouteTimeoutIdlePtrOutputWithContext(ctx context.Context) RouteSpecHttpRouteTimeoutIdlePtrOutput { return o } -func (o VirtualGatewaySpecBackendDefaultsClientPolicyPtrOutput) Elem() VirtualGatewaySpecBackendDefaultsClientPolicyOutput { - return o.ApplyT(func(v *VirtualGatewaySpecBackendDefaultsClientPolicy) VirtualGatewaySpecBackendDefaultsClientPolicy { +func (o RouteSpecHttpRouteTimeoutIdlePtrOutput) Elem() RouteSpecHttpRouteTimeoutIdleOutput { + return o.ApplyT(func(v *RouteSpecHttpRouteTimeoutIdle) RouteSpecHttpRouteTimeoutIdle { if v != nil { return *v } - var ret VirtualGatewaySpecBackendDefaultsClientPolicy + var ret RouteSpecHttpRouteTimeoutIdle return ret - }).(VirtualGatewaySpecBackendDefaultsClientPolicyOutput) + }).(RouteSpecHttpRouteTimeoutIdleOutput) } -// Transport Layer Security (TLS) client policy. -func (o VirtualGatewaySpecBackendDefaultsClientPolicyPtrOutput) Tls() VirtualGatewaySpecBackendDefaultsClientPolicyTlsPtrOutput { - return o.ApplyT(func(v *VirtualGatewaySpecBackendDefaultsClientPolicy) *VirtualGatewaySpecBackendDefaultsClientPolicyTls { +// Unit of time. Valid values: `ms`, `s`. +func (o RouteSpecHttpRouteTimeoutIdlePtrOutput) Unit() pulumi.StringPtrOutput { + return o.ApplyT(func(v *RouteSpecHttpRouteTimeoutIdle) *string { if v == nil { return nil } - return v.Tls - }).(VirtualGatewaySpecBackendDefaultsClientPolicyTlsPtrOutput) + return &v.Unit + }).(pulumi.StringPtrOutput) } -type VirtualGatewaySpecBackendDefaultsClientPolicyTls struct { - // Listener's TLS certificate. - Certificate *VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificate `pulumi:"certificate"` - // Whether the policy is enforced. Default is `true`. - Enforce *bool `pulumi:"enforce"` - // One or more ports that the policy is enforced for. - Ports []int `pulumi:"ports"` - // Listener's Transport Layer Security (TLS) validation context. - Validation VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidation `pulumi:"validation"` +// Number of time units. Minimum value of `0`. +func (o RouteSpecHttpRouteTimeoutIdlePtrOutput) Value() pulumi.IntPtrOutput { + return o.ApplyT(func(v *RouteSpecHttpRouteTimeoutIdle) *int { + if v == nil { + return nil + } + return &v.Value + }).(pulumi.IntPtrOutput) } -// VirtualGatewaySpecBackendDefaultsClientPolicyTlsInput is an input type that accepts VirtualGatewaySpecBackendDefaultsClientPolicyTlsArgs and VirtualGatewaySpecBackendDefaultsClientPolicyTlsOutput values. -// You can construct a concrete instance of `VirtualGatewaySpecBackendDefaultsClientPolicyTlsInput` via: +type RouteSpecHttpRouteTimeoutPerRequest struct { + // Unit of time. Valid values: `ms`, `s`. + Unit string `pulumi:"unit"` + // Number of time units. Minimum value of `0`. + Value int `pulumi:"value"` +} + +// RouteSpecHttpRouteTimeoutPerRequestInput is an input type that accepts RouteSpecHttpRouteTimeoutPerRequestArgs and RouteSpecHttpRouteTimeoutPerRequestOutput values. +// You can construct a concrete instance of `RouteSpecHttpRouteTimeoutPerRequestInput` via: // -// VirtualGatewaySpecBackendDefaultsClientPolicyTlsArgs{...} -type VirtualGatewaySpecBackendDefaultsClientPolicyTlsInput interface { +// RouteSpecHttpRouteTimeoutPerRequestArgs{...} +type RouteSpecHttpRouteTimeoutPerRequestInput interface { pulumi.Input - ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsOutput() VirtualGatewaySpecBackendDefaultsClientPolicyTlsOutput - ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsOutputWithContext(context.Context) VirtualGatewaySpecBackendDefaultsClientPolicyTlsOutput + ToRouteSpecHttpRouteTimeoutPerRequestOutput() RouteSpecHttpRouteTimeoutPerRequestOutput + ToRouteSpecHttpRouteTimeoutPerRequestOutputWithContext(context.Context) RouteSpecHttpRouteTimeoutPerRequestOutput } -type VirtualGatewaySpecBackendDefaultsClientPolicyTlsArgs struct { - // Listener's TLS certificate. - Certificate VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificatePtrInput `pulumi:"certificate"` - // Whether the policy is enforced. Default is `true`. - Enforce pulumi.BoolPtrInput `pulumi:"enforce"` - // One or more ports that the policy is enforced for. - Ports pulumi.IntArrayInput `pulumi:"ports"` - // Listener's Transport Layer Security (TLS) validation context. - Validation VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationInput `pulumi:"validation"` +type RouteSpecHttpRouteTimeoutPerRequestArgs struct { + // Unit of time. Valid values: `ms`, `s`. + Unit pulumi.StringInput `pulumi:"unit"` + // Number of time units. Minimum value of `0`. + Value pulumi.IntInput `pulumi:"value"` } -func (VirtualGatewaySpecBackendDefaultsClientPolicyTlsArgs) ElementType() reflect.Type { - return reflect.TypeOf((*VirtualGatewaySpecBackendDefaultsClientPolicyTls)(nil)).Elem() +func (RouteSpecHttpRouteTimeoutPerRequestArgs) ElementType() reflect.Type { + return reflect.TypeOf((*RouteSpecHttpRouteTimeoutPerRequest)(nil)).Elem() } -func (i VirtualGatewaySpecBackendDefaultsClientPolicyTlsArgs) ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsOutput() VirtualGatewaySpecBackendDefaultsClientPolicyTlsOutput { - return i.ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsOutputWithContext(context.Background()) +func (i RouteSpecHttpRouteTimeoutPerRequestArgs) ToRouteSpecHttpRouteTimeoutPerRequestOutput() RouteSpecHttpRouteTimeoutPerRequestOutput { + return i.ToRouteSpecHttpRouteTimeoutPerRequestOutputWithContext(context.Background()) } -func (i VirtualGatewaySpecBackendDefaultsClientPolicyTlsArgs) ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsOutputWithContext(ctx context.Context) VirtualGatewaySpecBackendDefaultsClientPolicyTlsOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualGatewaySpecBackendDefaultsClientPolicyTlsOutput) +func (i RouteSpecHttpRouteTimeoutPerRequestArgs) ToRouteSpecHttpRouteTimeoutPerRequestOutputWithContext(ctx context.Context) RouteSpecHttpRouteTimeoutPerRequestOutput { + return pulumi.ToOutputWithContext(ctx, i).(RouteSpecHttpRouteTimeoutPerRequestOutput) } -func (i VirtualGatewaySpecBackendDefaultsClientPolicyTlsArgs) ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsPtrOutput() VirtualGatewaySpecBackendDefaultsClientPolicyTlsPtrOutput { - return i.ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsPtrOutputWithContext(context.Background()) +func (i RouteSpecHttpRouteTimeoutPerRequestArgs) ToRouteSpecHttpRouteTimeoutPerRequestPtrOutput() RouteSpecHttpRouteTimeoutPerRequestPtrOutput { + return i.ToRouteSpecHttpRouteTimeoutPerRequestPtrOutputWithContext(context.Background()) } -func (i VirtualGatewaySpecBackendDefaultsClientPolicyTlsArgs) ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsPtrOutputWithContext(ctx context.Context) VirtualGatewaySpecBackendDefaultsClientPolicyTlsPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualGatewaySpecBackendDefaultsClientPolicyTlsOutput).ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsPtrOutputWithContext(ctx) +func (i RouteSpecHttpRouteTimeoutPerRequestArgs) ToRouteSpecHttpRouteTimeoutPerRequestPtrOutputWithContext(ctx context.Context) RouteSpecHttpRouteTimeoutPerRequestPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(RouteSpecHttpRouteTimeoutPerRequestOutput).ToRouteSpecHttpRouteTimeoutPerRequestPtrOutputWithContext(ctx) } -// VirtualGatewaySpecBackendDefaultsClientPolicyTlsPtrInput is an input type that accepts VirtualGatewaySpecBackendDefaultsClientPolicyTlsArgs, VirtualGatewaySpecBackendDefaultsClientPolicyTlsPtr and VirtualGatewaySpecBackendDefaultsClientPolicyTlsPtrOutput values. -// You can construct a concrete instance of `VirtualGatewaySpecBackendDefaultsClientPolicyTlsPtrInput` via: +// RouteSpecHttpRouteTimeoutPerRequestPtrInput is an input type that accepts RouteSpecHttpRouteTimeoutPerRequestArgs, RouteSpecHttpRouteTimeoutPerRequestPtr and RouteSpecHttpRouteTimeoutPerRequestPtrOutput values. +// You can construct a concrete instance of `RouteSpecHttpRouteTimeoutPerRequestPtrInput` via: // -// VirtualGatewaySpecBackendDefaultsClientPolicyTlsArgs{...} +// RouteSpecHttpRouteTimeoutPerRequestArgs{...} // // or: // // nil -type VirtualGatewaySpecBackendDefaultsClientPolicyTlsPtrInput interface { +type RouteSpecHttpRouteTimeoutPerRequestPtrInput interface { pulumi.Input - ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsPtrOutput() VirtualGatewaySpecBackendDefaultsClientPolicyTlsPtrOutput - ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsPtrOutputWithContext(context.Context) VirtualGatewaySpecBackendDefaultsClientPolicyTlsPtrOutput + ToRouteSpecHttpRouteTimeoutPerRequestPtrOutput() RouteSpecHttpRouteTimeoutPerRequestPtrOutput + ToRouteSpecHttpRouteTimeoutPerRequestPtrOutputWithContext(context.Context) RouteSpecHttpRouteTimeoutPerRequestPtrOutput } -type virtualGatewaySpecBackendDefaultsClientPolicyTlsPtrType VirtualGatewaySpecBackendDefaultsClientPolicyTlsArgs +type routeSpecHttpRouteTimeoutPerRequestPtrType RouteSpecHttpRouteTimeoutPerRequestArgs -func VirtualGatewaySpecBackendDefaultsClientPolicyTlsPtr(v *VirtualGatewaySpecBackendDefaultsClientPolicyTlsArgs) VirtualGatewaySpecBackendDefaultsClientPolicyTlsPtrInput { - return (*virtualGatewaySpecBackendDefaultsClientPolicyTlsPtrType)(v) +func RouteSpecHttpRouteTimeoutPerRequestPtr(v *RouteSpecHttpRouteTimeoutPerRequestArgs) RouteSpecHttpRouteTimeoutPerRequestPtrInput { + return (*routeSpecHttpRouteTimeoutPerRequestPtrType)(v) } -func (*virtualGatewaySpecBackendDefaultsClientPolicyTlsPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**VirtualGatewaySpecBackendDefaultsClientPolicyTls)(nil)).Elem() +func (*routeSpecHttpRouteTimeoutPerRequestPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**RouteSpecHttpRouteTimeoutPerRequest)(nil)).Elem() } -func (i *virtualGatewaySpecBackendDefaultsClientPolicyTlsPtrType) ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsPtrOutput() VirtualGatewaySpecBackendDefaultsClientPolicyTlsPtrOutput { - return i.ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsPtrOutputWithContext(context.Background()) +func (i *routeSpecHttpRouteTimeoutPerRequestPtrType) ToRouteSpecHttpRouteTimeoutPerRequestPtrOutput() RouteSpecHttpRouteTimeoutPerRequestPtrOutput { + return i.ToRouteSpecHttpRouteTimeoutPerRequestPtrOutputWithContext(context.Background()) } -func (i *virtualGatewaySpecBackendDefaultsClientPolicyTlsPtrType) ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsPtrOutputWithContext(ctx context.Context) VirtualGatewaySpecBackendDefaultsClientPolicyTlsPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualGatewaySpecBackendDefaultsClientPolicyTlsPtrOutput) +func (i *routeSpecHttpRouteTimeoutPerRequestPtrType) ToRouteSpecHttpRouteTimeoutPerRequestPtrOutputWithContext(ctx context.Context) RouteSpecHttpRouteTimeoutPerRequestPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(RouteSpecHttpRouteTimeoutPerRequestPtrOutput) } -type VirtualGatewaySpecBackendDefaultsClientPolicyTlsOutput struct{ *pulumi.OutputState } +type RouteSpecHttpRouteTimeoutPerRequestOutput struct{ *pulumi.OutputState } -func (VirtualGatewaySpecBackendDefaultsClientPolicyTlsOutput) ElementType() reflect.Type { - return reflect.TypeOf((*VirtualGatewaySpecBackendDefaultsClientPolicyTls)(nil)).Elem() +func (RouteSpecHttpRouteTimeoutPerRequestOutput) ElementType() reflect.Type { + return reflect.TypeOf((*RouteSpecHttpRouteTimeoutPerRequest)(nil)).Elem() } -func (o VirtualGatewaySpecBackendDefaultsClientPolicyTlsOutput) ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsOutput() VirtualGatewaySpecBackendDefaultsClientPolicyTlsOutput { +func (o RouteSpecHttpRouteTimeoutPerRequestOutput) ToRouteSpecHttpRouteTimeoutPerRequestOutput() RouteSpecHttpRouteTimeoutPerRequestOutput { return o } -func (o VirtualGatewaySpecBackendDefaultsClientPolicyTlsOutput) ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsOutputWithContext(ctx context.Context) VirtualGatewaySpecBackendDefaultsClientPolicyTlsOutput { +func (o RouteSpecHttpRouteTimeoutPerRequestOutput) ToRouteSpecHttpRouteTimeoutPerRequestOutputWithContext(ctx context.Context) RouteSpecHttpRouteTimeoutPerRequestOutput { return o } -func (o VirtualGatewaySpecBackendDefaultsClientPolicyTlsOutput) ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsPtrOutput() VirtualGatewaySpecBackendDefaultsClientPolicyTlsPtrOutput { - return o.ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsPtrOutputWithContext(context.Background()) +func (o RouteSpecHttpRouteTimeoutPerRequestOutput) ToRouteSpecHttpRouteTimeoutPerRequestPtrOutput() RouteSpecHttpRouteTimeoutPerRequestPtrOutput { + return o.ToRouteSpecHttpRouteTimeoutPerRequestPtrOutputWithContext(context.Background()) } -func (o VirtualGatewaySpecBackendDefaultsClientPolicyTlsOutput) ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsPtrOutputWithContext(ctx context.Context) VirtualGatewaySpecBackendDefaultsClientPolicyTlsPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v VirtualGatewaySpecBackendDefaultsClientPolicyTls) *VirtualGatewaySpecBackendDefaultsClientPolicyTls { +func (o RouteSpecHttpRouteTimeoutPerRequestOutput) ToRouteSpecHttpRouteTimeoutPerRequestPtrOutputWithContext(ctx context.Context) RouteSpecHttpRouteTimeoutPerRequestPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v RouteSpecHttpRouteTimeoutPerRequest) *RouteSpecHttpRouteTimeoutPerRequest { return &v - }).(VirtualGatewaySpecBackendDefaultsClientPolicyTlsPtrOutput) -} - -// Listener's TLS certificate. -func (o VirtualGatewaySpecBackendDefaultsClientPolicyTlsOutput) Certificate() VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificatePtrOutput { - return o.ApplyT(func(v VirtualGatewaySpecBackendDefaultsClientPolicyTls) *VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificate { - return v.Certificate - }).(VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificatePtrOutput) -} - -// Whether the policy is enforced. Default is `true`. -func (o VirtualGatewaySpecBackendDefaultsClientPolicyTlsOutput) Enforce() pulumi.BoolPtrOutput { - return o.ApplyT(func(v VirtualGatewaySpecBackendDefaultsClientPolicyTls) *bool { return v.Enforce }).(pulumi.BoolPtrOutput) + }).(RouteSpecHttpRouteTimeoutPerRequestPtrOutput) } -// One or more ports that the policy is enforced for. -func (o VirtualGatewaySpecBackendDefaultsClientPolicyTlsOutput) Ports() pulumi.IntArrayOutput { - return o.ApplyT(func(v VirtualGatewaySpecBackendDefaultsClientPolicyTls) []int { return v.Ports }).(pulumi.IntArrayOutput) +// Unit of time. Valid values: `ms`, `s`. +func (o RouteSpecHttpRouteTimeoutPerRequestOutput) Unit() pulumi.StringOutput { + return o.ApplyT(func(v RouteSpecHttpRouteTimeoutPerRequest) string { return v.Unit }).(pulumi.StringOutput) } -// Listener's Transport Layer Security (TLS) validation context. -func (o VirtualGatewaySpecBackendDefaultsClientPolicyTlsOutput) Validation() VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationOutput { - return o.ApplyT(func(v VirtualGatewaySpecBackendDefaultsClientPolicyTls) VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidation { - return v.Validation - }).(VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationOutput) +// Number of time units. Minimum value of `0`. +func (o RouteSpecHttpRouteTimeoutPerRequestOutput) Value() pulumi.IntOutput { + return o.ApplyT(func(v RouteSpecHttpRouteTimeoutPerRequest) int { return v.Value }).(pulumi.IntOutput) } -type VirtualGatewaySpecBackendDefaultsClientPolicyTlsPtrOutput struct{ *pulumi.OutputState } +type RouteSpecHttpRouteTimeoutPerRequestPtrOutput struct{ *pulumi.OutputState } -func (VirtualGatewaySpecBackendDefaultsClientPolicyTlsPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**VirtualGatewaySpecBackendDefaultsClientPolicyTls)(nil)).Elem() +func (RouteSpecHttpRouteTimeoutPerRequestPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**RouteSpecHttpRouteTimeoutPerRequest)(nil)).Elem() } -func (o VirtualGatewaySpecBackendDefaultsClientPolicyTlsPtrOutput) ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsPtrOutput() VirtualGatewaySpecBackendDefaultsClientPolicyTlsPtrOutput { +func (o RouteSpecHttpRouteTimeoutPerRequestPtrOutput) ToRouteSpecHttpRouteTimeoutPerRequestPtrOutput() RouteSpecHttpRouteTimeoutPerRequestPtrOutput { return o } -func (o VirtualGatewaySpecBackendDefaultsClientPolicyTlsPtrOutput) ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsPtrOutputWithContext(ctx context.Context) VirtualGatewaySpecBackendDefaultsClientPolicyTlsPtrOutput { +func (o RouteSpecHttpRouteTimeoutPerRequestPtrOutput) ToRouteSpecHttpRouteTimeoutPerRequestPtrOutputWithContext(ctx context.Context) RouteSpecHttpRouteTimeoutPerRequestPtrOutput { return o } -func (o VirtualGatewaySpecBackendDefaultsClientPolicyTlsPtrOutput) Elem() VirtualGatewaySpecBackendDefaultsClientPolicyTlsOutput { - return o.ApplyT(func(v *VirtualGatewaySpecBackendDefaultsClientPolicyTls) VirtualGatewaySpecBackendDefaultsClientPolicyTls { +func (o RouteSpecHttpRouteTimeoutPerRequestPtrOutput) Elem() RouteSpecHttpRouteTimeoutPerRequestOutput { + return o.ApplyT(func(v *RouteSpecHttpRouteTimeoutPerRequest) RouteSpecHttpRouteTimeoutPerRequest { if v != nil { return *v } - var ret VirtualGatewaySpecBackendDefaultsClientPolicyTls + var ret RouteSpecHttpRouteTimeoutPerRequest return ret - }).(VirtualGatewaySpecBackendDefaultsClientPolicyTlsOutput) -} - -// Listener's TLS certificate. -func (o VirtualGatewaySpecBackendDefaultsClientPolicyTlsPtrOutput) Certificate() VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificatePtrOutput { - return o.ApplyT(func(v *VirtualGatewaySpecBackendDefaultsClientPolicyTls) *VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificate { - if v == nil { - return nil - } - return v.Certificate - }).(VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificatePtrOutput) -} - -// Whether the policy is enforced. Default is `true`. -func (o VirtualGatewaySpecBackendDefaultsClientPolicyTlsPtrOutput) Enforce() pulumi.BoolPtrOutput { - return o.ApplyT(func(v *VirtualGatewaySpecBackendDefaultsClientPolicyTls) *bool { - if v == nil { - return nil - } - return v.Enforce - }).(pulumi.BoolPtrOutput) + }).(RouteSpecHttpRouteTimeoutPerRequestOutput) } -// One or more ports that the policy is enforced for. -func (o VirtualGatewaySpecBackendDefaultsClientPolicyTlsPtrOutput) Ports() pulumi.IntArrayOutput { - return o.ApplyT(func(v *VirtualGatewaySpecBackendDefaultsClientPolicyTls) []int { +// Unit of time. Valid values: `ms`, `s`. +func (o RouteSpecHttpRouteTimeoutPerRequestPtrOutput) Unit() pulumi.StringPtrOutput { + return o.ApplyT(func(v *RouteSpecHttpRouteTimeoutPerRequest) *string { if v == nil { return nil } - return v.Ports - }).(pulumi.IntArrayOutput) + return &v.Unit + }).(pulumi.StringPtrOutput) } -// Listener's Transport Layer Security (TLS) validation context. -func (o VirtualGatewaySpecBackendDefaultsClientPolicyTlsPtrOutput) Validation() VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationPtrOutput { - return o.ApplyT(func(v *VirtualGatewaySpecBackendDefaultsClientPolicyTls) *VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidation { +// Number of time units. Minimum value of `0`. +func (o RouteSpecHttpRouteTimeoutPerRequestPtrOutput) Value() pulumi.IntPtrOutput { + return o.ApplyT(func(v *RouteSpecHttpRouteTimeoutPerRequest) *int { if v == nil { return nil } - return &v.Validation - }).(VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationPtrOutput) + return &v.Value + }).(pulumi.IntPtrOutput) } -type VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificate struct { - // Local file certificate. - File *VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateFile `pulumi:"file"` - // A [Secret Discovery Service](https://www.envoyproxy.io/docs/envoy/latest/configuration/security/secret#secret-discovery-service-sds) certificate. - Sds *VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateSds `pulumi:"sds"` +type RouteSpecTcpRoute struct { + // Action to take if a match is determined. + Action RouteSpecTcpRouteAction `pulumi:"action"` + // Criteria for determining an gRPC request match. + Match *RouteSpecTcpRouteMatch `pulumi:"match"` + // Types of timeouts. + Timeout *RouteSpecTcpRouteTimeout `pulumi:"timeout"` } -// VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateInput is an input type that accepts VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateArgs and VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateOutput values. -// You can construct a concrete instance of `VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateInput` via: +// RouteSpecTcpRouteInput is an input type that accepts RouteSpecTcpRouteArgs and RouteSpecTcpRouteOutput values. +// You can construct a concrete instance of `RouteSpecTcpRouteInput` via: // -// VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateArgs{...} -type VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateInput interface { +// RouteSpecTcpRouteArgs{...} +type RouteSpecTcpRouteInput interface { pulumi.Input - ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateOutput() VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateOutput - ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateOutputWithContext(context.Context) VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateOutput + ToRouteSpecTcpRouteOutput() RouteSpecTcpRouteOutput + ToRouteSpecTcpRouteOutputWithContext(context.Context) RouteSpecTcpRouteOutput } -type VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateArgs struct { - // Local file certificate. - File VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateFilePtrInput `pulumi:"file"` - // A [Secret Discovery Service](https://www.envoyproxy.io/docs/envoy/latest/configuration/security/secret#secret-discovery-service-sds) certificate. - Sds VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateSdsPtrInput `pulumi:"sds"` +type RouteSpecTcpRouteArgs struct { + // Action to take if a match is determined. + Action RouteSpecTcpRouteActionInput `pulumi:"action"` + // Criteria for determining an gRPC request match. + Match RouteSpecTcpRouteMatchPtrInput `pulumi:"match"` + // Types of timeouts. + Timeout RouteSpecTcpRouteTimeoutPtrInput `pulumi:"timeout"` } -func (VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateArgs) ElementType() reflect.Type { - return reflect.TypeOf((*VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificate)(nil)).Elem() +func (RouteSpecTcpRouteArgs) ElementType() reflect.Type { + return reflect.TypeOf((*RouteSpecTcpRoute)(nil)).Elem() } -func (i VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateArgs) ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateOutput() VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateOutput { - return i.ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateOutputWithContext(context.Background()) +func (i RouteSpecTcpRouteArgs) ToRouteSpecTcpRouteOutput() RouteSpecTcpRouteOutput { + return i.ToRouteSpecTcpRouteOutputWithContext(context.Background()) } -func (i VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateArgs) ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateOutputWithContext(ctx context.Context) VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateOutput) +func (i RouteSpecTcpRouteArgs) ToRouteSpecTcpRouteOutputWithContext(ctx context.Context) RouteSpecTcpRouteOutput { + return pulumi.ToOutputWithContext(ctx, i).(RouteSpecTcpRouteOutput) } -func (i VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateArgs) ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificatePtrOutput() VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificatePtrOutput { - return i.ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificatePtrOutputWithContext(context.Background()) +func (i RouteSpecTcpRouteArgs) ToRouteSpecTcpRoutePtrOutput() RouteSpecTcpRoutePtrOutput { + return i.ToRouteSpecTcpRoutePtrOutputWithContext(context.Background()) } -func (i VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateArgs) ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificatePtrOutputWithContext(ctx context.Context) VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificatePtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateOutput).ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificatePtrOutputWithContext(ctx) +func (i RouteSpecTcpRouteArgs) ToRouteSpecTcpRoutePtrOutputWithContext(ctx context.Context) RouteSpecTcpRoutePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(RouteSpecTcpRouteOutput).ToRouteSpecTcpRoutePtrOutputWithContext(ctx) } -// VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificatePtrInput is an input type that accepts VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateArgs, VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificatePtr and VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificatePtrOutput values. -// You can construct a concrete instance of `VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificatePtrInput` via: +// RouteSpecTcpRoutePtrInput is an input type that accepts RouteSpecTcpRouteArgs, RouteSpecTcpRoutePtr and RouteSpecTcpRoutePtrOutput values. +// You can construct a concrete instance of `RouteSpecTcpRoutePtrInput` via: // -// VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateArgs{...} +// RouteSpecTcpRouteArgs{...} // // or: // // nil -type VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificatePtrInput interface { +type RouteSpecTcpRoutePtrInput interface { pulumi.Input - ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificatePtrOutput() VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificatePtrOutput - ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificatePtrOutputWithContext(context.Context) VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificatePtrOutput + ToRouteSpecTcpRoutePtrOutput() RouteSpecTcpRoutePtrOutput + ToRouteSpecTcpRoutePtrOutputWithContext(context.Context) RouteSpecTcpRoutePtrOutput } -type virtualGatewaySpecBackendDefaultsClientPolicyTlsCertificatePtrType VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateArgs +type routeSpecTcpRoutePtrType RouteSpecTcpRouteArgs -func VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificatePtr(v *VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateArgs) VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificatePtrInput { - return (*virtualGatewaySpecBackendDefaultsClientPolicyTlsCertificatePtrType)(v) +func RouteSpecTcpRoutePtr(v *RouteSpecTcpRouteArgs) RouteSpecTcpRoutePtrInput { + return (*routeSpecTcpRoutePtrType)(v) } -func (*virtualGatewaySpecBackendDefaultsClientPolicyTlsCertificatePtrType) ElementType() reflect.Type { - return reflect.TypeOf((**VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificate)(nil)).Elem() +func (*routeSpecTcpRoutePtrType) ElementType() reflect.Type { + return reflect.TypeOf((**RouteSpecTcpRoute)(nil)).Elem() } -func (i *virtualGatewaySpecBackendDefaultsClientPolicyTlsCertificatePtrType) ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificatePtrOutput() VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificatePtrOutput { - return i.ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificatePtrOutputWithContext(context.Background()) +func (i *routeSpecTcpRoutePtrType) ToRouteSpecTcpRoutePtrOutput() RouteSpecTcpRoutePtrOutput { + return i.ToRouteSpecTcpRoutePtrOutputWithContext(context.Background()) } -func (i *virtualGatewaySpecBackendDefaultsClientPolicyTlsCertificatePtrType) ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificatePtrOutputWithContext(ctx context.Context) VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificatePtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificatePtrOutput) +func (i *routeSpecTcpRoutePtrType) ToRouteSpecTcpRoutePtrOutputWithContext(ctx context.Context) RouteSpecTcpRoutePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(RouteSpecTcpRoutePtrOutput) } -type VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateOutput struct{ *pulumi.OutputState } +type RouteSpecTcpRouteOutput struct{ *pulumi.OutputState } -func (VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateOutput) ElementType() reflect.Type { - return reflect.TypeOf((*VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificate)(nil)).Elem() +func (RouteSpecTcpRouteOutput) ElementType() reflect.Type { + return reflect.TypeOf((*RouteSpecTcpRoute)(nil)).Elem() } -func (o VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateOutput) ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateOutput() VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateOutput { +func (o RouteSpecTcpRouteOutput) ToRouteSpecTcpRouteOutput() RouteSpecTcpRouteOutput { return o } -func (o VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateOutput) ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateOutputWithContext(ctx context.Context) VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateOutput { +func (o RouteSpecTcpRouteOutput) ToRouteSpecTcpRouteOutputWithContext(ctx context.Context) RouteSpecTcpRouteOutput { return o } -func (o VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateOutput) ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificatePtrOutput() VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificatePtrOutput { - return o.ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificatePtrOutputWithContext(context.Background()) +func (o RouteSpecTcpRouteOutput) ToRouteSpecTcpRoutePtrOutput() RouteSpecTcpRoutePtrOutput { + return o.ToRouteSpecTcpRoutePtrOutputWithContext(context.Background()) } -func (o VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateOutput) ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificatePtrOutputWithContext(ctx context.Context) VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificatePtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificate) *VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificate { +func (o RouteSpecTcpRouteOutput) ToRouteSpecTcpRoutePtrOutputWithContext(ctx context.Context) RouteSpecTcpRoutePtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v RouteSpecTcpRoute) *RouteSpecTcpRoute { return &v - }).(VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificatePtrOutput) + }).(RouteSpecTcpRoutePtrOutput) } -// Local file certificate. -func (o VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateOutput) File() VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateFilePtrOutput { - return o.ApplyT(func(v VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificate) *VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateFile { - return v.File - }).(VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateFilePtrOutput) +// Action to take if a match is determined. +func (o RouteSpecTcpRouteOutput) Action() RouteSpecTcpRouteActionOutput { + return o.ApplyT(func(v RouteSpecTcpRoute) RouteSpecTcpRouteAction { return v.Action }).(RouteSpecTcpRouteActionOutput) } -// A [Secret Discovery Service](https://www.envoyproxy.io/docs/envoy/latest/configuration/security/secret#secret-discovery-service-sds) certificate. -func (o VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateOutput) Sds() VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateSdsPtrOutput { - return o.ApplyT(func(v VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificate) *VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateSds { - return v.Sds - }).(VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateSdsPtrOutput) +// Criteria for determining an gRPC request match. +func (o RouteSpecTcpRouteOutput) Match() RouteSpecTcpRouteMatchPtrOutput { + return o.ApplyT(func(v RouteSpecTcpRoute) *RouteSpecTcpRouteMatch { return v.Match }).(RouteSpecTcpRouteMatchPtrOutput) } -type VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificatePtrOutput struct{ *pulumi.OutputState } +// Types of timeouts. +func (o RouteSpecTcpRouteOutput) Timeout() RouteSpecTcpRouteTimeoutPtrOutput { + return o.ApplyT(func(v RouteSpecTcpRoute) *RouteSpecTcpRouteTimeout { return v.Timeout }).(RouteSpecTcpRouteTimeoutPtrOutput) +} -func (VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificatePtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificate)(nil)).Elem() +type RouteSpecTcpRoutePtrOutput struct{ *pulumi.OutputState } + +func (RouteSpecTcpRoutePtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**RouteSpecTcpRoute)(nil)).Elem() } -func (o VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificatePtrOutput) ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificatePtrOutput() VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificatePtrOutput { +func (o RouteSpecTcpRoutePtrOutput) ToRouteSpecTcpRoutePtrOutput() RouteSpecTcpRoutePtrOutput { return o } -func (o VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificatePtrOutput) ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificatePtrOutputWithContext(ctx context.Context) VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificatePtrOutput { +func (o RouteSpecTcpRoutePtrOutput) ToRouteSpecTcpRoutePtrOutputWithContext(ctx context.Context) RouteSpecTcpRoutePtrOutput { return o } -func (o VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificatePtrOutput) Elem() VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateOutput { - return o.ApplyT(func(v *VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificate) VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificate { +func (o RouteSpecTcpRoutePtrOutput) Elem() RouteSpecTcpRouteOutput { + return o.ApplyT(func(v *RouteSpecTcpRoute) RouteSpecTcpRoute { if v != nil { return *v } - var ret VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificate + var ret RouteSpecTcpRoute return ret - }).(VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateOutput) + }).(RouteSpecTcpRouteOutput) } -// Local file certificate. -func (o VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificatePtrOutput) File() VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateFilePtrOutput { - return o.ApplyT(func(v *VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificate) *VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateFile { +// Action to take if a match is determined. +func (o RouteSpecTcpRoutePtrOutput) Action() RouteSpecTcpRouteActionPtrOutput { + return o.ApplyT(func(v *RouteSpecTcpRoute) *RouteSpecTcpRouteAction { if v == nil { return nil } - return v.File - }).(VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateFilePtrOutput) + return &v.Action + }).(RouteSpecTcpRouteActionPtrOutput) } -// A [Secret Discovery Service](https://www.envoyproxy.io/docs/envoy/latest/configuration/security/secret#secret-discovery-service-sds) certificate. -func (o VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificatePtrOutput) Sds() VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateSdsPtrOutput { - return o.ApplyT(func(v *VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificate) *VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateSds { +// Criteria for determining an gRPC request match. +func (o RouteSpecTcpRoutePtrOutput) Match() RouteSpecTcpRouteMatchPtrOutput { + return o.ApplyT(func(v *RouteSpecTcpRoute) *RouteSpecTcpRouteMatch { if v == nil { return nil } - return v.Sds - }).(VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateSdsPtrOutput) + return v.Match + }).(RouteSpecTcpRouteMatchPtrOutput) } -type VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateFile struct { - // Certificate trust chain for a certificate stored on the file system of the mesh endpoint that the proxy is running on. Must be between 1 and 255 characters in length. - CertificateChain string `pulumi:"certificateChain"` - // Private key for a certificate stored on the file system of the mesh endpoint that the proxy is running on. Must be between 1 and 255 characters in length. - PrivateKey string `pulumi:"privateKey"` +// Types of timeouts. +func (o RouteSpecTcpRoutePtrOutput) Timeout() RouteSpecTcpRouteTimeoutPtrOutput { + return o.ApplyT(func(v *RouteSpecTcpRoute) *RouteSpecTcpRouteTimeout { + if v == nil { + return nil + } + return v.Timeout + }).(RouteSpecTcpRouteTimeoutPtrOutput) } -// VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateFileInput is an input type that accepts VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateFileArgs and VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateFileOutput values. -// You can construct a concrete instance of `VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateFileInput` via: +type RouteSpecTcpRouteAction struct { + // Targets that traffic is routed to when a request matches the route. + // You can specify one or more targets and their relative weights with which to distribute traffic. + WeightedTargets []RouteSpecTcpRouteActionWeightedTarget `pulumi:"weightedTargets"` +} + +// RouteSpecTcpRouteActionInput is an input type that accepts RouteSpecTcpRouteActionArgs and RouteSpecTcpRouteActionOutput values. +// You can construct a concrete instance of `RouteSpecTcpRouteActionInput` via: // -// VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateFileArgs{...} -type VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateFileInput interface { +// RouteSpecTcpRouteActionArgs{...} +type RouteSpecTcpRouteActionInput interface { pulumi.Input - ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateFileOutput() VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateFileOutput - ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateFileOutputWithContext(context.Context) VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateFileOutput + ToRouteSpecTcpRouteActionOutput() RouteSpecTcpRouteActionOutput + ToRouteSpecTcpRouteActionOutputWithContext(context.Context) RouteSpecTcpRouteActionOutput } -type VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateFileArgs struct { - // Certificate trust chain for a certificate stored on the file system of the mesh endpoint that the proxy is running on. Must be between 1 and 255 characters in length. - CertificateChain pulumi.StringInput `pulumi:"certificateChain"` - // Private key for a certificate stored on the file system of the mesh endpoint that the proxy is running on. Must be between 1 and 255 characters in length. - PrivateKey pulumi.StringInput `pulumi:"privateKey"` +type RouteSpecTcpRouteActionArgs struct { + // Targets that traffic is routed to when a request matches the route. + // You can specify one or more targets and their relative weights with which to distribute traffic. + WeightedTargets RouteSpecTcpRouteActionWeightedTargetArrayInput `pulumi:"weightedTargets"` } -func (VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateFileArgs) ElementType() reflect.Type { - return reflect.TypeOf((*VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateFile)(nil)).Elem() +func (RouteSpecTcpRouteActionArgs) ElementType() reflect.Type { + return reflect.TypeOf((*RouteSpecTcpRouteAction)(nil)).Elem() } -func (i VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateFileArgs) ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateFileOutput() VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateFileOutput { - return i.ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateFileOutputWithContext(context.Background()) +func (i RouteSpecTcpRouteActionArgs) ToRouteSpecTcpRouteActionOutput() RouteSpecTcpRouteActionOutput { + return i.ToRouteSpecTcpRouteActionOutputWithContext(context.Background()) } -func (i VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateFileArgs) ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateFileOutputWithContext(ctx context.Context) VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateFileOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateFileOutput) +func (i RouteSpecTcpRouteActionArgs) ToRouteSpecTcpRouteActionOutputWithContext(ctx context.Context) RouteSpecTcpRouteActionOutput { + return pulumi.ToOutputWithContext(ctx, i).(RouteSpecTcpRouteActionOutput) } -func (i VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateFileArgs) ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateFilePtrOutput() VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateFilePtrOutput { - return i.ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateFilePtrOutputWithContext(context.Background()) +func (i RouteSpecTcpRouteActionArgs) ToRouteSpecTcpRouteActionPtrOutput() RouteSpecTcpRouteActionPtrOutput { + return i.ToRouteSpecTcpRouteActionPtrOutputWithContext(context.Background()) } -func (i VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateFileArgs) ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateFilePtrOutputWithContext(ctx context.Context) VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateFilePtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateFileOutput).ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateFilePtrOutputWithContext(ctx) +func (i RouteSpecTcpRouteActionArgs) ToRouteSpecTcpRouteActionPtrOutputWithContext(ctx context.Context) RouteSpecTcpRouteActionPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(RouteSpecTcpRouteActionOutput).ToRouteSpecTcpRouteActionPtrOutputWithContext(ctx) } -// VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateFilePtrInput is an input type that accepts VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateFileArgs, VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateFilePtr and VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateFilePtrOutput values. -// You can construct a concrete instance of `VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateFilePtrInput` via: +// RouteSpecTcpRouteActionPtrInput is an input type that accepts RouteSpecTcpRouteActionArgs, RouteSpecTcpRouteActionPtr and RouteSpecTcpRouteActionPtrOutput values. +// You can construct a concrete instance of `RouteSpecTcpRouteActionPtrInput` via: // -// VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateFileArgs{...} +// RouteSpecTcpRouteActionArgs{...} // // or: // // nil -type VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateFilePtrInput interface { +type RouteSpecTcpRouteActionPtrInput interface { pulumi.Input - ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateFilePtrOutput() VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateFilePtrOutput - ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateFilePtrOutputWithContext(context.Context) VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateFilePtrOutput + ToRouteSpecTcpRouteActionPtrOutput() RouteSpecTcpRouteActionPtrOutput + ToRouteSpecTcpRouteActionPtrOutputWithContext(context.Context) RouteSpecTcpRouteActionPtrOutput } -type virtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateFilePtrType VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateFileArgs +type routeSpecTcpRouteActionPtrType RouteSpecTcpRouteActionArgs -func VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateFilePtr(v *VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateFileArgs) VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateFilePtrInput { - return (*virtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateFilePtrType)(v) +func RouteSpecTcpRouteActionPtr(v *RouteSpecTcpRouteActionArgs) RouteSpecTcpRouteActionPtrInput { + return (*routeSpecTcpRouteActionPtrType)(v) } -func (*virtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateFilePtrType) ElementType() reflect.Type { - return reflect.TypeOf((**VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateFile)(nil)).Elem() +func (*routeSpecTcpRouteActionPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**RouteSpecTcpRouteAction)(nil)).Elem() } -func (i *virtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateFilePtrType) ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateFilePtrOutput() VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateFilePtrOutput { - return i.ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateFilePtrOutputWithContext(context.Background()) +func (i *routeSpecTcpRouteActionPtrType) ToRouteSpecTcpRouteActionPtrOutput() RouteSpecTcpRouteActionPtrOutput { + return i.ToRouteSpecTcpRouteActionPtrOutputWithContext(context.Background()) } -func (i *virtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateFilePtrType) ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateFilePtrOutputWithContext(ctx context.Context) VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateFilePtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateFilePtrOutput) +func (i *routeSpecTcpRouteActionPtrType) ToRouteSpecTcpRouteActionPtrOutputWithContext(ctx context.Context) RouteSpecTcpRouteActionPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(RouteSpecTcpRouteActionPtrOutput) } -type VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateFileOutput struct{ *pulumi.OutputState } +type RouteSpecTcpRouteActionOutput struct{ *pulumi.OutputState } -func (VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateFileOutput) ElementType() reflect.Type { - return reflect.TypeOf((*VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateFile)(nil)).Elem() +func (RouteSpecTcpRouteActionOutput) ElementType() reflect.Type { + return reflect.TypeOf((*RouteSpecTcpRouteAction)(nil)).Elem() } -func (o VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateFileOutput) ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateFileOutput() VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateFileOutput { +func (o RouteSpecTcpRouteActionOutput) ToRouteSpecTcpRouteActionOutput() RouteSpecTcpRouteActionOutput { return o } -func (o VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateFileOutput) ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateFileOutputWithContext(ctx context.Context) VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateFileOutput { +func (o RouteSpecTcpRouteActionOutput) ToRouteSpecTcpRouteActionOutputWithContext(ctx context.Context) RouteSpecTcpRouteActionOutput { return o } -func (o VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateFileOutput) ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateFilePtrOutput() VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateFilePtrOutput { - return o.ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateFilePtrOutputWithContext(context.Background()) +func (o RouteSpecTcpRouteActionOutput) ToRouteSpecTcpRouteActionPtrOutput() RouteSpecTcpRouteActionPtrOutput { + return o.ToRouteSpecTcpRouteActionPtrOutputWithContext(context.Background()) } -func (o VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateFileOutput) ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateFilePtrOutputWithContext(ctx context.Context) VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateFilePtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateFile) *VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateFile { +func (o RouteSpecTcpRouteActionOutput) ToRouteSpecTcpRouteActionPtrOutputWithContext(ctx context.Context) RouteSpecTcpRouteActionPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v RouteSpecTcpRouteAction) *RouteSpecTcpRouteAction { return &v - }).(VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateFilePtrOutput) -} - -// Certificate trust chain for a certificate stored on the file system of the mesh endpoint that the proxy is running on. Must be between 1 and 255 characters in length. -func (o VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateFileOutput) CertificateChain() pulumi.StringOutput { - return o.ApplyT(func(v VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateFile) string { - return v.CertificateChain - }).(pulumi.StringOutput) + }).(RouteSpecTcpRouteActionPtrOutput) } -// Private key for a certificate stored on the file system of the mesh endpoint that the proxy is running on. Must be between 1 and 255 characters in length. -func (o VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateFileOutput) PrivateKey() pulumi.StringOutput { - return o.ApplyT(func(v VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateFile) string { return v.PrivateKey }).(pulumi.StringOutput) +// Targets that traffic is routed to when a request matches the route. +// You can specify one or more targets and their relative weights with which to distribute traffic. +func (o RouteSpecTcpRouteActionOutput) WeightedTargets() RouteSpecTcpRouteActionWeightedTargetArrayOutput { + return o.ApplyT(func(v RouteSpecTcpRouteAction) []RouteSpecTcpRouteActionWeightedTarget { return v.WeightedTargets }).(RouteSpecTcpRouteActionWeightedTargetArrayOutput) } -type VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateFilePtrOutput struct{ *pulumi.OutputState } +type RouteSpecTcpRouteActionPtrOutput struct{ *pulumi.OutputState } -func (VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateFilePtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateFile)(nil)).Elem() +func (RouteSpecTcpRouteActionPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**RouteSpecTcpRouteAction)(nil)).Elem() } -func (o VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateFilePtrOutput) ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateFilePtrOutput() VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateFilePtrOutput { +func (o RouteSpecTcpRouteActionPtrOutput) ToRouteSpecTcpRouteActionPtrOutput() RouteSpecTcpRouteActionPtrOutput { return o } -func (o VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateFilePtrOutput) ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateFilePtrOutputWithContext(ctx context.Context) VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateFilePtrOutput { +func (o RouteSpecTcpRouteActionPtrOutput) ToRouteSpecTcpRouteActionPtrOutputWithContext(ctx context.Context) RouteSpecTcpRouteActionPtrOutput { return o } -func (o VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateFilePtrOutput) Elem() VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateFileOutput { - return o.ApplyT(func(v *VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateFile) VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateFile { +func (o RouteSpecTcpRouteActionPtrOutput) Elem() RouteSpecTcpRouteActionOutput { + return o.ApplyT(func(v *RouteSpecTcpRouteAction) RouteSpecTcpRouteAction { if v != nil { return *v } - var ret VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateFile + var ret RouteSpecTcpRouteAction return ret - }).(VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateFileOutput) -} - -// Certificate trust chain for a certificate stored on the file system of the mesh endpoint that the proxy is running on. Must be between 1 and 255 characters in length. -func (o VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateFilePtrOutput) CertificateChain() pulumi.StringPtrOutput { - return o.ApplyT(func(v *VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateFile) *string { - if v == nil { - return nil - } - return &v.CertificateChain - }).(pulumi.StringPtrOutput) + }).(RouteSpecTcpRouteActionOutput) } -// Private key for a certificate stored on the file system of the mesh endpoint that the proxy is running on. Must be between 1 and 255 characters in length. -func (o VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateFilePtrOutput) PrivateKey() pulumi.StringPtrOutput { - return o.ApplyT(func(v *VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateFile) *string { +// Targets that traffic is routed to when a request matches the route. +// You can specify one or more targets and their relative weights with which to distribute traffic. +func (o RouteSpecTcpRouteActionPtrOutput) WeightedTargets() RouteSpecTcpRouteActionWeightedTargetArrayOutput { + return o.ApplyT(func(v *RouteSpecTcpRouteAction) []RouteSpecTcpRouteActionWeightedTarget { if v == nil { return nil } - return &v.PrivateKey - }).(pulumi.StringPtrOutput) + return v.WeightedTargets + }).(RouteSpecTcpRouteActionWeightedTargetArrayOutput) } -type VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateSds struct { - // Name of the secret for a virtual gateway's Transport Layer Security (TLS) Secret Discovery Service validation context trust. - SecretName string `pulumi:"secretName"` +type RouteSpecTcpRouteActionWeightedTarget struct { + // The targeted port of the weighted object. + Port *int `pulumi:"port"` + // Virtual node to associate with the weighted target. Must be between 1 and 255 characters in length. + VirtualNode string `pulumi:"virtualNode"` + // Relative weight of the weighted target. An integer between 0 and 100. + Weight int `pulumi:"weight"` } -// VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateSdsInput is an input type that accepts VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateSdsArgs and VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateSdsOutput values. -// You can construct a concrete instance of `VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateSdsInput` via: +// RouteSpecTcpRouteActionWeightedTargetInput is an input type that accepts RouteSpecTcpRouteActionWeightedTargetArgs and RouteSpecTcpRouteActionWeightedTargetOutput values. +// You can construct a concrete instance of `RouteSpecTcpRouteActionWeightedTargetInput` via: // -// VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateSdsArgs{...} -type VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateSdsInput interface { +// RouteSpecTcpRouteActionWeightedTargetArgs{...} +type RouteSpecTcpRouteActionWeightedTargetInput interface { pulumi.Input - ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateSdsOutput() VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateSdsOutput - ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateSdsOutputWithContext(context.Context) VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateSdsOutput -} - -type VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateSdsArgs struct { - // Name of the secret for a virtual gateway's Transport Layer Security (TLS) Secret Discovery Service validation context trust. - SecretName pulumi.StringInput `pulumi:"secretName"` -} - -func (VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateSdsArgs) ElementType() reflect.Type { - return reflect.TypeOf((*VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateSds)(nil)).Elem() + ToRouteSpecTcpRouteActionWeightedTargetOutput() RouteSpecTcpRouteActionWeightedTargetOutput + ToRouteSpecTcpRouteActionWeightedTargetOutputWithContext(context.Context) RouteSpecTcpRouteActionWeightedTargetOutput } -func (i VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateSdsArgs) ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateSdsOutput() VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateSdsOutput { - return i.ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateSdsOutputWithContext(context.Background()) +type RouteSpecTcpRouteActionWeightedTargetArgs struct { + // The targeted port of the weighted object. + Port pulumi.IntPtrInput `pulumi:"port"` + // Virtual node to associate with the weighted target. Must be between 1 and 255 characters in length. + VirtualNode pulumi.StringInput `pulumi:"virtualNode"` + // Relative weight of the weighted target. An integer between 0 and 100. + Weight pulumi.IntInput `pulumi:"weight"` } -func (i VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateSdsArgs) ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateSdsOutputWithContext(ctx context.Context) VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateSdsOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateSdsOutput) +func (RouteSpecTcpRouteActionWeightedTargetArgs) ElementType() reflect.Type { + return reflect.TypeOf((*RouteSpecTcpRouteActionWeightedTarget)(nil)).Elem() } -func (i VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateSdsArgs) ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateSdsPtrOutput() VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateSdsPtrOutput { - return i.ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateSdsPtrOutputWithContext(context.Background()) +func (i RouteSpecTcpRouteActionWeightedTargetArgs) ToRouteSpecTcpRouteActionWeightedTargetOutput() RouteSpecTcpRouteActionWeightedTargetOutput { + return i.ToRouteSpecTcpRouteActionWeightedTargetOutputWithContext(context.Background()) } -func (i VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateSdsArgs) ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateSdsPtrOutputWithContext(ctx context.Context) VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateSdsPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateSdsOutput).ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateSdsPtrOutputWithContext(ctx) +func (i RouteSpecTcpRouteActionWeightedTargetArgs) ToRouteSpecTcpRouteActionWeightedTargetOutputWithContext(ctx context.Context) RouteSpecTcpRouteActionWeightedTargetOutput { + return pulumi.ToOutputWithContext(ctx, i).(RouteSpecTcpRouteActionWeightedTargetOutput) } -// VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateSdsPtrInput is an input type that accepts VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateSdsArgs, VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateSdsPtr and VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateSdsPtrOutput values. -// You can construct a concrete instance of `VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateSdsPtrInput` via: -// -// VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateSdsArgs{...} -// -// or: +// RouteSpecTcpRouteActionWeightedTargetArrayInput is an input type that accepts RouteSpecTcpRouteActionWeightedTargetArray and RouteSpecTcpRouteActionWeightedTargetArrayOutput values. +// You can construct a concrete instance of `RouteSpecTcpRouteActionWeightedTargetArrayInput` via: // -// nil -type VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateSdsPtrInput interface { +// RouteSpecTcpRouteActionWeightedTargetArray{ RouteSpecTcpRouteActionWeightedTargetArgs{...} } +type RouteSpecTcpRouteActionWeightedTargetArrayInput interface { pulumi.Input - ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateSdsPtrOutput() VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateSdsPtrOutput - ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateSdsPtrOutputWithContext(context.Context) VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateSdsPtrOutput + ToRouteSpecTcpRouteActionWeightedTargetArrayOutput() RouteSpecTcpRouteActionWeightedTargetArrayOutput + ToRouteSpecTcpRouteActionWeightedTargetArrayOutputWithContext(context.Context) RouteSpecTcpRouteActionWeightedTargetArrayOutput } -type virtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateSdsPtrType VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateSdsArgs +type RouteSpecTcpRouteActionWeightedTargetArray []RouteSpecTcpRouteActionWeightedTargetInput -func VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateSdsPtr(v *VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateSdsArgs) VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateSdsPtrInput { - return (*virtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateSdsPtrType)(v) +func (RouteSpecTcpRouteActionWeightedTargetArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]RouteSpecTcpRouteActionWeightedTarget)(nil)).Elem() } -func (*virtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateSdsPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateSds)(nil)).Elem() -} - -func (i *virtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateSdsPtrType) ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateSdsPtrOutput() VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateSdsPtrOutput { - return i.ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateSdsPtrOutputWithContext(context.Background()) +func (i RouteSpecTcpRouteActionWeightedTargetArray) ToRouteSpecTcpRouteActionWeightedTargetArrayOutput() RouteSpecTcpRouteActionWeightedTargetArrayOutput { + return i.ToRouteSpecTcpRouteActionWeightedTargetArrayOutputWithContext(context.Background()) } -func (i *virtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateSdsPtrType) ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateSdsPtrOutputWithContext(ctx context.Context) VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateSdsPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateSdsPtrOutput) +func (i RouteSpecTcpRouteActionWeightedTargetArray) ToRouteSpecTcpRouteActionWeightedTargetArrayOutputWithContext(ctx context.Context) RouteSpecTcpRouteActionWeightedTargetArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(RouteSpecTcpRouteActionWeightedTargetArrayOutput) } -type VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateSdsOutput struct{ *pulumi.OutputState } +type RouteSpecTcpRouteActionWeightedTargetOutput struct{ *pulumi.OutputState } -func (VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateSdsOutput) ElementType() reflect.Type { - return reflect.TypeOf((*VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateSds)(nil)).Elem() +func (RouteSpecTcpRouteActionWeightedTargetOutput) ElementType() reflect.Type { + return reflect.TypeOf((*RouteSpecTcpRouteActionWeightedTarget)(nil)).Elem() } -func (o VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateSdsOutput) ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateSdsOutput() VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateSdsOutput { +func (o RouteSpecTcpRouteActionWeightedTargetOutput) ToRouteSpecTcpRouteActionWeightedTargetOutput() RouteSpecTcpRouteActionWeightedTargetOutput { return o } -func (o VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateSdsOutput) ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateSdsOutputWithContext(ctx context.Context) VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateSdsOutput { +func (o RouteSpecTcpRouteActionWeightedTargetOutput) ToRouteSpecTcpRouteActionWeightedTargetOutputWithContext(ctx context.Context) RouteSpecTcpRouteActionWeightedTargetOutput { return o } -func (o VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateSdsOutput) ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateSdsPtrOutput() VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateSdsPtrOutput { - return o.ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateSdsPtrOutputWithContext(context.Background()) +// The targeted port of the weighted object. +func (o RouteSpecTcpRouteActionWeightedTargetOutput) Port() pulumi.IntPtrOutput { + return o.ApplyT(func(v RouteSpecTcpRouteActionWeightedTarget) *int { return v.Port }).(pulumi.IntPtrOutput) } -func (o VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateSdsOutput) ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateSdsPtrOutputWithContext(ctx context.Context) VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateSdsPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateSds) *VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateSds { - return &v - }).(VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateSdsPtrOutput) +// Virtual node to associate with the weighted target. Must be between 1 and 255 characters in length. +func (o RouteSpecTcpRouteActionWeightedTargetOutput) VirtualNode() pulumi.StringOutput { + return o.ApplyT(func(v RouteSpecTcpRouteActionWeightedTarget) string { return v.VirtualNode }).(pulumi.StringOutput) } -// Name of the secret for a virtual gateway's Transport Layer Security (TLS) Secret Discovery Service validation context trust. -func (o VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateSdsOutput) SecretName() pulumi.StringOutput { - return o.ApplyT(func(v VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateSds) string { return v.SecretName }).(pulumi.StringOutput) +// Relative weight of the weighted target. An integer between 0 and 100. +func (o RouteSpecTcpRouteActionWeightedTargetOutput) Weight() pulumi.IntOutput { + return o.ApplyT(func(v RouteSpecTcpRouteActionWeightedTarget) int { return v.Weight }).(pulumi.IntOutput) } -type VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateSdsPtrOutput struct{ *pulumi.OutputState } +type RouteSpecTcpRouteActionWeightedTargetArrayOutput struct{ *pulumi.OutputState } -func (VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateSdsPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateSds)(nil)).Elem() +func (RouteSpecTcpRouteActionWeightedTargetArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]RouteSpecTcpRouteActionWeightedTarget)(nil)).Elem() } -func (o VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateSdsPtrOutput) ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateSdsPtrOutput() VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateSdsPtrOutput { +func (o RouteSpecTcpRouteActionWeightedTargetArrayOutput) ToRouteSpecTcpRouteActionWeightedTargetArrayOutput() RouteSpecTcpRouteActionWeightedTargetArrayOutput { return o } -func (o VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateSdsPtrOutput) ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateSdsPtrOutputWithContext(ctx context.Context) VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateSdsPtrOutput { +func (o RouteSpecTcpRouteActionWeightedTargetArrayOutput) ToRouteSpecTcpRouteActionWeightedTargetArrayOutputWithContext(ctx context.Context) RouteSpecTcpRouteActionWeightedTargetArrayOutput { return o } -func (o VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateSdsPtrOutput) Elem() VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateSdsOutput { - return o.ApplyT(func(v *VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateSds) VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateSds { - if v != nil { - return *v - } - var ret VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateSds - return ret - }).(VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateSdsOutput) -} - -// Name of the secret for a virtual gateway's Transport Layer Security (TLS) Secret Discovery Service validation context trust. -func (o VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateSdsPtrOutput) SecretName() pulumi.StringPtrOutput { - return o.ApplyT(func(v *VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateSds) *string { - if v == nil { - return nil - } - return &v.SecretName - }).(pulumi.StringPtrOutput) +func (o RouteSpecTcpRouteActionWeightedTargetArrayOutput) Index(i pulumi.IntInput) RouteSpecTcpRouteActionWeightedTargetOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) RouteSpecTcpRouteActionWeightedTarget { + return vs[0].([]RouteSpecTcpRouteActionWeightedTarget)[vs[1].(int)] + }).(RouteSpecTcpRouteActionWeightedTargetOutput) } -type VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidation struct { - // SANs for a virtual gateway's listener's Transport Layer Security (TLS) validation context. - SubjectAlternativeNames *VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNames `pulumi:"subjectAlternativeNames"` - // TLS validation context trust. - Trust VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrust `pulumi:"trust"` +type RouteSpecTcpRouteMatch struct { + // The port number to match from the request. + Port *int `pulumi:"port"` } -// VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationInput is an input type that accepts VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationArgs and VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationOutput values. -// You can construct a concrete instance of `VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationInput` via: +// RouteSpecTcpRouteMatchInput is an input type that accepts RouteSpecTcpRouteMatchArgs and RouteSpecTcpRouteMatchOutput values. +// You can construct a concrete instance of `RouteSpecTcpRouteMatchInput` via: // -// VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationArgs{...} -type VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationInput interface { +// RouteSpecTcpRouteMatchArgs{...} +type RouteSpecTcpRouteMatchInput interface { pulumi.Input - ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationOutput() VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationOutput - ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationOutputWithContext(context.Context) VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationOutput + ToRouteSpecTcpRouteMatchOutput() RouteSpecTcpRouteMatchOutput + ToRouteSpecTcpRouteMatchOutputWithContext(context.Context) RouteSpecTcpRouteMatchOutput } -type VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationArgs struct { - // SANs for a virtual gateway's listener's Transport Layer Security (TLS) validation context. - SubjectAlternativeNames VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesPtrInput `pulumi:"subjectAlternativeNames"` - // TLS validation context trust. - Trust VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustInput `pulumi:"trust"` +type RouteSpecTcpRouteMatchArgs struct { + // The port number to match from the request. + Port pulumi.IntPtrInput `pulumi:"port"` } -func (VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationArgs) ElementType() reflect.Type { - return reflect.TypeOf((*VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidation)(nil)).Elem() +func (RouteSpecTcpRouteMatchArgs) ElementType() reflect.Type { + return reflect.TypeOf((*RouteSpecTcpRouteMatch)(nil)).Elem() } -func (i VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationArgs) ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationOutput() VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationOutput { - return i.ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationOutputWithContext(context.Background()) +func (i RouteSpecTcpRouteMatchArgs) ToRouteSpecTcpRouteMatchOutput() RouteSpecTcpRouteMatchOutput { + return i.ToRouteSpecTcpRouteMatchOutputWithContext(context.Background()) } -func (i VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationArgs) ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationOutputWithContext(ctx context.Context) VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationOutput) +func (i RouteSpecTcpRouteMatchArgs) ToRouteSpecTcpRouteMatchOutputWithContext(ctx context.Context) RouteSpecTcpRouteMatchOutput { + return pulumi.ToOutputWithContext(ctx, i).(RouteSpecTcpRouteMatchOutput) } -func (i VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationArgs) ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationPtrOutput() VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationPtrOutput { - return i.ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationPtrOutputWithContext(context.Background()) +func (i RouteSpecTcpRouteMatchArgs) ToRouteSpecTcpRouteMatchPtrOutput() RouteSpecTcpRouteMatchPtrOutput { + return i.ToRouteSpecTcpRouteMatchPtrOutputWithContext(context.Background()) } -func (i VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationArgs) ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationPtrOutputWithContext(ctx context.Context) VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationOutput).ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationPtrOutputWithContext(ctx) +func (i RouteSpecTcpRouteMatchArgs) ToRouteSpecTcpRouteMatchPtrOutputWithContext(ctx context.Context) RouteSpecTcpRouteMatchPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(RouteSpecTcpRouteMatchOutput).ToRouteSpecTcpRouteMatchPtrOutputWithContext(ctx) } -// VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationPtrInput is an input type that accepts VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationArgs, VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationPtr and VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationPtrOutput values. -// You can construct a concrete instance of `VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationPtrInput` via: +// RouteSpecTcpRouteMatchPtrInput is an input type that accepts RouteSpecTcpRouteMatchArgs, RouteSpecTcpRouteMatchPtr and RouteSpecTcpRouteMatchPtrOutput values. +// You can construct a concrete instance of `RouteSpecTcpRouteMatchPtrInput` via: // -// VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationArgs{...} +// RouteSpecTcpRouteMatchArgs{...} // // or: // // nil -type VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationPtrInput interface { +type RouteSpecTcpRouteMatchPtrInput interface { pulumi.Input - ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationPtrOutput() VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationPtrOutput - ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationPtrOutputWithContext(context.Context) VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationPtrOutput + ToRouteSpecTcpRouteMatchPtrOutput() RouteSpecTcpRouteMatchPtrOutput + ToRouteSpecTcpRouteMatchPtrOutputWithContext(context.Context) RouteSpecTcpRouteMatchPtrOutput } -type virtualGatewaySpecBackendDefaultsClientPolicyTlsValidationPtrType VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationArgs +type routeSpecTcpRouteMatchPtrType RouteSpecTcpRouteMatchArgs -func VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationPtr(v *VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationArgs) VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationPtrInput { - return (*virtualGatewaySpecBackendDefaultsClientPolicyTlsValidationPtrType)(v) +func RouteSpecTcpRouteMatchPtr(v *RouteSpecTcpRouteMatchArgs) RouteSpecTcpRouteMatchPtrInput { + return (*routeSpecTcpRouteMatchPtrType)(v) } -func (*virtualGatewaySpecBackendDefaultsClientPolicyTlsValidationPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidation)(nil)).Elem() +func (*routeSpecTcpRouteMatchPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**RouteSpecTcpRouteMatch)(nil)).Elem() } -func (i *virtualGatewaySpecBackendDefaultsClientPolicyTlsValidationPtrType) ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationPtrOutput() VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationPtrOutput { - return i.ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationPtrOutputWithContext(context.Background()) +func (i *routeSpecTcpRouteMatchPtrType) ToRouteSpecTcpRouteMatchPtrOutput() RouteSpecTcpRouteMatchPtrOutput { + return i.ToRouteSpecTcpRouteMatchPtrOutputWithContext(context.Background()) } -func (i *virtualGatewaySpecBackendDefaultsClientPolicyTlsValidationPtrType) ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationPtrOutputWithContext(ctx context.Context) VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationPtrOutput) +func (i *routeSpecTcpRouteMatchPtrType) ToRouteSpecTcpRouteMatchPtrOutputWithContext(ctx context.Context) RouteSpecTcpRouteMatchPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(RouteSpecTcpRouteMatchPtrOutput) } -type VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationOutput struct{ *pulumi.OutputState } +type RouteSpecTcpRouteMatchOutput struct{ *pulumi.OutputState } -func (VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationOutput) ElementType() reflect.Type { - return reflect.TypeOf((*VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidation)(nil)).Elem() +func (RouteSpecTcpRouteMatchOutput) ElementType() reflect.Type { + return reflect.TypeOf((*RouteSpecTcpRouteMatch)(nil)).Elem() } -func (o VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationOutput) ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationOutput() VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationOutput { +func (o RouteSpecTcpRouteMatchOutput) ToRouteSpecTcpRouteMatchOutput() RouteSpecTcpRouteMatchOutput { return o } -func (o VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationOutput) ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationOutputWithContext(ctx context.Context) VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationOutput { +func (o RouteSpecTcpRouteMatchOutput) ToRouteSpecTcpRouteMatchOutputWithContext(ctx context.Context) RouteSpecTcpRouteMatchOutput { return o } -func (o VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationOutput) ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationPtrOutput() VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationPtrOutput { - return o.ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationPtrOutputWithContext(context.Background()) +func (o RouteSpecTcpRouteMatchOutput) ToRouteSpecTcpRouteMatchPtrOutput() RouteSpecTcpRouteMatchPtrOutput { + return o.ToRouteSpecTcpRouteMatchPtrOutputWithContext(context.Background()) } -func (o VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationOutput) ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationPtrOutputWithContext(ctx context.Context) VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidation) *VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidation { +func (o RouteSpecTcpRouteMatchOutput) ToRouteSpecTcpRouteMatchPtrOutputWithContext(ctx context.Context) RouteSpecTcpRouteMatchPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v RouteSpecTcpRouteMatch) *RouteSpecTcpRouteMatch { return &v - }).(VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationPtrOutput) -} - -// SANs for a virtual gateway's listener's Transport Layer Security (TLS) validation context. -func (o VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationOutput) SubjectAlternativeNames() VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesPtrOutput { - return o.ApplyT(func(v VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidation) *VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNames { - return v.SubjectAlternativeNames - }).(VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesPtrOutput) + }).(RouteSpecTcpRouteMatchPtrOutput) } -// TLS validation context trust. -func (o VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationOutput) Trust() VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustOutput { - return o.ApplyT(func(v VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidation) VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrust { - return v.Trust - }).(VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustOutput) +// The port number to match from the request. +func (o RouteSpecTcpRouteMatchOutput) Port() pulumi.IntPtrOutput { + return o.ApplyT(func(v RouteSpecTcpRouteMatch) *int { return v.Port }).(pulumi.IntPtrOutput) } -type VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationPtrOutput struct{ *pulumi.OutputState } +type RouteSpecTcpRouteMatchPtrOutput struct{ *pulumi.OutputState } -func (VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidation)(nil)).Elem() +func (RouteSpecTcpRouteMatchPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**RouteSpecTcpRouteMatch)(nil)).Elem() } -func (o VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationPtrOutput) ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationPtrOutput() VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationPtrOutput { +func (o RouteSpecTcpRouteMatchPtrOutput) ToRouteSpecTcpRouteMatchPtrOutput() RouteSpecTcpRouteMatchPtrOutput { return o } -func (o VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationPtrOutput) ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationPtrOutputWithContext(ctx context.Context) VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationPtrOutput { +func (o RouteSpecTcpRouteMatchPtrOutput) ToRouteSpecTcpRouteMatchPtrOutputWithContext(ctx context.Context) RouteSpecTcpRouteMatchPtrOutput { return o } -func (o VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationPtrOutput) Elem() VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationOutput { - return o.ApplyT(func(v *VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidation) VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidation { +func (o RouteSpecTcpRouteMatchPtrOutput) Elem() RouteSpecTcpRouteMatchOutput { + return o.ApplyT(func(v *RouteSpecTcpRouteMatch) RouteSpecTcpRouteMatch { if v != nil { return *v } - var ret VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidation + var ret RouteSpecTcpRouteMatch return ret - }).(VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationOutput) -} - -// SANs for a virtual gateway's listener's Transport Layer Security (TLS) validation context. -func (o VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationPtrOutput) SubjectAlternativeNames() VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesPtrOutput { - return o.ApplyT(func(v *VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidation) *VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNames { - if v == nil { - return nil - } - return v.SubjectAlternativeNames - }).(VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesPtrOutput) + }).(RouteSpecTcpRouteMatchOutput) } -// TLS validation context trust. -func (o VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationPtrOutput) Trust() VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustPtrOutput { - return o.ApplyT(func(v *VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidation) *VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrust { +// The port number to match from the request. +func (o RouteSpecTcpRouteMatchPtrOutput) Port() pulumi.IntPtrOutput { + return o.ApplyT(func(v *RouteSpecTcpRouteMatch) *int { if v == nil { return nil } - return &v.Trust - }).(VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustPtrOutput) + return v.Port + }).(pulumi.IntPtrOutput) } -type VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNames struct { - // Criteria for determining a SAN's match. - Match VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatch `pulumi:"match"` +type RouteSpecTcpRouteTimeout struct { + // Idle timeout. An idle timeout bounds the amount of time that a connection may be idle. + Idle *RouteSpecTcpRouteTimeoutIdle `pulumi:"idle"` } -// VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesInput is an input type that accepts VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesArgs and VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesOutput values. -// You can construct a concrete instance of `VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesInput` via: +// RouteSpecTcpRouteTimeoutInput is an input type that accepts RouteSpecTcpRouteTimeoutArgs and RouteSpecTcpRouteTimeoutOutput values. +// You can construct a concrete instance of `RouteSpecTcpRouteTimeoutInput` via: // -// VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesArgs{...} -type VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesInput interface { +// RouteSpecTcpRouteTimeoutArgs{...} +type RouteSpecTcpRouteTimeoutInput interface { pulumi.Input - ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesOutput() VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesOutput - ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesOutputWithContext(context.Context) VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesOutput + ToRouteSpecTcpRouteTimeoutOutput() RouteSpecTcpRouteTimeoutOutput + ToRouteSpecTcpRouteTimeoutOutputWithContext(context.Context) RouteSpecTcpRouteTimeoutOutput } -type VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesArgs struct { - // Criteria for determining a SAN's match. - Match VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatchInput `pulumi:"match"` +type RouteSpecTcpRouteTimeoutArgs struct { + // Idle timeout. An idle timeout bounds the amount of time that a connection may be idle. + Idle RouteSpecTcpRouteTimeoutIdlePtrInput `pulumi:"idle"` } -func (VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesArgs) ElementType() reflect.Type { - return reflect.TypeOf((*VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNames)(nil)).Elem() +func (RouteSpecTcpRouteTimeoutArgs) ElementType() reflect.Type { + return reflect.TypeOf((*RouteSpecTcpRouteTimeout)(nil)).Elem() } -func (i VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesArgs) ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesOutput() VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesOutput { - return i.ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesOutputWithContext(context.Background()) +func (i RouteSpecTcpRouteTimeoutArgs) ToRouteSpecTcpRouteTimeoutOutput() RouteSpecTcpRouteTimeoutOutput { + return i.ToRouteSpecTcpRouteTimeoutOutputWithContext(context.Background()) } -func (i VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesArgs) ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesOutputWithContext(ctx context.Context) VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesOutput) +func (i RouteSpecTcpRouteTimeoutArgs) ToRouteSpecTcpRouteTimeoutOutputWithContext(ctx context.Context) RouteSpecTcpRouteTimeoutOutput { + return pulumi.ToOutputWithContext(ctx, i).(RouteSpecTcpRouteTimeoutOutput) } -func (i VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesArgs) ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesPtrOutput() VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesPtrOutput { - return i.ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesPtrOutputWithContext(context.Background()) +func (i RouteSpecTcpRouteTimeoutArgs) ToRouteSpecTcpRouteTimeoutPtrOutput() RouteSpecTcpRouteTimeoutPtrOutput { + return i.ToRouteSpecTcpRouteTimeoutPtrOutputWithContext(context.Background()) } -func (i VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesArgs) ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesPtrOutputWithContext(ctx context.Context) VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesOutput).ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesPtrOutputWithContext(ctx) +func (i RouteSpecTcpRouteTimeoutArgs) ToRouteSpecTcpRouteTimeoutPtrOutputWithContext(ctx context.Context) RouteSpecTcpRouteTimeoutPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(RouteSpecTcpRouteTimeoutOutput).ToRouteSpecTcpRouteTimeoutPtrOutputWithContext(ctx) } -// VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesPtrInput is an input type that accepts VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesArgs, VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesPtr and VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesPtrOutput values. -// You can construct a concrete instance of `VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesPtrInput` via: +// RouteSpecTcpRouteTimeoutPtrInput is an input type that accepts RouteSpecTcpRouteTimeoutArgs, RouteSpecTcpRouteTimeoutPtr and RouteSpecTcpRouteTimeoutPtrOutput values. +// You can construct a concrete instance of `RouteSpecTcpRouteTimeoutPtrInput` via: // -// VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesArgs{...} +// RouteSpecTcpRouteTimeoutArgs{...} // // or: // // nil -type VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesPtrInput interface { +type RouteSpecTcpRouteTimeoutPtrInput interface { pulumi.Input - ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesPtrOutput() VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesPtrOutput - ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesPtrOutputWithContext(context.Context) VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesPtrOutput + ToRouteSpecTcpRouteTimeoutPtrOutput() RouteSpecTcpRouteTimeoutPtrOutput + ToRouteSpecTcpRouteTimeoutPtrOutputWithContext(context.Context) RouteSpecTcpRouteTimeoutPtrOutput } -type virtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesPtrType VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesArgs +type routeSpecTcpRouteTimeoutPtrType RouteSpecTcpRouteTimeoutArgs -func VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesPtr(v *VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesArgs) VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesPtrInput { - return (*virtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesPtrType)(v) +func RouteSpecTcpRouteTimeoutPtr(v *RouteSpecTcpRouteTimeoutArgs) RouteSpecTcpRouteTimeoutPtrInput { + return (*routeSpecTcpRouteTimeoutPtrType)(v) } -func (*virtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNames)(nil)).Elem() +func (*routeSpecTcpRouteTimeoutPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**RouteSpecTcpRouteTimeout)(nil)).Elem() } -func (i *virtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesPtrType) ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesPtrOutput() VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesPtrOutput { - return i.ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesPtrOutputWithContext(context.Background()) +func (i *routeSpecTcpRouteTimeoutPtrType) ToRouteSpecTcpRouteTimeoutPtrOutput() RouteSpecTcpRouteTimeoutPtrOutput { + return i.ToRouteSpecTcpRouteTimeoutPtrOutputWithContext(context.Background()) } -func (i *virtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesPtrType) ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesPtrOutputWithContext(ctx context.Context) VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesPtrOutput) +func (i *routeSpecTcpRouteTimeoutPtrType) ToRouteSpecTcpRouteTimeoutPtrOutputWithContext(ctx context.Context) RouteSpecTcpRouteTimeoutPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(RouteSpecTcpRouteTimeoutPtrOutput) } -type VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesOutput struct{ *pulumi.OutputState } +type RouteSpecTcpRouteTimeoutOutput struct{ *pulumi.OutputState } -func (VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesOutput) ElementType() reflect.Type { - return reflect.TypeOf((*VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNames)(nil)).Elem() +func (RouteSpecTcpRouteTimeoutOutput) ElementType() reflect.Type { + return reflect.TypeOf((*RouteSpecTcpRouteTimeout)(nil)).Elem() } -func (o VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesOutput) ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesOutput() VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesOutput { +func (o RouteSpecTcpRouteTimeoutOutput) ToRouteSpecTcpRouteTimeoutOutput() RouteSpecTcpRouteTimeoutOutput { return o } -func (o VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesOutput) ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesOutputWithContext(ctx context.Context) VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesOutput { +func (o RouteSpecTcpRouteTimeoutOutput) ToRouteSpecTcpRouteTimeoutOutputWithContext(ctx context.Context) RouteSpecTcpRouteTimeoutOutput { return o } -func (o VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesOutput) ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesPtrOutput() VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesPtrOutput { - return o.ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesPtrOutputWithContext(context.Background()) +func (o RouteSpecTcpRouteTimeoutOutput) ToRouteSpecTcpRouteTimeoutPtrOutput() RouteSpecTcpRouteTimeoutPtrOutput { + return o.ToRouteSpecTcpRouteTimeoutPtrOutputWithContext(context.Background()) } -func (o VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesOutput) ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesPtrOutputWithContext(ctx context.Context) VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNames) *VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNames { +func (o RouteSpecTcpRouteTimeoutOutput) ToRouteSpecTcpRouteTimeoutPtrOutputWithContext(ctx context.Context) RouteSpecTcpRouteTimeoutPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v RouteSpecTcpRouteTimeout) *RouteSpecTcpRouteTimeout { return &v - }).(VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesPtrOutput) + }).(RouteSpecTcpRouteTimeoutPtrOutput) } -// Criteria for determining a SAN's match. -func (o VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesOutput) Match() VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatchOutput { - return o.ApplyT(func(v VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNames) VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatch { - return v.Match - }).(VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatchOutput) +// Idle timeout. An idle timeout bounds the amount of time that a connection may be idle. +func (o RouteSpecTcpRouteTimeoutOutput) Idle() RouteSpecTcpRouteTimeoutIdlePtrOutput { + return o.ApplyT(func(v RouteSpecTcpRouteTimeout) *RouteSpecTcpRouteTimeoutIdle { return v.Idle }).(RouteSpecTcpRouteTimeoutIdlePtrOutput) } -type VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesPtrOutput struct{ *pulumi.OutputState } +type RouteSpecTcpRouteTimeoutPtrOutput struct{ *pulumi.OutputState } -func (VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNames)(nil)).Elem() +func (RouteSpecTcpRouteTimeoutPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**RouteSpecTcpRouteTimeout)(nil)).Elem() } -func (o VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesPtrOutput) ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesPtrOutput() VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesPtrOutput { +func (o RouteSpecTcpRouteTimeoutPtrOutput) ToRouteSpecTcpRouteTimeoutPtrOutput() RouteSpecTcpRouteTimeoutPtrOutput { return o } -func (o VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesPtrOutput) ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesPtrOutputWithContext(ctx context.Context) VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesPtrOutput { +func (o RouteSpecTcpRouteTimeoutPtrOutput) ToRouteSpecTcpRouteTimeoutPtrOutputWithContext(ctx context.Context) RouteSpecTcpRouteTimeoutPtrOutput { return o } -func (o VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesPtrOutput) Elem() VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesOutput { - return o.ApplyT(func(v *VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNames) VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNames { +func (o RouteSpecTcpRouteTimeoutPtrOutput) Elem() RouteSpecTcpRouteTimeoutOutput { + return o.ApplyT(func(v *RouteSpecTcpRouteTimeout) RouteSpecTcpRouteTimeout { if v != nil { return *v } - var ret VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNames + var ret RouteSpecTcpRouteTimeout return ret - }).(VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesOutput) + }).(RouteSpecTcpRouteTimeoutOutput) } -// Criteria for determining a SAN's match. -func (o VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesPtrOutput) Match() VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatchPtrOutput { - return o.ApplyT(func(v *VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNames) *VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatch { +// Idle timeout. An idle timeout bounds the amount of time that a connection may be idle. +func (o RouteSpecTcpRouteTimeoutPtrOutput) Idle() RouteSpecTcpRouteTimeoutIdlePtrOutput { + return o.ApplyT(func(v *RouteSpecTcpRouteTimeout) *RouteSpecTcpRouteTimeoutIdle { if v == nil { return nil } - return &v.Match - }).(VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatchPtrOutput) + return v.Idle + }).(RouteSpecTcpRouteTimeoutIdlePtrOutput) } -type VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatch struct { - // Values sent must match the specified values exactly. - Exacts []string `pulumi:"exacts"` +type RouteSpecTcpRouteTimeoutIdle struct { + // Unit of time. Valid values: `ms`, `s`. + Unit string `pulumi:"unit"` + // Number of time units. Minimum value of `0`. + Value int `pulumi:"value"` } -// VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatchInput is an input type that accepts VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatchArgs and VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatchOutput values. -// You can construct a concrete instance of `VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatchInput` via: +// RouteSpecTcpRouteTimeoutIdleInput is an input type that accepts RouteSpecTcpRouteTimeoutIdleArgs and RouteSpecTcpRouteTimeoutIdleOutput values. +// You can construct a concrete instance of `RouteSpecTcpRouteTimeoutIdleInput` via: // -// VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatchArgs{...} -type VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatchInput interface { +// RouteSpecTcpRouteTimeoutIdleArgs{...} +type RouteSpecTcpRouteTimeoutIdleInput interface { pulumi.Input - ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatchOutput() VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatchOutput - ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatchOutputWithContext(context.Context) VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatchOutput + ToRouteSpecTcpRouteTimeoutIdleOutput() RouteSpecTcpRouteTimeoutIdleOutput + ToRouteSpecTcpRouteTimeoutIdleOutputWithContext(context.Context) RouteSpecTcpRouteTimeoutIdleOutput } -type VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatchArgs struct { - // Values sent must match the specified values exactly. - Exacts pulumi.StringArrayInput `pulumi:"exacts"` +type RouteSpecTcpRouteTimeoutIdleArgs struct { + // Unit of time. Valid values: `ms`, `s`. + Unit pulumi.StringInput `pulumi:"unit"` + // Number of time units. Minimum value of `0`. + Value pulumi.IntInput `pulumi:"value"` } -func (VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatchArgs) ElementType() reflect.Type { - return reflect.TypeOf((*VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatch)(nil)).Elem() +func (RouteSpecTcpRouteTimeoutIdleArgs) ElementType() reflect.Type { + return reflect.TypeOf((*RouteSpecTcpRouteTimeoutIdle)(nil)).Elem() } -func (i VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatchArgs) ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatchOutput() VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatchOutput { - return i.ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatchOutputWithContext(context.Background()) +func (i RouteSpecTcpRouteTimeoutIdleArgs) ToRouteSpecTcpRouteTimeoutIdleOutput() RouteSpecTcpRouteTimeoutIdleOutput { + return i.ToRouteSpecTcpRouteTimeoutIdleOutputWithContext(context.Background()) } -func (i VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatchArgs) ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatchOutputWithContext(ctx context.Context) VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatchOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatchOutput) +func (i RouteSpecTcpRouteTimeoutIdleArgs) ToRouteSpecTcpRouteTimeoutIdleOutputWithContext(ctx context.Context) RouteSpecTcpRouteTimeoutIdleOutput { + return pulumi.ToOutputWithContext(ctx, i).(RouteSpecTcpRouteTimeoutIdleOutput) } -func (i VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatchArgs) ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatchPtrOutput() VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatchPtrOutput { - return i.ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatchPtrOutputWithContext(context.Background()) +func (i RouteSpecTcpRouteTimeoutIdleArgs) ToRouteSpecTcpRouteTimeoutIdlePtrOutput() RouteSpecTcpRouteTimeoutIdlePtrOutput { + return i.ToRouteSpecTcpRouteTimeoutIdlePtrOutputWithContext(context.Background()) } -func (i VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatchArgs) ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatchPtrOutputWithContext(ctx context.Context) VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatchPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatchOutput).ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatchPtrOutputWithContext(ctx) +func (i RouteSpecTcpRouteTimeoutIdleArgs) ToRouteSpecTcpRouteTimeoutIdlePtrOutputWithContext(ctx context.Context) RouteSpecTcpRouteTimeoutIdlePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(RouteSpecTcpRouteTimeoutIdleOutput).ToRouteSpecTcpRouteTimeoutIdlePtrOutputWithContext(ctx) } -// VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatchPtrInput is an input type that accepts VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatchArgs, VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatchPtr and VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatchPtrOutput values. -// You can construct a concrete instance of `VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatchPtrInput` via: +// RouteSpecTcpRouteTimeoutIdlePtrInput is an input type that accepts RouteSpecTcpRouteTimeoutIdleArgs, RouteSpecTcpRouteTimeoutIdlePtr and RouteSpecTcpRouteTimeoutIdlePtrOutput values. +// You can construct a concrete instance of `RouteSpecTcpRouteTimeoutIdlePtrInput` via: // -// VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatchArgs{...} +// RouteSpecTcpRouteTimeoutIdleArgs{...} // // or: // // nil -type VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatchPtrInput interface { +type RouteSpecTcpRouteTimeoutIdlePtrInput interface { pulumi.Input - ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatchPtrOutput() VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatchPtrOutput - ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatchPtrOutputWithContext(context.Context) VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatchPtrOutput + ToRouteSpecTcpRouteTimeoutIdlePtrOutput() RouteSpecTcpRouteTimeoutIdlePtrOutput + ToRouteSpecTcpRouteTimeoutIdlePtrOutputWithContext(context.Context) RouteSpecTcpRouteTimeoutIdlePtrOutput } -type virtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatchPtrType VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatchArgs +type routeSpecTcpRouteTimeoutIdlePtrType RouteSpecTcpRouteTimeoutIdleArgs -func VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatchPtr(v *VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatchArgs) VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatchPtrInput { - return (*virtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatchPtrType)(v) +func RouteSpecTcpRouteTimeoutIdlePtr(v *RouteSpecTcpRouteTimeoutIdleArgs) RouteSpecTcpRouteTimeoutIdlePtrInput { + return (*routeSpecTcpRouteTimeoutIdlePtrType)(v) } -func (*virtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatchPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatch)(nil)).Elem() +func (*routeSpecTcpRouteTimeoutIdlePtrType) ElementType() reflect.Type { + return reflect.TypeOf((**RouteSpecTcpRouteTimeoutIdle)(nil)).Elem() } -func (i *virtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatchPtrType) ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatchPtrOutput() VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatchPtrOutput { - return i.ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatchPtrOutputWithContext(context.Background()) +func (i *routeSpecTcpRouteTimeoutIdlePtrType) ToRouteSpecTcpRouteTimeoutIdlePtrOutput() RouteSpecTcpRouteTimeoutIdlePtrOutput { + return i.ToRouteSpecTcpRouteTimeoutIdlePtrOutputWithContext(context.Background()) } -func (i *virtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatchPtrType) ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatchPtrOutputWithContext(ctx context.Context) VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatchPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatchPtrOutput) +func (i *routeSpecTcpRouteTimeoutIdlePtrType) ToRouteSpecTcpRouteTimeoutIdlePtrOutputWithContext(ctx context.Context) RouteSpecTcpRouteTimeoutIdlePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(RouteSpecTcpRouteTimeoutIdlePtrOutput) } -type VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatchOutput struct{ *pulumi.OutputState } +type RouteSpecTcpRouteTimeoutIdleOutput struct{ *pulumi.OutputState } -func (VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatchOutput) ElementType() reflect.Type { - return reflect.TypeOf((*VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatch)(nil)).Elem() +func (RouteSpecTcpRouteTimeoutIdleOutput) ElementType() reflect.Type { + return reflect.TypeOf((*RouteSpecTcpRouteTimeoutIdle)(nil)).Elem() } -func (o VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatchOutput) ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatchOutput() VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatchOutput { +func (o RouteSpecTcpRouteTimeoutIdleOutput) ToRouteSpecTcpRouteTimeoutIdleOutput() RouteSpecTcpRouteTimeoutIdleOutput { return o } -func (o VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatchOutput) ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatchOutputWithContext(ctx context.Context) VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatchOutput { +func (o RouteSpecTcpRouteTimeoutIdleOutput) ToRouteSpecTcpRouteTimeoutIdleOutputWithContext(ctx context.Context) RouteSpecTcpRouteTimeoutIdleOutput { return o } -func (o VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatchOutput) ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatchPtrOutput() VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatchPtrOutput { - return o.ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatchPtrOutputWithContext(context.Background()) +func (o RouteSpecTcpRouteTimeoutIdleOutput) ToRouteSpecTcpRouteTimeoutIdlePtrOutput() RouteSpecTcpRouteTimeoutIdlePtrOutput { + return o.ToRouteSpecTcpRouteTimeoutIdlePtrOutputWithContext(context.Background()) } -func (o VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatchOutput) ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatchPtrOutputWithContext(ctx context.Context) VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatchPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatch) *VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatch { +func (o RouteSpecTcpRouteTimeoutIdleOutput) ToRouteSpecTcpRouteTimeoutIdlePtrOutputWithContext(ctx context.Context) RouteSpecTcpRouteTimeoutIdlePtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v RouteSpecTcpRouteTimeoutIdle) *RouteSpecTcpRouteTimeoutIdle { return &v - }).(VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatchPtrOutput) + }).(RouteSpecTcpRouteTimeoutIdlePtrOutput) } -// Values sent must match the specified values exactly. -func (o VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatchOutput) Exacts() pulumi.StringArrayOutput { - return o.ApplyT(func(v VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatch) []string { - return v.Exacts - }).(pulumi.StringArrayOutput) +// Unit of time. Valid values: `ms`, `s`. +func (o RouteSpecTcpRouteTimeoutIdleOutput) Unit() pulumi.StringOutput { + return o.ApplyT(func(v RouteSpecTcpRouteTimeoutIdle) string { return v.Unit }).(pulumi.StringOutput) } -type VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatchPtrOutput struct{ *pulumi.OutputState } +// Number of time units. Minimum value of `0`. +func (o RouteSpecTcpRouteTimeoutIdleOutput) Value() pulumi.IntOutput { + return o.ApplyT(func(v RouteSpecTcpRouteTimeoutIdle) int { return v.Value }).(pulumi.IntOutput) +} -func (VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatchPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatch)(nil)).Elem() +type RouteSpecTcpRouteTimeoutIdlePtrOutput struct{ *pulumi.OutputState } + +func (RouteSpecTcpRouteTimeoutIdlePtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**RouteSpecTcpRouteTimeoutIdle)(nil)).Elem() } -func (o VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatchPtrOutput) ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatchPtrOutput() VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatchPtrOutput { +func (o RouteSpecTcpRouteTimeoutIdlePtrOutput) ToRouteSpecTcpRouteTimeoutIdlePtrOutput() RouteSpecTcpRouteTimeoutIdlePtrOutput { return o } -func (o VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatchPtrOutput) ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatchPtrOutputWithContext(ctx context.Context) VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatchPtrOutput { +func (o RouteSpecTcpRouteTimeoutIdlePtrOutput) ToRouteSpecTcpRouteTimeoutIdlePtrOutputWithContext(ctx context.Context) RouteSpecTcpRouteTimeoutIdlePtrOutput { return o } -func (o VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatchPtrOutput) Elem() VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatchOutput { - return o.ApplyT(func(v *VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatch) VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatch { +func (o RouteSpecTcpRouteTimeoutIdlePtrOutput) Elem() RouteSpecTcpRouteTimeoutIdleOutput { + return o.ApplyT(func(v *RouteSpecTcpRouteTimeoutIdle) RouteSpecTcpRouteTimeoutIdle { if v != nil { return *v } - var ret VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatch + var ret RouteSpecTcpRouteTimeoutIdle return ret - }).(VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatchOutput) + }).(RouteSpecTcpRouteTimeoutIdleOutput) } -// Values sent must match the specified values exactly. -func (o VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatchPtrOutput) Exacts() pulumi.StringArrayOutput { - return o.ApplyT(func(v *VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatch) []string { +// Unit of time. Valid values: `ms`, `s`. +func (o RouteSpecTcpRouteTimeoutIdlePtrOutput) Unit() pulumi.StringPtrOutput { + return o.ApplyT(func(v *RouteSpecTcpRouteTimeoutIdle) *string { if v == nil { return nil } - return v.Exacts - }).(pulumi.StringArrayOutput) + return &v.Unit + }).(pulumi.StringPtrOutput) } -type VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrust struct { - // TLS validation context trust for an AWS Certificate Manager (ACM) certificate. - Acm *VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustAcm `pulumi:"acm"` - // TLS validation context trust for a local file certificate. - File *VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustFile `pulumi:"file"` - // TLS validation context trust for a [Secret Discovery Service](https://www.envoyproxy.io/docs/envoy/latest/configuration/security/secret#secret-discovery-service-sds) certificate. - Sds *VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustSds `pulumi:"sds"` +// Number of time units. Minimum value of `0`. +func (o RouteSpecTcpRouteTimeoutIdlePtrOutput) Value() pulumi.IntPtrOutput { + return o.ApplyT(func(v *RouteSpecTcpRouteTimeoutIdle) *int { + if v == nil { + return nil + } + return &v.Value + }).(pulumi.IntPtrOutput) } -// VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustInput is an input type that accepts VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustArgs and VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustOutput values. -// You can construct a concrete instance of `VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustInput` via: -// -// VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustArgs{...} -type VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustInput interface { +type VirtualGatewaySpec struct { + // Defaults for backends. + BackendDefaults *VirtualGatewaySpecBackendDefaults `pulumi:"backendDefaults"` + // Listeners that the mesh endpoint is expected to receive inbound traffic from. You can specify one listener. + Listener VirtualGatewaySpecListener `pulumi:"listener"` + // Inbound and outbound access logging information for the virtual gateway. + Logging *VirtualGatewaySpecLogging `pulumi:"logging"` +} + +// VirtualGatewaySpecInput is an input type that accepts VirtualGatewaySpecArgs and VirtualGatewaySpecOutput values. +// You can construct a concrete instance of `VirtualGatewaySpecInput` via: +// +// VirtualGatewaySpecArgs{...} +type VirtualGatewaySpecInput interface { pulumi.Input - ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustOutput() VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustOutput - ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustOutputWithContext(context.Context) VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustOutput + ToVirtualGatewaySpecOutput() VirtualGatewaySpecOutput + ToVirtualGatewaySpecOutputWithContext(context.Context) VirtualGatewaySpecOutput } -type VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustArgs struct { - // TLS validation context trust for an AWS Certificate Manager (ACM) certificate. - Acm VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustAcmPtrInput `pulumi:"acm"` - // TLS validation context trust for a local file certificate. - File VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustFilePtrInput `pulumi:"file"` - // TLS validation context trust for a [Secret Discovery Service](https://www.envoyproxy.io/docs/envoy/latest/configuration/security/secret#secret-discovery-service-sds) certificate. - Sds VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustSdsPtrInput `pulumi:"sds"` +type VirtualGatewaySpecArgs struct { + // Defaults for backends. + BackendDefaults VirtualGatewaySpecBackendDefaultsPtrInput `pulumi:"backendDefaults"` + // Listeners that the mesh endpoint is expected to receive inbound traffic from. You can specify one listener. + Listener VirtualGatewaySpecListenerInput `pulumi:"listener"` + // Inbound and outbound access logging information for the virtual gateway. + Logging VirtualGatewaySpecLoggingPtrInput `pulumi:"logging"` } -func (VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustArgs) ElementType() reflect.Type { - return reflect.TypeOf((*VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrust)(nil)).Elem() +func (VirtualGatewaySpecArgs) ElementType() reflect.Type { + return reflect.TypeOf((*VirtualGatewaySpec)(nil)).Elem() } -func (i VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustArgs) ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustOutput() VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustOutput { - return i.ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustOutputWithContext(context.Background()) +func (i VirtualGatewaySpecArgs) ToVirtualGatewaySpecOutput() VirtualGatewaySpecOutput { + return i.ToVirtualGatewaySpecOutputWithContext(context.Background()) } -func (i VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustArgs) ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustOutputWithContext(ctx context.Context) VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustOutput) +func (i VirtualGatewaySpecArgs) ToVirtualGatewaySpecOutputWithContext(ctx context.Context) VirtualGatewaySpecOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualGatewaySpecOutput) } -func (i VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustArgs) ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustPtrOutput() VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustPtrOutput { - return i.ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustPtrOutputWithContext(context.Background()) +func (i VirtualGatewaySpecArgs) ToVirtualGatewaySpecPtrOutput() VirtualGatewaySpecPtrOutput { + return i.ToVirtualGatewaySpecPtrOutputWithContext(context.Background()) } -func (i VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustArgs) ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustPtrOutputWithContext(ctx context.Context) VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustOutput).ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustPtrOutputWithContext(ctx) +func (i VirtualGatewaySpecArgs) ToVirtualGatewaySpecPtrOutputWithContext(ctx context.Context) VirtualGatewaySpecPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualGatewaySpecOutput).ToVirtualGatewaySpecPtrOutputWithContext(ctx) } -// VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustPtrInput is an input type that accepts VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustArgs, VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustPtr and VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustPtrOutput values. -// You can construct a concrete instance of `VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustPtrInput` via: +// VirtualGatewaySpecPtrInput is an input type that accepts VirtualGatewaySpecArgs, VirtualGatewaySpecPtr and VirtualGatewaySpecPtrOutput values. +// You can construct a concrete instance of `VirtualGatewaySpecPtrInput` via: // -// VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustArgs{...} +// VirtualGatewaySpecArgs{...} // // or: // // nil -type VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustPtrInput interface { +type VirtualGatewaySpecPtrInput interface { pulumi.Input - ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustPtrOutput() VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustPtrOutput - ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustPtrOutputWithContext(context.Context) VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustPtrOutput + ToVirtualGatewaySpecPtrOutput() VirtualGatewaySpecPtrOutput + ToVirtualGatewaySpecPtrOutputWithContext(context.Context) VirtualGatewaySpecPtrOutput } -type virtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustPtrType VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustArgs +type virtualGatewaySpecPtrType VirtualGatewaySpecArgs -func VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustPtr(v *VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustArgs) VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustPtrInput { - return (*virtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustPtrType)(v) +func VirtualGatewaySpecPtr(v *VirtualGatewaySpecArgs) VirtualGatewaySpecPtrInput { + return (*virtualGatewaySpecPtrType)(v) } -func (*virtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrust)(nil)).Elem() +func (*virtualGatewaySpecPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**VirtualGatewaySpec)(nil)).Elem() } -func (i *virtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustPtrType) ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustPtrOutput() VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustPtrOutput { - return i.ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustPtrOutputWithContext(context.Background()) +func (i *virtualGatewaySpecPtrType) ToVirtualGatewaySpecPtrOutput() VirtualGatewaySpecPtrOutput { + return i.ToVirtualGatewaySpecPtrOutputWithContext(context.Background()) } -func (i *virtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustPtrType) ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustPtrOutputWithContext(ctx context.Context) VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustPtrOutput) +func (i *virtualGatewaySpecPtrType) ToVirtualGatewaySpecPtrOutputWithContext(ctx context.Context) VirtualGatewaySpecPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualGatewaySpecPtrOutput) } -type VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustOutput struct{ *pulumi.OutputState } +type VirtualGatewaySpecOutput struct{ *pulumi.OutputState } -func (VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustOutput) ElementType() reflect.Type { - return reflect.TypeOf((*VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrust)(nil)).Elem() +func (VirtualGatewaySpecOutput) ElementType() reflect.Type { + return reflect.TypeOf((*VirtualGatewaySpec)(nil)).Elem() } -func (o VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustOutput) ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustOutput() VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustOutput { +func (o VirtualGatewaySpecOutput) ToVirtualGatewaySpecOutput() VirtualGatewaySpecOutput { return o } -func (o VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustOutput) ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustOutputWithContext(ctx context.Context) VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustOutput { +func (o VirtualGatewaySpecOutput) ToVirtualGatewaySpecOutputWithContext(ctx context.Context) VirtualGatewaySpecOutput { return o } -func (o VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustOutput) ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustPtrOutput() VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustPtrOutput { - return o.ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustPtrOutputWithContext(context.Background()) +func (o VirtualGatewaySpecOutput) ToVirtualGatewaySpecPtrOutput() VirtualGatewaySpecPtrOutput { + return o.ToVirtualGatewaySpecPtrOutputWithContext(context.Background()) } -func (o VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustOutput) ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustPtrOutputWithContext(ctx context.Context) VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrust) *VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrust { +func (o VirtualGatewaySpecOutput) ToVirtualGatewaySpecPtrOutputWithContext(ctx context.Context) VirtualGatewaySpecPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v VirtualGatewaySpec) *VirtualGatewaySpec { return &v - }).(VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustPtrOutput) + }).(VirtualGatewaySpecPtrOutput) } -// TLS validation context trust for an AWS Certificate Manager (ACM) certificate. -func (o VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustOutput) Acm() VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustAcmPtrOutput { - return o.ApplyT(func(v VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrust) *VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustAcm { - return v.Acm - }).(VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustAcmPtrOutput) +// Defaults for backends. +func (o VirtualGatewaySpecOutput) BackendDefaults() VirtualGatewaySpecBackendDefaultsPtrOutput { + return o.ApplyT(func(v VirtualGatewaySpec) *VirtualGatewaySpecBackendDefaults { return v.BackendDefaults }).(VirtualGatewaySpecBackendDefaultsPtrOutput) } -// TLS validation context trust for a local file certificate. -func (o VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustOutput) File() VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustFilePtrOutput { - return o.ApplyT(func(v VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrust) *VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustFile { - return v.File - }).(VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustFilePtrOutput) +// Listeners that the mesh endpoint is expected to receive inbound traffic from. You can specify one listener. +func (o VirtualGatewaySpecOutput) Listener() VirtualGatewaySpecListenerOutput { + return o.ApplyT(func(v VirtualGatewaySpec) VirtualGatewaySpecListener { return v.Listener }).(VirtualGatewaySpecListenerOutput) } -// TLS validation context trust for a [Secret Discovery Service](https://www.envoyproxy.io/docs/envoy/latest/configuration/security/secret#secret-discovery-service-sds) certificate. -func (o VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustOutput) Sds() VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustSdsPtrOutput { - return o.ApplyT(func(v VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrust) *VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustSds { - return v.Sds - }).(VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustSdsPtrOutput) +// Inbound and outbound access logging information for the virtual gateway. +func (o VirtualGatewaySpecOutput) Logging() VirtualGatewaySpecLoggingPtrOutput { + return o.ApplyT(func(v VirtualGatewaySpec) *VirtualGatewaySpecLogging { return v.Logging }).(VirtualGatewaySpecLoggingPtrOutput) } -type VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustPtrOutput struct{ *pulumi.OutputState } +type VirtualGatewaySpecPtrOutput struct{ *pulumi.OutputState } -func (VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrust)(nil)).Elem() +func (VirtualGatewaySpecPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**VirtualGatewaySpec)(nil)).Elem() } -func (o VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustPtrOutput) ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustPtrOutput() VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustPtrOutput { +func (o VirtualGatewaySpecPtrOutput) ToVirtualGatewaySpecPtrOutput() VirtualGatewaySpecPtrOutput { return o } -func (o VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustPtrOutput) ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustPtrOutputWithContext(ctx context.Context) VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustPtrOutput { +func (o VirtualGatewaySpecPtrOutput) ToVirtualGatewaySpecPtrOutputWithContext(ctx context.Context) VirtualGatewaySpecPtrOutput { return o } -func (o VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustPtrOutput) Elem() VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustOutput { - return o.ApplyT(func(v *VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrust) VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrust { +func (o VirtualGatewaySpecPtrOutput) Elem() VirtualGatewaySpecOutput { + return o.ApplyT(func(v *VirtualGatewaySpec) VirtualGatewaySpec { if v != nil { return *v } - var ret VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrust + var ret VirtualGatewaySpec return ret - }).(VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustOutput) + }).(VirtualGatewaySpecOutput) } -// TLS validation context trust for an AWS Certificate Manager (ACM) certificate. -func (o VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustPtrOutput) Acm() VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustAcmPtrOutput { - return o.ApplyT(func(v *VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrust) *VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustAcm { +// Defaults for backends. +func (o VirtualGatewaySpecPtrOutput) BackendDefaults() VirtualGatewaySpecBackendDefaultsPtrOutput { + return o.ApplyT(func(v *VirtualGatewaySpec) *VirtualGatewaySpecBackendDefaults { if v == nil { return nil } - return v.Acm - }).(VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustAcmPtrOutput) + return v.BackendDefaults + }).(VirtualGatewaySpecBackendDefaultsPtrOutput) } -// TLS validation context trust for a local file certificate. -func (o VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustPtrOutput) File() VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustFilePtrOutput { - return o.ApplyT(func(v *VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrust) *VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustFile { +// Listeners that the mesh endpoint is expected to receive inbound traffic from. You can specify one listener. +func (o VirtualGatewaySpecPtrOutput) Listener() VirtualGatewaySpecListenerPtrOutput { + return o.ApplyT(func(v *VirtualGatewaySpec) *VirtualGatewaySpecListener { if v == nil { return nil } - return v.File - }).(VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustFilePtrOutput) + return &v.Listener + }).(VirtualGatewaySpecListenerPtrOutput) } -// TLS validation context trust for a [Secret Discovery Service](https://www.envoyproxy.io/docs/envoy/latest/configuration/security/secret#secret-discovery-service-sds) certificate. -func (o VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustPtrOutput) Sds() VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustSdsPtrOutput { - return o.ApplyT(func(v *VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrust) *VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustSds { +// Inbound and outbound access logging information for the virtual gateway. +func (o VirtualGatewaySpecPtrOutput) Logging() VirtualGatewaySpecLoggingPtrOutput { + return o.ApplyT(func(v *VirtualGatewaySpec) *VirtualGatewaySpecLogging { if v == nil { return nil } - return v.Sds - }).(VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustSdsPtrOutput) + return v.Logging + }).(VirtualGatewaySpecLoggingPtrOutput) } -type VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustAcm struct { - // One or more ACM ARNs. - CertificateAuthorityArns []string `pulumi:"certificateAuthorityArns"` +type VirtualGatewaySpecBackendDefaults struct { + // Default client policy for virtual gateway backends. + ClientPolicy *VirtualGatewaySpecBackendDefaultsClientPolicy `pulumi:"clientPolicy"` } -// VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustAcmInput is an input type that accepts VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustAcmArgs and VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustAcmOutput values. -// You can construct a concrete instance of `VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustAcmInput` via: +// VirtualGatewaySpecBackendDefaultsInput is an input type that accepts VirtualGatewaySpecBackendDefaultsArgs and VirtualGatewaySpecBackendDefaultsOutput values. +// You can construct a concrete instance of `VirtualGatewaySpecBackendDefaultsInput` via: // -// VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustAcmArgs{...} -type VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustAcmInput interface { +// VirtualGatewaySpecBackendDefaultsArgs{...} +type VirtualGatewaySpecBackendDefaultsInput interface { pulumi.Input - ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustAcmOutput() VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustAcmOutput - ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustAcmOutputWithContext(context.Context) VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustAcmOutput + ToVirtualGatewaySpecBackendDefaultsOutput() VirtualGatewaySpecBackendDefaultsOutput + ToVirtualGatewaySpecBackendDefaultsOutputWithContext(context.Context) VirtualGatewaySpecBackendDefaultsOutput } -type VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustAcmArgs struct { - // One or more ACM ARNs. - CertificateAuthorityArns pulumi.StringArrayInput `pulumi:"certificateAuthorityArns"` +type VirtualGatewaySpecBackendDefaultsArgs struct { + // Default client policy for virtual gateway backends. + ClientPolicy VirtualGatewaySpecBackendDefaultsClientPolicyPtrInput `pulumi:"clientPolicy"` } -func (VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustAcmArgs) ElementType() reflect.Type { - return reflect.TypeOf((*VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustAcm)(nil)).Elem() +func (VirtualGatewaySpecBackendDefaultsArgs) ElementType() reflect.Type { + return reflect.TypeOf((*VirtualGatewaySpecBackendDefaults)(nil)).Elem() } -func (i VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustAcmArgs) ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustAcmOutput() VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustAcmOutput { - return i.ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustAcmOutputWithContext(context.Background()) +func (i VirtualGatewaySpecBackendDefaultsArgs) ToVirtualGatewaySpecBackendDefaultsOutput() VirtualGatewaySpecBackendDefaultsOutput { + return i.ToVirtualGatewaySpecBackendDefaultsOutputWithContext(context.Background()) } -func (i VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustAcmArgs) ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustAcmOutputWithContext(ctx context.Context) VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustAcmOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustAcmOutput) +func (i VirtualGatewaySpecBackendDefaultsArgs) ToVirtualGatewaySpecBackendDefaultsOutputWithContext(ctx context.Context) VirtualGatewaySpecBackendDefaultsOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualGatewaySpecBackendDefaultsOutput) } -func (i VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustAcmArgs) ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustAcmPtrOutput() VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustAcmPtrOutput { - return i.ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustAcmPtrOutputWithContext(context.Background()) +func (i VirtualGatewaySpecBackendDefaultsArgs) ToVirtualGatewaySpecBackendDefaultsPtrOutput() VirtualGatewaySpecBackendDefaultsPtrOutput { + return i.ToVirtualGatewaySpecBackendDefaultsPtrOutputWithContext(context.Background()) } -func (i VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustAcmArgs) ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustAcmPtrOutputWithContext(ctx context.Context) VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustAcmPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustAcmOutput).ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustAcmPtrOutputWithContext(ctx) +func (i VirtualGatewaySpecBackendDefaultsArgs) ToVirtualGatewaySpecBackendDefaultsPtrOutputWithContext(ctx context.Context) VirtualGatewaySpecBackendDefaultsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualGatewaySpecBackendDefaultsOutput).ToVirtualGatewaySpecBackendDefaultsPtrOutputWithContext(ctx) } -// VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustAcmPtrInput is an input type that accepts VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustAcmArgs, VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustAcmPtr and VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustAcmPtrOutput values. -// You can construct a concrete instance of `VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustAcmPtrInput` via: +// VirtualGatewaySpecBackendDefaultsPtrInput is an input type that accepts VirtualGatewaySpecBackendDefaultsArgs, VirtualGatewaySpecBackendDefaultsPtr and VirtualGatewaySpecBackendDefaultsPtrOutput values. +// You can construct a concrete instance of `VirtualGatewaySpecBackendDefaultsPtrInput` via: // -// VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustAcmArgs{...} +// VirtualGatewaySpecBackendDefaultsArgs{...} // // or: // // nil -type VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustAcmPtrInput interface { +type VirtualGatewaySpecBackendDefaultsPtrInput interface { pulumi.Input - ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustAcmPtrOutput() VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustAcmPtrOutput - ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustAcmPtrOutputWithContext(context.Context) VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustAcmPtrOutput + ToVirtualGatewaySpecBackendDefaultsPtrOutput() VirtualGatewaySpecBackendDefaultsPtrOutput + ToVirtualGatewaySpecBackendDefaultsPtrOutputWithContext(context.Context) VirtualGatewaySpecBackendDefaultsPtrOutput } -type virtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustAcmPtrType VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustAcmArgs +type virtualGatewaySpecBackendDefaultsPtrType VirtualGatewaySpecBackendDefaultsArgs -func VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustAcmPtr(v *VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustAcmArgs) VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustAcmPtrInput { - return (*virtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustAcmPtrType)(v) +func VirtualGatewaySpecBackendDefaultsPtr(v *VirtualGatewaySpecBackendDefaultsArgs) VirtualGatewaySpecBackendDefaultsPtrInput { + return (*virtualGatewaySpecBackendDefaultsPtrType)(v) } -func (*virtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustAcmPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustAcm)(nil)).Elem() +func (*virtualGatewaySpecBackendDefaultsPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**VirtualGatewaySpecBackendDefaults)(nil)).Elem() } -func (i *virtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustAcmPtrType) ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustAcmPtrOutput() VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustAcmPtrOutput { - return i.ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustAcmPtrOutputWithContext(context.Background()) +func (i *virtualGatewaySpecBackendDefaultsPtrType) ToVirtualGatewaySpecBackendDefaultsPtrOutput() VirtualGatewaySpecBackendDefaultsPtrOutput { + return i.ToVirtualGatewaySpecBackendDefaultsPtrOutputWithContext(context.Background()) } -func (i *virtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustAcmPtrType) ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustAcmPtrOutputWithContext(ctx context.Context) VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustAcmPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustAcmPtrOutput) +func (i *virtualGatewaySpecBackendDefaultsPtrType) ToVirtualGatewaySpecBackendDefaultsPtrOutputWithContext(ctx context.Context) VirtualGatewaySpecBackendDefaultsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualGatewaySpecBackendDefaultsPtrOutput) } -type VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustAcmOutput struct{ *pulumi.OutputState } +type VirtualGatewaySpecBackendDefaultsOutput struct{ *pulumi.OutputState } -func (VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustAcmOutput) ElementType() reflect.Type { - return reflect.TypeOf((*VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustAcm)(nil)).Elem() +func (VirtualGatewaySpecBackendDefaultsOutput) ElementType() reflect.Type { + return reflect.TypeOf((*VirtualGatewaySpecBackendDefaults)(nil)).Elem() } -func (o VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustAcmOutput) ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustAcmOutput() VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustAcmOutput { +func (o VirtualGatewaySpecBackendDefaultsOutput) ToVirtualGatewaySpecBackendDefaultsOutput() VirtualGatewaySpecBackendDefaultsOutput { return o } -func (o VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustAcmOutput) ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustAcmOutputWithContext(ctx context.Context) VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustAcmOutput { +func (o VirtualGatewaySpecBackendDefaultsOutput) ToVirtualGatewaySpecBackendDefaultsOutputWithContext(ctx context.Context) VirtualGatewaySpecBackendDefaultsOutput { return o } -func (o VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustAcmOutput) ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustAcmPtrOutput() VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustAcmPtrOutput { - return o.ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustAcmPtrOutputWithContext(context.Background()) +func (o VirtualGatewaySpecBackendDefaultsOutput) ToVirtualGatewaySpecBackendDefaultsPtrOutput() VirtualGatewaySpecBackendDefaultsPtrOutput { + return o.ToVirtualGatewaySpecBackendDefaultsPtrOutputWithContext(context.Background()) } -func (o VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustAcmOutput) ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustAcmPtrOutputWithContext(ctx context.Context) VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustAcmPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustAcm) *VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustAcm { +func (o VirtualGatewaySpecBackendDefaultsOutput) ToVirtualGatewaySpecBackendDefaultsPtrOutputWithContext(ctx context.Context) VirtualGatewaySpecBackendDefaultsPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v VirtualGatewaySpecBackendDefaults) *VirtualGatewaySpecBackendDefaults { return &v - }).(VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustAcmPtrOutput) + }).(VirtualGatewaySpecBackendDefaultsPtrOutput) } -// One or more ACM ARNs. -func (o VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustAcmOutput) CertificateAuthorityArns() pulumi.StringArrayOutput { - return o.ApplyT(func(v VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustAcm) []string { - return v.CertificateAuthorityArns - }).(pulumi.StringArrayOutput) +// Default client policy for virtual gateway backends. +func (o VirtualGatewaySpecBackendDefaultsOutput) ClientPolicy() VirtualGatewaySpecBackendDefaultsClientPolicyPtrOutput { + return o.ApplyT(func(v VirtualGatewaySpecBackendDefaults) *VirtualGatewaySpecBackendDefaultsClientPolicy { + return v.ClientPolicy + }).(VirtualGatewaySpecBackendDefaultsClientPolicyPtrOutput) } -type VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustAcmPtrOutput struct{ *pulumi.OutputState } +type VirtualGatewaySpecBackendDefaultsPtrOutput struct{ *pulumi.OutputState } -func (VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustAcmPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustAcm)(nil)).Elem() +func (VirtualGatewaySpecBackendDefaultsPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**VirtualGatewaySpecBackendDefaults)(nil)).Elem() } -func (o VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustAcmPtrOutput) ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustAcmPtrOutput() VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustAcmPtrOutput { +func (o VirtualGatewaySpecBackendDefaultsPtrOutput) ToVirtualGatewaySpecBackendDefaultsPtrOutput() VirtualGatewaySpecBackendDefaultsPtrOutput { return o } -func (o VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustAcmPtrOutput) ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustAcmPtrOutputWithContext(ctx context.Context) VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustAcmPtrOutput { +func (o VirtualGatewaySpecBackendDefaultsPtrOutput) ToVirtualGatewaySpecBackendDefaultsPtrOutputWithContext(ctx context.Context) VirtualGatewaySpecBackendDefaultsPtrOutput { return o } -func (o VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustAcmPtrOutput) Elem() VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustAcmOutput { - return o.ApplyT(func(v *VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustAcm) VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustAcm { +func (o VirtualGatewaySpecBackendDefaultsPtrOutput) Elem() VirtualGatewaySpecBackendDefaultsOutput { + return o.ApplyT(func(v *VirtualGatewaySpecBackendDefaults) VirtualGatewaySpecBackendDefaults { if v != nil { return *v } - var ret VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustAcm + var ret VirtualGatewaySpecBackendDefaults return ret - }).(VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustAcmOutput) + }).(VirtualGatewaySpecBackendDefaultsOutput) } -// One or more ACM ARNs. -func (o VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustAcmPtrOutput) CertificateAuthorityArns() pulumi.StringArrayOutput { - return o.ApplyT(func(v *VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustAcm) []string { +// Default client policy for virtual gateway backends. +func (o VirtualGatewaySpecBackendDefaultsPtrOutput) ClientPolicy() VirtualGatewaySpecBackendDefaultsClientPolicyPtrOutput { + return o.ApplyT(func(v *VirtualGatewaySpecBackendDefaults) *VirtualGatewaySpecBackendDefaultsClientPolicy { if v == nil { return nil } - return v.CertificateAuthorityArns - }).(pulumi.StringArrayOutput) + return v.ClientPolicy + }).(VirtualGatewaySpecBackendDefaultsClientPolicyPtrOutput) } -type VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustFile struct { - // Certificate trust chain for a certificate stored on the file system of the mesh endpoint that the proxy is running on. Must be between 1 and 255 characters in length. - CertificateChain string `pulumi:"certificateChain"` +type VirtualGatewaySpecBackendDefaultsClientPolicy struct { + // Transport Layer Security (TLS) client policy. + Tls *VirtualGatewaySpecBackendDefaultsClientPolicyTls `pulumi:"tls"` } -// VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustFileInput is an input type that accepts VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustFileArgs and VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustFileOutput values. -// You can construct a concrete instance of `VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustFileInput` via: +// VirtualGatewaySpecBackendDefaultsClientPolicyInput is an input type that accepts VirtualGatewaySpecBackendDefaultsClientPolicyArgs and VirtualGatewaySpecBackendDefaultsClientPolicyOutput values. +// You can construct a concrete instance of `VirtualGatewaySpecBackendDefaultsClientPolicyInput` via: // -// VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustFileArgs{...} -type VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustFileInput interface { +// VirtualGatewaySpecBackendDefaultsClientPolicyArgs{...} +type VirtualGatewaySpecBackendDefaultsClientPolicyInput interface { pulumi.Input - ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustFileOutput() VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustFileOutput - ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustFileOutputWithContext(context.Context) VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustFileOutput + ToVirtualGatewaySpecBackendDefaultsClientPolicyOutput() VirtualGatewaySpecBackendDefaultsClientPolicyOutput + ToVirtualGatewaySpecBackendDefaultsClientPolicyOutputWithContext(context.Context) VirtualGatewaySpecBackendDefaultsClientPolicyOutput } -type VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustFileArgs struct { - // Certificate trust chain for a certificate stored on the file system of the mesh endpoint that the proxy is running on. Must be between 1 and 255 characters in length. - CertificateChain pulumi.StringInput `pulumi:"certificateChain"` +type VirtualGatewaySpecBackendDefaultsClientPolicyArgs struct { + // Transport Layer Security (TLS) client policy. + Tls VirtualGatewaySpecBackendDefaultsClientPolicyTlsPtrInput `pulumi:"tls"` } -func (VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustFileArgs) ElementType() reflect.Type { - return reflect.TypeOf((*VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustFile)(nil)).Elem() +func (VirtualGatewaySpecBackendDefaultsClientPolicyArgs) ElementType() reflect.Type { + return reflect.TypeOf((*VirtualGatewaySpecBackendDefaultsClientPolicy)(nil)).Elem() } -func (i VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustFileArgs) ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustFileOutput() VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustFileOutput { - return i.ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustFileOutputWithContext(context.Background()) +func (i VirtualGatewaySpecBackendDefaultsClientPolicyArgs) ToVirtualGatewaySpecBackendDefaultsClientPolicyOutput() VirtualGatewaySpecBackendDefaultsClientPolicyOutput { + return i.ToVirtualGatewaySpecBackendDefaultsClientPolicyOutputWithContext(context.Background()) } -func (i VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustFileArgs) ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustFileOutputWithContext(ctx context.Context) VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustFileOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustFileOutput) +func (i VirtualGatewaySpecBackendDefaultsClientPolicyArgs) ToVirtualGatewaySpecBackendDefaultsClientPolicyOutputWithContext(ctx context.Context) VirtualGatewaySpecBackendDefaultsClientPolicyOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualGatewaySpecBackendDefaultsClientPolicyOutput) } -func (i VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustFileArgs) ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustFilePtrOutput() VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustFilePtrOutput { - return i.ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustFilePtrOutputWithContext(context.Background()) +func (i VirtualGatewaySpecBackendDefaultsClientPolicyArgs) ToVirtualGatewaySpecBackendDefaultsClientPolicyPtrOutput() VirtualGatewaySpecBackendDefaultsClientPolicyPtrOutput { + return i.ToVirtualGatewaySpecBackendDefaultsClientPolicyPtrOutputWithContext(context.Background()) } -func (i VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustFileArgs) ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustFilePtrOutputWithContext(ctx context.Context) VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustFilePtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustFileOutput).ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustFilePtrOutputWithContext(ctx) +func (i VirtualGatewaySpecBackendDefaultsClientPolicyArgs) ToVirtualGatewaySpecBackendDefaultsClientPolicyPtrOutputWithContext(ctx context.Context) VirtualGatewaySpecBackendDefaultsClientPolicyPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualGatewaySpecBackendDefaultsClientPolicyOutput).ToVirtualGatewaySpecBackendDefaultsClientPolicyPtrOutputWithContext(ctx) } -// VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustFilePtrInput is an input type that accepts VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustFileArgs, VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustFilePtr and VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustFilePtrOutput values. -// You can construct a concrete instance of `VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustFilePtrInput` via: +// VirtualGatewaySpecBackendDefaultsClientPolicyPtrInput is an input type that accepts VirtualGatewaySpecBackendDefaultsClientPolicyArgs, VirtualGatewaySpecBackendDefaultsClientPolicyPtr and VirtualGatewaySpecBackendDefaultsClientPolicyPtrOutput values. +// You can construct a concrete instance of `VirtualGatewaySpecBackendDefaultsClientPolicyPtrInput` via: // -// VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustFileArgs{...} +// VirtualGatewaySpecBackendDefaultsClientPolicyArgs{...} // // or: // // nil -type VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustFilePtrInput interface { +type VirtualGatewaySpecBackendDefaultsClientPolicyPtrInput interface { pulumi.Input - ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustFilePtrOutput() VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustFilePtrOutput - ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustFilePtrOutputWithContext(context.Context) VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustFilePtrOutput + ToVirtualGatewaySpecBackendDefaultsClientPolicyPtrOutput() VirtualGatewaySpecBackendDefaultsClientPolicyPtrOutput + ToVirtualGatewaySpecBackendDefaultsClientPolicyPtrOutputWithContext(context.Context) VirtualGatewaySpecBackendDefaultsClientPolicyPtrOutput } -type virtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustFilePtrType VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustFileArgs +type virtualGatewaySpecBackendDefaultsClientPolicyPtrType VirtualGatewaySpecBackendDefaultsClientPolicyArgs -func VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustFilePtr(v *VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustFileArgs) VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustFilePtrInput { - return (*virtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustFilePtrType)(v) +func VirtualGatewaySpecBackendDefaultsClientPolicyPtr(v *VirtualGatewaySpecBackendDefaultsClientPolicyArgs) VirtualGatewaySpecBackendDefaultsClientPolicyPtrInput { + return (*virtualGatewaySpecBackendDefaultsClientPolicyPtrType)(v) } -func (*virtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustFilePtrType) ElementType() reflect.Type { - return reflect.TypeOf((**VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustFile)(nil)).Elem() +func (*virtualGatewaySpecBackendDefaultsClientPolicyPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**VirtualGatewaySpecBackendDefaultsClientPolicy)(nil)).Elem() } -func (i *virtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustFilePtrType) ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustFilePtrOutput() VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustFilePtrOutput { - return i.ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustFilePtrOutputWithContext(context.Background()) +func (i *virtualGatewaySpecBackendDefaultsClientPolicyPtrType) ToVirtualGatewaySpecBackendDefaultsClientPolicyPtrOutput() VirtualGatewaySpecBackendDefaultsClientPolicyPtrOutput { + return i.ToVirtualGatewaySpecBackendDefaultsClientPolicyPtrOutputWithContext(context.Background()) } -func (i *virtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustFilePtrType) ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustFilePtrOutputWithContext(ctx context.Context) VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustFilePtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustFilePtrOutput) +func (i *virtualGatewaySpecBackendDefaultsClientPolicyPtrType) ToVirtualGatewaySpecBackendDefaultsClientPolicyPtrOutputWithContext(ctx context.Context) VirtualGatewaySpecBackendDefaultsClientPolicyPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualGatewaySpecBackendDefaultsClientPolicyPtrOutput) } -type VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustFileOutput struct{ *pulumi.OutputState } +type VirtualGatewaySpecBackendDefaultsClientPolicyOutput struct{ *pulumi.OutputState } -func (VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustFileOutput) ElementType() reflect.Type { - return reflect.TypeOf((*VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustFile)(nil)).Elem() +func (VirtualGatewaySpecBackendDefaultsClientPolicyOutput) ElementType() reflect.Type { + return reflect.TypeOf((*VirtualGatewaySpecBackendDefaultsClientPolicy)(nil)).Elem() } -func (o VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustFileOutput) ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustFileOutput() VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustFileOutput { +func (o VirtualGatewaySpecBackendDefaultsClientPolicyOutput) ToVirtualGatewaySpecBackendDefaultsClientPolicyOutput() VirtualGatewaySpecBackendDefaultsClientPolicyOutput { return o } -func (o VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustFileOutput) ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustFileOutputWithContext(ctx context.Context) VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustFileOutput { +func (o VirtualGatewaySpecBackendDefaultsClientPolicyOutput) ToVirtualGatewaySpecBackendDefaultsClientPolicyOutputWithContext(ctx context.Context) VirtualGatewaySpecBackendDefaultsClientPolicyOutput { return o } -func (o VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustFileOutput) ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustFilePtrOutput() VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustFilePtrOutput { - return o.ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustFilePtrOutputWithContext(context.Background()) +func (o VirtualGatewaySpecBackendDefaultsClientPolicyOutput) ToVirtualGatewaySpecBackendDefaultsClientPolicyPtrOutput() VirtualGatewaySpecBackendDefaultsClientPolicyPtrOutput { + return o.ToVirtualGatewaySpecBackendDefaultsClientPolicyPtrOutputWithContext(context.Background()) } -func (o VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustFileOutput) ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustFilePtrOutputWithContext(ctx context.Context) VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustFilePtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustFile) *VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustFile { +func (o VirtualGatewaySpecBackendDefaultsClientPolicyOutput) ToVirtualGatewaySpecBackendDefaultsClientPolicyPtrOutputWithContext(ctx context.Context) VirtualGatewaySpecBackendDefaultsClientPolicyPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v VirtualGatewaySpecBackendDefaultsClientPolicy) *VirtualGatewaySpecBackendDefaultsClientPolicy { return &v - }).(VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustFilePtrOutput) + }).(VirtualGatewaySpecBackendDefaultsClientPolicyPtrOutput) } -// Certificate trust chain for a certificate stored on the file system of the mesh endpoint that the proxy is running on. Must be between 1 and 255 characters in length. -func (o VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustFileOutput) CertificateChain() pulumi.StringOutput { - return o.ApplyT(func(v VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustFile) string { - return v.CertificateChain - }).(pulumi.StringOutput) +// Transport Layer Security (TLS) client policy. +func (o VirtualGatewaySpecBackendDefaultsClientPolicyOutput) Tls() VirtualGatewaySpecBackendDefaultsClientPolicyTlsPtrOutput { + return o.ApplyT(func(v VirtualGatewaySpecBackendDefaultsClientPolicy) *VirtualGatewaySpecBackendDefaultsClientPolicyTls { + return v.Tls + }).(VirtualGatewaySpecBackendDefaultsClientPolicyTlsPtrOutput) } -type VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustFilePtrOutput struct{ *pulumi.OutputState } +type VirtualGatewaySpecBackendDefaultsClientPolicyPtrOutput struct{ *pulumi.OutputState } -func (VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustFilePtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustFile)(nil)).Elem() +func (VirtualGatewaySpecBackendDefaultsClientPolicyPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**VirtualGatewaySpecBackendDefaultsClientPolicy)(nil)).Elem() } -func (o VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustFilePtrOutput) ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustFilePtrOutput() VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustFilePtrOutput { +func (o VirtualGatewaySpecBackendDefaultsClientPolicyPtrOutput) ToVirtualGatewaySpecBackendDefaultsClientPolicyPtrOutput() VirtualGatewaySpecBackendDefaultsClientPolicyPtrOutput { return o } -func (o VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustFilePtrOutput) ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustFilePtrOutputWithContext(ctx context.Context) VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustFilePtrOutput { +func (o VirtualGatewaySpecBackendDefaultsClientPolicyPtrOutput) ToVirtualGatewaySpecBackendDefaultsClientPolicyPtrOutputWithContext(ctx context.Context) VirtualGatewaySpecBackendDefaultsClientPolicyPtrOutput { return o } -func (o VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustFilePtrOutput) Elem() VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustFileOutput { - return o.ApplyT(func(v *VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustFile) VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustFile { +func (o VirtualGatewaySpecBackendDefaultsClientPolicyPtrOutput) Elem() VirtualGatewaySpecBackendDefaultsClientPolicyOutput { + return o.ApplyT(func(v *VirtualGatewaySpecBackendDefaultsClientPolicy) VirtualGatewaySpecBackendDefaultsClientPolicy { if v != nil { return *v } - var ret VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustFile + var ret VirtualGatewaySpecBackendDefaultsClientPolicy return ret - }).(VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustFileOutput) + }).(VirtualGatewaySpecBackendDefaultsClientPolicyOutput) } -// Certificate trust chain for a certificate stored on the file system of the mesh endpoint that the proxy is running on. Must be between 1 and 255 characters in length. -func (o VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustFilePtrOutput) CertificateChain() pulumi.StringPtrOutput { - return o.ApplyT(func(v *VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustFile) *string { +// Transport Layer Security (TLS) client policy. +func (o VirtualGatewaySpecBackendDefaultsClientPolicyPtrOutput) Tls() VirtualGatewaySpecBackendDefaultsClientPolicyTlsPtrOutput { + return o.ApplyT(func(v *VirtualGatewaySpecBackendDefaultsClientPolicy) *VirtualGatewaySpecBackendDefaultsClientPolicyTls { if v == nil { return nil } - return &v.CertificateChain - }).(pulumi.StringPtrOutput) + return v.Tls + }).(VirtualGatewaySpecBackendDefaultsClientPolicyTlsPtrOutput) } -type VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustSds struct { - // Name of the secret for a virtual gateway's Transport Layer Security (TLS) Secret Discovery Service validation context trust. - SecretName string `pulumi:"secretName"` +type VirtualGatewaySpecBackendDefaultsClientPolicyTls struct { + // Listener's TLS certificate. + Certificate *VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificate `pulumi:"certificate"` + // Whether the policy is enforced. Default is `true`. + Enforce *bool `pulumi:"enforce"` + // One or more ports that the policy is enforced for. + Ports []int `pulumi:"ports"` + // Listener's Transport Layer Security (TLS) validation context. + Validation VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidation `pulumi:"validation"` } -// VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustSdsInput is an input type that accepts VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustSdsArgs and VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustSdsOutput values. -// You can construct a concrete instance of `VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustSdsInput` via: +// VirtualGatewaySpecBackendDefaultsClientPolicyTlsInput is an input type that accepts VirtualGatewaySpecBackendDefaultsClientPolicyTlsArgs and VirtualGatewaySpecBackendDefaultsClientPolicyTlsOutput values. +// You can construct a concrete instance of `VirtualGatewaySpecBackendDefaultsClientPolicyTlsInput` via: // -// VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustSdsArgs{...} -type VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustSdsInput interface { +// VirtualGatewaySpecBackendDefaultsClientPolicyTlsArgs{...} +type VirtualGatewaySpecBackendDefaultsClientPolicyTlsInput interface { pulumi.Input - ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustSdsOutput() VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustSdsOutput - ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustSdsOutputWithContext(context.Context) VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustSdsOutput + ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsOutput() VirtualGatewaySpecBackendDefaultsClientPolicyTlsOutput + ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsOutputWithContext(context.Context) VirtualGatewaySpecBackendDefaultsClientPolicyTlsOutput } -type VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustSdsArgs struct { - // Name of the secret for a virtual gateway's Transport Layer Security (TLS) Secret Discovery Service validation context trust. - SecretName pulumi.StringInput `pulumi:"secretName"` +type VirtualGatewaySpecBackendDefaultsClientPolicyTlsArgs struct { + // Listener's TLS certificate. + Certificate VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificatePtrInput `pulumi:"certificate"` + // Whether the policy is enforced. Default is `true`. + Enforce pulumi.BoolPtrInput `pulumi:"enforce"` + // One or more ports that the policy is enforced for. + Ports pulumi.IntArrayInput `pulumi:"ports"` + // Listener's Transport Layer Security (TLS) validation context. + Validation VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationInput `pulumi:"validation"` } -func (VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustSdsArgs) ElementType() reflect.Type { - return reflect.TypeOf((*VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustSds)(nil)).Elem() +func (VirtualGatewaySpecBackendDefaultsClientPolicyTlsArgs) ElementType() reflect.Type { + return reflect.TypeOf((*VirtualGatewaySpecBackendDefaultsClientPolicyTls)(nil)).Elem() } -func (i VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustSdsArgs) ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustSdsOutput() VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustSdsOutput { - return i.ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustSdsOutputWithContext(context.Background()) +func (i VirtualGatewaySpecBackendDefaultsClientPolicyTlsArgs) ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsOutput() VirtualGatewaySpecBackendDefaultsClientPolicyTlsOutput { + return i.ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsOutputWithContext(context.Background()) } -func (i VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustSdsArgs) ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustSdsOutputWithContext(ctx context.Context) VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustSdsOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustSdsOutput) +func (i VirtualGatewaySpecBackendDefaultsClientPolicyTlsArgs) ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsOutputWithContext(ctx context.Context) VirtualGatewaySpecBackendDefaultsClientPolicyTlsOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualGatewaySpecBackendDefaultsClientPolicyTlsOutput) } -func (i VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustSdsArgs) ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustSdsPtrOutput() VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustSdsPtrOutput { - return i.ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustSdsPtrOutputWithContext(context.Background()) +func (i VirtualGatewaySpecBackendDefaultsClientPolicyTlsArgs) ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsPtrOutput() VirtualGatewaySpecBackendDefaultsClientPolicyTlsPtrOutput { + return i.ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsPtrOutputWithContext(context.Background()) } -func (i VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustSdsArgs) ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustSdsPtrOutputWithContext(ctx context.Context) VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustSdsPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustSdsOutput).ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustSdsPtrOutputWithContext(ctx) +func (i VirtualGatewaySpecBackendDefaultsClientPolicyTlsArgs) ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsPtrOutputWithContext(ctx context.Context) VirtualGatewaySpecBackendDefaultsClientPolicyTlsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualGatewaySpecBackendDefaultsClientPolicyTlsOutput).ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsPtrOutputWithContext(ctx) } -// VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustSdsPtrInput is an input type that accepts VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustSdsArgs, VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustSdsPtr and VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustSdsPtrOutput values. -// You can construct a concrete instance of `VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustSdsPtrInput` via: +// VirtualGatewaySpecBackendDefaultsClientPolicyTlsPtrInput is an input type that accepts VirtualGatewaySpecBackendDefaultsClientPolicyTlsArgs, VirtualGatewaySpecBackendDefaultsClientPolicyTlsPtr and VirtualGatewaySpecBackendDefaultsClientPolicyTlsPtrOutput values. +// You can construct a concrete instance of `VirtualGatewaySpecBackendDefaultsClientPolicyTlsPtrInput` via: // -// VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustSdsArgs{...} +// VirtualGatewaySpecBackendDefaultsClientPolicyTlsArgs{...} // // or: // // nil -type VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustSdsPtrInput interface { +type VirtualGatewaySpecBackendDefaultsClientPolicyTlsPtrInput interface { pulumi.Input - ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustSdsPtrOutput() VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustSdsPtrOutput - ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustSdsPtrOutputWithContext(context.Context) VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustSdsPtrOutput + ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsPtrOutput() VirtualGatewaySpecBackendDefaultsClientPolicyTlsPtrOutput + ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsPtrOutputWithContext(context.Context) VirtualGatewaySpecBackendDefaultsClientPolicyTlsPtrOutput } -type virtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustSdsPtrType VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustSdsArgs +type virtualGatewaySpecBackendDefaultsClientPolicyTlsPtrType VirtualGatewaySpecBackendDefaultsClientPolicyTlsArgs -func VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustSdsPtr(v *VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustSdsArgs) VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustSdsPtrInput { - return (*virtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustSdsPtrType)(v) +func VirtualGatewaySpecBackendDefaultsClientPolicyTlsPtr(v *VirtualGatewaySpecBackendDefaultsClientPolicyTlsArgs) VirtualGatewaySpecBackendDefaultsClientPolicyTlsPtrInput { + return (*virtualGatewaySpecBackendDefaultsClientPolicyTlsPtrType)(v) } -func (*virtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustSdsPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustSds)(nil)).Elem() +func (*virtualGatewaySpecBackendDefaultsClientPolicyTlsPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**VirtualGatewaySpecBackendDefaultsClientPolicyTls)(nil)).Elem() } -func (i *virtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustSdsPtrType) ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustSdsPtrOutput() VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustSdsPtrOutput { - return i.ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustSdsPtrOutputWithContext(context.Background()) +func (i *virtualGatewaySpecBackendDefaultsClientPolicyTlsPtrType) ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsPtrOutput() VirtualGatewaySpecBackendDefaultsClientPolicyTlsPtrOutput { + return i.ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsPtrOutputWithContext(context.Background()) } -func (i *virtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustSdsPtrType) ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustSdsPtrOutputWithContext(ctx context.Context) VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustSdsPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustSdsPtrOutput) +func (i *virtualGatewaySpecBackendDefaultsClientPolicyTlsPtrType) ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsPtrOutputWithContext(ctx context.Context) VirtualGatewaySpecBackendDefaultsClientPolicyTlsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualGatewaySpecBackendDefaultsClientPolicyTlsPtrOutput) } -type VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustSdsOutput struct{ *pulumi.OutputState } +type VirtualGatewaySpecBackendDefaultsClientPolicyTlsOutput struct{ *pulumi.OutputState } -func (VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustSdsOutput) ElementType() reflect.Type { - return reflect.TypeOf((*VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustSds)(nil)).Elem() +func (VirtualGatewaySpecBackendDefaultsClientPolicyTlsOutput) ElementType() reflect.Type { + return reflect.TypeOf((*VirtualGatewaySpecBackendDefaultsClientPolicyTls)(nil)).Elem() } -func (o VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustSdsOutput) ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustSdsOutput() VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustSdsOutput { +func (o VirtualGatewaySpecBackendDefaultsClientPolicyTlsOutput) ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsOutput() VirtualGatewaySpecBackendDefaultsClientPolicyTlsOutput { return o } -func (o VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustSdsOutput) ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustSdsOutputWithContext(ctx context.Context) VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustSdsOutput { +func (o VirtualGatewaySpecBackendDefaultsClientPolicyTlsOutput) ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsOutputWithContext(ctx context.Context) VirtualGatewaySpecBackendDefaultsClientPolicyTlsOutput { return o } -func (o VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustSdsOutput) ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustSdsPtrOutput() VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustSdsPtrOutput { - return o.ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustSdsPtrOutputWithContext(context.Background()) +func (o VirtualGatewaySpecBackendDefaultsClientPolicyTlsOutput) ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsPtrOutput() VirtualGatewaySpecBackendDefaultsClientPolicyTlsPtrOutput { + return o.ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsPtrOutputWithContext(context.Background()) } -func (o VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustSdsOutput) ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustSdsPtrOutputWithContext(ctx context.Context) VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustSdsPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustSds) *VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustSds { +func (o VirtualGatewaySpecBackendDefaultsClientPolicyTlsOutput) ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsPtrOutputWithContext(ctx context.Context) VirtualGatewaySpecBackendDefaultsClientPolicyTlsPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v VirtualGatewaySpecBackendDefaultsClientPolicyTls) *VirtualGatewaySpecBackendDefaultsClientPolicyTls { return &v - }).(VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustSdsPtrOutput) + }).(VirtualGatewaySpecBackendDefaultsClientPolicyTlsPtrOutput) } -// Name of the secret for a virtual gateway's Transport Layer Security (TLS) Secret Discovery Service validation context trust. -func (o VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustSdsOutput) SecretName() pulumi.StringOutput { - return o.ApplyT(func(v VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustSds) string { return v.SecretName }).(pulumi.StringOutput) +// Listener's TLS certificate. +func (o VirtualGatewaySpecBackendDefaultsClientPolicyTlsOutput) Certificate() VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificatePtrOutput { + return o.ApplyT(func(v VirtualGatewaySpecBackendDefaultsClientPolicyTls) *VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificate { + return v.Certificate + }).(VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificatePtrOutput) } -type VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustSdsPtrOutput struct{ *pulumi.OutputState } +// Whether the policy is enforced. Default is `true`. +func (o VirtualGatewaySpecBackendDefaultsClientPolicyTlsOutput) Enforce() pulumi.BoolPtrOutput { + return o.ApplyT(func(v VirtualGatewaySpecBackendDefaultsClientPolicyTls) *bool { return v.Enforce }).(pulumi.BoolPtrOutput) +} -func (VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustSdsPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustSds)(nil)).Elem() +// One or more ports that the policy is enforced for. +func (o VirtualGatewaySpecBackendDefaultsClientPolicyTlsOutput) Ports() pulumi.IntArrayOutput { + return o.ApplyT(func(v VirtualGatewaySpecBackendDefaultsClientPolicyTls) []int { return v.Ports }).(pulumi.IntArrayOutput) } -func (o VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustSdsPtrOutput) ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustSdsPtrOutput() VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustSdsPtrOutput { +// Listener's Transport Layer Security (TLS) validation context. +func (o VirtualGatewaySpecBackendDefaultsClientPolicyTlsOutput) Validation() VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationOutput { + return o.ApplyT(func(v VirtualGatewaySpecBackendDefaultsClientPolicyTls) VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidation { + return v.Validation + }).(VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationOutput) +} + +type VirtualGatewaySpecBackendDefaultsClientPolicyTlsPtrOutput struct{ *pulumi.OutputState } + +func (VirtualGatewaySpecBackendDefaultsClientPolicyTlsPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**VirtualGatewaySpecBackendDefaultsClientPolicyTls)(nil)).Elem() +} + +func (o VirtualGatewaySpecBackendDefaultsClientPolicyTlsPtrOutput) ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsPtrOutput() VirtualGatewaySpecBackendDefaultsClientPolicyTlsPtrOutput { return o } -func (o VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustSdsPtrOutput) ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustSdsPtrOutputWithContext(ctx context.Context) VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustSdsPtrOutput { +func (o VirtualGatewaySpecBackendDefaultsClientPolicyTlsPtrOutput) ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsPtrOutputWithContext(ctx context.Context) VirtualGatewaySpecBackendDefaultsClientPolicyTlsPtrOutput { return o } -func (o VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustSdsPtrOutput) Elem() VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustSdsOutput { - return o.ApplyT(func(v *VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustSds) VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustSds { +func (o VirtualGatewaySpecBackendDefaultsClientPolicyTlsPtrOutput) Elem() VirtualGatewaySpecBackendDefaultsClientPolicyTlsOutput { + return o.ApplyT(func(v *VirtualGatewaySpecBackendDefaultsClientPolicyTls) VirtualGatewaySpecBackendDefaultsClientPolicyTls { if v != nil { return *v } - var ret VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustSds + var ret VirtualGatewaySpecBackendDefaultsClientPolicyTls return ret - }).(VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustSdsOutput) + }).(VirtualGatewaySpecBackendDefaultsClientPolicyTlsOutput) } -// Name of the secret for a virtual gateway's Transport Layer Security (TLS) Secret Discovery Service validation context trust. -func (o VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustSdsPtrOutput) SecretName() pulumi.StringPtrOutput { - return o.ApplyT(func(v *VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustSds) *string { +// Listener's TLS certificate. +func (o VirtualGatewaySpecBackendDefaultsClientPolicyTlsPtrOutput) Certificate() VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificatePtrOutput { + return o.ApplyT(func(v *VirtualGatewaySpecBackendDefaultsClientPolicyTls) *VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificate { if v == nil { return nil } - return &v.SecretName - }).(pulumi.StringPtrOutput) + return v.Certificate + }).(VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificatePtrOutput) } -type VirtualGatewaySpecListener struct { - // Connection pool information for the listener. - ConnectionPool *VirtualGatewaySpecListenerConnectionPool `pulumi:"connectionPool"` - // Health check information for the listener. - HealthCheck *VirtualGatewaySpecListenerHealthCheck `pulumi:"healthCheck"` - // Port mapping information for the listener. - PortMapping VirtualGatewaySpecListenerPortMapping `pulumi:"portMapping"` - // Transport Layer Security (TLS) properties for the listener - Tls *VirtualGatewaySpecListenerTls `pulumi:"tls"` +// Whether the policy is enforced. Default is `true`. +func (o VirtualGatewaySpecBackendDefaultsClientPolicyTlsPtrOutput) Enforce() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *VirtualGatewaySpecBackendDefaultsClientPolicyTls) *bool { + if v == nil { + return nil + } + return v.Enforce + }).(pulumi.BoolPtrOutput) } -// VirtualGatewaySpecListenerInput is an input type that accepts VirtualGatewaySpecListenerArgs and VirtualGatewaySpecListenerOutput values. -// You can construct a concrete instance of `VirtualGatewaySpecListenerInput` via: +// One or more ports that the policy is enforced for. +func (o VirtualGatewaySpecBackendDefaultsClientPolicyTlsPtrOutput) Ports() pulumi.IntArrayOutput { + return o.ApplyT(func(v *VirtualGatewaySpecBackendDefaultsClientPolicyTls) []int { + if v == nil { + return nil + } + return v.Ports + }).(pulumi.IntArrayOutput) +} + +// Listener's Transport Layer Security (TLS) validation context. +func (o VirtualGatewaySpecBackendDefaultsClientPolicyTlsPtrOutput) Validation() VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationPtrOutput { + return o.ApplyT(func(v *VirtualGatewaySpecBackendDefaultsClientPolicyTls) *VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidation { + if v == nil { + return nil + } + return &v.Validation + }).(VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationPtrOutput) +} + +type VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificate struct { + // Local file certificate. + File *VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateFile `pulumi:"file"` + // A [Secret Discovery Service](https://www.envoyproxy.io/docs/envoy/latest/configuration/security/secret#secret-discovery-service-sds) certificate. + Sds *VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateSds `pulumi:"sds"` +} + +// VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateInput is an input type that accepts VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateArgs and VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateOutput values. +// You can construct a concrete instance of `VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateInput` via: // -// VirtualGatewaySpecListenerArgs{...} -type VirtualGatewaySpecListenerInput interface { +// VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateArgs{...} +type VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateInput interface { pulumi.Input - ToVirtualGatewaySpecListenerOutput() VirtualGatewaySpecListenerOutput - ToVirtualGatewaySpecListenerOutputWithContext(context.Context) VirtualGatewaySpecListenerOutput + ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateOutput() VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateOutput + ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateOutputWithContext(context.Context) VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateOutput } -type VirtualGatewaySpecListenerArgs struct { - // Connection pool information for the listener. - ConnectionPool VirtualGatewaySpecListenerConnectionPoolPtrInput `pulumi:"connectionPool"` - // Health check information for the listener. - HealthCheck VirtualGatewaySpecListenerHealthCheckPtrInput `pulumi:"healthCheck"` - // Port mapping information for the listener. - PortMapping VirtualGatewaySpecListenerPortMappingInput `pulumi:"portMapping"` - // Transport Layer Security (TLS) properties for the listener - Tls VirtualGatewaySpecListenerTlsPtrInput `pulumi:"tls"` +type VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateArgs struct { + // Local file certificate. + File VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateFilePtrInput `pulumi:"file"` + // A [Secret Discovery Service](https://www.envoyproxy.io/docs/envoy/latest/configuration/security/secret#secret-discovery-service-sds) certificate. + Sds VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateSdsPtrInput `pulumi:"sds"` } -func (VirtualGatewaySpecListenerArgs) ElementType() reflect.Type { - return reflect.TypeOf((*VirtualGatewaySpecListener)(nil)).Elem() +func (VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateArgs) ElementType() reflect.Type { + return reflect.TypeOf((*VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificate)(nil)).Elem() } -func (i VirtualGatewaySpecListenerArgs) ToVirtualGatewaySpecListenerOutput() VirtualGatewaySpecListenerOutput { - return i.ToVirtualGatewaySpecListenerOutputWithContext(context.Background()) +func (i VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateArgs) ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateOutput() VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateOutput { + return i.ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateOutputWithContext(context.Background()) } -func (i VirtualGatewaySpecListenerArgs) ToVirtualGatewaySpecListenerOutputWithContext(ctx context.Context) VirtualGatewaySpecListenerOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualGatewaySpecListenerOutput) +func (i VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateArgs) ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateOutputWithContext(ctx context.Context) VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateOutput) } -func (i VirtualGatewaySpecListenerArgs) ToVirtualGatewaySpecListenerPtrOutput() VirtualGatewaySpecListenerPtrOutput { - return i.ToVirtualGatewaySpecListenerPtrOutputWithContext(context.Background()) +func (i VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateArgs) ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificatePtrOutput() VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificatePtrOutput { + return i.ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificatePtrOutputWithContext(context.Background()) } -func (i VirtualGatewaySpecListenerArgs) ToVirtualGatewaySpecListenerPtrOutputWithContext(ctx context.Context) VirtualGatewaySpecListenerPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualGatewaySpecListenerOutput).ToVirtualGatewaySpecListenerPtrOutputWithContext(ctx) +func (i VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateArgs) ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificatePtrOutputWithContext(ctx context.Context) VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificatePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateOutput).ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificatePtrOutputWithContext(ctx) } -// VirtualGatewaySpecListenerPtrInput is an input type that accepts VirtualGatewaySpecListenerArgs, VirtualGatewaySpecListenerPtr and VirtualGatewaySpecListenerPtrOutput values. -// You can construct a concrete instance of `VirtualGatewaySpecListenerPtrInput` via: +// VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificatePtrInput is an input type that accepts VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateArgs, VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificatePtr and VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificatePtrOutput values. +// You can construct a concrete instance of `VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificatePtrInput` via: // -// VirtualGatewaySpecListenerArgs{...} +// VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateArgs{...} // // or: // // nil -type VirtualGatewaySpecListenerPtrInput interface { +type VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificatePtrInput interface { pulumi.Input - ToVirtualGatewaySpecListenerPtrOutput() VirtualGatewaySpecListenerPtrOutput - ToVirtualGatewaySpecListenerPtrOutputWithContext(context.Context) VirtualGatewaySpecListenerPtrOutput + ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificatePtrOutput() VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificatePtrOutput + ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificatePtrOutputWithContext(context.Context) VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificatePtrOutput } -type virtualGatewaySpecListenerPtrType VirtualGatewaySpecListenerArgs +type virtualGatewaySpecBackendDefaultsClientPolicyTlsCertificatePtrType VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateArgs -func VirtualGatewaySpecListenerPtr(v *VirtualGatewaySpecListenerArgs) VirtualGatewaySpecListenerPtrInput { - return (*virtualGatewaySpecListenerPtrType)(v) +func VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificatePtr(v *VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateArgs) VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificatePtrInput { + return (*virtualGatewaySpecBackendDefaultsClientPolicyTlsCertificatePtrType)(v) } -func (*virtualGatewaySpecListenerPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**VirtualGatewaySpecListener)(nil)).Elem() +func (*virtualGatewaySpecBackendDefaultsClientPolicyTlsCertificatePtrType) ElementType() reflect.Type { + return reflect.TypeOf((**VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificate)(nil)).Elem() } -func (i *virtualGatewaySpecListenerPtrType) ToVirtualGatewaySpecListenerPtrOutput() VirtualGatewaySpecListenerPtrOutput { - return i.ToVirtualGatewaySpecListenerPtrOutputWithContext(context.Background()) +func (i *virtualGatewaySpecBackendDefaultsClientPolicyTlsCertificatePtrType) ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificatePtrOutput() VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificatePtrOutput { + return i.ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificatePtrOutputWithContext(context.Background()) } -func (i *virtualGatewaySpecListenerPtrType) ToVirtualGatewaySpecListenerPtrOutputWithContext(ctx context.Context) VirtualGatewaySpecListenerPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualGatewaySpecListenerPtrOutput) +func (i *virtualGatewaySpecBackendDefaultsClientPolicyTlsCertificatePtrType) ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificatePtrOutputWithContext(ctx context.Context) VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificatePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificatePtrOutput) } -type VirtualGatewaySpecListenerOutput struct{ *pulumi.OutputState } +type VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateOutput struct{ *pulumi.OutputState } -func (VirtualGatewaySpecListenerOutput) ElementType() reflect.Type { - return reflect.TypeOf((*VirtualGatewaySpecListener)(nil)).Elem() +func (VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateOutput) ElementType() reflect.Type { + return reflect.TypeOf((*VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificate)(nil)).Elem() } -func (o VirtualGatewaySpecListenerOutput) ToVirtualGatewaySpecListenerOutput() VirtualGatewaySpecListenerOutput { +func (o VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateOutput) ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateOutput() VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateOutput { return o } -func (o VirtualGatewaySpecListenerOutput) ToVirtualGatewaySpecListenerOutputWithContext(ctx context.Context) VirtualGatewaySpecListenerOutput { +func (o VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateOutput) ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateOutputWithContext(ctx context.Context) VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateOutput { return o } -func (o VirtualGatewaySpecListenerOutput) ToVirtualGatewaySpecListenerPtrOutput() VirtualGatewaySpecListenerPtrOutput { - return o.ToVirtualGatewaySpecListenerPtrOutputWithContext(context.Background()) +func (o VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateOutput) ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificatePtrOutput() VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificatePtrOutput { + return o.ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificatePtrOutputWithContext(context.Background()) } -func (o VirtualGatewaySpecListenerOutput) ToVirtualGatewaySpecListenerPtrOutputWithContext(ctx context.Context) VirtualGatewaySpecListenerPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v VirtualGatewaySpecListener) *VirtualGatewaySpecListener { +func (o VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateOutput) ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificatePtrOutputWithContext(ctx context.Context) VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificatePtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificate) *VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificate { return &v - }).(VirtualGatewaySpecListenerPtrOutput) -} - -// Connection pool information for the listener. -func (o VirtualGatewaySpecListenerOutput) ConnectionPool() VirtualGatewaySpecListenerConnectionPoolPtrOutput { - return o.ApplyT(func(v VirtualGatewaySpecListener) *VirtualGatewaySpecListenerConnectionPool { return v.ConnectionPool }).(VirtualGatewaySpecListenerConnectionPoolPtrOutput) -} - -// Health check information for the listener. -func (o VirtualGatewaySpecListenerOutput) HealthCheck() VirtualGatewaySpecListenerHealthCheckPtrOutput { - return o.ApplyT(func(v VirtualGatewaySpecListener) *VirtualGatewaySpecListenerHealthCheck { return v.HealthCheck }).(VirtualGatewaySpecListenerHealthCheckPtrOutput) + }).(VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificatePtrOutput) } -// Port mapping information for the listener. -func (o VirtualGatewaySpecListenerOutput) PortMapping() VirtualGatewaySpecListenerPortMappingOutput { - return o.ApplyT(func(v VirtualGatewaySpecListener) VirtualGatewaySpecListenerPortMapping { return v.PortMapping }).(VirtualGatewaySpecListenerPortMappingOutput) +// Local file certificate. +func (o VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateOutput) File() VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateFilePtrOutput { + return o.ApplyT(func(v VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificate) *VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateFile { + return v.File + }).(VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateFilePtrOutput) } -// Transport Layer Security (TLS) properties for the listener -func (o VirtualGatewaySpecListenerOutput) Tls() VirtualGatewaySpecListenerTlsPtrOutput { - return o.ApplyT(func(v VirtualGatewaySpecListener) *VirtualGatewaySpecListenerTls { return v.Tls }).(VirtualGatewaySpecListenerTlsPtrOutput) +// A [Secret Discovery Service](https://www.envoyproxy.io/docs/envoy/latest/configuration/security/secret#secret-discovery-service-sds) certificate. +func (o VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateOutput) Sds() VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateSdsPtrOutput { + return o.ApplyT(func(v VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificate) *VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateSds { + return v.Sds + }).(VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateSdsPtrOutput) } -type VirtualGatewaySpecListenerPtrOutput struct{ *pulumi.OutputState } +type VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificatePtrOutput struct{ *pulumi.OutputState } -func (VirtualGatewaySpecListenerPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**VirtualGatewaySpecListener)(nil)).Elem() +func (VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificatePtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificate)(nil)).Elem() } -func (o VirtualGatewaySpecListenerPtrOutput) ToVirtualGatewaySpecListenerPtrOutput() VirtualGatewaySpecListenerPtrOutput { +func (o VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificatePtrOutput) ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificatePtrOutput() VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificatePtrOutput { return o } -func (o VirtualGatewaySpecListenerPtrOutput) ToVirtualGatewaySpecListenerPtrOutputWithContext(ctx context.Context) VirtualGatewaySpecListenerPtrOutput { +func (o VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificatePtrOutput) ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificatePtrOutputWithContext(ctx context.Context) VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificatePtrOutput { return o } -func (o VirtualGatewaySpecListenerPtrOutput) Elem() VirtualGatewaySpecListenerOutput { - return o.ApplyT(func(v *VirtualGatewaySpecListener) VirtualGatewaySpecListener { +func (o VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificatePtrOutput) Elem() VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateOutput { + return o.ApplyT(func(v *VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificate) VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificate { if v != nil { return *v } - var ret VirtualGatewaySpecListener + var ret VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificate return ret - }).(VirtualGatewaySpecListenerOutput) -} - -// Connection pool information for the listener. -func (o VirtualGatewaySpecListenerPtrOutput) ConnectionPool() VirtualGatewaySpecListenerConnectionPoolPtrOutput { - return o.ApplyT(func(v *VirtualGatewaySpecListener) *VirtualGatewaySpecListenerConnectionPool { - if v == nil { - return nil - } - return v.ConnectionPool - }).(VirtualGatewaySpecListenerConnectionPoolPtrOutput) -} - -// Health check information for the listener. -func (o VirtualGatewaySpecListenerPtrOutput) HealthCheck() VirtualGatewaySpecListenerHealthCheckPtrOutput { - return o.ApplyT(func(v *VirtualGatewaySpecListener) *VirtualGatewaySpecListenerHealthCheck { - if v == nil { - return nil - } - return v.HealthCheck - }).(VirtualGatewaySpecListenerHealthCheckPtrOutput) + }).(VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateOutput) } -// Port mapping information for the listener. -func (o VirtualGatewaySpecListenerPtrOutput) PortMapping() VirtualGatewaySpecListenerPortMappingPtrOutput { - return o.ApplyT(func(v *VirtualGatewaySpecListener) *VirtualGatewaySpecListenerPortMapping { +// Local file certificate. +func (o VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificatePtrOutput) File() VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateFilePtrOutput { + return o.ApplyT(func(v *VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificate) *VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateFile { if v == nil { return nil } - return &v.PortMapping - }).(VirtualGatewaySpecListenerPortMappingPtrOutput) + return v.File + }).(VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateFilePtrOutput) } -// Transport Layer Security (TLS) properties for the listener -func (o VirtualGatewaySpecListenerPtrOutput) Tls() VirtualGatewaySpecListenerTlsPtrOutput { - return o.ApplyT(func(v *VirtualGatewaySpecListener) *VirtualGatewaySpecListenerTls { +// A [Secret Discovery Service](https://www.envoyproxy.io/docs/envoy/latest/configuration/security/secret#secret-discovery-service-sds) certificate. +func (o VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificatePtrOutput) Sds() VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateSdsPtrOutput { + return o.ApplyT(func(v *VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificate) *VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateSds { if v == nil { return nil } - return v.Tls - }).(VirtualGatewaySpecListenerTlsPtrOutput) + return v.Sds + }).(VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateSdsPtrOutput) } -type VirtualGatewaySpecListenerConnectionPool struct { - // Connection pool information for gRPC listeners. - Grpc *VirtualGatewaySpecListenerConnectionPoolGrpc `pulumi:"grpc"` - // Connection pool information for HTTP listeners. - Http *VirtualGatewaySpecListenerConnectionPoolHttp `pulumi:"http"` - // Connection pool information for HTTP2 listeners. - Http2 *VirtualGatewaySpecListenerConnectionPoolHttp2 `pulumi:"http2"` +type VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateFile struct { + // Certificate trust chain for a certificate stored on the file system of the mesh endpoint that the proxy is running on. Must be between 1 and 255 characters in length. + CertificateChain string `pulumi:"certificateChain"` + // Private key for a certificate stored on the file system of the mesh endpoint that the proxy is running on. Must be between 1 and 255 characters in length. + PrivateKey string `pulumi:"privateKey"` } -// VirtualGatewaySpecListenerConnectionPoolInput is an input type that accepts VirtualGatewaySpecListenerConnectionPoolArgs and VirtualGatewaySpecListenerConnectionPoolOutput values. -// You can construct a concrete instance of `VirtualGatewaySpecListenerConnectionPoolInput` via: +// VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateFileInput is an input type that accepts VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateFileArgs and VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateFileOutput values. +// You can construct a concrete instance of `VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateFileInput` via: // -// VirtualGatewaySpecListenerConnectionPoolArgs{...} -type VirtualGatewaySpecListenerConnectionPoolInput interface { +// VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateFileArgs{...} +type VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateFileInput interface { pulumi.Input - ToVirtualGatewaySpecListenerConnectionPoolOutput() VirtualGatewaySpecListenerConnectionPoolOutput - ToVirtualGatewaySpecListenerConnectionPoolOutputWithContext(context.Context) VirtualGatewaySpecListenerConnectionPoolOutput + ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateFileOutput() VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateFileOutput + ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateFileOutputWithContext(context.Context) VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateFileOutput } -type VirtualGatewaySpecListenerConnectionPoolArgs struct { - // Connection pool information for gRPC listeners. - Grpc VirtualGatewaySpecListenerConnectionPoolGrpcPtrInput `pulumi:"grpc"` - // Connection pool information for HTTP listeners. - Http VirtualGatewaySpecListenerConnectionPoolHttpPtrInput `pulumi:"http"` - // Connection pool information for HTTP2 listeners. - Http2 VirtualGatewaySpecListenerConnectionPoolHttp2PtrInput `pulumi:"http2"` +type VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateFileArgs struct { + // Certificate trust chain for a certificate stored on the file system of the mesh endpoint that the proxy is running on. Must be between 1 and 255 characters in length. + CertificateChain pulumi.StringInput `pulumi:"certificateChain"` + // Private key for a certificate stored on the file system of the mesh endpoint that the proxy is running on. Must be between 1 and 255 characters in length. + PrivateKey pulumi.StringInput `pulumi:"privateKey"` } -func (VirtualGatewaySpecListenerConnectionPoolArgs) ElementType() reflect.Type { - return reflect.TypeOf((*VirtualGatewaySpecListenerConnectionPool)(nil)).Elem() +func (VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateFileArgs) ElementType() reflect.Type { + return reflect.TypeOf((*VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateFile)(nil)).Elem() } -func (i VirtualGatewaySpecListenerConnectionPoolArgs) ToVirtualGatewaySpecListenerConnectionPoolOutput() VirtualGatewaySpecListenerConnectionPoolOutput { - return i.ToVirtualGatewaySpecListenerConnectionPoolOutputWithContext(context.Background()) +func (i VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateFileArgs) ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateFileOutput() VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateFileOutput { + return i.ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateFileOutputWithContext(context.Background()) } -func (i VirtualGatewaySpecListenerConnectionPoolArgs) ToVirtualGatewaySpecListenerConnectionPoolOutputWithContext(ctx context.Context) VirtualGatewaySpecListenerConnectionPoolOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualGatewaySpecListenerConnectionPoolOutput) +func (i VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateFileArgs) ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateFileOutputWithContext(ctx context.Context) VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateFileOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateFileOutput) } -func (i VirtualGatewaySpecListenerConnectionPoolArgs) ToVirtualGatewaySpecListenerConnectionPoolPtrOutput() VirtualGatewaySpecListenerConnectionPoolPtrOutput { - return i.ToVirtualGatewaySpecListenerConnectionPoolPtrOutputWithContext(context.Background()) +func (i VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateFileArgs) ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateFilePtrOutput() VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateFilePtrOutput { + return i.ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateFilePtrOutputWithContext(context.Background()) } -func (i VirtualGatewaySpecListenerConnectionPoolArgs) ToVirtualGatewaySpecListenerConnectionPoolPtrOutputWithContext(ctx context.Context) VirtualGatewaySpecListenerConnectionPoolPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualGatewaySpecListenerConnectionPoolOutput).ToVirtualGatewaySpecListenerConnectionPoolPtrOutputWithContext(ctx) +func (i VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateFileArgs) ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateFilePtrOutputWithContext(ctx context.Context) VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateFilePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateFileOutput).ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateFilePtrOutputWithContext(ctx) } -// VirtualGatewaySpecListenerConnectionPoolPtrInput is an input type that accepts VirtualGatewaySpecListenerConnectionPoolArgs, VirtualGatewaySpecListenerConnectionPoolPtr and VirtualGatewaySpecListenerConnectionPoolPtrOutput values. -// You can construct a concrete instance of `VirtualGatewaySpecListenerConnectionPoolPtrInput` via: +// VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateFilePtrInput is an input type that accepts VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateFileArgs, VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateFilePtr and VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateFilePtrOutput values. +// You can construct a concrete instance of `VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateFilePtrInput` via: // -// VirtualGatewaySpecListenerConnectionPoolArgs{...} +// VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateFileArgs{...} // // or: // // nil -type VirtualGatewaySpecListenerConnectionPoolPtrInput interface { +type VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateFilePtrInput interface { pulumi.Input - ToVirtualGatewaySpecListenerConnectionPoolPtrOutput() VirtualGatewaySpecListenerConnectionPoolPtrOutput - ToVirtualGatewaySpecListenerConnectionPoolPtrOutputWithContext(context.Context) VirtualGatewaySpecListenerConnectionPoolPtrOutput + ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateFilePtrOutput() VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateFilePtrOutput + ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateFilePtrOutputWithContext(context.Context) VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateFilePtrOutput } -type virtualGatewaySpecListenerConnectionPoolPtrType VirtualGatewaySpecListenerConnectionPoolArgs +type virtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateFilePtrType VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateFileArgs -func VirtualGatewaySpecListenerConnectionPoolPtr(v *VirtualGatewaySpecListenerConnectionPoolArgs) VirtualGatewaySpecListenerConnectionPoolPtrInput { - return (*virtualGatewaySpecListenerConnectionPoolPtrType)(v) +func VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateFilePtr(v *VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateFileArgs) VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateFilePtrInput { + return (*virtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateFilePtrType)(v) } -func (*virtualGatewaySpecListenerConnectionPoolPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**VirtualGatewaySpecListenerConnectionPool)(nil)).Elem() +func (*virtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateFilePtrType) ElementType() reflect.Type { + return reflect.TypeOf((**VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateFile)(nil)).Elem() } -func (i *virtualGatewaySpecListenerConnectionPoolPtrType) ToVirtualGatewaySpecListenerConnectionPoolPtrOutput() VirtualGatewaySpecListenerConnectionPoolPtrOutput { - return i.ToVirtualGatewaySpecListenerConnectionPoolPtrOutputWithContext(context.Background()) +func (i *virtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateFilePtrType) ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateFilePtrOutput() VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateFilePtrOutput { + return i.ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateFilePtrOutputWithContext(context.Background()) } -func (i *virtualGatewaySpecListenerConnectionPoolPtrType) ToVirtualGatewaySpecListenerConnectionPoolPtrOutputWithContext(ctx context.Context) VirtualGatewaySpecListenerConnectionPoolPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualGatewaySpecListenerConnectionPoolPtrOutput) +func (i *virtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateFilePtrType) ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateFilePtrOutputWithContext(ctx context.Context) VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateFilePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateFilePtrOutput) } -type VirtualGatewaySpecListenerConnectionPoolOutput struct{ *pulumi.OutputState } +type VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateFileOutput struct{ *pulumi.OutputState } -func (VirtualGatewaySpecListenerConnectionPoolOutput) ElementType() reflect.Type { - return reflect.TypeOf((*VirtualGatewaySpecListenerConnectionPool)(nil)).Elem() +func (VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateFileOutput) ElementType() reflect.Type { + return reflect.TypeOf((*VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateFile)(nil)).Elem() } -func (o VirtualGatewaySpecListenerConnectionPoolOutput) ToVirtualGatewaySpecListenerConnectionPoolOutput() VirtualGatewaySpecListenerConnectionPoolOutput { +func (o VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateFileOutput) ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateFileOutput() VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateFileOutput { return o } -func (o VirtualGatewaySpecListenerConnectionPoolOutput) ToVirtualGatewaySpecListenerConnectionPoolOutputWithContext(ctx context.Context) VirtualGatewaySpecListenerConnectionPoolOutput { +func (o VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateFileOutput) ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateFileOutputWithContext(ctx context.Context) VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateFileOutput { return o } -func (o VirtualGatewaySpecListenerConnectionPoolOutput) ToVirtualGatewaySpecListenerConnectionPoolPtrOutput() VirtualGatewaySpecListenerConnectionPoolPtrOutput { - return o.ToVirtualGatewaySpecListenerConnectionPoolPtrOutputWithContext(context.Background()) +func (o VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateFileOutput) ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateFilePtrOutput() VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateFilePtrOutput { + return o.ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateFilePtrOutputWithContext(context.Background()) } -func (o VirtualGatewaySpecListenerConnectionPoolOutput) ToVirtualGatewaySpecListenerConnectionPoolPtrOutputWithContext(ctx context.Context) VirtualGatewaySpecListenerConnectionPoolPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v VirtualGatewaySpecListenerConnectionPool) *VirtualGatewaySpecListenerConnectionPool { +func (o VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateFileOutput) ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateFilePtrOutputWithContext(ctx context.Context) VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateFilePtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateFile) *VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateFile { return &v - }).(VirtualGatewaySpecListenerConnectionPoolPtrOutput) -} - -// Connection pool information for gRPC listeners. -func (o VirtualGatewaySpecListenerConnectionPoolOutput) Grpc() VirtualGatewaySpecListenerConnectionPoolGrpcPtrOutput { - return o.ApplyT(func(v VirtualGatewaySpecListenerConnectionPool) *VirtualGatewaySpecListenerConnectionPoolGrpc { - return v.Grpc - }).(VirtualGatewaySpecListenerConnectionPoolGrpcPtrOutput) + }).(VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateFilePtrOutput) } -// Connection pool information for HTTP listeners. -func (o VirtualGatewaySpecListenerConnectionPoolOutput) Http() VirtualGatewaySpecListenerConnectionPoolHttpPtrOutput { - return o.ApplyT(func(v VirtualGatewaySpecListenerConnectionPool) *VirtualGatewaySpecListenerConnectionPoolHttp { - return v.Http - }).(VirtualGatewaySpecListenerConnectionPoolHttpPtrOutput) +// Certificate trust chain for a certificate stored on the file system of the mesh endpoint that the proxy is running on. Must be between 1 and 255 characters in length. +func (o VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateFileOutput) CertificateChain() pulumi.StringOutput { + return o.ApplyT(func(v VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateFile) string { + return v.CertificateChain + }).(pulumi.StringOutput) } -// Connection pool information for HTTP2 listeners. -func (o VirtualGatewaySpecListenerConnectionPoolOutput) Http2() VirtualGatewaySpecListenerConnectionPoolHttp2PtrOutput { - return o.ApplyT(func(v VirtualGatewaySpecListenerConnectionPool) *VirtualGatewaySpecListenerConnectionPoolHttp2 { - return v.Http2 - }).(VirtualGatewaySpecListenerConnectionPoolHttp2PtrOutput) +// Private key for a certificate stored on the file system of the mesh endpoint that the proxy is running on. Must be between 1 and 255 characters in length. +func (o VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateFileOutput) PrivateKey() pulumi.StringOutput { + return o.ApplyT(func(v VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateFile) string { return v.PrivateKey }).(pulumi.StringOutput) } -type VirtualGatewaySpecListenerConnectionPoolPtrOutput struct{ *pulumi.OutputState } +type VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateFilePtrOutput struct{ *pulumi.OutputState } -func (VirtualGatewaySpecListenerConnectionPoolPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**VirtualGatewaySpecListenerConnectionPool)(nil)).Elem() +func (VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateFilePtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateFile)(nil)).Elem() } -func (o VirtualGatewaySpecListenerConnectionPoolPtrOutput) ToVirtualGatewaySpecListenerConnectionPoolPtrOutput() VirtualGatewaySpecListenerConnectionPoolPtrOutput { +func (o VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateFilePtrOutput) ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateFilePtrOutput() VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateFilePtrOutput { return o } -func (o VirtualGatewaySpecListenerConnectionPoolPtrOutput) ToVirtualGatewaySpecListenerConnectionPoolPtrOutputWithContext(ctx context.Context) VirtualGatewaySpecListenerConnectionPoolPtrOutput { +func (o VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateFilePtrOutput) ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateFilePtrOutputWithContext(ctx context.Context) VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateFilePtrOutput { return o } -func (o VirtualGatewaySpecListenerConnectionPoolPtrOutput) Elem() VirtualGatewaySpecListenerConnectionPoolOutput { - return o.ApplyT(func(v *VirtualGatewaySpecListenerConnectionPool) VirtualGatewaySpecListenerConnectionPool { +func (o VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateFilePtrOutput) Elem() VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateFileOutput { + return o.ApplyT(func(v *VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateFile) VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateFile { if v != nil { return *v } - var ret VirtualGatewaySpecListenerConnectionPool + var ret VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateFile return ret - }).(VirtualGatewaySpecListenerConnectionPoolOutput) -} - -// Connection pool information for gRPC listeners. -func (o VirtualGatewaySpecListenerConnectionPoolPtrOutput) Grpc() VirtualGatewaySpecListenerConnectionPoolGrpcPtrOutput { - return o.ApplyT(func(v *VirtualGatewaySpecListenerConnectionPool) *VirtualGatewaySpecListenerConnectionPoolGrpc { - if v == nil { - return nil - } - return v.Grpc - }).(VirtualGatewaySpecListenerConnectionPoolGrpcPtrOutput) + }).(VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateFileOutput) } -// Connection pool information for HTTP listeners. -func (o VirtualGatewaySpecListenerConnectionPoolPtrOutput) Http() VirtualGatewaySpecListenerConnectionPoolHttpPtrOutput { - return o.ApplyT(func(v *VirtualGatewaySpecListenerConnectionPool) *VirtualGatewaySpecListenerConnectionPoolHttp { +// Certificate trust chain for a certificate stored on the file system of the mesh endpoint that the proxy is running on. Must be between 1 and 255 characters in length. +func (o VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateFilePtrOutput) CertificateChain() pulumi.StringPtrOutput { + return o.ApplyT(func(v *VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateFile) *string { if v == nil { return nil } - return v.Http - }).(VirtualGatewaySpecListenerConnectionPoolHttpPtrOutput) + return &v.CertificateChain + }).(pulumi.StringPtrOutput) } -// Connection pool information for HTTP2 listeners. -func (o VirtualGatewaySpecListenerConnectionPoolPtrOutput) Http2() VirtualGatewaySpecListenerConnectionPoolHttp2PtrOutput { - return o.ApplyT(func(v *VirtualGatewaySpecListenerConnectionPool) *VirtualGatewaySpecListenerConnectionPoolHttp2 { +// Private key for a certificate stored on the file system of the mesh endpoint that the proxy is running on. Must be between 1 and 255 characters in length. +func (o VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateFilePtrOutput) PrivateKey() pulumi.StringPtrOutput { + return o.ApplyT(func(v *VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateFile) *string { if v == nil { return nil } - return v.Http2 - }).(VirtualGatewaySpecListenerConnectionPoolHttp2PtrOutput) + return &v.PrivateKey + }).(pulumi.StringPtrOutput) } -type VirtualGatewaySpecListenerConnectionPoolGrpc struct { - // Maximum number of inflight requests Envoy can concurrently support across hosts in upstream cluster. Minimum value of `1`. - MaxRequests int `pulumi:"maxRequests"` +type VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateSds struct { + // Name of the secret for a virtual gateway's Transport Layer Security (TLS) Secret Discovery Service validation context trust. + SecretName string `pulumi:"secretName"` } -// VirtualGatewaySpecListenerConnectionPoolGrpcInput is an input type that accepts VirtualGatewaySpecListenerConnectionPoolGrpcArgs and VirtualGatewaySpecListenerConnectionPoolGrpcOutput values. -// You can construct a concrete instance of `VirtualGatewaySpecListenerConnectionPoolGrpcInput` via: +// VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateSdsInput is an input type that accepts VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateSdsArgs and VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateSdsOutput values. +// You can construct a concrete instance of `VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateSdsInput` via: // -// VirtualGatewaySpecListenerConnectionPoolGrpcArgs{...} -type VirtualGatewaySpecListenerConnectionPoolGrpcInput interface { +// VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateSdsArgs{...} +type VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateSdsInput interface { pulumi.Input - ToVirtualGatewaySpecListenerConnectionPoolGrpcOutput() VirtualGatewaySpecListenerConnectionPoolGrpcOutput - ToVirtualGatewaySpecListenerConnectionPoolGrpcOutputWithContext(context.Context) VirtualGatewaySpecListenerConnectionPoolGrpcOutput + ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateSdsOutput() VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateSdsOutput + ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateSdsOutputWithContext(context.Context) VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateSdsOutput } -type VirtualGatewaySpecListenerConnectionPoolGrpcArgs struct { - // Maximum number of inflight requests Envoy can concurrently support across hosts in upstream cluster. Minimum value of `1`. - MaxRequests pulumi.IntInput `pulumi:"maxRequests"` +type VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateSdsArgs struct { + // Name of the secret for a virtual gateway's Transport Layer Security (TLS) Secret Discovery Service validation context trust. + SecretName pulumi.StringInput `pulumi:"secretName"` } -func (VirtualGatewaySpecListenerConnectionPoolGrpcArgs) ElementType() reflect.Type { - return reflect.TypeOf((*VirtualGatewaySpecListenerConnectionPoolGrpc)(nil)).Elem() +func (VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateSdsArgs) ElementType() reflect.Type { + return reflect.TypeOf((*VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateSds)(nil)).Elem() } -func (i VirtualGatewaySpecListenerConnectionPoolGrpcArgs) ToVirtualGatewaySpecListenerConnectionPoolGrpcOutput() VirtualGatewaySpecListenerConnectionPoolGrpcOutput { - return i.ToVirtualGatewaySpecListenerConnectionPoolGrpcOutputWithContext(context.Background()) +func (i VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateSdsArgs) ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateSdsOutput() VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateSdsOutput { + return i.ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateSdsOutputWithContext(context.Background()) } -func (i VirtualGatewaySpecListenerConnectionPoolGrpcArgs) ToVirtualGatewaySpecListenerConnectionPoolGrpcOutputWithContext(ctx context.Context) VirtualGatewaySpecListenerConnectionPoolGrpcOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualGatewaySpecListenerConnectionPoolGrpcOutput) +func (i VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateSdsArgs) ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateSdsOutputWithContext(ctx context.Context) VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateSdsOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateSdsOutput) } -func (i VirtualGatewaySpecListenerConnectionPoolGrpcArgs) ToVirtualGatewaySpecListenerConnectionPoolGrpcPtrOutput() VirtualGatewaySpecListenerConnectionPoolGrpcPtrOutput { - return i.ToVirtualGatewaySpecListenerConnectionPoolGrpcPtrOutputWithContext(context.Background()) +func (i VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateSdsArgs) ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateSdsPtrOutput() VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateSdsPtrOutput { + return i.ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateSdsPtrOutputWithContext(context.Background()) } -func (i VirtualGatewaySpecListenerConnectionPoolGrpcArgs) ToVirtualGatewaySpecListenerConnectionPoolGrpcPtrOutputWithContext(ctx context.Context) VirtualGatewaySpecListenerConnectionPoolGrpcPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualGatewaySpecListenerConnectionPoolGrpcOutput).ToVirtualGatewaySpecListenerConnectionPoolGrpcPtrOutputWithContext(ctx) +func (i VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateSdsArgs) ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateSdsPtrOutputWithContext(ctx context.Context) VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateSdsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateSdsOutput).ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateSdsPtrOutputWithContext(ctx) } -// VirtualGatewaySpecListenerConnectionPoolGrpcPtrInput is an input type that accepts VirtualGatewaySpecListenerConnectionPoolGrpcArgs, VirtualGatewaySpecListenerConnectionPoolGrpcPtr and VirtualGatewaySpecListenerConnectionPoolGrpcPtrOutput values. -// You can construct a concrete instance of `VirtualGatewaySpecListenerConnectionPoolGrpcPtrInput` via: +// VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateSdsPtrInput is an input type that accepts VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateSdsArgs, VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateSdsPtr and VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateSdsPtrOutput values. +// You can construct a concrete instance of `VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateSdsPtrInput` via: // -// VirtualGatewaySpecListenerConnectionPoolGrpcArgs{...} +// VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateSdsArgs{...} // // or: // // nil -type VirtualGatewaySpecListenerConnectionPoolGrpcPtrInput interface { +type VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateSdsPtrInput interface { pulumi.Input - ToVirtualGatewaySpecListenerConnectionPoolGrpcPtrOutput() VirtualGatewaySpecListenerConnectionPoolGrpcPtrOutput - ToVirtualGatewaySpecListenerConnectionPoolGrpcPtrOutputWithContext(context.Context) VirtualGatewaySpecListenerConnectionPoolGrpcPtrOutput + ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateSdsPtrOutput() VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateSdsPtrOutput + ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateSdsPtrOutputWithContext(context.Context) VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateSdsPtrOutput } -type virtualGatewaySpecListenerConnectionPoolGrpcPtrType VirtualGatewaySpecListenerConnectionPoolGrpcArgs +type virtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateSdsPtrType VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateSdsArgs -func VirtualGatewaySpecListenerConnectionPoolGrpcPtr(v *VirtualGatewaySpecListenerConnectionPoolGrpcArgs) VirtualGatewaySpecListenerConnectionPoolGrpcPtrInput { - return (*virtualGatewaySpecListenerConnectionPoolGrpcPtrType)(v) +func VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateSdsPtr(v *VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateSdsArgs) VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateSdsPtrInput { + return (*virtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateSdsPtrType)(v) } -func (*virtualGatewaySpecListenerConnectionPoolGrpcPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**VirtualGatewaySpecListenerConnectionPoolGrpc)(nil)).Elem() +func (*virtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateSdsPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateSds)(nil)).Elem() } -func (i *virtualGatewaySpecListenerConnectionPoolGrpcPtrType) ToVirtualGatewaySpecListenerConnectionPoolGrpcPtrOutput() VirtualGatewaySpecListenerConnectionPoolGrpcPtrOutput { - return i.ToVirtualGatewaySpecListenerConnectionPoolGrpcPtrOutputWithContext(context.Background()) +func (i *virtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateSdsPtrType) ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateSdsPtrOutput() VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateSdsPtrOutput { + return i.ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateSdsPtrOutputWithContext(context.Background()) } -func (i *virtualGatewaySpecListenerConnectionPoolGrpcPtrType) ToVirtualGatewaySpecListenerConnectionPoolGrpcPtrOutputWithContext(ctx context.Context) VirtualGatewaySpecListenerConnectionPoolGrpcPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualGatewaySpecListenerConnectionPoolGrpcPtrOutput) +func (i *virtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateSdsPtrType) ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateSdsPtrOutputWithContext(ctx context.Context) VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateSdsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateSdsPtrOutput) } -type VirtualGatewaySpecListenerConnectionPoolGrpcOutput struct{ *pulumi.OutputState } +type VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateSdsOutput struct{ *pulumi.OutputState } -func (VirtualGatewaySpecListenerConnectionPoolGrpcOutput) ElementType() reflect.Type { - return reflect.TypeOf((*VirtualGatewaySpecListenerConnectionPoolGrpc)(nil)).Elem() +func (VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateSdsOutput) ElementType() reflect.Type { + return reflect.TypeOf((*VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateSds)(nil)).Elem() } -func (o VirtualGatewaySpecListenerConnectionPoolGrpcOutput) ToVirtualGatewaySpecListenerConnectionPoolGrpcOutput() VirtualGatewaySpecListenerConnectionPoolGrpcOutput { +func (o VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateSdsOutput) ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateSdsOutput() VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateSdsOutput { return o } -func (o VirtualGatewaySpecListenerConnectionPoolGrpcOutput) ToVirtualGatewaySpecListenerConnectionPoolGrpcOutputWithContext(ctx context.Context) VirtualGatewaySpecListenerConnectionPoolGrpcOutput { +func (o VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateSdsOutput) ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateSdsOutputWithContext(ctx context.Context) VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateSdsOutput { return o } -func (o VirtualGatewaySpecListenerConnectionPoolGrpcOutput) ToVirtualGatewaySpecListenerConnectionPoolGrpcPtrOutput() VirtualGatewaySpecListenerConnectionPoolGrpcPtrOutput { - return o.ToVirtualGatewaySpecListenerConnectionPoolGrpcPtrOutputWithContext(context.Background()) +func (o VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateSdsOutput) ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateSdsPtrOutput() VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateSdsPtrOutput { + return o.ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateSdsPtrOutputWithContext(context.Background()) } -func (o VirtualGatewaySpecListenerConnectionPoolGrpcOutput) ToVirtualGatewaySpecListenerConnectionPoolGrpcPtrOutputWithContext(ctx context.Context) VirtualGatewaySpecListenerConnectionPoolGrpcPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v VirtualGatewaySpecListenerConnectionPoolGrpc) *VirtualGatewaySpecListenerConnectionPoolGrpc { +func (o VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateSdsOutput) ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateSdsPtrOutputWithContext(ctx context.Context) VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateSdsPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateSds) *VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateSds { return &v - }).(VirtualGatewaySpecListenerConnectionPoolGrpcPtrOutput) + }).(VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateSdsPtrOutput) } -// Maximum number of inflight requests Envoy can concurrently support across hosts in upstream cluster. Minimum value of `1`. -func (o VirtualGatewaySpecListenerConnectionPoolGrpcOutput) MaxRequests() pulumi.IntOutput { - return o.ApplyT(func(v VirtualGatewaySpecListenerConnectionPoolGrpc) int { return v.MaxRequests }).(pulumi.IntOutput) +// Name of the secret for a virtual gateway's Transport Layer Security (TLS) Secret Discovery Service validation context trust. +func (o VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateSdsOutput) SecretName() pulumi.StringOutput { + return o.ApplyT(func(v VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateSds) string { return v.SecretName }).(pulumi.StringOutput) } -type VirtualGatewaySpecListenerConnectionPoolGrpcPtrOutput struct{ *pulumi.OutputState } +type VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateSdsPtrOutput struct{ *pulumi.OutputState } -func (VirtualGatewaySpecListenerConnectionPoolGrpcPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**VirtualGatewaySpecListenerConnectionPoolGrpc)(nil)).Elem() +func (VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateSdsPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateSds)(nil)).Elem() } -func (o VirtualGatewaySpecListenerConnectionPoolGrpcPtrOutput) ToVirtualGatewaySpecListenerConnectionPoolGrpcPtrOutput() VirtualGatewaySpecListenerConnectionPoolGrpcPtrOutput { +func (o VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateSdsPtrOutput) ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateSdsPtrOutput() VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateSdsPtrOutput { return o } -func (o VirtualGatewaySpecListenerConnectionPoolGrpcPtrOutput) ToVirtualGatewaySpecListenerConnectionPoolGrpcPtrOutputWithContext(ctx context.Context) VirtualGatewaySpecListenerConnectionPoolGrpcPtrOutput { +func (o VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateSdsPtrOutput) ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateSdsPtrOutputWithContext(ctx context.Context) VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateSdsPtrOutput { return o } -func (o VirtualGatewaySpecListenerConnectionPoolGrpcPtrOutput) Elem() VirtualGatewaySpecListenerConnectionPoolGrpcOutput { - return o.ApplyT(func(v *VirtualGatewaySpecListenerConnectionPoolGrpc) VirtualGatewaySpecListenerConnectionPoolGrpc { +func (o VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateSdsPtrOutput) Elem() VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateSdsOutput { + return o.ApplyT(func(v *VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateSds) VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateSds { if v != nil { return *v } - var ret VirtualGatewaySpecListenerConnectionPoolGrpc + var ret VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateSds return ret - }).(VirtualGatewaySpecListenerConnectionPoolGrpcOutput) + }).(VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateSdsOutput) } -// Maximum number of inflight requests Envoy can concurrently support across hosts in upstream cluster. Minimum value of `1`. -func (o VirtualGatewaySpecListenerConnectionPoolGrpcPtrOutput) MaxRequests() pulumi.IntPtrOutput { - return o.ApplyT(func(v *VirtualGatewaySpecListenerConnectionPoolGrpc) *int { +// Name of the secret for a virtual gateway's Transport Layer Security (TLS) Secret Discovery Service validation context trust. +func (o VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateSdsPtrOutput) SecretName() pulumi.StringPtrOutput { + return o.ApplyT(func(v *VirtualGatewaySpecBackendDefaultsClientPolicyTlsCertificateSds) *string { if v == nil { return nil } - return &v.MaxRequests - }).(pulumi.IntPtrOutput) + return &v.SecretName + }).(pulumi.StringPtrOutput) } -type VirtualGatewaySpecListenerConnectionPoolHttp2 struct { - // Maximum number of inflight requests Envoy can concurrently support across hosts in upstream cluster. Minimum value of `1`. - MaxRequests int `pulumi:"maxRequests"` +type VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidation struct { + // SANs for a virtual gateway's listener's Transport Layer Security (TLS) validation context. + SubjectAlternativeNames *VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNames `pulumi:"subjectAlternativeNames"` + // TLS validation context trust. + Trust VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrust `pulumi:"trust"` } -// VirtualGatewaySpecListenerConnectionPoolHttp2Input is an input type that accepts VirtualGatewaySpecListenerConnectionPoolHttp2Args and VirtualGatewaySpecListenerConnectionPoolHttp2Output values. -// You can construct a concrete instance of `VirtualGatewaySpecListenerConnectionPoolHttp2Input` via: +// VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationInput is an input type that accepts VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationArgs and VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationOutput values. +// You can construct a concrete instance of `VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationInput` via: // -// VirtualGatewaySpecListenerConnectionPoolHttp2Args{...} -type VirtualGatewaySpecListenerConnectionPoolHttp2Input interface { +// VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationArgs{...} +type VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationInput interface { pulumi.Input - ToVirtualGatewaySpecListenerConnectionPoolHttp2Output() VirtualGatewaySpecListenerConnectionPoolHttp2Output - ToVirtualGatewaySpecListenerConnectionPoolHttp2OutputWithContext(context.Context) VirtualGatewaySpecListenerConnectionPoolHttp2Output + ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationOutput() VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationOutput + ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationOutputWithContext(context.Context) VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationOutput } -type VirtualGatewaySpecListenerConnectionPoolHttp2Args struct { - // Maximum number of inflight requests Envoy can concurrently support across hosts in upstream cluster. Minimum value of `1`. - MaxRequests pulumi.IntInput `pulumi:"maxRequests"` +type VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationArgs struct { + // SANs for a virtual gateway's listener's Transport Layer Security (TLS) validation context. + SubjectAlternativeNames VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesPtrInput `pulumi:"subjectAlternativeNames"` + // TLS validation context trust. + Trust VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustInput `pulumi:"trust"` } -func (VirtualGatewaySpecListenerConnectionPoolHttp2Args) ElementType() reflect.Type { - return reflect.TypeOf((*VirtualGatewaySpecListenerConnectionPoolHttp2)(nil)).Elem() +func (VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationArgs) ElementType() reflect.Type { + return reflect.TypeOf((*VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidation)(nil)).Elem() } -func (i VirtualGatewaySpecListenerConnectionPoolHttp2Args) ToVirtualGatewaySpecListenerConnectionPoolHttp2Output() VirtualGatewaySpecListenerConnectionPoolHttp2Output { - return i.ToVirtualGatewaySpecListenerConnectionPoolHttp2OutputWithContext(context.Background()) +func (i VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationArgs) ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationOutput() VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationOutput { + return i.ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationOutputWithContext(context.Background()) } -func (i VirtualGatewaySpecListenerConnectionPoolHttp2Args) ToVirtualGatewaySpecListenerConnectionPoolHttp2OutputWithContext(ctx context.Context) VirtualGatewaySpecListenerConnectionPoolHttp2Output { - return pulumi.ToOutputWithContext(ctx, i).(VirtualGatewaySpecListenerConnectionPoolHttp2Output) +func (i VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationArgs) ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationOutputWithContext(ctx context.Context) VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationOutput) } -func (i VirtualGatewaySpecListenerConnectionPoolHttp2Args) ToVirtualGatewaySpecListenerConnectionPoolHttp2PtrOutput() VirtualGatewaySpecListenerConnectionPoolHttp2PtrOutput { - return i.ToVirtualGatewaySpecListenerConnectionPoolHttp2PtrOutputWithContext(context.Background()) +func (i VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationArgs) ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationPtrOutput() VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationPtrOutput { + return i.ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationPtrOutputWithContext(context.Background()) } -func (i VirtualGatewaySpecListenerConnectionPoolHttp2Args) ToVirtualGatewaySpecListenerConnectionPoolHttp2PtrOutputWithContext(ctx context.Context) VirtualGatewaySpecListenerConnectionPoolHttp2PtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualGatewaySpecListenerConnectionPoolHttp2Output).ToVirtualGatewaySpecListenerConnectionPoolHttp2PtrOutputWithContext(ctx) +func (i VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationArgs) ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationPtrOutputWithContext(ctx context.Context) VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationOutput).ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationPtrOutputWithContext(ctx) } -// VirtualGatewaySpecListenerConnectionPoolHttp2PtrInput is an input type that accepts VirtualGatewaySpecListenerConnectionPoolHttp2Args, VirtualGatewaySpecListenerConnectionPoolHttp2Ptr and VirtualGatewaySpecListenerConnectionPoolHttp2PtrOutput values. -// You can construct a concrete instance of `VirtualGatewaySpecListenerConnectionPoolHttp2PtrInput` via: +// VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationPtrInput is an input type that accepts VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationArgs, VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationPtr and VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationPtrOutput values. +// You can construct a concrete instance of `VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationPtrInput` via: // -// VirtualGatewaySpecListenerConnectionPoolHttp2Args{...} +// VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationArgs{...} // // or: // // nil -type VirtualGatewaySpecListenerConnectionPoolHttp2PtrInput interface { +type VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationPtrInput interface { pulumi.Input - ToVirtualGatewaySpecListenerConnectionPoolHttp2PtrOutput() VirtualGatewaySpecListenerConnectionPoolHttp2PtrOutput - ToVirtualGatewaySpecListenerConnectionPoolHttp2PtrOutputWithContext(context.Context) VirtualGatewaySpecListenerConnectionPoolHttp2PtrOutput + ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationPtrOutput() VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationPtrOutput + ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationPtrOutputWithContext(context.Context) VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationPtrOutput } -type virtualGatewaySpecListenerConnectionPoolHttp2PtrType VirtualGatewaySpecListenerConnectionPoolHttp2Args +type virtualGatewaySpecBackendDefaultsClientPolicyTlsValidationPtrType VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationArgs -func VirtualGatewaySpecListenerConnectionPoolHttp2Ptr(v *VirtualGatewaySpecListenerConnectionPoolHttp2Args) VirtualGatewaySpecListenerConnectionPoolHttp2PtrInput { - return (*virtualGatewaySpecListenerConnectionPoolHttp2PtrType)(v) +func VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationPtr(v *VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationArgs) VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationPtrInput { + return (*virtualGatewaySpecBackendDefaultsClientPolicyTlsValidationPtrType)(v) } -func (*virtualGatewaySpecListenerConnectionPoolHttp2PtrType) ElementType() reflect.Type { - return reflect.TypeOf((**VirtualGatewaySpecListenerConnectionPoolHttp2)(nil)).Elem() +func (*virtualGatewaySpecBackendDefaultsClientPolicyTlsValidationPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidation)(nil)).Elem() } -func (i *virtualGatewaySpecListenerConnectionPoolHttp2PtrType) ToVirtualGatewaySpecListenerConnectionPoolHttp2PtrOutput() VirtualGatewaySpecListenerConnectionPoolHttp2PtrOutput { - return i.ToVirtualGatewaySpecListenerConnectionPoolHttp2PtrOutputWithContext(context.Background()) +func (i *virtualGatewaySpecBackendDefaultsClientPolicyTlsValidationPtrType) ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationPtrOutput() VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationPtrOutput { + return i.ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationPtrOutputWithContext(context.Background()) } -func (i *virtualGatewaySpecListenerConnectionPoolHttp2PtrType) ToVirtualGatewaySpecListenerConnectionPoolHttp2PtrOutputWithContext(ctx context.Context) VirtualGatewaySpecListenerConnectionPoolHttp2PtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualGatewaySpecListenerConnectionPoolHttp2PtrOutput) +func (i *virtualGatewaySpecBackendDefaultsClientPolicyTlsValidationPtrType) ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationPtrOutputWithContext(ctx context.Context) VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationPtrOutput) } -type VirtualGatewaySpecListenerConnectionPoolHttp2Output struct{ *pulumi.OutputState } +type VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationOutput struct{ *pulumi.OutputState } -func (VirtualGatewaySpecListenerConnectionPoolHttp2Output) ElementType() reflect.Type { - return reflect.TypeOf((*VirtualGatewaySpecListenerConnectionPoolHttp2)(nil)).Elem() +func (VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationOutput) ElementType() reflect.Type { + return reflect.TypeOf((*VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidation)(nil)).Elem() } -func (o VirtualGatewaySpecListenerConnectionPoolHttp2Output) ToVirtualGatewaySpecListenerConnectionPoolHttp2Output() VirtualGatewaySpecListenerConnectionPoolHttp2Output { +func (o VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationOutput) ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationOutput() VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationOutput { return o } -func (o VirtualGatewaySpecListenerConnectionPoolHttp2Output) ToVirtualGatewaySpecListenerConnectionPoolHttp2OutputWithContext(ctx context.Context) VirtualGatewaySpecListenerConnectionPoolHttp2Output { +func (o VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationOutput) ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationOutputWithContext(ctx context.Context) VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationOutput { return o } -func (o VirtualGatewaySpecListenerConnectionPoolHttp2Output) ToVirtualGatewaySpecListenerConnectionPoolHttp2PtrOutput() VirtualGatewaySpecListenerConnectionPoolHttp2PtrOutput { - return o.ToVirtualGatewaySpecListenerConnectionPoolHttp2PtrOutputWithContext(context.Background()) +func (o VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationOutput) ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationPtrOutput() VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationPtrOutput { + return o.ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationPtrOutputWithContext(context.Background()) } -func (o VirtualGatewaySpecListenerConnectionPoolHttp2Output) ToVirtualGatewaySpecListenerConnectionPoolHttp2PtrOutputWithContext(ctx context.Context) VirtualGatewaySpecListenerConnectionPoolHttp2PtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v VirtualGatewaySpecListenerConnectionPoolHttp2) *VirtualGatewaySpecListenerConnectionPoolHttp2 { +func (o VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationOutput) ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationPtrOutputWithContext(ctx context.Context) VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidation) *VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidation { return &v - }).(VirtualGatewaySpecListenerConnectionPoolHttp2PtrOutput) + }).(VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationPtrOutput) } -// Maximum number of inflight requests Envoy can concurrently support across hosts in upstream cluster. Minimum value of `1`. -func (o VirtualGatewaySpecListenerConnectionPoolHttp2Output) MaxRequests() pulumi.IntOutput { - return o.ApplyT(func(v VirtualGatewaySpecListenerConnectionPoolHttp2) int { return v.MaxRequests }).(pulumi.IntOutput) +// SANs for a virtual gateway's listener's Transport Layer Security (TLS) validation context. +func (o VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationOutput) SubjectAlternativeNames() VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesPtrOutput { + return o.ApplyT(func(v VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidation) *VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNames { + return v.SubjectAlternativeNames + }).(VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesPtrOutput) } -type VirtualGatewaySpecListenerConnectionPoolHttp2PtrOutput struct{ *pulumi.OutputState } +// TLS validation context trust. +func (o VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationOutput) Trust() VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustOutput { + return o.ApplyT(func(v VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidation) VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrust { + return v.Trust + }).(VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustOutput) +} -func (VirtualGatewaySpecListenerConnectionPoolHttp2PtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**VirtualGatewaySpecListenerConnectionPoolHttp2)(nil)).Elem() +type VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationPtrOutput struct{ *pulumi.OutputState } + +func (VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidation)(nil)).Elem() } -func (o VirtualGatewaySpecListenerConnectionPoolHttp2PtrOutput) ToVirtualGatewaySpecListenerConnectionPoolHttp2PtrOutput() VirtualGatewaySpecListenerConnectionPoolHttp2PtrOutput { +func (o VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationPtrOutput) ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationPtrOutput() VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationPtrOutput { return o } -func (o VirtualGatewaySpecListenerConnectionPoolHttp2PtrOutput) ToVirtualGatewaySpecListenerConnectionPoolHttp2PtrOutputWithContext(ctx context.Context) VirtualGatewaySpecListenerConnectionPoolHttp2PtrOutput { +func (o VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationPtrOutput) ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationPtrOutputWithContext(ctx context.Context) VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationPtrOutput { return o } -func (o VirtualGatewaySpecListenerConnectionPoolHttp2PtrOutput) Elem() VirtualGatewaySpecListenerConnectionPoolHttp2Output { - return o.ApplyT(func(v *VirtualGatewaySpecListenerConnectionPoolHttp2) VirtualGatewaySpecListenerConnectionPoolHttp2 { +func (o VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationPtrOutput) Elem() VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationOutput { + return o.ApplyT(func(v *VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidation) VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidation { if v != nil { return *v } - var ret VirtualGatewaySpecListenerConnectionPoolHttp2 + var ret VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidation return ret - }).(VirtualGatewaySpecListenerConnectionPoolHttp2Output) + }).(VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationOutput) } -// Maximum number of inflight requests Envoy can concurrently support across hosts in upstream cluster. Minimum value of `1`. -func (o VirtualGatewaySpecListenerConnectionPoolHttp2PtrOutput) MaxRequests() pulumi.IntPtrOutput { - return o.ApplyT(func(v *VirtualGatewaySpecListenerConnectionPoolHttp2) *int { +// SANs for a virtual gateway's listener's Transport Layer Security (TLS) validation context. +func (o VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationPtrOutput) SubjectAlternativeNames() VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesPtrOutput { + return o.ApplyT(func(v *VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidation) *VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNames { if v == nil { return nil } - return &v.MaxRequests - }).(pulumi.IntPtrOutput) + return v.SubjectAlternativeNames + }).(VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesPtrOutput) } -type VirtualGatewaySpecListenerConnectionPoolHttp struct { - // Maximum number of outbound TCP connections Envoy can establish concurrently with all hosts in upstream cluster. Minimum value of `1`. - MaxConnections int `pulumi:"maxConnections"` - // Number of overflowing requests after `maxConnections` Envoy will queue to upstream cluster. Minimum value of `1`. - MaxPendingRequests *int `pulumi:"maxPendingRequests"` +// TLS validation context trust. +func (o VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationPtrOutput) Trust() VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustPtrOutput { + return o.ApplyT(func(v *VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidation) *VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrust { + if v == nil { + return nil + } + return &v.Trust + }).(VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustPtrOutput) } -// VirtualGatewaySpecListenerConnectionPoolHttpInput is an input type that accepts VirtualGatewaySpecListenerConnectionPoolHttpArgs and VirtualGatewaySpecListenerConnectionPoolHttpOutput values. -// You can construct a concrete instance of `VirtualGatewaySpecListenerConnectionPoolHttpInput` via: +type VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNames struct { + // Criteria for determining a SAN's match. + Match VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatch `pulumi:"match"` +} + +// VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesInput is an input type that accepts VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesArgs and VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesOutput values. +// You can construct a concrete instance of `VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesInput` via: // -// VirtualGatewaySpecListenerConnectionPoolHttpArgs{...} -type VirtualGatewaySpecListenerConnectionPoolHttpInput interface { +// VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesArgs{...} +type VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesInput interface { pulumi.Input - ToVirtualGatewaySpecListenerConnectionPoolHttpOutput() VirtualGatewaySpecListenerConnectionPoolHttpOutput - ToVirtualGatewaySpecListenerConnectionPoolHttpOutputWithContext(context.Context) VirtualGatewaySpecListenerConnectionPoolHttpOutput + ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesOutput() VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesOutput + ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesOutputWithContext(context.Context) VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesOutput } -type VirtualGatewaySpecListenerConnectionPoolHttpArgs struct { - // Maximum number of outbound TCP connections Envoy can establish concurrently with all hosts in upstream cluster. Minimum value of `1`. - MaxConnections pulumi.IntInput `pulumi:"maxConnections"` - // Number of overflowing requests after `maxConnections` Envoy will queue to upstream cluster. Minimum value of `1`. - MaxPendingRequests pulumi.IntPtrInput `pulumi:"maxPendingRequests"` +type VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesArgs struct { + // Criteria for determining a SAN's match. + Match VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatchInput `pulumi:"match"` } -func (VirtualGatewaySpecListenerConnectionPoolHttpArgs) ElementType() reflect.Type { - return reflect.TypeOf((*VirtualGatewaySpecListenerConnectionPoolHttp)(nil)).Elem() +func (VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesArgs) ElementType() reflect.Type { + return reflect.TypeOf((*VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNames)(nil)).Elem() } -func (i VirtualGatewaySpecListenerConnectionPoolHttpArgs) ToVirtualGatewaySpecListenerConnectionPoolHttpOutput() VirtualGatewaySpecListenerConnectionPoolHttpOutput { - return i.ToVirtualGatewaySpecListenerConnectionPoolHttpOutputWithContext(context.Background()) +func (i VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesArgs) ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesOutput() VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesOutput { + return i.ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesOutputWithContext(context.Background()) } -func (i VirtualGatewaySpecListenerConnectionPoolHttpArgs) ToVirtualGatewaySpecListenerConnectionPoolHttpOutputWithContext(ctx context.Context) VirtualGatewaySpecListenerConnectionPoolHttpOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualGatewaySpecListenerConnectionPoolHttpOutput) +func (i VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesArgs) ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesOutputWithContext(ctx context.Context) VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesOutput) } -func (i VirtualGatewaySpecListenerConnectionPoolHttpArgs) ToVirtualGatewaySpecListenerConnectionPoolHttpPtrOutput() VirtualGatewaySpecListenerConnectionPoolHttpPtrOutput { - return i.ToVirtualGatewaySpecListenerConnectionPoolHttpPtrOutputWithContext(context.Background()) +func (i VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesArgs) ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesPtrOutput() VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesPtrOutput { + return i.ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesPtrOutputWithContext(context.Background()) } -func (i VirtualGatewaySpecListenerConnectionPoolHttpArgs) ToVirtualGatewaySpecListenerConnectionPoolHttpPtrOutputWithContext(ctx context.Context) VirtualGatewaySpecListenerConnectionPoolHttpPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualGatewaySpecListenerConnectionPoolHttpOutput).ToVirtualGatewaySpecListenerConnectionPoolHttpPtrOutputWithContext(ctx) +func (i VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesArgs) ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesPtrOutputWithContext(ctx context.Context) VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesOutput).ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesPtrOutputWithContext(ctx) } -// VirtualGatewaySpecListenerConnectionPoolHttpPtrInput is an input type that accepts VirtualGatewaySpecListenerConnectionPoolHttpArgs, VirtualGatewaySpecListenerConnectionPoolHttpPtr and VirtualGatewaySpecListenerConnectionPoolHttpPtrOutput values. -// You can construct a concrete instance of `VirtualGatewaySpecListenerConnectionPoolHttpPtrInput` via: +// VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesPtrInput is an input type that accepts VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesArgs, VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesPtr and VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesPtrOutput values. +// You can construct a concrete instance of `VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesPtrInput` via: // -// VirtualGatewaySpecListenerConnectionPoolHttpArgs{...} +// VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesArgs{...} // // or: // // nil -type VirtualGatewaySpecListenerConnectionPoolHttpPtrInput interface { +type VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesPtrInput interface { pulumi.Input - ToVirtualGatewaySpecListenerConnectionPoolHttpPtrOutput() VirtualGatewaySpecListenerConnectionPoolHttpPtrOutput - ToVirtualGatewaySpecListenerConnectionPoolHttpPtrOutputWithContext(context.Context) VirtualGatewaySpecListenerConnectionPoolHttpPtrOutput + ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesPtrOutput() VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesPtrOutput + ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesPtrOutputWithContext(context.Context) VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesPtrOutput } -type virtualGatewaySpecListenerConnectionPoolHttpPtrType VirtualGatewaySpecListenerConnectionPoolHttpArgs +type virtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesPtrType VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesArgs -func VirtualGatewaySpecListenerConnectionPoolHttpPtr(v *VirtualGatewaySpecListenerConnectionPoolHttpArgs) VirtualGatewaySpecListenerConnectionPoolHttpPtrInput { - return (*virtualGatewaySpecListenerConnectionPoolHttpPtrType)(v) +func VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesPtr(v *VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesArgs) VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesPtrInput { + return (*virtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesPtrType)(v) } -func (*virtualGatewaySpecListenerConnectionPoolHttpPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**VirtualGatewaySpecListenerConnectionPoolHttp)(nil)).Elem() +func (*virtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNames)(nil)).Elem() } -func (i *virtualGatewaySpecListenerConnectionPoolHttpPtrType) ToVirtualGatewaySpecListenerConnectionPoolHttpPtrOutput() VirtualGatewaySpecListenerConnectionPoolHttpPtrOutput { - return i.ToVirtualGatewaySpecListenerConnectionPoolHttpPtrOutputWithContext(context.Background()) +func (i *virtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesPtrType) ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesPtrOutput() VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesPtrOutput { + return i.ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesPtrOutputWithContext(context.Background()) } -func (i *virtualGatewaySpecListenerConnectionPoolHttpPtrType) ToVirtualGatewaySpecListenerConnectionPoolHttpPtrOutputWithContext(ctx context.Context) VirtualGatewaySpecListenerConnectionPoolHttpPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualGatewaySpecListenerConnectionPoolHttpPtrOutput) +func (i *virtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesPtrType) ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesPtrOutputWithContext(ctx context.Context) VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesPtrOutput) } -type VirtualGatewaySpecListenerConnectionPoolHttpOutput struct{ *pulumi.OutputState } +type VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesOutput struct{ *pulumi.OutputState } -func (VirtualGatewaySpecListenerConnectionPoolHttpOutput) ElementType() reflect.Type { - return reflect.TypeOf((*VirtualGatewaySpecListenerConnectionPoolHttp)(nil)).Elem() +func (VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesOutput) ElementType() reflect.Type { + return reflect.TypeOf((*VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNames)(nil)).Elem() } -func (o VirtualGatewaySpecListenerConnectionPoolHttpOutput) ToVirtualGatewaySpecListenerConnectionPoolHttpOutput() VirtualGatewaySpecListenerConnectionPoolHttpOutput { +func (o VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesOutput) ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesOutput() VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesOutput { return o } -func (o VirtualGatewaySpecListenerConnectionPoolHttpOutput) ToVirtualGatewaySpecListenerConnectionPoolHttpOutputWithContext(ctx context.Context) VirtualGatewaySpecListenerConnectionPoolHttpOutput { +func (o VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesOutput) ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesOutputWithContext(ctx context.Context) VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesOutput { return o } -func (o VirtualGatewaySpecListenerConnectionPoolHttpOutput) ToVirtualGatewaySpecListenerConnectionPoolHttpPtrOutput() VirtualGatewaySpecListenerConnectionPoolHttpPtrOutput { - return o.ToVirtualGatewaySpecListenerConnectionPoolHttpPtrOutputWithContext(context.Background()) +func (o VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesOutput) ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesPtrOutput() VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesPtrOutput { + return o.ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesPtrOutputWithContext(context.Background()) } -func (o VirtualGatewaySpecListenerConnectionPoolHttpOutput) ToVirtualGatewaySpecListenerConnectionPoolHttpPtrOutputWithContext(ctx context.Context) VirtualGatewaySpecListenerConnectionPoolHttpPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v VirtualGatewaySpecListenerConnectionPoolHttp) *VirtualGatewaySpecListenerConnectionPoolHttp { +func (o VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesOutput) ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesPtrOutputWithContext(ctx context.Context) VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNames) *VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNames { return &v - }).(VirtualGatewaySpecListenerConnectionPoolHttpPtrOutput) -} - -// Maximum number of outbound TCP connections Envoy can establish concurrently with all hosts in upstream cluster. Minimum value of `1`. -func (o VirtualGatewaySpecListenerConnectionPoolHttpOutput) MaxConnections() pulumi.IntOutput { - return o.ApplyT(func(v VirtualGatewaySpecListenerConnectionPoolHttp) int { return v.MaxConnections }).(pulumi.IntOutput) + }).(VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesPtrOutput) } -// Number of overflowing requests after `maxConnections` Envoy will queue to upstream cluster. Minimum value of `1`. -func (o VirtualGatewaySpecListenerConnectionPoolHttpOutput) MaxPendingRequests() pulumi.IntPtrOutput { - return o.ApplyT(func(v VirtualGatewaySpecListenerConnectionPoolHttp) *int { return v.MaxPendingRequests }).(pulumi.IntPtrOutput) +// Criteria for determining a SAN's match. +func (o VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesOutput) Match() VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatchOutput { + return o.ApplyT(func(v VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNames) VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatch { + return v.Match + }).(VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatchOutput) } -type VirtualGatewaySpecListenerConnectionPoolHttpPtrOutput struct{ *pulumi.OutputState } +type VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesPtrOutput struct{ *pulumi.OutputState } -func (VirtualGatewaySpecListenerConnectionPoolHttpPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**VirtualGatewaySpecListenerConnectionPoolHttp)(nil)).Elem() +func (VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNames)(nil)).Elem() } -func (o VirtualGatewaySpecListenerConnectionPoolHttpPtrOutput) ToVirtualGatewaySpecListenerConnectionPoolHttpPtrOutput() VirtualGatewaySpecListenerConnectionPoolHttpPtrOutput { +func (o VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesPtrOutput) ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesPtrOutput() VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesPtrOutput { return o } -func (o VirtualGatewaySpecListenerConnectionPoolHttpPtrOutput) ToVirtualGatewaySpecListenerConnectionPoolHttpPtrOutputWithContext(ctx context.Context) VirtualGatewaySpecListenerConnectionPoolHttpPtrOutput { +func (o VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesPtrOutput) ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesPtrOutputWithContext(ctx context.Context) VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesPtrOutput { return o } -func (o VirtualGatewaySpecListenerConnectionPoolHttpPtrOutput) Elem() VirtualGatewaySpecListenerConnectionPoolHttpOutput { - return o.ApplyT(func(v *VirtualGatewaySpecListenerConnectionPoolHttp) VirtualGatewaySpecListenerConnectionPoolHttp { +func (o VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesPtrOutput) Elem() VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesOutput { + return o.ApplyT(func(v *VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNames) VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNames { if v != nil { return *v } - var ret VirtualGatewaySpecListenerConnectionPoolHttp + var ret VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNames return ret - }).(VirtualGatewaySpecListenerConnectionPoolHttpOutput) -} - -// Maximum number of outbound TCP connections Envoy can establish concurrently with all hosts in upstream cluster. Minimum value of `1`. -func (o VirtualGatewaySpecListenerConnectionPoolHttpPtrOutput) MaxConnections() pulumi.IntPtrOutput { - return o.ApplyT(func(v *VirtualGatewaySpecListenerConnectionPoolHttp) *int { - if v == nil { - return nil - } - return &v.MaxConnections - }).(pulumi.IntPtrOutput) + }).(VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesOutput) } -// Number of overflowing requests after `maxConnections` Envoy will queue to upstream cluster. Minimum value of `1`. -func (o VirtualGatewaySpecListenerConnectionPoolHttpPtrOutput) MaxPendingRequests() pulumi.IntPtrOutput { - return o.ApplyT(func(v *VirtualGatewaySpecListenerConnectionPoolHttp) *int { +// Criteria for determining a SAN's match. +func (o VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesPtrOutput) Match() VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatchPtrOutput { + return o.ApplyT(func(v *VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNames) *VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatch { if v == nil { return nil } - return v.MaxPendingRequests - }).(pulumi.IntPtrOutput) + return &v.Match + }).(VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatchPtrOutput) } -type VirtualGatewaySpecListenerHealthCheck struct { - // Number of consecutive successful health checks that must occur before declaring listener healthy. - HealthyThreshold int `pulumi:"healthyThreshold"` - // Time period in milliseconds between each health check execution. - IntervalMillis int `pulumi:"intervalMillis"` - // Destination path for the health check request. This is only required if the specified protocol is `http` or `http2`. - Path *string `pulumi:"path"` - // Destination port for the health check request. This port must match the port defined in the `portMapping` for the listener. - Port *int `pulumi:"port"` - // Protocol for the health check request. Valid values are `http`, `http2`, and `grpc`. - Protocol string `pulumi:"protocol"` - // Amount of time to wait when receiving a response from the health check, in milliseconds. - TimeoutMillis int `pulumi:"timeoutMillis"` - // Number of consecutive failed health checks that must occur before declaring a virtual gateway unhealthy. - UnhealthyThreshold int `pulumi:"unhealthyThreshold"` +type VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatch struct { + // Values sent must match the specified values exactly. + Exacts []string `pulumi:"exacts"` } -// VirtualGatewaySpecListenerHealthCheckInput is an input type that accepts VirtualGatewaySpecListenerHealthCheckArgs and VirtualGatewaySpecListenerHealthCheckOutput values. -// You can construct a concrete instance of `VirtualGatewaySpecListenerHealthCheckInput` via: +// VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatchInput is an input type that accepts VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatchArgs and VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatchOutput values. +// You can construct a concrete instance of `VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatchInput` via: // -// VirtualGatewaySpecListenerHealthCheckArgs{...} -type VirtualGatewaySpecListenerHealthCheckInput interface { +// VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatchArgs{...} +type VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatchInput interface { pulumi.Input - ToVirtualGatewaySpecListenerHealthCheckOutput() VirtualGatewaySpecListenerHealthCheckOutput - ToVirtualGatewaySpecListenerHealthCheckOutputWithContext(context.Context) VirtualGatewaySpecListenerHealthCheckOutput + ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatchOutput() VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatchOutput + ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatchOutputWithContext(context.Context) VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatchOutput } -type VirtualGatewaySpecListenerHealthCheckArgs struct { - // Number of consecutive successful health checks that must occur before declaring listener healthy. - HealthyThreshold pulumi.IntInput `pulumi:"healthyThreshold"` - // Time period in milliseconds between each health check execution. - IntervalMillis pulumi.IntInput `pulumi:"intervalMillis"` - // Destination path for the health check request. This is only required if the specified protocol is `http` or `http2`. - Path pulumi.StringPtrInput `pulumi:"path"` - // Destination port for the health check request. This port must match the port defined in the `portMapping` for the listener. - Port pulumi.IntPtrInput `pulumi:"port"` - // Protocol for the health check request. Valid values are `http`, `http2`, and `grpc`. - Protocol pulumi.StringInput `pulumi:"protocol"` - // Amount of time to wait when receiving a response from the health check, in milliseconds. - TimeoutMillis pulumi.IntInput `pulumi:"timeoutMillis"` - // Number of consecutive failed health checks that must occur before declaring a virtual gateway unhealthy. - UnhealthyThreshold pulumi.IntInput `pulumi:"unhealthyThreshold"` +type VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatchArgs struct { + // Values sent must match the specified values exactly. + Exacts pulumi.StringArrayInput `pulumi:"exacts"` } -func (VirtualGatewaySpecListenerHealthCheckArgs) ElementType() reflect.Type { - return reflect.TypeOf((*VirtualGatewaySpecListenerHealthCheck)(nil)).Elem() +func (VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatchArgs) ElementType() reflect.Type { + return reflect.TypeOf((*VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatch)(nil)).Elem() } -func (i VirtualGatewaySpecListenerHealthCheckArgs) ToVirtualGatewaySpecListenerHealthCheckOutput() VirtualGatewaySpecListenerHealthCheckOutput { - return i.ToVirtualGatewaySpecListenerHealthCheckOutputWithContext(context.Background()) +func (i VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatchArgs) ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatchOutput() VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatchOutput { + return i.ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatchOutputWithContext(context.Background()) } -func (i VirtualGatewaySpecListenerHealthCheckArgs) ToVirtualGatewaySpecListenerHealthCheckOutputWithContext(ctx context.Context) VirtualGatewaySpecListenerHealthCheckOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualGatewaySpecListenerHealthCheckOutput) +func (i VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatchArgs) ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatchOutputWithContext(ctx context.Context) VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatchOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatchOutput) } -func (i VirtualGatewaySpecListenerHealthCheckArgs) ToVirtualGatewaySpecListenerHealthCheckPtrOutput() VirtualGatewaySpecListenerHealthCheckPtrOutput { - return i.ToVirtualGatewaySpecListenerHealthCheckPtrOutputWithContext(context.Background()) +func (i VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatchArgs) ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatchPtrOutput() VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatchPtrOutput { + return i.ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatchPtrOutputWithContext(context.Background()) } -func (i VirtualGatewaySpecListenerHealthCheckArgs) ToVirtualGatewaySpecListenerHealthCheckPtrOutputWithContext(ctx context.Context) VirtualGatewaySpecListenerHealthCheckPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualGatewaySpecListenerHealthCheckOutput).ToVirtualGatewaySpecListenerHealthCheckPtrOutputWithContext(ctx) +func (i VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatchArgs) ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatchPtrOutputWithContext(ctx context.Context) VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatchPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatchOutput).ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatchPtrOutputWithContext(ctx) } -// VirtualGatewaySpecListenerHealthCheckPtrInput is an input type that accepts VirtualGatewaySpecListenerHealthCheckArgs, VirtualGatewaySpecListenerHealthCheckPtr and VirtualGatewaySpecListenerHealthCheckPtrOutput values. -// You can construct a concrete instance of `VirtualGatewaySpecListenerHealthCheckPtrInput` via: +// VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatchPtrInput is an input type that accepts VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatchArgs, VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatchPtr and VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatchPtrOutput values. +// You can construct a concrete instance of `VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatchPtrInput` via: // -// VirtualGatewaySpecListenerHealthCheckArgs{...} +// VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatchArgs{...} // // or: // // nil -type VirtualGatewaySpecListenerHealthCheckPtrInput interface { +type VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatchPtrInput interface { pulumi.Input - ToVirtualGatewaySpecListenerHealthCheckPtrOutput() VirtualGatewaySpecListenerHealthCheckPtrOutput - ToVirtualGatewaySpecListenerHealthCheckPtrOutputWithContext(context.Context) VirtualGatewaySpecListenerHealthCheckPtrOutput + ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatchPtrOutput() VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatchPtrOutput + ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatchPtrOutputWithContext(context.Context) VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatchPtrOutput } -type virtualGatewaySpecListenerHealthCheckPtrType VirtualGatewaySpecListenerHealthCheckArgs +type virtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatchPtrType VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatchArgs -func VirtualGatewaySpecListenerHealthCheckPtr(v *VirtualGatewaySpecListenerHealthCheckArgs) VirtualGatewaySpecListenerHealthCheckPtrInput { - return (*virtualGatewaySpecListenerHealthCheckPtrType)(v) +func VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatchPtr(v *VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatchArgs) VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatchPtrInput { + return (*virtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatchPtrType)(v) } -func (*virtualGatewaySpecListenerHealthCheckPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**VirtualGatewaySpecListenerHealthCheck)(nil)).Elem() +func (*virtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatchPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatch)(nil)).Elem() } -func (i *virtualGatewaySpecListenerHealthCheckPtrType) ToVirtualGatewaySpecListenerHealthCheckPtrOutput() VirtualGatewaySpecListenerHealthCheckPtrOutput { - return i.ToVirtualGatewaySpecListenerHealthCheckPtrOutputWithContext(context.Background()) +func (i *virtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatchPtrType) ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatchPtrOutput() VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatchPtrOutput { + return i.ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatchPtrOutputWithContext(context.Background()) } -func (i *virtualGatewaySpecListenerHealthCheckPtrType) ToVirtualGatewaySpecListenerHealthCheckPtrOutputWithContext(ctx context.Context) VirtualGatewaySpecListenerHealthCheckPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualGatewaySpecListenerHealthCheckPtrOutput) +func (i *virtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatchPtrType) ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatchPtrOutputWithContext(ctx context.Context) VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatchPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatchPtrOutput) } -type VirtualGatewaySpecListenerHealthCheckOutput struct{ *pulumi.OutputState } +type VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatchOutput struct{ *pulumi.OutputState } -func (VirtualGatewaySpecListenerHealthCheckOutput) ElementType() reflect.Type { - return reflect.TypeOf((*VirtualGatewaySpecListenerHealthCheck)(nil)).Elem() +func (VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatchOutput) ElementType() reflect.Type { + return reflect.TypeOf((*VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatch)(nil)).Elem() } -func (o VirtualGatewaySpecListenerHealthCheckOutput) ToVirtualGatewaySpecListenerHealthCheckOutput() VirtualGatewaySpecListenerHealthCheckOutput { +func (o VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatchOutput) ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatchOutput() VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatchOutput { return o } -func (o VirtualGatewaySpecListenerHealthCheckOutput) ToVirtualGatewaySpecListenerHealthCheckOutputWithContext(ctx context.Context) VirtualGatewaySpecListenerHealthCheckOutput { +func (o VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatchOutput) ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatchOutputWithContext(ctx context.Context) VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatchOutput { return o } -func (o VirtualGatewaySpecListenerHealthCheckOutput) ToVirtualGatewaySpecListenerHealthCheckPtrOutput() VirtualGatewaySpecListenerHealthCheckPtrOutput { - return o.ToVirtualGatewaySpecListenerHealthCheckPtrOutputWithContext(context.Background()) +func (o VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatchOutput) ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatchPtrOutput() VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatchPtrOutput { + return o.ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatchPtrOutputWithContext(context.Background()) } -func (o VirtualGatewaySpecListenerHealthCheckOutput) ToVirtualGatewaySpecListenerHealthCheckPtrOutputWithContext(ctx context.Context) VirtualGatewaySpecListenerHealthCheckPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v VirtualGatewaySpecListenerHealthCheck) *VirtualGatewaySpecListenerHealthCheck { +func (o VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatchOutput) ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatchPtrOutputWithContext(ctx context.Context) VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatchPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatch) *VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatch { return &v - }).(VirtualGatewaySpecListenerHealthCheckPtrOutput) -} - -// Number of consecutive successful health checks that must occur before declaring listener healthy. -func (o VirtualGatewaySpecListenerHealthCheckOutput) HealthyThreshold() pulumi.IntOutput { - return o.ApplyT(func(v VirtualGatewaySpecListenerHealthCheck) int { return v.HealthyThreshold }).(pulumi.IntOutput) -} - -// Time period in milliseconds between each health check execution. -func (o VirtualGatewaySpecListenerHealthCheckOutput) IntervalMillis() pulumi.IntOutput { - return o.ApplyT(func(v VirtualGatewaySpecListenerHealthCheck) int { return v.IntervalMillis }).(pulumi.IntOutput) -} - -// Destination path for the health check request. This is only required if the specified protocol is `http` or `http2`. -func (o VirtualGatewaySpecListenerHealthCheckOutput) Path() pulumi.StringPtrOutput { - return o.ApplyT(func(v VirtualGatewaySpecListenerHealthCheck) *string { return v.Path }).(pulumi.StringPtrOutput) -} - -// Destination port for the health check request. This port must match the port defined in the `portMapping` for the listener. -func (o VirtualGatewaySpecListenerHealthCheckOutput) Port() pulumi.IntPtrOutput { - return o.ApplyT(func(v VirtualGatewaySpecListenerHealthCheck) *int { return v.Port }).(pulumi.IntPtrOutput) -} - -// Protocol for the health check request. Valid values are `http`, `http2`, and `grpc`. -func (o VirtualGatewaySpecListenerHealthCheckOutput) Protocol() pulumi.StringOutput { - return o.ApplyT(func(v VirtualGatewaySpecListenerHealthCheck) string { return v.Protocol }).(pulumi.StringOutput) -} - -// Amount of time to wait when receiving a response from the health check, in milliseconds. -func (o VirtualGatewaySpecListenerHealthCheckOutput) TimeoutMillis() pulumi.IntOutput { - return o.ApplyT(func(v VirtualGatewaySpecListenerHealthCheck) int { return v.TimeoutMillis }).(pulumi.IntOutput) + }).(VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatchPtrOutput) } -// Number of consecutive failed health checks that must occur before declaring a virtual gateway unhealthy. -func (o VirtualGatewaySpecListenerHealthCheckOutput) UnhealthyThreshold() pulumi.IntOutput { - return o.ApplyT(func(v VirtualGatewaySpecListenerHealthCheck) int { return v.UnhealthyThreshold }).(pulumi.IntOutput) +// Values sent must match the specified values exactly. +func (o VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatchOutput) Exacts() pulumi.StringArrayOutput { + return o.ApplyT(func(v VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatch) []string { + return v.Exacts + }).(pulumi.StringArrayOutput) } -type VirtualGatewaySpecListenerHealthCheckPtrOutput struct{ *pulumi.OutputState } +type VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatchPtrOutput struct{ *pulumi.OutputState } -func (VirtualGatewaySpecListenerHealthCheckPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**VirtualGatewaySpecListenerHealthCheck)(nil)).Elem() +func (VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatchPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatch)(nil)).Elem() } -func (o VirtualGatewaySpecListenerHealthCheckPtrOutput) ToVirtualGatewaySpecListenerHealthCheckPtrOutput() VirtualGatewaySpecListenerHealthCheckPtrOutput { +func (o VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatchPtrOutput) ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatchPtrOutput() VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatchPtrOutput { return o } -func (o VirtualGatewaySpecListenerHealthCheckPtrOutput) ToVirtualGatewaySpecListenerHealthCheckPtrOutputWithContext(ctx context.Context) VirtualGatewaySpecListenerHealthCheckPtrOutput { +func (o VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatchPtrOutput) ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatchPtrOutputWithContext(ctx context.Context) VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatchPtrOutput { return o } -func (o VirtualGatewaySpecListenerHealthCheckPtrOutput) Elem() VirtualGatewaySpecListenerHealthCheckOutput { - return o.ApplyT(func(v *VirtualGatewaySpecListenerHealthCheck) VirtualGatewaySpecListenerHealthCheck { +func (o VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatchPtrOutput) Elem() VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatchOutput { + return o.ApplyT(func(v *VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatch) VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatch { if v != nil { return *v } - var ret VirtualGatewaySpecListenerHealthCheck + var ret VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatch return ret - }).(VirtualGatewaySpecListenerHealthCheckOutput) -} - -// Number of consecutive successful health checks that must occur before declaring listener healthy. -func (o VirtualGatewaySpecListenerHealthCheckPtrOutput) HealthyThreshold() pulumi.IntPtrOutput { - return o.ApplyT(func(v *VirtualGatewaySpecListenerHealthCheck) *int { - if v == nil { - return nil - } - return &v.HealthyThreshold - }).(pulumi.IntPtrOutput) -} - -// Time period in milliseconds between each health check execution. -func (o VirtualGatewaySpecListenerHealthCheckPtrOutput) IntervalMillis() pulumi.IntPtrOutput { - return o.ApplyT(func(v *VirtualGatewaySpecListenerHealthCheck) *int { - if v == nil { - return nil - } - return &v.IntervalMillis - }).(pulumi.IntPtrOutput) -} - -// Destination path for the health check request. This is only required if the specified protocol is `http` or `http2`. -func (o VirtualGatewaySpecListenerHealthCheckPtrOutput) Path() pulumi.StringPtrOutput { - return o.ApplyT(func(v *VirtualGatewaySpecListenerHealthCheck) *string { - if v == nil { - return nil - } - return v.Path - }).(pulumi.StringPtrOutput) -} - -// Destination port for the health check request. This port must match the port defined in the `portMapping` for the listener. -func (o VirtualGatewaySpecListenerHealthCheckPtrOutput) Port() pulumi.IntPtrOutput { - return o.ApplyT(func(v *VirtualGatewaySpecListenerHealthCheck) *int { - if v == nil { - return nil - } - return v.Port - }).(pulumi.IntPtrOutput) -} - -// Protocol for the health check request. Valid values are `http`, `http2`, and `grpc`. -func (o VirtualGatewaySpecListenerHealthCheckPtrOutput) Protocol() pulumi.StringPtrOutput { - return o.ApplyT(func(v *VirtualGatewaySpecListenerHealthCheck) *string { - if v == nil { - return nil - } - return &v.Protocol - }).(pulumi.StringPtrOutput) -} - -// Amount of time to wait when receiving a response from the health check, in milliseconds. -func (o VirtualGatewaySpecListenerHealthCheckPtrOutput) TimeoutMillis() pulumi.IntPtrOutput { - return o.ApplyT(func(v *VirtualGatewaySpecListenerHealthCheck) *int { - if v == nil { - return nil - } - return &v.TimeoutMillis - }).(pulumi.IntPtrOutput) + }).(VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatchOutput) } -// Number of consecutive failed health checks that must occur before declaring a virtual gateway unhealthy. -func (o VirtualGatewaySpecListenerHealthCheckPtrOutput) UnhealthyThreshold() pulumi.IntPtrOutput { - return o.ApplyT(func(v *VirtualGatewaySpecListenerHealthCheck) *int { +// Values sent must match the specified values exactly. +func (o VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatchPtrOutput) Exacts() pulumi.StringArrayOutput { + return o.ApplyT(func(v *VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatch) []string { if v == nil { return nil } - return &v.UnhealthyThreshold - }).(pulumi.IntPtrOutput) + return v.Exacts + }).(pulumi.StringArrayOutput) } -type VirtualGatewaySpecListenerPortMapping struct { - // Port used for the port mapping. - Port int `pulumi:"port"` - // Protocol used for the port mapping. Valid values are `http`, `http2`, `tcp` and `grpc`. - Protocol string `pulumi:"protocol"` +type VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrust struct { + // TLS validation context trust for an AWS Certificate Manager (ACM) certificate. + Acm *VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustAcm `pulumi:"acm"` + // TLS validation context trust for a local file certificate. + File *VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustFile `pulumi:"file"` + // TLS validation context trust for a [Secret Discovery Service](https://www.envoyproxy.io/docs/envoy/latest/configuration/security/secret#secret-discovery-service-sds) certificate. + Sds *VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustSds `pulumi:"sds"` } -// VirtualGatewaySpecListenerPortMappingInput is an input type that accepts VirtualGatewaySpecListenerPortMappingArgs and VirtualGatewaySpecListenerPortMappingOutput values. -// You can construct a concrete instance of `VirtualGatewaySpecListenerPortMappingInput` via: +// VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustInput is an input type that accepts VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustArgs and VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustOutput values. +// You can construct a concrete instance of `VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustInput` via: // -// VirtualGatewaySpecListenerPortMappingArgs{...} -type VirtualGatewaySpecListenerPortMappingInput interface { +// VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustArgs{...} +type VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustInput interface { pulumi.Input - ToVirtualGatewaySpecListenerPortMappingOutput() VirtualGatewaySpecListenerPortMappingOutput - ToVirtualGatewaySpecListenerPortMappingOutputWithContext(context.Context) VirtualGatewaySpecListenerPortMappingOutput + ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustOutput() VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustOutput + ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustOutputWithContext(context.Context) VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustOutput } -type VirtualGatewaySpecListenerPortMappingArgs struct { - // Port used for the port mapping. - Port pulumi.IntInput `pulumi:"port"` - // Protocol used for the port mapping. Valid values are `http`, `http2`, `tcp` and `grpc`. - Protocol pulumi.StringInput `pulumi:"protocol"` +type VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustArgs struct { + // TLS validation context trust for an AWS Certificate Manager (ACM) certificate. + Acm VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustAcmPtrInput `pulumi:"acm"` + // TLS validation context trust for a local file certificate. + File VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustFilePtrInput `pulumi:"file"` + // TLS validation context trust for a [Secret Discovery Service](https://www.envoyproxy.io/docs/envoy/latest/configuration/security/secret#secret-discovery-service-sds) certificate. + Sds VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustSdsPtrInput `pulumi:"sds"` } -func (VirtualGatewaySpecListenerPortMappingArgs) ElementType() reflect.Type { - return reflect.TypeOf((*VirtualGatewaySpecListenerPortMapping)(nil)).Elem() +func (VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustArgs) ElementType() reflect.Type { + return reflect.TypeOf((*VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrust)(nil)).Elem() } -func (i VirtualGatewaySpecListenerPortMappingArgs) ToVirtualGatewaySpecListenerPortMappingOutput() VirtualGatewaySpecListenerPortMappingOutput { - return i.ToVirtualGatewaySpecListenerPortMappingOutputWithContext(context.Background()) +func (i VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustArgs) ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustOutput() VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustOutput { + return i.ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustOutputWithContext(context.Background()) } -func (i VirtualGatewaySpecListenerPortMappingArgs) ToVirtualGatewaySpecListenerPortMappingOutputWithContext(ctx context.Context) VirtualGatewaySpecListenerPortMappingOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualGatewaySpecListenerPortMappingOutput) +func (i VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustArgs) ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustOutputWithContext(ctx context.Context) VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustOutput) } -func (i VirtualGatewaySpecListenerPortMappingArgs) ToVirtualGatewaySpecListenerPortMappingPtrOutput() VirtualGatewaySpecListenerPortMappingPtrOutput { - return i.ToVirtualGatewaySpecListenerPortMappingPtrOutputWithContext(context.Background()) +func (i VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustArgs) ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustPtrOutput() VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustPtrOutput { + return i.ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustPtrOutputWithContext(context.Background()) } -func (i VirtualGatewaySpecListenerPortMappingArgs) ToVirtualGatewaySpecListenerPortMappingPtrOutputWithContext(ctx context.Context) VirtualGatewaySpecListenerPortMappingPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualGatewaySpecListenerPortMappingOutput).ToVirtualGatewaySpecListenerPortMappingPtrOutputWithContext(ctx) +func (i VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustArgs) ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustPtrOutputWithContext(ctx context.Context) VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustOutput).ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustPtrOutputWithContext(ctx) } -// VirtualGatewaySpecListenerPortMappingPtrInput is an input type that accepts VirtualGatewaySpecListenerPortMappingArgs, VirtualGatewaySpecListenerPortMappingPtr and VirtualGatewaySpecListenerPortMappingPtrOutput values. -// You can construct a concrete instance of `VirtualGatewaySpecListenerPortMappingPtrInput` via: +// VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustPtrInput is an input type that accepts VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustArgs, VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustPtr and VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustPtrOutput values. +// You can construct a concrete instance of `VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustPtrInput` via: // -// VirtualGatewaySpecListenerPortMappingArgs{...} +// VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustArgs{...} // // or: // // nil -type VirtualGatewaySpecListenerPortMappingPtrInput interface { +type VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustPtrInput interface { pulumi.Input - ToVirtualGatewaySpecListenerPortMappingPtrOutput() VirtualGatewaySpecListenerPortMappingPtrOutput - ToVirtualGatewaySpecListenerPortMappingPtrOutputWithContext(context.Context) VirtualGatewaySpecListenerPortMappingPtrOutput + ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustPtrOutput() VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustPtrOutput + ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustPtrOutputWithContext(context.Context) VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustPtrOutput } -type virtualGatewaySpecListenerPortMappingPtrType VirtualGatewaySpecListenerPortMappingArgs +type virtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustPtrType VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustArgs -func VirtualGatewaySpecListenerPortMappingPtr(v *VirtualGatewaySpecListenerPortMappingArgs) VirtualGatewaySpecListenerPortMappingPtrInput { - return (*virtualGatewaySpecListenerPortMappingPtrType)(v) +func VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustPtr(v *VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustArgs) VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustPtrInput { + return (*virtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustPtrType)(v) } -func (*virtualGatewaySpecListenerPortMappingPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**VirtualGatewaySpecListenerPortMapping)(nil)).Elem() +func (*virtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrust)(nil)).Elem() } -func (i *virtualGatewaySpecListenerPortMappingPtrType) ToVirtualGatewaySpecListenerPortMappingPtrOutput() VirtualGatewaySpecListenerPortMappingPtrOutput { - return i.ToVirtualGatewaySpecListenerPortMappingPtrOutputWithContext(context.Background()) +func (i *virtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustPtrType) ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustPtrOutput() VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustPtrOutput { + return i.ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustPtrOutputWithContext(context.Background()) } -func (i *virtualGatewaySpecListenerPortMappingPtrType) ToVirtualGatewaySpecListenerPortMappingPtrOutputWithContext(ctx context.Context) VirtualGatewaySpecListenerPortMappingPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualGatewaySpecListenerPortMappingPtrOutput) +func (i *virtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustPtrType) ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustPtrOutputWithContext(ctx context.Context) VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustPtrOutput) } -type VirtualGatewaySpecListenerPortMappingOutput struct{ *pulumi.OutputState } +type VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustOutput struct{ *pulumi.OutputState } -func (VirtualGatewaySpecListenerPortMappingOutput) ElementType() reflect.Type { - return reflect.TypeOf((*VirtualGatewaySpecListenerPortMapping)(nil)).Elem() +func (VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustOutput) ElementType() reflect.Type { + return reflect.TypeOf((*VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrust)(nil)).Elem() } -func (o VirtualGatewaySpecListenerPortMappingOutput) ToVirtualGatewaySpecListenerPortMappingOutput() VirtualGatewaySpecListenerPortMappingOutput { +func (o VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustOutput) ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustOutput() VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustOutput { return o } -func (o VirtualGatewaySpecListenerPortMappingOutput) ToVirtualGatewaySpecListenerPortMappingOutputWithContext(ctx context.Context) VirtualGatewaySpecListenerPortMappingOutput { +func (o VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustOutput) ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustOutputWithContext(ctx context.Context) VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustOutput { return o } -func (o VirtualGatewaySpecListenerPortMappingOutput) ToVirtualGatewaySpecListenerPortMappingPtrOutput() VirtualGatewaySpecListenerPortMappingPtrOutput { - return o.ToVirtualGatewaySpecListenerPortMappingPtrOutputWithContext(context.Background()) +func (o VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustOutput) ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustPtrOutput() VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustPtrOutput { + return o.ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustPtrOutputWithContext(context.Background()) } -func (o VirtualGatewaySpecListenerPortMappingOutput) ToVirtualGatewaySpecListenerPortMappingPtrOutputWithContext(ctx context.Context) VirtualGatewaySpecListenerPortMappingPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v VirtualGatewaySpecListenerPortMapping) *VirtualGatewaySpecListenerPortMapping { +func (o VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustOutput) ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustPtrOutputWithContext(ctx context.Context) VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrust) *VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrust { return &v - }).(VirtualGatewaySpecListenerPortMappingPtrOutput) + }).(VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustPtrOutput) } -// Port used for the port mapping. -func (o VirtualGatewaySpecListenerPortMappingOutput) Port() pulumi.IntOutput { - return o.ApplyT(func(v VirtualGatewaySpecListenerPortMapping) int { return v.Port }).(pulumi.IntOutput) +// TLS validation context trust for an AWS Certificate Manager (ACM) certificate. +func (o VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustOutput) Acm() VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustAcmPtrOutput { + return o.ApplyT(func(v VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrust) *VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustAcm { + return v.Acm + }).(VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustAcmPtrOutput) } -// Protocol used for the port mapping. Valid values are `http`, `http2`, `tcp` and `grpc`. -func (o VirtualGatewaySpecListenerPortMappingOutput) Protocol() pulumi.StringOutput { - return o.ApplyT(func(v VirtualGatewaySpecListenerPortMapping) string { return v.Protocol }).(pulumi.StringOutput) +// TLS validation context trust for a local file certificate. +func (o VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustOutput) File() VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustFilePtrOutput { + return o.ApplyT(func(v VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrust) *VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustFile { + return v.File + }).(VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustFilePtrOutput) } -type VirtualGatewaySpecListenerPortMappingPtrOutput struct{ *pulumi.OutputState } +// TLS validation context trust for a [Secret Discovery Service](https://www.envoyproxy.io/docs/envoy/latest/configuration/security/secret#secret-discovery-service-sds) certificate. +func (o VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustOutput) Sds() VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustSdsPtrOutput { + return o.ApplyT(func(v VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrust) *VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustSds { + return v.Sds + }).(VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustSdsPtrOutput) +} -func (VirtualGatewaySpecListenerPortMappingPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**VirtualGatewaySpecListenerPortMapping)(nil)).Elem() +type VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustPtrOutput struct{ *pulumi.OutputState } + +func (VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrust)(nil)).Elem() } -func (o VirtualGatewaySpecListenerPortMappingPtrOutput) ToVirtualGatewaySpecListenerPortMappingPtrOutput() VirtualGatewaySpecListenerPortMappingPtrOutput { +func (o VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustPtrOutput) ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustPtrOutput() VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustPtrOutput { return o } -func (o VirtualGatewaySpecListenerPortMappingPtrOutput) ToVirtualGatewaySpecListenerPortMappingPtrOutputWithContext(ctx context.Context) VirtualGatewaySpecListenerPortMappingPtrOutput { +func (o VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustPtrOutput) ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustPtrOutputWithContext(ctx context.Context) VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustPtrOutput { return o } -func (o VirtualGatewaySpecListenerPortMappingPtrOutput) Elem() VirtualGatewaySpecListenerPortMappingOutput { - return o.ApplyT(func(v *VirtualGatewaySpecListenerPortMapping) VirtualGatewaySpecListenerPortMapping { +func (o VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustPtrOutput) Elem() VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustOutput { + return o.ApplyT(func(v *VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrust) VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrust { if v != nil { return *v } - var ret VirtualGatewaySpecListenerPortMapping + var ret VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrust return ret - }).(VirtualGatewaySpecListenerPortMappingOutput) + }).(VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustOutput) } -// Port used for the port mapping. -func (o VirtualGatewaySpecListenerPortMappingPtrOutput) Port() pulumi.IntPtrOutput { - return o.ApplyT(func(v *VirtualGatewaySpecListenerPortMapping) *int { +// TLS validation context trust for an AWS Certificate Manager (ACM) certificate. +func (o VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustPtrOutput) Acm() VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustAcmPtrOutput { + return o.ApplyT(func(v *VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrust) *VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustAcm { if v == nil { return nil } - return &v.Port - }).(pulumi.IntPtrOutput) + return v.Acm + }).(VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustAcmPtrOutput) } -// Protocol used for the port mapping. Valid values are `http`, `http2`, `tcp` and `grpc`. -func (o VirtualGatewaySpecListenerPortMappingPtrOutput) Protocol() pulumi.StringPtrOutput { - return o.ApplyT(func(v *VirtualGatewaySpecListenerPortMapping) *string { +// TLS validation context trust for a local file certificate. +func (o VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustPtrOutput) File() VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustFilePtrOutput { + return o.ApplyT(func(v *VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrust) *VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustFile { if v == nil { return nil } - return &v.Protocol - }).(pulumi.StringPtrOutput) + return v.File + }).(VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustFilePtrOutput) } -type VirtualGatewaySpecListenerTls struct { - // Listener's TLS certificate. - Certificate VirtualGatewaySpecListenerTlsCertificate `pulumi:"certificate"` - // Listener's TLS mode. Valid values: `DISABLED`, `PERMISSIVE`, `STRICT`. - Mode string `pulumi:"mode"` - // Listener's Transport Layer Security (TLS) validation context. - Validation *VirtualGatewaySpecListenerTlsValidation `pulumi:"validation"` +// TLS validation context trust for a [Secret Discovery Service](https://www.envoyproxy.io/docs/envoy/latest/configuration/security/secret#secret-discovery-service-sds) certificate. +func (o VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustPtrOutput) Sds() VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustSdsPtrOutput { + return o.ApplyT(func(v *VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrust) *VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustSds { + if v == nil { + return nil + } + return v.Sds + }).(VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustSdsPtrOutput) } -// VirtualGatewaySpecListenerTlsInput is an input type that accepts VirtualGatewaySpecListenerTlsArgs and VirtualGatewaySpecListenerTlsOutput values. -// You can construct a concrete instance of `VirtualGatewaySpecListenerTlsInput` via: +type VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustAcm struct { + // One or more ACM ARNs. + CertificateAuthorityArns []string `pulumi:"certificateAuthorityArns"` +} + +// VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustAcmInput is an input type that accepts VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustAcmArgs and VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustAcmOutput values. +// You can construct a concrete instance of `VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustAcmInput` via: // -// VirtualGatewaySpecListenerTlsArgs{...} -type VirtualGatewaySpecListenerTlsInput interface { +// VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustAcmArgs{...} +type VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustAcmInput interface { pulumi.Input - ToVirtualGatewaySpecListenerTlsOutput() VirtualGatewaySpecListenerTlsOutput - ToVirtualGatewaySpecListenerTlsOutputWithContext(context.Context) VirtualGatewaySpecListenerTlsOutput + ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustAcmOutput() VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustAcmOutput + ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustAcmOutputWithContext(context.Context) VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustAcmOutput } -type VirtualGatewaySpecListenerTlsArgs struct { - // Listener's TLS certificate. - Certificate VirtualGatewaySpecListenerTlsCertificateInput `pulumi:"certificate"` - // Listener's TLS mode. Valid values: `DISABLED`, `PERMISSIVE`, `STRICT`. - Mode pulumi.StringInput `pulumi:"mode"` - // Listener's Transport Layer Security (TLS) validation context. - Validation VirtualGatewaySpecListenerTlsValidationPtrInput `pulumi:"validation"` +type VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustAcmArgs struct { + // One or more ACM ARNs. + CertificateAuthorityArns pulumi.StringArrayInput `pulumi:"certificateAuthorityArns"` } -func (VirtualGatewaySpecListenerTlsArgs) ElementType() reflect.Type { - return reflect.TypeOf((*VirtualGatewaySpecListenerTls)(nil)).Elem() +func (VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustAcmArgs) ElementType() reflect.Type { + return reflect.TypeOf((*VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustAcm)(nil)).Elem() } -func (i VirtualGatewaySpecListenerTlsArgs) ToVirtualGatewaySpecListenerTlsOutput() VirtualGatewaySpecListenerTlsOutput { - return i.ToVirtualGatewaySpecListenerTlsOutputWithContext(context.Background()) +func (i VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustAcmArgs) ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustAcmOutput() VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustAcmOutput { + return i.ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustAcmOutputWithContext(context.Background()) } -func (i VirtualGatewaySpecListenerTlsArgs) ToVirtualGatewaySpecListenerTlsOutputWithContext(ctx context.Context) VirtualGatewaySpecListenerTlsOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualGatewaySpecListenerTlsOutput) +func (i VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustAcmArgs) ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustAcmOutputWithContext(ctx context.Context) VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustAcmOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustAcmOutput) } -func (i VirtualGatewaySpecListenerTlsArgs) ToVirtualGatewaySpecListenerTlsPtrOutput() VirtualGatewaySpecListenerTlsPtrOutput { - return i.ToVirtualGatewaySpecListenerTlsPtrOutputWithContext(context.Background()) +func (i VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustAcmArgs) ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustAcmPtrOutput() VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustAcmPtrOutput { + return i.ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustAcmPtrOutputWithContext(context.Background()) } -func (i VirtualGatewaySpecListenerTlsArgs) ToVirtualGatewaySpecListenerTlsPtrOutputWithContext(ctx context.Context) VirtualGatewaySpecListenerTlsPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualGatewaySpecListenerTlsOutput).ToVirtualGatewaySpecListenerTlsPtrOutputWithContext(ctx) +func (i VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustAcmArgs) ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustAcmPtrOutputWithContext(ctx context.Context) VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustAcmPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustAcmOutput).ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustAcmPtrOutputWithContext(ctx) } -// VirtualGatewaySpecListenerTlsPtrInput is an input type that accepts VirtualGatewaySpecListenerTlsArgs, VirtualGatewaySpecListenerTlsPtr and VirtualGatewaySpecListenerTlsPtrOutput values. -// You can construct a concrete instance of `VirtualGatewaySpecListenerTlsPtrInput` via: +// VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustAcmPtrInput is an input type that accepts VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustAcmArgs, VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustAcmPtr and VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustAcmPtrOutput values. +// You can construct a concrete instance of `VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustAcmPtrInput` via: // -// VirtualGatewaySpecListenerTlsArgs{...} +// VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustAcmArgs{...} // // or: // // nil -type VirtualGatewaySpecListenerTlsPtrInput interface { +type VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustAcmPtrInput interface { pulumi.Input - ToVirtualGatewaySpecListenerTlsPtrOutput() VirtualGatewaySpecListenerTlsPtrOutput - ToVirtualGatewaySpecListenerTlsPtrOutputWithContext(context.Context) VirtualGatewaySpecListenerTlsPtrOutput + ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustAcmPtrOutput() VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustAcmPtrOutput + ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustAcmPtrOutputWithContext(context.Context) VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustAcmPtrOutput } -type virtualGatewaySpecListenerTlsPtrType VirtualGatewaySpecListenerTlsArgs +type virtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustAcmPtrType VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustAcmArgs -func VirtualGatewaySpecListenerTlsPtr(v *VirtualGatewaySpecListenerTlsArgs) VirtualGatewaySpecListenerTlsPtrInput { - return (*virtualGatewaySpecListenerTlsPtrType)(v) +func VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustAcmPtr(v *VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustAcmArgs) VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustAcmPtrInput { + return (*virtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustAcmPtrType)(v) } -func (*virtualGatewaySpecListenerTlsPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**VirtualGatewaySpecListenerTls)(nil)).Elem() +func (*virtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustAcmPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustAcm)(nil)).Elem() } -func (i *virtualGatewaySpecListenerTlsPtrType) ToVirtualGatewaySpecListenerTlsPtrOutput() VirtualGatewaySpecListenerTlsPtrOutput { - return i.ToVirtualGatewaySpecListenerTlsPtrOutputWithContext(context.Background()) +func (i *virtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustAcmPtrType) ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustAcmPtrOutput() VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustAcmPtrOutput { + return i.ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustAcmPtrOutputWithContext(context.Background()) } -func (i *virtualGatewaySpecListenerTlsPtrType) ToVirtualGatewaySpecListenerTlsPtrOutputWithContext(ctx context.Context) VirtualGatewaySpecListenerTlsPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualGatewaySpecListenerTlsPtrOutput) +func (i *virtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustAcmPtrType) ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustAcmPtrOutputWithContext(ctx context.Context) VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustAcmPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustAcmPtrOutput) } -type VirtualGatewaySpecListenerTlsOutput struct{ *pulumi.OutputState } +type VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustAcmOutput struct{ *pulumi.OutputState } -func (VirtualGatewaySpecListenerTlsOutput) ElementType() reflect.Type { - return reflect.TypeOf((*VirtualGatewaySpecListenerTls)(nil)).Elem() +func (VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustAcmOutput) ElementType() reflect.Type { + return reflect.TypeOf((*VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustAcm)(nil)).Elem() } -func (o VirtualGatewaySpecListenerTlsOutput) ToVirtualGatewaySpecListenerTlsOutput() VirtualGatewaySpecListenerTlsOutput { +func (o VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustAcmOutput) ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustAcmOutput() VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustAcmOutput { return o } -func (o VirtualGatewaySpecListenerTlsOutput) ToVirtualGatewaySpecListenerTlsOutputWithContext(ctx context.Context) VirtualGatewaySpecListenerTlsOutput { +func (o VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustAcmOutput) ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustAcmOutputWithContext(ctx context.Context) VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustAcmOutput { return o } -func (o VirtualGatewaySpecListenerTlsOutput) ToVirtualGatewaySpecListenerTlsPtrOutput() VirtualGatewaySpecListenerTlsPtrOutput { - return o.ToVirtualGatewaySpecListenerTlsPtrOutputWithContext(context.Background()) +func (o VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustAcmOutput) ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustAcmPtrOutput() VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustAcmPtrOutput { + return o.ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustAcmPtrOutputWithContext(context.Background()) } -func (o VirtualGatewaySpecListenerTlsOutput) ToVirtualGatewaySpecListenerTlsPtrOutputWithContext(ctx context.Context) VirtualGatewaySpecListenerTlsPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v VirtualGatewaySpecListenerTls) *VirtualGatewaySpecListenerTls { +func (o VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustAcmOutput) ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustAcmPtrOutputWithContext(ctx context.Context) VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustAcmPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustAcm) *VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustAcm { return &v - }).(VirtualGatewaySpecListenerTlsPtrOutput) -} - -// Listener's TLS certificate. -func (o VirtualGatewaySpecListenerTlsOutput) Certificate() VirtualGatewaySpecListenerTlsCertificateOutput { - return o.ApplyT(func(v VirtualGatewaySpecListenerTls) VirtualGatewaySpecListenerTlsCertificate { return v.Certificate }).(VirtualGatewaySpecListenerTlsCertificateOutput) -} - -// Listener's TLS mode. Valid values: `DISABLED`, `PERMISSIVE`, `STRICT`. -func (o VirtualGatewaySpecListenerTlsOutput) Mode() pulumi.StringOutput { - return o.ApplyT(func(v VirtualGatewaySpecListenerTls) string { return v.Mode }).(pulumi.StringOutput) + }).(VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustAcmPtrOutput) } -// Listener's Transport Layer Security (TLS) validation context. -func (o VirtualGatewaySpecListenerTlsOutput) Validation() VirtualGatewaySpecListenerTlsValidationPtrOutput { - return o.ApplyT(func(v VirtualGatewaySpecListenerTls) *VirtualGatewaySpecListenerTlsValidation { return v.Validation }).(VirtualGatewaySpecListenerTlsValidationPtrOutput) +// One or more ACM ARNs. +func (o VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustAcmOutput) CertificateAuthorityArns() pulumi.StringArrayOutput { + return o.ApplyT(func(v VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustAcm) []string { + return v.CertificateAuthorityArns + }).(pulumi.StringArrayOutput) } -type VirtualGatewaySpecListenerTlsPtrOutput struct{ *pulumi.OutputState } +type VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustAcmPtrOutput struct{ *pulumi.OutputState } -func (VirtualGatewaySpecListenerTlsPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**VirtualGatewaySpecListenerTls)(nil)).Elem() +func (VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustAcmPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustAcm)(nil)).Elem() } -func (o VirtualGatewaySpecListenerTlsPtrOutput) ToVirtualGatewaySpecListenerTlsPtrOutput() VirtualGatewaySpecListenerTlsPtrOutput { +func (o VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustAcmPtrOutput) ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustAcmPtrOutput() VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustAcmPtrOutput { return o } -func (o VirtualGatewaySpecListenerTlsPtrOutput) ToVirtualGatewaySpecListenerTlsPtrOutputWithContext(ctx context.Context) VirtualGatewaySpecListenerTlsPtrOutput { +func (o VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustAcmPtrOutput) ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustAcmPtrOutputWithContext(ctx context.Context) VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustAcmPtrOutput { return o } -func (o VirtualGatewaySpecListenerTlsPtrOutput) Elem() VirtualGatewaySpecListenerTlsOutput { - return o.ApplyT(func(v *VirtualGatewaySpecListenerTls) VirtualGatewaySpecListenerTls { +func (o VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustAcmPtrOutput) Elem() VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustAcmOutput { + return o.ApplyT(func(v *VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustAcm) VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustAcm { if v != nil { return *v } - var ret VirtualGatewaySpecListenerTls + var ret VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustAcm return ret - }).(VirtualGatewaySpecListenerTlsOutput) + }).(VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustAcmOutput) } -// Listener's TLS certificate. -func (o VirtualGatewaySpecListenerTlsPtrOutput) Certificate() VirtualGatewaySpecListenerTlsCertificatePtrOutput { - return o.ApplyT(func(v *VirtualGatewaySpecListenerTls) *VirtualGatewaySpecListenerTlsCertificate { +// One or more ACM ARNs. +func (o VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustAcmPtrOutput) CertificateAuthorityArns() pulumi.StringArrayOutput { + return o.ApplyT(func(v *VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustAcm) []string { if v == nil { return nil } - return &v.Certificate - }).(VirtualGatewaySpecListenerTlsCertificatePtrOutput) + return v.CertificateAuthorityArns + }).(pulumi.StringArrayOutput) } -// Listener's TLS mode. Valid values: `DISABLED`, `PERMISSIVE`, `STRICT`. -func (o VirtualGatewaySpecListenerTlsPtrOutput) Mode() pulumi.StringPtrOutput { - return o.ApplyT(func(v *VirtualGatewaySpecListenerTls) *string { - if v == nil { - return nil - } - return &v.Mode - }).(pulumi.StringPtrOutput) +type VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustFile struct { + // Certificate trust chain for a certificate stored on the file system of the mesh endpoint that the proxy is running on. Must be between 1 and 255 characters in length. + CertificateChain string `pulumi:"certificateChain"` } -// Listener's Transport Layer Security (TLS) validation context. -func (o VirtualGatewaySpecListenerTlsPtrOutput) Validation() VirtualGatewaySpecListenerTlsValidationPtrOutput { - return o.ApplyT(func(v *VirtualGatewaySpecListenerTls) *VirtualGatewaySpecListenerTlsValidation { - if v == nil { - return nil - } - return v.Validation - }).(VirtualGatewaySpecListenerTlsValidationPtrOutput) +// VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustFileInput is an input type that accepts VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustFileArgs and VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustFileOutput values. +// You can construct a concrete instance of `VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustFileInput` via: +// +// VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustFileArgs{...} +type VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustFileInput interface { + pulumi.Input + + ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustFileOutput() VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustFileOutput + ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustFileOutputWithContext(context.Context) VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustFileOutput } -type VirtualGatewaySpecListenerTlsCertificate struct { - // An AWS Certificate Manager (ACM) certificate. - Acm *VirtualGatewaySpecListenerTlsCertificateAcm `pulumi:"acm"` - // Local file certificate. - File *VirtualGatewaySpecListenerTlsCertificateFile `pulumi:"file"` - // A [Secret Discovery Service](https://www.envoyproxy.io/docs/envoy/latest/configuration/security/secret#secret-discovery-service-sds) certificate. - Sds *VirtualGatewaySpecListenerTlsCertificateSds `pulumi:"sds"` +type VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustFileArgs struct { + // Certificate trust chain for a certificate stored on the file system of the mesh endpoint that the proxy is running on. Must be between 1 and 255 characters in length. + CertificateChain pulumi.StringInput `pulumi:"certificateChain"` } -// VirtualGatewaySpecListenerTlsCertificateInput is an input type that accepts VirtualGatewaySpecListenerTlsCertificateArgs and VirtualGatewaySpecListenerTlsCertificateOutput values. -// You can construct a concrete instance of `VirtualGatewaySpecListenerTlsCertificateInput` via: -// -// VirtualGatewaySpecListenerTlsCertificateArgs{...} -type VirtualGatewaySpecListenerTlsCertificateInput interface { - pulumi.Input +func (VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustFileArgs) ElementType() reflect.Type { + return reflect.TypeOf((*VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustFile)(nil)).Elem() +} - ToVirtualGatewaySpecListenerTlsCertificateOutput() VirtualGatewaySpecListenerTlsCertificateOutput - ToVirtualGatewaySpecListenerTlsCertificateOutputWithContext(context.Context) VirtualGatewaySpecListenerTlsCertificateOutput +func (i VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustFileArgs) ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustFileOutput() VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustFileOutput { + return i.ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustFileOutputWithContext(context.Background()) } -type VirtualGatewaySpecListenerTlsCertificateArgs struct { - // An AWS Certificate Manager (ACM) certificate. - Acm VirtualGatewaySpecListenerTlsCertificateAcmPtrInput `pulumi:"acm"` - // Local file certificate. - File VirtualGatewaySpecListenerTlsCertificateFilePtrInput `pulumi:"file"` - // A [Secret Discovery Service](https://www.envoyproxy.io/docs/envoy/latest/configuration/security/secret#secret-discovery-service-sds) certificate. - Sds VirtualGatewaySpecListenerTlsCertificateSdsPtrInput `pulumi:"sds"` -} - -func (VirtualGatewaySpecListenerTlsCertificateArgs) ElementType() reflect.Type { - return reflect.TypeOf((*VirtualGatewaySpecListenerTlsCertificate)(nil)).Elem() -} - -func (i VirtualGatewaySpecListenerTlsCertificateArgs) ToVirtualGatewaySpecListenerTlsCertificateOutput() VirtualGatewaySpecListenerTlsCertificateOutput { - return i.ToVirtualGatewaySpecListenerTlsCertificateOutputWithContext(context.Background()) -} - -func (i VirtualGatewaySpecListenerTlsCertificateArgs) ToVirtualGatewaySpecListenerTlsCertificateOutputWithContext(ctx context.Context) VirtualGatewaySpecListenerTlsCertificateOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualGatewaySpecListenerTlsCertificateOutput) +func (i VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustFileArgs) ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustFileOutputWithContext(ctx context.Context) VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustFileOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustFileOutput) } -func (i VirtualGatewaySpecListenerTlsCertificateArgs) ToVirtualGatewaySpecListenerTlsCertificatePtrOutput() VirtualGatewaySpecListenerTlsCertificatePtrOutput { - return i.ToVirtualGatewaySpecListenerTlsCertificatePtrOutputWithContext(context.Background()) +func (i VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustFileArgs) ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustFilePtrOutput() VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustFilePtrOutput { + return i.ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustFilePtrOutputWithContext(context.Background()) } -func (i VirtualGatewaySpecListenerTlsCertificateArgs) ToVirtualGatewaySpecListenerTlsCertificatePtrOutputWithContext(ctx context.Context) VirtualGatewaySpecListenerTlsCertificatePtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualGatewaySpecListenerTlsCertificateOutput).ToVirtualGatewaySpecListenerTlsCertificatePtrOutputWithContext(ctx) +func (i VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustFileArgs) ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustFilePtrOutputWithContext(ctx context.Context) VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustFilePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustFileOutput).ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustFilePtrOutputWithContext(ctx) } -// VirtualGatewaySpecListenerTlsCertificatePtrInput is an input type that accepts VirtualGatewaySpecListenerTlsCertificateArgs, VirtualGatewaySpecListenerTlsCertificatePtr and VirtualGatewaySpecListenerTlsCertificatePtrOutput values. -// You can construct a concrete instance of `VirtualGatewaySpecListenerTlsCertificatePtrInput` via: +// VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustFilePtrInput is an input type that accepts VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustFileArgs, VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustFilePtr and VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustFilePtrOutput values. +// You can construct a concrete instance of `VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustFilePtrInput` via: // -// VirtualGatewaySpecListenerTlsCertificateArgs{...} +// VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustFileArgs{...} // // or: // // nil -type VirtualGatewaySpecListenerTlsCertificatePtrInput interface { +type VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustFilePtrInput interface { pulumi.Input - ToVirtualGatewaySpecListenerTlsCertificatePtrOutput() VirtualGatewaySpecListenerTlsCertificatePtrOutput - ToVirtualGatewaySpecListenerTlsCertificatePtrOutputWithContext(context.Context) VirtualGatewaySpecListenerTlsCertificatePtrOutput + ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustFilePtrOutput() VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustFilePtrOutput + ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustFilePtrOutputWithContext(context.Context) VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustFilePtrOutput } -type virtualGatewaySpecListenerTlsCertificatePtrType VirtualGatewaySpecListenerTlsCertificateArgs +type virtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustFilePtrType VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustFileArgs -func VirtualGatewaySpecListenerTlsCertificatePtr(v *VirtualGatewaySpecListenerTlsCertificateArgs) VirtualGatewaySpecListenerTlsCertificatePtrInput { - return (*virtualGatewaySpecListenerTlsCertificatePtrType)(v) +func VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustFilePtr(v *VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustFileArgs) VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustFilePtrInput { + return (*virtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustFilePtrType)(v) } -func (*virtualGatewaySpecListenerTlsCertificatePtrType) ElementType() reflect.Type { - return reflect.TypeOf((**VirtualGatewaySpecListenerTlsCertificate)(nil)).Elem() +func (*virtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustFilePtrType) ElementType() reflect.Type { + return reflect.TypeOf((**VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustFile)(nil)).Elem() } -func (i *virtualGatewaySpecListenerTlsCertificatePtrType) ToVirtualGatewaySpecListenerTlsCertificatePtrOutput() VirtualGatewaySpecListenerTlsCertificatePtrOutput { - return i.ToVirtualGatewaySpecListenerTlsCertificatePtrOutputWithContext(context.Background()) +func (i *virtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustFilePtrType) ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustFilePtrOutput() VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustFilePtrOutput { + return i.ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustFilePtrOutputWithContext(context.Background()) } -func (i *virtualGatewaySpecListenerTlsCertificatePtrType) ToVirtualGatewaySpecListenerTlsCertificatePtrOutputWithContext(ctx context.Context) VirtualGatewaySpecListenerTlsCertificatePtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualGatewaySpecListenerTlsCertificatePtrOutput) +func (i *virtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustFilePtrType) ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustFilePtrOutputWithContext(ctx context.Context) VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustFilePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustFilePtrOutput) } -type VirtualGatewaySpecListenerTlsCertificateOutput struct{ *pulumi.OutputState } +type VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustFileOutput struct{ *pulumi.OutputState } -func (VirtualGatewaySpecListenerTlsCertificateOutput) ElementType() reflect.Type { - return reflect.TypeOf((*VirtualGatewaySpecListenerTlsCertificate)(nil)).Elem() +func (VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustFileOutput) ElementType() reflect.Type { + return reflect.TypeOf((*VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustFile)(nil)).Elem() } -func (o VirtualGatewaySpecListenerTlsCertificateOutput) ToVirtualGatewaySpecListenerTlsCertificateOutput() VirtualGatewaySpecListenerTlsCertificateOutput { +func (o VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustFileOutput) ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustFileOutput() VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustFileOutput { return o } -func (o VirtualGatewaySpecListenerTlsCertificateOutput) ToVirtualGatewaySpecListenerTlsCertificateOutputWithContext(ctx context.Context) VirtualGatewaySpecListenerTlsCertificateOutput { +func (o VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustFileOutput) ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustFileOutputWithContext(ctx context.Context) VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustFileOutput { return o } -func (o VirtualGatewaySpecListenerTlsCertificateOutput) ToVirtualGatewaySpecListenerTlsCertificatePtrOutput() VirtualGatewaySpecListenerTlsCertificatePtrOutput { - return o.ToVirtualGatewaySpecListenerTlsCertificatePtrOutputWithContext(context.Background()) +func (o VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustFileOutput) ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustFilePtrOutput() VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustFilePtrOutput { + return o.ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustFilePtrOutputWithContext(context.Background()) } -func (o VirtualGatewaySpecListenerTlsCertificateOutput) ToVirtualGatewaySpecListenerTlsCertificatePtrOutputWithContext(ctx context.Context) VirtualGatewaySpecListenerTlsCertificatePtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v VirtualGatewaySpecListenerTlsCertificate) *VirtualGatewaySpecListenerTlsCertificate { +func (o VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustFileOutput) ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustFilePtrOutputWithContext(ctx context.Context) VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustFilePtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustFile) *VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustFile { return &v - }).(VirtualGatewaySpecListenerTlsCertificatePtrOutput) -} - -// An AWS Certificate Manager (ACM) certificate. -func (o VirtualGatewaySpecListenerTlsCertificateOutput) Acm() VirtualGatewaySpecListenerTlsCertificateAcmPtrOutput { - return o.ApplyT(func(v VirtualGatewaySpecListenerTlsCertificate) *VirtualGatewaySpecListenerTlsCertificateAcm { - return v.Acm - }).(VirtualGatewaySpecListenerTlsCertificateAcmPtrOutput) -} - -// Local file certificate. -func (o VirtualGatewaySpecListenerTlsCertificateOutput) File() VirtualGatewaySpecListenerTlsCertificateFilePtrOutput { - return o.ApplyT(func(v VirtualGatewaySpecListenerTlsCertificate) *VirtualGatewaySpecListenerTlsCertificateFile { - return v.File - }).(VirtualGatewaySpecListenerTlsCertificateFilePtrOutput) + }).(VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustFilePtrOutput) } -// A [Secret Discovery Service](https://www.envoyproxy.io/docs/envoy/latest/configuration/security/secret#secret-discovery-service-sds) certificate. -func (o VirtualGatewaySpecListenerTlsCertificateOutput) Sds() VirtualGatewaySpecListenerTlsCertificateSdsPtrOutput { - return o.ApplyT(func(v VirtualGatewaySpecListenerTlsCertificate) *VirtualGatewaySpecListenerTlsCertificateSds { - return v.Sds - }).(VirtualGatewaySpecListenerTlsCertificateSdsPtrOutput) +// Certificate trust chain for a certificate stored on the file system of the mesh endpoint that the proxy is running on. Must be between 1 and 255 characters in length. +func (o VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustFileOutput) CertificateChain() pulumi.StringOutput { + return o.ApplyT(func(v VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustFile) string { + return v.CertificateChain + }).(pulumi.StringOutput) } -type VirtualGatewaySpecListenerTlsCertificatePtrOutput struct{ *pulumi.OutputState } +type VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustFilePtrOutput struct{ *pulumi.OutputState } -func (VirtualGatewaySpecListenerTlsCertificatePtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**VirtualGatewaySpecListenerTlsCertificate)(nil)).Elem() +func (VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustFilePtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustFile)(nil)).Elem() } -func (o VirtualGatewaySpecListenerTlsCertificatePtrOutput) ToVirtualGatewaySpecListenerTlsCertificatePtrOutput() VirtualGatewaySpecListenerTlsCertificatePtrOutput { +func (o VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustFilePtrOutput) ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustFilePtrOutput() VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustFilePtrOutput { return o } -func (o VirtualGatewaySpecListenerTlsCertificatePtrOutput) ToVirtualGatewaySpecListenerTlsCertificatePtrOutputWithContext(ctx context.Context) VirtualGatewaySpecListenerTlsCertificatePtrOutput { +func (o VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustFilePtrOutput) ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustFilePtrOutputWithContext(ctx context.Context) VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustFilePtrOutput { return o } -func (o VirtualGatewaySpecListenerTlsCertificatePtrOutput) Elem() VirtualGatewaySpecListenerTlsCertificateOutput { - return o.ApplyT(func(v *VirtualGatewaySpecListenerTlsCertificate) VirtualGatewaySpecListenerTlsCertificate { +func (o VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustFilePtrOutput) Elem() VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustFileOutput { + return o.ApplyT(func(v *VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustFile) VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustFile { if v != nil { return *v } - var ret VirtualGatewaySpecListenerTlsCertificate + var ret VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustFile return ret - }).(VirtualGatewaySpecListenerTlsCertificateOutput) -} - -// An AWS Certificate Manager (ACM) certificate. -func (o VirtualGatewaySpecListenerTlsCertificatePtrOutput) Acm() VirtualGatewaySpecListenerTlsCertificateAcmPtrOutput { - return o.ApplyT(func(v *VirtualGatewaySpecListenerTlsCertificate) *VirtualGatewaySpecListenerTlsCertificateAcm { - if v == nil { - return nil - } - return v.Acm - }).(VirtualGatewaySpecListenerTlsCertificateAcmPtrOutput) -} - -// Local file certificate. -func (o VirtualGatewaySpecListenerTlsCertificatePtrOutput) File() VirtualGatewaySpecListenerTlsCertificateFilePtrOutput { - return o.ApplyT(func(v *VirtualGatewaySpecListenerTlsCertificate) *VirtualGatewaySpecListenerTlsCertificateFile { - if v == nil { - return nil - } - return v.File - }).(VirtualGatewaySpecListenerTlsCertificateFilePtrOutput) + }).(VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustFileOutput) } -// A [Secret Discovery Service](https://www.envoyproxy.io/docs/envoy/latest/configuration/security/secret#secret-discovery-service-sds) certificate. -func (o VirtualGatewaySpecListenerTlsCertificatePtrOutput) Sds() VirtualGatewaySpecListenerTlsCertificateSdsPtrOutput { - return o.ApplyT(func(v *VirtualGatewaySpecListenerTlsCertificate) *VirtualGatewaySpecListenerTlsCertificateSds { +// Certificate trust chain for a certificate stored on the file system of the mesh endpoint that the proxy is running on. Must be between 1 and 255 characters in length. +func (o VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustFilePtrOutput) CertificateChain() pulumi.StringPtrOutput { + return o.ApplyT(func(v *VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustFile) *string { if v == nil { return nil } - return v.Sds - }).(VirtualGatewaySpecListenerTlsCertificateSdsPtrOutput) + return &v.CertificateChain + }).(pulumi.StringPtrOutput) } -type VirtualGatewaySpecListenerTlsCertificateAcm struct { - // ARN for the certificate. - CertificateArn string `pulumi:"certificateArn"` +type VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustSds struct { + // Name of the secret for a virtual gateway's Transport Layer Security (TLS) Secret Discovery Service validation context trust. + SecretName string `pulumi:"secretName"` } -// VirtualGatewaySpecListenerTlsCertificateAcmInput is an input type that accepts VirtualGatewaySpecListenerTlsCertificateAcmArgs and VirtualGatewaySpecListenerTlsCertificateAcmOutput values. -// You can construct a concrete instance of `VirtualGatewaySpecListenerTlsCertificateAcmInput` via: +// VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustSdsInput is an input type that accepts VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustSdsArgs and VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustSdsOutput values. +// You can construct a concrete instance of `VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustSdsInput` via: // -// VirtualGatewaySpecListenerTlsCertificateAcmArgs{...} -type VirtualGatewaySpecListenerTlsCertificateAcmInput interface { +// VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustSdsArgs{...} +type VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustSdsInput interface { pulumi.Input - ToVirtualGatewaySpecListenerTlsCertificateAcmOutput() VirtualGatewaySpecListenerTlsCertificateAcmOutput - ToVirtualGatewaySpecListenerTlsCertificateAcmOutputWithContext(context.Context) VirtualGatewaySpecListenerTlsCertificateAcmOutput + ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustSdsOutput() VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustSdsOutput + ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustSdsOutputWithContext(context.Context) VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustSdsOutput } -type VirtualGatewaySpecListenerTlsCertificateAcmArgs struct { - // ARN for the certificate. - CertificateArn pulumi.StringInput `pulumi:"certificateArn"` +type VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustSdsArgs struct { + // Name of the secret for a virtual gateway's Transport Layer Security (TLS) Secret Discovery Service validation context trust. + SecretName pulumi.StringInput `pulumi:"secretName"` } -func (VirtualGatewaySpecListenerTlsCertificateAcmArgs) ElementType() reflect.Type { - return reflect.TypeOf((*VirtualGatewaySpecListenerTlsCertificateAcm)(nil)).Elem() +func (VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustSdsArgs) ElementType() reflect.Type { + return reflect.TypeOf((*VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustSds)(nil)).Elem() } -func (i VirtualGatewaySpecListenerTlsCertificateAcmArgs) ToVirtualGatewaySpecListenerTlsCertificateAcmOutput() VirtualGatewaySpecListenerTlsCertificateAcmOutput { - return i.ToVirtualGatewaySpecListenerTlsCertificateAcmOutputWithContext(context.Background()) +func (i VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustSdsArgs) ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustSdsOutput() VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustSdsOutput { + return i.ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustSdsOutputWithContext(context.Background()) } -func (i VirtualGatewaySpecListenerTlsCertificateAcmArgs) ToVirtualGatewaySpecListenerTlsCertificateAcmOutputWithContext(ctx context.Context) VirtualGatewaySpecListenerTlsCertificateAcmOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualGatewaySpecListenerTlsCertificateAcmOutput) +func (i VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustSdsArgs) ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustSdsOutputWithContext(ctx context.Context) VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustSdsOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustSdsOutput) } -func (i VirtualGatewaySpecListenerTlsCertificateAcmArgs) ToVirtualGatewaySpecListenerTlsCertificateAcmPtrOutput() VirtualGatewaySpecListenerTlsCertificateAcmPtrOutput { - return i.ToVirtualGatewaySpecListenerTlsCertificateAcmPtrOutputWithContext(context.Background()) +func (i VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustSdsArgs) ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustSdsPtrOutput() VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustSdsPtrOutput { + return i.ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustSdsPtrOutputWithContext(context.Background()) } -func (i VirtualGatewaySpecListenerTlsCertificateAcmArgs) ToVirtualGatewaySpecListenerTlsCertificateAcmPtrOutputWithContext(ctx context.Context) VirtualGatewaySpecListenerTlsCertificateAcmPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualGatewaySpecListenerTlsCertificateAcmOutput).ToVirtualGatewaySpecListenerTlsCertificateAcmPtrOutputWithContext(ctx) +func (i VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustSdsArgs) ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustSdsPtrOutputWithContext(ctx context.Context) VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustSdsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustSdsOutput).ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustSdsPtrOutputWithContext(ctx) } -// VirtualGatewaySpecListenerTlsCertificateAcmPtrInput is an input type that accepts VirtualGatewaySpecListenerTlsCertificateAcmArgs, VirtualGatewaySpecListenerTlsCertificateAcmPtr and VirtualGatewaySpecListenerTlsCertificateAcmPtrOutput values. -// You can construct a concrete instance of `VirtualGatewaySpecListenerTlsCertificateAcmPtrInput` via: +// VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustSdsPtrInput is an input type that accepts VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustSdsArgs, VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustSdsPtr and VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustSdsPtrOutput values. +// You can construct a concrete instance of `VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustSdsPtrInput` via: // -// VirtualGatewaySpecListenerTlsCertificateAcmArgs{...} +// VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustSdsArgs{...} // // or: // // nil -type VirtualGatewaySpecListenerTlsCertificateAcmPtrInput interface { +type VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustSdsPtrInput interface { pulumi.Input - ToVirtualGatewaySpecListenerTlsCertificateAcmPtrOutput() VirtualGatewaySpecListenerTlsCertificateAcmPtrOutput - ToVirtualGatewaySpecListenerTlsCertificateAcmPtrOutputWithContext(context.Context) VirtualGatewaySpecListenerTlsCertificateAcmPtrOutput + ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustSdsPtrOutput() VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustSdsPtrOutput + ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustSdsPtrOutputWithContext(context.Context) VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustSdsPtrOutput } -type virtualGatewaySpecListenerTlsCertificateAcmPtrType VirtualGatewaySpecListenerTlsCertificateAcmArgs +type virtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustSdsPtrType VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustSdsArgs -func VirtualGatewaySpecListenerTlsCertificateAcmPtr(v *VirtualGatewaySpecListenerTlsCertificateAcmArgs) VirtualGatewaySpecListenerTlsCertificateAcmPtrInput { - return (*virtualGatewaySpecListenerTlsCertificateAcmPtrType)(v) +func VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustSdsPtr(v *VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustSdsArgs) VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustSdsPtrInput { + return (*virtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustSdsPtrType)(v) } -func (*virtualGatewaySpecListenerTlsCertificateAcmPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**VirtualGatewaySpecListenerTlsCertificateAcm)(nil)).Elem() +func (*virtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustSdsPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustSds)(nil)).Elem() } -func (i *virtualGatewaySpecListenerTlsCertificateAcmPtrType) ToVirtualGatewaySpecListenerTlsCertificateAcmPtrOutput() VirtualGatewaySpecListenerTlsCertificateAcmPtrOutput { - return i.ToVirtualGatewaySpecListenerTlsCertificateAcmPtrOutputWithContext(context.Background()) +func (i *virtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustSdsPtrType) ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustSdsPtrOutput() VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustSdsPtrOutput { + return i.ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustSdsPtrOutputWithContext(context.Background()) } -func (i *virtualGatewaySpecListenerTlsCertificateAcmPtrType) ToVirtualGatewaySpecListenerTlsCertificateAcmPtrOutputWithContext(ctx context.Context) VirtualGatewaySpecListenerTlsCertificateAcmPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualGatewaySpecListenerTlsCertificateAcmPtrOutput) +func (i *virtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustSdsPtrType) ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustSdsPtrOutputWithContext(ctx context.Context) VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustSdsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustSdsPtrOutput) } -type VirtualGatewaySpecListenerTlsCertificateAcmOutput struct{ *pulumi.OutputState } +type VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustSdsOutput struct{ *pulumi.OutputState } -func (VirtualGatewaySpecListenerTlsCertificateAcmOutput) ElementType() reflect.Type { - return reflect.TypeOf((*VirtualGatewaySpecListenerTlsCertificateAcm)(nil)).Elem() +func (VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustSdsOutput) ElementType() reflect.Type { + return reflect.TypeOf((*VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustSds)(nil)).Elem() } -func (o VirtualGatewaySpecListenerTlsCertificateAcmOutput) ToVirtualGatewaySpecListenerTlsCertificateAcmOutput() VirtualGatewaySpecListenerTlsCertificateAcmOutput { +func (o VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustSdsOutput) ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustSdsOutput() VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustSdsOutput { return o } -func (o VirtualGatewaySpecListenerTlsCertificateAcmOutput) ToVirtualGatewaySpecListenerTlsCertificateAcmOutputWithContext(ctx context.Context) VirtualGatewaySpecListenerTlsCertificateAcmOutput { +func (o VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustSdsOutput) ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustSdsOutputWithContext(ctx context.Context) VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustSdsOutput { return o } -func (o VirtualGatewaySpecListenerTlsCertificateAcmOutput) ToVirtualGatewaySpecListenerTlsCertificateAcmPtrOutput() VirtualGatewaySpecListenerTlsCertificateAcmPtrOutput { - return o.ToVirtualGatewaySpecListenerTlsCertificateAcmPtrOutputWithContext(context.Background()) +func (o VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustSdsOutput) ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustSdsPtrOutput() VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustSdsPtrOutput { + return o.ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustSdsPtrOutputWithContext(context.Background()) } -func (o VirtualGatewaySpecListenerTlsCertificateAcmOutput) ToVirtualGatewaySpecListenerTlsCertificateAcmPtrOutputWithContext(ctx context.Context) VirtualGatewaySpecListenerTlsCertificateAcmPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v VirtualGatewaySpecListenerTlsCertificateAcm) *VirtualGatewaySpecListenerTlsCertificateAcm { +func (o VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustSdsOutput) ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustSdsPtrOutputWithContext(ctx context.Context) VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustSdsPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustSds) *VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustSds { return &v - }).(VirtualGatewaySpecListenerTlsCertificateAcmPtrOutput) + }).(VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustSdsPtrOutput) } -// ARN for the certificate. -func (o VirtualGatewaySpecListenerTlsCertificateAcmOutput) CertificateArn() pulumi.StringOutput { - return o.ApplyT(func(v VirtualGatewaySpecListenerTlsCertificateAcm) string { return v.CertificateArn }).(pulumi.StringOutput) +// Name of the secret for a virtual gateway's Transport Layer Security (TLS) Secret Discovery Service validation context trust. +func (o VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustSdsOutput) SecretName() pulumi.StringOutput { + return o.ApplyT(func(v VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustSds) string { return v.SecretName }).(pulumi.StringOutput) } -type VirtualGatewaySpecListenerTlsCertificateAcmPtrOutput struct{ *pulumi.OutputState } +type VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustSdsPtrOutput struct{ *pulumi.OutputState } -func (VirtualGatewaySpecListenerTlsCertificateAcmPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**VirtualGatewaySpecListenerTlsCertificateAcm)(nil)).Elem() +func (VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustSdsPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustSds)(nil)).Elem() } -func (o VirtualGatewaySpecListenerTlsCertificateAcmPtrOutput) ToVirtualGatewaySpecListenerTlsCertificateAcmPtrOutput() VirtualGatewaySpecListenerTlsCertificateAcmPtrOutput { +func (o VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustSdsPtrOutput) ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustSdsPtrOutput() VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustSdsPtrOutput { return o } -func (o VirtualGatewaySpecListenerTlsCertificateAcmPtrOutput) ToVirtualGatewaySpecListenerTlsCertificateAcmPtrOutputWithContext(ctx context.Context) VirtualGatewaySpecListenerTlsCertificateAcmPtrOutput { +func (o VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustSdsPtrOutput) ToVirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustSdsPtrOutputWithContext(ctx context.Context) VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustSdsPtrOutput { return o } -func (o VirtualGatewaySpecListenerTlsCertificateAcmPtrOutput) Elem() VirtualGatewaySpecListenerTlsCertificateAcmOutput { - return o.ApplyT(func(v *VirtualGatewaySpecListenerTlsCertificateAcm) VirtualGatewaySpecListenerTlsCertificateAcm { +func (o VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustSdsPtrOutput) Elem() VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustSdsOutput { + return o.ApplyT(func(v *VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustSds) VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustSds { if v != nil { return *v } - var ret VirtualGatewaySpecListenerTlsCertificateAcm + var ret VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustSds return ret - }).(VirtualGatewaySpecListenerTlsCertificateAcmOutput) + }).(VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustSdsOutput) } -// ARN for the certificate. -func (o VirtualGatewaySpecListenerTlsCertificateAcmPtrOutput) CertificateArn() pulumi.StringPtrOutput { - return o.ApplyT(func(v *VirtualGatewaySpecListenerTlsCertificateAcm) *string { +// Name of the secret for a virtual gateway's Transport Layer Security (TLS) Secret Discovery Service validation context trust. +func (o VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustSdsPtrOutput) SecretName() pulumi.StringPtrOutput { + return o.ApplyT(func(v *VirtualGatewaySpecBackendDefaultsClientPolicyTlsValidationTrustSds) *string { if v == nil { return nil } - return &v.CertificateArn + return &v.SecretName }).(pulumi.StringPtrOutput) } -type VirtualGatewaySpecListenerTlsCertificateFile struct { - // Certificate trust chain for a certificate stored on the file system of the mesh endpoint that the proxy is running on. Must be between 1 and 255 characters in length. - CertificateChain string `pulumi:"certificateChain"` - // Private key for a certificate stored on the file system of the mesh endpoint that the proxy is running on. Must be between 1 and 255 characters in length. - PrivateKey string `pulumi:"privateKey"` +type VirtualGatewaySpecListener struct { + // Connection pool information for the listener. + ConnectionPool *VirtualGatewaySpecListenerConnectionPool `pulumi:"connectionPool"` + // Health check information for the listener. + HealthCheck *VirtualGatewaySpecListenerHealthCheck `pulumi:"healthCheck"` + // Port mapping information for the listener. + PortMapping VirtualGatewaySpecListenerPortMapping `pulumi:"portMapping"` + // Transport Layer Security (TLS) properties for the listener + Tls *VirtualGatewaySpecListenerTls `pulumi:"tls"` } -// VirtualGatewaySpecListenerTlsCertificateFileInput is an input type that accepts VirtualGatewaySpecListenerTlsCertificateFileArgs and VirtualGatewaySpecListenerTlsCertificateFileOutput values. -// You can construct a concrete instance of `VirtualGatewaySpecListenerTlsCertificateFileInput` via: +// VirtualGatewaySpecListenerInput is an input type that accepts VirtualGatewaySpecListenerArgs and VirtualGatewaySpecListenerOutput values. +// You can construct a concrete instance of `VirtualGatewaySpecListenerInput` via: // -// VirtualGatewaySpecListenerTlsCertificateFileArgs{...} -type VirtualGatewaySpecListenerTlsCertificateFileInput interface { +// VirtualGatewaySpecListenerArgs{...} +type VirtualGatewaySpecListenerInput interface { pulumi.Input - ToVirtualGatewaySpecListenerTlsCertificateFileOutput() VirtualGatewaySpecListenerTlsCertificateFileOutput - ToVirtualGatewaySpecListenerTlsCertificateFileOutputWithContext(context.Context) VirtualGatewaySpecListenerTlsCertificateFileOutput + ToVirtualGatewaySpecListenerOutput() VirtualGatewaySpecListenerOutput + ToVirtualGatewaySpecListenerOutputWithContext(context.Context) VirtualGatewaySpecListenerOutput } -type VirtualGatewaySpecListenerTlsCertificateFileArgs struct { - // Certificate trust chain for a certificate stored on the file system of the mesh endpoint that the proxy is running on. Must be between 1 and 255 characters in length. - CertificateChain pulumi.StringInput `pulumi:"certificateChain"` - // Private key for a certificate stored on the file system of the mesh endpoint that the proxy is running on. Must be between 1 and 255 characters in length. - PrivateKey pulumi.StringInput `pulumi:"privateKey"` +type VirtualGatewaySpecListenerArgs struct { + // Connection pool information for the listener. + ConnectionPool VirtualGatewaySpecListenerConnectionPoolPtrInput `pulumi:"connectionPool"` + // Health check information for the listener. + HealthCheck VirtualGatewaySpecListenerHealthCheckPtrInput `pulumi:"healthCheck"` + // Port mapping information for the listener. + PortMapping VirtualGatewaySpecListenerPortMappingInput `pulumi:"portMapping"` + // Transport Layer Security (TLS) properties for the listener + Tls VirtualGatewaySpecListenerTlsPtrInput `pulumi:"tls"` } -func (VirtualGatewaySpecListenerTlsCertificateFileArgs) ElementType() reflect.Type { - return reflect.TypeOf((*VirtualGatewaySpecListenerTlsCertificateFile)(nil)).Elem() +func (VirtualGatewaySpecListenerArgs) ElementType() reflect.Type { + return reflect.TypeOf((*VirtualGatewaySpecListener)(nil)).Elem() } -func (i VirtualGatewaySpecListenerTlsCertificateFileArgs) ToVirtualGatewaySpecListenerTlsCertificateFileOutput() VirtualGatewaySpecListenerTlsCertificateFileOutput { - return i.ToVirtualGatewaySpecListenerTlsCertificateFileOutputWithContext(context.Background()) +func (i VirtualGatewaySpecListenerArgs) ToVirtualGatewaySpecListenerOutput() VirtualGatewaySpecListenerOutput { + return i.ToVirtualGatewaySpecListenerOutputWithContext(context.Background()) } -func (i VirtualGatewaySpecListenerTlsCertificateFileArgs) ToVirtualGatewaySpecListenerTlsCertificateFileOutputWithContext(ctx context.Context) VirtualGatewaySpecListenerTlsCertificateFileOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualGatewaySpecListenerTlsCertificateFileOutput) +func (i VirtualGatewaySpecListenerArgs) ToVirtualGatewaySpecListenerOutputWithContext(ctx context.Context) VirtualGatewaySpecListenerOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualGatewaySpecListenerOutput) } -func (i VirtualGatewaySpecListenerTlsCertificateFileArgs) ToVirtualGatewaySpecListenerTlsCertificateFilePtrOutput() VirtualGatewaySpecListenerTlsCertificateFilePtrOutput { - return i.ToVirtualGatewaySpecListenerTlsCertificateFilePtrOutputWithContext(context.Background()) +func (i VirtualGatewaySpecListenerArgs) ToVirtualGatewaySpecListenerPtrOutput() VirtualGatewaySpecListenerPtrOutput { + return i.ToVirtualGatewaySpecListenerPtrOutputWithContext(context.Background()) } -func (i VirtualGatewaySpecListenerTlsCertificateFileArgs) ToVirtualGatewaySpecListenerTlsCertificateFilePtrOutputWithContext(ctx context.Context) VirtualGatewaySpecListenerTlsCertificateFilePtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualGatewaySpecListenerTlsCertificateFileOutput).ToVirtualGatewaySpecListenerTlsCertificateFilePtrOutputWithContext(ctx) +func (i VirtualGatewaySpecListenerArgs) ToVirtualGatewaySpecListenerPtrOutputWithContext(ctx context.Context) VirtualGatewaySpecListenerPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualGatewaySpecListenerOutput).ToVirtualGatewaySpecListenerPtrOutputWithContext(ctx) } -// VirtualGatewaySpecListenerTlsCertificateFilePtrInput is an input type that accepts VirtualGatewaySpecListenerTlsCertificateFileArgs, VirtualGatewaySpecListenerTlsCertificateFilePtr and VirtualGatewaySpecListenerTlsCertificateFilePtrOutput values. -// You can construct a concrete instance of `VirtualGatewaySpecListenerTlsCertificateFilePtrInput` via: +// VirtualGatewaySpecListenerPtrInput is an input type that accepts VirtualGatewaySpecListenerArgs, VirtualGatewaySpecListenerPtr and VirtualGatewaySpecListenerPtrOutput values. +// You can construct a concrete instance of `VirtualGatewaySpecListenerPtrInput` via: // -// VirtualGatewaySpecListenerTlsCertificateFileArgs{...} +// VirtualGatewaySpecListenerArgs{...} // // or: // // nil -type VirtualGatewaySpecListenerTlsCertificateFilePtrInput interface { +type VirtualGatewaySpecListenerPtrInput interface { pulumi.Input - ToVirtualGatewaySpecListenerTlsCertificateFilePtrOutput() VirtualGatewaySpecListenerTlsCertificateFilePtrOutput - ToVirtualGatewaySpecListenerTlsCertificateFilePtrOutputWithContext(context.Context) VirtualGatewaySpecListenerTlsCertificateFilePtrOutput + ToVirtualGatewaySpecListenerPtrOutput() VirtualGatewaySpecListenerPtrOutput + ToVirtualGatewaySpecListenerPtrOutputWithContext(context.Context) VirtualGatewaySpecListenerPtrOutput } -type virtualGatewaySpecListenerTlsCertificateFilePtrType VirtualGatewaySpecListenerTlsCertificateFileArgs +type virtualGatewaySpecListenerPtrType VirtualGatewaySpecListenerArgs -func VirtualGatewaySpecListenerTlsCertificateFilePtr(v *VirtualGatewaySpecListenerTlsCertificateFileArgs) VirtualGatewaySpecListenerTlsCertificateFilePtrInput { - return (*virtualGatewaySpecListenerTlsCertificateFilePtrType)(v) +func VirtualGatewaySpecListenerPtr(v *VirtualGatewaySpecListenerArgs) VirtualGatewaySpecListenerPtrInput { + return (*virtualGatewaySpecListenerPtrType)(v) } -func (*virtualGatewaySpecListenerTlsCertificateFilePtrType) ElementType() reflect.Type { - return reflect.TypeOf((**VirtualGatewaySpecListenerTlsCertificateFile)(nil)).Elem() +func (*virtualGatewaySpecListenerPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**VirtualGatewaySpecListener)(nil)).Elem() } -func (i *virtualGatewaySpecListenerTlsCertificateFilePtrType) ToVirtualGatewaySpecListenerTlsCertificateFilePtrOutput() VirtualGatewaySpecListenerTlsCertificateFilePtrOutput { - return i.ToVirtualGatewaySpecListenerTlsCertificateFilePtrOutputWithContext(context.Background()) +func (i *virtualGatewaySpecListenerPtrType) ToVirtualGatewaySpecListenerPtrOutput() VirtualGatewaySpecListenerPtrOutput { + return i.ToVirtualGatewaySpecListenerPtrOutputWithContext(context.Background()) } -func (i *virtualGatewaySpecListenerTlsCertificateFilePtrType) ToVirtualGatewaySpecListenerTlsCertificateFilePtrOutputWithContext(ctx context.Context) VirtualGatewaySpecListenerTlsCertificateFilePtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualGatewaySpecListenerTlsCertificateFilePtrOutput) +func (i *virtualGatewaySpecListenerPtrType) ToVirtualGatewaySpecListenerPtrOutputWithContext(ctx context.Context) VirtualGatewaySpecListenerPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualGatewaySpecListenerPtrOutput) } -type VirtualGatewaySpecListenerTlsCertificateFileOutput struct{ *pulumi.OutputState } +type VirtualGatewaySpecListenerOutput struct{ *pulumi.OutputState } -func (VirtualGatewaySpecListenerTlsCertificateFileOutput) ElementType() reflect.Type { - return reflect.TypeOf((*VirtualGatewaySpecListenerTlsCertificateFile)(nil)).Elem() +func (VirtualGatewaySpecListenerOutput) ElementType() reflect.Type { + return reflect.TypeOf((*VirtualGatewaySpecListener)(nil)).Elem() } -func (o VirtualGatewaySpecListenerTlsCertificateFileOutput) ToVirtualGatewaySpecListenerTlsCertificateFileOutput() VirtualGatewaySpecListenerTlsCertificateFileOutput { +func (o VirtualGatewaySpecListenerOutput) ToVirtualGatewaySpecListenerOutput() VirtualGatewaySpecListenerOutput { return o } -func (o VirtualGatewaySpecListenerTlsCertificateFileOutput) ToVirtualGatewaySpecListenerTlsCertificateFileOutputWithContext(ctx context.Context) VirtualGatewaySpecListenerTlsCertificateFileOutput { +func (o VirtualGatewaySpecListenerOutput) ToVirtualGatewaySpecListenerOutputWithContext(ctx context.Context) VirtualGatewaySpecListenerOutput { return o } -func (o VirtualGatewaySpecListenerTlsCertificateFileOutput) ToVirtualGatewaySpecListenerTlsCertificateFilePtrOutput() VirtualGatewaySpecListenerTlsCertificateFilePtrOutput { - return o.ToVirtualGatewaySpecListenerTlsCertificateFilePtrOutputWithContext(context.Background()) +func (o VirtualGatewaySpecListenerOutput) ToVirtualGatewaySpecListenerPtrOutput() VirtualGatewaySpecListenerPtrOutput { + return o.ToVirtualGatewaySpecListenerPtrOutputWithContext(context.Background()) } -func (o VirtualGatewaySpecListenerTlsCertificateFileOutput) ToVirtualGatewaySpecListenerTlsCertificateFilePtrOutputWithContext(ctx context.Context) VirtualGatewaySpecListenerTlsCertificateFilePtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v VirtualGatewaySpecListenerTlsCertificateFile) *VirtualGatewaySpecListenerTlsCertificateFile { +func (o VirtualGatewaySpecListenerOutput) ToVirtualGatewaySpecListenerPtrOutputWithContext(ctx context.Context) VirtualGatewaySpecListenerPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v VirtualGatewaySpecListener) *VirtualGatewaySpecListener { return &v - }).(VirtualGatewaySpecListenerTlsCertificateFilePtrOutput) + }).(VirtualGatewaySpecListenerPtrOutput) } -// Certificate trust chain for a certificate stored on the file system of the mesh endpoint that the proxy is running on. Must be between 1 and 255 characters in length. -func (o VirtualGatewaySpecListenerTlsCertificateFileOutput) CertificateChain() pulumi.StringOutput { - return o.ApplyT(func(v VirtualGatewaySpecListenerTlsCertificateFile) string { return v.CertificateChain }).(pulumi.StringOutput) +// Connection pool information for the listener. +func (o VirtualGatewaySpecListenerOutput) ConnectionPool() VirtualGatewaySpecListenerConnectionPoolPtrOutput { + return o.ApplyT(func(v VirtualGatewaySpecListener) *VirtualGatewaySpecListenerConnectionPool { return v.ConnectionPool }).(VirtualGatewaySpecListenerConnectionPoolPtrOutput) } -// Private key for a certificate stored on the file system of the mesh endpoint that the proxy is running on. Must be between 1 and 255 characters in length. -func (o VirtualGatewaySpecListenerTlsCertificateFileOutput) PrivateKey() pulumi.StringOutput { - return o.ApplyT(func(v VirtualGatewaySpecListenerTlsCertificateFile) string { return v.PrivateKey }).(pulumi.StringOutput) +// Health check information for the listener. +func (o VirtualGatewaySpecListenerOutput) HealthCheck() VirtualGatewaySpecListenerHealthCheckPtrOutput { + return o.ApplyT(func(v VirtualGatewaySpecListener) *VirtualGatewaySpecListenerHealthCheck { return v.HealthCheck }).(VirtualGatewaySpecListenerHealthCheckPtrOutput) } -type VirtualGatewaySpecListenerTlsCertificateFilePtrOutput struct{ *pulumi.OutputState } +// Port mapping information for the listener. +func (o VirtualGatewaySpecListenerOutput) PortMapping() VirtualGatewaySpecListenerPortMappingOutput { + return o.ApplyT(func(v VirtualGatewaySpecListener) VirtualGatewaySpecListenerPortMapping { return v.PortMapping }).(VirtualGatewaySpecListenerPortMappingOutput) +} -func (VirtualGatewaySpecListenerTlsCertificateFilePtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**VirtualGatewaySpecListenerTlsCertificateFile)(nil)).Elem() +// Transport Layer Security (TLS) properties for the listener +func (o VirtualGatewaySpecListenerOutput) Tls() VirtualGatewaySpecListenerTlsPtrOutput { + return o.ApplyT(func(v VirtualGatewaySpecListener) *VirtualGatewaySpecListenerTls { return v.Tls }).(VirtualGatewaySpecListenerTlsPtrOutput) } -func (o VirtualGatewaySpecListenerTlsCertificateFilePtrOutput) ToVirtualGatewaySpecListenerTlsCertificateFilePtrOutput() VirtualGatewaySpecListenerTlsCertificateFilePtrOutput { +type VirtualGatewaySpecListenerPtrOutput struct{ *pulumi.OutputState } + +func (VirtualGatewaySpecListenerPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**VirtualGatewaySpecListener)(nil)).Elem() +} + +func (o VirtualGatewaySpecListenerPtrOutput) ToVirtualGatewaySpecListenerPtrOutput() VirtualGatewaySpecListenerPtrOutput { return o } -func (o VirtualGatewaySpecListenerTlsCertificateFilePtrOutput) ToVirtualGatewaySpecListenerTlsCertificateFilePtrOutputWithContext(ctx context.Context) VirtualGatewaySpecListenerTlsCertificateFilePtrOutput { +func (o VirtualGatewaySpecListenerPtrOutput) ToVirtualGatewaySpecListenerPtrOutputWithContext(ctx context.Context) VirtualGatewaySpecListenerPtrOutput { return o } -func (o VirtualGatewaySpecListenerTlsCertificateFilePtrOutput) Elem() VirtualGatewaySpecListenerTlsCertificateFileOutput { - return o.ApplyT(func(v *VirtualGatewaySpecListenerTlsCertificateFile) VirtualGatewaySpecListenerTlsCertificateFile { +func (o VirtualGatewaySpecListenerPtrOutput) Elem() VirtualGatewaySpecListenerOutput { + return o.ApplyT(func(v *VirtualGatewaySpecListener) VirtualGatewaySpecListener { if v != nil { return *v } - var ret VirtualGatewaySpecListenerTlsCertificateFile + var ret VirtualGatewaySpecListener return ret - }).(VirtualGatewaySpecListenerTlsCertificateFileOutput) + }).(VirtualGatewaySpecListenerOutput) } -// Certificate trust chain for a certificate stored on the file system of the mesh endpoint that the proxy is running on. Must be between 1 and 255 characters in length. -func (o VirtualGatewaySpecListenerTlsCertificateFilePtrOutput) CertificateChain() pulumi.StringPtrOutput { - return o.ApplyT(func(v *VirtualGatewaySpecListenerTlsCertificateFile) *string { +// Connection pool information for the listener. +func (o VirtualGatewaySpecListenerPtrOutput) ConnectionPool() VirtualGatewaySpecListenerConnectionPoolPtrOutput { + return o.ApplyT(func(v *VirtualGatewaySpecListener) *VirtualGatewaySpecListenerConnectionPool { if v == nil { return nil } - return &v.CertificateChain - }).(pulumi.StringPtrOutput) + return v.ConnectionPool + }).(VirtualGatewaySpecListenerConnectionPoolPtrOutput) } -// Private key for a certificate stored on the file system of the mesh endpoint that the proxy is running on. Must be between 1 and 255 characters in length. -func (o VirtualGatewaySpecListenerTlsCertificateFilePtrOutput) PrivateKey() pulumi.StringPtrOutput { - return o.ApplyT(func(v *VirtualGatewaySpecListenerTlsCertificateFile) *string { +// Health check information for the listener. +func (o VirtualGatewaySpecListenerPtrOutput) HealthCheck() VirtualGatewaySpecListenerHealthCheckPtrOutput { + return o.ApplyT(func(v *VirtualGatewaySpecListener) *VirtualGatewaySpecListenerHealthCheck { if v == nil { return nil } - return &v.PrivateKey - }).(pulumi.StringPtrOutput) + return v.HealthCheck + }).(VirtualGatewaySpecListenerHealthCheckPtrOutput) } -type VirtualGatewaySpecListenerTlsCertificateSds struct { - // Name of the secret for a virtual gateway's Transport Layer Security (TLS) Secret Discovery Service validation context trust. - SecretName string `pulumi:"secretName"` +// Port mapping information for the listener. +func (o VirtualGatewaySpecListenerPtrOutput) PortMapping() VirtualGatewaySpecListenerPortMappingPtrOutput { + return o.ApplyT(func(v *VirtualGatewaySpecListener) *VirtualGatewaySpecListenerPortMapping { + if v == nil { + return nil + } + return &v.PortMapping + }).(VirtualGatewaySpecListenerPortMappingPtrOutput) } -// VirtualGatewaySpecListenerTlsCertificateSdsInput is an input type that accepts VirtualGatewaySpecListenerTlsCertificateSdsArgs and VirtualGatewaySpecListenerTlsCertificateSdsOutput values. -// You can construct a concrete instance of `VirtualGatewaySpecListenerTlsCertificateSdsInput` via: +// Transport Layer Security (TLS) properties for the listener +func (o VirtualGatewaySpecListenerPtrOutput) Tls() VirtualGatewaySpecListenerTlsPtrOutput { + return o.ApplyT(func(v *VirtualGatewaySpecListener) *VirtualGatewaySpecListenerTls { + if v == nil { + return nil + } + return v.Tls + }).(VirtualGatewaySpecListenerTlsPtrOutput) +} + +type VirtualGatewaySpecListenerConnectionPool struct { + // Connection pool information for gRPC listeners. + Grpc *VirtualGatewaySpecListenerConnectionPoolGrpc `pulumi:"grpc"` + // Connection pool information for HTTP listeners. + Http *VirtualGatewaySpecListenerConnectionPoolHttp `pulumi:"http"` + // Connection pool information for HTTP2 listeners. + Http2 *VirtualGatewaySpecListenerConnectionPoolHttp2 `pulumi:"http2"` +} + +// VirtualGatewaySpecListenerConnectionPoolInput is an input type that accepts VirtualGatewaySpecListenerConnectionPoolArgs and VirtualGatewaySpecListenerConnectionPoolOutput values. +// You can construct a concrete instance of `VirtualGatewaySpecListenerConnectionPoolInput` via: // -// VirtualGatewaySpecListenerTlsCertificateSdsArgs{...} -type VirtualGatewaySpecListenerTlsCertificateSdsInput interface { +// VirtualGatewaySpecListenerConnectionPoolArgs{...} +type VirtualGatewaySpecListenerConnectionPoolInput interface { pulumi.Input - ToVirtualGatewaySpecListenerTlsCertificateSdsOutput() VirtualGatewaySpecListenerTlsCertificateSdsOutput - ToVirtualGatewaySpecListenerTlsCertificateSdsOutputWithContext(context.Context) VirtualGatewaySpecListenerTlsCertificateSdsOutput + ToVirtualGatewaySpecListenerConnectionPoolOutput() VirtualGatewaySpecListenerConnectionPoolOutput + ToVirtualGatewaySpecListenerConnectionPoolOutputWithContext(context.Context) VirtualGatewaySpecListenerConnectionPoolOutput } -type VirtualGatewaySpecListenerTlsCertificateSdsArgs struct { - // Name of the secret for a virtual gateway's Transport Layer Security (TLS) Secret Discovery Service validation context trust. - SecretName pulumi.StringInput `pulumi:"secretName"` +type VirtualGatewaySpecListenerConnectionPoolArgs struct { + // Connection pool information for gRPC listeners. + Grpc VirtualGatewaySpecListenerConnectionPoolGrpcPtrInput `pulumi:"grpc"` + // Connection pool information for HTTP listeners. + Http VirtualGatewaySpecListenerConnectionPoolHttpPtrInput `pulumi:"http"` + // Connection pool information for HTTP2 listeners. + Http2 VirtualGatewaySpecListenerConnectionPoolHttp2PtrInput `pulumi:"http2"` } -func (VirtualGatewaySpecListenerTlsCertificateSdsArgs) ElementType() reflect.Type { - return reflect.TypeOf((*VirtualGatewaySpecListenerTlsCertificateSds)(nil)).Elem() +func (VirtualGatewaySpecListenerConnectionPoolArgs) ElementType() reflect.Type { + return reflect.TypeOf((*VirtualGatewaySpecListenerConnectionPool)(nil)).Elem() } -func (i VirtualGatewaySpecListenerTlsCertificateSdsArgs) ToVirtualGatewaySpecListenerTlsCertificateSdsOutput() VirtualGatewaySpecListenerTlsCertificateSdsOutput { - return i.ToVirtualGatewaySpecListenerTlsCertificateSdsOutputWithContext(context.Background()) +func (i VirtualGatewaySpecListenerConnectionPoolArgs) ToVirtualGatewaySpecListenerConnectionPoolOutput() VirtualGatewaySpecListenerConnectionPoolOutput { + return i.ToVirtualGatewaySpecListenerConnectionPoolOutputWithContext(context.Background()) } -func (i VirtualGatewaySpecListenerTlsCertificateSdsArgs) ToVirtualGatewaySpecListenerTlsCertificateSdsOutputWithContext(ctx context.Context) VirtualGatewaySpecListenerTlsCertificateSdsOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualGatewaySpecListenerTlsCertificateSdsOutput) +func (i VirtualGatewaySpecListenerConnectionPoolArgs) ToVirtualGatewaySpecListenerConnectionPoolOutputWithContext(ctx context.Context) VirtualGatewaySpecListenerConnectionPoolOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualGatewaySpecListenerConnectionPoolOutput) } -func (i VirtualGatewaySpecListenerTlsCertificateSdsArgs) ToVirtualGatewaySpecListenerTlsCertificateSdsPtrOutput() VirtualGatewaySpecListenerTlsCertificateSdsPtrOutput { - return i.ToVirtualGatewaySpecListenerTlsCertificateSdsPtrOutputWithContext(context.Background()) +func (i VirtualGatewaySpecListenerConnectionPoolArgs) ToVirtualGatewaySpecListenerConnectionPoolPtrOutput() VirtualGatewaySpecListenerConnectionPoolPtrOutput { + return i.ToVirtualGatewaySpecListenerConnectionPoolPtrOutputWithContext(context.Background()) } -func (i VirtualGatewaySpecListenerTlsCertificateSdsArgs) ToVirtualGatewaySpecListenerTlsCertificateSdsPtrOutputWithContext(ctx context.Context) VirtualGatewaySpecListenerTlsCertificateSdsPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualGatewaySpecListenerTlsCertificateSdsOutput).ToVirtualGatewaySpecListenerTlsCertificateSdsPtrOutputWithContext(ctx) +func (i VirtualGatewaySpecListenerConnectionPoolArgs) ToVirtualGatewaySpecListenerConnectionPoolPtrOutputWithContext(ctx context.Context) VirtualGatewaySpecListenerConnectionPoolPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualGatewaySpecListenerConnectionPoolOutput).ToVirtualGatewaySpecListenerConnectionPoolPtrOutputWithContext(ctx) } -// VirtualGatewaySpecListenerTlsCertificateSdsPtrInput is an input type that accepts VirtualGatewaySpecListenerTlsCertificateSdsArgs, VirtualGatewaySpecListenerTlsCertificateSdsPtr and VirtualGatewaySpecListenerTlsCertificateSdsPtrOutput values. -// You can construct a concrete instance of `VirtualGatewaySpecListenerTlsCertificateSdsPtrInput` via: +// VirtualGatewaySpecListenerConnectionPoolPtrInput is an input type that accepts VirtualGatewaySpecListenerConnectionPoolArgs, VirtualGatewaySpecListenerConnectionPoolPtr and VirtualGatewaySpecListenerConnectionPoolPtrOutput values. +// You can construct a concrete instance of `VirtualGatewaySpecListenerConnectionPoolPtrInput` via: // -// VirtualGatewaySpecListenerTlsCertificateSdsArgs{...} +// VirtualGatewaySpecListenerConnectionPoolArgs{...} // // or: // // nil -type VirtualGatewaySpecListenerTlsCertificateSdsPtrInput interface { +type VirtualGatewaySpecListenerConnectionPoolPtrInput interface { pulumi.Input - ToVirtualGatewaySpecListenerTlsCertificateSdsPtrOutput() VirtualGatewaySpecListenerTlsCertificateSdsPtrOutput - ToVirtualGatewaySpecListenerTlsCertificateSdsPtrOutputWithContext(context.Context) VirtualGatewaySpecListenerTlsCertificateSdsPtrOutput + ToVirtualGatewaySpecListenerConnectionPoolPtrOutput() VirtualGatewaySpecListenerConnectionPoolPtrOutput + ToVirtualGatewaySpecListenerConnectionPoolPtrOutputWithContext(context.Context) VirtualGatewaySpecListenerConnectionPoolPtrOutput } -type virtualGatewaySpecListenerTlsCertificateSdsPtrType VirtualGatewaySpecListenerTlsCertificateSdsArgs +type virtualGatewaySpecListenerConnectionPoolPtrType VirtualGatewaySpecListenerConnectionPoolArgs -func VirtualGatewaySpecListenerTlsCertificateSdsPtr(v *VirtualGatewaySpecListenerTlsCertificateSdsArgs) VirtualGatewaySpecListenerTlsCertificateSdsPtrInput { - return (*virtualGatewaySpecListenerTlsCertificateSdsPtrType)(v) +func VirtualGatewaySpecListenerConnectionPoolPtr(v *VirtualGatewaySpecListenerConnectionPoolArgs) VirtualGatewaySpecListenerConnectionPoolPtrInput { + return (*virtualGatewaySpecListenerConnectionPoolPtrType)(v) } -func (*virtualGatewaySpecListenerTlsCertificateSdsPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**VirtualGatewaySpecListenerTlsCertificateSds)(nil)).Elem() +func (*virtualGatewaySpecListenerConnectionPoolPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**VirtualGatewaySpecListenerConnectionPool)(nil)).Elem() } -func (i *virtualGatewaySpecListenerTlsCertificateSdsPtrType) ToVirtualGatewaySpecListenerTlsCertificateSdsPtrOutput() VirtualGatewaySpecListenerTlsCertificateSdsPtrOutput { - return i.ToVirtualGatewaySpecListenerTlsCertificateSdsPtrOutputWithContext(context.Background()) +func (i *virtualGatewaySpecListenerConnectionPoolPtrType) ToVirtualGatewaySpecListenerConnectionPoolPtrOutput() VirtualGatewaySpecListenerConnectionPoolPtrOutput { + return i.ToVirtualGatewaySpecListenerConnectionPoolPtrOutputWithContext(context.Background()) } -func (i *virtualGatewaySpecListenerTlsCertificateSdsPtrType) ToVirtualGatewaySpecListenerTlsCertificateSdsPtrOutputWithContext(ctx context.Context) VirtualGatewaySpecListenerTlsCertificateSdsPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualGatewaySpecListenerTlsCertificateSdsPtrOutput) +func (i *virtualGatewaySpecListenerConnectionPoolPtrType) ToVirtualGatewaySpecListenerConnectionPoolPtrOutputWithContext(ctx context.Context) VirtualGatewaySpecListenerConnectionPoolPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualGatewaySpecListenerConnectionPoolPtrOutput) } -type VirtualGatewaySpecListenerTlsCertificateSdsOutput struct{ *pulumi.OutputState } +type VirtualGatewaySpecListenerConnectionPoolOutput struct{ *pulumi.OutputState } -func (VirtualGatewaySpecListenerTlsCertificateSdsOutput) ElementType() reflect.Type { - return reflect.TypeOf((*VirtualGatewaySpecListenerTlsCertificateSds)(nil)).Elem() +func (VirtualGatewaySpecListenerConnectionPoolOutput) ElementType() reflect.Type { + return reflect.TypeOf((*VirtualGatewaySpecListenerConnectionPool)(nil)).Elem() } -func (o VirtualGatewaySpecListenerTlsCertificateSdsOutput) ToVirtualGatewaySpecListenerTlsCertificateSdsOutput() VirtualGatewaySpecListenerTlsCertificateSdsOutput { +func (o VirtualGatewaySpecListenerConnectionPoolOutput) ToVirtualGatewaySpecListenerConnectionPoolOutput() VirtualGatewaySpecListenerConnectionPoolOutput { return o } -func (o VirtualGatewaySpecListenerTlsCertificateSdsOutput) ToVirtualGatewaySpecListenerTlsCertificateSdsOutputWithContext(ctx context.Context) VirtualGatewaySpecListenerTlsCertificateSdsOutput { +func (o VirtualGatewaySpecListenerConnectionPoolOutput) ToVirtualGatewaySpecListenerConnectionPoolOutputWithContext(ctx context.Context) VirtualGatewaySpecListenerConnectionPoolOutput { return o } -func (o VirtualGatewaySpecListenerTlsCertificateSdsOutput) ToVirtualGatewaySpecListenerTlsCertificateSdsPtrOutput() VirtualGatewaySpecListenerTlsCertificateSdsPtrOutput { - return o.ToVirtualGatewaySpecListenerTlsCertificateSdsPtrOutputWithContext(context.Background()) +func (o VirtualGatewaySpecListenerConnectionPoolOutput) ToVirtualGatewaySpecListenerConnectionPoolPtrOutput() VirtualGatewaySpecListenerConnectionPoolPtrOutput { + return o.ToVirtualGatewaySpecListenerConnectionPoolPtrOutputWithContext(context.Background()) } -func (o VirtualGatewaySpecListenerTlsCertificateSdsOutput) ToVirtualGatewaySpecListenerTlsCertificateSdsPtrOutputWithContext(ctx context.Context) VirtualGatewaySpecListenerTlsCertificateSdsPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v VirtualGatewaySpecListenerTlsCertificateSds) *VirtualGatewaySpecListenerTlsCertificateSds { +func (o VirtualGatewaySpecListenerConnectionPoolOutput) ToVirtualGatewaySpecListenerConnectionPoolPtrOutputWithContext(ctx context.Context) VirtualGatewaySpecListenerConnectionPoolPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v VirtualGatewaySpecListenerConnectionPool) *VirtualGatewaySpecListenerConnectionPool { return &v - }).(VirtualGatewaySpecListenerTlsCertificateSdsPtrOutput) + }).(VirtualGatewaySpecListenerConnectionPoolPtrOutput) } -// Name of the secret for a virtual gateway's Transport Layer Security (TLS) Secret Discovery Service validation context trust. -func (o VirtualGatewaySpecListenerTlsCertificateSdsOutput) SecretName() pulumi.StringOutput { - return o.ApplyT(func(v VirtualGatewaySpecListenerTlsCertificateSds) string { return v.SecretName }).(pulumi.StringOutput) +// Connection pool information for gRPC listeners. +func (o VirtualGatewaySpecListenerConnectionPoolOutput) Grpc() VirtualGatewaySpecListenerConnectionPoolGrpcPtrOutput { + return o.ApplyT(func(v VirtualGatewaySpecListenerConnectionPool) *VirtualGatewaySpecListenerConnectionPoolGrpc { + return v.Grpc + }).(VirtualGatewaySpecListenerConnectionPoolGrpcPtrOutput) } -type VirtualGatewaySpecListenerTlsCertificateSdsPtrOutput struct{ *pulumi.OutputState } +// Connection pool information for HTTP listeners. +func (o VirtualGatewaySpecListenerConnectionPoolOutput) Http() VirtualGatewaySpecListenerConnectionPoolHttpPtrOutput { + return o.ApplyT(func(v VirtualGatewaySpecListenerConnectionPool) *VirtualGatewaySpecListenerConnectionPoolHttp { + return v.Http + }).(VirtualGatewaySpecListenerConnectionPoolHttpPtrOutput) +} -func (VirtualGatewaySpecListenerTlsCertificateSdsPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**VirtualGatewaySpecListenerTlsCertificateSds)(nil)).Elem() +// Connection pool information for HTTP2 listeners. +func (o VirtualGatewaySpecListenerConnectionPoolOutput) Http2() VirtualGatewaySpecListenerConnectionPoolHttp2PtrOutput { + return o.ApplyT(func(v VirtualGatewaySpecListenerConnectionPool) *VirtualGatewaySpecListenerConnectionPoolHttp2 { + return v.Http2 + }).(VirtualGatewaySpecListenerConnectionPoolHttp2PtrOutput) } -func (o VirtualGatewaySpecListenerTlsCertificateSdsPtrOutput) ToVirtualGatewaySpecListenerTlsCertificateSdsPtrOutput() VirtualGatewaySpecListenerTlsCertificateSdsPtrOutput { +type VirtualGatewaySpecListenerConnectionPoolPtrOutput struct{ *pulumi.OutputState } + +func (VirtualGatewaySpecListenerConnectionPoolPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**VirtualGatewaySpecListenerConnectionPool)(nil)).Elem() +} + +func (o VirtualGatewaySpecListenerConnectionPoolPtrOutput) ToVirtualGatewaySpecListenerConnectionPoolPtrOutput() VirtualGatewaySpecListenerConnectionPoolPtrOutput { return o } -func (o VirtualGatewaySpecListenerTlsCertificateSdsPtrOutput) ToVirtualGatewaySpecListenerTlsCertificateSdsPtrOutputWithContext(ctx context.Context) VirtualGatewaySpecListenerTlsCertificateSdsPtrOutput { +func (o VirtualGatewaySpecListenerConnectionPoolPtrOutput) ToVirtualGatewaySpecListenerConnectionPoolPtrOutputWithContext(ctx context.Context) VirtualGatewaySpecListenerConnectionPoolPtrOutput { return o } -func (o VirtualGatewaySpecListenerTlsCertificateSdsPtrOutput) Elem() VirtualGatewaySpecListenerTlsCertificateSdsOutput { - return o.ApplyT(func(v *VirtualGatewaySpecListenerTlsCertificateSds) VirtualGatewaySpecListenerTlsCertificateSds { +func (o VirtualGatewaySpecListenerConnectionPoolPtrOutput) Elem() VirtualGatewaySpecListenerConnectionPoolOutput { + return o.ApplyT(func(v *VirtualGatewaySpecListenerConnectionPool) VirtualGatewaySpecListenerConnectionPool { if v != nil { return *v } - var ret VirtualGatewaySpecListenerTlsCertificateSds + var ret VirtualGatewaySpecListenerConnectionPool return ret - }).(VirtualGatewaySpecListenerTlsCertificateSdsOutput) + }).(VirtualGatewaySpecListenerConnectionPoolOutput) } -// Name of the secret for a virtual gateway's Transport Layer Security (TLS) Secret Discovery Service validation context trust. -func (o VirtualGatewaySpecListenerTlsCertificateSdsPtrOutput) SecretName() pulumi.StringPtrOutput { - return o.ApplyT(func(v *VirtualGatewaySpecListenerTlsCertificateSds) *string { +// Connection pool information for gRPC listeners. +func (o VirtualGatewaySpecListenerConnectionPoolPtrOutput) Grpc() VirtualGatewaySpecListenerConnectionPoolGrpcPtrOutput { + return o.ApplyT(func(v *VirtualGatewaySpecListenerConnectionPool) *VirtualGatewaySpecListenerConnectionPoolGrpc { if v == nil { return nil } - return &v.SecretName - }).(pulumi.StringPtrOutput) + return v.Grpc + }).(VirtualGatewaySpecListenerConnectionPoolGrpcPtrOutput) } -type VirtualGatewaySpecListenerTlsValidation struct { - // SANs for a virtual gateway's listener's Transport Layer Security (TLS) validation context. - SubjectAlternativeNames *VirtualGatewaySpecListenerTlsValidationSubjectAlternativeNames `pulumi:"subjectAlternativeNames"` - // TLS validation context trust. - Trust VirtualGatewaySpecListenerTlsValidationTrust `pulumi:"trust"` +// Connection pool information for HTTP listeners. +func (o VirtualGatewaySpecListenerConnectionPoolPtrOutput) Http() VirtualGatewaySpecListenerConnectionPoolHttpPtrOutput { + return o.ApplyT(func(v *VirtualGatewaySpecListenerConnectionPool) *VirtualGatewaySpecListenerConnectionPoolHttp { + if v == nil { + return nil + } + return v.Http + }).(VirtualGatewaySpecListenerConnectionPoolHttpPtrOutput) } -// VirtualGatewaySpecListenerTlsValidationInput is an input type that accepts VirtualGatewaySpecListenerTlsValidationArgs and VirtualGatewaySpecListenerTlsValidationOutput values. -// You can construct a concrete instance of `VirtualGatewaySpecListenerTlsValidationInput` via: +// Connection pool information for HTTP2 listeners. +func (o VirtualGatewaySpecListenerConnectionPoolPtrOutput) Http2() VirtualGatewaySpecListenerConnectionPoolHttp2PtrOutput { + return o.ApplyT(func(v *VirtualGatewaySpecListenerConnectionPool) *VirtualGatewaySpecListenerConnectionPoolHttp2 { + if v == nil { + return nil + } + return v.Http2 + }).(VirtualGatewaySpecListenerConnectionPoolHttp2PtrOutput) +} + +type VirtualGatewaySpecListenerConnectionPoolGrpc struct { + // Maximum number of inflight requests Envoy can concurrently support across hosts in upstream cluster. Minimum value of `1`. + MaxRequests int `pulumi:"maxRequests"` +} + +// VirtualGatewaySpecListenerConnectionPoolGrpcInput is an input type that accepts VirtualGatewaySpecListenerConnectionPoolGrpcArgs and VirtualGatewaySpecListenerConnectionPoolGrpcOutput values. +// You can construct a concrete instance of `VirtualGatewaySpecListenerConnectionPoolGrpcInput` via: // -// VirtualGatewaySpecListenerTlsValidationArgs{...} -type VirtualGatewaySpecListenerTlsValidationInput interface { +// VirtualGatewaySpecListenerConnectionPoolGrpcArgs{...} +type VirtualGatewaySpecListenerConnectionPoolGrpcInput interface { pulumi.Input - ToVirtualGatewaySpecListenerTlsValidationOutput() VirtualGatewaySpecListenerTlsValidationOutput - ToVirtualGatewaySpecListenerTlsValidationOutputWithContext(context.Context) VirtualGatewaySpecListenerTlsValidationOutput + ToVirtualGatewaySpecListenerConnectionPoolGrpcOutput() VirtualGatewaySpecListenerConnectionPoolGrpcOutput + ToVirtualGatewaySpecListenerConnectionPoolGrpcOutputWithContext(context.Context) VirtualGatewaySpecListenerConnectionPoolGrpcOutput } -type VirtualGatewaySpecListenerTlsValidationArgs struct { - // SANs for a virtual gateway's listener's Transport Layer Security (TLS) validation context. - SubjectAlternativeNames VirtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesPtrInput `pulumi:"subjectAlternativeNames"` - // TLS validation context trust. - Trust VirtualGatewaySpecListenerTlsValidationTrustInput `pulumi:"trust"` +type VirtualGatewaySpecListenerConnectionPoolGrpcArgs struct { + // Maximum number of inflight requests Envoy can concurrently support across hosts in upstream cluster. Minimum value of `1`. + MaxRequests pulumi.IntInput `pulumi:"maxRequests"` } -func (VirtualGatewaySpecListenerTlsValidationArgs) ElementType() reflect.Type { - return reflect.TypeOf((*VirtualGatewaySpecListenerTlsValidation)(nil)).Elem() +func (VirtualGatewaySpecListenerConnectionPoolGrpcArgs) ElementType() reflect.Type { + return reflect.TypeOf((*VirtualGatewaySpecListenerConnectionPoolGrpc)(nil)).Elem() } -func (i VirtualGatewaySpecListenerTlsValidationArgs) ToVirtualGatewaySpecListenerTlsValidationOutput() VirtualGatewaySpecListenerTlsValidationOutput { - return i.ToVirtualGatewaySpecListenerTlsValidationOutputWithContext(context.Background()) +func (i VirtualGatewaySpecListenerConnectionPoolGrpcArgs) ToVirtualGatewaySpecListenerConnectionPoolGrpcOutput() VirtualGatewaySpecListenerConnectionPoolGrpcOutput { + return i.ToVirtualGatewaySpecListenerConnectionPoolGrpcOutputWithContext(context.Background()) } -func (i VirtualGatewaySpecListenerTlsValidationArgs) ToVirtualGatewaySpecListenerTlsValidationOutputWithContext(ctx context.Context) VirtualGatewaySpecListenerTlsValidationOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualGatewaySpecListenerTlsValidationOutput) +func (i VirtualGatewaySpecListenerConnectionPoolGrpcArgs) ToVirtualGatewaySpecListenerConnectionPoolGrpcOutputWithContext(ctx context.Context) VirtualGatewaySpecListenerConnectionPoolGrpcOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualGatewaySpecListenerConnectionPoolGrpcOutput) } -func (i VirtualGatewaySpecListenerTlsValidationArgs) ToVirtualGatewaySpecListenerTlsValidationPtrOutput() VirtualGatewaySpecListenerTlsValidationPtrOutput { - return i.ToVirtualGatewaySpecListenerTlsValidationPtrOutputWithContext(context.Background()) +func (i VirtualGatewaySpecListenerConnectionPoolGrpcArgs) ToVirtualGatewaySpecListenerConnectionPoolGrpcPtrOutput() VirtualGatewaySpecListenerConnectionPoolGrpcPtrOutput { + return i.ToVirtualGatewaySpecListenerConnectionPoolGrpcPtrOutputWithContext(context.Background()) } -func (i VirtualGatewaySpecListenerTlsValidationArgs) ToVirtualGatewaySpecListenerTlsValidationPtrOutputWithContext(ctx context.Context) VirtualGatewaySpecListenerTlsValidationPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualGatewaySpecListenerTlsValidationOutput).ToVirtualGatewaySpecListenerTlsValidationPtrOutputWithContext(ctx) +func (i VirtualGatewaySpecListenerConnectionPoolGrpcArgs) ToVirtualGatewaySpecListenerConnectionPoolGrpcPtrOutputWithContext(ctx context.Context) VirtualGatewaySpecListenerConnectionPoolGrpcPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualGatewaySpecListenerConnectionPoolGrpcOutput).ToVirtualGatewaySpecListenerConnectionPoolGrpcPtrOutputWithContext(ctx) } -// VirtualGatewaySpecListenerTlsValidationPtrInput is an input type that accepts VirtualGatewaySpecListenerTlsValidationArgs, VirtualGatewaySpecListenerTlsValidationPtr and VirtualGatewaySpecListenerTlsValidationPtrOutput values. -// You can construct a concrete instance of `VirtualGatewaySpecListenerTlsValidationPtrInput` via: +// VirtualGatewaySpecListenerConnectionPoolGrpcPtrInput is an input type that accepts VirtualGatewaySpecListenerConnectionPoolGrpcArgs, VirtualGatewaySpecListenerConnectionPoolGrpcPtr and VirtualGatewaySpecListenerConnectionPoolGrpcPtrOutput values. +// You can construct a concrete instance of `VirtualGatewaySpecListenerConnectionPoolGrpcPtrInput` via: // -// VirtualGatewaySpecListenerTlsValidationArgs{...} +// VirtualGatewaySpecListenerConnectionPoolGrpcArgs{...} // // or: // // nil -type VirtualGatewaySpecListenerTlsValidationPtrInput interface { +type VirtualGatewaySpecListenerConnectionPoolGrpcPtrInput interface { pulumi.Input - ToVirtualGatewaySpecListenerTlsValidationPtrOutput() VirtualGatewaySpecListenerTlsValidationPtrOutput - ToVirtualGatewaySpecListenerTlsValidationPtrOutputWithContext(context.Context) VirtualGatewaySpecListenerTlsValidationPtrOutput + ToVirtualGatewaySpecListenerConnectionPoolGrpcPtrOutput() VirtualGatewaySpecListenerConnectionPoolGrpcPtrOutput + ToVirtualGatewaySpecListenerConnectionPoolGrpcPtrOutputWithContext(context.Context) VirtualGatewaySpecListenerConnectionPoolGrpcPtrOutput } -type virtualGatewaySpecListenerTlsValidationPtrType VirtualGatewaySpecListenerTlsValidationArgs +type virtualGatewaySpecListenerConnectionPoolGrpcPtrType VirtualGatewaySpecListenerConnectionPoolGrpcArgs -func VirtualGatewaySpecListenerTlsValidationPtr(v *VirtualGatewaySpecListenerTlsValidationArgs) VirtualGatewaySpecListenerTlsValidationPtrInput { - return (*virtualGatewaySpecListenerTlsValidationPtrType)(v) +func VirtualGatewaySpecListenerConnectionPoolGrpcPtr(v *VirtualGatewaySpecListenerConnectionPoolGrpcArgs) VirtualGatewaySpecListenerConnectionPoolGrpcPtrInput { + return (*virtualGatewaySpecListenerConnectionPoolGrpcPtrType)(v) } -func (*virtualGatewaySpecListenerTlsValidationPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**VirtualGatewaySpecListenerTlsValidation)(nil)).Elem() +func (*virtualGatewaySpecListenerConnectionPoolGrpcPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**VirtualGatewaySpecListenerConnectionPoolGrpc)(nil)).Elem() } -func (i *virtualGatewaySpecListenerTlsValidationPtrType) ToVirtualGatewaySpecListenerTlsValidationPtrOutput() VirtualGatewaySpecListenerTlsValidationPtrOutput { - return i.ToVirtualGatewaySpecListenerTlsValidationPtrOutputWithContext(context.Background()) +func (i *virtualGatewaySpecListenerConnectionPoolGrpcPtrType) ToVirtualGatewaySpecListenerConnectionPoolGrpcPtrOutput() VirtualGatewaySpecListenerConnectionPoolGrpcPtrOutput { + return i.ToVirtualGatewaySpecListenerConnectionPoolGrpcPtrOutputWithContext(context.Background()) } -func (i *virtualGatewaySpecListenerTlsValidationPtrType) ToVirtualGatewaySpecListenerTlsValidationPtrOutputWithContext(ctx context.Context) VirtualGatewaySpecListenerTlsValidationPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualGatewaySpecListenerTlsValidationPtrOutput) +func (i *virtualGatewaySpecListenerConnectionPoolGrpcPtrType) ToVirtualGatewaySpecListenerConnectionPoolGrpcPtrOutputWithContext(ctx context.Context) VirtualGatewaySpecListenerConnectionPoolGrpcPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualGatewaySpecListenerConnectionPoolGrpcPtrOutput) } -type VirtualGatewaySpecListenerTlsValidationOutput struct{ *pulumi.OutputState } +type VirtualGatewaySpecListenerConnectionPoolGrpcOutput struct{ *pulumi.OutputState } -func (VirtualGatewaySpecListenerTlsValidationOutput) ElementType() reflect.Type { - return reflect.TypeOf((*VirtualGatewaySpecListenerTlsValidation)(nil)).Elem() +func (VirtualGatewaySpecListenerConnectionPoolGrpcOutput) ElementType() reflect.Type { + return reflect.TypeOf((*VirtualGatewaySpecListenerConnectionPoolGrpc)(nil)).Elem() } -func (o VirtualGatewaySpecListenerTlsValidationOutput) ToVirtualGatewaySpecListenerTlsValidationOutput() VirtualGatewaySpecListenerTlsValidationOutput { +func (o VirtualGatewaySpecListenerConnectionPoolGrpcOutput) ToVirtualGatewaySpecListenerConnectionPoolGrpcOutput() VirtualGatewaySpecListenerConnectionPoolGrpcOutput { return o } -func (o VirtualGatewaySpecListenerTlsValidationOutput) ToVirtualGatewaySpecListenerTlsValidationOutputWithContext(ctx context.Context) VirtualGatewaySpecListenerTlsValidationOutput { +func (o VirtualGatewaySpecListenerConnectionPoolGrpcOutput) ToVirtualGatewaySpecListenerConnectionPoolGrpcOutputWithContext(ctx context.Context) VirtualGatewaySpecListenerConnectionPoolGrpcOutput { return o } -func (o VirtualGatewaySpecListenerTlsValidationOutput) ToVirtualGatewaySpecListenerTlsValidationPtrOutput() VirtualGatewaySpecListenerTlsValidationPtrOutput { - return o.ToVirtualGatewaySpecListenerTlsValidationPtrOutputWithContext(context.Background()) +func (o VirtualGatewaySpecListenerConnectionPoolGrpcOutput) ToVirtualGatewaySpecListenerConnectionPoolGrpcPtrOutput() VirtualGatewaySpecListenerConnectionPoolGrpcPtrOutput { + return o.ToVirtualGatewaySpecListenerConnectionPoolGrpcPtrOutputWithContext(context.Background()) } -func (o VirtualGatewaySpecListenerTlsValidationOutput) ToVirtualGatewaySpecListenerTlsValidationPtrOutputWithContext(ctx context.Context) VirtualGatewaySpecListenerTlsValidationPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v VirtualGatewaySpecListenerTlsValidation) *VirtualGatewaySpecListenerTlsValidation { +func (o VirtualGatewaySpecListenerConnectionPoolGrpcOutput) ToVirtualGatewaySpecListenerConnectionPoolGrpcPtrOutputWithContext(ctx context.Context) VirtualGatewaySpecListenerConnectionPoolGrpcPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v VirtualGatewaySpecListenerConnectionPoolGrpc) *VirtualGatewaySpecListenerConnectionPoolGrpc { return &v - }).(VirtualGatewaySpecListenerTlsValidationPtrOutput) -} - -// SANs for a virtual gateway's listener's Transport Layer Security (TLS) validation context. -func (o VirtualGatewaySpecListenerTlsValidationOutput) SubjectAlternativeNames() VirtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesPtrOutput { - return o.ApplyT(func(v VirtualGatewaySpecListenerTlsValidation) *VirtualGatewaySpecListenerTlsValidationSubjectAlternativeNames { - return v.SubjectAlternativeNames - }).(VirtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesPtrOutput) + }).(VirtualGatewaySpecListenerConnectionPoolGrpcPtrOutput) } -// TLS validation context trust. -func (o VirtualGatewaySpecListenerTlsValidationOutput) Trust() VirtualGatewaySpecListenerTlsValidationTrustOutput { - return o.ApplyT(func(v VirtualGatewaySpecListenerTlsValidation) VirtualGatewaySpecListenerTlsValidationTrust { - return v.Trust - }).(VirtualGatewaySpecListenerTlsValidationTrustOutput) +// Maximum number of inflight requests Envoy can concurrently support across hosts in upstream cluster. Minimum value of `1`. +func (o VirtualGatewaySpecListenerConnectionPoolGrpcOutput) MaxRequests() pulumi.IntOutput { + return o.ApplyT(func(v VirtualGatewaySpecListenerConnectionPoolGrpc) int { return v.MaxRequests }).(pulumi.IntOutput) } -type VirtualGatewaySpecListenerTlsValidationPtrOutput struct{ *pulumi.OutputState } +type VirtualGatewaySpecListenerConnectionPoolGrpcPtrOutput struct{ *pulumi.OutputState } -func (VirtualGatewaySpecListenerTlsValidationPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**VirtualGatewaySpecListenerTlsValidation)(nil)).Elem() +func (VirtualGatewaySpecListenerConnectionPoolGrpcPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**VirtualGatewaySpecListenerConnectionPoolGrpc)(nil)).Elem() } -func (o VirtualGatewaySpecListenerTlsValidationPtrOutput) ToVirtualGatewaySpecListenerTlsValidationPtrOutput() VirtualGatewaySpecListenerTlsValidationPtrOutput { +func (o VirtualGatewaySpecListenerConnectionPoolGrpcPtrOutput) ToVirtualGatewaySpecListenerConnectionPoolGrpcPtrOutput() VirtualGatewaySpecListenerConnectionPoolGrpcPtrOutput { return o } -func (o VirtualGatewaySpecListenerTlsValidationPtrOutput) ToVirtualGatewaySpecListenerTlsValidationPtrOutputWithContext(ctx context.Context) VirtualGatewaySpecListenerTlsValidationPtrOutput { +func (o VirtualGatewaySpecListenerConnectionPoolGrpcPtrOutput) ToVirtualGatewaySpecListenerConnectionPoolGrpcPtrOutputWithContext(ctx context.Context) VirtualGatewaySpecListenerConnectionPoolGrpcPtrOutput { return o } -func (o VirtualGatewaySpecListenerTlsValidationPtrOutput) Elem() VirtualGatewaySpecListenerTlsValidationOutput { - return o.ApplyT(func(v *VirtualGatewaySpecListenerTlsValidation) VirtualGatewaySpecListenerTlsValidation { +func (o VirtualGatewaySpecListenerConnectionPoolGrpcPtrOutput) Elem() VirtualGatewaySpecListenerConnectionPoolGrpcOutput { + return o.ApplyT(func(v *VirtualGatewaySpecListenerConnectionPoolGrpc) VirtualGatewaySpecListenerConnectionPoolGrpc { if v != nil { return *v } - var ret VirtualGatewaySpecListenerTlsValidation + var ret VirtualGatewaySpecListenerConnectionPoolGrpc return ret - }).(VirtualGatewaySpecListenerTlsValidationOutput) -} - -// SANs for a virtual gateway's listener's Transport Layer Security (TLS) validation context. -func (o VirtualGatewaySpecListenerTlsValidationPtrOutput) SubjectAlternativeNames() VirtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesPtrOutput { - return o.ApplyT(func(v *VirtualGatewaySpecListenerTlsValidation) *VirtualGatewaySpecListenerTlsValidationSubjectAlternativeNames { - if v == nil { - return nil - } - return v.SubjectAlternativeNames - }).(VirtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesPtrOutput) + }).(VirtualGatewaySpecListenerConnectionPoolGrpcOutput) } -// TLS validation context trust. -func (o VirtualGatewaySpecListenerTlsValidationPtrOutput) Trust() VirtualGatewaySpecListenerTlsValidationTrustPtrOutput { - return o.ApplyT(func(v *VirtualGatewaySpecListenerTlsValidation) *VirtualGatewaySpecListenerTlsValidationTrust { +// Maximum number of inflight requests Envoy can concurrently support across hosts in upstream cluster. Minimum value of `1`. +func (o VirtualGatewaySpecListenerConnectionPoolGrpcPtrOutput) MaxRequests() pulumi.IntPtrOutput { + return o.ApplyT(func(v *VirtualGatewaySpecListenerConnectionPoolGrpc) *int { if v == nil { return nil } - return &v.Trust - }).(VirtualGatewaySpecListenerTlsValidationTrustPtrOutput) + return &v.MaxRequests + }).(pulumi.IntPtrOutput) } -type VirtualGatewaySpecListenerTlsValidationSubjectAlternativeNames struct { - // Criteria for determining a SAN's match. - Match VirtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesMatch `pulumi:"match"` +type VirtualGatewaySpecListenerConnectionPoolHttp2 struct { + // Maximum number of inflight requests Envoy can concurrently support across hosts in upstream cluster. Minimum value of `1`. + MaxRequests int `pulumi:"maxRequests"` } -// VirtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesInput is an input type that accepts VirtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesArgs and VirtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesOutput values. -// You can construct a concrete instance of `VirtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesInput` via: +// VirtualGatewaySpecListenerConnectionPoolHttp2Input is an input type that accepts VirtualGatewaySpecListenerConnectionPoolHttp2Args and VirtualGatewaySpecListenerConnectionPoolHttp2Output values. +// You can construct a concrete instance of `VirtualGatewaySpecListenerConnectionPoolHttp2Input` via: // -// VirtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesArgs{...} -type VirtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesInput interface { +// VirtualGatewaySpecListenerConnectionPoolHttp2Args{...} +type VirtualGatewaySpecListenerConnectionPoolHttp2Input interface { pulumi.Input - ToVirtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesOutput() VirtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesOutput - ToVirtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesOutputWithContext(context.Context) VirtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesOutput + ToVirtualGatewaySpecListenerConnectionPoolHttp2Output() VirtualGatewaySpecListenerConnectionPoolHttp2Output + ToVirtualGatewaySpecListenerConnectionPoolHttp2OutputWithContext(context.Context) VirtualGatewaySpecListenerConnectionPoolHttp2Output } -type VirtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesArgs struct { - // Criteria for determining a SAN's match. - Match VirtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesMatchInput `pulumi:"match"` +type VirtualGatewaySpecListenerConnectionPoolHttp2Args struct { + // Maximum number of inflight requests Envoy can concurrently support across hosts in upstream cluster. Minimum value of `1`. + MaxRequests pulumi.IntInput `pulumi:"maxRequests"` } -func (VirtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesArgs) ElementType() reflect.Type { - return reflect.TypeOf((*VirtualGatewaySpecListenerTlsValidationSubjectAlternativeNames)(nil)).Elem() +func (VirtualGatewaySpecListenerConnectionPoolHttp2Args) ElementType() reflect.Type { + return reflect.TypeOf((*VirtualGatewaySpecListenerConnectionPoolHttp2)(nil)).Elem() } -func (i VirtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesArgs) ToVirtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesOutput() VirtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesOutput { - return i.ToVirtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesOutputWithContext(context.Background()) +func (i VirtualGatewaySpecListenerConnectionPoolHttp2Args) ToVirtualGatewaySpecListenerConnectionPoolHttp2Output() VirtualGatewaySpecListenerConnectionPoolHttp2Output { + return i.ToVirtualGatewaySpecListenerConnectionPoolHttp2OutputWithContext(context.Background()) } -func (i VirtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesArgs) ToVirtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesOutputWithContext(ctx context.Context) VirtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesOutput) +func (i VirtualGatewaySpecListenerConnectionPoolHttp2Args) ToVirtualGatewaySpecListenerConnectionPoolHttp2OutputWithContext(ctx context.Context) VirtualGatewaySpecListenerConnectionPoolHttp2Output { + return pulumi.ToOutputWithContext(ctx, i).(VirtualGatewaySpecListenerConnectionPoolHttp2Output) } -func (i VirtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesArgs) ToVirtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesPtrOutput() VirtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesPtrOutput { - return i.ToVirtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesPtrOutputWithContext(context.Background()) +func (i VirtualGatewaySpecListenerConnectionPoolHttp2Args) ToVirtualGatewaySpecListenerConnectionPoolHttp2PtrOutput() VirtualGatewaySpecListenerConnectionPoolHttp2PtrOutput { + return i.ToVirtualGatewaySpecListenerConnectionPoolHttp2PtrOutputWithContext(context.Background()) } -func (i VirtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesArgs) ToVirtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesPtrOutputWithContext(ctx context.Context) VirtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesOutput).ToVirtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesPtrOutputWithContext(ctx) +func (i VirtualGatewaySpecListenerConnectionPoolHttp2Args) ToVirtualGatewaySpecListenerConnectionPoolHttp2PtrOutputWithContext(ctx context.Context) VirtualGatewaySpecListenerConnectionPoolHttp2PtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualGatewaySpecListenerConnectionPoolHttp2Output).ToVirtualGatewaySpecListenerConnectionPoolHttp2PtrOutputWithContext(ctx) } -// VirtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesPtrInput is an input type that accepts VirtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesArgs, VirtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesPtr and VirtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesPtrOutput values. -// You can construct a concrete instance of `VirtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesPtrInput` via: +// VirtualGatewaySpecListenerConnectionPoolHttp2PtrInput is an input type that accepts VirtualGatewaySpecListenerConnectionPoolHttp2Args, VirtualGatewaySpecListenerConnectionPoolHttp2Ptr and VirtualGatewaySpecListenerConnectionPoolHttp2PtrOutput values. +// You can construct a concrete instance of `VirtualGatewaySpecListenerConnectionPoolHttp2PtrInput` via: // -// VirtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesArgs{...} +// VirtualGatewaySpecListenerConnectionPoolHttp2Args{...} // // or: // // nil -type VirtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesPtrInput interface { +type VirtualGatewaySpecListenerConnectionPoolHttp2PtrInput interface { pulumi.Input - ToVirtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesPtrOutput() VirtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesPtrOutput - ToVirtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesPtrOutputWithContext(context.Context) VirtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesPtrOutput + ToVirtualGatewaySpecListenerConnectionPoolHttp2PtrOutput() VirtualGatewaySpecListenerConnectionPoolHttp2PtrOutput + ToVirtualGatewaySpecListenerConnectionPoolHttp2PtrOutputWithContext(context.Context) VirtualGatewaySpecListenerConnectionPoolHttp2PtrOutput } -type virtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesPtrType VirtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesArgs +type virtualGatewaySpecListenerConnectionPoolHttp2PtrType VirtualGatewaySpecListenerConnectionPoolHttp2Args -func VirtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesPtr(v *VirtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesArgs) VirtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesPtrInput { - return (*virtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesPtrType)(v) +func VirtualGatewaySpecListenerConnectionPoolHttp2Ptr(v *VirtualGatewaySpecListenerConnectionPoolHttp2Args) VirtualGatewaySpecListenerConnectionPoolHttp2PtrInput { + return (*virtualGatewaySpecListenerConnectionPoolHttp2PtrType)(v) } -func (*virtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**VirtualGatewaySpecListenerTlsValidationSubjectAlternativeNames)(nil)).Elem() +func (*virtualGatewaySpecListenerConnectionPoolHttp2PtrType) ElementType() reflect.Type { + return reflect.TypeOf((**VirtualGatewaySpecListenerConnectionPoolHttp2)(nil)).Elem() } -func (i *virtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesPtrType) ToVirtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesPtrOutput() VirtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesPtrOutput { - return i.ToVirtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesPtrOutputWithContext(context.Background()) +func (i *virtualGatewaySpecListenerConnectionPoolHttp2PtrType) ToVirtualGatewaySpecListenerConnectionPoolHttp2PtrOutput() VirtualGatewaySpecListenerConnectionPoolHttp2PtrOutput { + return i.ToVirtualGatewaySpecListenerConnectionPoolHttp2PtrOutputWithContext(context.Background()) } -func (i *virtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesPtrType) ToVirtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesPtrOutputWithContext(ctx context.Context) VirtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesPtrOutput) +func (i *virtualGatewaySpecListenerConnectionPoolHttp2PtrType) ToVirtualGatewaySpecListenerConnectionPoolHttp2PtrOutputWithContext(ctx context.Context) VirtualGatewaySpecListenerConnectionPoolHttp2PtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualGatewaySpecListenerConnectionPoolHttp2PtrOutput) } -type VirtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesOutput struct{ *pulumi.OutputState } +type VirtualGatewaySpecListenerConnectionPoolHttp2Output struct{ *pulumi.OutputState } -func (VirtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesOutput) ElementType() reflect.Type { - return reflect.TypeOf((*VirtualGatewaySpecListenerTlsValidationSubjectAlternativeNames)(nil)).Elem() +func (VirtualGatewaySpecListenerConnectionPoolHttp2Output) ElementType() reflect.Type { + return reflect.TypeOf((*VirtualGatewaySpecListenerConnectionPoolHttp2)(nil)).Elem() } -func (o VirtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesOutput) ToVirtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesOutput() VirtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesOutput { +func (o VirtualGatewaySpecListenerConnectionPoolHttp2Output) ToVirtualGatewaySpecListenerConnectionPoolHttp2Output() VirtualGatewaySpecListenerConnectionPoolHttp2Output { return o } -func (o VirtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesOutput) ToVirtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesOutputWithContext(ctx context.Context) VirtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesOutput { +func (o VirtualGatewaySpecListenerConnectionPoolHttp2Output) ToVirtualGatewaySpecListenerConnectionPoolHttp2OutputWithContext(ctx context.Context) VirtualGatewaySpecListenerConnectionPoolHttp2Output { return o } -func (o VirtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesOutput) ToVirtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesPtrOutput() VirtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesPtrOutput { - return o.ToVirtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesPtrOutputWithContext(context.Background()) +func (o VirtualGatewaySpecListenerConnectionPoolHttp2Output) ToVirtualGatewaySpecListenerConnectionPoolHttp2PtrOutput() VirtualGatewaySpecListenerConnectionPoolHttp2PtrOutput { + return o.ToVirtualGatewaySpecListenerConnectionPoolHttp2PtrOutputWithContext(context.Background()) } -func (o VirtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesOutput) ToVirtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesPtrOutputWithContext(ctx context.Context) VirtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v VirtualGatewaySpecListenerTlsValidationSubjectAlternativeNames) *VirtualGatewaySpecListenerTlsValidationSubjectAlternativeNames { +func (o VirtualGatewaySpecListenerConnectionPoolHttp2Output) ToVirtualGatewaySpecListenerConnectionPoolHttp2PtrOutputWithContext(ctx context.Context) VirtualGatewaySpecListenerConnectionPoolHttp2PtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v VirtualGatewaySpecListenerConnectionPoolHttp2) *VirtualGatewaySpecListenerConnectionPoolHttp2 { return &v - }).(VirtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesPtrOutput) + }).(VirtualGatewaySpecListenerConnectionPoolHttp2PtrOutput) } -// Criteria for determining a SAN's match. -func (o VirtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesOutput) Match() VirtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesMatchOutput { - return o.ApplyT(func(v VirtualGatewaySpecListenerTlsValidationSubjectAlternativeNames) VirtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesMatch { - return v.Match - }).(VirtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesMatchOutput) +// Maximum number of inflight requests Envoy can concurrently support across hosts in upstream cluster. Minimum value of `1`. +func (o VirtualGatewaySpecListenerConnectionPoolHttp2Output) MaxRequests() pulumi.IntOutput { + return o.ApplyT(func(v VirtualGatewaySpecListenerConnectionPoolHttp2) int { return v.MaxRequests }).(pulumi.IntOutput) } -type VirtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesPtrOutput struct{ *pulumi.OutputState } +type VirtualGatewaySpecListenerConnectionPoolHttp2PtrOutput struct{ *pulumi.OutputState } -func (VirtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**VirtualGatewaySpecListenerTlsValidationSubjectAlternativeNames)(nil)).Elem() +func (VirtualGatewaySpecListenerConnectionPoolHttp2PtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**VirtualGatewaySpecListenerConnectionPoolHttp2)(nil)).Elem() } -func (o VirtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesPtrOutput) ToVirtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesPtrOutput() VirtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesPtrOutput { +func (o VirtualGatewaySpecListenerConnectionPoolHttp2PtrOutput) ToVirtualGatewaySpecListenerConnectionPoolHttp2PtrOutput() VirtualGatewaySpecListenerConnectionPoolHttp2PtrOutput { return o } -func (o VirtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesPtrOutput) ToVirtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesPtrOutputWithContext(ctx context.Context) VirtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesPtrOutput { +func (o VirtualGatewaySpecListenerConnectionPoolHttp2PtrOutput) ToVirtualGatewaySpecListenerConnectionPoolHttp2PtrOutputWithContext(ctx context.Context) VirtualGatewaySpecListenerConnectionPoolHttp2PtrOutput { return o } -func (o VirtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesPtrOutput) Elem() VirtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesOutput { - return o.ApplyT(func(v *VirtualGatewaySpecListenerTlsValidationSubjectAlternativeNames) VirtualGatewaySpecListenerTlsValidationSubjectAlternativeNames { +func (o VirtualGatewaySpecListenerConnectionPoolHttp2PtrOutput) Elem() VirtualGatewaySpecListenerConnectionPoolHttp2Output { + return o.ApplyT(func(v *VirtualGatewaySpecListenerConnectionPoolHttp2) VirtualGatewaySpecListenerConnectionPoolHttp2 { if v != nil { return *v } - var ret VirtualGatewaySpecListenerTlsValidationSubjectAlternativeNames + var ret VirtualGatewaySpecListenerConnectionPoolHttp2 return ret - }).(VirtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesOutput) + }).(VirtualGatewaySpecListenerConnectionPoolHttp2Output) } -// Criteria for determining a SAN's match. -func (o VirtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesPtrOutput) Match() VirtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesMatchPtrOutput { - return o.ApplyT(func(v *VirtualGatewaySpecListenerTlsValidationSubjectAlternativeNames) *VirtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesMatch { +// Maximum number of inflight requests Envoy can concurrently support across hosts in upstream cluster. Minimum value of `1`. +func (o VirtualGatewaySpecListenerConnectionPoolHttp2PtrOutput) MaxRequests() pulumi.IntPtrOutput { + return o.ApplyT(func(v *VirtualGatewaySpecListenerConnectionPoolHttp2) *int { if v == nil { return nil } - return &v.Match - }).(VirtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesMatchPtrOutput) + return &v.MaxRequests + }).(pulumi.IntPtrOutput) } -type VirtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesMatch struct { - // Values sent must match the specified values exactly. - Exacts []string `pulumi:"exacts"` +type VirtualGatewaySpecListenerConnectionPoolHttp struct { + // Maximum number of outbound TCP connections Envoy can establish concurrently with all hosts in upstream cluster. Minimum value of `1`. + MaxConnections int `pulumi:"maxConnections"` + // Number of overflowing requests after `maxConnections` Envoy will queue to upstream cluster. Minimum value of `1`. + MaxPendingRequests *int `pulumi:"maxPendingRequests"` } -// VirtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesMatchInput is an input type that accepts VirtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesMatchArgs and VirtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesMatchOutput values. -// You can construct a concrete instance of `VirtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesMatchInput` via: +// VirtualGatewaySpecListenerConnectionPoolHttpInput is an input type that accepts VirtualGatewaySpecListenerConnectionPoolHttpArgs and VirtualGatewaySpecListenerConnectionPoolHttpOutput values. +// You can construct a concrete instance of `VirtualGatewaySpecListenerConnectionPoolHttpInput` via: // -// VirtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesMatchArgs{...} -type VirtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesMatchInput interface { +// VirtualGatewaySpecListenerConnectionPoolHttpArgs{...} +type VirtualGatewaySpecListenerConnectionPoolHttpInput interface { pulumi.Input - ToVirtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesMatchOutput() VirtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesMatchOutput - ToVirtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesMatchOutputWithContext(context.Context) VirtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesMatchOutput + ToVirtualGatewaySpecListenerConnectionPoolHttpOutput() VirtualGatewaySpecListenerConnectionPoolHttpOutput + ToVirtualGatewaySpecListenerConnectionPoolHttpOutputWithContext(context.Context) VirtualGatewaySpecListenerConnectionPoolHttpOutput } -type VirtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesMatchArgs struct { - // Values sent must match the specified values exactly. - Exacts pulumi.StringArrayInput `pulumi:"exacts"` +type VirtualGatewaySpecListenerConnectionPoolHttpArgs struct { + // Maximum number of outbound TCP connections Envoy can establish concurrently with all hosts in upstream cluster. Minimum value of `1`. + MaxConnections pulumi.IntInput `pulumi:"maxConnections"` + // Number of overflowing requests after `maxConnections` Envoy will queue to upstream cluster. Minimum value of `1`. + MaxPendingRequests pulumi.IntPtrInput `pulumi:"maxPendingRequests"` } -func (VirtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesMatchArgs) ElementType() reflect.Type { - return reflect.TypeOf((*VirtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesMatch)(nil)).Elem() +func (VirtualGatewaySpecListenerConnectionPoolHttpArgs) ElementType() reflect.Type { + return reflect.TypeOf((*VirtualGatewaySpecListenerConnectionPoolHttp)(nil)).Elem() } -func (i VirtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesMatchArgs) ToVirtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesMatchOutput() VirtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesMatchOutput { - return i.ToVirtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesMatchOutputWithContext(context.Background()) +func (i VirtualGatewaySpecListenerConnectionPoolHttpArgs) ToVirtualGatewaySpecListenerConnectionPoolHttpOutput() VirtualGatewaySpecListenerConnectionPoolHttpOutput { + return i.ToVirtualGatewaySpecListenerConnectionPoolHttpOutputWithContext(context.Background()) } -func (i VirtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesMatchArgs) ToVirtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesMatchOutputWithContext(ctx context.Context) VirtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesMatchOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesMatchOutput) +func (i VirtualGatewaySpecListenerConnectionPoolHttpArgs) ToVirtualGatewaySpecListenerConnectionPoolHttpOutputWithContext(ctx context.Context) VirtualGatewaySpecListenerConnectionPoolHttpOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualGatewaySpecListenerConnectionPoolHttpOutput) } -func (i VirtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesMatchArgs) ToVirtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesMatchPtrOutput() VirtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesMatchPtrOutput { - return i.ToVirtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesMatchPtrOutputWithContext(context.Background()) +func (i VirtualGatewaySpecListenerConnectionPoolHttpArgs) ToVirtualGatewaySpecListenerConnectionPoolHttpPtrOutput() VirtualGatewaySpecListenerConnectionPoolHttpPtrOutput { + return i.ToVirtualGatewaySpecListenerConnectionPoolHttpPtrOutputWithContext(context.Background()) } -func (i VirtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesMatchArgs) ToVirtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesMatchPtrOutputWithContext(ctx context.Context) VirtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesMatchPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesMatchOutput).ToVirtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesMatchPtrOutputWithContext(ctx) +func (i VirtualGatewaySpecListenerConnectionPoolHttpArgs) ToVirtualGatewaySpecListenerConnectionPoolHttpPtrOutputWithContext(ctx context.Context) VirtualGatewaySpecListenerConnectionPoolHttpPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualGatewaySpecListenerConnectionPoolHttpOutput).ToVirtualGatewaySpecListenerConnectionPoolHttpPtrOutputWithContext(ctx) } -// VirtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesMatchPtrInput is an input type that accepts VirtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesMatchArgs, VirtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesMatchPtr and VirtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesMatchPtrOutput values. -// You can construct a concrete instance of `VirtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesMatchPtrInput` via: +// VirtualGatewaySpecListenerConnectionPoolHttpPtrInput is an input type that accepts VirtualGatewaySpecListenerConnectionPoolHttpArgs, VirtualGatewaySpecListenerConnectionPoolHttpPtr and VirtualGatewaySpecListenerConnectionPoolHttpPtrOutput values. +// You can construct a concrete instance of `VirtualGatewaySpecListenerConnectionPoolHttpPtrInput` via: // -// VirtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesMatchArgs{...} +// VirtualGatewaySpecListenerConnectionPoolHttpArgs{...} // // or: // // nil -type VirtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesMatchPtrInput interface { +type VirtualGatewaySpecListenerConnectionPoolHttpPtrInput interface { pulumi.Input - ToVirtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesMatchPtrOutput() VirtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesMatchPtrOutput - ToVirtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesMatchPtrOutputWithContext(context.Context) VirtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesMatchPtrOutput + ToVirtualGatewaySpecListenerConnectionPoolHttpPtrOutput() VirtualGatewaySpecListenerConnectionPoolHttpPtrOutput + ToVirtualGatewaySpecListenerConnectionPoolHttpPtrOutputWithContext(context.Context) VirtualGatewaySpecListenerConnectionPoolHttpPtrOutput } -type virtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesMatchPtrType VirtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesMatchArgs +type virtualGatewaySpecListenerConnectionPoolHttpPtrType VirtualGatewaySpecListenerConnectionPoolHttpArgs -func VirtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesMatchPtr(v *VirtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesMatchArgs) VirtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesMatchPtrInput { - return (*virtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesMatchPtrType)(v) +func VirtualGatewaySpecListenerConnectionPoolHttpPtr(v *VirtualGatewaySpecListenerConnectionPoolHttpArgs) VirtualGatewaySpecListenerConnectionPoolHttpPtrInput { + return (*virtualGatewaySpecListenerConnectionPoolHttpPtrType)(v) } -func (*virtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesMatchPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**VirtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesMatch)(nil)).Elem() +func (*virtualGatewaySpecListenerConnectionPoolHttpPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**VirtualGatewaySpecListenerConnectionPoolHttp)(nil)).Elem() } -func (i *virtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesMatchPtrType) ToVirtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesMatchPtrOutput() VirtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesMatchPtrOutput { - return i.ToVirtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesMatchPtrOutputWithContext(context.Background()) +func (i *virtualGatewaySpecListenerConnectionPoolHttpPtrType) ToVirtualGatewaySpecListenerConnectionPoolHttpPtrOutput() VirtualGatewaySpecListenerConnectionPoolHttpPtrOutput { + return i.ToVirtualGatewaySpecListenerConnectionPoolHttpPtrOutputWithContext(context.Background()) } -func (i *virtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesMatchPtrType) ToVirtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesMatchPtrOutputWithContext(ctx context.Context) VirtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesMatchPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesMatchPtrOutput) +func (i *virtualGatewaySpecListenerConnectionPoolHttpPtrType) ToVirtualGatewaySpecListenerConnectionPoolHttpPtrOutputWithContext(ctx context.Context) VirtualGatewaySpecListenerConnectionPoolHttpPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualGatewaySpecListenerConnectionPoolHttpPtrOutput) } -type VirtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesMatchOutput struct{ *pulumi.OutputState } +type VirtualGatewaySpecListenerConnectionPoolHttpOutput struct{ *pulumi.OutputState } -func (VirtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesMatchOutput) ElementType() reflect.Type { - return reflect.TypeOf((*VirtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesMatch)(nil)).Elem() +func (VirtualGatewaySpecListenerConnectionPoolHttpOutput) ElementType() reflect.Type { + return reflect.TypeOf((*VirtualGatewaySpecListenerConnectionPoolHttp)(nil)).Elem() } -func (o VirtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesMatchOutput) ToVirtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesMatchOutput() VirtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesMatchOutput { +func (o VirtualGatewaySpecListenerConnectionPoolHttpOutput) ToVirtualGatewaySpecListenerConnectionPoolHttpOutput() VirtualGatewaySpecListenerConnectionPoolHttpOutput { return o } -func (o VirtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesMatchOutput) ToVirtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesMatchOutputWithContext(ctx context.Context) VirtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesMatchOutput { +func (o VirtualGatewaySpecListenerConnectionPoolHttpOutput) ToVirtualGatewaySpecListenerConnectionPoolHttpOutputWithContext(ctx context.Context) VirtualGatewaySpecListenerConnectionPoolHttpOutput { return o } -func (o VirtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesMatchOutput) ToVirtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesMatchPtrOutput() VirtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesMatchPtrOutput { - return o.ToVirtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesMatchPtrOutputWithContext(context.Background()) +func (o VirtualGatewaySpecListenerConnectionPoolHttpOutput) ToVirtualGatewaySpecListenerConnectionPoolHttpPtrOutput() VirtualGatewaySpecListenerConnectionPoolHttpPtrOutput { + return o.ToVirtualGatewaySpecListenerConnectionPoolHttpPtrOutputWithContext(context.Background()) } -func (o VirtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesMatchOutput) ToVirtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesMatchPtrOutputWithContext(ctx context.Context) VirtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesMatchPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v VirtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesMatch) *VirtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesMatch { +func (o VirtualGatewaySpecListenerConnectionPoolHttpOutput) ToVirtualGatewaySpecListenerConnectionPoolHttpPtrOutputWithContext(ctx context.Context) VirtualGatewaySpecListenerConnectionPoolHttpPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v VirtualGatewaySpecListenerConnectionPoolHttp) *VirtualGatewaySpecListenerConnectionPoolHttp { return &v - }).(VirtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesMatchPtrOutput) + }).(VirtualGatewaySpecListenerConnectionPoolHttpPtrOutput) } -// Values sent must match the specified values exactly. -func (o VirtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesMatchOutput) Exacts() pulumi.StringArrayOutput { - return o.ApplyT(func(v VirtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesMatch) []string { return v.Exacts }).(pulumi.StringArrayOutput) +// Maximum number of outbound TCP connections Envoy can establish concurrently with all hosts in upstream cluster. Minimum value of `1`. +func (o VirtualGatewaySpecListenerConnectionPoolHttpOutput) MaxConnections() pulumi.IntOutput { + return o.ApplyT(func(v VirtualGatewaySpecListenerConnectionPoolHttp) int { return v.MaxConnections }).(pulumi.IntOutput) } -type VirtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesMatchPtrOutput struct{ *pulumi.OutputState } +// Number of overflowing requests after `maxConnections` Envoy will queue to upstream cluster. Minimum value of `1`. +func (o VirtualGatewaySpecListenerConnectionPoolHttpOutput) MaxPendingRequests() pulumi.IntPtrOutput { + return o.ApplyT(func(v VirtualGatewaySpecListenerConnectionPoolHttp) *int { return v.MaxPendingRequests }).(pulumi.IntPtrOutput) +} -func (VirtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesMatchPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**VirtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesMatch)(nil)).Elem() +type VirtualGatewaySpecListenerConnectionPoolHttpPtrOutput struct{ *pulumi.OutputState } + +func (VirtualGatewaySpecListenerConnectionPoolHttpPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**VirtualGatewaySpecListenerConnectionPoolHttp)(nil)).Elem() } -func (o VirtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesMatchPtrOutput) ToVirtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesMatchPtrOutput() VirtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesMatchPtrOutput { +func (o VirtualGatewaySpecListenerConnectionPoolHttpPtrOutput) ToVirtualGatewaySpecListenerConnectionPoolHttpPtrOutput() VirtualGatewaySpecListenerConnectionPoolHttpPtrOutput { return o } -func (o VirtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesMatchPtrOutput) ToVirtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesMatchPtrOutputWithContext(ctx context.Context) VirtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesMatchPtrOutput { +func (o VirtualGatewaySpecListenerConnectionPoolHttpPtrOutput) ToVirtualGatewaySpecListenerConnectionPoolHttpPtrOutputWithContext(ctx context.Context) VirtualGatewaySpecListenerConnectionPoolHttpPtrOutput { return o } -func (o VirtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesMatchPtrOutput) Elem() VirtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesMatchOutput { - return o.ApplyT(func(v *VirtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesMatch) VirtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesMatch { +func (o VirtualGatewaySpecListenerConnectionPoolHttpPtrOutput) Elem() VirtualGatewaySpecListenerConnectionPoolHttpOutput { + return o.ApplyT(func(v *VirtualGatewaySpecListenerConnectionPoolHttp) VirtualGatewaySpecListenerConnectionPoolHttp { if v != nil { return *v } - var ret VirtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesMatch + var ret VirtualGatewaySpecListenerConnectionPoolHttp return ret - }).(VirtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesMatchOutput) + }).(VirtualGatewaySpecListenerConnectionPoolHttpOutput) } -// Values sent must match the specified values exactly. -func (o VirtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesMatchPtrOutput) Exacts() pulumi.StringArrayOutput { - return o.ApplyT(func(v *VirtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesMatch) []string { +// Maximum number of outbound TCP connections Envoy can establish concurrently with all hosts in upstream cluster. Minimum value of `1`. +func (o VirtualGatewaySpecListenerConnectionPoolHttpPtrOutput) MaxConnections() pulumi.IntPtrOutput { + return o.ApplyT(func(v *VirtualGatewaySpecListenerConnectionPoolHttp) *int { if v == nil { return nil } - return v.Exacts - }).(pulumi.StringArrayOutput) + return &v.MaxConnections + }).(pulumi.IntPtrOutput) } -type VirtualGatewaySpecListenerTlsValidationTrust struct { - // TLS validation context trust for a local file certificate. - File *VirtualGatewaySpecListenerTlsValidationTrustFile `pulumi:"file"` - // TLS validation context trust for a [Secret Discovery Service](https://www.envoyproxy.io/docs/envoy/latest/configuration/security/secret#secret-discovery-service-sds) certificate. - Sds *VirtualGatewaySpecListenerTlsValidationTrustSds `pulumi:"sds"` +// Number of overflowing requests after `maxConnections` Envoy will queue to upstream cluster. Minimum value of `1`. +func (o VirtualGatewaySpecListenerConnectionPoolHttpPtrOutput) MaxPendingRequests() pulumi.IntPtrOutput { + return o.ApplyT(func(v *VirtualGatewaySpecListenerConnectionPoolHttp) *int { + if v == nil { + return nil + } + return v.MaxPendingRequests + }).(pulumi.IntPtrOutput) } -// VirtualGatewaySpecListenerTlsValidationTrustInput is an input type that accepts VirtualGatewaySpecListenerTlsValidationTrustArgs and VirtualGatewaySpecListenerTlsValidationTrustOutput values. -// You can construct a concrete instance of `VirtualGatewaySpecListenerTlsValidationTrustInput` via: +type VirtualGatewaySpecListenerHealthCheck struct { + // Number of consecutive successful health checks that must occur before declaring listener healthy. + HealthyThreshold int `pulumi:"healthyThreshold"` + // Time period in milliseconds between each health check execution. + IntervalMillis int `pulumi:"intervalMillis"` + // Destination path for the health check request. This is only required if the specified protocol is `http` or `http2`. + Path *string `pulumi:"path"` + // Destination port for the health check request. This port must match the port defined in the `portMapping` for the listener. + Port *int `pulumi:"port"` + // Protocol for the health check request. Valid values are `http`, `http2`, and `grpc`. + Protocol string `pulumi:"protocol"` + // Amount of time to wait when receiving a response from the health check, in milliseconds. + TimeoutMillis int `pulumi:"timeoutMillis"` + // Number of consecutive failed health checks that must occur before declaring a virtual gateway unhealthy. + UnhealthyThreshold int `pulumi:"unhealthyThreshold"` +} + +// VirtualGatewaySpecListenerHealthCheckInput is an input type that accepts VirtualGatewaySpecListenerHealthCheckArgs and VirtualGatewaySpecListenerHealthCheckOutput values. +// You can construct a concrete instance of `VirtualGatewaySpecListenerHealthCheckInput` via: // -// VirtualGatewaySpecListenerTlsValidationTrustArgs{...} -type VirtualGatewaySpecListenerTlsValidationTrustInput interface { +// VirtualGatewaySpecListenerHealthCheckArgs{...} +type VirtualGatewaySpecListenerHealthCheckInput interface { pulumi.Input - ToVirtualGatewaySpecListenerTlsValidationTrustOutput() VirtualGatewaySpecListenerTlsValidationTrustOutput - ToVirtualGatewaySpecListenerTlsValidationTrustOutputWithContext(context.Context) VirtualGatewaySpecListenerTlsValidationTrustOutput + ToVirtualGatewaySpecListenerHealthCheckOutput() VirtualGatewaySpecListenerHealthCheckOutput + ToVirtualGatewaySpecListenerHealthCheckOutputWithContext(context.Context) VirtualGatewaySpecListenerHealthCheckOutput } -type VirtualGatewaySpecListenerTlsValidationTrustArgs struct { - // TLS validation context trust for a local file certificate. - File VirtualGatewaySpecListenerTlsValidationTrustFilePtrInput `pulumi:"file"` - // TLS validation context trust for a [Secret Discovery Service](https://www.envoyproxy.io/docs/envoy/latest/configuration/security/secret#secret-discovery-service-sds) certificate. - Sds VirtualGatewaySpecListenerTlsValidationTrustSdsPtrInput `pulumi:"sds"` +type VirtualGatewaySpecListenerHealthCheckArgs struct { + // Number of consecutive successful health checks that must occur before declaring listener healthy. + HealthyThreshold pulumi.IntInput `pulumi:"healthyThreshold"` + // Time period in milliseconds between each health check execution. + IntervalMillis pulumi.IntInput `pulumi:"intervalMillis"` + // Destination path for the health check request. This is only required if the specified protocol is `http` or `http2`. + Path pulumi.StringPtrInput `pulumi:"path"` + // Destination port for the health check request. This port must match the port defined in the `portMapping` for the listener. + Port pulumi.IntPtrInput `pulumi:"port"` + // Protocol for the health check request. Valid values are `http`, `http2`, and `grpc`. + Protocol pulumi.StringInput `pulumi:"protocol"` + // Amount of time to wait when receiving a response from the health check, in milliseconds. + TimeoutMillis pulumi.IntInput `pulumi:"timeoutMillis"` + // Number of consecutive failed health checks that must occur before declaring a virtual gateway unhealthy. + UnhealthyThreshold pulumi.IntInput `pulumi:"unhealthyThreshold"` } -func (VirtualGatewaySpecListenerTlsValidationTrustArgs) ElementType() reflect.Type { - return reflect.TypeOf((*VirtualGatewaySpecListenerTlsValidationTrust)(nil)).Elem() +func (VirtualGatewaySpecListenerHealthCheckArgs) ElementType() reflect.Type { + return reflect.TypeOf((*VirtualGatewaySpecListenerHealthCheck)(nil)).Elem() } -func (i VirtualGatewaySpecListenerTlsValidationTrustArgs) ToVirtualGatewaySpecListenerTlsValidationTrustOutput() VirtualGatewaySpecListenerTlsValidationTrustOutput { - return i.ToVirtualGatewaySpecListenerTlsValidationTrustOutputWithContext(context.Background()) +func (i VirtualGatewaySpecListenerHealthCheckArgs) ToVirtualGatewaySpecListenerHealthCheckOutput() VirtualGatewaySpecListenerHealthCheckOutput { + return i.ToVirtualGatewaySpecListenerHealthCheckOutputWithContext(context.Background()) } -func (i VirtualGatewaySpecListenerTlsValidationTrustArgs) ToVirtualGatewaySpecListenerTlsValidationTrustOutputWithContext(ctx context.Context) VirtualGatewaySpecListenerTlsValidationTrustOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualGatewaySpecListenerTlsValidationTrustOutput) +func (i VirtualGatewaySpecListenerHealthCheckArgs) ToVirtualGatewaySpecListenerHealthCheckOutputWithContext(ctx context.Context) VirtualGatewaySpecListenerHealthCheckOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualGatewaySpecListenerHealthCheckOutput) } -func (i VirtualGatewaySpecListenerTlsValidationTrustArgs) ToVirtualGatewaySpecListenerTlsValidationTrustPtrOutput() VirtualGatewaySpecListenerTlsValidationTrustPtrOutput { - return i.ToVirtualGatewaySpecListenerTlsValidationTrustPtrOutputWithContext(context.Background()) +func (i VirtualGatewaySpecListenerHealthCheckArgs) ToVirtualGatewaySpecListenerHealthCheckPtrOutput() VirtualGatewaySpecListenerHealthCheckPtrOutput { + return i.ToVirtualGatewaySpecListenerHealthCheckPtrOutputWithContext(context.Background()) } -func (i VirtualGatewaySpecListenerTlsValidationTrustArgs) ToVirtualGatewaySpecListenerTlsValidationTrustPtrOutputWithContext(ctx context.Context) VirtualGatewaySpecListenerTlsValidationTrustPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualGatewaySpecListenerTlsValidationTrustOutput).ToVirtualGatewaySpecListenerTlsValidationTrustPtrOutputWithContext(ctx) +func (i VirtualGatewaySpecListenerHealthCheckArgs) ToVirtualGatewaySpecListenerHealthCheckPtrOutputWithContext(ctx context.Context) VirtualGatewaySpecListenerHealthCheckPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualGatewaySpecListenerHealthCheckOutput).ToVirtualGatewaySpecListenerHealthCheckPtrOutputWithContext(ctx) } -// VirtualGatewaySpecListenerTlsValidationTrustPtrInput is an input type that accepts VirtualGatewaySpecListenerTlsValidationTrustArgs, VirtualGatewaySpecListenerTlsValidationTrustPtr and VirtualGatewaySpecListenerTlsValidationTrustPtrOutput values. -// You can construct a concrete instance of `VirtualGatewaySpecListenerTlsValidationTrustPtrInput` via: +// VirtualGatewaySpecListenerHealthCheckPtrInput is an input type that accepts VirtualGatewaySpecListenerHealthCheckArgs, VirtualGatewaySpecListenerHealthCheckPtr and VirtualGatewaySpecListenerHealthCheckPtrOutput values. +// You can construct a concrete instance of `VirtualGatewaySpecListenerHealthCheckPtrInput` via: // -// VirtualGatewaySpecListenerTlsValidationTrustArgs{...} +// VirtualGatewaySpecListenerHealthCheckArgs{...} // // or: // // nil -type VirtualGatewaySpecListenerTlsValidationTrustPtrInput interface { +type VirtualGatewaySpecListenerHealthCheckPtrInput interface { pulumi.Input - ToVirtualGatewaySpecListenerTlsValidationTrustPtrOutput() VirtualGatewaySpecListenerTlsValidationTrustPtrOutput - ToVirtualGatewaySpecListenerTlsValidationTrustPtrOutputWithContext(context.Context) VirtualGatewaySpecListenerTlsValidationTrustPtrOutput + ToVirtualGatewaySpecListenerHealthCheckPtrOutput() VirtualGatewaySpecListenerHealthCheckPtrOutput + ToVirtualGatewaySpecListenerHealthCheckPtrOutputWithContext(context.Context) VirtualGatewaySpecListenerHealthCheckPtrOutput } -type virtualGatewaySpecListenerTlsValidationTrustPtrType VirtualGatewaySpecListenerTlsValidationTrustArgs +type virtualGatewaySpecListenerHealthCheckPtrType VirtualGatewaySpecListenerHealthCheckArgs -func VirtualGatewaySpecListenerTlsValidationTrustPtr(v *VirtualGatewaySpecListenerTlsValidationTrustArgs) VirtualGatewaySpecListenerTlsValidationTrustPtrInput { - return (*virtualGatewaySpecListenerTlsValidationTrustPtrType)(v) +func VirtualGatewaySpecListenerHealthCheckPtr(v *VirtualGatewaySpecListenerHealthCheckArgs) VirtualGatewaySpecListenerHealthCheckPtrInput { + return (*virtualGatewaySpecListenerHealthCheckPtrType)(v) } -func (*virtualGatewaySpecListenerTlsValidationTrustPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**VirtualGatewaySpecListenerTlsValidationTrust)(nil)).Elem() +func (*virtualGatewaySpecListenerHealthCheckPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**VirtualGatewaySpecListenerHealthCheck)(nil)).Elem() } -func (i *virtualGatewaySpecListenerTlsValidationTrustPtrType) ToVirtualGatewaySpecListenerTlsValidationTrustPtrOutput() VirtualGatewaySpecListenerTlsValidationTrustPtrOutput { - return i.ToVirtualGatewaySpecListenerTlsValidationTrustPtrOutputWithContext(context.Background()) +func (i *virtualGatewaySpecListenerHealthCheckPtrType) ToVirtualGatewaySpecListenerHealthCheckPtrOutput() VirtualGatewaySpecListenerHealthCheckPtrOutput { + return i.ToVirtualGatewaySpecListenerHealthCheckPtrOutputWithContext(context.Background()) } -func (i *virtualGatewaySpecListenerTlsValidationTrustPtrType) ToVirtualGatewaySpecListenerTlsValidationTrustPtrOutputWithContext(ctx context.Context) VirtualGatewaySpecListenerTlsValidationTrustPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualGatewaySpecListenerTlsValidationTrustPtrOutput) +func (i *virtualGatewaySpecListenerHealthCheckPtrType) ToVirtualGatewaySpecListenerHealthCheckPtrOutputWithContext(ctx context.Context) VirtualGatewaySpecListenerHealthCheckPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualGatewaySpecListenerHealthCheckPtrOutput) } -type VirtualGatewaySpecListenerTlsValidationTrustOutput struct{ *pulumi.OutputState } +type VirtualGatewaySpecListenerHealthCheckOutput struct{ *pulumi.OutputState } -func (VirtualGatewaySpecListenerTlsValidationTrustOutput) ElementType() reflect.Type { - return reflect.TypeOf((*VirtualGatewaySpecListenerTlsValidationTrust)(nil)).Elem() +func (VirtualGatewaySpecListenerHealthCheckOutput) ElementType() reflect.Type { + return reflect.TypeOf((*VirtualGatewaySpecListenerHealthCheck)(nil)).Elem() } -func (o VirtualGatewaySpecListenerTlsValidationTrustOutput) ToVirtualGatewaySpecListenerTlsValidationTrustOutput() VirtualGatewaySpecListenerTlsValidationTrustOutput { +func (o VirtualGatewaySpecListenerHealthCheckOutput) ToVirtualGatewaySpecListenerHealthCheckOutput() VirtualGatewaySpecListenerHealthCheckOutput { return o } -func (o VirtualGatewaySpecListenerTlsValidationTrustOutput) ToVirtualGatewaySpecListenerTlsValidationTrustOutputWithContext(ctx context.Context) VirtualGatewaySpecListenerTlsValidationTrustOutput { +func (o VirtualGatewaySpecListenerHealthCheckOutput) ToVirtualGatewaySpecListenerHealthCheckOutputWithContext(ctx context.Context) VirtualGatewaySpecListenerHealthCheckOutput { return o } -func (o VirtualGatewaySpecListenerTlsValidationTrustOutput) ToVirtualGatewaySpecListenerTlsValidationTrustPtrOutput() VirtualGatewaySpecListenerTlsValidationTrustPtrOutput { - return o.ToVirtualGatewaySpecListenerTlsValidationTrustPtrOutputWithContext(context.Background()) +func (o VirtualGatewaySpecListenerHealthCheckOutput) ToVirtualGatewaySpecListenerHealthCheckPtrOutput() VirtualGatewaySpecListenerHealthCheckPtrOutput { + return o.ToVirtualGatewaySpecListenerHealthCheckPtrOutputWithContext(context.Background()) } -func (o VirtualGatewaySpecListenerTlsValidationTrustOutput) ToVirtualGatewaySpecListenerTlsValidationTrustPtrOutputWithContext(ctx context.Context) VirtualGatewaySpecListenerTlsValidationTrustPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v VirtualGatewaySpecListenerTlsValidationTrust) *VirtualGatewaySpecListenerTlsValidationTrust { +func (o VirtualGatewaySpecListenerHealthCheckOutput) ToVirtualGatewaySpecListenerHealthCheckPtrOutputWithContext(ctx context.Context) VirtualGatewaySpecListenerHealthCheckPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v VirtualGatewaySpecListenerHealthCheck) *VirtualGatewaySpecListenerHealthCheck { return &v - }).(VirtualGatewaySpecListenerTlsValidationTrustPtrOutput) + }).(VirtualGatewaySpecListenerHealthCheckPtrOutput) } -// TLS validation context trust for a local file certificate. -func (o VirtualGatewaySpecListenerTlsValidationTrustOutput) File() VirtualGatewaySpecListenerTlsValidationTrustFilePtrOutput { - return o.ApplyT(func(v VirtualGatewaySpecListenerTlsValidationTrust) *VirtualGatewaySpecListenerTlsValidationTrustFile { - return v.File - }).(VirtualGatewaySpecListenerTlsValidationTrustFilePtrOutput) +// Number of consecutive successful health checks that must occur before declaring listener healthy. +func (o VirtualGatewaySpecListenerHealthCheckOutput) HealthyThreshold() pulumi.IntOutput { + return o.ApplyT(func(v VirtualGatewaySpecListenerHealthCheck) int { return v.HealthyThreshold }).(pulumi.IntOutput) } -// TLS validation context trust for a [Secret Discovery Service](https://www.envoyproxy.io/docs/envoy/latest/configuration/security/secret#secret-discovery-service-sds) certificate. -func (o VirtualGatewaySpecListenerTlsValidationTrustOutput) Sds() VirtualGatewaySpecListenerTlsValidationTrustSdsPtrOutput { - return o.ApplyT(func(v VirtualGatewaySpecListenerTlsValidationTrust) *VirtualGatewaySpecListenerTlsValidationTrustSds { - return v.Sds - }).(VirtualGatewaySpecListenerTlsValidationTrustSdsPtrOutput) +// Time period in milliseconds between each health check execution. +func (o VirtualGatewaySpecListenerHealthCheckOutput) IntervalMillis() pulumi.IntOutput { + return o.ApplyT(func(v VirtualGatewaySpecListenerHealthCheck) int { return v.IntervalMillis }).(pulumi.IntOutput) } -type VirtualGatewaySpecListenerTlsValidationTrustPtrOutput struct{ *pulumi.OutputState } +// Destination path for the health check request. This is only required if the specified protocol is `http` or `http2`. +func (o VirtualGatewaySpecListenerHealthCheckOutput) Path() pulumi.StringPtrOutput { + return o.ApplyT(func(v VirtualGatewaySpecListenerHealthCheck) *string { return v.Path }).(pulumi.StringPtrOutput) +} -func (VirtualGatewaySpecListenerTlsValidationTrustPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**VirtualGatewaySpecListenerTlsValidationTrust)(nil)).Elem() +// Destination port for the health check request. This port must match the port defined in the `portMapping` for the listener. +func (o VirtualGatewaySpecListenerHealthCheckOutput) Port() pulumi.IntPtrOutput { + return o.ApplyT(func(v VirtualGatewaySpecListenerHealthCheck) *int { return v.Port }).(pulumi.IntPtrOutput) } -func (o VirtualGatewaySpecListenerTlsValidationTrustPtrOutput) ToVirtualGatewaySpecListenerTlsValidationTrustPtrOutput() VirtualGatewaySpecListenerTlsValidationTrustPtrOutput { +// Protocol for the health check request. Valid values are `http`, `http2`, and `grpc`. +func (o VirtualGatewaySpecListenerHealthCheckOutput) Protocol() pulumi.StringOutput { + return o.ApplyT(func(v VirtualGatewaySpecListenerHealthCheck) string { return v.Protocol }).(pulumi.StringOutput) +} + +// Amount of time to wait when receiving a response from the health check, in milliseconds. +func (o VirtualGatewaySpecListenerHealthCheckOutput) TimeoutMillis() pulumi.IntOutput { + return o.ApplyT(func(v VirtualGatewaySpecListenerHealthCheck) int { return v.TimeoutMillis }).(pulumi.IntOutput) +} + +// Number of consecutive failed health checks that must occur before declaring a virtual gateway unhealthy. +func (o VirtualGatewaySpecListenerHealthCheckOutput) UnhealthyThreshold() pulumi.IntOutput { + return o.ApplyT(func(v VirtualGatewaySpecListenerHealthCheck) int { return v.UnhealthyThreshold }).(pulumi.IntOutput) +} + +type VirtualGatewaySpecListenerHealthCheckPtrOutput struct{ *pulumi.OutputState } + +func (VirtualGatewaySpecListenerHealthCheckPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**VirtualGatewaySpecListenerHealthCheck)(nil)).Elem() +} + +func (o VirtualGatewaySpecListenerHealthCheckPtrOutput) ToVirtualGatewaySpecListenerHealthCheckPtrOutput() VirtualGatewaySpecListenerHealthCheckPtrOutput { return o } -func (o VirtualGatewaySpecListenerTlsValidationTrustPtrOutput) ToVirtualGatewaySpecListenerTlsValidationTrustPtrOutputWithContext(ctx context.Context) VirtualGatewaySpecListenerTlsValidationTrustPtrOutput { +func (o VirtualGatewaySpecListenerHealthCheckPtrOutput) ToVirtualGatewaySpecListenerHealthCheckPtrOutputWithContext(ctx context.Context) VirtualGatewaySpecListenerHealthCheckPtrOutput { return o } -func (o VirtualGatewaySpecListenerTlsValidationTrustPtrOutput) Elem() VirtualGatewaySpecListenerTlsValidationTrustOutput { - return o.ApplyT(func(v *VirtualGatewaySpecListenerTlsValidationTrust) VirtualGatewaySpecListenerTlsValidationTrust { +func (o VirtualGatewaySpecListenerHealthCheckPtrOutput) Elem() VirtualGatewaySpecListenerHealthCheckOutput { + return o.ApplyT(func(v *VirtualGatewaySpecListenerHealthCheck) VirtualGatewaySpecListenerHealthCheck { if v != nil { return *v } - var ret VirtualGatewaySpecListenerTlsValidationTrust + var ret VirtualGatewaySpecListenerHealthCheck return ret - }).(VirtualGatewaySpecListenerTlsValidationTrustOutput) + }).(VirtualGatewaySpecListenerHealthCheckOutput) } -// TLS validation context trust for a local file certificate. -func (o VirtualGatewaySpecListenerTlsValidationTrustPtrOutput) File() VirtualGatewaySpecListenerTlsValidationTrustFilePtrOutput { - return o.ApplyT(func(v *VirtualGatewaySpecListenerTlsValidationTrust) *VirtualGatewaySpecListenerTlsValidationTrustFile { +// Number of consecutive successful health checks that must occur before declaring listener healthy. +func (o VirtualGatewaySpecListenerHealthCheckPtrOutput) HealthyThreshold() pulumi.IntPtrOutput { + return o.ApplyT(func(v *VirtualGatewaySpecListenerHealthCheck) *int { if v == nil { return nil } - return v.File - }).(VirtualGatewaySpecListenerTlsValidationTrustFilePtrOutput) + return &v.HealthyThreshold + }).(pulumi.IntPtrOutput) } -// TLS validation context trust for a [Secret Discovery Service](https://www.envoyproxy.io/docs/envoy/latest/configuration/security/secret#secret-discovery-service-sds) certificate. -func (o VirtualGatewaySpecListenerTlsValidationTrustPtrOutput) Sds() VirtualGatewaySpecListenerTlsValidationTrustSdsPtrOutput { - return o.ApplyT(func(v *VirtualGatewaySpecListenerTlsValidationTrust) *VirtualGatewaySpecListenerTlsValidationTrustSds { +// Time period in milliseconds between each health check execution. +func (o VirtualGatewaySpecListenerHealthCheckPtrOutput) IntervalMillis() pulumi.IntPtrOutput { + return o.ApplyT(func(v *VirtualGatewaySpecListenerHealthCheck) *int { if v == nil { return nil } - return v.Sds - }).(VirtualGatewaySpecListenerTlsValidationTrustSdsPtrOutput) + return &v.IntervalMillis + }).(pulumi.IntPtrOutput) } -type VirtualGatewaySpecListenerTlsValidationTrustFile struct { - // Certificate trust chain for a certificate stored on the file system of the mesh endpoint that the proxy is running on. Must be between 1 and 255 characters in length. - CertificateChain string `pulumi:"certificateChain"` +// Destination path for the health check request. This is only required if the specified protocol is `http` or `http2`. +func (o VirtualGatewaySpecListenerHealthCheckPtrOutput) Path() pulumi.StringPtrOutput { + return o.ApplyT(func(v *VirtualGatewaySpecListenerHealthCheck) *string { + if v == nil { + return nil + } + return v.Path + }).(pulumi.StringPtrOutput) } -// VirtualGatewaySpecListenerTlsValidationTrustFileInput is an input type that accepts VirtualGatewaySpecListenerTlsValidationTrustFileArgs and VirtualGatewaySpecListenerTlsValidationTrustFileOutput values. -// You can construct a concrete instance of `VirtualGatewaySpecListenerTlsValidationTrustFileInput` via: +// Destination port for the health check request. This port must match the port defined in the `portMapping` for the listener. +func (o VirtualGatewaySpecListenerHealthCheckPtrOutput) Port() pulumi.IntPtrOutput { + return o.ApplyT(func(v *VirtualGatewaySpecListenerHealthCheck) *int { + if v == nil { + return nil + } + return v.Port + }).(pulumi.IntPtrOutput) +} + +// Protocol for the health check request. Valid values are `http`, `http2`, and `grpc`. +func (o VirtualGatewaySpecListenerHealthCheckPtrOutput) Protocol() pulumi.StringPtrOutput { + return o.ApplyT(func(v *VirtualGatewaySpecListenerHealthCheck) *string { + if v == nil { + return nil + } + return &v.Protocol + }).(pulumi.StringPtrOutput) +} + +// Amount of time to wait when receiving a response from the health check, in milliseconds. +func (o VirtualGatewaySpecListenerHealthCheckPtrOutput) TimeoutMillis() pulumi.IntPtrOutput { + return o.ApplyT(func(v *VirtualGatewaySpecListenerHealthCheck) *int { + if v == nil { + return nil + } + return &v.TimeoutMillis + }).(pulumi.IntPtrOutput) +} + +// Number of consecutive failed health checks that must occur before declaring a virtual gateway unhealthy. +func (o VirtualGatewaySpecListenerHealthCheckPtrOutput) UnhealthyThreshold() pulumi.IntPtrOutput { + return o.ApplyT(func(v *VirtualGatewaySpecListenerHealthCheck) *int { + if v == nil { + return nil + } + return &v.UnhealthyThreshold + }).(pulumi.IntPtrOutput) +} + +type VirtualGatewaySpecListenerPortMapping struct { + // Port used for the port mapping. + Port int `pulumi:"port"` + // Protocol used for the port mapping. Valid values are `http`, `http2`, `tcp` and `grpc`. + Protocol string `pulumi:"protocol"` +} + +// VirtualGatewaySpecListenerPortMappingInput is an input type that accepts VirtualGatewaySpecListenerPortMappingArgs and VirtualGatewaySpecListenerPortMappingOutput values. +// You can construct a concrete instance of `VirtualGatewaySpecListenerPortMappingInput` via: // -// VirtualGatewaySpecListenerTlsValidationTrustFileArgs{...} -type VirtualGatewaySpecListenerTlsValidationTrustFileInput interface { +// VirtualGatewaySpecListenerPortMappingArgs{...} +type VirtualGatewaySpecListenerPortMappingInput interface { pulumi.Input - ToVirtualGatewaySpecListenerTlsValidationTrustFileOutput() VirtualGatewaySpecListenerTlsValidationTrustFileOutput - ToVirtualGatewaySpecListenerTlsValidationTrustFileOutputWithContext(context.Context) VirtualGatewaySpecListenerTlsValidationTrustFileOutput + ToVirtualGatewaySpecListenerPortMappingOutput() VirtualGatewaySpecListenerPortMappingOutput + ToVirtualGatewaySpecListenerPortMappingOutputWithContext(context.Context) VirtualGatewaySpecListenerPortMappingOutput } -type VirtualGatewaySpecListenerTlsValidationTrustFileArgs struct { - // Certificate trust chain for a certificate stored on the file system of the mesh endpoint that the proxy is running on. Must be between 1 and 255 characters in length. - CertificateChain pulumi.StringInput `pulumi:"certificateChain"` +type VirtualGatewaySpecListenerPortMappingArgs struct { + // Port used for the port mapping. + Port pulumi.IntInput `pulumi:"port"` + // Protocol used for the port mapping. Valid values are `http`, `http2`, `tcp` and `grpc`. + Protocol pulumi.StringInput `pulumi:"protocol"` } -func (VirtualGatewaySpecListenerTlsValidationTrustFileArgs) ElementType() reflect.Type { - return reflect.TypeOf((*VirtualGatewaySpecListenerTlsValidationTrustFile)(nil)).Elem() +func (VirtualGatewaySpecListenerPortMappingArgs) ElementType() reflect.Type { + return reflect.TypeOf((*VirtualGatewaySpecListenerPortMapping)(nil)).Elem() } -func (i VirtualGatewaySpecListenerTlsValidationTrustFileArgs) ToVirtualGatewaySpecListenerTlsValidationTrustFileOutput() VirtualGatewaySpecListenerTlsValidationTrustFileOutput { - return i.ToVirtualGatewaySpecListenerTlsValidationTrustFileOutputWithContext(context.Background()) +func (i VirtualGatewaySpecListenerPortMappingArgs) ToVirtualGatewaySpecListenerPortMappingOutput() VirtualGatewaySpecListenerPortMappingOutput { + return i.ToVirtualGatewaySpecListenerPortMappingOutputWithContext(context.Background()) } -func (i VirtualGatewaySpecListenerTlsValidationTrustFileArgs) ToVirtualGatewaySpecListenerTlsValidationTrustFileOutputWithContext(ctx context.Context) VirtualGatewaySpecListenerTlsValidationTrustFileOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualGatewaySpecListenerTlsValidationTrustFileOutput) +func (i VirtualGatewaySpecListenerPortMappingArgs) ToVirtualGatewaySpecListenerPortMappingOutputWithContext(ctx context.Context) VirtualGatewaySpecListenerPortMappingOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualGatewaySpecListenerPortMappingOutput) } -func (i VirtualGatewaySpecListenerTlsValidationTrustFileArgs) ToVirtualGatewaySpecListenerTlsValidationTrustFilePtrOutput() VirtualGatewaySpecListenerTlsValidationTrustFilePtrOutput { - return i.ToVirtualGatewaySpecListenerTlsValidationTrustFilePtrOutputWithContext(context.Background()) +func (i VirtualGatewaySpecListenerPortMappingArgs) ToVirtualGatewaySpecListenerPortMappingPtrOutput() VirtualGatewaySpecListenerPortMappingPtrOutput { + return i.ToVirtualGatewaySpecListenerPortMappingPtrOutputWithContext(context.Background()) } -func (i VirtualGatewaySpecListenerTlsValidationTrustFileArgs) ToVirtualGatewaySpecListenerTlsValidationTrustFilePtrOutputWithContext(ctx context.Context) VirtualGatewaySpecListenerTlsValidationTrustFilePtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualGatewaySpecListenerTlsValidationTrustFileOutput).ToVirtualGatewaySpecListenerTlsValidationTrustFilePtrOutputWithContext(ctx) +func (i VirtualGatewaySpecListenerPortMappingArgs) ToVirtualGatewaySpecListenerPortMappingPtrOutputWithContext(ctx context.Context) VirtualGatewaySpecListenerPortMappingPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualGatewaySpecListenerPortMappingOutput).ToVirtualGatewaySpecListenerPortMappingPtrOutputWithContext(ctx) } -// VirtualGatewaySpecListenerTlsValidationTrustFilePtrInput is an input type that accepts VirtualGatewaySpecListenerTlsValidationTrustFileArgs, VirtualGatewaySpecListenerTlsValidationTrustFilePtr and VirtualGatewaySpecListenerTlsValidationTrustFilePtrOutput values. -// You can construct a concrete instance of `VirtualGatewaySpecListenerTlsValidationTrustFilePtrInput` via: +// VirtualGatewaySpecListenerPortMappingPtrInput is an input type that accepts VirtualGatewaySpecListenerPortMappingArgs, VirtualGatewaySpecListenerPortMappingPtr and VirtualGatewaySpecListenerPortMappingPtrOutput values. +// You can construct a concrete instance of `VirtualGatewaySpecListenerPortMappingPtrInput` via: // -// VirtualGatewaySpecListenerTlsValidationTrustFileArgs{...} +// VirtualGatewaySpecListenerPortMappingArgs{...} // // or: // // nil -type VirtualGatewaySpecListenerTlsValidationTrustFilePtrInput interface { +type VirtualGatewaySpecListenerPortMappingPtrInput interface { pulumi.Input - ToVirtualGatewaySpecListenerTlsValidationTrustFilePtrOutput() VirtualGatewaySpecListenerTlsValidationTrustFilePtrOutput - ToVirtualGatewaySpecListenerTlsValidationTrustFilePtrOutputWithContext(context.Context) VirtualGatewaySpecListenerTlsValidationTrustFilePtrOutput + ToVirtualGatewaySpecListenerPortMappingPtrOutput() VirtualGatewaySpecListenerPortMappingPtrOutput + ToVirtualGatewaySpecListenerPortMappingPtrOutputWithContext(context.Context) VirtualGatewaySpecListenerPortMappingPtrOutput } -type virtualGatewaySpecListenerTlsValidationTrustFilePtrType VirtualGatewaySpecListenerTlsValidationTrustFileArgs +type virtualGatewaySpecListenerPortMappingPtrType VirtualGatewaySpecListenerPortMappingArgs -func VirtualGatewaySpecListenerTlsValidationTrustFilePtr(v *VirtualGatewaySpecListenerTlsValidationTrustFileArgs) VirtualGatewaySpecListenerTlsValidationTrustFilePtrInput { - return (*virtualGatewaySpecListenerTlsValidationTrustFilePtrType)(v) +func VirtualGatewaySpecListenerPortMappingPtr(v *VirtualGatewaySpecListenerPortMappingArgs) VirtualGatewaySpecListenerPortMappingPtrInput { + return (*virtualGatewaySpecListenerPortMappingPtrType)(v) } -func (*virtualGatewaySpecListenerTlsValidationTrustFilePtrType) ElementType() reflect.Type { - return reflect.TypeOf((**VirtualGatewaySpecListenerTlsValidationTrustFile)(nil)).Elem() +func (*virtualGatewaySpecListenerPortMappingPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**VirtualGatewaySpecListenerPortMapping)(nil)).Elem() } -func (i *virtualGatewaySpecListenerTlsValidationTrustFilePtrType) ToVirtualGatewaySpecListenerTlsValidationTrustFilePtrOutput() VirtualGatewaySpecListenerTlsValidationTrustFilePtrOutput { - return i.ToVirtualGatewaySpecListenerTlsValidationTrustFilePtrOutputWithContext(context.Background()) +func (i *virtualGatewaySpecListenerPortMappingPtrType) ToVirtualGatewaySpecListenerPortMappingPtrOutput() VirtualGatewaySpecListenerPortMappingPtrOutput { + return i.ToVirtualGatewaySpecListenerPortMappingPtrOutputWithContext(context.Background()) } -func (i *virtualGatewaySpecListenerTlsValidationTrustFilePtrType) ToVirtualGatewaySpecListenerTlsValidationTrustFilePtrOutputWithContext(ctx context.Context) VirtualGatewaySpecListenerTlsValidationTrustFilePtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualGatewaySpecListenerTlsValidationTrustFilePtrOutput) +func (i *virtualGatewaySpecListenerPortMappingPtrType) ToVirtualGatewaySpecListenerPortMappingPtrOutputWithContext(ctx context.Context) VirtualGatewaySpecListenerPortMappingPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualGatewaySpecListenerPortMappingPtrOutput) } -type VirtualGatewaySpecListenerTlsValidationTrustFileOutput struct{ *pulumi.OutputState } +type VirtualGatewaySpecListenerPortMappingOutput struct{ *pulumi.OutputState } -func (VirtualGatewaySpecListenerTlsValidationTrustFileOutput) ElementType() reflect.Type { - return reflect.TypeOf((*VirtualGatewaySpecListenerTlsValidationTrustFile)(nil)).Elem() +func (VirtualGatewaySpecListenerPortMappingOutput) ElementType() reflect.Type { + return reflect.TypeOf((*VirtualGatewaySpecListenerPortMapping)(nil)).Elem() } -func (o VirtualGatewaySpecListenerTlsValidationTrustFileOutput) ToVirtualGatewaySpecListenerTlsValidationTrustFileOutput() VirtualGatewaySpecListenerTlsValidationTrustFileOutput { +func (o VirtualGatewaySpecListenerPortMappingOutput) ToVirtualGatewaySpecListenerPortMappingOutput() VirtualGatewaySpecListenerPortMappingOutput { return o } -func (o VirtualGatewaySpecListenerTlsValidationTrustFileOutput) ToVirtualGatewaySpecListenerTlsValidationTrustFileOutputWithContext(ctx context.Context) VirtualGatewaySpecListenerTlsValidationTrustFileOutput { +func (o VirtualGatewaySpecListenerPortMappingOutput) ToVirtualGatewaySpecListenerPortMappingOutputWithContext(ctx context.Context) VirtualGatewaySpecListenerPortMappingOutput { return o } -func (o VirtualGatewaySpecListenerTlsValidationTrustFileOutput) ToVirtualGatewaySpecListenerTlsValidationTrustFilePtrOutput() VirtualGatewaySpecListenerTlsValidationTrustFilePtrOutput { - return o.ToVirtualGatewaySpecListenerTlsValidationTrustFilePtrOutputWithContext(context.Background()) +func (o VirtualGatewaySpecListenerPortMappingOutput) ToVirtualGatewaySpecListenerPortMappingPtrOutput() VirtualGatewaySpecListenerPortMappingPtrOutput { + return o.ToVirtualGatewaySpecListenerPortMappingPtrOutputWithContext(context.Background()) } -func (o VirtualGatewaySpecListenerTlsValidationTrustFileOutput) ToVirtualGatewaySpecListenerTlsValidationTrustFilePtrOutputWithContext(ctx context.Context) VirtualGatewaySpecListenerTlsValidationTrustFilePtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v VirtualGatewaySpecListenerTlsValidationTrustFile) *VirtualGatewaySpecListenerTlsValidationTrustFile { +func (o VirtualGatewaySpecListenerPortMappingOutput) ToVirtualGatewaySpecListenerPortMappingPtrOutputWithContext(ctx context.Context) VirtualGatewaySpecListenerPortMappingPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v VirtualGatewaySpecListenerPortMapping) *VirtualGatewaySpecListenerPortMapping { return &v - }).(VirtualGatewaySpecListenerTlsValidationTrustFilePtrOutput) + }).(VirtualGatewaySpecListenerPortMappingPtrOutput) } -// Certificate trust chain for a certificate stored on the file system of the mesh endpoint that the proxy is running on. Must be between 1 and 255 characters in length. -func (o VirtualGatewaySpecListenerTlsValidationTrustFileOutput) CertificateChain() pulumi.StringOutput { - return o.ApplyT(func(v VirtualGatewaySpecListenerTlsValidationTrustFile) string { return v.CertificateChain }).(pulumi.StringOutput) +// Port used for the port mapping. +func (o VirtualGatewaySpecListenerPortMappingOutput) Port() pulumi.IntOutput { + return o.ApplyT(func(v VirtualGatewaySpecListenerPortMapping) int { return v.Port }).(pulumi.IntOutput) } -type VirtualGatewaySpecListenerTlsValidationTrustFilePtrOutput struct{ *pulumi.OutputState } +// Protocol used for the port mapping. Valid values are `http`, `http2`, `tcp` and `grpc`. +func (o VirtualGatewaySpecListenerPortMappingOutput) Protocol() pulumi.StringOutput { + return o.ApplyT(func(v VirtualGatewaySpecListenerPortMapping) string { return v.Protocol }).(pulumi.StringOutput) +} -func (VirtualGatewaySpecListenerTlsValidationTrustFilePtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**VirtualGatewaySpecListenerTlsValidationTrustFile)(nil)).Elem() +type VirtualGatewaySpecListenerPortMappingPtrOutput struct{ *pulumi.OutputState } + +func (VirtualGatewaySpecListenerPortMappingPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**VirtualGatewaySpecListenerPortMapping)(nil)).Elem() } -func (o VirtualGatewaySpecListenerTlsValidationTrustFilePtrOutput) ToVirtualGatewaySpecListenerTlsValidationTrustFilePtrOutput() VirtualGatewaySpecListenerTlsValidationTrustFilePtrOutput { +func (o VirtualGatewaySpecListenerPortMappingPtrOutput) ToVirtualGatewaySpecListenerPortMappingPtrOutput() VirtualGatewaySpecListenerPortMappingPtrOutput { return o } -func (o VirtualGatewaySpecListenerTlsValidationTrustFilePtrOutput) ToVirtualGatewaySpecListenerTlsValidationTrustFilePtrOutputWithContext(ctx context.Context) VirtualGatewaySpecListenerTlsValidationTrustFilePtrOutput { +func (o VirtualGatewaySpecListenerPortMappingPtrOutput) ToVirtualGatewaySpecListenerPortMappingPtrOutputWithContext(ctx context.Context) VirtualGatewaySpecListenerPortMappingPtrOutput { return o } -func (o VirtualGatewaySpecListenerTlsValidationTrustFilePtrOutput) Elem() VirtualGatewaySpecListenerTlsValidationTrustFileOutput { - return o.ApplyT(func(v *VirtualGatewaySpecListenerTlsValidationTrustFile) VirtualGatewaySpecListenerTlsValidationTrustFile { +func (o VirtualGatewaySpecListenerPortMappingPtrOutput) Elem() VirtualGatewaySpecListenerPortMappingOutput { + return o.ApplyT(func(v *VirtualGatewaySpecListenerPortMapping) VirtualGatewaySpecListenerPortMapping { if v != nil { return *v } - var ret VirtualGatewaySpecListenerTlsValidationTrustFile + var ret VirtualGatewaySpecListenerPortMapping return ret - }).(VirtualGatewaySpecListenerTlsValidationTrustFileOutput) + }).(VirtualGatewaySpecListenerPortMappingOutput) } -// Certificate trust chain for a certificate stored on the file system of the mesh endpoint that the proxy is running on. Must be between 1 and 255 characters in length. -func (o VirtualGatewaySpecListenerTlsValidationTrustFilePtrOutput) CertificateChain() pulumi.StringPtrOutput { - return o.ApplyT(func(v *VirtualGatewaySpecListenerTlsValidationTrustFile) *string { +// Port used for the port mapping. +func (o VirtualGatewaySpecListenerPortMappingPtrOutput) Port() pulumi.IntPtrOutput { + return o.ApplyT(func(v *VirtualGatewaySpecListenerPortMapping) *int { if v == nil { return nil } - return &v.CertificateChain + return &v.Port + }).(pulumi.IntPtrOutput) +} + +// Protocol used for the port mapping. Valid values are `http`, `http2`, `tcp` and `grpc`. +func (o VirtualGatewaySpecListenerPortMappingPtrOutput) Protocol() pulumi.StringPtrOutput { + return o.ApplyT(func(v *VirtualGatewaySpecListenerPortMapping) *string { + if v == nil { + return nil + } + return &v.Protocol }).(pulumi.StringPtrOutput) } -type VirtualGatewaySpecListenerTlsValidationTrustSds struct { - // Name of the secret for a virtual gateway's Transport Layer Security (TLS) Secret Discovery Service validation context trust. - SecretName string `pulumi:"secretName"` +type VirtualGatewaySpecListenerTls struct { + // Listener's TLS certificate. + Certificate VirtualGatewaySpecListenerTlsCertificate `pulumi:"certificate"` + // Listener's TLS mode. Valid values: `DISABLED`, `PERMISSIVE`, `STRICT`. + Mode string `pulumi:"mode"` + // Listener's Transport Layer Security (TLS) validation context. + Validation *VirtualGatewaySpecListenerTlsValidation `pulumi:"validation"` } -// VirtualGatewaySpecListenerTlsValidationTrustSdsInput is an input type that accepts VirtualGatewaySpecListenerTlsValidationTrustSdsArgs and VirtualGatewaySpecListenerTlsValidationTrustSdsOutput values. -// You can construct a concrete instance of `VirtualGatewaySpecListenerTlsValidationTrustSdsInput` via: +// VirtualGatewaySpecListenerTlsInput is an input type that accepts VirtualGatewaySpecListenerTlsArgs and VirtualGatewaySpecListenerTlsOutput values. +// You can construct a concrete instance of `VirtualGatewaySpecListenerTlsInput` via: // -// VirtualGatewaySpecListenerTlsValidationTrustSdsArgs{...} -type VirtualGatewaySpecListenerTlsValidationTrustSdsInput interface { +// VirtualGatewaySpecListenerTlsArgs{...} +type VirtualGatewaySpecListenerTlsInput interface { pulumi.Input - ToVirtualGatewaySpecListenerTlsValidationTrustSdsOutput() VirtualGatewaySpecListenerTlsValidationTrustSdsOutput - ToVirtualGatewaySpecListenerTlsValidationTrustSdsOutputWithContext(context.Context) VirtualGatewaySpecListenerTlsValidationTrustSdsOutput + ToVirtualGatewaySpecListenerTlsOutput() VirtualGatewaySpecListenerTlsOutput + ToVirtualGatewaySpecListenerTlsOutputWithContext(context.Context) VirtualGatewaySpecListenerTlsOutput } -type VirtualGatewaySpecListenerTlsValidationTrustSdsArgs struct { - // Name of the secret for a virtual gateway's Transport Layer Security (TLS) Secret Discovery Service validation context trust. - SecretName pulumi.StringInput `pulumi:"secretName"` +type VirtualGatewaySpecListenerTlsArgs struct { + // Listener's TLS certificate. + Certificate VirtualGatewaySpecListenerTlsCertificateInput `pulumi:"certificate"` + // Listener's TLS mode. Valid values: `DISABLED`, `PERMISSIVE`, `STRICT`. + Mode pulumi.StringInput `pulumi:"mode"` + // Listener's Transport Layer Security (TLS) validation context. + Validation VirtualGatewaySpecListenerTlsValidationPtrInput `pulumi:"validation"` } -func (VirtualGatewaySpecListenerTlsValidationTrustSdsArgs) ElementType() reflect.Type { - return reflect.TypeOf((*VirtualGatewaySpecListenerTlsValidationTrustSds)(nil)).Elem() +func (VirtualGatewaySpecListenerTlsArgs) ElementType() reflect.Type { + return reflect.TypeOf((*VirtualGatewaySpecListenerTls)(nil)).Elem() } -func (i VirtualGatewaySpecListenerTlsValidationTrustSdsArgs) ToVirtualGatewaySpecListenerTlsValidationTrustSdsOutput() VirtualGatewaySpecListenerTlsValidationTrustSdsOutput { - return i.ToVirtualGatewaySpecListenerTlsValidationTrustSdsOutputWithContext(context.Background()) +func (i VirtualGatewaySpecListenerTlsArgs) ToVirtualGatewaySpecListenerTlsOutput() VirtualGatewaySpecListenerTlsOutput { + return i.ToVirtualGatewaySpecListenerTlsOutputWithContext(context.Background()) } -func (i VirtualGatewaySpecListenerTlsValidationTrustSdsArgs) ToVirtualGatewaySpecListenerTlsValidationTrustSdsOutputWithContext(ctx context.Context) VirtualGatewaySpecListenerTlsValidationTrustSdsOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualGatewaySpecListenerTlsValidationTrustSdsOutput) +func (i VirtualGatewaySpecListenerTlsArgs) ToVirtualGatewaySpecListenerTlsOutputWithContext(ctx context.Context) VirtualGatewaySpecListenerTlsOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualGatewaySpecListenerTlsOutput) } -func (i VirtualGatewaySpecListenerTlsValidationTrustSdsArgs) ToVirtualGatewaySpecListenerTlsValidationTrustSdsPtrOutput() VirtualGatewaySpecListenerTlsValidationTrustSdsPtrOutput { - return i.ToVirtualGatewaySpecListenerTlsValidationTrustSdsPtrOutputWithContext(context.Background()) +func (i VirtualGatewaySpecListenerTlsArgs) ToVirtualGatewaySpecListenerTlsPtrOutput() VirtualGatewaySpecListenerTlsPtrOutput { + return i.ToVirtualGatewaySpecListenerTlsPtrOutputWithContext(context.Background()) } -func (i VirtualGatewaySpecListenerTlsValidationTrustSdsArgs) ToVirtualGatewaySpecListenerTlsValidationTrustSdsPtrOutputWithContext(ctx context.Context) VirtualGatewaySpecListenerTlsValidationTrustSdsPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualGatewaySpecListenerTlsValidationTrustSdsOutput).ToVirtualGatewaySpecListenerTlsValidationTrustSdsPtrOutputWithContext(ctx) +func (i VirtualGatewaySpecListenerTlsArgs) ToVirtualGatewaySpecListenerTlsPtrOutputWithContext(ctx context.Context) VirtualGatewaySpecListenerTlsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualGatewaySpecListenerTlsOutput).ToVirtualGatewaySpecListenerTlsPtrOutputWithContext(ctx) } -// VirtualGatewaySpecListenerTlsValidationTrustSdsPtrInput is an input type that accepts VirtualGatewaySpecListenerTlsValidationTrustSdsArgs, VirtualGatewaySpecListenerTlsValidationTrustSdsPtr and VirtualGatewaySpecListenerTlsValidationTrustSdsPtrOutput values. -// You can construct a concrete instance of `VirtualGatewaySpecListenerTlsValidationTrustSdsPtrInput` via: +// VirtualGatewaySpecListenerTlsPtrInput is an input type that accepts VirtualGatewaySpecListenerTlsArgs, VirtualGatewaySpecListenerTlsPtr and VirtualGatewaySpecListenerTlsPtrOutput values. +// You can construct a concrete instance of `VirtualGatewaySpecListenerTlsPtrInput` via: // -// VirtualGatewaySpecListenerTlsValidationTrustSdsArgs{...} +// VirtualGatewaySpecListenerTlsArgs{...} // // or: // // nil -type VirtualGatewaySpecListenerTlsValidationTrustSdsPtrInput interface { +type VirtualGatewaySpecListenerTlsPtrInput interface { pulumi.Input - ToVirtualGatewaySpecListenerTlsValidationTrustSdsPtrOutput() VirtualGatewaySpecListenerTlsValidationTrustSdsPtrOutput - ToVirtualGatewaySpecListenerTlsValidationTrustSdsPtrOutputWithContext(context.Context) VirtualGatewaySpecListenerTlsValidationTrustSdsPtrOutput + ToVirtualGatewaySpecListenerTlsPtrOutput() VirtualGatewaySpecListenerTlsPtrOutput + ToVirtualGatewaySpecListenerTlsPtrOutputWithContext(context.Context) VirtualGatewaySpecListenerTlsPtrOutput } -type virtualGatewaySpecListenerTlsValidationTrustSdsPtrType VirtualGatewaySpecListenerTlsValidationTrustSdsArgs +type virtualGatewaySpecListenerTlsPtrType VirtualGatewaySpecListenerTlsArgs -func VirtualGatewaySpecListenerTlsValidationTrustSdsPtr(v *VirtualGatewaySpecListenerTlsValidationTrustSdsArgs) VirtualGatewaySpecListenerTlsValidationTrustSdsPtrInput { - return (*virtualGatewaySpecListenerTlsValidationTrustSdsPtrType)(v) +func VirtualGatewaySpecListenerTlsPtr(v *VirtualGatewaySpecListenerTlsArgs) VirtualGatewaySpecListenerTlsPtrInput { + return (*virtualGatewaySpecListenerTlsPtrType)(v) } -func (*virtualGatewaySpecListenerTlsValidationTrustSdsPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**VirtualGatewaySpecListenerTlsValidationTrustSds)(nil)).Elem() -} +func (*virtualGatewaySpecListenerTlsPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**VirtualGatewaySpecListenerTls)(nil)).Elem() +} -func (i *virtualGatewaySpecListenerTlsValidationTrustSdsPtrType) ToVirtualGatewaySpecListenerTlsValidationTrustSdsPtrOutput() VirtualGatewaySpecListenerTlsValidationTrustSdsPtrOutput { - return i.ToVirtualGatewaySpecListenerTlsValidationTrustSdsPtrOutputWithContext(context.Background()) +func (i *virtualGatewaySpecListenerTlsPtrType) ToVirtualGatewaySpecListenerTlsPtrOutput() VirtualGatewaySpecListenerTlsPtrOutput { + return i.ToVirtualGatewaySpecListenerTlsPtrOutputWithContext(context.Background()) } -func (i *virtualGatewaySpecListenerTlsValidationTrustSdsPtrType) ToVirtualGatewaySpecListenerTlsValidationTrustSdsPtrOutputWithContext(ctx context.Context) VirtualGatewaySpecListenerTlsValidationTrustSdsPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualGatewaySpecListenerTlsValidationTrustSdsPtrOutput) +func (i *virtualGatewaySpecListenerTlsPtrType) ToVirtualGatewaySpecListenerTlsPtrOutputWithContext(ctx context.Context) VirtualGatewaySpecListenerTlsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualGatewaySpecListenerTlsPtrOutput) } -type VirtualGatewaySpecListenerTlsValidationTrustSdsOutput struct{ *pulumi.OutputState } +type VirtualGatewaySpecListenerTlsOutput struct{ *pulumi.OutputState } -func (VirtualGatewaySpecListenerTlsValidationTrustSdsOutput) ElementType() reflect.Type { - return reflect.TypeOf((*VirtualGatewaySpecListenerTlsValidationTrustSds)(nil)).Elem() +func (VirtualGatewaySpecListenerTlsOutput) ElementType() reflect.Type { + return reflect.TypeOf((*VirtualGatewaySpecListenerTls)(nil)).Elem() } -func (o VirtualGatewaySpecListenerTlsValidationTrustSdsOutput) ToVirtualGatewaySpecListenerTlsValidationTrustSdsOutput() VirtualGatewaySpecListenerTlsValidationTrustSdsOutput { +func (o VirtualGatewaySpecListenerTlsOutput) ToVirtualGatewaySpecListenerTlsOutput() VirtualGatewaySpecListenerTlsOutput { return o } -func (o VirtualGatewaySpecListenerTlsValidationTrustSdsOutput) ToVirtualGatewaySpecListenerTlsValidationTrustSdsOutputWithContext(ctx context.Context) VirtualGatewaySpecListenerTlsValidationTrustSdsOutput { +func (o VirtualGatewaySpecListenerTlsOutput) ToVirtualGatewaySpecListenerTlsOutputWithContext(ctx context.Context) VirtualGatewaySpecListenerTlsOutput { return o } -func (o VirtualGatewaySpecListenerTlsValidationTrustSdsOutput) ToVirtualGatewaySpecListenerTlsValidationTrustSdsPtrOutput() VirtualGatewaySpecListenerTlsValidationTrustSdsPtrOutput { - return o.ToVirtualGatewaySpecListenerTlsValidationTrustSdsPtrOutputWithContext(context.Background()) +func (o VirtualGatewaySpecListenerTlsOutput) ToVirtualGatewaySpecListenerTlsPtrOutput() VirtualGatewaySpecListenerTlsPtrOutput { + return o.ToVirtualGatewaySpecListenerTlsPtrOutputWithContext(context.Background()) } -func (o VirtualGatewaySpecListenerTlsValidationTrustSdsOutput) ToVirtualGatewaySpecListenerTlsValidationTrustSdsPtrOutputWithContext(ctx context.Context) VirtualGatewaySpecListenerTlsValidationTrustSdsPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v VirtualGatewaySpecListenerTlsValidationTrustSds) *VirtualGatewaySpecListenerTlsValidationTrustSds { +func (o VirtualGatewaySpecListenerTlsOutput) ToVirtualGatewaySpecListenerTlsPtrOutputWithContext(ctx context.Context) VirtualGatewaySpecListenerTlsPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v VirtualGatewaySpecListenerTls) *VirtualGatewaySpecListenerTls { return &v - }).(VirtualGatewaySpecListenerTlsValidationTrustSdsPtrOutput) + }).(VirtualGatewaySpecListenerTlsPtrOutput) } -// Name of the secret for a virtual gateway's Transport Layer Security (TLS) Secret Discovery Service validation context trust. -func (o VirtualGatewaySpecListenerTlsValidationTrustSdsOutput) SecretName() pulumi.StringOutput { - return o.ApplyT(func(v VirtualGatewaySpecListenerTlsValidationTrustSds) string { return v.SecretName }).(pulumi.StringOutput) +// Listener's TLS certificate. +func (o VirtualGatewaySpecListenerTlsOutput) Certificate() VirtualGatewaySpecListenerTlsCertificateOutput { + return o.ApplyT(func(v VirtualGatewaySpecListenerTls) VirtualGatewaySpecListenerTlsCertificate { return v.Certificate }).(VirtualGatewaySpecListenerTlsCertificateOutput) } -type VirtualGatewaySpecListenerTlsValidationTrustSdsPtrOutput struct{ *pulumi.OutputState } +// Listener's TLS mode. Valid values: `DISABLED`, `PERMISSIVE`, `STRICT`. +func (o VirtualGatewaySpecListenerTlsOutput) Mode() pulumi.StringOutput { + return o.ApplyT(func(v VirtualGatewaySpecListenerTls) string { return v.Mode }).(pulumi.StringOutput) +} -func (VirtualGatewaySpecListenerTlsValidationTrustSdsPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**VirtualGatewaySpecListenerTlsValidationTrustSds)(nil)).Elem() +// Listener's Transport Layer Security (TLS) validation context. +func (o VirtualGatewaySpecListenerTlsOutput) Validation() VirtualGatewaySpecListenerTlsValidationPtrOutput { + return o.ApplyT(func(v VirtualGatewaySpecListenerTls) *VirtualGatewaySpecListenerTlsValidation { return v.Validation }).(VirtualGatewaySpecListenerTlsValidationPtrOutput) } -func (o VirtualGatewaySpecListenerTlsValidationTrustSdsPtrOutput) ToVirtualGatewaySpecListenerTlsValidationTrustSdsPtrOutput() VirtualGatewaySpecListenerTlsValidationTrustSdsPtrOutput { +type VirtualGatewaySpecListenerTlsPtrOutput struct{ *pulumi.OutputState } + +func (VirtualGatewaySpecListenerTlsPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**VirtualGatewaySpecListenerTls)(nil)).Elem() +} + +func (o VirtualGatewaySpecListenerTlsPtrOutput) ToVirtualGatewaySpecListenerTlsPtrOutput() VirtualGatewaySpecListenerTlsPtrOutput { return o } -func (o VirtualGatewaySpecListenerTlsValidationTrustSdsPtrOutput) ToVirtualGatewaySpecListenerTlsValidationTrustSdsPtrOutputWithContext(ctx context.Context) VirtualGatewaySpecListenerTlsValidationTrustSdsPtrOutput { +func (o VirtualGatewaySpecListenerTlsPtrOutput) ToVirtualGatewaySpecListenerTlsPtrOutputWithContext(ctx context.Context) VirtualGatewaySpecListenerTlsPtrOutput { return o } -func (o VirtualGatewaySpecListenerTlsValidationTrustSdsPtrOutput) Elem() VirtualGatewaySpecListenerTlsValidationTrustSdsOutput { - return o.ApplyT(func(v *VirtualGatewaySpecListenerTlsValidationTrustSds) VirtualGatewaySpecListenerTlsValidationTrustSds { +func (o VirtualGatewaySpecListenerTlsPtrOutput) Elem() VirtualGatewaySpecListenerTlsOutput { + return o.ApplyT(func(v *VirtualGatewaySpecListenerTls) VirtualGatewaySpecListenerTls { if v != nil { return *v } - var ret VirtualGatewaySpecListenerTlsValidationTrustSds + var ret VirtualGatewaySpecListenerTls return ret - }).(VirtualGatewaySpecListenerTlsValidationTrustSdsOutput) + }).(VirtualGatewaySpecListenerTlsOutput) } -// Name of the secret for a virtual gateway's Transport Layer Security (TLS) Secret Discovery Service validation context trust. -func (o VirtualGatewaySpecListenerTlsValidationTrustSdsPtrOutput) SecretName() pulumi.StringPtrOutput { - return o.ApplyT(func(v *VirtualGatewaySpecListenerTlsValidationTrustSds) *string { +// Listener's TLS certificate. +func (o VirtualGatewaySpecListenerTlsPtrOutput) Certificate() VirtualGatewaySpecListenerTlsCertificatePtrOutput { + return o.ApplyT(func(v *VirtualGatewaySpecListenerTls) *VirtualGatewaySpecListenerTlsCertificate { if v == nil { return nil } - return &v.SecretName + return &v.Certificate + }).(VirtualGatewaySpecListenerTlsCertificatePtrOutput) +} + +// Listener's TLS mode. Valid values: `DISABLED`, `PERMISSIVE`, `STRICT`. +func (o VirtualGatewaySpecListenerTlsPtrOutput) Mode() pulumi.StringPtrOutput { + return o.ApplyT(func(v *VirtualGatewaySpecListenerTls) *string { + if v == nil { + return nil + } + return &v.Mode }).(pulumi.StringPtrOutput) } -type VirtualGatewaySpecLogging struct { - // Access log configuration for a virtual gateway. - AccessLog *VirtualGatewaySpecLoggingAccessLog `pulumi:"accessLog"` +// Listener's Transport Layer Security (TLS) validation context. +func (o VirtualGatewaySpecListenerTlsPtrOutput) Validation() VirtualGatewaySpecListenerTlsValidationPtrOutput { + return o.ApplyT(func(v *VirtualGatewaySpecListenerTls) *VirtualGatewaySpecListenerTlsValidation { + if v == nil { + return nil + } + return v.Validation + }).(VirtualGatewaySpecListenerTlsValidationPtrOutput) } -// VirtualGatewaySpecLoggingInput is an input type that accepts VirtualGatewaySpecLoggingArgs and VirtualGatewaySpecLoggingOutput values. -// You can construct a concrete instance of `VirtualGatewaySpecLoggingInput` via: +type VirtualGatewaySpecListenerTlsCertificate struct { + // An AWS Certificate Manager (ACM) certificate. + Acm *VirtualGatewaySpecListenerTlsCertificateAcm `pulumi:"acm"` + // Local file certificate. + File *VirtualGatewaySpecListenerTlsCertificateFile `pulumi:"file"` + // A [Secret Discovery Service](https://www.envoyproxy.io/docs/envoy/latest/configuration/security/secret#secret-discovery-service-sds) certificate. + Sds *VirtualGatewaySpecListenerTlsCertificateSds `pulumi:"sds"` +} + +// VirtualGatewaySpecListenerTlsCertificateInput is an input type that accepts VirtualGatewaySpecListenerTlsCertificateArgs and VirtualGatewaySpecListenerTlsCertificateOutput values. +// You can construct a concrete instance of `VirtualGatewaySpecListenerTlsCertificateInput` via: // -// VirtualGatewaySpecLoggingArgs{...} -type VirtualGatewaySpecLoggingInput interface { +// VirtualGatewaySpecListenerTlsCertificateArgs{...} +type VirtualGatewaySpecListenerTlsCertificateInput interface { pulumi.Input - ToVirtualGatewaySpecLoggingOutput() VirtualGatewaySpecLoggingOutput - ToVirtualGatewaySpecLoggingOutputWithContext(context.Context) VirtualGatewaySpecLoggingOutput + ToVirtualGatewaySpecListenerTlsCertificateOutput() VirtualGatewaySpecListenerTlsCertificateOutput + ToVirtualGatewaySpecListenerTlsCertificateOutputWithContext(context.Context) VirtualGatewaySpecListenerTlsCertificateOutput } -type VirtualGatewaySpecLoggingArgs struct { - // Access log configuration for a virtual gateway. - AccessLog VirtualGatewaySpecLoggingAccessLogPtrInput `pulumi:"accessLog"` +type VirtualGatewaySpecListenerTlsCertificateArgs struct { + // An AWS Certificate Manager (ACM) certificate. + Acm VirtualGatewaySpecListenerTlsCertificateAcmPtrInput `pulumi:"acm"` + // Local file certificate. + File VirtualGatewaySpecListenerTlsCertificateFilePtrInput `pulumi:"file"` + // A [Secret Discovery Service](https://www.envoyproxy.io/docs/envoy/latest/configuration/security/secret#secret-discovery-service-sds) certificate. + Sds VirtualGatewaySpecListenerTlsCertificateSdsPtrInput `pulumi:"sds"` } -func (VirtualGatewaySpecLoggingArgs) ElementType() reflect.Type { - return reflect.TypeOf((*VirtualGatewaySpecLogging)(nil)).Elem() +func (VirtualGatewaySpecListenerTlsCertificateArgs) ElementType() reflect.Type { + return reflect.TypeOf((*VirtualGatewaySpecListenerTlsCertificate)(nil)).Elem() } -func (i VirtualGatewaySpecLoggingArgs) ToVirtualGatewaySpecLoggingOutput() VirtualGatewaySpecLoggingOutput { - return i.ToVirtualGatewaySpecLoggingOutputWithContext(context.Background()) +func (i VirtualGatewaySpecListenerTlsCertificateArgs) ToVirtualGatewaySpecListenerTlsCertificateOutput() VirtualGatewaySpecListenerTlsCertificateOutput { + return i.ToVirtualGatewaySpecListenerTlsCertificateOutputWithContext(context.Background()) } -func (i VirtualGatewaySpecLoggingArgs) ToVirtualGatewaySpecLoggingOutputWithContext(ctx context.Context) VirtualGatewaySpecLoggingOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualGatewaySpecLoggingOutput) +func (i VirtualGatewaySpecListenerTlsCertificateArgs) ToVirtualGatewaySpecListenerTlsCertificateOutputWithContext(ctx context.Context) VirtualGatewaySpecListenerTlsCertificateOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualGatewaySpecListenerTlsCertificateOutput) } -func (i VirtualGatewaySpecLoggingArgs) ToVirtualGatewaySpecLoggingPtrOutput() VirtualGatewaySpecLoggingPtrOutput { - return i.ToVirtualGatewaySpecLoggingPtrOutputWithContext(context.Background()) +func (i VirtualGatewaySpecListenerTlsCertificateArgs) ToVirtualGatewaySpecListenerTlsCertificatePtrOutput() VirtualGatewaySpecListenerTlsCertificatePtrOutput { + return i.ToVirtualGatewaySpecListenerTlsCertificatePtrOutputWithContext(context.Background()) } -func (i VirtualGatewaySpecLoggingArgs) ToVirtualGatewaySpecLoggingPtrOutputWithContext(ctx context.Context) VirtualGatewaySpecLoggingPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualGatewaySpecLoggingOutput).ToVirtualGatewaySpecLoggingPtrOutputWithContext(ctx) +func (i VirtualGatewaySpecListenerTlsCertificateArgs) ToVirtualGatewaySpecListenerTlsCertificatePtrOutputWithContext(ctx context.Context) VirtualGatewaySpecListenerTlsCertificatePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualGatewaySpecListenerTlsCertificateOutput).ToVirtualGatewaySpecListenerTlsCertificatePtrOutputWithContext(ctx) } -// VirtualGatewaySpecLoggingPtrInput is an input type that accepts VirtualGatewaySpecLoggingArgs, VirtualGatewaySpecLoggingPtr and VirtualGatewaySpecLoggingPtrOutput values. -// You can construct a concrete instance of `VirtualGatewaySpecLoggingPtrInput` via: +// VirtualGatewaySpecListenerTlsCertificatePtrInput is an input type that accepts VirtualGatewaySpecListenerTlsCertificateArgs, VirtualGatewaySpecListenerTlsCertificatePtr and VirtualGatewaySpecListenerTlsCertificatePtrOutput values. +// You can construct a concrete instance of `VirtualGatewaySpecListenerTlsCertificatePtrInput` via: // -// VirtualGatewaySpecLoggingArgs{...} +// VirtualGatewaySpecListenerTlsCertificateArgs{...} // // or: // // nil -type VirtualGatewaySpecLoggingPtrInput interface { +type VirtualGatewaySpecListenerTlsCertificatePtrInput interface { pulumi.Input - ToVirtualGatewaySpecLoggingPtrOutput() VirtualGatewaySpecLoggingPtrOutput - ToVirtualGatewaySpecLoggingPtrOutputWithContext(context.Context) VirtualGatewaySpecLoggingPtrOutput + ToVirtualGatewaySpecListenerTlsCertificatePtrOutput() VirtualGatewaySpecListenerTlsCertificatePtrOutput + ToVirtualGatewaySpecListenerTlsCertificatePtrOutputWithContext(context.Context) VirtualGatewaySpecListenerTlsCertificatePtrOutput } -type virtualGatewaySpecLoggingPtrType VirtualGatewaySpecLoggingArgs +type virtualGatewaySpecListenerTlsCertificatePtrType VirtualGatewaySpecListenerTlsCertificateArgs -func VirtualGatewaySpecLoggingPtr(v *VirtualGatewaySpecLoggingArgs) VirtualGatewaySpecLoggingPtrInput { - return (*virtualGatewaySpecLoggingPtrType)(v) +func VirtualGatewaySpecListenerTlsCertificatePtr(v *VirtualGatewaySpecListenerTlsCertificateArgs) VirtualGatewaySpecListenerTlsCertificatePtrInput { + return (*virtualGatewaySpecListenerTlsCertificatePtrType)(v) } -func (*virtualGatewaySpecLoggingPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**VirtualGatewaySpecLogging)(nil)).Elem() +func (*virtualGatewaySpecListenerTlsCertificatePtrType) ElementType() reflect.Type { + return reflect.TypeOf((**VirtualGatewaySpecListenerTlsCertificate)(nil)).Elem() } -func (i *virtualGatewaySpecLoggingPtrType) ToVirtualGatewaySpecLoggingPtrOutput() VirtualGatewaySpecLoggingPtrOutput { - return i.ToVirtualGatewaySpecLoggingPtrOutputWithContext(context.Background()) +func (i *virtualGatewaySpecListenerTlsCertificatePtrType) ToVirtualGatewaySpecListenerTlsCertificatePtrOutput() VirtualGatewaySpecListenerTlsCertificatePtrOutput { + return i.ToVirtualGatewaySpecListenerTlsCertificatePtrOutputWithContext(context.Background()) } -func (i *virtualGatewaySpecLoggingPtrType) ToVirtualGatewaySpecLoggingPtrOutputWithContext(ctx context.Context) VirtualGatewaySpecLoggingPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualGatewaySpecLoggingPtrOutput) +func (i *virtualGatewaySpecListenerTlsCertificatePtrType) ToVirtualGatewaySpecListenerTlsCertificatePtrOutputWithContext(ctx context.Context) VirtualGatewaySpecListenerTlsCertificatePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualGatewaySpecListenerTlsCertificatePtrOutput) } -type VirtualGatewaySpecLoggingOutput struct{ *pulumi.OutputState } +type VirtualGatewaySpecListenerTlsCertificateOutput struct{ *pulumi.OutputState } -func (VirtualGatewaySpecLoggingOutput) ElementType() reflect.Type { - return reflect.TypeOf((*VirtualGatewaySpecLogging)(nil)).Elem() +func (VirtualGatewaySpecListenerTlsCertificateOutput) ElementType() reflect.Type { + return reflect.TypeOf((*VirtualGatewaySpecListenerTlsCertificate)(nil)).Elem() } -func (o VirtualGatewaySpecLoggingOutput) ToVirtualGatewaySpecLoggingOutput() VirtualGatewaySpecLoggingOutput { +func (o VirtualGatewaySpecListenerTlsCertificateOutput) ToVirtualGatewaySpecListenerTlsCertificateOutput() VirtualGatewaySpecListenerTlsCertificateOutput { return o } -func (o VirtualGatewaySpecLoggingOutput) ToVirtualGatewaySpecLoggingOutputWithContext(ctx context.Context) VirtualGatewaySpecLoggingOutput { +func (o VirtualGatewaySpecListenerTlsCertificateOutput) ToVirtualGatewaySpecListenerTlsCertificateOutputWithContext(ctx context.Context) VirtualGatewaySpecListenerTlsCertificateOutput { return o } -func (o VirtualGatewaySpecLoggingOutput) ToVirtualGatewaySpecLoggingPtrOutput() VirtualGatewaySpecLoggingPtrOutput { - return o.ToVirtualGatewaySpecLoggingPtrOutputWithContext(context.Background()) +func (o VirtualGatewaySpecListenerTlsCertificateOutput) ToVirtualGatewaySpecListenerTlsCertificatePtrOutput() VirtualGatewaySpecListenerTlsCertificatePtrOutput { + return o.ToVirtualGatewaySpecListenerTlsCertificatePtrOutputWithContext(context.Background()) } -func (o VirtualGatewaySpecLoggingOutput) ToVirtualGatewaySpecLoggingPtrOutputWithContext(ctx context.Context) VirtualGatewaySpecLoggingPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v VirtualGatewaySpecLogging) *VirtualGatewaySpecLogging { +func (o VirtualGatewaySpecListenerTlsCertificateOutput) ToVirtualGatewaySpecListenerTlsCertificatePtrOutputWithContext(ctx context.Context) VirtualGatewaySpecListenerTlsCertificatePtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v VirtualGatewaySpecListenerTlsCertificate) *VirtualGatewaySpecListenerTlsCertificate { return &v - }).(VirtualGatewaySpecLoggingPtrOutput) + }).(VirtualGatewaySpecListenerTlsCertificatePtrOutput) } -// Access log configuration for a virtual gateway. -func (o VirtualGatewaySpecLoggingOutput) AccessLog() VirtualGatewaySpecLoggingAccessLogPtrOutput { - return o.ApplyT(func(v VirtualGatewaySpecLogging) *VirtualGatewaySpecLoggingAccessLog { return v.AccessLog }).(VirtualGatewaySpecLoggingAccessLogPtrOutput) +// An AWS Certificate Manager (ACM) certificate. +func (o VirtualGatewaySpecListenerTlsCertificateOutput) Acm() VirtualGatewaySpecListenerTlsCertificateAcmPtrOutput { + return o.ApplyT(func(v VirtualGatewaySpecListenerTlsCertificate) *VirtualGatewaySpecListenerTlsCertificateAcm { + return v.Acm + }).(VirtualGatewaySpecListenerTlsCertificateAcmPtrOutput) } -type VirtualGatewaySpecLoggingPtrOutput struct{ *pulumi.OutputState } +// Local file certificate. +func (o VirtualGatewaySpecListenerTlsCertificateOutput) File() VirtualGatewaySpecListenerTlsCertificateFilePtrOutput { + return o.ApplyT(func(v VirtualGatewaySpecListenerTlsCertificate) *VirtualGatewaySpecListenerTlsCertificateFile { + return v.File + }).(VirtualGatewaySpecListenerTlsCertificateFilePtrOutput) +} -func (VirtualGatewaySpecLoggingPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**VirtualGatewaySpecLogging)(nil)).Elem() +// A [Secret Discovery Service](https://www.envoyproxy.io/docs/envoy/latest/configuration/security/secret#secret-discovery-service-sds) certificate. +func (o VirtualGatewaySpecListenerTlsCertificateOutput) Sds() VirtualGatewaySpecListenerTlsCertificateSdsPtrOutput { + return o.ApplyT(func(v VirtualGatewaySpecListenerTlsCertificate) *VirtualGatewaySpecListenerTlsCertificateSds { + return v.Sds + }).(VirtualGatewaySpecListenerTlsCertificateSdsPtrOutput) } -func (o VirtualGatewaySpecLoggingPtrOutput) ToVirtualGatewaySpecLoggingPtrOutput() VirtualGatewaySpecLoggingPtrOutput { +type VirtualGatewaySpecListenerTlsCertificatePtrOutput struct{ *pulumi.OutputState } + +func (VirtualGatewaySpecListenerTlsCertificatePtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**VirtualGatewaySpecListenerTlsCertificate)(nil)).Elem() +} + +func (o VirtualGatewaySpecListenerTlsCertificatePtrOutput) ToVirtualGatewaySpecListenerTlsCertificatePtrOutput() VirtualGatewaySpecListenerTlsCertificatePtrOutput { return o } -func (o VirtualGatewaySpecLoggingPtrOutput) ToVirtualGatewaySpecLoggingPtrOutputWithContext(ctx context.Context) VirtualGatewaySpecLoggingPtrOutput { +func (o VirtualGatewaySpecListenerTlsCertificatePtrOutput) ToVirtualGatewaySpecListenerTlsCertificatePtrOutputWithContext(ctx context.Context) VirtualGatewaySpecListenerTlsCertificatePtrOutput { return o } -func (o VirtualGatewaySpecLoggingPtrOutput) Elem() VirtualGatewaySpecLoggingOutput { - return o.ApplyT(func(v *VirtualGatewaySpecLogging) VirtualGatewaySpecLogging { +func (o VirtualGatewaySpecListenerTlsCertificatePtrOutput) Elem() VirtualGatewaySpecListenerTlsCertificateOutput { + return o.ApplyT(func(v *VirtualGatewaySpecListenerTlsCertificate) VirtualGatewaySpecListenerTlsCertificate { if v != nil { return *v } - var ret VirtualGatewaySpecLogging + var ret VirtualGatewaySpecListenerTlsCertificate return ret - }).(VirtualGatewaySpecLoggingOutput) + }).(VirtualGatewaySpecListenerTlsCertificateOutput) } -// Access log configuration for a virtual gateway. -func (o VirtualGatewaySpecLoggingPtrOutput) AccessLog() VirtualGatewaySpecLoggingAccessLogPtrOutput { - return o.ApplyT(func(v *VirtualGatewaySpecLogging) *VirtualGatewaySpecLoggingAccessLog { +// An AWS Certificate Manager (ACM) certificate. +func (o VirtualGatewaySpecListenerTlsCertificatePtrOutput) Acm() VirtualGatewaySpecListenerTlsCertificateAcmPtrOutput { + return o.ApplyT(func(v *VirtualGatewaySpecListenerTlsCertificate) *VirtualGatewaySpecListenerTlsCertificateAcm { if v == nil { return nil } - return v.AccessLog - }).(VirtualGatewaySpecLoggingAccessLogPtrOutput) + return v.Acm + }).(VirtualGatewaySpecListenerTlsCertificateAcmPtrOutput) } -type VirtualGatewaySpecLoggingAccessLog struct { - // File object to send virtual gateway access logs to. - File *VirtualGatewaySpecLoggingAccessLogFile `pulumi:"file"` +// Local file certificate. +func (o VirtualGatewaySpecListenerTlsCertificatePtrOutput) File() VirtualGatewaySpecListenerTlsCertificateFilePtrOutput { + return o.ApplyT(func(v *VirtualGatewaySpecListenerTlsCertificate) *VirtualGatewaySpecListenerTlsCertificateFile { + if v == nil { + return nil + } + return v.File + }).(VirtualGatewaySpecListenerTlsCertificateFilePtrOutput) } -// VirtualGatewaySpecLoggingAccessLogInput is an input type that accepts VirtualGatewaySpecLoggingAccessLogArgs and VirtualGatewaySpecLoggingAccessLogOutput values. -// You can construct a concrete instance of `VirtualGatewaySpecLoggingAccessLogInput` via: +// A [Secret Discovery Service](https://www.envoyproxy.io/docs/envoy/latest/configuration/security/secret#secret-discovery-service-sds) certificate. +func (o VirtualGatewaySpecListenerTlsCertificatePtrOutput) Sds() VirtualGatewaySpecListenerTlsCertificateSdsPtrOutput { + return o.ApplyT(func(v *VirtualGatewaySpecListenerTlsCertificate) *VirtualGatewaySpecListenerTlsCertificateSds { + if v == nil { + return nil + } + return v.Sds + }).(VirtualGatewaySpecListenerTlsCertificateSdsPtrOutput) +} + +type VirtualGatewaySpecListenerTlsCertificateAcm struct { + // ARN for the certificate. + CertificateArn string `pulumi:"certificateArn"` +} + +// VirtualGatewaySpecListenerTlsCertificateAcmInput is an input type that accepts VirtualGatewaySpecListenerTlsCertificateAcmArgs and VirtualGatewaySpecListenerTlsCertificateAcmOutput values. +// You can construct a concrete instance of `VirtualGatewaySpecListenerTlsCertificateAcmInput` via: // -// VirtualGatewaySpecLoggingAccessLogArgs{...} -type VirtualGatewaySpecLoggingAccessLogInput interface { +// VirtualGatewaySpecListenerTlsCertificateAcmArgs{...} +type VirtualGatewaySpecListenerTlsCertificateAcmInput interface { pulumi.Input - ToVirtualGatewaySpecLoggingAccessLogOutput() VirtualGatewaySpecLoggingAccessLogOutput - ToVirtualGatewaySpecLoggingAccessLogOutputWithContext(context.Context) VirtualGatewaySpecLoggingAccessLogOutput + ToVirtualGatewaySpecListenerTlsCertificateAcmOutput() VirtualGatewaySpecListenerTlsCertificateAcmOutput + ToVirtualGatewaySpecListenerTlsCertificateAcmOutputWithContext(context.Context) VirtualGatewaySpecListenerTlsCertificateAcmOutput } -type VirtualGatewaySpecLoggingAccessLogArgs struct { - // File object to send virtual gateway access logs to. - File VirtualGatewaySpecLoggingAccessLogFilePtrInput `pulumi:"file"` +type VirtualGatewaySpecListenerTlsCertificateAcmArgs struct { + // ARN for the certificate. + CertificateArn pulumi.StringInput `pulumi:"certificateArn"` } -func (VirtualGatewaySpecLoggingAccessLogArgs) ElementType() reflect.Type { - return reflect.TypeOf((*VirtualGatewaySpecLoggingAccessLog)(nil)).Elem() +func (VirtualGatewaySpecListenerTlsCertificateAcmArgs) ElementType() reflect.Type { + return reflect.TypeOf((*VirtualGatewaySpecListenerTlsCertificateAcm)(nil)).Elem() } -func (i VirtualGatewaySpecLoggingAccessLogArgs) ToVirtualGatewaySpecLoggingAccessLogOutput() VirtualGatewaySpecLoggingAccessLogOutput { - return i.ToVirtualGatewaySpecLoggingAccessLogOutputWithContext(context.Background()) +func (i VirtualGatewaySpecListenerTlsCertificateAcmArgs) ToVirtualGatewaySpecListenerTlsCertificateAcmOutput() VirtualGatewaySpecListenerTlsCertificateAcmOutput { + return i.ToVirtualGatewaySpecListenerTlsCertificateAcmOutputWithContext(context.Background()) } -func (i VirtualGatewaySpecLoggingAccessLogArgs) ToVirtualGatewaySpecLoggingAccessLogOutputWithContext(ctx context.Context) VirtualGatewaySpecLoggingAccessLogOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualGatewaySpecLoggingAccessLogOutput) +func (i VirtualGatewaySpecListenerTlsCertificateAcmArgs) ToVirtualGatewaySpecListenerTlsCertificateAcmOutputWithContext(ctx context.Context) VirtualGatewaySpecListenerTlsCertificateAcmOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualGatewaySpecListenerTlsCertificateAcmOutput) } -func (i VirtualGatewaySpecLoggingAccessLogArgs) ToVirtualGatewaySpecLoggingAccessLogPtrOutput() VirtualGatewaySpecLoggingAccessLogPtrOutput { - return i.ToVirtualGatewaySpecLoggingAccessLogPtrOutputWithContext(context.Background()) +func (i VirtualGatewaySpecListenerTlsCertificateAcmArgs) ToVirtualGatewaySpecListenerTlsCertificateAcmPtrOutput() VirtualGatewaySpecListenerTlsCertificateAcmPtrOutput { + return i.ToVirtualGatewaySpecListenerTlsCertificateAcmPtrOutputWithContext(context.Background()) } -func (i VirtualGatewaySpecLoggingAccessLogArgs) ToVirtualGatewaySpecLoggingAccessLogPtrOutputWithContext(ctx context.Context) VirtualGatewaySpecLoggingAccessLogPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualGatewaySpecLoggingAccessLogOutput).ToVirtualGatewaySpecLoggingAccessLogPtrOutputWithContext(ctx) +func (i VirtualGatewaySpecListenerTlsCertificateAcmArgs) ToVirtualGatewaySpecListenerTlsCertificateAcmPtrOutputWithContext(ctx context.Context) VirtualGatewaySpecListenerTlsCertificateAcmPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualGatewaySpecListenerTlsCertificateAcmOutput).ToVirtualGatewaySpecListenerTlsCertificateAcmPtrOutputWithContext(ctx) } -// VirtualGatewaySpecLoggingAccessLogPtrInput is an input type that accepts VirtualGatewaySpecLoggingAccessLogArgs, VirtualGatewaySpecLoggingAccessLogPtr and VirtualGatewaySpecLoggingAccessLogPtrOutput values. -// You can construct a concrete instance of `VirtualGatewaySpecLoggingAccessLogPtrInput` via: +// VirtualGatewaySpecListenerTlsCertificateAcmPtrInput is an input type that accepts VirtualGatewaySpecListenerTlsCertificateAcmArgs, VirtualGatewaySpecListenerTlsCertificateAcmPtr and VirtualGatewaySpecListenerTlsCertificateAcmPtrOutput values. +// You can construct a concrete instance of `VirtualGatewaySpecListenerTlsCertificateAcmPtrInput` via: // -// VirtualGatewaySpecLoggingAccessLogArgs{...} +// VirtualGatewaySpecListenerTlsCertificateAcmArgs{...} // // or: // // nil -type VirtualGatewaySpecLoggingAccessLogPtrInput interface { +type VirtualGatewaySpecListenerTlsCertificateAcmPtrInput interface { pulumi.Input - ToVirtualGatewaySpecLoggingAccessLogPtrOutput() VirtualGatewaySpecLoggingAccessLogPtrOutput - ToVirtualGatewaySpecLoggingAccessLogPtrOutputWithContext(context.Context) VirtualGatewaySpecLoggingAccessLogPtrOutput + ToVirtualGatewaySpecListenerTlsCertificateAcmPtrOutput() VirtualGatewaySpecListenerTlsCertificateAcmPtrOutput + ToVirtualGatewaySpecListenerTlsCertificateAcmPtrOutputWithContext(context.Context) VirtualGatewaySpecListenerTlsCertificateAcmPtrOutput } -type virtualGatewaySpecLoggingAccessLogPtrType VirtualGatewaySpecLoggingAccessLogArgs +type virtualGatewaySpecListenerTlsCertificateAcmPtrType VirtualGatewaySpecListenerTlsCertificateAcmArgs -func VirtualGatewaySpecLoggingAccessLogPtr(v *VirtualGatewaySpecLoggingAccessLogArgs) VirtualGatewaySpecLoggingAccessLogPtrInput { - return (*virtualGatewaySpecLoggingAccessLogPtrType)(v) +func VirtualGatewaySpecListenerTlsCertificateAcmPtr(v *VirtualGatewaySpecListenerTlsCertificateAcmArgs) VirtualGatewaySpecListenerTlsCertificateAcmPtrInput { + return (*virtualGatewaySpecListenerTlsCertificateAcmPtrType)(v) } -func (*virtualGatewaySpecLoggingAccessLogPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**VirtualGatewaySpecLoggingAccessLog)(nil)).Elem() +func (*virtualGatewaySpecListenerTlsCertificateAcmPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**VirtualGatewaySpecListenerTlsCertificateAcm)(nil)).Elem() } -func (i *virtualGatewaySpecLoggingAccessLogPtrType) ToVirtualGatewaySpecLoggingAccessLogPtrOutput() VirtualGatewaySpecLoggingAccessLogPtrOutput { - return i.ToVirtualGatewaySpecLoggingAccessLogPtrOutputWithContext(context.Background()) +func (i *virtualGatewaySpecListenerTlsCertificateAcmPtrType) ToVirtualGatewaySpecListenerTlsCertificateAcmPtrOutput() VirtualGatewaySpecListenerTlsCertificateAcmPtrOutput { + return i.ToVirtualGatewaySpecListenerTlsCertificateAcmPtrOutputWithContext(context.Background()) } -func (i *virtualGatewaySpecLoggingAccessLogPtrType) ToVirtualGatewaySpecLoggingAccessLogPtrOutputWithContext(ctx context.Context) VirtualGatewaySpecLoggingAccessLogPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualGatewaySpecLoggingAccessLogPtrOutput) +func (i *virtualGatewaySpecListenerTlsCertificateAcmPtrType) ToVirtualGatewaySpecListenerTlsCertificateAcmPtrOutputWithContext(ctx context.Context) VirtualGatewaySpecListenerTlsCertificateAcmPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualGatewaySpecListenerTlsCertificateAcmPtrOutput) } -type VirtualGatewaySpecLoggingAccessLogOutput struct{ *pulumi.OutputState } +type VirtualGatewaySpecListenerTlsCertificateAcmOutput struct{ *pulumi.OutputState } -func (VirtualGatewaySpecLoggingAccessLogOutput) ElementType() reflect.Type { - return reflect.TypeOf((*VirtualGatewaySpecLoggingAccessLog)(nil)).Elem() +func (VirtualGatewaySpecListenerTlsCertificateAcmOutput) ElementType() reflect.Type { + return reflect.TypeOf((*VirtualGatewaySpecListenerTlsCertificateAcm)(nil)).Elem() } -func (o VirtualGatewaySpecLoggingAccessLogOutput) ToVirtualGatewaySpecLoggingAccessLogOutput() VirtualGatewaySpecLoggingAccessLogOutput { +func (o VirtualGatewaySpecListenerTlsCertificateAcmOutput) ToVirtualGatewaySpecListenerTlsCertificateAcmOutput() VirtualGatewaySpecListenerTlsCertificateAcmOutput { return o } -func (o VirtualGatewaySpecLoggingAccessLogOutput) ToVirtualGatewaySpecLoggingAccessLogOutputWithContext(ctx context.Context) VirtualGatewaySpecLoggingAccessLogOutput { +func (o VirtualGatewaySpecListenerTlsCertificateAcmOutput) ToVirtualGatewaySpecListenerTlsCertificateAcmOutputWithContext(ctx context.Context) VirtualGatewaySpecListenerTlsCertificateAcmOutput { return o } -func (o VirtualGatewaySpecLoggingAccessLogOutput) ToVirtualGatewaySpecLoggingAccessLogPtrOutput() VirtualGatewaySpecLoggingAccessLogPtrOutput { - return o.ToVirtualGatewaySpecLoggingAccessLogPtrOutputWithContext(context.Background()) +func (o VirtualGatewaySpecListenerTlsCertificateAcmOutput) ToVirtualGatewaySpecListenerTlsCertificateAcmPtrOutput() VirtualGatewaySpecListenerTlsCertificateAcmPtrOutput { + return o.ToVirtualGatewaySpecListenerTlsCertificateAcmPtrOutputWithContext(context.Background()) } -func (o VirtualGatewaySpecLoggingAccessLogOutput) ToVirtualGatewaySpecLoggingAccessLogPtrOutputWithContext(ctx context.Context) VirtualGatewaySpecLoggingAccessLogPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v VirtualGatewaySpecLoggingAccessLog) *VirtualGatewaySpecLoggingAccessLog { +func (o VirtualGatewaySpecListenerTlsCertificateAcmOutput) ToVirtualGatewaySpecListenerTlsCertificateAcmPtrOutputWithContext(ctx context.Context) VirtualGatewaySpecListenerTlsCertificateAcmPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v VirtualGatewaySpecListenerTlsCertificateAcm) *VirtualGatewaySpecListenerTlsCertificateAcm { return &v - }).(VirtualGatewaySpecLoggingAccessLogPtrOutput) + }).(VirtualGatewaySpecListenerTlsCertificateAcmPtrOutput) } -// File object to send virtual gateway access logs to. -func (o VirtualGatewaySpecLoggingAccessLogOutput) File() VirtualGatewaySpecLoggingAccessLogFilePtrOutput { - return o.ApplyT(func(v VirtualGatewaySpecLoggingAccessLog) *VirtualGatewaySpecLoggingAccessLogFile { return v.File }).(VirtualGatewaySpecLoggingAccessLogFilePtrOutput) +// ARN for the certificate. +func (o VirtualGatewaySpecListenerTlsCertificateAcmOutput) CertificateArn() pulumi.StringOutput { + return o.ApplyT(func(v VirtualGatewaySpecListenerTlsCertificateAcm) string { return v.CertificateArn }).(pulumi.StringOutput) } -type VirtualGatewaySpecLoggingAccessLogPtrOutput struct{ *pulumi.OutputState } +type VirtualGatewaySpecListenerTlsCertificateAcmPtrOutput struct{ *pulumi.OutputState } -func (VirtualGatewaySpecLoggingAccessLogPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**VirtualGatewaySpecLoggingAccessLog)(nil)).Elem() +func (VirtualGatewaySpecListenerTlsCertificateAcmPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**VirtualGatewaySpecListenerTlsCertificateAcm)(nil)).Elem() } -func (o VirtualGatewaySpecLoggingAccessLogPtrOutput) ToVirtualGatewaySpecLoggingAccessLogPtrOutput() VirtualGatewaySpecLoggingAccessLogPtrOutput { +func (o VirtualGatewaySpecListenerTlsCertificateAcmPtrOutput) ToVirtualGatewaySpecListenerTlsCertificateAcmPtrOutput() VirtualGatewaySpecListenerTlsCertificateAcmPtrOutput { return o } -func (o VirtualGatewaySpecLoggingAccessLogPtrOutput) ToVirtualGatewaySpecLoggingAccessLogPtrOutputWithContext(ctx context.Context) VirtualGatewaySpecLoggingAccessLogPtrOutput { +func (o VirtualGatewaySpecListenerTlsCertificateAcmPtrOutput) ToVirtualGatewaySpecListenerTlsCertificateAcmPtrOutputWithContext(ctx context.Context) VirtualGatewaySpecListenerTlsCertificateAcmPtrOutput { return o } -func (o VirtualGatewaySpecLoggingAccessLogPtrOutput) Elem() VirtualGatewaySpecLoggingAccessLogOutput { - return o.ApplyT(func(v *VirtualGatewaySpecLoggingAccessLog) VirtualGatewaySpecLoggingAccessLog { +func (o VirtualGatewaySpecListenerTlsCertificateAcmPtrOutput) Elem() VirtualGatewaySpecListenerTlsCertificateAcmOutput { + return o.ApplyT(func(v *VirtualGatewaySpecListenerTlsCertificateAcm) VirtualGatewaySpecListenerTlsCertificateAcm { if v != nil { return *v } - var ret VirtualGatewaySpecLoggingAccessLog + var ret VirtualGatewaySpecListenerTlsCertificateAcm return ret - }).(VirtualGatewaySpecLoggingAccessLogOutput) + }).(VirtualGatewaySpecListenerTlsCertificateAcmOutput) } -// File object to send virtual gateway access logs to. -func (o VirtualGatewaySpecLoggingAccessLogPtrOutput) File() VirtualGatewaySpecLoggingAccessLogFilePtrOutput { - return o.ApplyT(func(v *VirtualGatewaySpecLoggingAccessLog) *VirtualGatewaySpecLoggingAccessLogFile { +// ARN for the certificate. +func (o VirtualGatewaySpecListenerTlsCertificateAcmPtrOutput) CertificateArn() pulumi.StringPtrOutput { + return o.ApplyT(func(v *VirtualGatewaySpecListenerTlsCertificateAcm) *string { if v == nil { return nil } - return v.File - }).(VirtualGatewaySpecLoggingAccessLogFilePtrOutput) + return &v.CertificateArn + }).(pulumi.StringPtrOutput) } -type VirtualGatewaySpecLoggingAccessLogFile struct { - // The specified format for the logs. - Format *VirtualGatewaySpecLoggingAccessLogFileFormat `pulumi:"format"` - // File path to write access logs to. You can use `/dev/stdout` to send access logs to standard out. Must be between 1 and 255 characters in length. - Path string `pulumi:"path"` +type VirtualGatewaySpecListenerTlsCertificateFile struct { + // Certificate trust chain for a certificate stored on the file system of the mesh endpoint that the proxy is running on. Must be between 1 and 255 characters in length. + CertificateChain string `pulumi:"certificateChain"` + // Private key for a certificate stored on the file system of the mesh endpoint that the proxy is running on. Must be between 1 and 255 characters in length. + PrivateKey string `pulumi:"privateKey"` } -// VirtualGatewaySpecLoggingAccessLogFileInput is an input type that accepts VirtualGatewaySpecLoggingAccessLogFileArgs and VirtualGatewaySpecLoggingAccessLogFileOutput values. -// You can construct a concrete instance of `VirtualGatewaySpecLoggingAccessLogFileInput` via: +// VirtualGatewaySpecListenerTlsCertificateFileInput is an input type that accepts VirtualGatewaySpecListenerTlsCertificateFileArgs and VirtualGatewaySpecListenerTlsCertificateFileOutput values. +// You can construct a concrete instance of `VirtualGatewaySpecListenerTlsCertificateFileInput` via: // -// VirtualGatewaySpecLoggingAccessLogFileArgs{...} -type VirtualGatewaySpecLoggingAccessLogFileInput interface { +// VirtualGatewaySpecListenerTlsCertificateFileArgs{...} +type VirtualGatewaySpecListenerTlsCertificateFileInput interface { pulumi.Input - ToVirtualGatewaySpecLoggingAccessLogFileOutput() VirtualGatewaySpecLoggingAccessLogFileOutput - ToVirtualGatewaySpecLoggingAccessLogFileOutputWithContext(context.Context) VirtualGatewaySpecLoggingAccessLogFileOutput + ToVirtualGatewaySpecListenerTlsCertificateFileOutput() VirtualGatewaySpecListenerTlsCertificateFileOutput + ToVirtualGatewaySpecListenerTlsCertificateFileOutputWithContext(context.Context) VirtualGatewaySpecListenerTlsCertificateFileOutput } -type VirtualGatewaySpecLoggingAccessLogFileArgs struct { - // The specified format for the logs. - Format VirtualGatewaySpecLoggingAccessLogFileFormatPtrInput `pulumi:"format"` - // File path to write access logs to. You can use `/dev/stdout` to send access logs to standard out. Must be between 1 and 255 characters in length. - Path pulumi.StringInput `pulumi:"path"` +type VirtualGatewaySpecListenerTlsCertificateFileArgs struct { + // Certificate trust chain for a certificate stored on the file system of the mesh endpoint that the proxy is running on. Must be between 1 and 255 characters in length. + CertificateChain pulumi.StringInput `pulumi:"certificateChain"` + // Private key for a certificate stored on the file system of the mesh endpoint that the proxy is running on. Must be between 1 and 255 characters in length. + PrivateKey pulumi.StringInput `pulumi:"privateKey"` } -func (VirtualGatewaySpecLoggingAccessLogFileArgs) ElementType() reflect.Type { - return reflect.TypeOf((*VirtualGatewaySpecLoggingAccessLogFile)(nil)).Elem() +func (VirtualGatewaySpecListenerTlsCertificateFileArgs) ElementType() reflect.Type { + return reflect.TypeOf((*VirtualGatewaySpecListenerTlsCertificateFile)(nil)).Elem() } -func (i VirtualGatewaySpecLoggingAccessLogFileArgs) ToVirtualGatewaySpecLoggingAccessLogFileOutput() VirtualGatewaySpecLoggingAccessLogFileOutput { - return i.ToVirtualGatewaySpecLoggingAccessLogFileOutputWithContext(context.Background()) +func (i VirtualGatewaySpecListenerTlsCertificateFileArgs) ToVirtualGatewaySpecListenerTlsCertificateFileOutput() VirtualGatewaySpecListenerTlsCertificateFileOutput { + return i.ToVirtualGatewaySpecListenerTlsCertificateFileOutputWithContext(context.Background()) } -func (i VirtualGatewaySpecLoggingAccessLogFileArgs) ToVirtualGatewaySpecLoggingAccessLogFileOutputWithContext(ctx context.Context) VirtualGatewaySpecLoggingAccessLogFileOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualGatewaySpecLoggingAccessLogFileOutput) +func (i VirtualGatewaySpecListenerTlsCertificateFileArgs) ToVirtualGatewaySpecListenerTlsCertificateFileOutputWithContext(ctx context.Context) VirtualGatewaySpecListenerTlsCertificateFileOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualGatewaySpecListenerTlsCertificateFileOutput) } -func (i VirtualGatewaySpecLoggingAccessLogFileArgs) ToVirtualGatewaySpecLoggingAccessLogFilePtrOutput() VirtualGatewaySpecLoggingAccessLogFilePtrOutput { - return i.ToVirtualGatewaySpecLoggingAccessLogFilePtrOutputWithContext(context.Background()) +func (i VirtualGatewaySpecListenerTlsCertificateFileArgs) ToVirtualGatewaySpecListenerTlsCertificateFilePtrOutput() VirtualGatewaySpecListenerTlsCertificateFilePtrOutput { + return i.ToVirtualGatewaySpecListenerTlsCertificateFilePtrOutputWithContext(context.Background()) } -func (i VirtualGatewaySpecLoggingAccessLogFileArgs) ToVirtualGatewaySpecLoggingAccessLogFilePtrOutputWithContext(ctx context.Context) VirtualGatewaySpecLoggingAccessLogFilePtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualGatewaySpecLoggingAccessLogFileOutput).ToVirtualGatewaySpecLoggingAccessLogFilePtrOutputWithContext(ctx) +func (i VirtualGatewaySpecListenerTlsCertificateFileArgs) ToVirtualGatewaySpecListenerTlsCertificateFilePtrOutputWithContext(ctx context.Context) VirtualGatewaySpecListenerTlsCertificateFilePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualGatewaySpecListenerTlsCertificateFileOutput).ToVirtualGatewaySpecListenerTlsCertificateFilePtrOutputWithContext(ctx) } -// VirtualGatewaySpecLoggingAccessLogFilePtrInput is an input type that accepts VirtualGatewaySpecLoggingAccessLogFileArgs, VirtualGatewaySpecLoggingAccessLogFilePtr and VirtualGatewaySpecLoggingAccessLogFilePtrOutput values. -// You can construct a concrete instance of `VirtualGatewaySpecLoggingAccessLogFilePtrInput` via: +// VirtualGatewaySpecListenerTlsCertificateFilePtrInput is an input type that accepts VirtualGatewaySpecListenerTlsCertificateFileArgs, VirtualGatewaySpecListenerTlsCertificateFilePtr and VirtualGatewaySpecListenerTlsCertificateFilePtrOutput values. +// You can construct a concrete instance of `VirtualGatewaySpecListenerTlsCertificateFilePtrInput` via: // -// VirtualGatewaySpecLoggingAccessLogFileArgs{...} +// VirtualGatewaySpecListenerTlsCertificateFileArgs{...} // // or: // // nil -type VirtualGatewaySpecLoggingAccessLogFilePtrInput interface { +type VirtualGatewaySpecListenerTlsCertificateFilePtrInput interface { pulumi.Input - ToVirtualGatewaySpecLoggingAccessLogFilePtrOutput() VirtualGatewaySpecLoggingAccessLogFilePtrOutput - ToVirtualGatewaySpecLoggingAccessLogFilePtrOutputWithContext(context.Context) VirtualGatewaySpecLoggingAccessLogFilePtrOutput + ToVirtualGatewaySpecListenerTlsCertificateFilePtrOutput() VirtualGatewaySpecListenerTlsCertificateFilePtrOutput + ToVirtualGatewaySpecListenerTlsCertificateFilePtrOutputWithContext(context.Context) VirtualGatewaySpecListenerTlsCertificateFilePtrOutput } -type virtualGatewaySpecLoggingAccessLogFilePtrType VirtualGatewaySpecLoggingAccessLogFileArgs +type virtualGatewaySpecListenerTlsCertificateFilePtrType VirtualGatewaySpecListenerTlsCertificateFileArgs -func VirtualGatewaySpecLoggingAccessLogFilePtr(v *VirtualGatewaySpecLoggingAccessLogFileArgs) VirtualGatewaySpecLoggingAccessLogFilePtrInput { - return (*virtualGatewaySpecLoggingAccessLogFilePtrType)(v) +func VirtualGatewaySpecListenerTlsCertificateFilePtr(v *VirtualGatewaySpecListenerTlsCertificateFileArgs) VirtualGatewaySpecListenerTlsCertificateFilePtrInput { + return (*virtualGatewaySpecListenerTlsCertificateFilePtrType)(v) } -func (*virtualGatewaySpecLoggingAccessLogFilePtrType) ElementType() reflect.Type { - return reflect.TypeOf((**VirtualGatewaySpecLoggingAccessLogFile)(nil)).Elem() +func (*virtualGatewaySpecListenerTlsCertificateFilePtrType) ElementType() reflect.Type { + return reflect.TypeOf((**VirtualGatewaySpecListenerTlsCertificateFile)(nil)).Elem() } -func (i *virtualGatewaySpecLoggingAccessLogFilePtrType) ToVirtualGatewaySpecLoggingAccessLogFilePtrOutput() VirtualGatewaySpecLoggingAccessLogFilePtrOutput { - return i.ToVirtualGatewaySpecLoggingAccessLogFilePtrOutputWithContext(context.Background()) +func (i *virtualGatewaySpecListenerTlsCertificateFilePtrType) ToVirtualGatewaySpecListenerTlsCertificateFilePtrOutput() VirtualGatewaySpecListenerTlsCertificateFilePtrOutput { + return i.ToVirtualGatewaySpecListenerTlsCertificateFilePtrOutputWithContext(context.Background()) } -func (i *virtualGatewaySpecLoggingAccessLogFilePtrType) ToVirtualGatewaySpecLoggingAccessLogFilePtrOutputWithContext(ctx context.Context) VirtualGatewaySpecLoggingAccessLogFilePtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualGatewaySpecLoggingAccessLogFilePtrOutput) +func (i *virtualGatewaySpecListenerTlsCertificateFilePtrType) ToVirtualGatewaySpecListenerTlsCertificateFilePtrOutputWithContext(ctx context.Context) VirtualGatewaySpecListenerTlsCertificateFilePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualGatewaySpecListenerTlsCertificateFilePtrOutput) } -type VirtualGatewaySpecLoggingAccessLogFileOutput struct{ *pulumi.OutputState } +type VirtualGatewaySpecListenerTlsCertificateFileOutput struct{ *pulumi.OutputState } -func (VirtualGatewaySpecLoggingAccessLogFileOutput) ElementType() reflect.Type { - return reflect.TypeOf((*VirtualGatewaySpecLoggingAccessLogFile)(nil)).Elem() +func (VirtualGatewaySpecListenerTlsCertificateFileOutput) ElementType() reflect.Type { + return reflect.TypeOf((*VirtualGatewaySpecListenerTlsCertificateFile)(nil)).Elem() } -func (o VirtualGatewaySpecLoggingAccessLogFileOutput) ToVirtualGatewaySpecLoggingAccessLogFileOutput() VirtualGatewaySpecLoggingAccessLogFileOutput { +func (o VirtualGatewaySpecListenerTlsCertificateFileOutput) ToVirtualGatewaySpecListenerTlsCertificateFileOutput() VirtualGatewaySpecListenerTlsCertificateFileOutput { return o } -func (o VirtualGatewaySpecLoggingAccessLogFileOutput) ToVirtualGatewaySpecLoggingAccessLogFileOutputWithContext(ctx context.Context) VirtualGatewaySpecLoggingAccessLogFileOutput { +func (o VirtualGatewaySpecListenerTlsCertificateFileOutput) ToVirtualGatewaySpecListenerTlsCertificateFileOutputWithContext(ctx context.Context) VirtualGatewaySpecListenerTlsCertificateFileOutput { return o } -func (o VirtualGatewaySpecLoggingAccessLogFileOutput) ToVirtualGatewaySpecLoggingAccessLogFilePtrOutput() VirtualGatewaySpecLoggingAccessLogFilePtrOutput { - return o.ToVirtualGatewaySpecLoggingAccessLogFilePtrOutputWithContext(context.Background()) +func (o VirtualGatewaySpecListenerTlsCertificateFileOutput) ToVirtualGatewaySpecListenerTlsCertificateFilePtrOutput() VirtualGatewaySpecListenerTlsCertificateFilePtrOutput { + return o.ToVirtualGatewaySpecListenerTlsCertificateFilePtrOutputWithContext(context.Background()) } -func (o VirtualGatewaySpecLoggingAccessLogFileOutput) ToVirtualGatewaySpecLoggingAccessLogFilePtrOutputWithContext(ctx context.Context) VirtualGatewaySpecLoggingAccessLogFilePtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v VirtualGatewaySpecLoggingAccessLogFile) *VirtualGatewaySpecLoggingAccessLogFile { +func (o VirtualGatewaySpecListenerTlsCertificateFileOutput) ToVirtualGatewaySpecListenerTlsCertificateFilePtrOutputWithContext(ctx context.Context) VirtualGatewaySpecListenerTlsCertificateFilePtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v VirtualGatewaySpecListenerTlsCertificateFile) *VirtualGatewaySpecListenerTlsCertificateFile { return &v - }).(VirtualGatewaySpecLoggingAccessLogFilePtrOutput) + }).(VirtualGatewaySpecListenerTlsCertificateFilePtrOutput) } -// The specified format for the logs. -func (o VirtualGatewaySpecLoggingAccessLogFileOutput) Format() VirtualGatewaySpecLoggingAccessLogFileFormatPtrOutput { - return o.ApplyT(func(v VirtualGatewaySpecLoggingAccessLogFile) *VirtualGatewaySpecLoggingAccessLogFileFormat { - return v.Format - }).(VirtualGatewaySpecLoggingAccessLogFileFormatPtrOutput) +// Certificate trust chain for a certificate stored on the file system of the mesh endpoint that the proxy is running on. Must be between 1 and 255 characters in length. +func (o VirtualGatewaySpecListenerTlsCertificateFileOutput) CertificateChain() pulumi.StringOutput { + return o.ApplyT(func(v VirtualGatewaySpecListenerTlsCertificateFile) string { return v.CertificateChain }).(pulumi.StringOutput) } -// File path to write access logs to. You can use `/dev/stdout` to send access logs to standard out. Must be between 1 and 255 characters in length. -func (o VirtualGatewaySpecLoggingAccessLogFileOutput) Path() pulumi.StringOutput { - return o.ApplyT(func(v VirtualGatewaySpecLoggingAccessLogFile) string { return v.Path }).(pulumi.StringOutput) +// Private key for a certificate stored on the file system of the mesh endpoint that the proxy is running on. Must be between 1 and 255 characters in length. +func (o VirtualGatewaySpecListenerTlsCertificateFileOutput) PrivateKey() pulumi.StringOutput { + return o.ApplyT(func(v VirtualGatewaySpecListenerTlsCertificateFile) string { return v.PrivateKey }).(pulumi.StringOutput) } -type VirtualGatewaySpecLoggingAccessLogFilePtrOutput struct{ *pulumi.OutputState } +type VirtualGatewaySpecListenerTlsCertificateFilePtrOutput struct{ *pulumi.OutputState } -func (VirtualGatewaySpecLoggingAccessLogFilePtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**VirtualGatewaySpecLoggingAccessLogFile)(nil)).Elem() +func (VirtualGatewaySpecListenerTlsCertificateFilePtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**VirtualGatewaySpecListenerTlsCertificateFile)(nil)).Elem() } -func (o VirtualGatewaySpecLoggingAccessLogFilePtrOutput) ToVirtualGatewaySpecLoggingAccessLogFilePtrOutput() VirtualGatewaySpecLoggingAccessLogFilePtrOutput { +func (o VirtualGatewaySpecListenerTlsCertificateFilePtrOutput) ToVirtualGatewaySpecListenerTlsCertificateFilePtrOutput() VirtualGatewaySpecListenerTlsCertificateFilePtrOutput { return o } -func (o VirtualGatewaySpecLoggingAccessLogFilePtrOutput) ToVirtualGatewaySpecLoggingAccessLogFilePtrOutputWithContext(ctx context.Context) VirtualGatewaySpecLoggingAccessLogFilePtrOutput { +func (o VirtualGatewaySpecListenerTlsCertificateFilePtrOutput) ToVirtualGatewaySpecListenerTlsCertificateFilePtrOutputWithContext(ctx context.Context) VirtualGatewaySpecListenerTlsCertificateFilePtrOutput { return o } -func (o VirtualGatewaySpecLoggingAccessLogFilePtrOutput) Elem() VirtualGatewaySpecLoggingAccessLogFileOutput { - return o.ApplyT(func(v *VirtualGatewaySpecLoggingAccessLogFile) VirtualGatewaySpecLoggingAccessLogFile { +func (o VirtualGatewaySpecListenerTlsCertificateFilePtrOutput) Elem() VirtualGatewaySpecListenerTlsCertificateFileOutput { + return o.ApplyT(func(v *VirtualGatewaySpecListenerTlsCertificateFile) VirtualGatewaySpecListenerTlsCertificateFile { if v != nil { return *v } - var ret VirtualGatewaySpecLoggingAccessLogFile + var ret VirtualGatewaySpecListenerTlsCertificateFile return ret - }).(VirtualGatewaySpecLoggingAccessLogFileOutput) + }).(VirtualGatewaySpecListenerTlsCertificateFileOutput) } -// The specified format for the logs. -func (o VirtualGatewaySpecLoggingAccessLogFilePtrOutput) Format() VirtualGatewaySpecLoggingAccessLogFileFormatPtrOutput { - return o.ApplyT(func(v *VirtualGatewaySpecLoggingAccessLogFile) *VirtualGatewaySpecLoggingAccessLogFileFormat { +// Certificate trust chain for a certificate stored on the file system of the mesh endpoint that the proxy is running on. Must be between 1 and 255 characters in length. +func (o VirtualGatewaySpecListenerTlsCertificateFilePtrOutput) CertificateChain() pulumi.StringPtrOutput { + return o.ApplyT(func(v *VirtualGatewaySpecListenerTlsCertificateFile) *string { if v == nil { return nil } - return v.Format - }).(VirtualGatewaySpecLoggingAccessLogFileFormatPtrOutput) + return &v.CertificateChain + }).(pulumi.StringPtrOutput) } -// File path to write access logs to. You can use `/dev/stdout` to send access logs to standard out. Must be between 1 and 255 characters in length. -func (o VirtualGatewaySpecLoggingAccessLogFilePtrOutput) Path() pulumi.StringPtrOutput { - return o.ApplyT(func(v *VirtualGatewaySpecLoggingAccessLogFile) *string { +// Private key for a certificate stored on the file system of the mesh endpoint that the proxy is running on. Must be between 1 and 255 characters in length. +func (o VirtualGatewaySpecListenerTlsCertificateFilePtrOutput) PrivateKey() pulumi.StringPtrOutput { + return o.ApplyT(func(v *VirtualGatewaySpecListenerTlsCertificateFile) *string { if v == nil { return nil } - return &v.Path + return &v.PrivateKey }).(pulumi.StringPtrOutput) } -type VirtualGatewaySpecLoggingAccessLogFileFormat struct { - // The logging format for JSON. - Jsons []VirtualGatewaySpecLoggingAccessLogFileFormatJson `pulumi:"jsons"` - // The logging format for text. Must be between 1 and 1000 characters in length. - Text *string `pulumi:"text"` +type VirtualGatewaySpecListenerTlsCertificateSds struct { + // Name of the secret for a virtual gateway's Transport Layer Security (TLS) Secret Discovery Service validation context trust. + SecretName string `pulumi:"secretName"` } -// VirtualGatewaySpecLoggingAccessLogFileFormatInput is an input type that accepts VirtualGatewaySpecLoggingAccessLogFileFormatArgs and VirtualGatewaySpecLoggingAccessLogFileFormatOutput values. -// You can construct a concrete instance of `VirtualGatewaySpecLoggingAccessLogFileFormatInput` via: +// VirtualGatewaySpecListenerTlsCertificateSdsInput is an input type that accepts VirtualGatewaySpecListenerTlsCertificateSdsArgs and VirtualGatewaySpecListenerTlsCertificateSdsOutput values. +// You can construct a concrete instance of `VirtualGatewaySpecListenerTlsCertificateSdsInput` via: // -// VirtualGatewaySpecLoggingAccessLogFileFormatArgs{...} -type VirtualGatewaySpecLoggingAccessLogFileFormatInput interface { +// VirtualGatewaySpecListenerTlsCertificateSdsArgs{...} +type VirtualGatewaySpecListenerTlsCertificateSdsInput interface { pulumi.Input - ToVirtualGatewaySpecLoggingAccessLogFileFormatOutput() VirtualGatewaySpecLoggingAccessLogFileFormatOutput - ToVirtualGatewaySpecLoggingAccessLogFileFormatOutputWithContext(context.Context) VirtualGatewaySpecLoggingAccessLogFileFormatOutput + ToVirtualGatewaySpecListenerTlsCertificateSdsOutput() VirtualGatewaySpecListenerTlsCertificateSdsOutput + ToVirtualGatewaySpecListenerTlsCertificateSdsOutputWithContext(context.Context) VirtualGatewaySpecListenerTlsCertificateSdsOutput } -type VirtualGatewaySpecLoggingAccessLogFileFormatArgs struct { - // The logging format for JSON. - Jsons VirtualGatewaySpecLoggingAccessLogFileFormatJsonArrayInput `pulumi:"jsons"` - // The logging format for text. Must be between 1 and 1000 characters in length. - Text pulumi.StringPtrInput `pulumi:"text"` +type VirtualGatewaySpecListenerTlsCertificateSdsArgs struct { + // Name of the secret for a virtual gateway's Transport Layer Security (TLS) Secret Discovery Service validation context trust. + SecretName pulumi.StringInput `pulumi:"secretName"` } -func (VirtualGatewaySpecLoggingAccessLogFileFormatArgs) ElementType() reflect.Type { - return reflect.TypeOf((*VirtualGatewaySpecLoggingAccessLogFileFormat)(nil)).Elem() +func (VirtualGatewaySpecListenerTlsCertificateSdsArgs) ElementType() reflect.Type { + return reflect.TypeOf((*VirtualGatewaySpecListenerTlsCertificateSds)(nil)).Elem() } -func (i VirtualGatewaySpecLoggingAccessLogFileFormatArgs) ToVirtualGatewaySpecLoggingAccessLogFileFormatOutput() VirtualGatewaySpecLoggingAccessLogFileFormatOutput { - return i.ToVirtualGatewaySpecLoggingAccessLogFileFormatOutputWithContext(context.Background()) +func (i VirtualGatewaySpecListenerTlsCertificateSdsArgs) ToVirtualGatewaySpecListenerTlsCertificateSdsOutput() VirtualGatewaySpecListenerTlsCertificateSdsOutput { + return i.ToVirtualGatewaySpecListenerTlsCertificateSdsOutputWithContext(context.Background()) } -func (i VirtualGatewaySpecLoggingAccessLogFileFormatArgs) ToVirtualGatewaySpecLoggingAccessLogFileFormatOutputWithContext(ctx context.Context) VirtualGatewaySpecLoggingAccessLogFileFormatOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualGatewaySpecLoggingAccessLogFileFormatOutput) +func (i VirtualGatewaySpecListenerTlsCertificateSdsArgs) ToVirtualGatewaySpecListenerTlsCertificateSdsOutputWithContext(ctx context.Context) VirtualGatewaySpecListenerTlsCertificateSdsOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualGatewaySpecListenerTlsCertificateSdsOutput) } -func (i VirtualGatewaySpecLoggingAccessLogFileFormatArgs) ToVirtualGatewaySpecLoggingAccessLogFileFormatPtrOutput() VirtualGatewaySpecLoggingAccessLogFileFormatPtrOutput { - return i.ToVirtualGatewaySpecLoggingAccessLogFileFormatPtrOutputWithContext(context.Background()) +func (i VirtualGatewaySpecListenerTlsCertificateSdsArgs) ToVirtualGatewaySpecListenerTlsCertificateSdsPtrOutput() VirtualGatewaySpecListenerTlsCertificateSdsPtrOutput { + return i.ToVirtualGatewaySpecListenerTlsCertificateSdsPtrOutputWithContext(context.Background()) } -func (i VirtualGatewaySpecLoggingAccessLogFileFormatArgs) ToVirtualGatewaySpecLoggingAccessLogFileFormatPtrOutputWithContext(ctx context.Context) VirtualGatewaySpecLoggingAccessLogFileFormatPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualGatewaySpecLoggingAccessLogFileFormatOutput).ToVirtualGatewaySpecLoggingAccessLogFileFormatPtrOutputWithContext(ctx) +func (i VirtualGatewaySpecListenerTlsCertificateSdsArgs) ToVirtualGatewaySpecListenerTlsCertificateSdsPtrOutputWithContext(ctx context.Context) VirtualGatewaySpecListenerTlsCertificateSdsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualGatewaySpecListenerTlsCertificateSdsOutput).ToVirtualGatewaySpecListenerTlsCertificateSdsPtrOutputWithContext(ctx) } -// VirtualGatewaySpecLoggingAccessLogFileFormatPtrInput is an input type that accepts VirtualGatewaySpecLoggingAccessLogFileFormatArgs, VirtualGatewaySpecLoggingAccessLogFileFormatPtr and VirtualGatewaySpecLoggingAccessLogFileFormatPtrOutput values. -// You can construct a concrete instance of `VirtualGatewaySpecLoggingAccessLogFileFormatPtrInput` via: +// VirtualGatewaySpecListenerTlsCertificateSdsPtrInput is an input type that accepts VirtualGatewaySpecListenerTlsCertificateSdsArgs, VirtualGatewaySpecListenerTlsCertificateSdsPtr and VirtualGatewaySpecListenerTlsCertificateSdsPtrOutput values. +// You can construct a concrete instance of `VirtualGatewaySpecListenerTlsCertificateSdsPtrInput` via: // -// VirtualGatewaySpecLoggingAccessLogFileFormatArgs{...} +// VirtualGatewaySpecListenerTlsCertificateSdsArgs{...} // // or: // // nil -type VirtualGatewaySpecLoggingAccessLogFileFormatPtrInput interface { +type VirtualGatewaySpecListenerTlsCertificateSdsPtrInput interface { pulumi.Input - ToVirtualGatewaySpecLoggingAccessLogFileFormatPtrOutput() VirtualGatewaySpecLoggingAccessLogFileFormatPtrOutput - ToVirtualGatewaySpecLoggingAccessLogFileFormatPtrOutputWithContext(context.Context) VirtualGatewaySpecLoggingAccessLogFileFormatPtrOutput + ToVirtualGatewaySpecListenerTlsCertificateSdsPtrOutput() VirtualGatewaySpecListenerTlsCertificateSdsPtrOutput + ToVirtualGatewaySpecListenerTlsCertificateSdsPtrOutputWithContext(context.Context) VirtualGatewaySpecListenerTlsCertificateSdsPtrOutput } -type virtualGatewaySpecLoggingAccessLogFileFormatPtrType VirtualGatewaySpecLoggingAccessLogFileFormatArgs +type virtualGatewaySpecListenerTlsCertificateSdsPtrType VirtualGatewaySpecListenerTlsCertificateSdsArgs -func VirtualGatewaySpecLoggingAccessLogFileFormatPtr(v *VirtualGatewaySpecLoggingAccessLogFileFormatArgs) VirtualGatewaySpecLoggingAccessLogFileFormatPtrInput { - return (*virtualGatewaySpecLoggingAccessLogFileFormatPtrType)(v) +func VirtualGatewaySpecListenerTlsCertificateSdsPtr(v *VirtualGatewaySpecListenerTlsCertificateSdsArgs) VirtualGatewaySpecListenerTlsCertificateSdsPtrInput { + return (*virtualGatewaySpecListenerTlsCertificateSdsPtrType)(v) } -func (*virtualGatewaySpecLoggingAccessLogFileFormatPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**VirtualGatewaySpecLoggingAccessLogFileFormat)(nil)).Elem() +func (*virtualGatewaySpecListenerTlsCertificateSdsPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**VirtualGatewaySpecListenerTlsCertificateSds)(nil)).Elem() } -func (i *virtualGatewaySpecLoggingAccessLogFileFormatPtrType) ToVirtualGatewaySpecLoggingAccessLogFileFormatPtrOutput() VirtualGatewaySpecLoggingAccessLogFileFormatPtrOutput { - return i.ToVirtualGatewaySpecLoggingAccessLogFileFormatPtrOutputWithContext(context.Background()) +func (i *virtualGatewaySpecListenerTlsCertificateSdsPtrType) ToVirtualGatewaySpecListenerTlsCertificateSdsPtrOutput() VirtualGatewaySpecListenerTlsCertificateSdsPtrOutput { + return i.ToVirtualGatewaySpecListenerTlsCertificateSdsPtrOutputWithContext(context.Background()) } -func (i *virtualGatewaySpecLoggingAccessLogFileFormatPtrType) ToVirtualGatewaySpecLoggingAccessLogFileFormatPtrOutputWithContext(ctx context.Context) VirtualGatewaySpecLoggingAccessLogFileFormatPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualGatewaySpecLoggingAccessLogFileFormatPtrOutput) +func (i *virtualGatewaySpecListenerTlsCertificateSdsPtrType) ToVirtualGatewaySpecListenerTlsCertificateSdsPtrOutputWithContext(ctx context.Context) VirtualGatewaySpecListenerTlsCertificateSdsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualGatewaySpecListenerTlsCertificateSdsPtrOutput) } -type VirtualGatewaySpecLoggingAccessLogFileFormatOutput struct{ *pulumi.OutputState } +type VirtualGatewaySpecListenerTlsCertificateSdsOutput struct{ *pulumi.OutputState } -func (VirtualGatewaySpecLoggingAccessLogFileFormatOutput) ElementType() reflect.Type { - return reflect.TypeOf((*VirtualGatewaySpecLoggingAccessLogFileFormat)(nil)).Elem() +func (VirtualGatewaySpecListenerTlsCertificateSdsOutput) ElementType() reflect.Type { + return reflect.TypeOf((*VirtualGatewaySpecListenerTlsCertificateSds)(nil)).Elem() } -func (o VirtualGatewaySpecLoggingAccessLogFileFormatOutput) ToVirtualGatewaySpecLoggingAccessLogFileFormatOutput() VirtualGatewaySpecLoggingAccessLogFileFormatOutput { +func (o VirtualGatewaySpecListenerTlsCertificateSdsOutput) ToVirtualGatewaySpecListenerTlsCertificateSdsOutput() VirtualGatewaySpecListenerTlsCertificateSdsOutput { return o } -func (o VirtualGatewaySpecLoggingAccessLogFileFormatOutput) ToVirtualGatewaySpecLoggingAccessLogFileFormatOutputWithContext(ctx context.Context) VirtualGatewaySpecLoggingAccessLogFileFormatOutput { +func (o VirtualGatewaySpecListenerTlsCertificateSdsOutput) ToVirtualGatewaySpecListenerTlsCertificateSdsOutputWithContext(ctx context.Context) VirtualGatewaySpecListenerTlsCertificateSdsOutput { return o } -func (o VirtualGatewaySpecLoggingAccessLogFileFormatOutput) ToVirtualGatewaySpecLoggingAccessLogFileFormatPtrOutput() VirtualGatewaySpecLoggingAccessLogFileFormatPtrOutput { - return o.ToVirtualGatewaySpecLoggingAccessLogFileFormatPtrOutputWithContext(context.Background()) +func (o VirtualGatewaySpecListenerTlsCertificateSdsOutput) ToVirtualGatewaySpecListenerTlsCertificateSdsPtrOutput() VirtualGatewaySpecListenerTlsCertificateSdsPtrOutput { + return o.ToVirtualGatewaySpecListenerTlsCertificateSdsPtrOutputWithContext(context.Background()) } -func (o VirtualGatewaySpecLoggingAccessLogFileFormatOutput) ToVirtualGatewaySpecLoggingAccessLogFileFormatPtrOutputWithContext(ctx context.Context) VirtualGatewaySpecLoggingAccessLogFileFormatPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v VirtualGatewaySpecLoggingAccessLogFileFormat) *VirtualGatewaySpecLoggingAccessLogFileFormat { +func (o VirtualGatewaySpecListenerTlsCertificateSdsOutput) ToVirtualGatewaySpecListenerTlsCertificateSdsPtrOutputWithContext(ctx context.Context) VirtualGatewaySpecListenerTlsCertificateSdsPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v VirtualGatewaySpecListenerTlsCertificateSds) *VirtualGatewaySpecListenerTlsCertificateSds { return &v - }).(VirtualGatewaySpecLoggingAccessLogFileFormatPtrOutput) -} - -// The logging format for JSON. -func (o VirtualGatewaySpecLoggingAccessLogFileFormatOutput) Jsons() VirtualGatewaySpecLoggingAccessLogFileFormatJsonArrayOutput { - return o.ApplyT(func(v VirtualGatewaySpecLoggingAccessLogFileFormat) []VirtualGatewaySpecLoggingAccessLogFileFormatJson { - return v.Jsons - }).(VirtualGatewaySpecLoggingAccessLogFileFormatJsonArrayOutput) + }).(VirtualGatewaySpecListenerTlsCertificateSdsPtrOutput) } -// The logging format for text. Must be between 1 and 1000 characters in length. -func (o VirtualGatewaySpecLoggingAccessLogFileFormatOutput) Text() pulumi.StringPtrOutput { - return o.ApplyT(func(v VirtualGatewaySpecLoggingAccessLogFileFormat) *string { return v.Text }).(pulumi.StringPtrOutput) +// Name of the secret for a virtual gateway's Transport Layer Security (TLS) Secret Discovery Service validation context trust. +func (o VirtualGatewaySpecListenerTlsCertificateSdsOutput) SecretName() pulumi.StringOutput { + return o.ApplyT(func(v VirtualGatewaySpecListenerTlsCertificateSds) string { return v.SecretName }).(pulumi.StringOutput) } -type VirtualGatewaySpecLoggingAccessLogFileFormatPtrOutput struct{ *pulumi.OutputState } +type VirtualGatewaySpecListenerTlsCertificateSdsPtrOutput struct{ *pulumi.OutputState } -func (VirtualGatewaySpecLoggingAccessLogFileFormatPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**VirtualGatewaySpecLoggingAccessLogFileFormat)(nil)).Elem() +func (VirtualGatewaySpecListenerTlsCertificateSdsPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**VirtualGatewaySpecListenerTlsCertificateSds)(nil)).Elem() } -func (o VirtualGatewaySpecLoggingAccessLogFileFormatPtrOutput) ToVirtualGatewaySpecLoggingAccessLogFileFormatPtrOutput() VirtualGatewaySpecLoggingAccessLogFileFormatPtrOutput { +func (o VirtualGatewaySpecListenerTlsCertificateSdsPtrOutput) ToVirtualGatewaySpecListenerTlsCertificateSdsPtrOutput() VirtualGatewaySpecListenerTlsCertificateSdsPtrOutput { return o } -func (o VirtualGatewaySpecLoggingAccessLogFileFormatPtrOutput) ToVirtualGatewaySpecLoggingAccessLogFileFormatPtrOutputWithContext(ctx context.Context) VirtualGatewaySpecLoggingAccessLogFileFormatPtrOutput { +func (o VirtualGatewaySpecListenerTlsCertificateSdsPtrOutput) ToVirtualGatewaySpecListenerTlsCertificateSdsPtrOutputWithContext(ctx context.Context) VirtualGatewaySpecListenerTlsCertificateSdsPtrOutput { return o } -func (o VirtualGatewaySpecLoggingAccessLogFileFormatPtrOutput) Elem() VirtualGatewaySpecLoggingAccessLogFileFormatOutput { - return o.ApplyT(func(v *VirtualGatewaySpecLoggingAccessLogFileFormat) VirtualGatewaySpecLoggingAccessLogFileFormat { +func (o VirtualGatewaySpecListenerTlsCertificateSdsPtrOutput) Elem() VirtualGatewaySpecListenerTlsCertificateSdsOutput { + return o.ApplyT(func(v *VirtualGatewaySpecListenerTlsCertificateSds) VirtualGatewaySpecListenerTlsCertificateSds { if v != nil { return *v } - var ret VirtualGatewaySpecLoggingAccessLogFileFormat + var ret VirtualGatewaySpecListenerTlsCertificateSds return ret - }).(VirtualGatewaySpecLoggingAccessLogFileFormatOutput) -} - -// The logging format for JSON. -func (o VirtualGatewaySpecLoggingAccessLogFileFormatPtrOutput) Jsons() VirtualGatewaySpecLoggingAccessLogFileFormatJsonArrayOutput { - return o.ApplyT(func(v *VirtualGatewaySpecLoggingAccessLogFileFormat) []VirtualGatewaySpecLoggingAccessLogFileFormatJson { - if v == nil { - return nil - } - return v.Jsons - }).(VirtualGatewaySpecLoggingAccessLogFileFormatJsonArrayOutput) + }).(VirtualGatewaySpecListenerTlsCertificateSdsOutput) } -// The logging format for text. Must be between 1 and 1000 characters in length. -func (o VirtualGatewaySpecLoggingAccessLogFileFormatPtrOutput) Text() pulumi.StringPtrOutput { - return o.ApplyT(func(v *VirtualGatewaySpecLoggingAccessLogFileFormat) *string { +// Name of the secret for a virtual gateway's Transport Layer Security (TLS) Secret Discovery Service validation context trust. +func (o VirtualGatewaySpecListenerTlsCertificateSdsPtrOutput) SecretName() pulumi.StringPtrOutput { + return o.ApplyT(func(v *VirtualGatewaySpecListenerTlsCertificateSds) *string { if v == nil { return nil } - return v.Text + return &v.SecretName }).(pulumi.StringPtrOutput) } -type VirtualGatewaySpecLoggingAccessLogFileFormatJson struct { - // The specified key for the JSON. Must be between 1 and 100 characters in length. - Key string `pulumi:"key"` - // The specified value for the JSON. Must be between 1 and 100 characters in length. - Value string `pulumi:"value"` +type VirtualGatewaySpecListenerTlsValidation struct { + // SANs for a virtual gateway's listener's Transport Layer Security (TLS) validation context. + SubjectAlternativeNames *VirtualGatewaySpecListenerTlsValidationSubjectAlternativeNames `pulumi:"subjectAlternativeNames"` + // TLS validation context trust. + Trust VirtualGatewaySpecListenerTlsValidationTrust `pulumi:"trust"` } -// VirtualGatewaySpecLoggingAccessLogFileFormatJsonInput is an input type that accepts VirtualGatewaySpecLoggingAccessLogFileFormatJsonArgs and VirtualGatewaySpecLoggingAccessLogFileFormatJsonOutput values. -// You can construct a concrete instance of `VirtualGatewaySpecLoggingAccessLogFileFormatJsonInput` via: +// VirtualGatewaySpecListenerTlsValidationInput is an input type that accepts VirtualGatewaySpecListenerTlsValidationArgs and VirtualGatewaySpecListenerTlsValidationOutput values. +// You can construct a concrete instance of `VirtualGatewaySpecListenerTlsValidationInput` via: // -// VirtualGatewaySpecLoggingAccessLogFileFormatJsonArgs{...} -type VirtualGatewaySpecLoggingAccessLogFileFormatJsonInput interface { +// VirtualGatewaySpecListenerTlsValidationArgs{...} +type VirtualGatewaySpecListenerTlsValidationInput interface { pulumi.Input - ToVirtualGatewaySpecLoggingAccessLogFileFormatJsonOutput() VirtualGatewaySpecLoggingAccessLogFileFormatJsonOutput - ToVirtualGatewaySpecLoggingAccessLogFileFormatJsonOutputWithContext(context.Context) VirtualGatewaySpecLoggingAccessLogFileFormatJsonOutput + ToVirtualGatewaySpecListenerTlsValidationOutput() VirtualGatewaySpecListenerTlsValidationOutput + ToVirtualGatewaySpecListenerTlsValidationOutputWithContext(context.Context) VirtualGatewaySpecListenerTlsValidationOutput } -type VirtualGatewaySpecLoggingAccessLogFileFormatJsonArgs struct { - // The specified key for the JSON. Must be between 1 and 100 characters in length. - Key pulumi.StringInput `pulumi:"key"` - // The specified value for the JSON. Must be between 1 and 100 characters in length. - Value pulumi.StringInput `pulumi:"value"` +type VirtualGatewaySpecListenerTlsValidationArgs struct { + // SANs for a virtual gateway's listener's Transport Layer Security (TLS) validation context. + SubjectAlternativeNames VirtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesPtrInput `pulumi:"subjectAlternativeNames"` + // TLS validation context trust. + Trust VirtualGatewaySpecListenerTlsValidationTrustInput `pulumi:"trust"` } -func (VirtualGatewaySpecLoggingAccessLogFileFormatJsonArgs) ElementType() reflect.Type { - return reflect.TypeOf((*VirtualGatewaySpecLoggingAccessLogFileFormatJson)(nil)).Elem() +func (VirtualGatewaySpecListenerTlsValidationArgs) ElementType() reflect.Type { + return reflect.TypeOf((*VirtualGatewaySpecListenerTlsValidation)(nil)).Elem() } -func (i VirtualGatewaySpecLoggingAccessLogFileFormatJsonArgs) ToVirtualGatewaySpecLoggingAccessLogFileFormatJsonOutput() VirtualGatewaySpecLoggingAccessLogFileFormatJsonOutput { - return i.ToVirtualGatewaySpecLoggingAccessLogFileFormatJsonOutputWithContext(context.Background()) +func (i VirtualGatewaySpecListenerTlsValidationArgs) ToVirtualGatewaySpecListenerTlsValidationOutput() VirtualGatewaySpecListenerTlsValidationOutput { + return i.ToVirtualGatewaySpecListenerTlsValidationOutputWithContext(context.Background()) } -func (i VirtualGatewaySpecLoggingAccessLogFileFormatJsonArgs) ToVirtualGatewaySpecLoggingAccessLogFileFormatJsonOutputWithContext(ctx context.Context) VirtualGatewaySpecLoggingAccessLogFileFormatJsonOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualGatewaySpecLoggingAccessLogFileFormatJsonOutput) +func (i VirtualGatewaySpecListenerTlsValidationArgs) ToVirtualGatewaySpecListenerTlsValidationOutputWithContext(ctx context.Context) VirtualGatewaySpecListenerTlsValidationOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualGatewaySpecListenerTlsValidationOutput) } -// VirtualGatewaySpecLoggingAccessLogFileFormatJsonArrayInput is an input type that accepts VirtualGatewaySpecLoggingAccessLogFileFormatJsonArray and VirtualGatewaySpecLoggingAccessLogFileFormatJsonArrayOutput values. -// You can construct a concrete instance of `VirtualGatewaySpecLoggingAccessLogFileFormatJsonArrayInput` via: +func (i VirtualGatewaySpecListenerTlsValidationArgs) ToVirtualGatewaySpecListenerTlsValidationPtrOutput() VirtualGatewaySpecListenerTlsValidationPtrOutput { + return i.ToVirtualGatewaySpecListenerTlsValidationPtrOutputWithContext(context.Background()) +} + +func (i VirtualGatewaySpecListenerTlsValidationArgs) ToVirtualGatewaySpecListenerTlsValidationPtrOutputWithContext(ctx context.Context) VirtualGatewaySpecListenerTlsValidationPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualGatewaySpecListenerTlsValidationOutput).ToVirtualGatewaySpecListenerTlsValidationPtrOutputWithContext(ctx) +} + +// VirtualGatewaySpecListenerTlsValidationPtrInput is an input type that accepts VirtualGatewaySpecListenerTlsValidationArgs, VirtualGatewaySpecListenerTlsValidationPtr and VirtualGatewaySpecListenerTlsValidationPtrOutput values. +// You can construct a concrete instance of `VirtualGatewaySpecListenerTlsValidationPtrInput` via: // -// VirtualGatewaySpecLoggingAccessLogFileFormatJsonArray{ VirtualGatewaySpecLoggingAccessLogFileFormatJsonArgs{...} } -type VirtualGatewaySpecLoggingAccessLogFileFormatJsonArrayInput interface { +// VirtualGatewaySpecListenerTlsValidationArgs{...} +// +// or: +// +// nil +type VirtualGatewaySpecListenerTlsValidationPtrInput interface { pulumi.Input - ToVirtualGatewaySpecLoggingAccessLogFileFormatJsonArrayOutput() VirtualGatewaySpecLoggingAccessLogFileFormatJsonArrayOutput - ToVirtualGatewaySpecLoggingAccessLogFileFormatJsonArrayOutputWithContext(context.Context) VirtualGatewaySpecLoggingAccessLogFileFormatJsonArrayOutput + ToVirtualGatewaySpecListenerTlsValidationPtrOutput() VirtualGatewaySpecListenerTlsValidationPtrOutput + ToVirtualGatewaySpecListenerTlsValidationPtrOutputWithContext(context.Context) VirtualGatewaySpecListenerTlsValidationPtrOutput } -type VirtualGatewaySpecLoggingAccessLogFileFormatJsonArray []VirtualGatewaySpecLoggingAccessLogFileFormatJsonInput +type virtualGatewaySpecListenerTlsValidationPtrType VirtualGatewaySpecListenerTlsValidationArgs -func (VirtualGatewaySpecLoggingAccessLogFileFormatJsonArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]VirtualGatewaySpecLoggingAccessLogFileFormatJson)(nil)).Elem() +func VirtualGatewaySpecListenerTlsValidationPtr(v *VirtualGatewaySpecListenerTlsValidationArgs) VirtualGatewaySpecListenerTlsValidationPtrInput { + return (*virtualGatewaySpecListenerTlsValidationPtrType)(v) } -func (i VirtualGatewaySpecLoggingAccessLogFileFormatJsonArray) ToVirtualGatewaySpecLoggingAccessLogFileFormatJsonArrayOutput() VirtualGatewaySpecLoggingAccessLogFileFormatJsonArrayOutput { - return i.ToVirtualGatewaySpecLoggingAccessLogFileFormatJsonArrayOutputWithContext(context.Background()) +func (*virtualGatewaySpecListenerTlsValidationPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**VirtualGatewaySpecListenerTlsValidation)(nil)).Elem() } -func (i VirtualGatewaySpecLoggingAccessLogFileFormatJsonArray) ToVirtualGatewaySpecLoggingAccessLogFileFormatJsonArrayOutputWithContext(ctx context.Context) VirtualGatewaySpecLoggingAccessLogFileFormatJsonArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualGatewaySpecLoggingAccessLogFileFormatJsonArrayOutput) +func (i *virtualGatewaySpecListenerTlsValidationPtrType) ToVirtualGatewaySpecListenerTlsValidationPtrOutput() VirtualGatewaySpecListenerTlsValidationPtrOutput { + return i.ToVirtualGatewaySpecListenerTlsValidationPtrOutputWithContext(context.Background()) } -type VirtualGatewaySpecLoggingAccessLogFileFormatJsonOutput struct{ *pulumi.OutputState } +func (i *virtualGatewaySpecListenerTlsValidationPtrType) ToVirtualGatewaySpecListenerTlsValidationPtrOutputWithContext(ctx context.Context) VirtualGatewaySpecListenerTlsValidationPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualGatewaySpecListenerTlsValidationPtrOutput) +} -func (VirtualGatewaySpecLoggingAccessLogFileFormatJsonOutput) ElementType() reflect.Type { - return reflect.TypeOf((*VirtualGatewaySpecLoggingAccessLogFileFormatJson)(nil)).Elem() +type VirtualGatewaySpecListenerTlsValidationOutput struct{ *pulumi.OutputState } + +func (VirtualGatewaySpecListenerTlsValidationOutput) ElementType() reflect.Type { + return reflect.TypeOf((*VirtualGatewaySpecListenerTlsValidation)(nil)).Elem() } -func (o VirtualGatewaySpecLoggingAccessLogFileFormatJsonOutput) ToVirtualGatewaySpecLoggingAccessLogFileFormatJsonOutput() VirtualGatewaySpecLoggingAccessLogFileFormatJsonOutput { +func (o VirtualGatewaySpecListenerTlsValidationOutput) ToVirtualGatewaySpecListenerTlsValidationOutput() VirtualGatewaySpecListenerTlsValidationOutput { return o } -func (o VirtualGatewaySpecLoggingAccessLogFileFormatJsonOutput) ToVirtualGatewaySpecLoggingAccessLogFileFormatJsonOutputWithContext(ctx context.Context) VirtualGatewaySpecLoggingAccessLogFileFormatJsonOutput { +func (o VirtualGatewaySpecListenerTlsValidationOutput) ToVirtualGatewaySpecListenerTlsValidationOutputWithContext(ctx context.Context) VirtualGatewaySpecListenerTlsValidationOutput { return o } -// The specified key for the JSON. Must be between 1 and 100 characters in length. -func (o VirtualGatewaySpecLoggingAccessLogFileFormatJsonOutput) Key() pulumi.StringOutput { - return o.ApplyT(func(v VirtualGatewaySpecLoggingAccessLogFileFormatJson) string { return v.Key }).(pulumi.StringOutput) +func (o VirtualGatewaySpecListenerTlsValidationOutput) ToVirtualGatewaySpecListenerTlsValidationPtrOutput() VirtualGatewaySpecListenerTlsValidationPtrOutput { + return o.ToVirtualGatewaySpecListenerTlsValidationPtrOutputWithContext(context.Background()) } -// The specified value for the JSON. Must be between 1 and 100 characters in length. -func (o VirtualGatewaySpecLoggingAccessLogFileFormatJsonOutput) Value() pulumi.StringOutput { - return o.ApplyT(func(v VirtualGatewaySpecLoggingAccessLogFileFormatJson) string { return v.Value }).(pulumi.StringOutput) +func (o VirtualGatewaySpecListenerTlsValidationOutput) ToVirtualGatewaySpecListenerTlsValidationPtrOutputWithContext(ctx context.Context) VirtualGatewaySpecListenerTlsValidationPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v VirtualGatewaySpecListenerTlsValidation) *VirtualGatewaySpecListenerTlsValidation { + return &v + }).(VirtualGatewaySpecListenerTlsValidationPtrOutput) } -type VirtualGatewaySpecLoggingAccessLogFileFormatJsonArrayOutput struct{ *pulumi.OutputState } +// SANs for a virtual gateway's listener's Transport Layer Security (TLS) validation context. +func (o VirtualGatewaySpecListenerTlsValidationOutput) SubjectAlternativeNames() VirtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesPtrOutput { + return o.ApplyT(func(v VirtualGatewaySpecListenerTlsValidation) *VirtualGatewaySpecListenerTlsValidationSubjectAlternativeNames { + return v.SubjectAlternativeNames + }).(VirtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesPtrOutput) +} -func (VirtualGatewaySpecLoggingAccessLogFileFormatJsonArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]VirtualGatewaySpecLoggingAccessLogFileFormatJson)(nil)).Elem() +// TLS validation context trust. +func (o VirtualGatewaySpecListenerTlsValidationOutput) Trust() VirtualGatewaySpecListenerTlsValidationTrustOutput { + return o.ApplyT(func(v VirtualGatewaySpecListenerTlsValidation) VirtualGatewaySpecListenerTlsValidationTrust { + return v.Trust + }).(VirtualGatewaySpecListenerTlsValidationTrustOutput) } -func (o VirtualGatewaySpecLoggingAccessLogFileFormatJsonArrayOutput) ToVirtualGatewaySpecLoggingAccessLogFileFormatJsonArrayOutput() VirtualGatewaySpecLoggingAccessLogFileFormatJsonArrayOutput { +type VirtualGatewaySpecListenerTlsValidationPtrOutput struct{ *pulumi.OutputState } + +func (VirtualGatewaySpecListenerTlsValidationPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**VirtualGatewaySpecListenerTlsValidation)(nil)).Elem() +} + +func (o VirtualGatewaySpecListenerTlsValidationPtrOutput) ToVirtualGatewaySpecListenerTlsValidationPtrOutput() VirtualGatewaySpecListenerTlsValidationPtrOutput { return o } -func (o VirtualGatewaySpecLoggingAccessLogFileFormatJsonArrayOutput) ToVirtualGatewaySpecLoggingAccessLogFileFormatJsonArrayOutputWithContext(ctx context.Context) VirtualGatewaySpecLoggingAccessLogFileFormatJsonArrayOutput { +func (o VirtualGatewaySpecListenerTlsValidationPtrOutput) ToVirtualGatewaySpecListenerTlsValidationPtrOutputWithContext(ctx context.Context) VirtualGatewaySpecListenerTlsValidationPtrOutput { return o } -func (o VirtualGatewaySpecLoggingAccessLogFileFormatJsonArrayOutput) Index(i pulumi.IntInput) VirtualGatewaySpecLoggingAccessLogFileFormatJsonOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) VirtualGatewaySpecLoggingAccessLogFileFormatJson { - return vs[0].([]VirtualGatewaySpecLoggingAccessLogFileFormatJson)[vs[1].(int)] - }).(VirtualGatewaySpecLoggingAccessLogFileFormatJsonOutput) +func (o VirtualGatewaySpecListenerTlsValidationPtrOutput) Elem() VirtualGatewaySpecListenerTlsValidationOutput { + return o.ApplyT(func(v *VirtualGatewaySpecListenerTlsValidation) VirtualGatewaySpecListenerTlsValidation { + if v != nil { + return *v + } + var ret VirtualGatewaySpecListenerTlsValidation + return ret + }).(VirtualGatewaySpecListenerTlsValidationOutput) } -type VirtualNodeSpec struct { - // Defaults for backends. - BackendDefaults *VirtualNodeSpecBackendDefaults `pulumi:"backendDefaults"` - // Backends to which the virtual node is expected to send outbound traffic. - Backends []VirtualNodeSpecBackend `pulumi:"backends"` - // Listeners from which the virtual node is expected to receive inbound traffic. - Listener *VirtualNodeSpecListener `pulumi:"listener"` - // Inbound and outbound access logging information for the virtual node. - Logging *VirtualNodeSpecLogging `pulumi:"logging"` - // Service discovery information for the virtual node. - ServiceDiscovery *VirtualNodeSpecServiceDiscovery `pulumi:"serviceDiscovery"` +// SANs for a virtual gateway's listener's Transport Layer Security (TLS) validation context. +func (o VirtualGatewaySpecListenerTlsValidationPtrOutput) SubjectAlternativeNames() VirtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesPtrOutput { + return o.ApplyT(func(v *VirtualGatewaySpecListenerTlsValidation) *VirtualGatewaySpecListenerTlsValidationSubjectAlternativeNames { + if v == nil { + return nil + } + return v.SubjectAlternativeNames + }).(VirtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesPtrOutput) } -// VirtualNodeSpecInput is an input type that accepts VirtualNodeSpecArgs and VirtualNodeSpecOutput values. -// You can construct a concrete instance of `VirtualNodeSpecInput` via: +// TLS validation context trust. +func (o VirtualGatewaySpecListenerTlsValidationPtrOutput) Trust() VirtualGatewaySpecListenerTlsValidationTrustPtrOutput { + return o.ApplyT(func(v *VirtualGatewaySpecListenerTlsValidation) *VirtualGatewaySpecListenerTlsValidationTrust { + if v == nil { + return nil + } + return &v.Trust + }).(VirtualGatewaySpecListenerTlsValidationTrustPtrOutput) +} + +type VirtualGatewaySpecListenerTlsValidationSubjectAlternativeNames struct { + // Criteria for determining a SAN's match. + Match VirtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesMatch `pulumi:"match"` +} + +// VirtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesInput is an input type that accepts VirtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesArgs and VirtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesOutput values. +// You can construct a concrete instance of `VirtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesInput` via: // -// VirtualNodeSpecArgs{...} -type VirtualNodeSpecInput interface { +// VirtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesArgs{...} +type VirtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesInput interface { pulumi.Input - ToVirtualNodeSpecOutput() VirtualNodeSpecOutput - ToVirtualNodeSpecOutputWithContext(context.Context) VirtualNodeSpecOutput + ToVirtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesOutput() VirtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesOutput + ToVirtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesOutputWithContext(context.Context) VirtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesOutput } -type VirtualNodeSpecArgs struct { - // Defaults for backends. - BackendDefaults VirtualNodeSpecBackendDefaultsPtrInput `pulumi:"backendDefaults"` - // Backends to which the virtual node is expected to send outbound traffic. - Backends VirtualNodeSpecBackendArrayInput `pulumi:"backends"` - // Listeners from which the virtual node is expected to receive inbound traffic. - Listener VirtualNodeSpecListenerPtrInput `pulumi:"listener"` - // Inbound and outbound access logging information for the virtual node. - Logging VirtualNodeSpecLoggingPtrInput `pulumi:"logging"` - // Service discovery information for the virtual node. - ServiceDiscovery VirtualNodeSpecServiceDiscoveryPtrInput `pulumi:"serviceDiscovery"` +type VirtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesArgs struct { + // Criteria for determining a SAN's match. + Match VirtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesMatchInput `pulumi:"match"` } -func (VirtualNodeSpecArgs) ElementType() reflect.Type { - return reflect.TypeOf((*VirtualNodeSpec)(nil)).Elem() +func (VirtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesArgs) ElementType() reflect.Type { + return reflect.TypeOf((*VirtualGatewaySpecListenerTlsValidationSubjectAlternativeNames)(nil)).Elem() } -func (i VirtualNodeSpecArgs) ToVirtualNodeSpecOutput() VirtualNodeSpecOutput { - return i.ToVirtualNodeSpecOutputWithContext(context.Background()) +func (i VirtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesArgs) ToVirtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesOutput() VirtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesOutput { + return i.ToVirtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesOutputWithContext(context.Background()) } -func (i VirtualNodeSpecArgs) ToVirtualNodeSpecOutputWithContext(ctx context.Context) VirtualNodeSpecOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecOutput) +func (i VirtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesArgs) ToVirtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesOutputWithContext(ctx context.Context) VirtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesOutput) } -func (i VirtualNodeSpecArgs) ToVirtualNodeSpecPtrOutput() VirtualNodeSpecPtrOutput { - return i.ToVirtualNodeSpecPtrOutputWithContext(context.Background()) +func (i VirtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesArgs) ToVirtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesPtrOutput() VirtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesPtrOutput { + return i.ToVirtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesPtrOutputWithContext(context.Background()) } -func (i VirtualNodeSpecArgs) ToVirtualNodeSpecPtrOutputWithContext(ctx context.Context) VirtualNodeSpecPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecOutput).ToVirtualNodeSpecPtrOutputWithContext(ctx) +func (i VirtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesArgs) ToVirtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesPtrOutputWithContext(ctx context.Context) VirtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesOutput).ToVirtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesPtrOutputWithContext(ctx) } -// VirtualNodeSpecPtrInput is an input type that accepts VirtualNodeSpecArgs, VirtualNodeSpecPtr and VirtualNodeSpecPtrOutput values. -// You can construct a concrete instance of `VirtualNodeSpecPtrInput` via: +// VirtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesPtrInput is an input type that accepts VirtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesArgs, VirtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesPtr and VirtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesPtrOutput values. +// You can construct a concrete instance of `VirtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesPtrInput` via: // -// VirtualNodeSpecArgs{...} +// VirtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesArgs{...} // // or: // // nil -type VirtualNodeSpecPtrInput interface { +type VirtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesPtrInput interface { pulumi.Input - ToVirtualNodeSpecPtrOutput() VirtualNodeSpecPtrOutput - ToVirtualNodeSpecPtrOutputWithContext(context.Context) VirtualNodeSpecPtrOutput + ToVirtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesPtrOutput() VirtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesPtrOutput + ToVirtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesPtrOutputWithContext(context.Context) VirtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesPtrOutput } -type virtualNodeSpecPtrType VirtualNodeSpecArgs +type virtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesPtrType VirtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesArgs -func VirtualNodeSpecPtr(v *VirtualNodeSpecArgs) VirtualNodeSpecPtrInput { - return (*virtualNodeSpecPtrType)(v) +func VirtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesPtr(v *VirtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesArgs) VirtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesPtrInput { + return (*virtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesPtrType)(v) } -func (*virtualNodeSpecPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**VirtualNodeSpec)(nil)).Elem() +func (*virtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**VirtualGatewaySpecListenerTlsValidationSubjectAlternativeNames)(nil)).Elem() } -func (i *virtualNodeSpecPtrType) ToVirtualNodeSpecPtrOutput() VirtualNodeSpecPtrOutput { - return i.ToVirtualNodeSpecPtrOutputWithContext(context.Background()) +func (i *virtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesPtrType) ToVirtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesPtrOutput() VirtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesPtrOutput { + return i.ToVirtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesPtrOutputWithContext(context.Background()) } -func (i *virtualNodeSpecPtrType) ToVirtualNodeSpecPtrOutputWithContext(ctx context.Context) VirtualNodeSpecPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecPtrOutput) +func (i *virtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesPtrType) ToVirtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesPtrOutputWithContext(ctx context.Context) VirtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesPtrOutput) } -type VirtualNodeSpecOutput struct{ *pulumi.OutputState } +type VirtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesOutput struct{ *pulumi.OutputState } -func (VirtualNodeSpecOutput) ElementType() reflect.Type { - return reflect.TypeOf((*VirtualNodeSpec)(nil)).Elem() +func (VirtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesOutput) ElementType() reflect.Type { + return reflect.TypeOf((*VirtualGatewaySpecListenerTlsValidationSubjectAlternativeNames)(nil)).Elem() } -func (o VirtualNodeSpecOutput) ToVirtualNodeSpecOutput() VirtualNodeSpecOutput { +func (o VirtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesOutput) ToVirtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesOutput() VirtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesOutput { return o } -func (o VirtualNodeSpecOutput) ToVirtualNodeSpecOutputWithContext(ctx context.Context) VirtualNodeSpecOutput { +func (o VirtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesOutput) ToVirtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesOutputWithContext(ctx context.Context) VirtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesOutput { return o } -func (o VirtualNodeSpecOutput) ToVirtualNodeSpecPtrOutput() VirtualNodeSpecPtrOutput { - return o.ToVirtualNodeSpecPtrOutputWithContext(context.Background()) +func (o VirtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesOutput) ToVirtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesPtrOutput() VirtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesPtrOutput { + return o.ToVirtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesPtrOutputWithContext(context.Background()) } -func (o VirtualNodeSpecOutput) ToVirtualNodeSpecPtrOutputWithContext(ctx context.Context) VirtualNodeSpecPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v VirtualNodeSpec) *VirtualNodeSpec { +func (o VirtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesOutput) ToVirtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesPtrOutputWithContext(ctx context.Context) VirtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v VirtualGatewaySpecListenerTlsValidationSubjectAlternativeNames) *VirtualGatewaySpecListenerTlsValidationSubjectAlternativeNames { return &v - }).(VirtualNodeSpecPtrOutput) -} - -// Defaults for backends. -func (o VirtualNodeSpecOutput) BackendDefaults() VirtualNodeSpecBackendDefaultsPtrOutput { - return o.ApplyT(func(v VirtualNodeSpec) *VirtualNodeSpecBackendDefaults { return v.BackendDefaults }).(VirtualNodeSpecBackendDefaultsPtrOutput) -} - -// Backends to which the virtual node is expected to send outbound traffic. -func (o VirtualNodeSpecOutput) Backends() VirtualNodeSpecBackendArrayOutput { - return o.ApplyT(func(v VirtualNodeSpec) []VirtualNodeSpecBackend { return v.Backends }).(VirtualNodeSpecBackendArrayOutput) -} - -// Listeners from which the virtual node is expected to receive inbound traffic. -func (o VirtualNodeSpecOutput) Listener() VirtualNodeSpecListenerPtrOutput { - return o.ApplyT(func(v VirtualNodeSpec) *VirtualNodeSpecListener { return v.Listener }).(VirtualNodeSpecListenerPtrOutput) -} - -// Inbound and outbound access logging information for the virtual node. -func (o VirtualNodeSpecOutput) Logging() VirtualNodeSpecLoggingPtrOutput { - return o.ApplyT(func(v VirtualNodeSpec) *VirtualNodeSpecLogging { return v.Logging }).(VirtualNodeSpecLoggingPtrOutput) + }).(VirtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesPtrOutput) } -// Service discovery information for the virtual node. -func (o VirtualNodeSpecOutput) ServiceDiscovery() VirtualNodeSpecServiceDiscoveryPtrOutput { - return o.ApplyT(func(v VirtualNodeSpec) *VirtualNodeSpecServiceDiscovery { return v.ServiceDiscovery }).(VirtualNodeSpecServiceDiscoveryPtrOutput) +// Criteria for determining a SAN's match. +func (o VirtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesOutput) Match() VirtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesMatchOutput { + return o.ApplyT(func(v VirtualGatewaySpecListenerTlsValidationSubjectAlternativeNames) VirtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesMatch { + return v.Match + }).(VirtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesMatchOutput) } -type VirtualNodeSpecPtrOutput struct{ *pulumi.OutputState } +type VirtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesPtrOutput struct{ *pulumi.OutputState } -func (VirtualNodeSpecPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**VirtualNodeSpec)(nil)).Elem() +func (VirtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**VirtualGatewaySpecListenerTlsValidationSubjectAlternativeNames)(nil)).Elem() } -func (o VirtualNodeSpecPtrOutput) ToVirtualNodeSpecPtrOutput() VirtualNodeSpecPtrOutput { +func (o VirtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesPtrOutput) ToVirtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesPtrOutput() VirtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesPtrOutput { return o } -func (o VirtualNodeSpecPtrOutput) ToVirtualNodeSpecPtrOutputWithContext(ctx context.Context) VirtualNodeSpecPtrOutput { +func (o VirtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesPtrOutput) ToVirtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesPtrOutputWithContext(ctx context.Context) VirtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesPtrOutput { return o } -func (o VirtualNodeSpecPtrOutput) Elem() VirtualNodeSpecOutput { - return o.ApplyT(func(v *VirtualNodeSpec) VirtualNodeSpec { +func (o VirtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesPtrOutput) Elem() VirtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesOutput { + return o.ApplyT(func(v *VirtualGatewaySpecListenerTlsValidationSubjectAlternativeNames) VirtualGatewaySpecListenerTlsValidationSubjectAlternativeNames { if v != nil { return *v } - var ret VirtualNodeSpec + var ret VirtualGatewaySpecListenerTlsValidationSubjectAlternativeNames return ret - }).(VirtualNodeSpecOutput) + }).(VirtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesOutput) } -// Defaults for backends. -func (o VirtualNodeSpecPtrOutput) BackendDefaults() VirtualNodeSpecBackendDefaultsPtrOutput { - return o.ApplyT(func(v *VirtualNodeSpec) *VirtualNodeSpecBackendDefaults { +// Criteria for determining a SAN's match. +func (o VirtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesPtrOutput) Match() VirtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesMatchPtrOutput { + return o.ApplyT(func(v *VirtualGatewaySpecListenerTlsValidationSubjectAlternativeNames) *VirtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesMatch { if v == nil { return nil } - return v.BackendDefaults - }).(VirtualNodeSpecBackendDefaultsPtrOutput) + return &v.Match + }).(VirtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesMatchPtrOutput) } -// Backends to which the virtual node is expected to send outbound traffic. -func (o VirtualNodeSpecPtrOutput) Backends() VirtualNodeSpecBackendArrayOutput { - return o.ApplyT(func(v *VirtualNodeSpec) []VirtualNodeSpecBackend { - if v == nil { - return nil - } - return v.Backends - }).(VirtualNodeSpecBackendArrayOutput) -} - -// Listeners from which the virtual node is expected to receive inbound traffic. -func (o VirtualNodeSpecPtrOutput) Listener() VirtualNodeSpecListenerPtrOutput { - return o.ApplyT(func(v *VirtualNodeSpec) *VirtualNodeSpecListener { - if v == nil { - return nil - } - return v.Listener - }).(VirtualNodeSpecListenerPtrOutput) +type VirtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesMatch struct { + // Values sent must match the specified values exactly. + Exacts []string `pulumi:"exacts"` } -// Inbound and outbound access logging information for the virtual node. -func (o VirtualNodeSpecPtrOutput) Logging() VirtualNodeSpecLoggingPtrOutput { - return o.ApplyT(func(v *VirtualNodeSpec) *VirtualNodeSpecLogging { - if v == nil { - return nil - } - return v.Logging - }).(VirtualNodeSpecLoggingPtrOutput) -} +// VirtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesMatchInput is an input type that accepts VirtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesMatchArgs and VirtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesMatchOutput values. +// You can construct a concrete instance of `VirtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesMatchInput` via: +// +// VirtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesMatchArgs{...} +type VirtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesMatchInput interface { + pulumi.Input -// Service discovery information for the virtual node. -func (o VirtualNodeSpecPtrOutput) ServiceDiscovery() VirtualNodeSpecServiceDiscoveryPtrOutput { - return o.ApplyT(func(v *VirtualNodeSpec) *VirtualNodeSpecServiceDiscovery { - if v == nil { - return nil - } - return v.ServiceDiscovery - }).(VirtualNodeSpecServiceDiscoveryPtrOutput) + ToVirtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesMatchOutput() VirtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesMatchOutput + ToVirtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesMatchOutputWithContext(context.Context) VirtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesMatchOutput } -type VirtualNodeSpecBackend struct { - // Virtual service to use as a backend for a virtual node. - VirtualService VirtualNodeSpecBackendVirtualService `pulumi:"virtualService"` +type VirtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesMatchArgs struct { + // Values sent must match the specified values exactly. + Exacts pulumi.StringArrayInput `pulumi:"exacts"` } -// VirtualNodeSpecBackendInput is an input type that accepts VirtualNodeSpecBackendArgs and VirtualNodeSpecBackendOutput values. -// You can construct a concrete instance of `VirtualNodeSpecBackendInput` via: -// -// VirtualNodeSpecBackendArgs{...} -type VirtualNodeSpecBackendInput interface { - pulumi.Input - - ToVirtualNodeSpecBackendOutput() VirtualNodeSpecBackendOutput - ToVirtualNodeSpecBackendOutputWithContext(context.Context) VirtualNodeSpecBackendOutput +func (VirtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesMatchArgs) ElementType() reflect.Type { + return reflect.TypeOf((*VirtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesMatch)(nil)).Elem() } -type VirtualNodeSpecBackendArgs struct { - // Virtual service to use as a backend for a virtual node. - VirtualService VirtualNodeSpecBackendVirtualServiceInput `pulumi:"virtualService"` +func (i VirtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesMatchArgs) ToVirtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesMatchOutput() VirtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesMatchOutput { + return i.ToVirtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesMatchOutputWithContext(context.Background()) } -func (VirtualNodeSpecBackendArgs) ElementType() reflect.Type { - return reflect.TypeOf((*VirtualNodeSpecBackend)(nil)).Elem() +func (i VirtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesMatchArgs) ToVirtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesMatchOutputWithContext(ctx context.Context) VirtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesMatchOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesMatchOutput) } -func (i VirtualNodeSpecBackendArgs) ToVirtualNodeSpecBackendOutput() VirtualNodeSpecBackendOutput { - return i.ToVirtualNodeSpecBackendOutputWithContext(context.Background()) +func (i VirtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesMatchArgs) ToVirtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesMatchPtrOutput() VirtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesMatchPtrOutput { + return i.ToVirtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesMatchPtrOutputWithContext(context.Background()) } -func (i VirtualNodeSpecBackendArgs) ToVirtualNodeSpecBackendOutputWithContext(ctx context.Context) VirtualNodeSpecBackendOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecBackendOutput) +func (i VirtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesMatchArgs) ToVirtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesMatchPtrOutputWithContext(ctx context.Context) VirtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesMatchPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesMatchOutput).ToVirtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesMatchPtrOutputWithContext(ctx) } -// VirtualNodeSpecBackendArrayInput is an input type that accepts VirtualNodeSpecBackendArray and VirtualNodeSpecBackendArrayOutput values. -// You can construct a concrete instance of `VirtualNodeSpecBackendArrayInput` via: +// VirtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesMatchPtrInput is an input type that accepts VirtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesMatchArgs, VirtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesMatchPtr and VirtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesMatchPtrOutput values. +// You can construct a concrete instance of `VirtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesMatchPtrInput` via: // -// VirtualNodeSpecBackendArray{ VirtualNodeSpecBackendArgs{...} } -type VirtualNodeSpecBackendArrayInput interface { +// VirtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesMatchArgs{...} +// +// or: +// +// nil +type VirtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesMatchPtrInput interface { pulumi.Input - ToVirtualNodeSpecBackendArrayOutput() VirtualNodeSpecBackendArrayOutput - ToVirtualNodeSpecBackendArrayOutputWithContext(context.Context) VirtualNodeSpecBackendArrayOutput + ToVirtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesMatchPtrOutput() VirtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesMatchPtrOutput + ToVirtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesMatchPtrOutputWithContext(context.Context) VirtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesMatchPtrOutput } -type VirtualNodeSpecBackendArray []VirtualNodeSpecBackendInput +type virtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesMatchPtrType VirtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesMatchArgs -func (VirtualNodeSpecBackendArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]VirtualNodeSpecBackend)(nil)).Elem() +func VirtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesMatchPtr(v *VirtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesMatchArgs) VirtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesMatchPtrInput { + return (*virtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesMatchPtrType)(v) } -func (i VirtualNodeSpecBackendArray) ToVirtualNodeSpecBackendArrayOutput() VirtualNodeSpecBackendArrayOutput { - return i.ToVirtualNodeSpecBackendArrayOutputWithContext(context.Background()) +func (*virtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesMatchPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**VirtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesMatch)(nil)).Elem() } -func (i VirtualNodeSpecBackendArray) ToVirtualNodeSpecBackendArrayOutputWithContext(ctx context.Context) VirtualNodeSpecBackendArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecBackendArrayOutput) +func (i *virtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesMatchPtrType) ToVirtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesMatchPtrOutput() VirtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesMatchPtrOutput { + return i.ToVirtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesMatchPtrOutputWithContext(context.Background()) } -type VirtualNodeSpecBackendOutput struct{ *pulumi.OutputState } +func (i *virtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesMatchPtrType) ToVirtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesMatchPtrOutputWithContext(ctx context.Context) VirtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesMatchPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesMatchPtrOutput) +} -func (VirtualNodeSpecBackendOutput) ElementType() reflect.Type { - return reflect.TypeOf((*VirtualNodeSpecBackend)(nil)).Elem() +type VirtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesMatchOutput struct{ *pulumi.OutputState } + +func (VirtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesMatchOutput) ElementType() reflect.Type { + return reflect.TypeOf((*VirtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesMatch)(nil)).Elem() } -func (o VirtualNodeSpecBackendOutput) ToVirtualNodeSpecBackendOutput() VirtualNodeSpecBackendOutput { +func (o VirtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesMatchOutput) ToVirtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesMatchOutput() VirtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesMatchOutput { return o } -func (o VirtualNodeSpecBackendOutput) ToVirtualNodeSpecBackendOutputWithContext(ctx context.Context) VirtualNodeSpecBackendOutput { +func (o VirtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesMatchOutput) ToVirtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesMatchOutputWithContext(ctx context.Context) VirtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesMatchOutput { return o } -// Virtual service to use as a backend for a virtual node. -func (o VirtualNodeSpecBackendOutput) VirtualService() VirtualNodeSpecBackendVirtualServiceOutput { - return o.ApplyT(func(v VirtualNodeSpecBackend) VirtualNodeSpecBackendVirtualService { return v.VirtualService }).(VirtualNodeSpecBackendVirtualServiceOutput) +func (o VirtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesMatchOutput) ToVirtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesMatchPtrOutput() VirtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesMatchPtrOutput { + return o.ToVirtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesMatchPtrOutputWithContext(context.Background()) } -type VirtualNodeSpecBackendArrayOutput struct{ *pulumi.OutputState } +func (o VirtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesMatchOutput) ToVirtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesMatchPtrOutputWithContext(ctx context.Context) VirtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesMatchPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v VirtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesMatch) *VirtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesMatch { + return &v + }).(VirtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesMatchPtrOutput) +} -func (VirtualNodeSpecBackendArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]VirtualNodeSpecBackend)(nil)).Elem() +// Values sent must match the specified values exactly. +func (o VirtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesMatchOutput) Exacts() pulumi.StringArrayOutput { + return o.ApplyT(func(v VirtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesMatch) []string { return v.Exacts }).(pulumi.StringArrayOutput) } -func (o VirtualNodeSpecBackendArrayOutput) ToVirtualNodeSpecBackendArrayOutput() VirtualNodeSpecBackendArrayOutput { +type VirtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesMatchPtrOutput struct{ *pulumi.OutputState } + +func (VirtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesMatchPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**VirtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesMatch)(nil)).Elem() +} + +func (o VirtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesMatchPtrOutput) ToVirtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesMatchPtrOutput() VirtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesMatchPtrOutput { return o } -func (o VirtualNodeSpecBackendArrayOutput) ToVirtualNodeSpecBackendArrayOutputWithContext(ctx context.Context) VirtualNodeSpecBackendArrayOutput { +func (o VirtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesMatchPtrOutput) ToVirtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesMatchPtrOutputWithContext(ctx context.Context) VirtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesMatchPtrOutput { return o } -func (o VirtualNodeSpecBackendArrayOutput) Index(i pulumi.IntInput) VirtualNodeSpecBackendOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) VirtualNodeSpecBackend { - return vs[0].([]VirtualNodeSpecBackend)[vs[1].(int)] - }).(VirtualNodeSpecBackendOutput) +func (o VirtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesMatchPtrOutput) Elem() VirtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesMatchOutput { + return o.ApplyT(func(v *VirtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesMatch) VirtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesMatch { + if v != nil { + return *v + } + var ret VirtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesMatch + return ret + }).(VirtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesMatchOutput) } -type VirtualNodeSpecBackendDefaults struct { - // Default client policy for virtual service backends. See above for details. - ClientPolicy *VirtualNodeSpecBackendDefaultsClientPolicy `pulumi:"clientPolicy"` +// Values sent must match the specified values exactly. +func (o VirtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesMatchPtrOutput) Exacts() pulumi.StringArrayOutput { + return o.ApplyT(func(v *VirtualGatewaySpecListenerTlsValidationSubjectAlternativeNamesMatch) []string { + if v == nil { + return nil + } + return v.Exacts + }).(pulumi.StringArrayOutput) } -// VirtualNodeSpecBackendDefaultsInput is an input type that accepts VirtualNodeSpecBackendDefaultsArgs and VirtualNodeSpecBackendDefaultsOutput values. -// You can construct a concrete instance of `VirtualNodeSpecBackendDefaultsInput` via: +type VirtualGatewaySpecListenerTlsValidationTrust struct { + // TLS validation context trust for a local file certificate. + File *VirtualGatewaySpecListenerTlsValidationTrustFile `pulumi:"file"` + // TLS validation context trust for a [Secret Discovery Service](https://www.envoyproxy.io/docs/envoy/latest/configuration/security/secret#secret-discovery-service-sds) certificate. + Sds *VirtualGatewaySpecListenerTlsValidationTrustSds `pulumi:"sds"` +} + +// VirtualGatewaySpecListenerTlsValidationTrustInput is an input type that accepts VirtualGatewaySpecListenerTlsValidationTrustArgs and VirtualGatewaySpecListenerTlsValidationTrustOutput values. +// You can construct a concrete instance of `VirtualGatewaySpecListenerTlsValidationTrustInput` via: // -// VirtualNodeSpecBackendDefaultsArgs{...} -type VirtualNodeSpecBackendDefaultsInput interface { +// VirtualGatewaySpecListenerTlsValidationTrustArgs{...} +type VirtualGatewaySpecListenerTlsValidationTrustInput interface { pulumi.Input - ToVirtualNodeSpecBackendDefaultsOutput() VirtualNodeSpecBackendDefaultsOutput - ToVirtualNodeSpecBackendDefaultsOutputWithContext(context.Context) VirtualNodeSpecBackendDefaultsOutput + ToVirtualGatewaySpecListenerTlsValidationTrustOutput() VirtualGatewaySpecListenerTlsValidationTrustOutput + ToVirtualGatewaySpecListenerTlsValidationTrustOutputWithContext(context.Context) VirtualGatewaySpecListenerTlsValidationTrustOutput } -type VirtualNodeSpecBackendDefaultsArgs struct { - // Default client policy for virtual service backends. See above for details. - ClientPolicy VirtualNodeSpecBackendDefaultsClientPolicyPtrInput `pulumi:"clientPolicy"` +type VirtualGatewaySpecListenerTlsValidationTrustArgs struct { + // TLS validation context trust for a local file certificate. + File VirtualGatewaySpecListenerTlsValidationTrustFilePtrInput `pulumi:"file"` + // TLS validation context trust for a [Secret Discovery Service](https://www.envoyproxy.io/docs/envoy/latest/configuration/security/secret#secret-discovery-service-sds) certificate. + Sds VirtualGatewaySpecListenerTlsValidationTrustSdsPtrInput `pulumi:"sds"` } -func (VirtualNodeSpecBackendDefaultsArgs) ElementType() reflect.Type { - return reflect.TypeOf((*VirtualNodeSpecBackendDefaults)(nil)).Elem() +func (VirtualGatewaySpecListenerTlsValidationTrustArgs) ElementType() reflect.Type { + return reflect.TypeOf((*VirtualGatewaySpecListenerTlsValidationTrust)(nil)).Elem() } -func (i VirtualNodeSpecBackendDefaultsArgs) ToVirtualNodeSpecBackendDefaultsOutput() VirtualNodeSpecBackendDefaultsOutput { - return i.ToVirtualNodeSpecBackendDefaultsOutputWithContext(context.Background()) +func (i VirtualGatewaySpecListenerTlsValidationTrustArgs) ToVirtualGatewaySpecListenerTlsValidationTrustOutput() VirtualGatewaySpecListenerTlsValidationTrustOutput { + return i.ToVirtualGatewaySpecListenerTlsValidationTrustOutputWithContext(context.Background()) } -func (i VirtualNodeSpecBackendDefaultsArgs) ToVirtualNodeSpecBackendDefaultsOutputWithContext(ctx context.Context) VirtualNodeSpecBackendDefaultsOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecBackendDefaultsOutput) +func (i VirtualGatewaySpecListenerTlsValidationTrustArgs) ToVirtualGatewaySpecListenerTlsValidationTrustOutputWithContext(ctx context.Context) VirtualGatewaySpecListenerTlsValidationTrustOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualGatewaySpecListenerTlsValidationTrustOutput) } -func (i VirtualNodeSpecBackendDefaultsArgs) ToVirtualNodeSpecBackendDefaultsPtrOutput() VirtualNodeSpecBackendDefaultsPtrOutput { - return i.ToVirtualNodeSpecBackendDefaultsPtrOutputWithContext(context.Background()) +func (i VirtualGatewaySpecListenerTlsValidationTrustArgs) ToVirtualGatewaySpecListenerTlsValidationTrustPtrOutput() VirtualGatewaySpecListenerTlsValidationTrustPtrOutput { + return i.ToVirtualGatewaySpecListenerTlsValidationTrustPtrOutputWithContext(context.Background()) } -func (i VirtualNodeSpecBackendDefaultsArgs) ToVirtualNodeSpecBackendDefaultsPtrOutputWithContext(ctx context.Context) VirtualNodeSpecBackendDefaultsPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecBackendDefaultsOutput).ToVirtualNodeSpecBackendDefaultsPtrOutputWithContext(ctx) +func (i VirtualGatewaySpecListenerTlsValidationTrustArgs) ToVirtualGatewaySpecListenerTlsValidationTrustPtrOutputWithContext(ctx context.Context) VirtualGatewaySpecListenerTlsValidationTrustPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualGatewaySpecListenerTlsValidationTrustOutput).ToVirtualGatewaySpecListenerTlsValidationTrustPtrOutputWithContext(ctx) } -// VirtualNodeSpecBackendDefaultsPtrInput is an input type that accepts VirtualNodeSpecBackendDefaultsArgs, VirtualNodeSpecBackendDefaultsPtr and VirtualNodeSpecBackendDefaultsPtrOutput values. -// You can construct a concrete instance of `VirtualNodeSpecBackendDefaultsPtrInput` via: +// VirtualGatewaySpecListenerTlsValidationTrustPtrInput is an input type that accepts VirtualGatewaySpecListenerTlsValidationTrustArgs, VirtualGatewaySpecListenerTlsValidationTrustPtr and VirtualGatewaySpecListenerTlsValidationTrustPtrOutput values. +// You can construct a concrete instance of `VirtualGatewaySpecListenerTlsValidationTrustPtrInput` via: // -// VirtualNodeSpecBackendDefaultsArgs{...} +// VirtualGatewaySpecListenerTlsValidationTrustArgs{...} // // or: // // nil -type VirtualNodeSpecBackendDefaultsPtrInput interface { +type VirtualGatewaySpecListenerTlsValidationTrustPtrInput interface { pulumi.Input - ToVirtualNodeSpecBackendDefaultsPtrOutput() VirtualNodeSpecBackendDefaultsPtrOutput - ToVirtualNodeSpecBackendDefaultsPtrOutputWithContext(context.Context) VirtualNodeSpecBackendDefaultsPtrOutput + ToVirtualGatewaySpecListenerTlsValidationTrustPtrOutput() VirtualGatewaySpecListenerTlsValidationTrustPtrOutput + ToVirtualGatewaySpecListenerTlsValidationTrustPtrOutputWithContext(context.Context) VirtualGatewaySpecListenerTlsValidationTrustPtrOutput } -type virtualNodeSpecBackendDefaultsPtrType VirtualNodeSpecBackendDefaultsArgs +type virtualGatewaySpecListenerTlsValidationTrustPtrType VirtualGatewaySpecListenerTlsValidationTrustArgs -func VirtualNodeSpecBackendDefaultsPtr(v *VirtualNodeSpecBackendDefaultsArgs) VirtualNodeSpecBackendDefaultsPtrInput { - return (*virtualNodeSpecBackendDefaultsPtrType)(v) +func VirtualGatewaySpecListenerTlsValidationTrustPtr(v *VirtualGatewaySpecListenerTlsValidationTrustArgs) VirtualGatewaySpecListenerTlsValidationTrustPtrInput { + return (*virtualGatewaySpecListenerTlsValidationTrustPtrType)(v) } -func (*virtualNodeSpecBackendDefaultsPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**VirtualNodeSpecBackendDefaults)(nil)).Elem() +func (*virtualGatewaySpecListenerTlsValidationTrustPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**VirtualGatewaySpecListenerTlsValidationTrust)(nil)).Elem() } -func (i *virtualNodeSpecBackendDefaultsPtrType) ToVirtualNodeSpecBackendDefaultsPtrOutput() VirtualNodeSpecBackendDefaultsPtrOutput { - return i.ToVirtualNodeSpecBackendDefaultsPtrOutputWithContext(context.Background()) +func (i *virtualGatewaySpecListenerTlsValidationTrustPtrType) ToVirtualGatewaySpecListenerTlsValidationTrustPtrOutput() VirtualGatewaySpecListenerTlsValidationTrustPtrOutput { + return i.ToVirtualGatewaySpecListenerTlsValidationTrustPtrOutputWithContext(context.Background()) } -func (i *virtualNodeSpecBackendDefaultsPtrType) ToVirtualNodeSpecBackendDefaultsPtrOutputWithContext(ctx context.Context) VirtualNodeSpecBackendDefaultsPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecBackendDefaultsPtrOutput) +func (i *virtualGatewaySpecListenerTlsValidationTrustPtrType) ToVirtualGatewaySpecListenerTlsValidationTrustPtrOutputWithContext(ctx context.Context) VirtualGatewaySpecListenerTlsValidationTrustPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualGatewaySpecListenerTlsValidationTrustPtrOutput) } -type VirtualNodeSpecBackendDefaultsOutput struct{ *pulumi.OutputState } +type VirtualGatewaySpecListenerTlsValidationTrustOutput struct{ *pulumi.OutputState } -func (VirtualNodeSpecBackendDefaultsOutput) ElementType() reflect.Type { - return reflect.TypeOf((*VirtualNodeSpecBackendDefaults)(nil)).Elem() +func (VirtualGatewaySpecListenerTlsValidationTrustOutput) ElementType() reflect.Type { + return reflect.TypeOf((*VirtualGatewaySpecListenerTlsValidationTrust)(nil)).Elem() } -func (o VirtualNodeSpecBackendDefaultsOutput) ToVirtualNodeSpecBackendDefaultsOutput() VirtualNodeSpecBackendDefaultsOutput { +func (o VirtualGatewaySpecListenerTlsValidationTrustOutput) ToVirtualGatewaySpecListenerTlsValidationTrustOutput() VirtualGatewaySpecListenerTlsValidationTrustOutput { return o } -func (o VirtualNodeSpecBackendDefaultsOutput) ToVirtualNodeSpecBackendDefaultsOutputWithContext(ctx context.Context) VirtualNodeSpecBackendDefaultsOutput { +func (o VirtualGatewaySpecListenerTlsValidationTrustOutput) ToVirtualGatewaySpecListenerTlsValidationTrustOutputWithContext(ctx context.Context) VirtualGatewaySpecListenerTlsValidationTrustOutput { return o } -func (o VirtualNodeSpecBackendDefaultsOutput) ToVirtualNodeSpecBackendDefaultsPtrOutput() VirtualNodeSpecBackendDefaultsPtrOutput { - return o.ToVirtualNodeSpecBackendDefaultsPtrOutputWithContext(context.Background()) +func (o VirtualGatewaySpecListenerTlsValidationTrustOutput) ToVirtualGatewaySpecListenerTlsValidationTrustPtrOutput() VirtualGatewaySpecListenerTlsValidationTrustPtrOutput { + return o.ToVirtualGatewaySpecListenerTlsValidationTrustPtrOutputWithContext(context.Background()) } -func (o VirtualNodeSpecBackendDefaultsOutput) ToVirtualNodeSpecBackendDefaultsPtrOutputWithContext(ctx context.Context) VirtualNodeSpecBackendDefaultsPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v VirtualNodeSpecBackendDefaults) *VirtualNodeSpecBackendDefaults { +func (o VirtualGatewaySpecListenerTlsValidationTrustOutput) ToVirtualGatewaySpecListenerTlsValidationTrustPtrOutputWithContext(ctx context.Context) VirtualGatewaySpecListenerTlsValidationTrustPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v VirtualGatewaySpecListenerTlsValidationTrust) *VirtualGatewaySpecListenerTlsValidationTrust { return &v - }).(VirtualNodeSpecBackendDefaultsPtrOutput) + }).(VirtualGatewaySpecListenerTlsValidationTrustPtrOutput) } -// Default client policy for virtual service backends. See above for details. -func (o VirtualNodeSpecBackendDefaultsOutput) ClientPolicy() VirtualNodeSpecBackendDefaultsClientPolicyPtrOutput { - return o.ApplyT(func(v VirtualNodeSpecBackendDefaults) *VirtualNodeSpecBackendDefaultsClientPolicy { - return v.ClientPolicy - }).(VirtualNodeSpecBackendDefaultsClientPolicyPtrOutput) +// TLS validation context trust for a local file certificate. +func (o VirtualGatewaySpecListenerTlsValidationTrustOutput) File() VirtualGatewaySpecListenerTlsValidationTrustFilePtrOutput { + return o.ApplyT(func(v VirtualGatewaySpecListenerTlsValidationTrust) *VirtualGatewaySpecListenerTlsValidationTrustFile { + return v.File + }).(VirtualGatewaySpecListenerTlsValidationTrustFilePtrOutput) } -type VirtualNodeSpecBackendDefaultsPtrOutput struct{ *pulumi.OutputState } +// TLS validation context trust for a [Secret Discovery Service](https://www.envoyproxy.io/docs/envoy/latest/configuration/security/secret#secret-discovery-service-sds) certificate. +func (o VirtualGatewaySpecListenerTlsValidationTrustOutput) Sds() VirtualGatewaySpecListenerTlsValidationTrustSdsPtrOutput { + return o.ApplyT(func(v VirtualGatewaySpecListenerTlsValidationTrust) *VirtualGatewaySpecListenerTlsValidationTrustSds { + return v.Sds + }).(VirtualGatewaySpecListenerTlsValidationTrustSdsPtrOutput) +} -func (VirtualNodeSpecBackendDefaultsPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**VirtualNodeSpecBackendDefaults)(nil)).Elem() +type VirtualGatewaySpecListenerTlsValidationTrustPtrOutput struct{ *pulumi.OutputState } + +func (VirtualGatewaySpecListenerTlsValidationTrustPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**VirtualGatewaySpecListenerTlsValidationTrust)(nil)).Elem() } -func (o VirtualNodeSpecBackendDefaultsPtrOutput) ToVirtualNodeSpecBackendDefaultsPtrOutput() VirtualNodeSpecBackendDefaultsPtrOutput { +func (o VirtualGatewaySpecListenerTlsValidationTrustPtrOutput) ToVirtualGatewaySpecListenerTlsValidationTrustPtrOutput() VirtualGatewaySpecListenerTlsValidationTrustPtrOutput { return o } -func (o VirtualNodeSpecBackendDefaultsPtrOutput) ToVirtualNodeSpecBackendDefaultsPtrOutputWithContext(ctx context.Context) VirtualNodeSpecBackendDefaultsPtrOutput { +func (o VirtualGatewaySpecListenerTlsValidationTrustPtrOutput) ToVirtualGatewaySpecListenerTlsValidationTrustPtrOutputWithContext(ctx context.Context) VirtualGatewaySpecListenerTlsValidationTrustPtrOutput { return o } -func (o VirtualNodeSpecBackendDefaultsPtrOutput) Elem() VirtualNodeSpecBackendDefaultsOutput { - return o.ApplyT(func(v *VirtualNodeSpecBackendDefaults) VirtualNodeSpecBackendDefaults { +func (o VirtualGatewaySpecListenerTlsValidationTrustPtrOutput) Elem() VirtualGatewaySpecListenerTlsValidationTrustOutput { + return o.ApplyT(func(v *VirtualGatewaySpecListenerTlsValidationTrust) VirtualGatewaySpecListenerTlsValidationTrust { if v != nil { return *v } - var ret VirtualNodeSpecBackendDefaults + var ret VirtualGatewaySpecListenerTlsValidationTrust return ret - }).(VirtualNodeSpecBackendDefaultsOutput) + }).(VirtualGatewaySpecListenerTlsValidationTrustOutput) } -// Default client policy for virtual service backends. See above for details. -func (o VirtualNodeSpecBackendDefaultsPtrOutput) ClientPolicy() VirtualNodeSpecBackendDefaultsClientPolicyPtrOutput { - return o.ApplyT(func(v *VirtualNodeSpecBackendDefaults) *VirtualNodeSpecBackendDefaultsClientPolicy { +// TLS validation context trust for a local file certificate. +func (o VirtualGatewaySpecListenerTlsValidationTrustPtrOutput) File() VirtualGatewaySpecListenerTlsValidationTrustFilePtrOutput { + return o.ApplyT(func(v *VirtualGatewaySpecListenerTlsValidationTrust) *VirtualGatewaySpecListenerTlsValidationTrustFile { if v == nil { return nil } - return v.ClientPolicy - }).(VirtualNodeSpecBackendDefaultsClientPolicyPtrOutput) + return v.File + }).(VirtualGatewaySpecListenerTlsValidationTrustFilePtrOutput) } -type VirtualNodeSpecBackendDefaultsClientPolicy struct { - // Transport Layer Security (TLS) client policy. - Tls *VirtualNodeSpecBackendDefaultsClientPolicyTls `pulumi:"tls"` +// TLS validation context trust for a [Secret Discovery Service](https://www.envoyproxy.io/docs/envoy/latest/configuration/security/secret#secret-discovery-service-sds) certificate. +func (o VirtualGatewaySpecListenerTlsValidationTrustPtrOutput) Sds() VirtualGatewaySpecListenerTlsValidationTrustSdsPtrOutput { + return o.ApplyT(func(v *VirtualGatewaySpecListenerTlsValidationTrust) *VirtualGatewaySpecListenerTlsValidationTrustSds { + if v == nil { + return nil + } + return v.Sds + }).(VirtualGatewaySpecListenerTlsValidationTrustSdsPtrOutput) } -// VirtualNodeSpecBackendDefaultsClientPolicyInput is an input type that accepts VirtualNodeSpecBackendDefaultsClientPolicyArgs and VirtualNodeSpecBackendDefaultsClientPolicyOutput values. -// You can construct a concrete instance of `VirtualNodeSpecBackendDefaultsClientPolicyInput` via: +type VirtualGatewaySpecListenerTlsValidationTrustFile struct { + // Certificate trust chain for a certificate stored on the file system of the mesh endpoint that the proxy is running on. Must be between 1 and 255 characters in length. + CertificateChain string `pulumi:"certificateChain"` +} + +// VirtualGatewaySpecListenerTlsValidationTrustFileInput is an input type that accepts VirtualGatewaySpecListenerTlsValidationTrustFileArgs and VirtualGatewaySpecListenerTlsValidationTrustFileOutput values. +// You can construct a concrete instance of `VirtualGatewaySpecListenerTlsValidationTrustFileInput` via: // -// VirtualNodeSpecBackendDefaultsClientPolicyArgs{...} -type VirtualNodeSpecBackendDefaultsClientPolicyInput interface { +// VirtualGatewaySpecListenerTlsValidationTrustFileArgs{...} +type VirtualGatewaySpecListenerTlsValidationTrustFileInput interface { pulumi.Input - ToVirtualNodeSpecBackendDefaultsClientPolicyOutput() VirtualNodeSpecBackendDefaultsClientPolicyOutput - ToVirtualNodeSpecBackendDefaultsClientPolicyOutputWithContext(context.Context) VirtualNodeSpecBackendDefaultsClientPolicyOutput + ToVirtualGatewaySpecListenerTlsValidationTrustFileOutput() VirtualGatewaySpecListenerTlsValidationTrustFileOutput + ToVirtualGatewaySpecListenerTlsValidationTrustFileOutputWithContext(context.Context) VirtualGatewaySpecListenerTlsValidationTrustFileOutput } -type VirtualNodeSpecBackendDefaultsClientPolicyArgs struct { - // Transport Layer Security (TLS) client policy. - Tls VirtualNodeSpecBackendDefaultsClientPolicyTlsPtrInput `pulumi:"tls"` +type VirtualGatewaySpecListenerTlsValidationTrustFileArgs struct { + // Certificate trust chain for a certificate stored on the file system of the mesh endpoint that the proxy is running on. Must be between 1 and 255 characters in length. + CertificateChain pulumi.StringInput `pulumi:"certificateChain"` } -func (VirtualNodeSpecBackendDefaultsClientPolicyArgs) ElementType() reflect.Type { - return reflect.TypeOf((*VirtualNodeSpecBackendDefaultsClientPolicy)(nil)).Elem() +func (VirtualGatewaySpecListenerTlsValidationTrustFileArgs) ElementType() reflect.Type { + return reflect.TypeOf((*VirtualGatewaySpecListenerTlsValidationTrustFile)(nil)).Elem() } -func (i VirtualNodeSpecBackendDefaultsClientPolicyArgs) ToVirtualNodeSpecBackendDefaultsClientPolicyOutput() VirtualNodeSpecBackendDefaultsClientPolicyOutput { - return i.ToVirtualNodeSpecBackendDefaultsClientPolicyOutputWithContext(context.Background()) +func (i VirtualGatewaySpecListenerTlsValidationTrustFileArgs) ToVirtualGatewaySpecListenerTlsValidationTrustFileOutput() VirtualGatewaySpecListenerTlsValidationTrustFileOutput { + return i.ToVirtualGatewaySpecListenerTlsValidationTrustFileOutputWithContext(context.Background()) } -func (i VirtualNodeSpecBackendDefaultsClientPolicyArgs) ToVirtualNodeSpecBackendDefaultsClientPolicyOutputWithContext(ctx context.Context) VirtualNodeSpecBackendDefaultsClientPolicyOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecBackendDefaultsClientPolicyOutput) +func (i VirtualGatewaySpecListenerTlsValidationTrustFileArgs) ToVirtualGatewaySpecListenerTlsValidationTrustFileOutputWithContext(ctx context.Context) VirtualGatewaySpecListenerTlsValidationTrustFileOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualGatewaySpecListenerTlsValidationTrustFileOutput) } -func (i VirtualNodeSpecBackendDefaultsClientPolicyArgs) ToVirtualNodeSpecBackendDefaultsClientPolicyPtrOutput() VirtualNodeSpecBackendDefaultsClientPolicyPtrOutput { - return i.ToVirtualNodeSpecBackendDefaultsClientPolicyPtrOutputWithContext(context.Background()) +func (i VirtualGatewaySpecListenerTlsValidationTrustFileArgs) ToVirtualGatewaySpecListenerTlsValidationTrustFilePtrOutput() VirtualGatewaySpecListenerTlsValidationTrustFilePtrOutput { + return i.ToVirtualGatewaySpecListenerTlsValidationTrustFilePtrOutputWithContext(context.Background()) } -func (i VirtualNodeSpecBackendDefaultsClientPolicyArgs) ToVirtualNodeSpecBackendDefaultsClientPolicyPtrOutputWithContext(ctx context.Context) VirtualNodeSpecBackendDefaultsClientPolicyPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecBackendDefaultsClientPolicyOutput).ToVirtualNodeSpecBackendDefaultsClientPolicyPtrOutputWithContext(ctx) +func (i VirtualGatewaySpecListenerTlsValidationTrustFileArgs) ToVirtualGatewaySpecListenerTlsValidationTrustFilePtrOutputWithContext(ctx context.Context) VirtualGatewaySpecListenerTlsValidationTrustFilePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualGatewaySpecListenerTlsValidationTrustFileOutput).ToVirtualGatewaySpecListenerTlsValidationTrustFilePtrOutputWithContext(ctx) } -// VirtualNodeSpecBackendDefaultsClientPolicyPtrInput is an input type that accepts VirtualNodeSpecBackendDefaultsClientPolicyArgs, VirtualNodeSpecBackendDefaultsClientPolicyPtr and VirtualNodeSpecBackendDefaultsClientPolicyPtrOutput values. -// You can construct a concrete instance of `VirtualNodeSpecBackendDefaultsClientPolicyPtrInput` via: +// VirtualGatewaySpecListenerTlsValidationTrustFilePtrInput is an input type that accepts VirtualGatewaySpecListenerTlsValidationTrustFileArgs, VirtualGatewaySpecListenerTlsValidationTrustFilePtr and VirtualGatewaySpecListenerTlsValidationTrustFilePtrOutput values. +// You can construct a concrete instance of `VirtualGatewaySpecListenerTlsValidationTrustFilePtrInput` via: // -// VirtualNodeSpecBackendDefaultsClientPolicyArgs{...} +// VirtualGatewaySpecListenerTlsValidationTrustFileArgs{...} // // or: // // nil -type VirtualNodeSpecBackendDefaultsClientPolicyPtrInput interface { +type VirtualGatewaySpecListenerTlsValidationTrustFilePtrInput interface { pulumi.Input - ToVirtualNodeSpecBackendDefaultsClientPolicyPtrOutput() VirtualNodeSpecBackendDefaultsClientPolicyPtrOutput - ToVirtualNodeSpecBackendDefaultsClientPolicyPtrOutputWithContext(context.Context) VirtualNodeSpecBackendDefaultsClientPolicyPtrOutput + ToVirtualGatewaySpecListenerTlsValidationTrustFilePtrOutput() VirtualGatewaySpecListenerTlsValidationTrustFilePtrOutput + ToVirtualGatewaySpecListenerTlsValidationTrustFilePtrOutputWithContext(context.Context) VirtualGatewaySpecListenerTlsValidationTrustFilePtrOutput } -type virtualNodeSpecBackendDefaultsClientPolicyPtrType VirtualNodeSpecBackendDefaultsClientPolicyArgs +type virtualGatewaySpecListenerTlsValidationTrustFilePtrType VirtualGatewaySpecListenerTlsValidationTrustFileArgs -func VirtualNodeSpecBackendDefaultsClientPolicyPtr(v *VirtualNodeSpecBackendDefaultsClientPolicyArgs) VirtualNodeSpecBackendDefaultsClientPolicyPtrInput { - return (*virtualNodeSpecBackendDefaultsClientPolicyPtrType)(v) +func VirtualGatewaySpecListenerTlsValidationTrustFilePtr(v *VirtualGatewaySpecListenerTlsValidationTrustFileArgs) VirtualGatewaySpecListenerTlsValidationTrustFilePtrInput { + return (*virtualGatewaySpecListenerTlsValidationTrustFilePtrType)(v) } -func (*virtualNodeSpecBackendDefaultsClientPolicyPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**VirtualNodeSpecBackendDefaultsClientPolicy)(nil)).Elem() +func (*virtualGatewaySpecListenerTlsValidationTrustFilePtrType) ElementType() reflect.Type { + return reflect.TypeOf((**VirtualGatewaySpecListenerTlsValidationTrustFile)(nil)).Elem() } -func (i *virtualNodeSpecBackendDefaultsClientPolicyPtrType) ToVirtualNodeSpecBackendDefaultsClientPolicyPtrOutput() VirtualNodeSpecBackendDefaultsClientPolicyPtrOutput { - return i.ToVirtualNodeSpecBackendDefaultsClientPolicyPtrOutputWithContext(context.Background()) +func (i *virtualGatewaySpecListenerTlsValidationTrustFilePtrType) ToVirtualGatewaySpecListenerTlsValidationTrustFilePtrOutput() VirtualGatewaySpecListenerTlsValidationTrustFilePtrOutput { + return i.ToVirtualGatewaySpecListenerTlsValidationTrustFilePtrOutputWithContext(context.Background()) } -func (i *virtualNodeSpecBackendDefaultsClientPolicyPtrType) ToVirtualNodeSpecBackendDefaultsClientPolicyPtrOutputWithContext(ctx context.Context) VirtualNodeSpecBackendDefaultsClientPolicyPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecBackendDefaultsClientPolicyPtrOutput) +func (i *virtualGatewaySpecListenerTlsValidationTrustFilePtrType) ToVirtualGatewaySpecListenerTlsValidationTrustFilePtrOutputWithContext(ctx context.Context) VirtualGatewaySpecListenerTlsValidationTrustFilePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualGatewaySpecListenerTlsValidationTrustFilePtrOutput) } -type VirtualNodeSpecBackendDefaultsClientPolicyOutput struct{ *pulumi.OutputState } +type VirtualGatewaySpecListenerTlsValidationTrustFileOutput struct{ *pulumi.OutputState } -func (VirtualNodeSpecBackendDefaultsClientPolicyOutput) ElementType() reflect.Type { - return reflect.TypeOf((*VirtualNodeSpecBackendDefaultsClientPolicy)(nil)).Elem() +func (VirtualGatewaySpecListenerTlsValidationTrustFileOutput) ElementType() reflect.Type { + return reflect.TypeOf((*VirtualGatewaySpecListenerTlsValidationTrustFile)(nil)).Elem() } -func (o VirtualNodeSpecBackendDefaultsClientPolicyOutput) ToVirtualNodeSpecBackendDefaultsClientPolicyOutput() VirtualNodeSpecBackendDefaultsClientPolicyOutput { +func (o VirtualGatewaySpecListenerTlsValidationTrustFileOutput) ToVirtualGatewaySpecListenerTlsValidationTrustFileOutput() VirtualGatewaySpecListenerTlsValidationTrustFileOutput { return o } -func (o VirtualNodeSpecBackendDefaultsClientPolicyOutput) ToVirtualNodeSpecBackendDefaultsClientPolicyOutputWithContext(ctx context.Context) VirtualNodeSpecBackendDefaultsClientPolicyOutput { +func (o VirtualGatewaySpecListenerTlsValidationTrustFileOutput) ToVirtualGatewaySpecListenerTlsValidationTrustFileOutputWithContext(ctx context.Context) VirtualGatewaySpecListenerTlsValidationTrustFileOutput { return o } -func (o VirtualNodeSpecBackendDefaultsClientPolicyOutput) ToVirtualNodeSpecBackendDefaultsClientPolicyPtrOutput() VirtualNodeSpecBackendDefaultsClientPolicyPtrOutput { - return o.ToVirtualNodeSpecBackendDefaultsClientPolicyPtrOutputWithContext(context.Background()) +func (o VirtualGatewaySpecListenerTlsValidationTrustFileOutput) ToVirtualGatewaySpecListenerTlsValidationTrustFilePtrOutput() VirtualGatewaySpecListenerTlsValidationTrustFilePtrOutput { + return o.ToVirtualGatewaySpecListenerTlsValidationTrustFilePtrOutputWithContext(context.Background()) } -func (o VirtualNodeSpecBackendDefaultsClientPolicyOutput) ToVirtualNodeSpecBackendDefaultsClientPolicyPtrOutputWithContext(ctx context.Context) VirtualNodeSpecBackendDefaultsClientPolicyPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v VirtualNodeSpecBackendDefaultsClientPolicy) *VirtualNodeSpecBackendDefaultsClientPolicy { +func (o VirtualGatewaySpecListenerTlsValidationTrustFileOutput) ToVirtualGatewaySpecListenerTlsValidationTrustFilePtrOutputWithContext(ctx context.Context) VirtualGatewaySpecListenerTlsValidationTrustFilePtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v VirtualGatewaySpecListenerTlsValidationTrustFile) *VirtualGatewaySpecListenerTlsValidationTrustFile { return &v - }).(VirtualNodeSpecBackendDefaultsClientPolicyPtrOutput) + }).(VirtualGatewaySpecListenerTlsValidationTrustFilePtrOutput) } -// Transport Layer Security (TLS) client policy. -func (o VirtualNodeSpecBackendDefaultsClientPolicyOutput) Tls() VirtualNodeSpecBackendDefaultsClientPolicyTlsPtrOutput { - return o.ApplyT(func(v VirtualNodeSpecBackendDefaultsClientPolicy) *VirtualNodeSpecBackendDefaultsClientPolicyTls { - return v.Tls - }).(VirtualNodeSpecBackendDefaultsClientPolicyTlsPtrOutput) +// Certificate trust chain for a certificate stored on the file system of the mesh endpoint that the proxy is running on. Must be between 1 and 255 characters in length. +func (o VirtualGatewaySpecListenerTlsValidationTrustFileOutput) CertificateChain() pulumi.StringOutput { + return o.ApplyT(func(v VirtualGatewaySpecListenerTlsValidationTrustFile) string { return v.CertificateChain }).(pulumi.StringOutput) } -type VirtualNodeSpecBackendDefaultsClientPolicyPtrOutput struct{ *pulumi.OutputState } +type VirtualGatewaySpecListenerTlsValidationTrustFilePtrOutput struct{ *pulumi.OutputState } -func (VirtualNodeSpecBackendDefaultsClientPolicyPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**VirtualNodeSpecBackendDefaultsClientPolicy)(nil)).Elem() +func (VirtualGatewaySpecListenerTlsValidationTrustFilePtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**VirtualGatewaySpecListenerTlsValidationTrustFile)(nil)).Elem() } -func (o VirtualNodeSpecBackendDefaultsClientPolicyPtrOutput) ToVirtualNodeSpecBackendDefaultsClientPolicyPtrOutput() VirtualNodeSpecBackendDefaultsClientPolicyPtrOutput { +func (o VirtualGatewaySpecListenerTlsValidationTrustFilePtrOutput) ToVirtualGatewaySpecListenerTlsValidationTrustFilePtrOutput() VirtualGatewaySpecListenerTlsValidationTrustFilePtrOutput { return o } -func (o VirtualNodeSpecBackendDefaultsClientPolicyPtrOutput) ToVirtualNodeSpecBackendDefaultsClientPolicyPtrOutputWithContext(ctx context.Context) VirtualNodeSpecBackendDefaultsClientPolicyPtrOutput { +func (o VirtualGatewaySpecListenerTlsValidationTrustFilePtrOutput) ToVirtualGatewaySpecListenerTlsValidationTrustFilePtrOutputWithContext(ctx context.Context) VirtualGatewaySpecListenerTlsValidationTrustFilePtrOutput { return o } -func (o VirtualNodeSpecBackendDefaultsClientPolicyPtrOutput) Elem() VirtualNodeSpecBackendDefaultsClientPolicyOutput { - return o.ApplyT(func(v *VirtualNodeSpecBackendDefaultsClientPolicy) VirtualNodeSpecBackendDefaultsClientPolicy { +func (o VirtualGatewaySpecListenerTlsValidationTrustFilePtrOutput) Elem() VirtualGatewaySpecListenerTlsValidationTrustFileOutput { + return o.ApplyT(func(v *VirtualGatewaySpecListenerTlsValidationTrustFile) VirtualGatewaySpecListenerTlsValidationTrustFile { if v != nil { return *v } - var ret VirtualNodeSpecBackendDefaultsClientPolicy + var ret VirtualGatewaySpecListenerTlsValidationTrustFile return ret - }).(VirtualNodeSpecBackendDefaultsClientPolicyOutput) + }).(VirtualGatewaySpecListenerTlsValidationTrustFileOutput) } -// Transport Layer Security (TLS) client policy. -func (o VirtualNodeSpecBackendDefaultsClientPolicyPtrOutput) Tls() VirtualNodeSpecBackendDefaultsClientPolicyTlsPtrOutput { - return o.ApplyT(func(v *VirtualNodeSpecBackendDefaultsClientPolicy) *VirtualNodeSpecBackendDefaultsClientPolicyTls { +// Certificate trust chain for a certificate stored on the file system of the mesh endpoint that the proxy is running on. Must be between 1 and 255 characters in length. +func (o VirtualGatewaySpecListenerTlsValidationTrustFilePtrOutput) CertificateChain() pulumi.StringPtrOutput { + return o.ApplyT(func(v *VirtualGatewaySpecListenerTlsValidationTrustFile) *string { if v == nil { return nil } - return v.Tls - }).(VirtualNodeSpecBackendDefaultsClientPolicyTlsPtrOutput) + return &v.CertificateChain + }).(pulumi.StringPtrOutput) } -type VirtualNodeSpecBackendDefaultsClientPolicyTls struct { - // Listener's TLS certificate. - Certificate *VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificate `pulumi:"certificate"` - // Whether the policy is enforced. Default is `true`. - Enforce *bool `pulumi:"enforce"` - // One or more ports that the policy is enforced for. - Ports []int `pulumi:"ports"` - // Listener's Transport Layer Security (TLS) validation context. - Validation VirtualNodeSpecBackendDefaultsClientPolicyTlsValidation `pulumi:"validation"` +type VirtualGatewaySpecListenerTlsValidationTrustSds struct { + // Name of the secret for a virtual gateway's Transport Layer Security (TLS) Secret Discovery Service validation context trust. + SecretName string `pulumi:"secretName"` } -// VirtualNodeSpecBackendDefaultsClientPolicyTlsInput is an input type that accepts VirtualNodeSpecBackendDefaultsClientPolicyTlsArgs and VirtualNodeSpecBackendDefaultsClientPolicyTlsOutput values. -// You can construct a concrete instance of `VirtualNodeSpecBackendDefaultsClientPolicyTlsInput` via: +// VirtualGatewaySpecListenerTlsValidationTrustSdsInput is an input type that accepts VirtualGatewaySpecListenerTlsValidationTrustSdsArgs and VirtualGatewaySpecListenerTlsValidationTrustSdsOutput values. +// You can construct a concrete instance of `VirtualGatewaySpecListenerTlsValidationTrustSdsInput` via: // -// VirtualNodeSpecBackendDefaultsClientPolicyTlsArgs{...} -type VirtualNodeSpecBackendDefaultsClientPolicyTlsInput interface { +// VirtualGatewaySpecListenerTlsValidationTrustSdsArgs{...} +type VirtualGatewaySpecListenerTlsValidationTrustSdsInput interface { pulumi.Input - ToVirtualNodeSpecBackendDefaultsClientPolicyTlsOutput() VirtualNodeSpecBackendDefaultsClientPolicyTlsOutput - ToVirtualNodeSpecBackendDefaultsClientPolicyTlsOutputWithContext(context.Context) VirtualNodeSpecBackendDefaultsClientPolicyTlsOutput + ToVirtualGatewaySpecListenerTlsValidationTrustSdsOutput() VirtualGatewaySpecListenerTlsValidationTrustSdsOutput + ToVirtualGatewaySpecListenerTlsValidationTrustSdsOutputWithContext(context.Context) VirtualGatewaySpecListenerTlsValidationTrustSdsOutput } -type VirtualNodeSpecBackendDefaultsClientPolicyTlsArgs struct { - // Listener's TLS certificate. - Certificate VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificatePtrInput `pulumi:"certificate"` - // Whether the policy is enforced. Default is `true`. - Enforce pulumi.BoolPtrInput `pulumi:"enforce"` - // One or more ports that the policy is enforced for. - Ports pulumi.IntArrayInput `pulumi:"ports"` - // Listener's Transport Layer Security (TLS) validation context. - Validation VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationInput `pulumi:"validation"` +type VirtualGatewaySpecListenerTlsValidationTrustSdsArgs struct { + // Name of the secret for a virtual gateway's Transport Layer Security (TLS) Secret Discovery Service validation context trust. + SecretName pulumi.StringInput `pulumi:"secretName"` } -func (VirtualNodeSpecBackendDefaultsClientPolicyTlsArgs) ElementType() reflect.Type { - return reflect.TypeOf((*VirtualNodeSpecBackendDefaultsClientPolicyTls)(nil)).Elem() +func (VirtualGatewaySpecListenerTlsValidationTrustSdsArgs) ElementType() reflect.Type { + return reflect.TypeOf((*VirtualGatewaySpecListenerTlsValidationTrustSds)(nil)).Elem() } -func (i VirtualNodeSpecBackendDefaultsClientPolicyTlsArgs) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsOutput() VirtualNodeSpecBackendDefaultsClientPolicyTlsOutput { - return i.ToVirtualNodeSpecBackendDefaultsClientPolicyTlsOutputWithContext(context.Background()) +func (i VirtualGatewaySpecListenerTlsValidationTrustSdsArgs) ToVirtualGatewaySpecListenerTlsValidationTrustSdsOutput() VirtualGatewaySpecListenerTlsValidationTrustSdsOutput { + return i.ToVirtualGatewaySpecListenerTlsValidationTrustSdsOutputWithContext(context.Background()) } -func (i VirtualNodeSpecBackendDefaultsClientPolicyTlsArgs) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsOutputWithContext(ctx context.Context) VirtualNodeSpecBackendDefaultsClientPolicyTlsOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecBackendDefaultsClientPolicyTlsOutput) +func (i VirtualGatewaySpecListenerTlsValidationTrustSdsArgs) ToVirtualGatewaySpecListenerTlsValidationTrustSdsOutputWithContext(ctx context.Context) VirtualGatewaySpecListenerTlsValidationTrustSdsOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualGatewaySpecListenerTlsValidationTrustSdsOutput) } -func (i VirtualNodeSpecBackendDefaultsClientPolicyTlsArgs) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsPtrOutput() VirtualNodeSpecBackendDefaultsClientPolicyTlsPtrOutput { - return i.ToVirtualNodeSpecBackendDefaultsClientPolicyTlsPtrOutputWithContext(context.Background()) +func (i VirtualGatewaySpecListenerTlsValidationTrustSdsArgs) ToVirtualGatewaySpecListenerTlsValidationTrustSdsPtrOutput() VirtualGatewaySpecListenerTlsValidationTrustSdsPtrOutput { + return i.ToVirtualGatewaySpecListenerTlsValidationTrustSdsPtrOutputWithContext(context.Background()) } -func (i VirtualNodeSpecBackendDefaultsClientPolicyTlsArgs) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsPtrOutputWithContext(ctx context.Context) VirtualNodeSpecBackendDefaultsClientPolicyTlsPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecBackendDefaultsClientPolicyTlsOutput).ToVirtualNodeSpecBackendDefaultsClientPolicyTlsPtrOutputWithContext(ctx) +func (i VirtualGatewaySpecListenerTlsValidationTrustSdsArgs) ToVirtualGatewaySpecListenerTlsValidationTrustSdsPtrOutputWithContext(ctx context.Context) VirtualGatewaySpecListenerTlsValidationTrustSdsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualGatewaySpecListenerTlsValidationTrustSdsOutput).ToVirtualGatewaySpecListenerTlsValidationTrustSdsPtrOutputWithContext(ctx) } -// VirtualNodeSpecBackendDefaultsClientPolicyTlsPtrInput is an input type that accepts VirtualNodeSpecBackendDefaultsClientPolicyTlsArgs, VirtualNodeSpecBackendDefaultsClientPolicyTlsPtr and VirtualNodeSpecBackendDefaultsClientPolicyTlsPtrOutput values. -// You can construct a concrete instance of `VirtualNodeSpecBackendDefaultsClientPolicyTlsPtrInput` via: -// -// VirtualNodeSpecBackendDefaultsClientPolicyTlsArgs{...} +// VirtualGatewaySpecListenerTlsValidationTrustSdsPtrInput is an input type that accepts VirtualGatewaySpecListenerTlsValidationTrustSdsArgs, VirtualGatewaySpecListenerTlsValidationTrustSdsPtr and VirtualGatewaySpecListenerTlsValidationTrustSdsPtrOutput values. +// You can construct a concrete instance of `VirtualGatewaySpecListenerTlsValidationTrustSdsPtrInput` via: +// +// VirtualGatewaySpecListenerTlsValidationTrustSdsArgs{...} // // or: // // nil -type VirtualNodeSpecBackendDefaultsClientPolicyTlsPtrInput interface { +type VirtualGatewaySpecListenerTlsValidationTrustSdsPtrInput interface { pulumi.Input - ToVirtualNodeSpecBackendDefaultsClientPolicyTlsPtrOutput() VirtualNodeSpecBackendDefaultsClientPolicyTlsPtrOutput - ToVirtualNodeSpecBackendDefaultsClientPolicyTlsPtrOutputWithContext(context.Context) VirtualNodeSpecBackendDefaultsClientPolicyTlsPtrOutput + ToVirtualGatewaySpecListenerTlsValidationTrustSdsPtrOutput() VirtualGatewaySpecListenerTlsValidationTrustSdsPtrOutput + ToVirtualGatewaySpecListenerTlsValidationTrustSdsPtrOutputWithContext(context.Context) VirtualGatewaySpecListenerTlsValidationTrustSdsPtrOutput } -type virtualNodeSpecBackendDefaultsClientPolicyTlsPtrType VirtualNodeSpecBackendDefaultsClientPolicyTlsArgs +type virtualGatewaySpecListenerTlsValidationTrustSdsPtrType VirtualGatewaySpecListenerTlsValidationTrustSdsArgs -func VirtualNodeSpecBackendDefaultsClientPolicyTlsPtr(v *VirtualNodeSpecBackendDefaultsClientPolicyTlsArgs) VirtualNodeSpecBackendDefaultsClientPolicyTlsPtrInput { - return (*virtualNodeSpecBackendDefaultsClientPolicyTlsPtrType)(v) +func VirtualGatewaySpecListenerTlsValidationTrustSdsPtr(v *VirtualGatewaySpecListenerTlsValidationTrustSdsArgs) VirtualGatewaySpecListenerTlsValidationTrustSdsPtrInput { + return (*virtualGatewaySpecListenerTlsValidationTrustSdsPtrType)(v) } -func (*virtualNodeSpecBackendDefaultsClientPolicyTlsPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**VirtualNodeSpecBackendDefaultsClientPolicyTls)(nil)).Elem() +func (*virtualGatewaySpecListenerTlsValidationTrustSdsPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**VirtualGatewaySpecListenerTlsValidationTrustSds)(nil)).Elem() } -func (i *virtualNodeSpecBackendDefaultsClientPolicyTlsPtrType) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsPtrOutput() VirtualNodeSpecBackendDefaultsClientPolicyTlsPtrOutput { - return i.ToVirtualNodeSpecBackendDefaultsClientPolicyTlsPtrOutputWithContext(context.Background()) +func (i *virtualGatewaySpecListenerTlsValidationTrustSdsPtrType) ToVirtualGatewaySpecListenerTlsValidationTrustSdsPtrOutput() VirtualGatewaySpecListenerTlsValidationTrustSdsPtrOutput { + return i.ToVirtualGatewaySpecListenerTlsValidationTrustSdsPtrOutputWithContext(context.Background()) } -func (i *virtualNodeSpecBackendDefaultsClientPolicyTlsPtrType) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsPtrOutputWithContext(ctx context.Context) VirtualNodeSpecBackendDefaultsClientPolicyTlsPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecBackendDefaultsClientPolicyTlsPtrOutput) +func (i *virtualGatewaySpecListenerTlsValidationTrustSdsPtrType) ToVirtualGatewaySpecListenerTlsValidationTrustSdsPtrOutputWithContext(ctx context.Context) VirtualGatewaySpecListenerTlsValidationTrustSdsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualGatewaySpecListenerTlsValidationTrustSdsPtrOutput) } -type VirtualNodeSpecBackendDefaultsClientPolicyTlsOutput struct{ *pulumi.OutputState } +type VirtualGatewaySpecListenerTlsValidationTrustSdsOutput struct{ *pulumi.OutputState } -func (VirtualNodeSpecBackendDefaultsClientPolicyTlsOutput) ElementType() reflect.Type { - return reflect.TypeOf((*VirtualNodeSpecBackendDefaultsClientPolicyTls)(nil)).Elem() +func (VirtualGatewaySpecListenerTlsValidationTrustSdsOutput) ElementType() reflect.Type { + return reflect.TypeOf((*VirtualGatewaySpecListenerTlsValidationTrustSds)(nil)).Elem() } -func (o VirtualNodeSpecBackendDefaultsClientPolicyTlsOutput) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsOutput() VirtualNodeSpecBackendDefaultsClientPolicyTlsOutput { +func (o VirtualGatewaySpecListenerTlsValidationTrustSdsOutput) ToVirtualGatewaySpecListenerTlsValidationTrustSdsOutput() VirtualGatewaySpecListenerTlsValidationTrustSdsOutput { return o } -func (o VirtualNodeSpecBackendDefaultsClientPolicyTlsOutput) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsOutputWithContext(ctx context.Context) VirtualNodeSpecBackendDefaultsClientPolicyTlsOutput { +func (o VirtualGatewaySpecListenerTlsValidationTrustSdsOutput) ToVirtualGatewaySpecListenerTlsValidationTrustSdsOutputWithContext(ctx context.Context) VirtualGatewaySpecListenerTlsValidationTrustSdsOutput { return o } -func (o VirtualNodeSpecBackendDefaultsClientPolicyTlsOutput) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsPtrOutput() VirtualNodeSpecBackendDefaultsClientPolicyTlsPtrOutput { - return o.ToVirtualNodeSpecBackendDefaultsClientPolicyTlsPtrOutputWithContext(context.Background()) +func (o VirtualGatewaySpecListenerTlsValidationTrustSdsOutput) ToVirtualGatewaySpecListenerTlsValidationTrustSdsPtrOutput() VirtualGatewaySpecListenerTlsValidationTrustSdsPtrOutput { + return o.ToVirtualGatewaySpecListenerTlsValidationTrustSdsPtrOutputWithContext(context.Background()) } -func (o VirtualNodeSpecBackendDefaultsClientPolicyTlsOutput) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsPtrOutputWithContext(ctx context.Context) VirtualNodeSpecBackendDefaultsClientPolicyTlsPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v VirtualNodeSpecBackendDefaultsClientPolicyTls) *VirtualNodeSpecBackendDefaultsClientPolicyTls { +func (o VirtualGatewaySpecListenerTlsValidationTrustSdsOutput) ToVirtualGatewaySpecListenerTlsValidationTrustSdsPtrOutputWithContext(ctx context.Context) VirtualGatewaySpecListenerTlsValidationTrustSdsPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v VirtualGatewaySpecListenerTlsValidationTrustSds) *VirtualGatewaySpecListenerTlsValidationTrustSds { return &v - }).(VirtualNodeSpecBackendDefaultsClientPolicyTlsPtrOutput) -} - -// Listener's TLS certificate. -func (o VirtualNodeSpecBackendDefaultsClientPolicyTlsOutput) Certificate() VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificatePtrOutput { - return o.ApplyT(func(v VirtualNodeSpecBackendDefaultsClientPolicyTls) *VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificate { - return v.Certificate - }).(VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificatePtrOutput) -} - -// Whether the policy is enforced. Default is `true`. -func (o VirtualNodeSpecBackendDefaultsClientPolicyTlsOutput) Enforce() pulumi.BoolPtrOutput { - return o.ApplyT(func(v VirtualNodeSpecBackendDefaultsClientPolicyTls) *bool { return v.Enforce }).(pulumi.BoolPtrOutput) -} - -// One or more ports that the policy is enforced for. -func (o VirtualNodeSpecBackendDefaultsClientPolicyTlsOutput) Ports() pulumi.IntArrayOutput { - return o.ApplyT(func(v VirtualNodeSpecBackendDefaultsClientPolicyTls) []int { return v.Ports }).(pulumi.IntArrayOutput) + }).(VirtualGatewaySpecListenerTlsValidationTrustSdsPtrOutput) } -// Listener's Transport Layer Security (TLS) validation context. -func (o VirtualNodeSpecBackendDefaultsClientPolicyTlsOutput) Validation() VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationOutput { - return o.ApplyT(func(v VirtualNodeSpecBackendDefaultsClientPolicyTls) VirtualNodeSpecBackendDefaultsClientPolicyTlsValidation { - return v.Validation - }).(VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationOutput) +// Name of the secret for a virtual gateway's Transport Layer Security (TLS) Secret Discovery Service validation context trust. +func (o VirtualGatewaySpecListenerTlsValidationTrustSdsOutput) SecretName() pulumi.StringOutput { + return o.ApplyT(func(v VirtualGatewaySpecListenerTlsValidationTrustSds) string { return v.SecretName }).(pulumi.StringOutput) } -type VirtualNodeSpecBackendDefaultsClientPolicyTlsPtrOutput struct{ *pulumi.OutputState } +type VirtualGatewaySpecListenerTlsValidationTrustSdsPtrOutput struct{ *pulumi.OutputState } -func (VirtualNodeSpecBackendDefaultsClientPolicyTlsPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**VirtualNodeSpecBackendDefaultsClientPolicyTls)(nil)).Elem() +func (VirtualGatewaySpecListenerTlsValidationTrustSdsPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**VirtualGatewaySpecListenerTlsValidationTrustSds)(nil)).Elem() } -func (o VirtualNodeSpecBackendDefaultsClientPolicyTlsPtrOutput) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsPtrOutput() VirtualNodeSpecBackendDefaultsClientPolicyTlsPtrOutput { +func (o VirtualGatewaySpecListenerTlsValidationTrustSdsPtrOutput) ToVirtualGatewaySpecListenerTlsValidationTrustSdsPtrOutput() VirtualGatewaySpecListenerTlsValidationTrustSdsPtrOutput { return o } -func (o VirtualNodeSpecBackendDefaultsClientPolicyTlsPtrOutput) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsPtrOutputWithContext(ctx context.Context) VirtualNodeSpecBackendDefaultsClientPolicyTlsPtrOutput { +func (o VirtualGatewaySpecListenerTlsValidationTrustSdsPtrOutput) ToVirtualGatewaySpecListenerTlsValidationTrustSdsPtrOutputWithContext(ctx context.Context) VirtualGatewaySpecListenerTlsValidationTrustSdsPtrOutput { return o } -func (o VirtualNodeSpecBackendDefaultsClientPolicyTlsPtrOutput) Elem() VirtualNodeSpecBackendDefaultsClientPolicyTlsOutput { - return o.ApplyT(func(v *VirtualNodeSpecBackendDefaultsClientPolicyTls) VirtualNodeSpecBackendDefaultsClientPolicyTls { +func (o VirtualGatewaySpecListenerTlsValidationTrustSdsPtrOutput) Elem() VirtualGatewaySpecListenerTlsValidationTrustSdsOutput { + return o.ApplyT(func(v *VirtualGatewaySpecListenerTlsValidationTrustSds) VirtualGatewaySpecListenerTlsValidationTrustSds { if v != nil { return *v } - var ret VirtualNodeSpecBackendDefaultsClientPolicyTls + var ret VirtualGatewaySpecListenerTlsValidationTrustSds return ret - }).(VirtualNodeSpecBackendDefaultsClientPolicyTlsOutput) -} - -// Listener's TLS certificate. -func (o VirtualNodeSpecBackendDefaultsClientPolicyTlsPtrOutput) Certificate() VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificatePtrOutput { - return o.ApplyT(func(v *VirtualNodeSpecBackendDefaultsClientPolicyTls) *VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificate { - if v == nil { - return nil - } - return v.Certificate - }).(VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificatePtrOutput) -} - -// Whether the policy is enforced. Default is `true`. -func (o VirtualNodeSpecBackendDefaultsClientPolicyTlsPtrOutput) Enforce() pulumi.BoolPtrOutput { - return o.ApplyT(func(v *VirtualNodeSpecBackendDefaultsClientPolicyTls) *bool { - if v == nil { - return nil - } - return v.Enforce - }).(pulumi.BoolPtrOutput) -} - -// One or more ports that the policy is enforced for. -func (o VirtualNodeSpecBackendDefaultsClientPolicyTlsPtrOutput) Ports() pulumi.IntArrayOutput { - return o.ApplyT(func(v *VirtualNodeSpecBackendDefaultsClientPolicyTls) []int { - if v == nil { - return nil - } - return v.Ports - }).(pulumi.IntArrayOutput) + }).(VirtualGatewaySpecListenerTlsValidationTrustSdsOutput) } -// Listener's Transport Layer Security (TLS) validation context. -func (o VirtualNodeSpecBackendDefaultsClientPolicyTlsPtrOutput) Validation() VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationPtrOutput { - return o.ApplyT(func(v *VirtualNodeSpecBackendDefaultsClientPolicyTls) *VirtualNodeSpecBackendDefaultsClientPolicyTlsValidation { +// Name of the secret for a virtual gateway's Transport Layer Security (TLS) Secret Discovery Service validation context trust. +func (o VirtualGatewaySpecListenerTlsValidationTrustSdsPtrOutput) SecretName() pulumi.StringPtrOutput { + return o.ApplyT(func(v *VirtualGatewaySpecListenerTlsValidationTrustSds) *string { if v == nil { return nil } - return &v.Validation - }).(VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationPtrOutput) + return &v.SecretName + }).(pulumi.StringPtrOutput) } -type VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificate struct { - // Local file certificate. - File *VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateFile `pulumi:"file"` - // A [Secret Discovery Service](https://www.envoyproxy.io/docs/envoy/latest/configuration/security/secret#secret-discovery-service-sds) certificate. - Sds *VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateSds `pulumi:"sds"` +type VirtualGatewaySpecLogging struct { + // Access log configuration for a virtual gateway. + AccessLog *VirtualGatewaySpecLoggingAccessLog `pulumi:"accessLog"` } -// VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateInput is an input type that accepts VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateArgs and VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateOutput values. -// You can construct a concrete instance of `VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateInput` via: +// VirtualGatewaySpecLoggingInput is an input type that accepts VirtualGatewaySpecLoggingArgs and VirtualGatewaySpecLoggingOutput values. +// You can construct a concrete instance of `VirtualGatewaySpecLoggingInput` via: // -// VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateArgs{...} -type VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateInput interface { +// VirtualGatewaySpecLoggingArgs{...} +type VirtualGatewaySpecLoggingInput interface { pulumi.Input - ToVirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateOutput() VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateOutput - ToVirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateOutputWithContext(context.Context) VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateOutput + ToVirtualGatewaySpecLoggingOutput() VirtualGatewaySpecLoggingOutput + ToVirtualGatewaySpecLoggingOutputWithContext(context.Context) VirtualGatewaySpecLoggingOutput } -type VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateArgs struct { - // Local file certificate. - File VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateFilePtrInput `pulumi:"file"` - // A [Secret Discovery Service](https://www.envoyproxy.io/docs/envoy/latest/configuration/security/secret#secret-discovery-service-sds) certificate. - Sds VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateSdsPtrInput `pulumi:"sds"` +type VirtualGatewaySpecLoggingArgs struct { + // Access log configuration for a virtual gateway. + AccessLog VirtualGatewaySpecLoggingAccessLogPtrInput `pulumi:"accessLog"` } -func (VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateArgs) ElementType() reflect.Type { - return reflect.TypeOf((*VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificate)(nil)).Elem() +func (VirtualGatewaySpecLoggingArgs) ElementType() reflect.Type { + return reflect.TypeOf((*VirtualGatewaySpecLogging)(nil)).Elem() } -func (i VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateArgs) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateOutput() VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateOutput { - return i.ToVirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateOutputWithContext(context.Background()) +func (i VirtualGatewaySpecLoggingArgs) ToVirtualGatewaySpecLoggingOutput() VirtualGatewaySpecLoggingOutput { + return i.ToVirtualGatewaySpecLoggingOutputWithContext(context.Background()) } -func (i VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateArgs) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateOutputWithContext(ctx context.Context) VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateOutput) +func (i VirtualGatewaySpecLoggingArgs) ToVirtualGatewaySpecLoggingOutputWithContext(ctx context.Context) VirtualGatewaySpecLoggingOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualGatewaySpecLoggingOutput) } -func (i VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateArgs) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsCertificatePtrOutput() VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificatePtrOutput { - return i.ToVirtualNodeSpecBackendDefaultsClientPolicyTlsCertificatePtrOutputWithContext(context.Background()) +func (i VirtualGatewaySpecLoggingArgs) ToVirtualGatewaySpecLoggingPtrOutput() VirtualGatewaySpecLoggingPtrOutput { + return i.ToVirtualGatewaySpecLoggingPtrOutputWithContext(context.Background()) } -func (i VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateArgs) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsCertificatePtrOutputWithContext(ctx context.Context) VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificatePtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateOutput).ToVirtualNodeSpecBackendDefaultsClientPolicyTlsCertificatePtrOutputWithContext(ctx) +func (i VirtualGatewaySpecLoggingArgs) ToVirtualGatewaySpecLoggingPtrOutputWithContext(ctx context.Context) VirtualGatewaySpecLoggingPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualGatewaySpecLoggingOutput).ToVirtualGatewaySpecLoggingPtrOutputWithContext(ctx) } -// VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificatePtrInput is an input type that accepts VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateArgs, VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificatePtr and VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificatePtrOutput values. -// You can construct a concrete instance of `VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificatePtrInput` via: +// VirtualGatewaySpecLoggingPtrInput is an input type that accepts VirtualGatewaySpecLoggingArgs, VirtualGatewaySpecLoggingPtr and VirtualGatewaySpecLoggingPtrOutput values. +// You can construct a concrete instance of `VirtualGatewaySpecLoggingPtrInput` via: // -// VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateArgs{...} +// VirtualGatewaySpecLoggingArgs{...} // // or: // // nil -type VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificatePtrInput interface { +type VirtualGatewaySpecLoggingPtrInput interface { pulumi.Input - ToVirtualNodeSpecBackendDefaultsClientPolicyTlsCertificatePtrOutput() VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificatePtrOutput - ToVirtualNodeSpecBackendDefaultsClientPolicyTlsCertificatePtrOutputWithContext(context.Context) VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificatePtrOutput + ToVirtualGatewaySpecLoggingPtrOutput() VirtualGatewaySpecLoggingPtrOutput + ToVirtualGatewaySpecLoggingPtrOutputWithContext(context.Context) VirtualGatewaySpecLoggingPtrOutput } -type virtualNodeSpecBackendDefaultsClientPolicyTlsCertificatePtrType VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateArgs +type virtualGatewaySpecLoggingPtrType VirtualGatewaySpecLoggingArgs -func VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificatePtr(v *VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateArgs) VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificatePtrInput { - return (*virtualNodeSpecBackendDefaultsClientPolicyTlsCertificatePtrType)(v) +func VirtualGatewaySpecLoggingPtr(v *VirtualGatewaySpecLoggingArgs) VirtualGatewaySpecLoggingPtrInput { + return (*virtualGatewaySpecLoggingPtrType)(v) } -func (*virtualNodeSpecBackendDefaultsClientPolicyTlsCertificatePtrType) ElementType() reflect.Type { - return reflect.TypeOf((**VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificate)(nil)).Elem() +func (*virtualGatewaySpecLoggingPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**VirtualGatewaySpecLogging)(nil)).Elem() } -func (i *virtualNodeSpecBackendDefaultsClientPolicyTlsCertificatePtrType) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsCertificatePtrOutput() VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificatePtrOutput { - return i.ToVirtualNodeSpecBackendDefaultsClientPolicyTlsCertificatePtrOutputWithContext(context.Background()) +func (i *virtualGatewaySpecLoggingPtrType) ToVirtualGatewaySpecLoggingPtrOutput() VirtualGatewaySpecLoggingPtrOutput { + return i.ToVirtualGatewaySpecLoggingPtrOutputWithContext(context.Background()) } -func (i *virtualNodeSpecBackendDefaultsClientPolicyTlsCertificatePtrType) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsCertificatePtrOutputWithContext(ctx context.Context) VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificatePtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificatePtrOutput) +func (i *virtualGatewaySpecLoggingPtrType) ToVirtualGatewaySpecLoggingPtrOutputWithContext(ctx context.Context) VirtualGatewaySpecLoggingPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualGatewaySpecLoggingPtrOutput) } -type VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateOutput struct{ *pulumi.OutputState } +type VirtualGatewaySpecLoggingOutput struct{ *pulumi.OutputState } -func (VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateOutput) ElementType() reflect.Type { - return reflect.TypeOf((*VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificate)(nil)).Elem() +func (VirtualGatewaySpecLoggingOutput) ElementType() reflect.Type { + return reflect.TypeOf((*VirtualGatewaySpecLogging)(nil)).Elem() } -func (o VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateOutput) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateOutput() VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateOutput { +func (o VirtualGatewaySpecLoggingOutput) ToVirtualGatewaySpecLoggingOutput() VirtualGatewaySpecLoggingOutput { return o } -func (o VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateOutput) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateOutputWithContext(ctx context.Context) VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateOutput { +func (o VirtualGatewaySpecLoggingOutput) ToVirtualGatewaySpecLoggingOutputWithContext(ctx context.Context) VirtualGatewaySpecLoggingOutput { return o } -func (o VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateOutput) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsCertificatePtrOutput() VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificatePtrOutput { - return o.ToVirtualNodeSpecBackendDefaultsClientPolicyTlsCertificatePtrOutputWithContext(context.Background()) +func (o VirtualGatewaySpecLoggingOutput) ToVirtualGatewaySpecLoggingPtrOutput() VirtualGatewaySpecLoggingPtrOutput { + return o.ToVirtualGatewaySpecLoggingPtrOutputWithContext(context.Background()) } -func (o VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateOutput) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsCertificatePtrOutputWithContext(ctx context.Context) VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificatePtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificate) *VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificate { +func (o VirtualGatewaySpecLoggingOutput) ToVirtualGatewaySpecLoggingPtrOutputWithContext(ctx context.Context) VirtualGatewaySpecLoggingPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v VirtualGatewaySpecLogging) *VirtualGatewaySpecLogging { return &v - }).(VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificatePtrOutput) -} - -// Local file certificate. -func (o VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateOutput) File() VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateFilePtrOutput { - return o.ApplyT(func(v VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificate) *VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateFile { - return v.File - }).(VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateFilePtrOutput) + }).(VirtualGatewaySpecLoggingPtrOutput) } -// A [Secret Discovery Service](https://www.envoyproxy.io/docs/envoy/latest/configuration/security/secret#secret-discovery-service-sds) certificate. -func (o VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateOutput) Sds() VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateSdsPtrOutput { - return o.ApplyT(func(v VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificate) *VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateSds { - return v.Sds - }).(VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateSdsPtrOutput) +// Access log configuration for a virtual gateway. +func (o VirtualGatewaySpecLoggingOutput) AccessLog() VirtualGatewaySpecLoggingAccessLogPtrOutput { + return o.ApplyT(func(v VirtualGatewaySpecLogging) *VirtualGatewaySpecLoggingAccessLog { return v.AccessLog }).(VirtualGatewaySpecLoggingAccessLogPtrOutput) } -type VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificatePtrOutput struct{ *pulumi.OutputState } +type VirtualGatewaySpecLoggingPtrOutput struct{ *pulumi.OutputState } -func (VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificatePtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificate)(nil)).Elem() +func (VirtualGatewaySpecLoggingPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**VirtualGatewaySpecLogging)(nil)).Elem() } -func (o VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificatePtrOutput) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsCertificatePtrOutput() VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificatePtrOutput { +func (o VirtualGatewaySpecLoggingPtrOutput) ToVirtualGatewaySpecLoggingPtrOutput() VirtualGatewaySpecLoggingPtrOutput { return o } -func (o VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificatePtrOutput) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsCertificatePtrOutputWithContext(ctx context.Context) VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificatePtrOutput { +func (o VirtualGatewaySpecLoggingPtrOutput) ToVirtualGatewaySpecLoggingPtrOutputWithContext(ctx context.Context) VirtualGatewaySpecLoggingPtrOutput { return o } -func (o VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificatePtrOutput) Elem() VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateOutput { - return o.ApplyT(func(v *VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificate) VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificate { +func (o VirtualGatewaySpecLoggingPtrOutput) Elem() VirtualGatewaySpecLoggingOutput { + return o.ApplyT(func(v *VirtualGatewaySpecLogging) VirtualGatewaySpecLogging { if v != nil { return *v } - var ret VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificate + var ret VirtualGatewaySpecLogging return ret - }).(VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateOutput) -} - -// Local file certificate. -func (o VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificatePtrOutput) File() VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateFilePtrOutput { - return o.ApplyT(func(v *VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificate) *VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateFile { - if v == nil { - return nil - } - return v.File - }).(VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateFilePtrOutput) + }).(VirtualGatewaySpecLoggingOutput) } -// A [Secret Discovery Service](https://www.envoyproxy.io/docs/envoy/latest/configuration/security/secret#secret-discovery-service-sds) certificate. -func (o VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificatePtrOutput) Sds() VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateSdsPtrOutput { - return o.ApplyT(func(v *VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificate) *VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateSds { +// Access log configuration for a virtual gateway. +func (o VirtualGatewaySpecLoggingPtrOutput) AccessLog() VirtualGatewaySpecLoggingAccessLogPtrOutput { + return o.ApplyT(func(v *VirtualGatewaySpecLogging) *VirtualGatewaySpecLoggingAccessLog { if v == nil { return nil } - return v.Sds - }).(VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateSdsPtrOutput) + return v.AccessLog + }).(VirtualGatewaySpecLoggingAccessLogPtrOutput) } -type VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateFile struct { - // Certificate trust chain for a certificate stored on the file system of the mesh endpoint that the proxy is running on. Must be between 1 and 255 characters in length. - CertificateChain string `pulumi:"certificateChain"` - // Private key for a certificate stored on the file system of the virtual node that the proxy is running on. Must be between 1 and 255 characters in length. - PrivateKey string `pulumi:"privateKey"` +type VirtualGatewaySpecLoggingAccessLog struct { + // File object to send virtual gateway access logs to. + File *VirtualGatewaySpecLoggingAccessLogFile `pulumi:"file"` } -// VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateFileInput is an input type that accepts VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateFileArgs and VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateFileOutput values. -// You can construct a concrete instance of `VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateFileInput` via: +// VirtualGatewaySpecLoggingAccessLogInput is an input type that accepts VirtualGatewaySpecLoggingAccessLogArgs and VirtualGatewaySpecLoggingAccessLogOutput values. +// You can construct a concrete instance of `VirtualGatewaySpecLoggingAccessLogInput` via: // -// VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateFileArgs{...} -type VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateFileInput interface { +// VirtualGatewaySpecLoggingAccessLogArgs{...} +type VirtualGatewaySpecLoggingAccessLogInput interface { pulumi.Input - ToVirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateFileOutput() VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateFileOutput - ToVirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateFileOutputWithContext(context.Context) VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateFileOutput + ToVirtualGatewaySpecLoggingAccessLogOutput() VirtualGatewaySpecLoggingAccessLogOutput + ToVirtualGatewaySpecLoggingAccessLogOutputWithContext(context.Context) VirtualGatewaySpecLoggingAccessLogOutput } -type VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateFileArgs struct { - // Certificate trust chain for a certificate stored on the file system of the mesh endpoint that the proxy is running on. Must be between 1 and 255 characters in length. - CertificateChain pulumi.StringInput `pulumi:"certificateChain"` - // Private key for a certificate stored on the file system of the virtual node that the proxy is running on. Must be between 1 and 255 characters in length. - PrivateKey pulumi.StringInput `pulumi:"privateKey"` +type VirtualGatewaySpecLoggingAccessLogArgs struct { + // File object to send virtual gateway access logs to. + File VirtualGatewaySpecLoggingAccessLogFilePtrInput `pulumi:"file"` } -func (VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateFileArgs) ElementType() reflect.Type { - return reflect.TypeOf((*VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateFile)(nil)).Elem() +func (VirtualGatewaySpecLoggingAccessLogArgs) ElementType() reflect.Type { + return reflect.TypeOf((*VirtualGatewaySpecLoggingAccessLog)(nil)).Elem() } -func (i VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateFileArgs) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateFileOutput() VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateFileOutput { - return i.ToVirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateFileOutputWithContext(context.Background()) +func (i VirtualGatewaySpecLoggingAccessLogArgs) ToVirtualGatewaySpecLoggingAccessLogOutput() VirtualGatewaySpecLoggingAccessLogOutput { + return i.ToVirtualGatewaySpecLoggingAccessLogOutputWithContext(context.Background()) } -func (i VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateFileArgs) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateFileOutputWithContext(ctx context.Context) VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateFileOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateFileOutput) +func (i VirtualGatewaySpecLoggingAccessLogArgs) ToVirtualGatewaySpecLoggingAccessLogOutputWithContext(ctx context.Context) VirtualGatewaySpecLoggingAccessLogOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualGatewaySpecLoggingAccessLogOutput) } -func (i VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateFileArgs) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateFilePtrOutput() VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateFilePtrOutput { - return i.ToVirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateFilePtrOutputWithContext(context.Background()) +func (i VirtualGatewaySpecLoggingAccessLogArgs) ToVirtualGatewaySpecLoggingAccessLogPtrOutput() VirtualGatewaySpecLoggingAccessLogPtrOutput { + return i.ToVirtualGatewaySpecLoggingAccessLogPtrOutputWithContext(context.Background()) } -func (i VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateFileArgs) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateFilePtrOutputWithContext(ctx context.Context) VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateFilePtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateFileOutput).ToVirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateFilePtrOutputWithContext(ctx) +func (i VirtualGatewaySpecLoggingAccessLogArgs) ToVirtualGatewaySpecLoggingAccessLogPtrOutputWithContext(ctx context.Context) VirtualGatewaySpecLoggingAccessLogPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualGatewaySpecLoggingAccessLogOutput).ToVirtualGatewaySpecLoggingAccessLogPtrOutputWithContext(ctx) } -// VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateFilePtrInput is an input type that accepts VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateFileArgs, VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateFilePtr and VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateFilePtrOutput values. -// You can construct a concrete instance of `VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateFilePtrInput` via: +// VirtualGatewaySpecLoggingAccessLogPtrInput is an input type that accepts VirtualGatewaySpecLoggingAccessLogArgs, VirtualGatewaySpecLoggingAccessLogPtr and VirtualGatewaySpecLoggingAccessLogPtrOutput values. +// You can construct a concrete instance of `VirtualGatewaySpecLoggingAccessLogPtrInput` via: // -// VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateFileArgs{...} +// VirtualGatewaySpecLoggingAccessLogArgs{...} // // or: // // nil -type VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateFilePtrInput interface { +type VirtualGatewaySpecLoggingAccessLogPtrInput interface { pulumi.Input - ToVirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateFilePtrOutput() VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateFilePtrOutput - ToVirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateFilePtrOutputWithContext(context.Context) VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateFilePtrOutput + ToVirtualGatewaySpecLoggingAccessLogPtrOutput() VirtualGatewaySpecLoggingAccessLogPtrOutput + ToVirtualGatewaySpecLoggingAccessLogPtrOutputWithContext(context.Context) VirtualGatewaySpecLoggingAccessLogPtrOutput } -type virtualNodeSpecBackendDefaultsClientPolicyTlsCertificateFilePtrType VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateFileArgs +type virtualGatewaySpecLoggingAccessLogPtrType VirtualGatewaySpecLoggingAccessLogArgs -func VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateFilePtr(v *VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateFileArgs) VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateFilePtrInput { - return (*virtualNodeSpecBackendDefaultsClientPolicyTlsCertificateFilePtrType)(v) +func VirtualGatewaySpecLoggingAccessLogPtr(v *VirtualGatewaySpecLoggingAccessLogArgs) VirtualGatewaySpecLoggingAccessLogPtrInput { + return (*virtualGatewaySpecLoggingAccessLogPtrType)(v) } -func (*virtualNodeSpecBackendDefaultsClientPolicyTlsCertificateFilePtrType) ElementType() reflect.Type { - return reflect.TypeOf((**VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateFile)(nil)).Elem() +func (*virtualGatewaySpecLoggingAccessLogPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**VirtualGatewaySpecLoggingAccessLog)(nil)).Elem() } -func (i *virtualNodeSpecBackendDefaultsClientPolicyTlsCertificateFilePtrType) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateFilePtrOutput() VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateFilePtrOutput { - return i.ToVirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateFilePtrOutputWithContext(context.Background()) +func (i *virtualGatewaySpecLoggingAccessLogPtrType) ToVirtualGatewaySpecLoggingAccessLogPtrOutput() VirtualGatewaySpecLoggingAccessLogPtrOutput { + return i.ToVirtualGatewaySpecLoggingAccessLogPtrOutputWithContext(context.Background()) } -func (i *virtualNodeSpecBackendDefaultsClientPolicyTlsCertificateFilePtrType) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateFilePtrOutputWithContext(ctx context.Context) VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateFilePtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateFilePtrOutput) +func (i *virtualGatewaySpecLoggingAccessLogPtrType) ToVirtualGatewaySpecLoggingAccessLogPtrOutputWithContext(ctx context.Context) VirtualGatewaySpecLoggingAccessLogPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualGatewaySpecLoggingAccessLogPtrOutput) } -type VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateFileOutput struct{ *pulumi.OutputState } +type VirtualGatewaySpecLoggingAccessLogOutput struct{ *pulumi.OutputState } -func (VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateFileOutput) ElementType() reflect.Type { - return reflect.TypeOf((*VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateFile)(nil)).Elem() +func (VirtualGatewaySpecLoggingAccessLogOutput) ElementType() reflect.Type { + return reflect.TypeOf((*VirtualGatewaySpecLoggingAccessLog)(nil)).Elem() } -func (o VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateFileOutput) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateFileOutput() VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateFileOutput { +func (o VirtualGatewaySpecLoggingAccessLogOutput) ToVirtualGatewaySpecLoggingAccessLogOutput() VirtualGatewaySpecLoggingAccessLogOutput { return o } -func (o VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateFileOutput) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateFileOutputWithContext(ctx context.Context) VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateFileOutput { +func (o VirtualGatewaySpecLoggingAccessLogOutput) ToVirtualGatewaySpecLoggingAccessLogOutputWithContext(ctx context.Context) VirtualGatewaySpecLoggingAccessLogOutput { return o } -func (o VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateFileOutput) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateFilePtrOutput() VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateFilePtrOutput { - return o.ToVirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateFilePtrOutputWithContext(context.Background()) +func (o VirtualGatewaySpecLoggingAccessLogOutput) ToVirtualGatewaySpecLoggingAccessLogPtrOutput() VirtualGatewaySpecLoggingAccessLogPtrOutput { + return o.ToVirtualGatewaySpecLoggingAccessLogPtrOutputWithContext(context.Background()) } -func (o VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateFileOutput) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateFilePtrOutputWithContext(ctx context.Context) VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateFilePtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateFile) *VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateFile { +func (o VirtualGatewaySpecLoggingAccessLogOutput) ToVirtualGatewaySpecLoggingAccessLogPtrOutputWithContext(ctx context.Context) VirtualGatewaySpecLoggingAccessLogPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v VirtualGatewaySpecLoggingAccessLog) *VirtualGatewaySpecLoggingAccessLog { return &v - }).(VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateFilePtrOutput) -} - -// Certificate trust chain for a certificate stored on the file system of the mesh endpoint that the proxy is running on. Must be between 1 and 255 characters in length. -func (o VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateFileOutput) CertificateChain() pulumi.StringOutput { - return o.ApplyT(func(v VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateFile) string { return v.CertificateChain }).(pulumi.StringOutput) + }).(VirtualGatewaySpecLoggingAccessLogPtrOutput) } -// Private key for a certificate stored on the file system of the virtual node that the proxy is running on. Must be between 1 and 255 characters in length. -func (o VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateFileOutput) PrivateKey() pulumi.StringOutput { - return o.ApplyT(func(v VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateFile) string { return v.PrivateKey }).(pulumi.StringOutput) +// File object to send virtual gateway access logs to. +func (o VirtualGatewaySpecLoggingAccessLogOutput) File() VirtualGatewaySpecLoggingAccessLogFilePtrOutput { + return o.ApplyT(func(v VirtualGatewaySpecLoggingAccessLog) *VirtualGatewaySpecLoggingAccessLogFile { return v.File }).(VirtualGatewaySpecLoggingAccessLogFilePtrOutput) } -type VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateFilePtrOutput struct{ *pulumi.OutputState } +type VirtualGatewaySpecLoggingAccessLogPtrOutput struct{ *pulumi.OutputState } -func (VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateFilePtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateFile)(nil)).Elem() +func (VirtualGatewaySpecLoggingAccessLogPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**VirtualGatewaySpecLoggingAccessLog)(nil)).Elem() } -func (o VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateFilePtrOutput) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateFilePtrOutput() VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateFilePtrOutput { +func (o VirtualGatewaySpecLoggingAccessLogPtrOutput) ToVirtualGatewaySpecLoggingAccessLogPtrOutput() VirtualGatewaySpecLoggingAccessLogPtrOutput { return o } -func (o VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateFilePtrOutput) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateFilePtrOutputWithContext(ctx context.Context) VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateFilePtrOutput { +func (o VirtualGatewaySpecLoggingAccessLogPtrOutput) ToVirtualGatewaySpecLoggingAccessLogPtrOutputWithContext(ctx context.Context) VirtualGatewaySpecLoggingAccessLogPtrOutput { return o } -func (o VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateFilePtrOutput) Elem() VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateFileOutput { - return o.ApplyT(func(v *VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateFile) VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateFile { +func (o VirtualGatewaySpecLoggingAccessLogPtrOutput) Elem() VirtualGatewaySpecLoggingAccessLogOutput { + return o.ApplyT(func(v *VirtualGatewaySpecLoggingAccessLog) VirtualGatewaySpecLoggingAccessLog { if v != nil { return *v } - var ret VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateFile + var ret VirtualGatewaySpecLoggingAccessLog return ret - }).(VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateFileOutput) -} - -// Certificate trust chain for a certificate stored on the file system of the mesh endpoint that the proxy is running on. Must be between 1 and 255 characters in length. -func (o VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateFilePtrOutput) CertificateChain() pulumi.StringPtrOutput { - return o.ApplyT(func(v *VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateFile) *string { - if v == nil { - return nil - } - return &v.CertificateChain - }).(pulumi.StringPtrOutput) + }).(VirtualGatewaySpecLoggingAccessLogOutput) } -// Private key for a certificate stored on the file system of the virtual node that the proxy is running on. Must be between 1 and 255 characters in length. -func (o VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateFilePtrOutput) PrivateKey() pulumi.StringPtrOutput { - return o.ApplyT(func(v *VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateFile) *string { +// File object to send virtual gateway access logs to. +func (o VirtualGatewaySpecLoggingAccessLogPtrOutput) File() VirtualGatewaySpecLoggingAccessLogFilePtrOutput { + return o.ApplyT(func(v *VirtualGatewaySpecLoggingAccessLog) *VirtualGatewaySpecLoggingAccessLogFile { if v == nil { return nil } - return &v.PrivateKey - }).(pulumi.StringPtrOutput) + return v.File + }).(VirtualGatewaySpecLoggingAccessLogFilePtrOutput) } -type VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateSds struct { - // Name of the secret for a virtual node's Transport Layer Security (TLS) Secret Discovery Service validation context trust. - SecretName string `pulumi:"secretName"` +type VirtualGatewaySpecLoggingAccessLogFile struct { + // The specified format for the logs. + Format *VirtualGatewaySpecLoggingAccessLogFileFormat `pulumi:"format"` + // File path to write access logs to. You can use `/dev/stdout` to send access logs to standard out. Must be between 1 and 255 characters in length. + Path string `pulumi:"path"` } -// VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateSdsInput is an input type that accepts VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateSdsArgs and VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateSdsOutput values. -// You can construct a concrete instance of `VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateSdsInput` via: +// VirtualGatewaySpecLoggingAccessLogFileInput is an input type that accepts VirtualGatewaySpecLoggingAccessLogFileArgs and VirtualGatewaySpecLoggingAccessLogFileOutput values. +// You can construct a concrete instance of `VirtualGatewaySpecLoggingAccessLogFileInput` via: // -// VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateSdsArgs{...} -type VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateSdsInput interface { +// VirtualGatewaySpecLoggingAccessLogFileArgs{...} +type VirtualGatewaySpecLoggingAccessLogFileInput interface { pulumi.Input - ToVirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateSdsOutput() VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateSdsOutput - ToVirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateSdsOutputWithContext(context.Context) VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateSdsOutput + ToVirtualGatewaySpecLoggingAccessLogFileOutput() VirtualGatewaySpecLoggingAccessLogFileOutput + ToVirtualGatewaySpecLoggingAccessLogFileOutputWithContext(context.Context) VirtualGatewaySpecLoggingAccessLogFileOutput } -type VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateSdsArgs struct { - // Name of the secret for a virtual node's Transport Layer Security (TLS) Secret Discovery Service validation context trust. - SecretName pulumi.StringInput `pulumi:"secretName"` +type VirtualGatewaySpecLoggingAccessLogFileArgs struct { + // The specified format for the logs. + Format VirtualGatewaySpecLoggingAccessLogFileFormatPtrInput `pulumi:"format"` + // File path to write access logs to. You can use `/dev/stdout` to send access logs to standard out. Must be between 1 and 255 characters in length. + Path pulumi.StringInput `pulumi:"path"` } -func (VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateSdsArgs) ElementType() reflect.Type { - return reflect.TypeOf((*VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateSds)(nil)).Elem() +func (VirtualGatewaySpecLoggingAccessLogFileArgs) ElementType() reflect.Type { + return reflect.TypeOf((*VirtualGatewaySpecLoggingAccessLogFile)(nil)).Elem() } -func (i VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateSdsArgs) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateSdsOutput() VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateSdsOutput { - return i.ToVirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateSdsOutputWithContext(context.Background()) +func (i VirtualGatewaySpecLoggingAccessLogFileArgs) ToVirtualGatewaySpecLoggingAccessLogFileOutput() VirtualGatewaySpecLoggingAccessLogFileOutput { + return i.ToVirtualGatewaySpecLoggingAccessLogFileOutputWithContext(context.Background()) } -func (i VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateSdsArgs) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateSdsOutputWithContext(ctx context.Context) VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateSdsOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateSdsOutput) +func (i VirtualGatewaySpecLoggingAccessLogFileArgs) ToVirtualGatewaySpecLoggingAccessLogFileOutputWithContext(ctx context.Context) VirtualGatewaySpecLoggingAccessLogFileOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualGatewaySpecLoggingAccessLogFileOutput) } -func (i VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateSdsArgs) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateSdsPtrOutput() VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateSdsPtrOutput { - return i.ToVirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateSdsPtrOutputWithContext(context.Background()) +func (i VirtualGatewaySpecLoggingAccessLogFileArgs) ToVirtualGatewaySpecLoggingAccessLogFilePtrOutput() VirtualGatewaySpecLoggingAccessLogFilePtrOutput { + return i.ToVirtualGatewaySpecLoggingAccessLogFilePtrOutputWithContext(context.Background()) } -func (i VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateSdsArgs) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateSdsPtrOutputWithContext(ctx context.Context) VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateSdsPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateSdsOutput).ToVirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateSdsPtrOutputWithContext(ctx) +func (i VirtualGatewaySpecLoggingAccessLogFileArgs) ToVirtualGatewaySpecLoggingAccessLogFilePtrOutputWithContext(ctx context.Context) VirtualGatewaySpecLoggingAccessLogFilePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualGatewaySpecLoggingAccessLogFileOutput).ToVirtualGatewaySpecLoggingAccessLogFilePtrOutputWithContext(ctx) } -// VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateSdsPtrInput is an input type that accepts VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateSdsArgs, VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateSdsPtr and VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateSdsPtrOutput values. -// You can construct a concrete instance of `VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateSdsPtrInput` via: +// VirtualGatewaySpecLoggingAccessLogFilePtrInput is an input type that accepts VirtualGatewaySpecLoggingAccessLogFileArgs, VirtualGatewaySpecLoggingAccessLogFilePtr and VirtualGatewaySpecLoggingAccessLogFilePtrOutput values. +// You can construct a concrete instance of `VirtualGatewaySpecLoggingAccessLogFilePtrInput` via: // -// VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateSdsArgs{...} +// VirtualGatewaySpecLoggingAccessLogFileArgs{...} // // or: // // nil -type VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateSdsPtrInput interface { +type VirtualGatewaySpecLoggingAccessLogFilePtrInput interface { pulumi.Input - ToVirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateSdsPtrOutput() VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateSdsPtrOutput - ToVirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateSdsPtrOutputWithContext(context.Context) VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateSdsPtrOutput + ToVirtualGatewaySpecLoggingAccessLogFilePtrOutput() VirtualGatewaySpecLoggingAccessLogFilePtrOutput + ToVirtualGatewaySpecLoggingAccessLogFilePtrOutputWithContext(context.Context) VirtualGatewaySpecLoggingAccessLogFilePtrOutput } -type virtualNodeSpecBackendDefaultsClientPolicyTlsCertificateSdsPtrType VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateSdsArgs +type virtualGatewaySpecLoggingAccessLogFilePtrType VirtualGatewaySpecLoggingAccessLogFileArgs -func VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateSdsPtr(v *VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateSdsArgs) VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateSdsPtrInput { - return (*virtualNodeSpecBackendDefaultsClientPolicyTlsCertificateSdsPtrType)(v) +func VirtualGatewaySpecLoggingAccessLogFilePtr(v *VirtualGatewaySpecLoggingAccessLogFileArgs) VirtualGatewaySpecLoggingAccessLogFilePtrInput { + return (*virtualGatewaySpecLoggingAccessLogFilePtrType)(v) } -func (*virtualNodeSpecBackendDefaultsClientPolicyTlsCertificateSdsPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateSds)(nil)).Elem() +func (*virtualGatewaySpecLoggingAccessLogFilePtrType) ElementType() reflect.Type { + return reflect.TypeOf((**VirtualGatewaySpecLoggingAccessLogFile)(nil)).Elem() } -func (i *virtualNodeSpecBackendDefaultsClientPolicyTlsCertificateSdsPtrType) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateSdsPtrOutput() VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateSdsPtrOutput { - return i.ToVirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateSdsPtrOutputWithContext(context.Background()) +func (i *virtualGatewaySpecLoggingAccessLogFilePtrType) ToVirtualGatewaySpecLoggingAccessLogFilePtrOutput() VirtualGatewaySpecLoggingAccessLogFilePtrOutput { + return i.ToVirtualGatewaySpecLoggingAccessLogFilePtrOutputWithContext(context.Background()) } -func (i *virtualNodeSpecBackendDefaultsClientPolicyTlsCertificateSdsPtrType) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateSdsPtrOutputWithContext(ctx context.Context) VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateSdsPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateSdsPtrOutput) +func (i *virtualGatewaySpecLoggingAccessLogFilePtrType) ToVirtualGatewaySpecLoggingAccessLogFilePtrOutputWithContext(ctx context.Context) VirtualGatewaySpecLoggingAccessLogFilePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualGatewaySpecLoggingAccessLogFilePtrOutput) } -type VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateSdsOutput struct{ *pulumi.OutputState } +type VirtualGatewaySpecLoggingAccessLogFileOutput struct{ *pulumi.OutputState } -func (VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateSdsOutput) ElementType() reflect.Type { - return reflect.TypeOf((*VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateSds)(nil)).Elem() +func (VirtualGatewaySpecLoggingAccessLogFileOutput) ElementType() reflect.Type { + return reflect.TypeOf((*VirtualGatewaySpecLoggingAccessLogFile)(nil)).Elem() } -func (o VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateSdsOutput) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateSdsOutput() VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateSdsOutput { +func (o VirtualGatewaySpecLoggingAccessLogFileOutput) ToVirtualGatewaySpecLoggingAccessLogFileOutput() VirtualGatewaySpecLoggingAccessLogFileOutput { return o } -func (o VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateSdsOutput) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateSdsOutputWithContext(ctx context.Context) VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateSdsOutput { +func (o VirtualGatewaySpecLoggingAccessLogFileOutput) ToVirtualGatewaySpecLoggingAccessLogFileOutputWithContext(ctx context.Context) VirtualGatewaySpecLoggingAccessLogFileOutput { return o } -func (o VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateSdsOutput) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateSdsPtrOutput() VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateSdsPtrOutput { - return o.ToVirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateSdsPtrOutputWithContext(context.Background()) +func (o VirtualGatewaySpecLoggingAccessLogFileOutput) ToVirtualGatewaySpecLoggingAccessLogFilePtrOutput() VirtualGatewaySpecLoggingAccessLogFilePtrOutput { + return o.ToVirtualGatewaySpecLoggingAccessLogFilePtrOutputWithContext(context.Background()) } -func (o VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateSdsOutput) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateSdsPtrOutputWithContext(ctx context.Context) VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateSdsPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateSds) *VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateSds { +func (o VirtualGatewaySpecLoggingAccessLogFileOutput) ToVirtualGatewaySpecLoggingAccessLogFilePtrOutputWithContext(ctx context.Context) VirtualGatewaySpecLoggingAccessLogFilePtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v VirtualGatewaySpecLoggingAccessLogFile) *VirtualGatewaySpecLoggingAccessLogFile { return &v - }).(VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateSdsPtrOutput) + }).(VirtualGatewaySpecLoggingAccessLogFilePtrOutput) } -// Name of the secret for a virtual node's Transport Layer Security (TLS) Secret Discovery Service validation context trust. -func (o VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateSdsOutput) SecretName() pulumi.StringOutput { - return o.ApplyT(func(v VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateSds) string { return v.SecretName }).(pulumi.StringOutput) +// The specified format for the logs. +func (o VirtualGatewaySpecLoggingAccessLogFileOutput) Format() VirtualGatewaySpecLoggingAccessLogFileFormatPtrOutput { + return o.ApplyT(func(v VirtualGatewaySpecLoggingAccessLogFile) *VirtualGatewaySpecLoggingAccessLogFileFormat { + return v.Format + }).(VirtualGatewaySpecLoggingAccessLogFileFormatPtrOutput) } -type VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateSdsPtrOutput struct{ *pulumi.OutputState } +// File path to write access logs to. You can use `/dev/stdout` to send access logs to standard out. Must be between 1 and 255 characters in length. +func (o VirtualGatewaySpecLoggingAccessLogFileOutput) Path() pulumi.StringOutput { + return o.ApplyT(func(v VirtualGatewaySpecLoggingAccessLogFile) string { return v.Path }).(pulumi.StringOutput) +} -func (VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateSdsPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateSds)(nil)).Elem() +type VirtualGatewaySpecLoggingAccessLogFilePtrOutput struct{ *pulumi.OutputState } + +func (VirtualGatewaySpecLoggingAccessLogFilePtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**VirtualGatewaySpecLoggingAccessLogFile)(nil)).Elem() } -func (o VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateSdsPtrOutput) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateSdsPtrOutput() VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateSdsPtrOutput { +func (o VirtualGatewaySpecLoggingAccessLogFilePtrOutput) ToVirtualGatewaySpecLoggingAccessLogFilePtrOutput() VirtualGatewaySpecLoggingAccessLogFilePtrOutput { return o } -func (o VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateSdsPtrOutput) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateSdsPtrOutputWithContext(ctx context.Context) VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateSdsPtrOutput { +func (o VirtualGatewaySpecLoggingAccessLogFilePtrOutput) ToVirtualGatewaySpecLoggingAccessLogFilePtrOutputWithContext(ctx context.Context) VirtualGatewaySpecLoggingAccessLogFilePtrOutput { return o } -func (o VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateSdsPtrOutput) Elem() VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateSdsOutput { - return o.ApplyT(func(v *VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateSds) VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateSds { +func (o VirtualGatewaySpecLoggingAccessLogFilePtrOutput) Elem() VirtualGatewaySpecLoggingAccessLogFileOutput { + return o.ApplyT(func(v *VirtualGatewaySpecLoggingAccessLogFile) VirtualGatewaySpecLoggingAccessLogFile { if v != nil { return *v } - var ret VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateSds + var ret VirtualGatewaySpecLoggingAccessLogFile return ret - }).(VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateSdsOutput) + }).(VirtualGatewaySpecLoggingAccessLogFileOutput) } -// Name of the secret for a virtual node's Transport Layer Security (TLS) Secret Discovery Service validation context trust. -func (o VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateSdsPtrOutput) SecretName() pulumi.StringPtrOutput { - return o.ApplyT(func(v *VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateSds) *string { +// The specified format for the logs. +func (o VirtualGatewaySpecLoggingAccessLogFilePtrOutput) Format() VirtualGatewaySpecLoggingAccessLogFileFormatPtrOutput { + return o.ApplyT(func(v *VirtualGatewaySpecLoggingAccessLogFile) *VirtualGatewaySpecLoggingAccessLogFileFormat { if v == nil { return nil } - return &v.SecretName + return v.Format + }).(VirtualGatewaySpecLoggingAccessLogFileFormatPtrOutput) +} + +// File path to write access logs to. You can use `/dev/stdout` to send access logs to standard out. Must be between 1 and 255 characters in length. +func (o VirtualGatewaySpecLoggingAccessLogFilePtrOutput) Path() pulumi.StringPtrOutput { + return o.ApplyT(func(v *VirtualGatewaySpecLoggingAccessLogFile) *string { + if v == nil { + return nil + } + return &v.Path }).(pulumi.StringPtrOutput) } -type VirtualNodeSpecBackendDefaultsClientPolicyTlsValidation struct { - // SANs for a TLS validation context. - SubjectAlternativeNames *VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNames `pulumi:"subjectAlternativeNames"` - // TLS validation context trust. - Trust VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrust `pulumi:"trust"` +type VirtualGatewaySpecLoggingAccessLogFileFormat struct { + // The logging format for JSON. + Jsons []VirtualGatewaySpecLoggingAccessLogFileFormatJson `pulumi:"jsons"` + // The logging format for text. Must be between 1 and 1000 characters in length. + Text *string `pulumi:"text"` } -// VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationInput is an input type that accepts VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationArgs and VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationOutput values. -// You can construct a concrete instance of `VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationInput` via: +// VirtualGatewaySpecLoggingAccessLogFileFormatInput is an input type that accepts VirtualGatewaySpecLoggingAccessLogFileFormatArgs and VirtualGatewaySpecLoggingAccessLogFileFormatOutput values. +// You can construct a concrete instance of `VirtualGatewaySpecLoggingAccessLogFileFormatInput` via: // -// VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationArgs{...} -type VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationInput interface { +// VirtualGatewaySpecLoggingAccessLogFileFormatArgs{...} +type VirtualGatewaySpecLoggingAccessLogFileFormatInput interface { pulumi.Input - ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationOutput() VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationOutput - ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationOutputWithContext(context.Context) VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationOutput + ToVirtualGatewaySpecLoggingAccessLogFileFormatOutput() VirtualGatewaySpecLoggingAccessLogFileFormatOutput + ToVirtualGatewaySpecLoggingAccessLogFileFormatOutputWithContext(context.Context) VirtualGatewaySpecLoggingAccessLogFileFormatOutput } -type VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationArgs struct { - // SANs for a TLS validation context. - SubjectAlternativeNames VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesPtrInput `pulumi:"subjectAlternativeNames"` - // TLS validation context trust. - Trust VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustInput `pulumi:"trust"` +type VirtualGatewaySpecLoggingAccessLogFileFormatArgs struct { + // The logging format for JSON. + Jsons VirtualGatewaySpecLoggingAccessLogFileFormatJsonArrayInput `pulumi:"jsons"` + // The logging format for text. Must be between 1 and 1000 characters in length. + Text pulumi.StringPtrInput `pulumi:"text"` } -func (VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationArgs) ElementType() reflect.Type { - return reflect.TypeOf((*VirtualNodeSpecBackendDefaultsClientPolicyTlsValidation)(nil)).Elem() +func (VirtualGatewaySpecLoggingAccessLogFileFormatArgs) ElementType() reflect.Type { + return reflect.TypeOf((*VirtualGatewaySpecLoggingAccessLogFileFormat)(nil)).Elem() } -func (i VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationArgs) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationOutput() VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationOutput { - return i.ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationOutputWithContext(context.Background()) +func (i VirtualGatewaySpecLoggingAccessLogFileFormatArgs) ToVirtualGatewaySpecLoggingAccessLogFileFormatOutput() VirtualGatewaySpecLoggingAccessLogFileFormatOutput { + return i.ToVirtualGatewaySpecLoggingAccessLogFileFormatOutputWithContext(context.Background()) } -func (i VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationArgs) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationOutputWithContext(ctx context.Context) VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationOutput) +func (i VirtualGatewaySpecLoggingAccessLogFileFormatArgs) ToVirtualGatewaySpecLoggingAccessLogFileFormatOutputWithContext(ctx context.Context) VirtualGatewaySpecLoggingAccessLogFileFormatOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualGatewaySpecLoggingAccessLogFileFormatOutput) } -func (i VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationArgs) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationPtrOutput() VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationPtrOutput { - return i.ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationPtrOutputWithContext(context.Background()) +func (i VirtualGatewaySpecLoggingAccessLogFileFormatArgs) ToVirtualGatewaySpecLoggingAccessLogFileFormatPtrOutput() VirtualGatewaySpecLoggingAccessLogFileFormatPtrOutput { + return i.ToVirtualGatewaySpecLoggingAccessLogFileFormatPtrOutputWithContext(context.Background()) } -func (i VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationArgs) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationPtrOutputWithContext(ctx context.Context) VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationOutput).ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationPtrOutputWithContext(ctx) +func (i VirtualGatewaySpecLoggingAccessLogFileFormatArgs) ToVirtualGatewaySpecLoggingAccessLogFileFormatPtrOutputWithContext(ctx context.Context) VirtualGatewaySpecLoggingAccessLogFileFormatPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualGatewaySpecLoggingAccessLogFileFormatOutput).ToVirtualGatewaySpecLoggingAccessLogFileFormatPtrOutputWithContext(ctx) } -// VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationPtrInput is an input type that accepts VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationArgs, VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationPtr and VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationPtrOutput values. -// You can construct a concrete instance of `VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationPtrInput` via: +// VirtualGatewaySpecLoggingAccessLogFileFormatPtrInput is an input type that accepts VirtualGatewaySpecLoggingAccessLogFileFormatArgs, VirtualGatewaySpecLoggingAccessLogFileFormatPtr and VirtualGatewaySpecLoggingAccessLogFileFormatPtrOutput values. +// You can construct a concrete instance of `VirtualGatewaySpecLoggingAccessLogFileFormatPtrInput` via: // -// VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationArgs{...} +// VirtualGatewaySpecLoggingAccessLogFileFormatArgs{...} // // or: // // nil -type VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationPtrInput interface { +type VirtualGatewaySpecLoggingAccessLogFileFormatPtrInput interface { pulumi.Input - ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationPtrOutput() VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationPtrOutput - ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationPtrOutputWithContext(context.Context) VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationPtrOutput + ToVirtualGatewaySpecLoggingAccessLogFileFormatPtrOutput() VirtualGatewaySpecLoggingAccessLogFileFormatPtrOutput + ToVirtualGatewaySpecLoggingAccessLogFileFormatPtrOutputWithContext(context.Context) VirtualGatewaySpecLoggingAccessLogFileFormatPtrOutput } -type virtualNodeSpecBackendDefaultsClientPolicyTlsValidationPtrType VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationArgs +type virtualGatewaySpecLoggingAccessLogFileFormatPtrType VirtualGatewaySpecLoggingAccessLogFileFormatArgs -func VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationPtr(v *VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationArgs) VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationPtrInput { - return (*virtualNodeSpecBackendDefaultsClientPolicyTlsValidationPtrType)(v) +func VirtualGatewaySpecLoggingAccessLogFileFormatPtr(v *VirtualGatewaySpecLoggingAccessLogFileFormatArgs) VirtualGatewaySpecLoggingAccessLogFileFormatPtrInput { + return (*virtualGatewaySpecLoggingAccessLogFileFormatPtrType)(v) } -func (*virtualNodeSpecBackendDefaultsClientPolicyTlsValidationPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**VirtualNodeSpecBackendDefaultsClientPolicyTlsValidation)(nil)).Elem() +func (*virtualGatewaySpecLoggingAccessLogFileFormatPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**VirtualGatewaySpecLoggingAccessLogFileFormat)(nil)).Elem() } -func (i *virtualNodeSpecBackendDefaultsClientPolicyTlsValidationPtrType) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationPtrOutput() VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationPtrOutput { - return i.ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationPtrOutputWithContext(context.Background()) +func (i *virtualGatewaySpecLoggingAccessLogFileFormatPtrType) ToVirtualGatewaySpecLoggingAccessLogFileFormatPtrOutput() VirtualGatewaySpecLoggingAccessLogFileFormatPtrOutput { + return i.ToVirtualGatewaySpecLoggingAccessLogFileFormatPtrOutputWithContext(context.Background()) } -func (i *virtualNodeSpecBackendDefaultsClientPolicyTlsValidationPtrType) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationPtrOutputWithContext(ctx context.Context) VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationPtrOutput) +func (i *virtualGatewaySpecLoggingAccessLogFileFormatPtrType) ToVirtualGatewaySpecLoggingAccessLogFileFormatPtrOutputWithContext(ctx context.Context) VirtualGatewaySpecLoggingAccessLogFileFormatPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualGatewaySpecLoggingAccessLogFileFormatPtrOutput) } -type VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationOutput struct{ *pulumi.OutputState } +type VirtualGatewaySpecLoggingAccessLogFileFormatOutput struct{ *pulumi.OutputState } -func (VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationOutput) ElementType() reflect.Type { - return reflect.TypeOf((*VirtualNodeSpecBackendDefaultsClientPolicyTlsValidation)(nil)).Elem() +func (VirtualGatewaySpecLoggingAccessLogFileFormatOutput) ElementType() reflect.Type { + return reflect.TypeOf((*VirtualGatewaySpecLoggingAccessLogFileFormat)(nil)).Elem() } -func (o VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationOutput) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationOutput() VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationOutput { +func (o VirtualGatewaySpecLoggingAccessLogFileFormatOutput) ToVirtualGatewaySpecLoggingAccessLogFileFormatOutput() VirtualGatewaySpecLoggingAccessLogFileFormatOutput { return o } -func (o VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationOutput) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationOutputWithContext(ctx context.Context) VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationOutput { +func (o VirtualGatewaySpecLoggingAccessLogFileFormatOutput) ToVirtualGatewaySpecLoggingAccessLogFileFormatOutputWithContext(ctx context.Context) VirtualGatewaySpecLoggingAccessLogFileFormatOutput { return o } -func (o VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationOutput) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationPtrOutput() VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationPtrOutput { - return o.ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationPtrOutputWithContext(context.Background()) +func (o VirtualGatewaySpecLoggingAccessLogFileFormatOutput) ToVirtualGatewaySpecLoggingAccessLogFileFormatPtrOutput() VirtualGatewaySpecLoggingAccessLogFileFormatPtrOutput { + return o.ToVirtualGatewaySpecLoggingAccessLogFileFormatPtrOutputWithContext(context.Background()) } -func (o VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationOutput) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationPtrOutputWithContext(ctx context.Context) VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v VirtualNodeSpecBackendDefaultsClientPolicyTlsValidation) *VirtualNodeSpecBackendDefaultsClientPolicyTlsValidation { +func (o VirtualGatewaySpecLoggingAccessLogFileFormatOutput) ToVirtualGatewaySpecLoggingAccessLogFileFormatPtrOutputWithContext(ctx context.Context) VirtualGatewaySpecLoggingAccessLogFileFormatPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v VirtualGatewaySpecLoggingAccessLogFileFormat) *VirtualGatewaySpecLoggingAccessLogFileFormat { return &v - }).(VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationPtrOutput) + }).(VirtualGatewaySpecLoggingAccessLogFileFormatPtrOutput) } -// SANs for a TLS validation context. -func (o VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationOutput) SubjectAlternativeNames() VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesPtrOutput { - return o.ApplyT(func(v VirtualNodeSpecBackendDefaultsClientPolicyTlsValidation) *VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNames { - return v.SubjectAlternativeNames - }).(VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesPtrOutput) +// The logging format for JSON. +func (o VirtualGatewaySpecLoggingAccessLogFileFormatOutput) Jsons() VirtualGatewaySpecLoggingAccessLogFileFormatJsonArrayOutput { + return o.ApplyT(func(v VirtualGatewaySpecLoggingAccessLogFileFormat) []VirtualGatewaySpecLoggingAccessLogFileFormatJson { + return v.Jsons + }).(VirtualGatewaySpecLoggingAccessLogFileFormatJsonArrayOutput) } -// TLS validation context trust. -func (o VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationOutput) Trust() VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustOutput { - return o.ApplyT(func(v VirtualNodeSpecBackendDefaultsClientPolicyTlsValidation) VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrust { - return v.Trust - }).(VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustOutput) +// The logging format for text. Must be between 1 and 1000 characters in length. +func (o VirtualGatewaySpecLoggingAccessLogFileFormatOutput) Text() pulumi.StringPtrOutput { + return o.ApplyT(func(v VirtualGatewaySpecLoggingAccessLogFileFormat) *string { return v.Text }).(pulumi.StringPtrOutput) } -type VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationPtrOutput struct{ *pulumi.OutputState } +type VirtualGatewaySpecLoggingAccessLogFileFormatPtrOutput struct{ *pulumi.OutputState } -func (VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**VirtualNodeSpecBackendDefaultsClientPolicyTlsValidation)(nil)).Elem() +func (VirtualGatewaySpecLoggingAccessLogFileFormatPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**VirtualGatewaySpecLoggingAccessLogFileFormat)(nil)).Elem() } -func (o VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationPtrOutput) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationPtrOutput() VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationPtrOutput { +func (o VirtualGatewaySpecLoggingAccessLogFileFormatPtrOutput) ToVirtualGatewaySpecLoggingAccessLogFileFormatPtrOutput() VirtualGatewaySpecLoggingAccessLogFileFormatPtrOutput { return o } -func (o VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationPtrOutput) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationPtrOutputWithContext(ctx context.Context) VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationPtrOutput { +func (o VirtualGatewaySpecLoggingAccessLogFileFormatPtrOutput) ToVirtualGatewaySpecLoggingAccessLogFileFormatPtrOutputWithContext(ctx context.Context) VirtualGatewaySpecLoggingAccessLogFileFormatPtrOutput { return o } -func (o VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationPtrOutput) Elem() VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationOutput { - return o.ApplyT(func(v *VirtualNodeSpecBackendDefaultsClientPolicyTlsValidation) VirtualNodeSpecBackendDefaultsClientPolicyTlsValidation { +func (o VirtualGatewaySpecLoggingAccessLogFileFormatPtrOutput) Elem() VirtualGatewaySpecLoggingAccessLogFileFormatOutput { + return o.ApplyT(func(v *VirtualGatewaySpecLoggingAccessLogFileFormat) VirtualGatewaySpecLoggingAccessLogFileFormat { if v != nil { return *v } - var ret VirtualNodeSpecBackendDefaultsClientPolicyTlsValidation + var ret VirtualGatewaySpecLoggingAccessLogFileFormat return ret - }).(VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationOutput) + }).(VirtualGatewaySpecLoggingAccessLogFileFormatOutput) } -// SANs for a TLS validation context. -func (o VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationPtrOutput) SubjectAlternativeNames() VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesPtrOutput { - return o.ApplyT(func(v *VirtualNodeSpecBackendDefaultsClientPolicyTlsValidation) *VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNames { +// The logging format for JSON. +func (o VirtualGatewaySpecLoggingAccessLogFileFormatPtrOutput) Jsons() VirtualGatewaySpecLoggingAccessLogFileFormatJsonArrayOutput { + return o.ApplyT(func(v *VirtualGatewaySpecLoggingAccessLogFileFormat) []VirtualGatewaySpecLoggingAccessLogFileFormatJson { if v == nil { return nil } - return v.SubjectAlternativeNames - }).(VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesPtrOutput) + return v.Jsons + }).(VirtualGatewaySpecLoggingAccessLogFileFormatJsonArrayOutput) } -// TLS validation context trust. -func (o VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationPtrOutput) Trust() VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustPtrOutput { - return o.ApplyT(func(v *VirtualNodeSpecBackendDefaultsClientPolicyTlsValidation) *VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrust { +// The logging format for text. Must be between 1 and 1000 characters in length. +func (o VirtualGatewaySpecLoggingAccessLogFileFormatPtrOutput) Text() pulumi.StringPtrOutput { + return o.ApplyT(func(v *VirtualGatewaySpecLoggingAccessLogFileFormat) *string { if v == nil { return nil } - return &v.Trust - }).(VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustPtrOutput) + return v.Text + }).(pulumi.StringPtrOutput) } -type VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNames struct { - // Criteria for determining a SAN's match. - Match VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatch `pulumi:"match"` +type VirtualGatewaySpecLoggingAccessLogFileFormatJson struct { + // The specified key for the JSON. Must be between 1 and 100 characters in length. + Key string `pulumi:"key"` + // The specified value for the JSON. Must be between 1 and 100 characters in length. + Value string `pulumi:"value"` } -// VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesInput is an input type that accepts VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesArgs and VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesOutput values. -// You can construct a concrete instance of `VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesInput` via: +// VirtualGatewaySpecLoggingAccessLogFileFormatJsonInput is an input type that accepts VirtualGatewaySpecLoggingAccessLogFileFormatJsonArgs and VirtualGatewaySpecLoggingAccessLogFileFormatJsonOutput values. +// You can construct a concrete instance of `VirtualGatewaySpecLoggingAccessLogFileFormatJsonInput` via: // -// VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesArgs{...} -type VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesInput interface { +// VirtualGatewaySpecLoggingAccessLogFileFormatJsonArgs{...} +type VirtualGatewaySpecLoggingAccessLogFileFormatJsonInput interface { pulumi.Input - ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesOutput() VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesOutput - ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesOutputWithContext(context.Context) VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesOutput -} - -type VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesArgs struct { - // Criteria for determining a SAN's match. - Match VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatchInput `pulumi:"match"` -} - -func (VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesArgs) ElementType() reflect.Type { - return reflect.TypeOf((*VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNames)(nil)).Elem() + ToVirtualGatewaySpecLoggingAccessLogFileFormatJsonOutput() VirtualGatewaySpecLoggingAccessLogFileFormatJsonOutput + ToVirtualGatewaySpecLoggingAccessLogFileFormatJsonOutputWithContext(context.Context) VirtualGatewaySpecLoggingAccessLogFileFormatJsonOutput } -func (i VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesArgs) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesOutput() VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesOutput { - return i.ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesOutputWithContext(context.Background()) +type VirtualGatewaySpecLoggingAccessLogFileFormatJsonArgs struct { + // The specified key for the JSON. Must be between 1 and 100 characters in length. + Key pulumi.StringInput `pulumi:"key"` + // The specified value for the JSON. Must be between 1 and 100 characters in length. + Value pulumi.StringInput `pulumi:"value"` } -func (i VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesArgs) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesOutputWithContext(ctx context.Context) VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesOutput) +func (VirtualGatewaySpecLoggingAccessLogFileFormatJsonArgs) ElementType() reflect.Type { + return reflect.TypeOf((*VirtualGatewaySpecLoggingAccessLogFileFormatJson)(nil)).Elem() } -func (i VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesArgs) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesPtrOutput() VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesPtrOutput { - return i.ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesPtrOutputWithContext(context.Background()) +func (i VirtualGatewaySpecLoggingAccessLogFileFormatJsonArgs) ToVirtualGatewaySpecLoggingAccessLogFileFormatJsonOutput() VirtualGatewaySpecLoggingAccessLogFileFormatJsonOutput { + return i.ToVirtualGatewaySpecLoggingAccessLogFileFormatJsonOutputWithContext(context.Background()) } -func (i VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesArgs) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesPtrOutputWithContext(ctx context.Context) VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesOutput).ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesPtrOutputWithContext(ctx) +func (i VirtualGatewaySpecLoggingAccessLogFileFormatJsonArgs) ToVirtualGatewaySpecLoggingAccessLogFileFormatJsonOutputWithContext(ctx context.Context) VirtualGatewaySpecLoggingAccessLogFileFormatJsonOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualGatewaySpecLoggingAccessLogFileFormatJsonOutput) } -// VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesPtrInput is an input type that accepts VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesArgs, VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesPtr and VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesPtrOutput values. -// You can construct a concrete instance of `VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesPtrInput` via: -// -// VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesArgs{...} -// -// or: +// VirtualGatewaySpecLoggingAccessLogFileFormatJsonArrayInput is an input type that accepts VirtualGatewaySpecLoggingAccessLogFileFormatJsonArray and VirtualGatewaySpecLoggingAccessLogFileFormatJsonArrayOutput values. +// You can construct a concrete instance of `VirtualGatewaySpecLoggingAccessLogFileFormatJsonArrayInput` via: // -// nil -type VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesPtrInput interface { +// VirtualGatewaySpecLoggingAccessLogFileFormatJsonArray{ VirtualGatewaySpecLoggingAccessLogFileFormatJsonArgs{...} } +type VirtualGatewaySpecLoggingAccessLogFileFormatJsonArrayInput interface { pulumi.Input - ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesPtrOutput() VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesPtrOutput - ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesPtrOutputWithContext(context.Context) VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesPtrOutput + ToVirtualGatewaySpecLoggingAccessLogFileFormatJsonArrayOutput() VirtualGatewaySpecLoggingAccessLogFileFormatJsonArrayOutput + ToVirtualGatewaySpecLoggingAccessLogFileFormatJsonArrayOutputWithContext(context.Context) VirtualGatewaySpecLoggingAccessLogFileFormatJsonArrayOutput } -type virtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesPtrType VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesArgs - -func VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesPtr(v *VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesArgs) VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesPtrInput { - return (*virtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesPtrType)(v) -} +type VirtualGatewaySpecLoggingAccessLogFileFormatJsonArray []VirtualGatewaySpecLoggingAccessLogFileFormatJsonInput -func (*virtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNames)(nil)).Elem() +func (VirtualGatewaySpecLoggingAccessLogFileFormatJsonArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]VirtualGatewaySpecLoggingAccessLogFileFormatJson)(nil)).Elem() } -func (i *virtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesPtrType) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesPtrOutput() VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesPtrOutput { - return i.ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesPtrOutputWithContext(context.Background()) +func (i VirtualGatewaySpecLoggingAccessLogFileFormatJsonArray) ToVirtualGatewaySpecLoggingAccessLogFileFormatJsonArrayOutput() VirtualGatewaySpecLoggingAccessLogFileFormatJsonArrayOutput { + return i.ToVirtualGatewaySpecLoggingAccessLogFileFormatJsonArrayOutputWithContext(context.Background()) } -func (i *virtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesPtrType) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesPtrOutputWithContext(ctx context.Context) VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesPtrOutput) +func (i VirtualGatewaySpecLoggingAccessLogFileFormatJsonArray) ToVirtualGatewaySpecLoggingAccessLogFileFormatJsonArrayOutputWithContext(ctx context.Context) VirtualGatewaySpecLoggingAccessLogFileFormatJsonArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualGatewaySpecLoggingAccessLogFileFormatJsonArrayOutput) } -type VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesOutput struct{ *pulumi.OutputState } +type VirtualGatewaySpecLoggingAccessLogFileFormatJsonOutput struct{ *pulumi.OutputState } -func (VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesOutput) ElementType() reflect.Type { - return reflect.TypeOf((*VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNames)(nil)).Elem() +func (VirtualGatewaySpecLoggingAccessLogFileFormatJsonOutput) ElementType() reflect.Type { + return reflect.TypeOf((*VirtualGatewaySpecLoggingAccessLogFileFormatJson)(nil)).Elem() } -func (o VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesOutput) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesOutput() VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesOutput { +func (o VirtualGatewaySpecLoggingAccessLogFileFormatJsonOutput) ToVirtualGatewaySpecLoggingAccessLogFileFormatJsonOutput() VirtualGatewaySpecLoggingAccessLogFileFormatJsonOutput { return o } -func (o VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesOutput) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesOutputWithContext(ctx context.Context) VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesOutput { +func (o VirtualGatewaySpecLoggingAccessLogFileFormatJsonOutput) ToVirtualGatewaySpecLoggingAccessLogFileFormatJsonOutputWithContext(ctx context.Context) VirtualGatewaySpecLoggingAccessLogFileFormatJsonOutput { return o } -func (o VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesOutput) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesPtrOutput() VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesPtrOutput { - return o.ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesPtrOutputWithContext(context.Background()) -} - -func (o VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesOutput) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesPtrOutputWithContext(ctx context.Context) VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNames) *VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNames { - return &v - }).(VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesPtrOutput) +// The specified key for the JSON. Must be between 1 and 100 characters in length. +func (o VirtualGatewaySpecLoggingAccessLogFileFormatJsonOutput) Key() pulumi.StringOutput { + return o.ApplyT(func(v VirtualGatewaySpecLoggingAccessLogFileFormatJson) string { return v.Key }).(pulumi.StringOutput) } -// Criteria for determining a SAN's match. -func (o VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesOutput) Match() VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatchOutput { - return o.ApplyT(func(v VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNames) VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatch { - return v.Match - }).(VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatchOutput) +// The specified value for the JSON. Must be between 1 and 100 characters in length. +func (o VirtualGatewaySpecLoggingAccessLogFileFormatJsonOutput) Value() pulumi.StringOutput { + return o.ApplyT(func(v VirtualGatewaySpecLoggingAccessLogFileFormatJson) string { return v.Value }).(pulumi.StringOutput) } -type VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesPtrOutput struct{ *pulumi.OutputState } +type VirtualGatewaySpecLoggingAccessLogFileFormatJsonArrayOutput struct{ *pulumi.OutputState } -func (VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNames)(nil)).Elem() +func (VirtualGatewaySpecLoggingAccessLogFileFormatJsonArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]VirtualGatewaySpecLoggingAccessLogFileFormatJson)(nil)).Elem() } -func (o VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesPtrOutput) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesPtrOutput() VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesPtrOutput { +func (o VirtualGatewaySpecLoggingAccessLogFileFormatJsonArrayOutput) ToVirtualGatewaySpecLoggingAccessLogFileFormatJsonArrayOutput() VirtualGatewaySpecLoggingAccessLogFileFormatJsonArrayOutput { return o } -func (o VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesPtrOutput) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesPtrOutputWithContext(ctx context.Context) VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesPtrOutput { +func (o VirtualGatewaySpecLoggingAccessLogFileFormatJsonArrayOutput) ToVirtualGatewaySpecLoggingAccessLogFileFormatJsonArrayOutputWithContext(ctx context.Context) VirtualGatewaySpecLoggingAccessLogFileFormatJsonArrayOutput { return o } -func (o VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesPtrOutput) Elem() VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesOutput { - return o.ApplyT(func(v *VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNames) VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNames { - if v != nil { - return *v - } - var ret VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNames - return ret - }).(VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesOutput) -} - -// Criteria for determining a SAN's match. -func (o VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesPtrOutput) Match() VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatchPtrOutput { - return o.ApplyT(func(v *VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNames) *VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatch { - if v == nil { - return nil - } - return &v.Match - }).(VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatchPtrOutput) +func (o VirtualGatewaySpecLoggingAccessLogFileFormatJsonArrayOutput) Index(i pulumi.IntInput) VirtualGatewaySpecLoggingAccessLogFileFormatJsonOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) VirtualGatewaySpecLoggingAccessLogFileFormatJson { + return vs[0].([]VirtualGatewaySpecLoggingAccessLogFileFormatJson)[vs[1].(int)] + }).(VirtualGatewaySpecLoggingAccessLogFileFormatJsonOutput) } -type VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatch struct { - // Values sent must match the specified values exactly. - Exacts []string `pulumi:"exacts"` +type VirtualNodeSpec struct { + // Defaults for backends. + BackendDefaults *VirtualNodeSpecBackendDefaults `pulumi:"backendDefaults"` + // Backends to which the virtual node is expected to send outbound traffic. + Backends []VirtualNodeSpecBackend `pulumi:"backends"` + // Listeners from which the virtual node is expected to receive inbound traffic. + Listener *VirtualNodeSpecListener `pulumi:"listener"` + // Inbound and outbound access logging information for the virtual node. + Logging *VirtualNodeSpecLogging `pulumi:"logging"` + // Service discovery information for the virtual node. + ServiceDiscovery *VirtualNodeSpecServiceDiscovery `pulumi:"serviceDiscovery"` } -// VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatchInput is an input type that accepts VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatchArgs and VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatchOutput values. -// You can construct a concrete instance of `VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatchInput` via: +// VirtualNodeSpecInput is an input type that accepts VirtualNodeSpecArgs and VirtualNodeSpecOutput values. +// You can construct a concrete instance of `VirtualNodeSpecInput` via: // -// VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatchArgs{...} -type VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatchInput interface { +// VirtualNodeSpecArgs{...} +type VirtualNodeSpecInput interface { pulumi.Input - ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatchOutput() VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatchOutput - ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatchOutputWithContext(context.Context) VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatchOutput + ToVirtualNodeSpecOutput() VirtualNodeSpecOutput + ToVirtualNodeSpecOutputWithContext(context.Context) VirtualNodeSpecOutput } -type VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatchArgs struct { - // Values sent must match the specified values exactly. - Exacts pulumi.StringArrayInput `pulumi:"exacts"` +type VirtualNodeSpecArgs struct { + // Defaults for backends. + BackendDefaults VirtualNodeSpecBackendDefaultsPtrInput `pulumi:"backendDefaults"` + // Backends to which the virtual node is expected to send outbound traffic. + Backends VirtualNodeSpecBackendArrayInput `pulumi:"backends"` + // Listeners from which the virtual node is expected to receive inbound traffic. + Listener VirtualNodeSpecListenerPtrInput `pulumi:"listener"` + // Inbound and outbound access logging information for the virtual node. + Logging VirtualNodeSpecLoggingPtrInput `pulumi:"logging"` + // Service discovery information for the virtual node. + ServiceDiscovery VirtualNodeSpecServiceDiscoveryPtrInput `pulumi:"serviceDiscovery"` } -func (VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatchArgs) ElementType() reflect.Type { - return reflect.TypeOf((*VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatch)(nil)).Elem() +func (VirtualNodeSpecArgs) ElementType() reflect.Type { + return reflect.TypeOf((*VirtualNodeSpec)(nil)).Elem() } -func (i VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatchArgs) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatchOutput() VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatchOutput { - return i.ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatchOutputWithContext(context.Background()) +func (i VirtualNodeSpecArgs) ToVirtualNodeSpecOutput() VirtualNodeSpecOutput { + return i.ToVirtualNodeSpecOutputWithContext(context.Background()) } -func (i VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatchArgs) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatchOutputWithContext(ctx context.Context) VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatchOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatchOutput) +func (i VirtualNodeSpecArgs) ToVirtualNodeSpecOutputWithContext(ctx context.Context) VirtualNodeSpecOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecOutput) } -func (i VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatchArgs) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatchPtrOutput() VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatchPtrOutput { - return i.ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatchPtrOutputWithContext(context.Background()) +func (i VirtualNodeSpecArgs) ToVirtualNodeSpecPtrOutput() VirtualNodeSpecPtrOutput { + return i.ToVirtualNodeSpecPtrOutputWithContext(context.Background()) } -func (i VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatchArgs) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatchPtrOutputWithContext(ctx context.Context) VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatchPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatchOutput).ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatchPtrOutputWithContext(ctx) +func (i VirtualNodeSpecArgs) ToVirtualNodeSpecPtrOutputWithContext(ctx context.Context) VirtualNodeSpecPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecOutput).ToVirtualNodeSpecPtrOutputWithContext(ctx) } -// VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatchPtrInput is an input type that accepts VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatchArgs, VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatchPtr and VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatchPtrOutput values. -// You can construct a concrete instance of `VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatchPtrInput` via: +// VirtualNodeSpecPtrInput is an input type that accepts VirtualNodeSpecArgs, VirtualNodeSpecPtr and VirtualNodeSpecPtrOutput values. +// You can construct a concrete instance of `VirtualNodeSpecPtrInput` via: // -// VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatchArgs{...} +// VirtualNodeSpecArgs{...} // // or: // // nil -type VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatchPtrInput interface { +type VirtualNodeSpecPtrInput interface { pulumi.Input - ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatchPtrOutput() VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatchPtrOutput - ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatchPtrOutputWithContext(context.Context) VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatchPtrOutput + ToVirtualNodeSpecPtrOutput() VirtualNodeSpecPtrOutput + ToVirtualNodeSpecPtrOutputWithContext(context.Context) VirtualNodeSpecPtrOutput } -type virtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatchPtrType VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatchArgs +type virtualNodeSpecPtrType VirtualNodeSpecArgs -func VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatchPtr(v *VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatchArgs) VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatchPtrInput { - return (*virtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatchPtrType)(v) +func VirtualNodeSpecPtr(v *VirtualNodeSpecArgs) VirtualNodeSpecPtrInput { + return (*virtualNodeSpecPtrType)(v) } -func (*virtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatchPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatch)(nil)).Elem() +func (*virtualNodeSpecPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**VirtualNodeSpec)(nil)).Elem() } -func (i *virtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatchPtrType) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatchPtrOutput() VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatchPtrOutput { - return i.ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatchPtrOutputWithContext(context.Background()) +func (i *virtualNodeSpecPtrType) ToVirtualNodeSpecPtrOutput() VirtualNodeSpecPtrOutput { + return i.ToVirtualNodeSpecPtrOutputWithContext(context.Background()) } -func (i *virtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatchPtrType) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatchPtrOutputWithContext(ctx context.Context) VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatchPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatchPtrOutput) +func (i *virtualNodeSpecPtrType) ToVirtualNodeSpecPtrOutputWithContext(ctx context.Context) VirtualNodeSpecPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecPtrOutput) } -type VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatchOutput struct{ *pulumi.OutputState } +type VirtualNodeSpecOutput struct{ *pulumi.OutputState } -func (VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatchOutput) ElementType() reflect.Type { - return reflect.TypeOf((*VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatch)(nil)).Elem() +func (VirtualNodeSpecOutput) ElementType() reflect.Type { + return reflect.TypeOf((*VirtualNodeSpec)(nil)).Elem() } -func (o VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatchOutput) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatchOutput() VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatchOutput { +func (o VirtualNodeSpecOutput) ToVirtualNodeSpecOutput() VirtualNodeSpecOutput { return o } -func (o VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatchOutput) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatchOutputWithContext(ctx context.Context) VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatchOutput { +func (o VirtualNodeSpecOutput) ToVirtualNodeSpecOutputWithContext(ctx context.Context) VirtualNodeSpecOutput { return o } -func (o VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatchOutput) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatchPtrOutput() VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatchPtrOutput { - return o.ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatchPtrOutputWithContext(context.Background()) +func (o VirtualNodeSpecOutput) ToVirtualNodeSpecPtrOutput() VirtualNodeSpecPtrOutput { + return o.ToVirtualNodeSpecPtrOutputWithContext(context.Background()) } -func (o VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatchOutput) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatchPtrOutputWithContext(ctx context.Context) VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatchPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatch) *VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatch { +func (o VirtualNodeSpecOutput) ToVirtualNodeSpecPtrOutputWithContext(ctx context.Context) VirtualNodeSpecPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v VirtualNodeSpec) *VirtualNodeSpec { return &v - }).(VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatchPtrOutput) + }).(VirtualNodeSpecPtrOutput) } -// Values sent must match the specified values exactly. -func (o VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatchOutput) Exacts() pulumi.StringArrayOutput { - return o.ApplyT(func(v VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatch) []string { - return v.Exacts - }).(pulumi.StringArrayOutput) +// Defaults for backends. +func (o VirtualNodeSpecOutput) BackendDefaults() VirtualNodeSpecBackendDefaultsPtrOutput { + return o.ApplyT(func(v VirtualNodeSpec) *VirtualNodeSpecBackendDefaults { return v.BackendDefaults }).(VirtualNodeSpecBackendDefaultsPtrOutput) } -type VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatchPtrOutput struct{ *pulumi.OutputState } - -func (VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatchPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatch)(nil)).Elem() +// Backends to which the virtual node is expected to send outbound traffic. +func (o VirtualNodeSpecOutput) Backends() VirtualNodeSpecBackendArrayOutput { + return o.ApplyT(func(v VirtualNodeSpec) []VirtualNodeSpecBackend { return v.Backends }).(VirtualNodeSpecBackendArrayOutput) } -func (o VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatchPtrOutput) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatchPtrOutput() VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatchPtrOutput { - return o +// Listeners from which the virtual node is expected to receive inbound traffic. +func (o VirtualNodeSpecOutput) Listener() VirtualNodeSpecListenerPtrOutput { + return o.ApplyT(func(v VirtualNodeSpec) *VirtualNodeSpecListener { return v.Listener }).(VirtualNodeSpecListenerPtrOutput) } -func (o VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatchPtrOutput) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatchPtrOutputWithContext(ctx context.Context) VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatchPtrOutput { - return o +// Inbound and outbound access logging information for the virtual node. +func (o VirtualNodeSpecOutput) Logging() VirtualNodeSpecLoggingPtrOutput { + return o.ApplyT(func(v VirtualNodeSpec) *VirtualNodeSpecLogging { return v.Logging }).(VirtualNodeSpecLoggingPtrOutput) } -func (o VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatchPtrOutput) Elem() VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatchOutput { - return o.ApplyT(func(v *VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatch) VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatch { - if v != nil { - return *v - } - var ret VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatch - return ret - }).(VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatchOutput) +// Service discovery information for the virtual node. +func (o VirtualNodeSpecOutput) ServiceDiscovery() VirtualNodeSpecServiceDiscoveryPtrOutput { + return o.ApplyT(func(v VirtualNodeSpec) *VirtualNodeSpecServiceDiscovery { return v.ServiceDiscovery }).(VirtualNodeSpecServiceDiscoveryPtrOutput) } -// Values sent must match the specified values exactly. -func (o VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatchPtrOutput) Exacts() pulumi.StringArrayOutput { - return o.ApplyT(func(v *VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatch) []string { - if v == nil { - return nil - } - return v.Exacts - }).(pulumi.StringArrayOutput) +type VirtualNodeSpecPtrOutput struct{ *pulumi.OutputState } + +func (VirtualNodeSpecPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**VirtualNodeSpec)(nil)).Elem() } -type VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrust struct { - // TLS validation context trust for an AWS Certificate Manager (ACM) certificate. - Acm *VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcm `pulumi:"acm"` - // TLS validation context trust for a local file certificate. - File *VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFile `pulumi:"file"` - // TLS validation context trust for a [Secret Discovery Service](https://www.envoyproxy.io/docs/envoy/latest/configuration/security/secret#secret-discovery-service-sds) certificate. - Sds *VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustSds `pulumi:"sds"` +func (o VirtualNodeSpecPtrOutput) ToVirtualNodeSpecPtrOutput() VirtualNodeSpecPtrOutput { + return o } -// VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustInput is an input type that accepts VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustArgs and VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustOutput values. -// You can construct a concrete instance of `VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustInput` via: -// -// VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustArgs{...} -type VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustInput interface { - pulumi.Input +func (o VirtualNodeSpecPtrOutput) ToVirtualNodeSpecPtrOutputWithContext(ctx context.Context) VirtualNodeSpecPtrOutput { + return o +} - ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustOutput() VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustOutput - ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustOutputWithContext(context.Context) VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustOutput +func (o VirtualNodeSpecPtrOutput) Elem() VirtualNodeSpecOutput { + return o.ApplyT(func(v *VirtualNodeSpec) VirtualNodeSpec { + if v != nil { + return *v + } + var ret VirtualNodeSpec + return ret + }).(VirtualNodeSpecOutput) } -type VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustArgs struct { - // TLS validation context trust for an AWS Certificate Manager (ACM) certificate. - Acm VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcmPtrInput `pulumi:"acm"` - // TLS validation context trust for a local file certificate. - File VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFilePtrInput `pulumi:"file"` - // TLS validation context trust for a [Secret Discovery Service](https://www.envoyproxy.io/docs/envoy/latest/configuration/security/secret#secret-discovery-service-sds) certificate. - Sds VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustSdsPtrInput `pulumi:"sds"` +// Defaults for backends. +func (o VirtualNodeSpecPtrOutput) BackendDefaults() VirtualNodeSpecBackendDefaultsPtrOutput { + return o.ApplyT(func(v *VirtualNodeSpec) *VirtualNodeSpecBackendDefaults { + if v == nil { + return nil + } + return v.BackendDefaults + }).(VirtualNodeSpecBackendDefaultsPtrOutput) } -func (VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustArgs) ElementType() reflect.Type { - return reflect.TypeOf((*VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrust)(nil)).Elem() +// Backends to which the virtual node is expected to send outbound traffic. +func (o VirtualNodeSpecPtrOutput) Backends() VirtualNodeSpecBackendArrayOutput { + return o.ApplyT(func(v *VirtualNodeSpec) []VirtualNodeSpecBackend { + if v == nil { + return nil + } + return v.Backends + }).(VirtualNodeSpecBackendArrayOutput) } -func (i VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustArgs) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustOutput() VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustOutput { - return i.ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustOutputWithContext(context.Background()) +// Listeners from which the virtual node is expected to receive inbound traffic. +func (o VirtualNodeSpecPtrOutput) Listener() VirtualNodeSpecListenerPtrOutput { + return o.ApplyT(func(v *VirtualNodeSpec) *VirtualNodeSpecListener { + if v == nil { + return nil + } + return v.Listener + }).(VirtualNodeSpecListenerPtrOutput) } -func (i VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustArgs) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustOutputWithContext(ctx context.Context) VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustOutput) +// Inbound and outbound access logging information for the virtual node. +func (o VirtualNodeSpecPtrOutput) Logging() VirtualNodeSpecLoggingPtrOutput { + return o.ApplyT(func(v *VirtualNodeSpec) *VirtualNodeSpecLogging { + if v == nil { + return nil + } + return v.Logging + }).(VirtualNodeSpecLoggingPtrOutput) } -func (i VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustArgs) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustPtrOutput() VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustPtrOutput { - return i.ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustPtrOutputWithContext(context.Background()) +// Service discovery information for the virtual node. +func (o VirtualNodeSpecPtrOutput) ServiceDiscovery() VirtualNodeSpecServiceDiscoveryPtrOutput { + return o.ApplyT(func(v *VirtualNodeSpec) *VirtualNodeSpecServiceDiscovery { + if v == nil { + return nil + } + return v.ServiceDiscovery + }).(VirtualNodeSpecServiceDiscoveryPtrOutput) } -func (i VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustArgs) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustPtrOutputWithContext(ctx context.Context) VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustOutput).ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustPtrOutputWithContext(ctx) +type VirtualNodeSpecBackend struct { + // Virtual service to use as a backend for a virtual node. + VirtualService VirtualNodeSpecBackendVirtualService `pulumi:"virtualService"` } -// VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustPtrInput is an input type that accepts VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustArgs, VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustPtr and VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustPtrOutput values. -// You can construct a concrete instance of `VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustPtrInput` via: -// -// VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustArgs{...} -// -// or: +// VirtualNodeSpecBackendInput is an input type that accepts VirtualNodeSpecBackendArgs and VirtualNodeSpecBackendOutput values. +// You can construct a concrete instance of `VirtualNodeSpecBackendInput` via: // -// nil -type VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustPtrInput interface { +// VirtualNodeSpecBackendArgs{...} +type VirtualNodeSpecBackendInput interface { pulumi.Input - ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustPtrOutput() VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustPtrOutput - ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustPtrOutputWithContext(context.Context) VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustPtrOutput + ToVirtualNodeSpecBackendOutput() VirtualNodeSpecBackendOutput + ToVirtualNodeSpecBackendOutputWithContext(context.Context) VirtualNodeSpecBackendOutput } -type virtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustPtrType VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustArgs - -func VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustPtr(v *VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustArgs) VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustPtrInput { - return (*virtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustPtrType)(v) +type VirtualNodeSpecBackendArgs struct { + // Virtual service to use as a backend for a virtual node. + VirtualService VirtualNodeSpecBackendVirtualServiceInput `pulumi:"virtualService"` } -func (*virtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrust)(nil)).Elem() +func (VirtualNodeSpecBackendArgs) ElementType() reflect.Type { + return reflect.TypeOf((*VirtualNodeSpecBackend)(nil)).Elem() } -func (i *virtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustPtrType) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustPtrOutput() VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustPtrOutput { - return i.ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustPtrOutputWithContext(context.Background()) +func (i VirtualNodeSpecBackendArgs) ToVirtualNodeSpecBackendOutput() VirtualNodeSpecBackendOutput { + return i.ToVirtualNodeSpecBackendOutputWithContext(context.Background()) } -func (i *virtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustPtrType) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustPtrOutputWithContext(ctx context.Context) VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustPtrOutput) +func (i VirtualNodeSpecBackendArgs) ToVirtualNodeSpecBackendOutputWithContext(ctx context.Context) VirtualNodeSpecBackendOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecBackendOutput) } -type VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustOutput struct{ *pulumi.OutputState } - -func (VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustOutput) ElementType() reflect.Type { - return reflect.TypeOf((*VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrust)(nil)).Elem() -} +// VirtualNodeSpecBackendArrayInput is an input type that accepts VirtualNodeSpecBackendArray and VirtualNodeSpecBackendArrayOutput values. +// You can construct a concrete instance of `VirtualNodeSpecBackendArrayInput` via: +// +// VirtualNodeSpecBackendArray{ VirtualNodeSpecBackendArgs{...} } +type VirtualNodeSpecBackendArrayInput interface { + pulumi.Input -func (o VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustOutput) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustOutput() VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustOutput { - return o + ToVirtualNodeSpecBackendArrayOutput() VirtualNodeSpecBackendArrayOutput + ToVirtualNodeSpecBackendArrayOutputWithContext(context.Context) VirtualNodeSpecBackendArrayOutput } -func (o VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustOutput) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustOutputWithContext(ctx context.Context) VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustOutput { - return o -} +type VirtualNodeSpecBackendArray []VirtualNodeSpecBackendInput -func (o VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustOutput) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustPtrOutput() VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustPtrOutput { - return o.ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustPtrOutputWithContext(context.Background()) +func (VirtualNodeSpecBackendArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]VirtualNodeSpecBackend)(nil)).Elem() } -func (o VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustOutput) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustPtrOutputWithContext(ctx context.Context) VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrust) *VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrust { - return &v - }).(VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustPtrOutput) +func (i VirtualNodeSpecBackendArray) ToVirtualNodeSpecBackendArrayOutput() VirtualNodeSpecBackendArrayOutput { + return i.ToVirtualNodeSpecBackendArrayOutputWithContext(context.Background()) } -// TLS validation context trust for an AWS Certificate Manager (ACM) certificate. -func (o VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustOutput) Acm() VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcmPtrOutput { - return o.ApplyT(func(v VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrust) *VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcm { - return v.Acm - }).(VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcmPtrOutput) +func (i VirtualNodeSpecBackendArray) ToVirtualNodeSpecBackendArrayOutputWithContext(ctx context.Context) VirtualNodeSpecBackendArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecBackendArrayOutput) } -// TLS validation context trust for a local file certificate. -func (o VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustOutput) File() VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFilePtrOutput { - return o.ApplyT(func(v VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrust) *VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFile { - return v.File - }).(VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFilePtrOutput) -} +type VirtualNodeSpecBackendOutput struct{ *pulumi.OutputState } -// TLS validation context trust for a [Secret Discovery Service](https://www.envoyproxy.io/docs/envoy/latest/configuration/security/secret#secret-discovery-service-sds) certificate. -func (o VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustOutput) Sds() VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustSdsPtrOutput { - return o.ApplyT(func(v VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrust) *VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustSds { - return v.Sds - }).(VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustSdsPtrOutput) +func (VirtualNodeSpecBackendOutput) ElementType() reflect.Type { + return reflect.TypeOf((*VirtualNodeSpecBackend)(nil)).Elem() } -type VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustPtrOutput struct{ *pulumi.OutputState } - -func (VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrust)(nil)).Elem() +func (o VirtualNodeSpecBackendOutput) ToVirtualNodeSpecBackendOutput() VirtualNodeSpecBackendOutput { + return o } -func (o VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustPtrOutput) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustPtrOutput() VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustPtrOutput { +func (o VirtualNodeSpecBackendOutput) ToVirtualNodeSpecBackendOutputWithContext(ctx context.Context) VirtualNodeSpecBackendOutput { return o } -func (o VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustPtrOutput) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustPtrOutputWithContext(ctx context.Context) VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustPtrOutput { - return o +// Virtual service to use as a backend for a virtual node. +func (o VirtualNodeSpecBackendOutput) VirtualService() VirtualNodeSpecBackendVirtualServiceOutput { + return o.ApplyT(func(v VirtualNodeSpecBackend) VirtualNodeSpecBackendVirtualService { return v.VirtualService }).(VirtualNodeSpecBackendVirtualServiceOutput) } -func (o VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustPtrOutput) Elem() VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustOutput { - return o.ApplyT(func(v *VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrust) VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrust { - if v != nil { - return *v - } - var ret VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrust - return ret - }).(VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustOutput) +type VirtualNodeSpecBackendArrayOutput struct{ *pulumi.OutputState } + +func (VirtualNodeSpecBackendArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]VirtualNodeSpecBackend)(nil)).Elem() } -// TLS validation context trust for an AWS Certificate Manager (ACM) certificate. -func (o VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustPtrOutput) Acm() VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcmPtrOutput { - return o.ApplyT(func(v *VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrust) *VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcm { - if v == nil { - return nil - } - return v.Acm - }).(VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcmPtrOutput) +func (o VirtualNodeSpecBackendArrayOutput) ToVirtualNodeSpecBackendArrayOutput() VirtualNodeSpecBackendArrayOutput { + return o } -// TLS validation context trust for a local file certificate. -func (o VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustPtrOutput) File() VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFilePtrOutput { - return o.ApplyT(func(v *VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrust) *VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFile { - if v == nil { - return nil - } - return v.File - }).(VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFilePtrOutput) +func (o VirtualNodeSpecBackendArrayOutput) ToVirtualNodeSpecBackendArrayOutputWithContext(ctx context.Context) VirtualNodeSpecBackendArrayOutput { + return o } -// TLS validation context trust for a [Secret Discovery Service](https://www.envoyproxy.io/docs/envoy/latest/configuration/security/secret#secret-discovery-service-sds) certificate. -func (o VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustPtrOutput) Sds() VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustSdsPtrOutput { - return o.ApplyT(func(v *VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrust) *VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustSds { - if v == nil { - return nil - } - return v.Sds - }).(VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustSdsPtrOutput) +func (o VirtualNodeSpecBackendArrayOutput) Index(i pulumi.IntInput) VirtualNodeSpecBackendOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) VirtualNodeSpecBackend { + return vs[0].([]VirtualNodeSpecBackend)[vs[1].(int)] + }).(VirtualNodeSpecBackendOutput) } -type VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcm struct { - // One or more ACM ARNs. - CertificateAuthorityArns []string `pulumi:"certificateAuthorityArns"` +type VirtualNodeSpecBackendDefaults struct { + // Default client policy for virtual service backends. See above for details. + ClientPolicy *VirtualNodeSpecBackendDefaultsClientPolicy `pulumi:"clientPolicy"` } -// VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcmInput is an input type that accepts VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcmArgs and VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcmOutput values. -// You can construct a concrete instance of `VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcmInput` via: +// VirtualNodeSpecBackendDefaultsInput is an input type that accepts VirtualNodeSpecBackendDefaultsArgs and VirtualNodeSpecBackendDefaultsOutput values. +// You can construct a concrete instance of `VirtualNodeSpecBackendDefaultsInput` via: // -// VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcmArgs{...} -type VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcmInput interface { +// VirtualNodeSpecBackendDefaultsArgs{...} +type VirtualNodeSpecBackendDefaultsInput interface { pulumi.Input - ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcmOutput() VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcmOutput - ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcmOutputWithContext(context.Context) VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcmOutput + ToVirtualNodeSpecBackendDefaultsOutput() VirtualNodeSpecBackendDefaultsOutput + ToVirtualNodeSpecBackendDefaultsOutputWithContext(context.Context) VirtualNodeSpecBackendDefaultsOutput } -type VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcmArgs struct { - // One or more ACM ARNs. - CertificateAuthorityArns pulumi.StringArrayInput `pulumi:"certificateAuthorityArns"` +type VirtualNodeSpecBackendDefaultsArgs struct { + // Default client policy for virtual service backends. See above for details. + ClientPolicy VirtualNodeSpecBackendDefaultsClientPolicyPtrInput `pulumi:"clientPolicy"` } -func (VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcmArgs) ElementType() reflect.Type { - return reflect.TypeOf((*VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcm)(nil)).Elem() +func (VirtualNodeSpecBackendDefaultsArgs) ElementType() reflect.Type { + return reflect.TypeOf((*VirtualNodeSpecBackendDefaults)(nil)).Elem() } -func (i VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcmArgs) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcmOutput() VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcmOutput { - return i.ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcmOutputWithContext(context.Background()) +func (i VirtualNodeSpecBackendDefaultsArgs) ToVirtualNodeSpecBackendDefaultsOutput() VirtualNodeSpecBackendDefaultsOutput { + return i.ToVirtualNodeSpecBackendDefaultsOutputWithContext(context.Background()) } -func (i VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcmArgs) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcmOutputWithContext(ctx context.Context) VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcmOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcmOutput) +func (i VirtualNodeSpecBackendDefaultsArgs) ToVirtualNodeSpecBackendDefaultsOutputWithContext(ctx context.Context) VirtualNodeSpecBackendDefaultsOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecBackendDefaultsOutput) } -func (i VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcmArgs) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcmPtrOutput() VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcmPtrOutput { - return i.ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcmPtrOutputWithContext(context.Background()) +func (i VirtualNodeSpecBackendDefaultsArgs) ToVirtualNodeSpecBackendDefaultsPtrOutput() VirtualNodeSpecBackendDefaultsPtrOutput { + return i.ToVirtualNodeSpecBackendDefaultsPtrOutputWithContext(context.Background()) } -func (i VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcmArgs) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcmPtrOutputWithContext(ctx context.Context) VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcmPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcmOutput).ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcmPtrOutputWithContext(ctx) +func (i VirtualNodeSpecBackendDefaultsArgs) ToVirtualNodeSpecBackendDefaultsPtrOutputWithContext(ctx context.Context) VirtualNodeSpecBackendDefaultsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecBackendDefaultsOutput).ToVirtualNodeSpecBackendDefaultsPtrOutputWithContext(ctx) } -// VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcmPtrInput is an input type that accepts VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcmArgs, VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcmPtr and VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcmPtrOutput values. -// You can construct a concrete instance of `VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcmPtrInput` via: +// VirtualNodeSpecBackendDefaultsPtrInput is an input type that accepts VirtualNodeSpecBackendDefaultsArgs, VirtualNodeSpecBackendDefaultsPtr and VirtualNodeSpecBackendDefaultsPtrOutput values. +// You can construct a concrete instance of `VirtualNodeSpecBackendDefaultsPtrInput` via: // -// VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcmArgs{...} +// VirtualNodeSpecBackendDefaultsArgs{...} // // or: // // nil -type VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcmPtrInput interface { +type VirtualNodeSpecBackendDefaultsPtrInput interface { pulumi.Input - ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcmPtrOutput() VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcmPtrOutput - ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcmPtrOutputWithContext(context.Context) VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcmPtrOutput + ToVirtualNodeSpecBackendDefaultsPtrOutput() VirtualNodeSpecBackendDefaultsPtrOutput + ToVirtualNodeSpecBackendDefaultsPtrOutputWithContext(context.Context) VirtualNodeSpecBackendDefaultsPtrOutput } -type virtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcmPtrType VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcmArgs +type virtualNodeSpecBackendDefaultsPtrType VirtualNodeSpecBackendDefaultsArgs -func VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcmPtr(v *VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcmArgs) VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcmPtrInput { - return (*virtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcmPtrType)(v) +func VirtualNodeSpecBackendDefaultsPtr(v *VirtualNodeSpecBackendDefaultsArgs) VirtualNodeSpecBackendDefaultsPtrInput { + return (*virtualNodeSpecBackendDefaultsPtrType)(v) } -func (*virtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcmPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcm)(nil)).Elem() +func (*virtualNodeSpecBackendDefaultsPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**VirtualNodeSpecBackendDefaults)(nil)).Elem() } -func (i *virtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcmPtrType) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcmPtrOutput() VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcmPtrOutput { - return i.ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcmPtrOutputWithContext(context.Background()) +func (i *virtualNodeSpecBackendDefaultsPtrType) ToVirtualNodeSpecBackendDefaultsPtrOutput() VirtualNodeSpecBackendDefaultsPtrOutput { + return i.ToVirtualNodeSpecBackendDefaultsPtrOutputWithContext(context.Background()) } -func (i *virtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcmPtrType) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcmPtrOutputWithContext(ctx context.Context) VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcmPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcmPtrOutput) +func (i *virtualNodeSpecBackendDefaultsPtrType) ToVirtualNodeSpecBackendDefaultsPtrOutputWithContext(ctx context.Context) VirtualNodeSpecBackendDefaultsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecBackendDefaultsPtrOutput) } -type VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcmOutput struct{ *pulumi.OutputState } +type VirtualNodeSpecBackendDefaultsOutput struct{ *pulumi.OutputState } -func (VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcmOutput) ElementType() reflect.Type { - return reflect.TypeOf((*VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcm)(nil)).Elem() +func (VirtualNodeSpecBackendDefaultsOutput) ElementType() reflect.Type { + return reflect.TypeOf((*VirtualNodeSpecBackendDefaults)(nil)).Elem() } -func (o VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcmOutput) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcmOutput() VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcmOutput { +func (o VirtualNodeSpecBackendDefaultsOutput) ToVirtualNodeSpecBackendDefaultsOutput() VirtualNodeSpecBackendDefaultsOutput { return o } -func (o VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcmOutput) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcmOutputWithContext(ctx context.Context) VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcmOutput { +func (o VirtualNodeSpecBackendDefaultsOutput) ToVirtualNodeSpecBackendDefaultsOutputWithContext(ctx context.Context) VirtualNodeSpecBackendDefaultsOutput { return o } -func (o VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcmOutput) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcmPtrOutput() VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcmPtrOutput { - return o.ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcmPtrOutputWithContext(context.Background()) +func (o VirtualNodeSpecBackendDefaultsOutput) ToVirtualNodeSpecBackendDefaultsPtrOutput() VirtualNodeSpecBackendDefaultsPtrOutput { + return o.ToVirtualNodeSpecBackendDefaultsPtrOutputWithContext(context.Background()) } -func (o VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcmOutput) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcmPtrOutputWithContext(ctx context.Context) VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcmPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcm) *VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcm { +func (o VirtualNodeSpecBackendDefaultsOutput) ToVirtualNodeSpecBackendDefaultsPtrOutputWithContext(ctx context.Context) VirtualNodeSpecBackendDefaultsPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v VirtualNodeSpecBackendDefaults) *VirtualNodeSpecBackendDefaults { return &v - }).(VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcmPtrOutput) + }).(VirtualNodeSpecBackendDefaultsPtrOutput) } -// One or more ACM ARNs. -func (o VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcmOutput) CertificateAuthorityArns() pulumi.StringArrayOutput { - return o.ApplyT(func(v VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcm) []string { - return v.CertificateAuthorityArns - }).(pulumi.StringArrayOutput) +// Default client policy for virtual service backends. See above for details. +func (o VirtualNodeSpecBackendDefaultsOutput) ClientPolicy() VirtualNodeSpecBackendDefaultsClientPolicyPtrOutput { + return o.ApplyT(func(v VirtualNodeSpecBackendDefaults) *VirtualNodeSpecBackendDefaultsClientPolicy { + return v.ClientPolicy + }).(VirtualNodeSpecBackendDefaultsClientPolicyPtrOutput) } -type VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcmPtrOutput struct{ *pulumi.OutputState } +type VirtualNodeSpecBackendDefaultsPtrOutput struct{ *pulumi.OutputState } -func (VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcmPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcm)(nil)).Elem() +func (VirtualNodeSpecBackendDefaultsPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**VirtualNodeSpecBackendDefaults)(nil)).Elem() } -func (o VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcmPtrOutput) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcmPtrOutput() VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcmPtrOutput { +func (o VirtualNodeSpecBackendDefaultsPtrOutput) ToVirtualNodeSpecBackendDefaultsPtrOutput() VirtualNodeSpecBackendDefaultsPtrOutput { return o } -func (o VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcmPtrOutput) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcmPtrOutputWithContext(ctx context.Context) VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcmPtrOutput { +func (o VirtualNodeSpecBackendDefaultsPtrOutput) ToVirtualNodeSpecBackendDefaultsPtrOutputWithContext(ctx context.Context) VirtualNodeSpecBackendDefaultsPtrOutput { return o } -func (o VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcmPtrOutput) Elem() VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcmOutput { - return o.ApplyT(func(v *VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcm) VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcm { +func (o VirtualNodeSpecBackendDefaultsPtrOutput) Elem() VirtualNodeSpecBackendDefaultsOutput { + return o.ApplyT(func(v *VirtualNodeSpecBackendDefaults) VirtualNodeSpecBackendDefaults { if v != nil { return *v } - var ret VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcm + var ret VirtualNodeSpecBackendDefaults return ret - }).(VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcmOutput) + }).(VirtualNodeSpecBackendDefaultsOutput) } -// One or more ACM ARNs. -func (o VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcmPtrOutput) CertificateAuthorityArns() pulumi.StringArrayOutput { - return o.ApplyT(func(v *VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcm) []string { +// Default client policy for virtual service backends. See above for details. +func (o VirtualNodeSpecBackendDefaultsPtrOutput) ClientPolicy() VirtualNodeSpecBackendDefaultsClientPolicyPtrOutput { + return o.ApplyT(func(v *VirtualNodeSpecBackendDefaults) *VirtualNodeSpecBackendDefaultsClientPolicy { if v == nil { return nil } - return v.CertificateAuthorityArns - }).(pulumi.StringArrayOutput) + return v.ClientPolicy + }).(VirtualNodeSpecBackendDefaultsClientPolicyPtrOutput) } -type VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFile struct { - // Certificate trust chain for a certificate stored on the file system of the mesh endpoint that the proxy is running on. Must be between 1 and 255 characters in length. - CertificateChain string `pulumi:"certificateChain"` +type VirtualNodeSpecBackendDefaultsClientPolicy struct { + // Transport Layer Security (TLS) client policy. + Tls *VirtualNodeSpecBackendDefaultsClientPolicyTls `pulumi:"tls"` } -// VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFileInput is an input type that accepts VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFileArgs and VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFileOutput values. -// You can construct a concrete instance of `VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFileInput` via: +// VirtualNodeSpecBackendDefaultsClientPolicyInput is an input type that accepts VirtualNodeSpecBackendDefaultsClientPolicyArgs and VirtualNodeSpecBackendDefaultsClientPolicyOutput values. +// You can construct a concrete instance of `VirtualNodeSpecBackendDefaultsClientPolicyInput` via: // -// VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFileArgs{...} -type VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFileInput interface { +// VirtualNodeSpecBackendDefaultsClientPolicyArgs{...} +type VirtualNodeSpecBackendDefaultsClientPolicyInput interface { pulumi.Input - ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFileOutput() VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFileOutput - ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFileOutputWithContext(context.Context) VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFileOutput + ToVirtualNodeSpecBackendDefaultsClientPolicyOutput() VirtualNodeSpecBackendDefaultsClientPolicyOutput + ToVirtualNodeSpecBackendDefaultsClientPolicyOutputWithContext(context.Context) VirtualNodeSpecBackendDefaultsClientPolicyOutput } -type VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFileArgs struct { - // Certificate trust chain for a certificate stored on the file system of the mesh endpoint that the proxy is running on. Must be between 1 and 255 characters in length. - CertificateChain pulumi.StringInput `pulumi:"certificateChain"` +type VirtualNodeSpecBackendDefaultsClientPolicyArgs struct { + // Transport Layer Security (TLS) client policy. + Tls VirtualNodeSpecBackendDefaultsClientPolicyTlsPtrInput `pulumi:"tls"` } -func (VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFileArgs) ElementType() reflect.Type { - return reflect.TypeOf((*VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFile)(nil)).Elem() +func (VirtualNodeSpecBackendDefaultsClientPolicyArgs) ElementType() reflect.Type { + return reflect.TypeOf((*VirtualNodeSpecBackendDefaultsClientPolicy)(nil)).Elem() } -func (i VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFileArgs) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFileOutput() VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFileOutput { - return i.ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFileOutputWithContext(context.Background()) +func (i VirtualNodeSpecBackendDefaultsClientPolicyArgs) ToVirtualNodeSpecBackendDefaultsClientPolicyOutput() VirtualNodeSpecBackendDefaultsClientPolicyOutput { + return i.ToVirtualNodeSpecBackendDefaultsClientPolicyOutputWithContext(context.Background()) } -func (i VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFileArgs) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFileOutputWithContext(ctx context.Context) VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFileOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFileOutput) +func (i VirtualNodeSpecBackendDefaultsClientPolicyArgs) ToVirtualNodeSpecBackendDefaultsClientPolicyOutputWithContext(ctx context.Context) VirtualNodeSpecBackendDefaultsClientPolicyOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecBackendDefaultsClientPolicyOutput) } -func (i VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFileArgs) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFilePtrOutput() VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFilePtrOutput { - return i.ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFilePtrOutputWithContext(context.Background()) +func (i VirtualNodeSpecBackendDefaultsClientPolicyArgs) ToVirtualNodeSpecBackendDefaultsClientPolicyPtrOutput() VirtualNodeSpecBackendDefaultsClientPolicyPtrOutput { + return i.ToVirtualNodeSpecBackendDefaultsClientPolicyPtrOutputWithContext(context.Background()) } -func (i VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFileArgs) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFilePtrOutputWithContext(ctx context.Context) VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFilePtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFileOutput).ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFilePtrOutputWithContext(ctx) +func (i VirtualNodeSpecBackendDefaultsClientPolicyArgs) ToVirtualNodeSpecBackendDefaultsClientPolicyPtrOutputWithContext(ctx context.Context) VirtualNodeSpecBackendDefaultsClientPolicyPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecBackendDefaultsClientPolicyOutput).ToVirtualNodeSpecBackendDefaultsClientPolicyPtrOutputWithContext(ctx) } -// VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFilePtrInput is an input type that accepts VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFileArgs, VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFilePtr and VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFilePtrOutput values. -// You can construct a concrete instance of `VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFilePtrInput` via: +// VirtualNodeSpecBackendDefaultsClientPolicyPtrInput is an input type that accepts VirtualNodeSpecBackendDefaultsClientPolicyArgs, VirtualNodeSpecBackendDefaultsClientPolicyPtr and VirtualNodeSpecBackendDefaultsClientPolicyPtrOutput values. +// You can construct a concrete instance of `VirtualNodeSpecBackendDefaultsClientPolicyPtrInput` via: // -// VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFileArgs{...} +// VirtualNodeSpecBackendDefaultsClientPolicyArgs{...} // // or: // // nil -type VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFilePtrInput interface { +type VirtualNodeSpecBackendDefaultsClientPolicyPtrInput interface { pulumi.Input - ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFilePtrOutput() VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFilePtrOutput - ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFilePtrOutputWithContext(context.Context) VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFilePtrOutput + ToVirtualNodeSpecBackendDefaultsClientPolicyPtrOutput() VirtualNodeSpecBackendDefaultsClientPolicyPtrOutput + ToVirtualNodeSpecBackendDefaultsClientPolicyPtrOutputWithContext(context.Context) VirtualNodeSpecBackendDefaultsClientPolicyPtrOutput } -type virtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFilePtrType VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFileArgs +type virtualNodeSpecBackendDefaultsClientPolicyPtrType VirtualNodeSpecBackendDefaultsClientPolicyArgs -func VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFilePtr(v *VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFileArgs) VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFilePtrInput { - return (*virtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFilePtrType)(v) +func VirtualNodeSpecBackendDefaultsClientPolicyPtr(v *VirtualNodeSpecBackendDefaultsClientPolicyArgs) VirtualNodeSpecBackendDefaultsClientPolicyPtrInput { + return (*virtualNodeSpecBackendDefaultsClientPolicyPtrType)(v) } -func (*virtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFilePtrType) ElementType() reflect.Type { - return reflect.TypeOf((**VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFile)(nil)).Elem() +func (*virtualNodeSpecBackendDefaultsClientPolicyPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**VirtualNodeSpecBackendDefaultsClientPolicy)(nil)).Elem() } -func (i *virtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFilePtrType) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFilePtrOutput() VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFilePtrOutput { - return i.ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFilePtrOutputWithContext(context.Background()) +func (i *virtualNodeSpecBackendDefaultsClientPolicyPtrType) ToVirtualNodeSpecBackendDefaultsClientPolicyPtrOutput() VirtualNodeSpecBackendDefaultsClientPolicyPtrOutput { + return i.ToVirtualNodeSpecBackendDefaultsClientPolicyPtrOutputWithContext(context.Background()) } -func (i *virtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFilePtrType) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFilePtrOutputWithContext(ctx context.Context) VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFilePtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFilePtrOutput) +func (i *virtualNodeSpecBackendDefaultsClientPolicyPtrType) ToVirtualNodeSpecBackendDefaultsClientPolicyPtrOutputWithContext(ctx context.Context) VirtualNodeSpecBackendDefaultsClientPolicyPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecBackendDefaultsClientPolicyPtrOutput) } -type VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFileOutput struct{ *pulumi.OutputState } +type VirtualNodeSpecBackendDefaultsClientPolicyOutput struct{ *pulumi.OutputState } -func (VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFileOutput) ElementType() reflect.Type { - return reflect.TypeOf((*VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFile)(nil)).Elem() +func (VirtualNodeSpecBackendDefaultsClientPolicyOutput) ElementType() reflect.Type { + return reflect.TypeOf((*VirtualNodeSpecBackendDefaultsClientPolicy)(nil)).Elem() } -func (o VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFileOutput) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFileOutput() VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFileOutput { +func (o VirtualNodeSpecBackendDefaultsClientPolicyOutput) ToVirtualNodeSpecBackendDefaultsClientPolicyOutput() VirtualNodeSpecBackendDefaultsClientPolicyOutput { return o } -func (o VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFileOutput) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFileOutputWithContext(ctx context.Context) VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFileOutput { +func (o VirtualNodeSpecBackendDefaultsClientPolicyOutput) ToVirtualNodeSpecBackendDefaultsClientPolicyOutputWithContext(ctx context.Context) VirtualNodeSpecBackendDefaultsClientPolicyOutput { return o } -func (o VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFileOutput) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFilePtrOutput() VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFilePtrOutput { - return o.ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFilePtrOutputWithContext(context.Background()) +func (o VirtualNodeSpecBackendDefaultsClientPolicyOutput) ToVirtualNodeSpecBackendDefaultsClientPolicyPtrOutput() VirtualNodeSpecBackendDefaultsClientPolicyPtrOutput { + return o.ToVirtualNodeSpecBackendDefaultsClientPolicyPtrOutputWithContext(context.Background()) } -func (o VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFileOutput) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFilePtrOutputWithContext(ctx context.Context) VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFilePtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFile) *VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFile { +func (o VirtualNodeSpecBackendDefaultsClientPolicyOutput) ToVirtualNodeSpecBackendDefaultsClientPolicyPtrOutputWithContext(ctx context.Context) VirtualNodeSpecBackendDefaultsClientPolicyPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v VirtualNodeSpecBackendDefaultsClientPolicy) *VirtualNodeSpecBackendDefaultsClientPolicy { return &v - }).(VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFilePtrOutput) + }).(VirtualNodeSpecBackendDefaultsClientPolicyPtrOutput) } -// Certificate trust chain for a certificate stored on the file system of the mesh endpoint that the proxy is running on. Must be between 1 and 255 characters in length. -func (o VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFileOutput) CertificateChain() pulumi.StringOutput { - return o.ApplyT(func(v VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFile) string { - return v.CertificateChain - }).(pulumi.StringOutput) +// Transport Layer Security (TLS) client policy. +func (o VirtualNodeSpecBackendDefaultsClientPolicyOutput) Tls() VirtualNodeSpecBackendDefaultsClientPolicyTlsPtrOutput { + return o.ApplyT(func(v VirtualNodeSpecBackendDefaultsClientPolicy) *VirtualNodeSpecBackendDefaultsClientPolicyTls { + return v.Tls + }).(VirtualNodeSpecBackendDefaultsClientPolicyTlsPtrOutput) } -type VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFilePtrOutput struct{ *pulumi.OutputState } +type VirtualNodeSpecBackendDefaultsClientPolicyPtrOutput struct{ *pulumi.OutputState } -func (VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFilePtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFile)(nil)).Elem() +func (VirtualNodeSpecBackendDefaultsClientPolicyPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**VirtualNodeSpecBackendDefaultsClientPolicy)(nil)).Elem() } -func (o VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFilePtrOutput) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFilePtrOutput() VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFilePtrOutput { +func (o VirtualNodeSpecBackendDefaultsClientPolicyPtrOutput) ToVirtualNodeSpecBackendDefaultsClientPolicyPtrOutput() VirtualNodeSpecBackendDefaultsClientPolicyPtrOutput { return o } -func (o VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFilePtrOutput) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFilePtrOutputWithContext(ctx context.Context) VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFilePtrOutput { +func (o VirtualNodeSpecBackendDefaultsClientPolicyPtrOutput) ToVirtualNodeSpecBackendDefaultsClientPolicyPtrOutputWithContext(ctx context.Context) VirtualNodeSpecBackendDefaultsClientPolicyPtrOutput { return o } -func (o VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFilePtrOutput) Elem() VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFileOutput { - return o.ApplyT(func(v *VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFile) VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFile { +func (o VirtualNodeSpecBackendDefaultsClientPolicyPtrOutput) Elem() VirtualNodeSpecBackendDefaultsClientPolicyOutput { + return o.ApplyT(func(v *VirtualNodeSpecBackendDefaultsClientPolicy) VirtualNodeSpecBackendDefaultsClientPolicy { if v != nil { return *v } - var ret VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFile + var ret VirtualNodeSpecBackendDefaultsClientPolicy return ret - }).(VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFileOutput) + }).(VirtualNodeSpecBackendDefaultsClientPolicyOutput) } -// Certificate trust chain for a certificate stored on the file system of the mesh endpoint that the proxy is running on. Must be between 1 and 255 characters in length. -func (o VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFilePtrOutput) CertificateChain() pulumi.StringPtrOutput { - return o.ApplyT(func(v *VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFile) *string { +// Transport Layer Security (TLS) client policy. +func (o VirtualNodeSpecBackendDefaultsClientPolicyPtrOutput) Tls() VirtualNodeSpecBackendDefaultsClientPolicyTlsPtrOutput { + return o.ApplyT(func(v *VirtualNodeSpecBackendDefaultsClientPolicy) *VirtualNodeSpecBackendDefaultsClientPolicyTls { if v == nil { return nil } - return &v.CertificateChain - }).(pulumi.StringPtrOutput) -} - -type VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustSds struct { - // Name of the secret for a virtual node's Transport Layer Security (TLS) Secret Discovery Service validation context trust. - SecretName string `pulumi:"secretName"` + return v.Tls + }).(VirtualNodeSpecBackendDefaultsClientPolicyTlsPtrOutput) } -// VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustSdsInput is an input type that accepts VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustSdsArgs and VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustSdsOutput values. -// You can construct a concrete instance of `VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustSdsInput` via: +type VirtualNodeSpecBackendDefaultsClientPolicyTls struct { + // Listener's TLS certificate. + Certificate *VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificate `pulumi:"certificate"` + // Whether the policy is enforced. Default is `true`. + Enforce *bool `pulumi:"enforce"` + // One or more ports that the policy is enforced for. + Ports []int `pulumi:"ports"` + // Listener's Transport Layer Security (TLS) validation context. + Validation VirtualNodeSpecBackendDefaultsClientPolicyTlsValidation `pulumi:"validation"` +} + +// VirtualNodeSpecBackendDefaultsClientPolicyTlsInput is an input type that accepts VirtualNodeSpecBackendDefaultsClientPolicyTlsArgs and VirtualNodeSpecBackendDefaultsClientPolicyTlsOutput values. +// You can construct a concrete instance of `VirtualNodeSpecBackendDefaultsClientPolicyTlsInput` via: // -// VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustSdsArgs{...} -type VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustSdsInput interface { +// VirtualNodeSpecBackendDefaultsClientPolicyTlsArgs{...} +type VirtualNodeSpecBackendDefaultsClientPolicyTlsInput interface { pulumi.Input - ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustSdsOutput() VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustSdsOutput - ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustSdsOutputWithContext(context.Context) VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustSdsOutput + ToVirtualNodeSpecBackendDefaultsClientPolicyTlsOutput() VirtualNodeSpecBackendDefaultsClientPolicyTlsOutput + ToVirtualNodeSpecBackendDefaultsClientPolicyTlsOutputWithContext(context.Context) VirtualNodeSpecBackendDefaultsClientPolicyTlsOutput } -type VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustSdsArgs struct { - // Name of the secret for a virtual node's Transport Layer Security (TLS) Secret Discovery Service validation context trust. - SecretName pulumi.StringInput `pulumi:"secretName"` +type VirtualNodeSpecBackendDefaultsClientPolicyTlsArgs struct { + // Listener's TLS certificate. + Certificate VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificatePtrInput `pulumi:"certificate"` + // Whether the policy is enforced. Default is `true`. + Enforce pulumi.BoolPtrInput `pulumi:"enforce"` + // One or more ports that the policy is enforced for. + Ports pulumi.IntArrayInput `pulumi:"ports"` + // Listener's Transport Layer Security (TLS) validation context. + Validation VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationInput `pulumi:"validation"` } -func (VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustSdsArgs) ElementType() reflect.Type { - return reflect.TypeOf((*VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustSds)(nil)).Elem() +func (VirtualNodeSpecBackendDefaultsClientPolicyTlsArgs) ElementType() reflect.Type { + return reflect.TypeOf((*VirtualNodeSpecBackendDefaultsClientPolicyTls)(nil)).Elem() } -func (i VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustSdsArgs) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustSdsOutput() VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustSdsOutput { - return i.ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustSdsOutputWithContext(context.Background()) +func (i VirtualNodeSpecBackendDefaultsClientPolicyTlsArgs) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsOutput() VirtualNodeSpecBackendDefaultsClientPolicyTlsOutput { + return i.ToVirtualNodeSpecBackendDefaultsClientPolicyTlsOutputWithContext(context.Background()) } -func (i VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustSdsArgs) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustSdsOutputWithContext(ctx context.Context) VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustSdsOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustSdsOutput) +func (i VirtualNodeSpecBackendDefaultsClientPolicyTlsArgs) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsOutputWithContext(ctx context.Context) VirtualNodeSpecBackendDefaultsClientPolicyTlsOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecBackendDefaultsClientPolicyTlsOutput) } -func (i VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustSdsArgs) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustSdsPtrOutput() VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustSdsPtrOutput { - return i.ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustSdsPtrOutputWithContext(context.Background()) +func (i VirtualNodeSpecBackendDefaultsClientPolicyTlsArgs) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsPtrOutput() VirtualNodeSpecBackendDefaultsClientPolicyTlsPtrOutput { + return i.ToVirtualNodeSpecBackendDefaultsClientPolicyTlsPtrOutputWithContext(context.Background()) } -func (i VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustSdsArgs) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustSdsPtrOutputWithContext(ctx context.Context) VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustSdsPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustSdsOutput).ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustSdsPtrOutputWithContext(ctx) +func (i VirtualNodeSpecBackendDefaultsClientPolicyTlsArgs) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsPtrOutputWithContext(ctx context.Context) VirtualNodeSpecBackendDefaultsClientPolicyTlsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecBackendDefaultsClientPolicyTlsOutput).ToVirtualNodeSpecBackendDefaultsClientPolicyTlsPtrOutputWithContext(ctx) } -// VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustSdsPtrInput is an input type that accepts VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustSdsArgs, VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustSdsPtr and VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustSdsPtrOutput values. -// You can construct a concrete instance of `VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustSdsPtrInput` via: +// VirtualNodeSpecBackendDefaultsClientPolicyTlsPtrInput is an input type that accepts VirtualNodeSpecBackendDefaultsClientPolicyTlsArgs, VirtualNodeSpecBackendDefaultsClientPolicyTlsPtr and VirtualNodeSpecBackendDefaultsClientPolicyTlsPtrOutput values. +// You can construct a concrete instance of `VirtualNodeSpecBackendDefaultsClientPolicyTlsPtrInput` via: // -// VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustSdsArgs{...} +// VirtualNodeSpecBackendDefaultsClientPolicyTlsArgs{...} // // or: // // nil -type VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustSdsPtrInput interface { +type VirtualNodeSpecBackendDefaultsClientPolicyTlsPtrInput interface { pulumi.Input - ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustSdsPtrOutput() VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustSdsPtrOutput - ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustSdsPtrOutputWithContext(context.Context) VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustSdsPtrOutput + ToVirtualNodeSpecBackendDefaultsClientPolicyTlsPtrOutput() VirtualNodeSpecBackendDefaultsClientPolicyTlsPtrOutput + ToVirtualNodeSpecBackendDefaultsClientPolicyTlsPtrOutputWithContext(context.Context) VirtualNodeSpecBackendDefaultsClientPolicyTlsPtrOutput } -type virtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustSdsPtrType VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustSdsArgs +type virtualNodeSpecBackendDefaultsClientPolicyTlsPtrType VirtualNodeSpecBackendDefaultsClientPolicyTlsArgs -func VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustSdsPtr(v *VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustSdsArgs) VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustSdsPtrInput { - return (*virtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustSdsPtrType)(v) +func VirtualNodeSpecBackendDefaultsClientPolicyTlsPtr(v *VirtualNodeSpecBackendDefaultsClientPolicyTlsArgs) VirtualNodeSpecBackendDefaultsClientPolicyTlsPtrInput { + return (*virtualNodeSpecBackendDefaultsClientPolicyTlsPtrType)(v) } -func (*virtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustSdsPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustSds)(nil)).Elem() +func (*virtualNodeSpecBackendDefaultsClientPolicyTlsPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**VirtualNodeSpecBackendDefaultsClientPolicyTls)(nil)).Elem() } -func (i *virtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustSdsPtrType) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustSdsPtrOutput() VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustSdsPtrOutput { - return i.ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustSdsPtrOutputWithContext(context.Background()) +func (i *virtualNodeSpecBackendDefaultsClientPolicyTlsPtrType) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsPtrOutput() VirtualNodeSpecBackendDefaultsClientPolicyTlsPtrOutput { + return i.ToVirtualNodeSpecBackendDefaultsClientPolicyTlsPtrOutputWithContext(context.Background()) } -func (i *virtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustSdsPtrType) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustSdsPtrOutputWithContext(ctx context.Context) VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustSdsPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustSdsPtrOutput) +func (i *virtualNodeSpecBackendDefaultsClientPolicyTlsPtrType) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsPtrOutputWithContext(ctx context.Context) VirtualNodeSpecBackendDefaultsClientPolicyTlsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecBackendDefaultsClientPolicyTlsPtrOutput) } -type VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustSdsOutput struct{ *pulumi.OutputState } +type VirtualNodeSpecBackendDefaultsClientPolicyTlsOutput struct{ *pulumi.OutputState } -func (VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustSdsOutput) ElementType() reflect.Type { - return reflect.TypeOf((*VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustSds)(nil)).Elem() +func (VirtualNodeSpecBackendDefaultsClientPolicyTlsOutput) ElementType() reflect.Type { + return reflect.TypeOf((*VirtualNodeSpecBackendDefaultsClientPolicyTls)(nil)).Elem() } -func (o VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustSdsOutput) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustSdsOutput() VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustSdsOutput { +func (o VirtualNodeSpecBackendDefaultsClientPolicyTlsOutput) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsOutput() VirtualNodeSpecBackendDefaultsClientPolicyTlsOutput { return o } -func (o VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustSdsOutput) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustSdsOutputWithContext(ctx context.Context) VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustSdsOutput { +func (o VirtualNodeSpecBackendDefaultsClientPolicyTlsOutput) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsOutputWithContext(ctx context.Context) VirtualNodeSpecBackendDefaultsClientPolicyTlsOutput { return o } -func (o VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustSdsOutput) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustSdsPtrOutput() VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustSdsPtrOutput { - return o.ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustSdsPtrOutputWithContext(context.Background()) +func (o VirtualNodeSpecBackendDefaultsClientPolicyTlsOutput) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsPtrOutput() VirtualNodeSpecBackendDefaultsClientPolicyTlsPtrOutput { + return o.ToVirtualNodeSpecBackendDefaultsClientPolicyTlsPtrOutputWithContext(context.Background()) } -func (o VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustSdsOutput) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustSdsPtrOutputWithContext(ctx context.Context) VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustSdsPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustSds) *VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustSds { +func (o VirtualNodeSpecBackendDefaultsClientPolicyTlsOutput) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsPtrOutputWithContext(ctx context.Context) VirtualNodeSpecBackendDefaultsClientPolicyTlsPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v VirtualNodeSpecBackendDefaultsClientPolicyTls) *VirtualNodeSpecBackendDefaultsClientPolicyTls { return &v - }).(VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustSdsPtrOutput) + }).(VirtualNodeSpecBackendDefaultsClientPolicyTlsPtrOutput) } -// Name of the secret for a virtual node's Transport Layer Security (TLS) Secret Discovery Service validation context trust. -func (o VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustSdsOutput) SecretName() pulumi.StringOutput { - return o.ApplyT(func(v VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustSds) string { return v.SecretName }).(pulumi.StringOutput) +// Listener's TLS certificate. +func (o VirtualNodeSpecBackendDefaultsClientPolicyTlsOutput) Certificate() VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificatePtrOutput { + return o.ApplyT(func(v VirtualNodeSpecBackendDefaultsClientPolicyTls) *VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificate { + return v.Certificate + }).(VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificatePtrOutput) } -type VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustSdsPtrOutput struct{ *pulumi.OutputState } +// Whether the policy is enforced. Default is `true`. +func (o VirtualNodeSpecBackendDefaultsClientPolicyTlsOutput) Enforce() pulumi.BoolPtrOutput { + return o.ApplyT(func(v VirtualNodeSpecBackendDefaultsClientPolicyTls) *bool { return v.Enforce }).(pulumi.BoolPtrOutput) +} -func (VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustSdsPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustSds)(nil)).Elem() +// One or more ports that the policy is enforced for. +func (o VirtualNodeSpecBackendDefaultsClientPolicyTlsOutput) Ports() pulumi.IntArrayOutput { + return o.ApplyT(func(v VirtualNodeSpecBackendDefaultsClientPolicyTls) []int { return v.Ports }).(pulumi.IntArrayOutput) } -func (o VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustSdsPtrOutput) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustSdsPtrOutput() VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustSdsPtrOutput { +// Listener's Transport Layer Security (TLS) validation context. +func (o VirtualNodeSpecBackendDefaultsClientPolicyTlsOutput) Validation() VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationOutput { + return o.ApplyT(func(v VirtualNodeSpecBackendDefaultsClientPolicyTls) VirtualNodeSpecBackendDefaultsClientPolicyTlsValidation { + return v.Validation + }).(VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationOutput) +} + +type VirtualNodeSpecBackendDefaultsClientPolicyTlsPtrOutput struct{ *pulumi.OutputState } + +func (VirtualNodeSpecBackendDefaultsClientPolicyTlsPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**VirtualNodeSpecBackendDefaultsClientPolicyTls)(nil)).Elem() +} + +func (o VirtualNodeSpecBackendDefaultsClientPolicyTlsPtrOutput) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsPtrOutput() VirtualNodeSpecBackendDefaultsClientPolicyTlsPtrOutput { return o } -func (o VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustSdsPtrOutput) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustSdsPtrOutputWithContext(ctx context.Context) VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustSdsPtrOutput { +func (o VirtualNodeSpecBackendDefaultsClientPolicyTlsPtrOutput) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsPtrOutputWithContext(ctx context.Context) VirtualNodeSpecBackendDefaultsClientPolicyTlsPtrOutput { return o } -func (o VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustSdsPtrOutput) Elem() VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustSdsOutput { - return o.ApplyT(func(v *VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustSds) VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustSds { +func (o VirtualNodeSpecBackendDefaultsClientPolicyTlsPtrOutput) Elem() VirtualNodeSpecBackendDefaultsClientPolicyTlsOutput { + return o.ApplyT(func(v *VirtualNodeSpecBackendDefaultsClientPolicyTls) VirtualNodeSpecBackendDefaultsClientPolicyTls { if v != nil { return *v } - var ret VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustSds + var ret VirtualNodeSpecBackendDefaultsClientPolicyTls return ret - }).(VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustSdsOutput) + }).(VirtualNodeSpecBackendDefaultsClientPolicyTlsOutput) } -// Name of the secret for a virtual node's Transport Layer Security (TLS) Secret Discovery Service validation context trust. -func (o VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustSdsPtrOutput) SecretName() pulumi.StringPtrOutput { - return o.ApplyT(func(v *VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustSds) *string { +// Listener's TLS certificate. +func (o VirtualNodeSpecBackendDefaultsClientPolicyTlsPtrOutput) Certificate() VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificatePtrOutput { + return o.ApplyT(func(v *VirtualNodeSpecBackendDefaultsClientPolicyTls) *VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificate { if v == nil { return nil } - return &v.SecretName - }).(pulumi.StringPtrOutput) -} - -type VirtualNodeSpecBackendVirtualService struct { - // Client policy for the backend. - ClientPolicy *VirtualNodeSpecBackendVirtualServiceClientPolicy `pulumi:"clientPolicy"` - // Name of the virtual service that is acting as a virtual node backend. Must be between 1 and 255 characters in length. - VirtualServiceName string `pulumi:"virtualServiceName"` -} - -// VirtualNodeSpecBackendVirtualServiceInput is an input type that accepts VirtualNodeSpecBackendVirtualServiceArgs and VirtualNodeSpecBackendVirtualServiceOutput values. -// You can construct a concrete instance of `VirtualNodeSpecBackendVirtualServiceInput` via: -// -// VirtualNodeSpecBackendVirtualServiceArgs{...} -type VirtualNodeSpecBackendVirtualServiceInput interface { - pulumi.Input - - ToVirtualNodeSpecBackendVirtualServiceOutput() VirtualNodeSpecBackendVirtualServiceOutput - ToVirtualNodeSpecBackendVirtualServiceOutputWithContext(context.Context) VirtualNodeSpecBackendVirtualServiceOutput -} - -type VirtualNodeSpecBackendVirtualServiceArgs struct { - // Client policy for the backend. - ClientPolicy VirtualNodeSpecBackendVirtualServiceClientPolicyPtrInput `pulumi:"clientPolicy"` - // Name of the virtual service that is acting as a virtual node backend. Must be between 1 and 255 characters in length. - VirtualServiceName pulumi.StringInput `pulumi:"virtualServiceName"` -} - -func (VirtualNodeSpecBackendVirtualServiceArgs) ElementType() reflect.Type { - return reflect.TypeOf((*VirtualNodeSpecBackendVirtualService)(nil)).Elem() -} - -func (i VirtualNodeSpecBackendVirtualServiceArgs) ToVirtualNodeSpecBackendVirtualServiceOutput() VirtualNodeSpecBackendVirtualServiceOutput { - return i.ToVirtualNodeSpecBackendVirtualServiceOutputWithContext(context.Background()) -} - -func (i VirtualNodeSpecBackendVirtualServiceArgs) ToVirtualNodeSpecBackendVirtualServiceOutputWithContext(ctx context.Context) VirtualNodeSpecBackendVirtualServiceOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecBackendVirtualServiceOutput) -} - -type VirtualNodeSpecBackendVirtualServiceOutput struct{ *pulumi.OutputState } - -func (VirtualNodeSpecBackendVirtualServiceOutput) ElementType() reflect.Type { - return reflect.TypeOf((*VirtualNodeSpecBackendVirtualService)(nil)).Elem() -} - -func (o VirtualNodeSpecBackendVirtualServiceOutput) ToVirtualNodeSpecBackendVirtualServiceOutput() VirtualNodeSpecBackendVirtualServiceOutput { - return o + return v.Certificate + }).(VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificatePtrOutput) } -func (o VirtualNodeSpecBackendVirtualServiceOutput) ToVirtualNodeSpecBackendVirtualServiceOutputWithContext(ctx context.Context) VirtualNodeSpecBackendVirtualServiceOutput { - return o +// Whether the policy is enforced. Default is `true`. +func (o VirtualNodeSpecBackendDefaultsClientPolicyTlsPtrOutput) Enforce() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *VirtualNodeSpecBackendDefaultsClientPolicyTls) *bool { + if v == nil { + return nil + } + return v.Enforce + }).(pulumi.BoolPtrOutput) } -// Client policy for the backend. -func (o VirtualNodeSpecBackendVirtualServiceOutput) ClientPolicy() VirtualNodeSpecBackendVirtualServiceClientPolicyPtrOutput { - return o.ApplyT(func(v VirtualNodeSpecBackendVirtualService) *VirtualNodeSpecBackendVirtualServiceClientPolicy { - return v.ClientPolicy - }).(VirtualNodeSpecBackendVirtualServiceClientPolicyPtrOutput) +// One or more ports that the policy is enforced for. +func (o VirtualNodeSpecBackendDefaultsClientPolicyTlsPtrOutput) Ports() pulumi.IntArrayOutput { + return o.ApplyT(func(v *VirtualNodeSpecBackendDefaultsClientPolicyTls) []int { + if v == nil { + return nil + } + return v.Ports + }).(pulumi.IntArrayOutput) } -// Name of the virtual service that is acting as a virtual node backend. Must be between 1 and 255 characters in length. -func (o VirtualNodeSpecBackendVirtualServiceOutput) VirtualServiceName() pulumi.StringOutput { - return o.ApplyT(func(v VirtualNodeSpecBackendVirtualService) string { return v.VirtualServiceName }).(pulumi.StringOutput) +// Listener's Transport Layer Security (TLS) validation context. +func (o VirtualNodeSpecBackendDefaultsClientPolicyTlsPtrOutput) Validation() VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationPtrOutput { + return o.ApplyT(func(v *VirtualNodeSpecBackendDefaultsClientPolicyTls) *VirtualNodeSpecBackendDefaultsClientPolicyTlsValidation { + if v == nil { + return nil + } + return &v.Validation + }).(VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationPtrOutput) } -type VirtualNodeSpecBackendVirtualServiceClientPolicy struct { - // Transport Layer Security (TLS) client policy. - Tls *VirtualNodeSpecBackendVirtualServiceClientPolicyTls `pulumi:"tls"` +type VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificate struct { + // Local file certificate. + File *VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateFile `pulumi:"file"` + // A [Secret Discovery Service](https://www.envoyproxy.io/docs/envoy/latest/configuration/security/secret#secret-discovery-service-sds) certificate. + Sds *VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateSds `pulumi:"sds"` } -// VirtualNodeSpecBackendVirtualServiceClientPolicyInput is an input type that accepts VirtualNodeSpecBackendVirtualServiceClientPolicyArgs and VirtualNodeSpecBackendVirtualServiceClientPolicyOutput values. -// You can construct a concrete instance of `VirtualNodeSpecBackendVirtualServiceClientPolicyInput` via: +// VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateInput is an input type that accepts VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateArgs and VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateOutput values. +// You can construct a concrete instance of `VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateInput` via: // -// VirtualNodeSpecBackendVirtualServiceClientPolicyArgs{...} -type VirtualNodeSpecBackendVirtualServiceClientPolicyInput interface { +// VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateArgs{...} +type VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateInput interface { pulumi.Input - ToVirtualNodeSpecBackendVirtualServiceClientPolicyOutput() VirtualNodeSpecBackendVirtualServiceClientPolicyOutput - ToVirtualNodeSpecBackendVirtualServiceClientPolicyOutputWithContext(context.Context) VirtualNodeSpecBackendVirtualServiceClientPolicyOutput + ToVirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateOutput() VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateOutput + ToVirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateOutputWithContext(context.Context) VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateOutput } -type VirtualNodeSpecBackendVirtualServiceClientPolicyArgs struct { - // Transport Layer Security (TLS) client policy. - Tls VirtualNodeSpecBackendVirtualServiceClientPolicyTlsPtrInput `pulumi:"tls"` +type VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateArgs struct { + // Local file certificate. + File VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateFilePtrInput `pulumi:"file"` + // A [Secret Discovery Service](https://www.envoyproxy.io/docs/envoy/latest/configuration/security/secret#secret-discovery-service-sds) certificate. + Sds VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateSdsPtrInput `pulumi:"sds"` } -func (VirtualNodeSpecBackendVirtualServiceClientPolicyArgs) ElementType() reflect.Type { - return reflect.TypeOf((*VirtualNodeSpecBackendVirtualServiceClientPolicy)(nil)).Elem() +func (VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateArgs) ElementType() reflect.Type { + return reflect.TypeOf((*VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificate)(nil)).Elem() } -func (i VirtualNodeSpecBackendVirtualServiceClientPolicyArgs) ToVirtualNodeSpecBackendVirtualServiceClientPolicyOutput() VirtualNodeSpecBackendVirtualServiceClientPolicyOutput { - return i.ToVirtualNodeSpecBackendVirtualServiceClientPolicyOutputWithContext(context.Background()) +func (i VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateArgs) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateOutput() VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateOutput { + return i.ToVirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateOutputWithContext(context.Background()) } -func (i VirtualNodeSpecBackendVirtualServiceClientPolicyArgs) ToVirtualNodeSpecBackendVirtualServiceClientPolicyOutputWithContext(ctx context.Context) VirtualNodeSpecBackendVirtualServiceClientPolicyOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecBackendVirtualServiceClientPolicyOutput) +func (i VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateArgs) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateOutputWithContext(ctx context.Context) VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateOutput) } -func (i VirtualNodeSpecBackendVirtualServiceClientPolicyArgs) ToVirtualNodeSpecBackendVirtualServiceClientPolicyPtrOutput() VirtualNodeSpecBackendVirtualServiceClientPolicyPtrOutput { - return i.ToVirtualNodeSpecBackendVirtualServiceClientPolicyPtrOutputWithContext(context.Background()) +func (i VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateArgs) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsCertificatePtrOutput() VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificatePtrOutput { + return i.ToVirtualNodeSpecBackendDefaultsClientPolicyTlsCertificatePtrOutputWithContext(context.Background()) } -func (i VirtualNodeSpecBackendVirtualServiceClientPolicyArgs) ToVirtualNodeSpecBackendVirtualServiceClientPolicyPtrOutputWithContext(ctx context.Context) VirtualNodeSpecBackendVirtualServiceClientPolicyPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecBackendVirtualServiceClientPolicyOutput).ToVirtualNodeSpecBackendVirtualServiceClientPolicyPtrOutputWithContext(ctx) +func (i VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateArgs) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsCertificatePtrOutputWithContext(ctx context.Context) VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificatePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateOutput).ToVirtualNodeSpecBackendDefaultsClientPolicyTlsCertificatePtrOutputWithContext(ctx) } -// VirtualNodeSpecBackendVirtualServiceClientPolicyPtrInput is an input type that accepts VirtualNodeSpecBackendVirtualServiceClientPolicyArgs, VirtualNodeSpecBackendVirtualServiceClientPolicyPtr and VirtualNodeSpecBackendVirtualServiceClientPolicyPtrOutput values. -// You can construct a concrete instance of `VirtualNodeSpecBackendVirtualServiceClientPolicyPtrInput` via: +// VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificatePtrInput is an input type that accepts VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateArgs, VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificatePtr and VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificatePtrOutput values. +// You can construct a concrete instance of `VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificatePtrInput` via: // -// VirtualNodeSpecBackendVirtualServiceClientPolicyArgs{...} +// VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateArgs{...} // // or: // // nil -type VirtualNodeSpecBackendVirtualServiceClientPolicyPtrInput interface { +type VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificatePtrInput interface { pulumi.Input - ToVirtualNodeSpecBackendVirtualServiceClientPolicyPtrOutput() VirtualNodeSpecBackendVirtualServiceClientPolicyPtrOutput - ToVirtualNodeSpecBackendVirtualServiceClientPolicyPtrOutputWithContext(context.Context) VirtualNodeSpecBackendVirtualServiceClientPolicyPtrOutput + ToVirtualNodeSpecBackendDefaultsClientPolicyTlsCertificatePtrOutput() VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificatePtrOutput + ToVirtualNodeSpecBackendDefaultsClientPolicyTlsCertificatePtrOutputWithContext(context.Context) VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificatePtrOutput } -type virtualNodeSpecBackendVirtualServiceClientPolicyPtrType VirtualNodeSpecBackendVirtualServiceClientPolicyArgs +type virtualNodeSpecBackendDefaultsClientPolicyTlsCertificatePtrType VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateArgs -func VirtualNodeSpecBackendVirtualServiceClientPolicyPtr(v *VirtualNodeSpecBackendVirtualServiceClientPolicyArgs) VirtualNodeSpecBackendVirtualServiceClientPolicyPtrInput { - return (*virtualNodeSpecBackendVirtualServiceClientPolicyPtrType)(v) +func VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificatePtr(v *VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateArgs) VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificatePtrInput { + return (*virtualNodeSpecBackendDefaultsClientPolicyTlsCertificatePtrType)(v) } -func (*virtualNodeSpecBackendVirtualServiceClientPolicyPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**VirtualNodeSpecBackendVirtualServiceClientPolicy)(nil)).Elem() +func (*virtualNodeSpecBackendDefaultsClientPolicyTlsCertificatePtrType) ElementType() reflect.Type { + return reflect.TypeOf((**VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificate)(nil)).Elem() } -func (i *virtualNodeSpecBackendVirtualServiceClientPolicyPtrType) ToVirtualNodeSpecBackendVirtualServiceClientPolicyPtrOutput() VirtualNodeSpecBackendVirtualServiceClientPolicyPtrOutput { - return i.ToVirtualNodeSpecBackendVirtualServiceClientPolicyPtrOutputWithContext(context.Background()) +func (i *virtualNodeSpecBackendDefaultsClientPolicyTlsCertificatePtrType) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsCertificatePtrOutput() VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificatePtrOutput { + return i.ToVirtualNodeSpecBackendDefaultsClientPolicyTlsCertificatePtrOutputWithContext(context.Background()) } -func (i *virtualNodeSpecBackendVirtualServiceClientPolicyPtrType) ToVirtualNodeSpecBackendVirtualServiceClientPolicyPtrOutputWithContext(ctx context.Context) VirtualNodeSpecBackendVirtualServiceClientPolicyPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecBackendVirtualServiceClientPolicyPtrOutput) +func (i *virtualNodeSpecBackendDefaultsClientPolicyTlsCertificatePtrType) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsCertificatePtrOutputWithContext(ctx context.Context) VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificatePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificatePtrOutput) } -type VirtualNodeSpecBackendVirtualServiceClientPolicyOutput struct{ *pulumi.OutputState } +type VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateOutput struct{ *pulumi.OutputState } -func (VirtualNodeSpecBackendVirtualServiceClientPolicyOutput) ElementType() reflect.Type { - return reflect.TypeOf((*VirtualNodeSpecBackendVirtualServiceClientPolicy)(nil)).Elem() +func (VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateOutput) ElementType() reflect.Type { + return reflect.TypeOf((*VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificate)(nil)).Elem() } -func (o VirtualNodeSpecBackendVirtualServiceClientPolicyOutput) ToVirtualNodeSpecBackendVirtualServiceClientPolicyOutput() VirtualNodeSpecBackendVirtualServiceClientPolicyOutput { +func (o VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateOutput) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateOutput() VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateOutput { return o } -func (o VirtualNodeSpecBackendVirtualServiceClientPolicyOutput) ToVirtualNodeSpecBackendVirtualServiceClientPolicyOutputWithContext(ctx context.Context) VirtualNodeSpecBackendVirtualServiceClientPolicyOutput { +func (o VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateOutput) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateOutputWithContext(ctx context.Context) VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateOutput { return o } -func (o VirtualNodeSpecBackendVirtualServiceClientPolicyOutput) ToVirtualNodeSpecBackendVirtualServiceClientPolicyPtrOutput() VirtualNodeSpecBackendVirtualServiceClientPolicyPtrOutput { - return o.ToVirtualNodeSpecBackendVirtualServiceClientPolicyPtrOutputWithContext(context.Background()) +func (o VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateOutput) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsCertificatePtrOutput() VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificatePtrOutput { + return o.ToVirtualNodeSpecBackendDefaultsClientPolicyTlsCertificatePtrOutputWithContext(context.Background()) } -func (o VirtualNodeSpecBackendVirtualServiceClientPolicyOutput) ToVirtualNodeSpecBackendVirtualServiceClientPolicyPtrOutputWithContext(ctx context.Context) VirtualNodeSpecBackendVirtualServiceClientPolicyPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v VirtualNodeSpecBackendVirtualServiceClientPolicy) *VirtualNodeSpecBackendVirtualServiceClientPolicy { +func (o VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateOutput) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsCertificatePtrOutputWithContext(ctx context.Context) VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificatePtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificate) *VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificate { return &v - }).(VirtualNodeSpecBackendVirtualServiceClientPolicyPtrOutput) + }).(VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificatePtrOutput) } -// Transport Layer Security (TLS) client policy. -func (o VirtualNodeSpecBackendVirtualServiceClientPolicyOutput) Tls() VirtualNodeSpecBackendVirtualServiceClientPolicyTlsPtrOutput { - return o.ApplyT(func(v VirtualNodeSpecBackendVirtualServiceClientPolicy) *VirtualNodeSpecBackendVirtualServiceClientPolicyTls { - return v.Tls - }).(VirtualNodeSpecBackendVirtualServiceClientPolicyTlsPtrOutput) +// Local file certificate. +func (o VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateOutput) File() VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateFilePtrOutput { + return o.ApplyT(func(v VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificate) *VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateFile { + return v.File + }).(VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateFilePtrOutput) } -type VirtualNodeSpecBackendVirtualServiceClientPolicyPtrOutput struct{ *pulumi.OutputState } +// A [Secret Discovery Service](https://www.envoyproxy.io/docs/envoy/latest/configuration/security/secret#secret-discovery-service-sds) certificate. +func (o VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateOutput) Sds() VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateSdsPtrOutput { + return o.ApplyT(func(v VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificate) *VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateSds { + return v.Sds + }).(VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateSdsPtrOutput) +} -func (VirtualNodeSpecBackendVirtualServiceClientPolicyPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**VirtualNodeSpecBackendVirtualServiceClientPolicy)(nil)).Elem() +type VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificatePtrOutput struct{ *pulumi.OutputState } + +func (VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificatePtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificate)(nil)).Elem() } -func (o VirtualNodeSpecBackendVirtualServiceClientPolicyPtrOutput) ToVirtualNodeSpecBackendVirtualServiceClientPolicyPtrOutput() VirtualNodeSpecBackendVirtualServiceClientPolicyPtrOutput { +func (o VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificatePtrOutput) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsCertificatePtrOutput() VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificatePtrOutput { return o } -func (o VirtualNodeSpecBackendVirtualServiceClientPolicyPtrOutput) ToVirtualNodeSpecBackendVirtualServiceClientPolicyPtrOutputWithContext(ctx context.Context) VirtualNodeSpecBackendVirtualServiceClientPolicyPtrOutput { +func (o VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificatePtrOutput) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsCertificatePtrOutputWithContext(ctx context.Context) VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificatePtrOutput { return o } -func (o VirtualNodeSpecBackendVirtualServiceClientPolicyPtrOutput) Elem() VirtualNodeSpecBackendVirtualServiceClientPolicyOutput { - return o.ApplyT(func(v *VirtualNodeSpecBackendVirtualServiceClientPolicy) VirtualNodeSpecBackendVirtualServiceClientPolicy { +func (o VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificatePtrOutput) Elem() VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateOutput { + return o.ApplyT(func(v *VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificate) VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificate { if v != nil { return *v } - var ret VirtualNodeSpecBackendVirtualServiceClientPolicy + var ret VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificate return ret - }).(VirtualNodeSpecBackendVirtualServiceClientPolicyOutput) + }).(VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateOutput) } -// Transport Layer Security (TLS) client policy. -func (o VirtualNodeSpecBackendVirtualServiceClientPolicyPtrOutput) Tls() VirtualNodeSpecBackendVirtualServiceClientPolicyTlsPtrOutput { - return o.ApplyT(func(v *VirtualNodeSpecBackendVirtualServiceClientPolicy) *VirtualNodeSpecBackendVirtualServiceClientPolicyTls { +// Local file certificate. +func (o VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificatePtrOutput) File() VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateFilePtrOutput { + return o.ApplyT(func(v *VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificate) *VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateFile { if v == nil { return nil } - return v.Tls - }).(VirtualNodeSpecBackendVirtualServiceClientPolicyTlsPtrOutput) + return v.File + }).(VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateFilePtrOutput) } -type VirtualNodeSpecBackendVirtualServiceClientPolicyTls struct { - // Listener's TLS certificate. - Certificate *VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificate `pulumi:"certificate"` - // Whether the policy is enforced. Default is `true`. - Enforce *bool `pulumi:"enforce"` - // One or more ports that the policy is enforced for. - Ports []int `pulumi:"ports"` - // Listener's Transport Layer Security (TLS) validation context. - Validation VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidation `pulumi:"validation"` +// A [Secret Discovery Service](https://www.envoyproxy.io/docs/envoy/latest/configuration/security/secret#secret-discovery-service-sds) certificate. +func (o VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificatePtrOutput) Sds() VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateSdsPtrOutput { + return o.ApplyT(func(v *VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificate) *VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateSds { + if v == nil { + return nil + } + return v.Sds + }).(VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateSdsPtrOutput) } -// VirtualNodeSpecBackendVirtualServiceClientPolicyTlsInput is an input type that accepts VirtualNodeSpecBackendVirtualServiceClientPolicyTlsArgs and VirtualNodeSpecBackendVirtualServiceClientPolicyTlsOutput values. -// You can construct a concrete instance of `VirtualNodeSpecBackendVirtualServiceClientPolicyTlsInput` via: +type VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateFile struct { + // Certificate trust chain for a certificate stored on the file system of the mesh endpoint that the proxy is running on. Must be between 1 and 255 characters in length. + CertificateChain string `pulumi:"certificateChain"` + // Private key for a certificate stored on the file system of the virtual node that the proxy is running on. Must be between 1 and 255 characters in length. + PrivateKey string `pulumi:"privateKey"` +} + +// VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateFileInput is an input type that accepts VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateFileArgs and VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateFileOutput values. +// You can construct a concrete instance of `VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateFileInput` via: // -// VirtualNodeSpecBackendVirtualServiceClientPolicyTlsArgs{...} -type VirtualNodeSpecBackendVirtualServiceClientPolicyTlsInput interface { +// VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateFileArgs{...} +type VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateFileInput interface { pulumi.Input - ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsOutput() VirtualNodeSpecBackendVirtualServiceClientPolicyTlsOutput - ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsOutputWithContext(context.Context) VirtualNodeSpecBackendVirtualServiceClientPolicyTlsOutput + ToVirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateFileOutput() VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateFileOutput + ToVirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateFileOutputWithContext(context.Context) VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateFileOutput } -type VirtualNodeSpecBackendVirtualServiceClientPolicyTlsArgs struct { - // Listener's TLS certificate. - Certificate VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificatePtrInput `pulumi:"certificate"` - // Whether the policy is enforced. Default is `true`. - Enforce pulumi.BoolPtrInput `pulumi:"enforce"` - // One or more ports that the policy is enforced for. - Ports pulumi.IntArrayInput `pulumi:"ports"` - // Listener's Transport Layer Security (TLS) validation context. - Validation VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationInput `pulumi:"validation"` +type VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateFileArgs struct { + // Certificate trust chain for a certificate stored on the file system of the mesh endpoint that the proxy is running on. Must be between 1 and 255 characters in length. + CertificateChain pulumi.StringInput `pulumi:"certificateChain"` + // Private key for a certificate stored on the file system of the virtual node that the proxy is running on. Must be between 1 and 255 characters in length. + PrivateKey pulumi.StringInput `pulumi:"privateKey"` } -func (VirtualNodeSpecBackendVirtualServiceClientPolicyTlsArgs) ElementType() reflect.Type { - return reflect.TypeOf((*VirtualNodeSpecBackendVirtualServiceClientPolicyTls)(nil)).Elem() +func (VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateFileArgs) ElementType() reflect.Type { + return reflect.TypeOf((*VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateFile)(nil)).Elem() } -func (i VirtualNodeSpecBackendVirtualServiceClientPolicyTlsArgs) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsOutput() VirtualNodeSpecBackendVirtualServiceClientPolicyTlsOutput { - return i.ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsOutputWithContext(context.Background()) +func (i VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateFileArgs) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateFileOutput() VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateFileOutput { + return i.ToVirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateFileOutputWithContext(context.Background()) } -func (i VirtualNodeSpecBackendVirtualServiceClientPolicyTlsArgs) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsOutputWithContext(ctx context.Context) VirtualNodeSpecBackendVirtualServiceClientPolicyTlsOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecBackendVirtualServiceClientPolicyTlsOutput) +func (i VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateFileArgs) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateFileOutputWithContext(ctx context.Context) VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateFileOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateFileOutput) } -func (i VirtualNodeSpecBackendVirtualServiceClientPolicyTlsArgs) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsPtrOutput() VirtualNodeSpecBackendVirtualServiceClientPolicyTlsPtrOutput { - return i.ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsPtrOutputWithContext(context.Background()) +func (i VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateFileArgs) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateFilePtrOutput() VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateFilePtrOutput { + return i.ToVirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateFilePtrOutputWithContext(context.Background()) } -func (i VirtualNodeSpecBackendVirtualServiceClientPolicyTlsArgs) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsPtrOutputWithContext(ctx context.Context) VirtualNodeSpecBackendVirtualServiceClientPolicyTlsPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecBackendVirtualServiceClientPolicyTlsOutput).ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsPtrOutputWithContext(ctx) +func (i VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateFileArgs) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateFilePtrOutputWithContext(ctx context.Context) VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateFilePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateFileOutput).ToVirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateFilePtrOutputWithContext(ctx) } -// VirtualNodeSpecBackendVirtualServiceClientPolicyTlsPtrInput is an input type that accepts VirtualNodeSpecBackendVirtualServiceClientPolicyTlsArgs, VirtualNodeSpecBackendVirtualServiceClientPolicyTlsPtr and VirtualNodeSpecBackendVirtualServiceClientPolicyTlsPtrOutput values. -// You can construct a concrete instance of `VirtualNodeSpecBackendVirtualServiceClientPolicyTlsPtrInput` via: +// VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateFilePtrInput is an input type that accepts VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateFileArgs, VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateFilePtr and VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateFilePtrOutput values. +// You can construct a concrete instance of `VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateFilePtrInput` via: // -// VirtualNodeSpecBackendVirtualServiceClientPolicyTlsArgs{...} +// VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateFileArgs{...} // // or: // // nil -type VirtualNodeSpecBackendVirtualServiceClientPolicyTlsPtrInput interface { +type VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateFilePtrInput interface { pulumi.Input - ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsPtrOutput() VirtualNodeSpecBackendVirtualServiceClientPolicyTlsPtrOutput - ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsPtrOutputWithContext(context.Context) VirtualNodeSpecBackendVirtualServiceClientPolicyTlsPtrOutput + ToVirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateFilePtrOutput() VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateFilePtrOutput + ToVirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateFilePtrOutputWithContext(context.Context) VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateFilePtrOutput } -type virtualNodeSpecBackendVirtualServiceClientPolicyTlsPtrType VirtualNodeSpecBackendVirtualServiceClientPolicyTlsArgs +type virtualNodeSpecBackendDefaultsClientPolicyTlsCertificateFilePtrType VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateFileArgs -func VirtualNodeSpecBackendVirtualServiceClientPolicyTlsPtr(v *VirtualNodeSpecBackendVirtualServiceClientPolicyTlsArgs) VirtualNodeSpecBackendVirtualServiceClientPolicyTlsPtrInput { - return (*virtualNodeSpecBackendVirtualServiceClientPolicyTlsPtrType)(v) +func VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateFilePtr(v *VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateFileArgs) VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateFilePtrInput { + return (*virtualNodeSpecBackendDefaultsClientPolicyTlsCertificateFilePtrType)(v) } -func (*virtualNodeSpecBackendVirtualServiceClientPolicyTlsPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**VirtualNodeSpecBackendVirtualServiceClientPolicyTls)(nil)).Elem() +func (*virtualNodeSpecBackendDefaultsClientPolicyTlsCertificateFilePtrType) ElementType() reflect.Type { + return reflect.TypeOf((**VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateFile)(nil)).Elem() } -func (i *virtualNodeSpecBackendVirtualServiceClientPolicyTlsPtrType) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsPtrOutput() VirtualNodeSpecBackendVirtualServiceClientPolicyTlsPtrOutput { - return i.ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsPtrOutputWithContext(context.Background()) +func (i *virtualNodeSpecBackendDefaultsClientPolicyTlsCertificateFilePtrType) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateFilePtrOutput() VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateFilePtrOutput { + return i.ToVirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateFilePtrOutputWithContext(context.Background()) } -func (i *virtualNodeSpecBackendVirtualServiceClientPolicyTlsPtrType) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsPtrOutputWithContext(ctx context.Context) VirtualNodeSpecBackendVirtualServiceClientPolicyTlsPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecBackendVirtualServiceClientPolicyTlsPtrOutput) +func (i *virtualNodeSpecBackendDefaultsClientPolicyTlsCertificateFilePtrType) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateFilePtrOutputWithContext(ctx context.Context) VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateFilePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateFilePtrOutput) } -type VirtualNodeSpecBackendVirtualServiceClientPolicyTlsOutput struct{ *pulumi.OutputState } +type VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateFileOutput struct{ *pulumi.OutputState } -func (VirtualNodeSpecBackendVirtualServiceClientPolicyTlsOutput) ElementType() reflect.Type { - return reflect.TypeOf((*VirtualNodeSpecBackendVirtualServiceClientPolicyTls)(nil)).Elem() +func (VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateFileOutput) ElementType() reflect.Type { + return reflect.TypeOf((*VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateFile)(nil)).Elem() } -func (o VirtualNodeSpecBackendVirtualServiceClientPolicyTlsOutput) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsOutput() VirtualNodeSpecBackendVirtualServiceClientPolicyTlsOutput { +func (o VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateFileOutput) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateFileOutput() VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateFileOutput { return o } -func (o VirtualNodeSpecBackendVirtualServiceClientPolicyTlsOutput) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsOutputWithContext(ctx context.Context) VirtualNodeSpecBackendVirtualServiceClientPolicyTlsOutput { +func (o VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateFileOutput) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateFileOutputWithContext(ctx context.Context) VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateFileOutput { return o } -func (o VirtualNodeSpecBackendVirtualServiceClientPolicyTlsOutput) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsPtrOutput() VirtualNodeSpecBackendVirtualServiceClientPolicyTlsPtrOutput { - return o.ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsPtrOutputWithContext(context.Background()) +func (o VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateFileOutput) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateFilePtrOutput() VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateFilePtrOutput { + return o.ToVirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateFilePtrOutputWithContext(context.Background()) } -func (o VirtualNodeSpecBackendVirtualServiceClientPolicyTlsOutput) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsPtrOutputWithContext(ctx context.Context) VirtualNodeSpecBackendVirtualServiceClientPolicyTlsPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v VirtualNodeSpecBackendVirtualServiceClientPolicyTls) *VirtualNodeSpecBackendVirtualServiceClientPolicyTls { +func (o VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateFileOutput) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateFilePtrOutputWithContext(ctx context.Context) VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateFilePtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateFile) *VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateFile { return &v - }).(VirtualNodeSpecBackendVirtualServiceClientPolicyTlsPtrOutput) + }).(VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateFilePtrOutput) } -// Listener's TLS certificate. -func (o VirtualNodeSpecBackendVirtualServiceClientPolicyTlsOutput) Certificate() VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificatePtrOutput { - return o.ApplyT(func(v VirtualNodeSpecBackendVirtualServiceClientPolicyTls) *VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificate { - return v.Certificate - }).(VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificatePtrOutput) +// Certificate trust chain for a certificate stored on the file system of the mesh endpoint that the proxy is running on. Must be between 1 and 255 characters in length. +func (o VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateFileOutput) CertificateChain() pulumi.StringOutput { + return o.ApplyT(func(v VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateFile) string { return v.CertificateChain }).(pulumi.StringOutput) } -// Whether the policy is enforced. Default is `true`. -func (o VirtualNodeSpecBackendVirtualServiceClientPolicyTlsOutput) Enforce() pulumi.BoolPtrOutput { - return o.ApplyT(func(v VirtualNodeSpecBackendVirtualServiceClientPolicyTls) *bool { return v.Enforce }).(pulumi.BoolPtrOutput) -} - -// One or more ports that the policy is enforced for. -func (o VirtualNodeSpecBackendVirtualServiceClientPolicyTlsOutput) Ports() pulumi.IntArrayOutput { - return o.ApplyT(func(v VirtualNodeSpecBackendVirtualServiceClientPolicyTls) []int { return v.Ports }).(pulumi.IntArrayOutput) -} - -// Listener's Transport Layer Security (TLS) validation context. -func (o VirtualNodeSpecBackendVirtualServiceClientPolicyTlsOutput) Validation() VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationOutput { - return o.ApplyT(func(v VirtualNodeSpecBackendVirtualServiceClientPolicyTls) VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidation { - return v.Validation - }).(VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationOutput) +// Private key for a certificate stored on the file system of the virtual node that the proxy is running on. Must be between 1 and 255 characters in length. +func (o VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateFileOutput) PrivateKey() pulumi.StringOutput { + return o.ApplyT(func(v VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateFile) string { return v.PrivateKey }).(pulumi.StringOutput) } -type VirtualNodeSpecBackendVirtualServiceClientPolicyTlsPtrOutput struct{ *pulumi.OutputState } +type VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateFilePtrOutput struct{ *pulumi.OutputState } -func (VirtualNodeSpecBackendVirtualServiceClientPolicyTlsPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**VirtualNodeSpecBackendVirtualServiceClientPolicyTls)(nil)).Elem() +func (VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateFilePtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateFile)(nil)).Elem() } -func (o VirtualNodeSpecBackendVirtualServiceClientPolicyTlsPtrOutput) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsPtrOutput() VirtualNodeSpecBackendVirtualServiceClientPolicyTlsPtrOutput { +func (o VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateFilePtrOutput) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateFilePtrOutput() VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateFilePtrOutput { return o } -func (o VirtualNodeSpecBackendVirtualServiceClientPolicyTlsPtrOutput) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsPtrOutputWithContext(ctx context.Context) VirtualNodeSpecBackendVirtualServiceClientPolicyTlsPtrOutput { +func (o VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateFilePtrOutput) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateFilePtrOutputWithContext(ctx context.Context) VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateFilePtrOutput { return o } -func (o VirtualNodeSpecBackendVirtualServiceClientPolicyTlsPtrOutput) Elem() VirtualNodeSpecBackendVirtualServiceClientPolicyTlsOutput { - return o.ApplyT(func(v *VirtualNodeSpecBackendVirtualServiceClientPolicyTls) VirtualNodeSpecBackendVirtualServiceClientPolicyTls { +func (o VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateFilePtrOutput) Elem() VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateFileOutput { + return o.ApplyT(func(v *VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateFile) VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateFile { if v != nil { return *v } - var ret VirtualNodeSpecBackendVirtualServiceClientPolicyTls + var ret VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateFile return ret - }).(VirtualNodeSpecBackendVirtualServiceClientPolicyTlsOutput) -} - -// Listener's TLS certificate. -func (o VirtualNodeSpecBackendVirtualServiceClientPolicyTlsPtrOutput) Certificate() VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificatePtrOutput { - return o.ApplyT(func(v *VirtualNodeSpecBackendVirtualServiceClientPolicyTls) *VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificate { - if v == nil { - return nil - } - return v.Certificate - }).(VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificatePtrOutput) -} - -// Whether the policy is enforced. Default is `true`. -func (o VirtualNodeSpecBackendVirtualServiceClientPolicyTlsPtrOutput) Enforce() pulumi.BoolPtrOutput { - return o.ApplyT(func(v *VirtualNodeSpecBackendVirtualServiceClientPolicyTls) *bool { - if v == nil { - return nil - } - return v.Enforce - }).(pulumi.BoolPtrOutput) + }).(VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateFileOutput) } -// One or more ports that the policy is enforced for. -func (o VirtualNodeSpecBackendVirtualServiceClientPolicyTlsPtrOutput) Ports() pulumi.IntArrayOutput { - return o.ApplyT(func(v *VirtualNodeSpecBackendVirtualServiceClientPolicyTls) []int { +// Certificate trust chain for a certificate stored on the file system of the mesh endpoint that the proxy is running on. Must be between 1 and 255 characters in length. +func (o VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateFilePtrOutput) CertificateChain() pulumi.StringPtrOutput { + return o.ApplyT(func(v *VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateFile) *string { if v == nil { return nil } - return v.Ports - }).(pulumi.IntArrayOutput) + return &v.CertificateChain + }).(pulumi.StringPtrOutput) } -// Listener's Transport Layer Security (TLS) validation context. -func (o VirtualNodeSpecBackendVirtualServiceClientPolicyTlsPtrOutput) Validation() VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationPtrOutput { - return o.ApplyT(func(v *VirtualNodeSpecBackendVirtualServiceClientPolicyTls) *VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidation { +// Private key for a certificate stored on the file system of the virtual node that the proxy is running on. Must be between 1 and 255 characters in length. +func (o VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateFilePtrOutput) PrivateKey() pulumi.StringPtrOutput { + return o.ApplyT(func(v *VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateFile) *string { if v == nil { return nil } - return &v.Validation - }).(VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationPtrOutput) + return &v.PrivateKey + }).(pulumi.StringPtrOutput) } -type VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificate struct { - // Local file certificate. - File *VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateFile `pulumi:"file"` - // A [Secret Discovery Service](https://www.envoyproxy.io/docs/envoy/latest/configuration/security/secret#secret-discovery-service-sds) certificate. - Sds *VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateSds `pulumi:"sds"` +type VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateSds struct { + // Name of the secret for a virtual node's Transport Layer Security (TLS) Secret Discovery Service validation context trust. + SecretName string `pulumi:"secretName"` } -// VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateInput is an input type that accepts VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateArgs and VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateOutput values. -// You can construct a concrete instance of `VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateInput` via: +// VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateSdsInput is an input type that accepts VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateSdsArgs and VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateSdsOutput values. +// You can construct a concrete instance of `VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateSdsInput` via: // -// VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateArgs{...} -type VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateInput interface { +// VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateSdsArgs{...} +type VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateSdsInput interface { pulumi.Input - ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateOutput() VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateOutput - ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateOutputWithContext(context.Context) VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateOutput + ToVirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateSdsOutput() VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateSdsOutput + ToVirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateSdsOutputWithContext(context.Context) VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateSdsOutput } -type VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateArgs struct { - // Local file certificate. - File VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateFilePtrInput `pulumi:"file"` - // A [Secret Discovery Service](https://www.envoyproxy.io/docs/envoy/latest/configuration/security/secret#secret-discovery-service-sds) certificate. - Sds VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateSdsPtrInput `pulumi:"sds"` +type VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateSdsArgs struct { + // Name of the secret for a virtual node's Transport Layer Security (TLS) Secret Discovery Service validation context trust. + SecretName pulumi.StringInput `pulumi:"secretName"` } -func (VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateArgs) ElementType() reflect.Type { - return reflect.TypeOf((*VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificate)(nil)).Elem() +func (VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateSdsArgs) ElementType() reflect.Type { + return reflect.TypeOf((*VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateSds)(nil)).Elem() } -func (i VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateArgs) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateOutput() VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateOutput { - return i.ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateOutputWithContext(context.Background()) +func (i VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateSdsArgs) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateSdsOutput() VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateSdsOutput { + return i.ToVirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateSdsOutputWithContext(context.Background()) } -func (i VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateArgs) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateOutputWithContext(ctx context.Context) VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateOutput) +func (i VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateSdsArgs) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateSdsOutputWithContext(ctx context.Context) VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateSdsOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateSdsOutput) } -func (i VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateArgs) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificatePtrOutput() VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificatePtrOutput { - return i.ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificatePtrOutputWithContext(context.Background()) +func (i VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateSdsArgs) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateSdsPtrOutput() VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateSdsPtrOutput { + return i.ToVirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateSdsPtrOutputWithContext(context.Background()) } -func (i VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateArgs) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificatePtrOutputWithContext(ctx context.Context) VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificatePtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateOutput).ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificatePtrOutputWithContext(ctx) +func (i VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateSdsArgs) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateSdsPtrOutputWithContext(ctx context.Context) VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateSdsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateSdsOutput).ToVirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateSdsPtrOutputWithContext(ctx) } -// VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificatePtrInput is an input type that accepts VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateArgs, VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificatePtr and VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificatePtrOutput values. -// You can construct a concrete instance of `VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificatePtrInput` via: +// VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateSdsPtrInput is an input type that accepts VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateSdsArgs, VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateSdsPtr and VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateSdsPtrOutput values. +// You can construct a concrete instance of `VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateSdsPtrInput` via: // -// VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateArgs{...} +// VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateSdsArgs{...} // // or: // // nil -type VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificatePtrInput interface { +type VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateSdsPtrInput interface { pulumi.Input - ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificatePtrOutput() VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificatePtrOutput - ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificatePtrOutputWithContext(context.Context) VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificatePtrOutput + ToVirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateSdsPtrOutput() VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateSdsPtrOutput + ToVirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateSdsPtrOutputWithContext(context.Context) VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateSdsPtrOutput } -type virtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificatePtrType VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateArgs +type virtualNodeSpecBackendDefaultsClientPolicyTlsCertificateSdsPtrType VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateSdsArgs -func VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificatePtr(v *VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateArgs) VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificatePtrInput { - return (*virtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificatePtrType)(v) +func VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateSdsPtr(v *VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateSdsArgs) VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateSdsPtrInput { + return (*virtualNodeSpecBackendDefaultsClientPolicyTlsCertificateSdsPtrType)(v) } -func (*virtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificatePtrType) ElementType() reflect.Type { - return reflect.TypeOf((**VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificate)(nil)).Elem() +func (*virtualNodeSpecBackendDefaultsClientPolicyTlsCertificateSdsPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateSds)(nil)).Elem() } -func (i *virtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificatePtrType) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificatePtrOutput() VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificatePtrOutput { - return i.ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificatePtrOutputWithContext(context.Background()) +func (i *virtualNodeSpecBackendDefaultsClientPolicyTlsCertificateSdsPtrType) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateSdsPtrOutput() VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateSdsPtrOutput { + return i.ToVirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateSdsPtrOutputWithContext(context.Background()) } -func (i *virtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificatePtrType) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificatePtrOutputWithContext(ctx context.Context) VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificatePtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificatePtrOutput) +func (i *virtualNodeSpecBackendDefaultsClientPolicyTlsCertificateSdsPtrType) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateSdsPtrOutputWithContext(ctx context.Context) VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateSdsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateSdsPtrOutput) } -type VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateOutput struct{ *pulumi.OutputState } +type VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateSdsOutput struct{ *pulumi.OutputState } -func (VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateOutput) ElementType() reflect.Type { - return reflect.TypeOf((*VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificate)(nil)).Elem() +func (VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateSdsOutput) ElementType() reflect.Type { + return reflect.TypeOf((*VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateSds)(nil)).Elem() } -func (o VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateOutput) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateOutput() VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateOutput { +func (o VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateSdsOutput) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateSdsOutput() VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateSdsOutput { return o } -func (o VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateOutput) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateOutputWithContext(ctx context.Context) VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateOutput { +func (o VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateSdsOutput) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateSdsOutputWithContext(ctx context.Context) VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateSdsOutput { return o } -func (o VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateOutput) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificatePtrOutput() VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificatePtrOutput { - return o.ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificatePtrOutputWithContext(context.Background()) +func (o VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateSdsOutput) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateSdsPtrOutput() VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateSdsPtrOutput { + return o.ToVirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateSdsPtrOutputWithContext(context.Background()) } -func (o VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateOutput) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificatePtrOutputWithContext(ctx context.Context) VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificatePtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificate) *VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificate { +func (o VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateSdsOutput) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateSdsPtrOutputWithContext(ctx context.Context) VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateSdsPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateSds) *VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateSds { return &v - }).(VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificatePtrOutput) -} - -// Local file certificate. -func (o VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateOutput) File() VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateFilePtrOutput { - return o.ApplyT(func(v VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificate) *VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateFile { - return v.File - }).(VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateFilePtrOutput) + }).(VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateSdsPtrOutput) } -// A [Secret Discovery Service](https://www.envoyproxy.io/docs/envoy/latest/configuration/security/secret#secret-discovery-service-sds) certificate. -func (o VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateOutput) Sds() VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateSdsPtrOutput { - return o.ApplyT(func(v VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificate) *VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateSds { - return v.Sds - }).(VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateSdsPtrOutput) +// Name of the secret for a virtual node's Transport Layer Security (TLS) Secret Discovery Service validation context trust. +func (o VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateSdsOutput) SecretName() pulumi.StringOutput { + return o.ApplyT(func(v VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateSds) string { return v.SecretName }).(pulumi.StringOutput) } -type VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificatePtrOutput struct{ *pulumi.OutputState } +type VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateSdsPtrOutput struct{ *pulumi.OutputState } -func (VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificatePtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificate)(nil)).Elem() +func (VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateSdsPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateSds)(nil)).Elem() } -func (o VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificatePtrOutput) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificatePtrOutput() VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificatePtrOutput { +func (o VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateSdsPtrOutput) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateSdsPtrOutput() VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateSdsPtrOutput { return o } -func (o VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificatePtrOutput) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificatePtrOutputWithContext(ctx context.Context) VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificatePtrOutput { +func (o VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateSdsPtrOutput) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateSdsPtrOutputWithContext(ctx context.Context) VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateSdsPtrOutput { return o } -func (o VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificatePtrOutput) Elem() VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateOutput { - return o.ApplyT(func(v *VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificate) VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificate { +func (o VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateSdsPtrOutput) Elem() VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateSdsOutput { + return o.ApplyT(func(v *VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateSds) VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateSds { if v != nil { return *v } - var ret VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificate + var ret VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateSds return ret - }).(VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateOutput) -} - -// Local file certificate. -func (o VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificatePtrOutput) File() VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateFilePtrOutput { - return o.ApplyT(func(v *VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificate) *VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateFile { - if v == nil { - return nil - } - return v.File - }).(VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateFilePtrOutput) + }).(VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateSdsOutput) } -// A [Secret Discovery Service](https://www.envoyproxy.io/docs/envoy/latest/configuration/security/secret#secret-discovery-service-sds) certificate. -func (o VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificatePtrOutput) Sds() VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateSdsPtrOutput { - return o.ApplyT(func(v *VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificate) *VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateSds { +// Name of the secret for a virtual node's Transport Layer Security (TLS) Secret Discovery Service validation context trust. +func (o VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateSdsPtrOutput) SecretName() pulumi.StringPtrOutput { + return o.ApplyT(func(v *VirtualNodeSpecBackendDefaultsClientPolicyTlsCertificateSds) *string { if v == nil { return nil } - return v.Sds - }).(VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateSdsPtrOutput) + return &v.SecretName + }).(pulumi.StringPtrOutput) } -type VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateFile struct { - // Certificate trust chain for a certificate stored on the file system of the mesh endpoint that the proxy is running on. Must be between 1 and 255 characters in length. - CertificateChain string `pulumi:"certificateChain"` - // Private key for a certificate stored on the file system of the virtual node that the proxy is running on. Must be between 1 and 255 characters in length. - PrivateKey string `pulumi:"privateKey"` +type VirtualNodeSpecBackendDefaultsClientPolicyTlsValidation struct { + // SANs for a TLS validation context. + SubjectAlternativeNames *VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNames `pulumi:"subjectAlternativeNames"` + // TLS validation context trust. + Trust VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrust `pulumi:"trust"` } -// VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateFileInput is an input type that accepts VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateFileArgs and VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateFileOutput values. -// You can construct a concrete instance of `VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateFileInput` via: +// VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationInput is an input type that accepts VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationArgs and VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationOutput values. +// You can construct a concrete instance of `VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationInput` via: // -// VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateFileArgs{...} -type VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateFileInput interface { +// VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationArgs{...} +type VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationInput interface { pulumi.Input - ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateFileOutput() VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateFileOutput - ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateFileOutputWithContext(context.Context) VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateFileOutput + ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationOutput() VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationOutput + ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationOutputWithContext(context.Context) VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationOutput } -type VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateFileArgs struct { - // Certificate trust chain for a certificate stored on the file system of the mesh endpoint that the proxy is running on. Must be between 1 and 255 characters in length. - CertificateChain pulumi.StringInput `pulumi:"certificateChain"` - // Private key for a certificate stored on the file system of the virtual node that the proxy is running on. Must be between 1 and 255 characters in length. - PrivateKey pulumi.StringInput `pulumi:"privateKey"` +type VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationArgs struct { + // SANs for a TLS validation context. + SubjectAlternativeNames VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesPtrInput `pulumi:"subjectAlternativeNames"` + // TLS validation context trust. + Trust VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustInput `pulumi:"trust"` } -func (VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateFileArgs) ElementType() reflect.Type { - return reflect.TypeOf((*VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateFile)(nil)).Elem() +func (VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationArgs) ElementType() reflect.Type { + return reflect.TypeOf((*VirtualNodeSpecBackendDefaultsClientPolicyTlsValidation)(nil)).Elem() } -func (i VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateFileArgs) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateFileOutput() VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateFileOutput { - return i.ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateFileOutputWithContext(context.Background()) +func (i VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationArgs) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationOutput() VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationOutput { + return i.ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationOutputWithContext(context.Background()) } -func (i VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateFileArgs) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateFileOutputWithContext(ctx context.Context) VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateFileOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateFileOutput) +func (i VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationArgs) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationOutputWithContext(ctx context.Context) VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationOutput) } -func (i VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateFileArgs) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateFilePtrOutput() VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateFilePtrOutput { - return i.ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateFilePtrOutputWithContext(context.Background()) +func (i VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationArgs) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationPtrOutput() VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationPtrOutput { + return i.ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationPtrOutputWithContext(context.Background()) } -func (i VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateFileArgs) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateFilePtrOutputWithContext(ctx context.Context) VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateFilePtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateFileOutput).ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateFilePtrOutputWithContext(ctx) +func (i VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationArgs) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationPtrOutputWithContext(ctx context.Context) VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationOutput).ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationPtrOutputWithContext(ctx) } -// VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateFilePtrInput is an input type that accepts VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateFileArgs, VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateFilePtr and VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateFilePtrOutput values. -// You can construct a concrete instance of `VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateFilePtrInput` via: +// VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationPtrInput is an input type that accepts VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationArgs, VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationPtr and VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationPtrOutput values. +// You can construct a concrete instance of `VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationPtrInput` via: // -// VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateFileArgs{...} +// VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationArgs{...} // // or: // // nil -type VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateFilePtrInput interface { +type VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationPtrInput interface { pulumi.Input - ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateFilePtrOutput() VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateFilePtrOutput - ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateFilePtrOutputWithContext(context.Context) VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateFilePtrOutput + ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationPtrOutput() VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationPtrOutput + ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationPtrOutputWithContext(context.Context) VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationPtrOutput } -type virtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateFilePtrType VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateFileArgs +type virtualNodeSpecBackendDefaultsClientPolicyTlsValidationPtrType VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationArgs -func VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateFilePtr(v *VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateFileArgs) VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateFilePtrInput { - return (*virtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateFilePtrType)(v) +func VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationPtr(v *VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationArgs) VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationPtrInput { + return (*virtualNodeSpecBackendDefaultsClientPolicyTlsValidationPtrType)(v) } -func (*virtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateFilePtrType) ElementType() reflect.Type { - return reflect.TypeOf((**VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateFile)(nil)).Elem() +func (*virtualNodeSpecBackendDefaultsClientPolicyTlsValidationPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**VirtualNodeSpecBackendDefaultsClientPolicyTlsValidation)(nil)).Elem() } -func (i *virtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateFilePtrType) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateFilePtrOutput() VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateFilePtrOutput { - return i.ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateFilePtrOutputWithContext(context.Background()) +func (i *virtualNodeSpecBackendDefaultsClientPolicyTlsValidationPtrType) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationPtrOutput() VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationPtrOutput { + return i.ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationPtrOutputWithContext(context.Background()) } -func (i *virtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateFilePtrType) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateFilePtrOutputWithContext(ctx context.Context) VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateFilePtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateFilePtrOutput) +func (i *virtualNodeSpecBackendDefaultsClientPolicyTlsValidationPtrType) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationPtrOutputWithContext(ctx context.Context) VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationPtrOutput) } -type VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateFileOutput struct{ *pulumi.OutputState } +type VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationOutput struct{ *pulumi.OutputState } -func (VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateFileOutput) ElementType() reflect.Type { - return reflect.TypeOf((*VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateFile)(nil)).Elem() +func (VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationOutput) ElementType() reflect.Type { + return reflect.TypeOf((*VirtualNodeSpecBackendDefaultsClientPolicyTlsValidation)(nil)).Elem() } -func (o VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateFileOutput) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateFileOutput() VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateFileOutput { +func (o VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationOutput) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationOutput() VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationOutput { return o } -func (o VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateFileOutput) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateFileOutputWithContext(ctx context.Context) VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateFileOutput { +func (o VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationOutput) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationOutputWithContext(ctx context.Context) VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationOutput { return o } -func (o VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateFileOutput) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateFilePtrOutput() VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateFilePtrOutput { - return o.ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateFilePtrOutputWithContext(context.Background()) +func (o VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationOutput) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationPtrOutput() VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationPtrOutput { + return o.ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationPtrOutputWithContext(context.Background()) } -func (o VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateFileOutput) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateFilePtrOutputWithContext(ctx context.Context) VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateFilePtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateFile) *VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateFile { +func (o VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationOutput) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationPtrOutputWithContext(ctx context.Context) VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v VirtualNodeSpecBackendDefaultsClientPolicyTlsValidation) *VirtualNodeSpecBackendDefaultsClientPolicyTlsValidation { return &v - }).(VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateFilePtrOutput) + }).(VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationPtrOutput) } -// Certificate trust chain for a certificate stored on the file system of the mesh endpoint that the proxy is running on. Must be between 1 and 255 characters in length. -func (o VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateFileOutput) CertificateChain() pulumi.StringOutput { - return o.ApplyT(func(v VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateFile) string { - return v.CertificateChain - }).(pulumi.StringOutput) +// SANs for a TLS validation context. +func (o VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationOutput) SubjectAlternativeNames() VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesPtrOutput { + return o.ApplyT(func(v VirtualNodeSpecBackendDefaultsClientPolicyTlsValidation) *VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNames { + return v.SubjectAlternativeNames + }).(VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesPtrOutput) } -// Private key for a certificate stored on the file system of the virtual node that the proxy is running on. Must be between 1 and 255 characters in length. -func (o VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateFileOutput) PrivateKey() pulumi.StringOutput { - return o.ApplyT(func(v VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateFile) string { return v.PrivateKey }).(pulumi.StringOutput) +// TLS validation context trust. +func (o VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationOutput) Trust() VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustOutput { + return o.ApplyT(func(v VirtualNodeSpecBackendDefaultsClientPolicyTlsValidation) VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrust { + return v.Trust + }).(VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustOutput) } -type VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateFilePtrOutput struct{ *pulumi.OutputState } +type VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationPtrOutput struct{ *pulumi.OutputState } -func (VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateFilePtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateFile)(nil)).Elem() +func (VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**VirtualNodeSpecBackendDefaultsClientPolicyTlsValidation)(nil)).Elem() } -func (o VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateFilePtrOutput) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateFilePtrOutput() VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateFilePtrOutput { +func (o VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationPtrOutput) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationPtrOutput() VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationPtrOutput { return o } -func (o VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateFilePtrOutput) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateFilePtrOutputWithContext(ctx context.Context) VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateFilePtrOutput { +func (o VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationPtrOutput) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationPtrOutputWithContext(ctx context.Context) VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationPtrOutput { return o } -func (o VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateFilePtrOutput) Elem() VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateFileOutput { - return o.ApplyT(func(v *VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateFile) VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateFile { +func (o VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationPtrOutput) Elem() VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationOutput { + return o.ApplyT(func(v *VirtualNodeSpecBackendDefaultsClientPolicyTlsValidation) VirtualNodeSpecBackendDefaultsClientPolicyTlsValidation { if v != nil { return *v } - var ret VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateFile + var ret VirtualNodeSpecBackendDefaultsClientPolicyTlsValidation return ret - }).(VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateFileOutput) + }).(VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationOutput) } -// Certificate trust chain for a certificate stored on the file system of the mesh endpoint that the proxy is running on. Must be between 1 and 255 characters in length. -func (o VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateFilePtrOutput) CertificateChain() pulumi.StringPtrOutput { - return o.ApplyT(func(v *VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateFile) *string { +// SANs for a TLS validation context. +func (o VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationPtrOutput) SubjectAlternativeNames() VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesPtrOutput { + return o.ApplyT(func(v *VirtualNodeSpecBackendDefaultsClientPolicyTlsValidation) *VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNames { if v == nil { return nil } - return &v.CertificateChain - }).(pulumi.StringPtrOutput) + return v.SubjectAlternativeNames + }).(VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesPtrOutput) } -// Private key for a certificate stored on the file system of the virtual node that the proxy is running on. Must be between 1 and 255 characters in length. -func (o VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateFilePtrOutput) PrivateKey() pulumi.StringPtrOutput { - return o.ApplyT(func(v *VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateFile) *string { +// TLS validation context trust. +func (o VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationPtrOutput) Trust() VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustPtrOutput { + return o.ApplyT(func(v *VirtualNodeSpecBackendDefaultsClientPolicyTlsValidation) *VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrust { if v == nil { return nil } - return &v.PrivateKey - }).(pulumi.StringPtrOutput) + return &v.Trust + }).(VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustPtrOutput) } -type VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateSds struct { - // Name of the secret for a virtual node's Transport Layer Security (TLS) Secret Discovery Service validation context trust. - SecretName string `pulumi:"secretName"` +type VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNames struct { + // Criteria for determining a SAN's match. + Match VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatch `pulumi:"match"` } -// VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateSdsInput is an input type that accepts VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateSdsArgs and VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateSdsOutput values. -// You can construct a concrete instance of `VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateSdsInput` via: +// VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesInput is an input type that accepts VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesArgs and VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesOutput values. +// You can construct a concrete instance of `VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesInput` via: // -// VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateSdsArgs{...} -type VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateSdsInput interface { +// VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesArgs{...} +type VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesInput interface { pulumi.Input - ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateSdsOutput() VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateSdsOutput - ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateSdsOutputWithContext(context.Context) VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateSdsOutput + ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesOutput() VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesOutput + ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesOutputWithContext(context.Context) VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesOutput } -type VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateSdsArgs struct { - // Name of the secret for a virtual node's Transport Layer Security (TLS) Secret Discovery Service validation context trust. - SecretName pulumi.StringInput `pulumi:"secretName"` +type VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesArgs struct { + // Criteria for determining a SAN's match. + Match VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatchInput `pulumi:"match"` } -func (VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateSdsArgs) ElementType() reflect.Type { - return reflect.TypeOf((*VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateSds)(nil)).Elem() +func (VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesArgs) ElementType() reflect.Type { + return reflect.TypeOf((*VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNames)(nil)).Elem() } -func (i VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateSdsArgs) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateSdsOutput() VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateSdsOutput { - return i.ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateSdsOutputWithContext(context.Background()) +func (i VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesArgs) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesOutput() VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesOutput { + return i.ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesOutputWithContext(context.Background()) } -func (i VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateSdsArgs) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateSdsOutputWithContext(ctx context.Context) VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateSdsOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateSdsOutput) +func (i VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesArgs) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesOutputWithContext(ctx context.Context) VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesOutput) } -func (i VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateSdsArgs) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateSdsPtrOutput() VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateSdsPtrOutput { - return i.ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateSdsPtrOutputWithContext(context.Background()) +func (i VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesArgs) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesPtrOutput() VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesPtrOutput { + return i.ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesPtrOutputWithContext(context.Background()) } -func (i VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateSdsArgs) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateSdsPtrOutputWithContext(ctx context.Context) VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateSdsPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateSdsOutput).ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateSdsPtrOutputWithContext(ctx) +func (i VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesArgs) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesPtrOutputWithContext(ctx context.Context) VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesOutput).ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesPtrOutputWithContext(ctx) } -// VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateSdsPtrInput is an input type that accepts VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateSdsArgs, VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateSdsPtr and VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateSdsPtrOutput values. -// You can construct a concrete instance of `VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateSdsPtrInput` via: +// VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesPtrInput is an input type that accepts VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesArgs, VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesPtr and VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesPtrOutput values. +// You can construct a concrete instance of `VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesPtrInput` via: // -// VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateSdsArgs{...} +// VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesArgs{...} // // or: // // nil -type VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateSdsPtrInput interface { +type VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesPtrInput interface { pulumi.Input - ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateSdsPtrOutput() VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateSdsPtrOutput - ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateSdsPtrOutputWithContext(context.Context) VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateSdsPtrOutput + ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesPtrOutput() VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesPtrOutput + ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesPtrOutputWithContext(context.Context) VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesPtrOutput } -type virtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateSdsPtrType VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateSdsArgs +type virtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesPtrType VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesArgs -func VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateSdsPtr(v *VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateSdsArgs) VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateSdsPtrInput { - return (*virtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateSdsPtrType)(v) +func VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesPtr(v *VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesArgs) VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesPtrInput { + return (*virtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesPtrType)(v) } -func (*virtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateSdsPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateSds)(nil)).Elem() +func (*virtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNames)(nil)).Elem() } -func (i *virtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateSdsPtrType) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateSdsPtrOutput() VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateSdsPtrOutput { - return i.ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateSdsPtrOutputWithContext(context.Background()) +func (i *virtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesPtrType) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesPtrOutput() VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesPtrOutput { + return i.ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesPtrOutputWithContext(context.Background()) } -func (i *virtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateSdsPtrType) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateSdsPtrOutputWithContext(ctx context.Context) VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateSdsPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateSdsPtrOutput) +func (i *virtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesPtrType) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesPtrOutputWithContext(ctx context.Context) VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesPtrOutput) } -type VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateSdsOutput struct{ *pulumi.OutputState } +type VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesOutput struct{ *pulumi.OutputState } -func (VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateSdsOutput) ElementType() reflect.Type { - return reflect.TypeOf((*VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateSds)(nil)).Elem() +func (VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesOutput) ElementType() reflect.Type { + return reflect.TypeOf((*VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNames)(nil)).Elem() } -func (o VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateSdsOutput) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateSdsOutput() VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateSdsOutput { +func (o VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesOutput) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesOutput() VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesOutput { return o } -func (o VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateSdsOutput) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateSdsOutputWithContext(ctx context.Context) VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateSdsOutput { +func (o VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesOutput) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesOutputWithContext(ctx context.Context) VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesOutput { return o } -func (o VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateSdsOutput) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateSdsPtrOutput() VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateSdsPtrOutput { - return o.ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateSdsPtrOutputWithContext(context.Background()) +func (o VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesOutput) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesPtrOutput() VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesPtrOutput { + return o.ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesPtrOutputWithContext(context.Background()) } -func (o VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateSdsOutput) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateSdsPtrOutputWithContext(ctx context.Context) VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateSdsPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateSds) *VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateSds { +func (o VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesOutput) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesPtrOutputWithContext(ctx context.Context) VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNames) *VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNames { return &v - }).(VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateSdsPtrOutput) + }).(VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesPtrOutput) } -// Name of the secret for a virtual node's Transport Layer Security (TLS) Secret Discovery Service validation context trust. -func (o VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateSdsOutput) SecretName() pulumi.StringOutput { - return o.ApplyT(func(v VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateSds) string { return v.SecretName }).(pulumi.StringOutput) +// Criteria for determining a SAN's match. +func (o VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesOutput) Match() VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatchOutput { + return o.ApplyT(func(v VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNames) VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatch { + return v.Match + }).(VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatchOutput) } -type VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateSdsPtrOutput struct{ *pulumi.OutputState } +type VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesPtrOutput struct{ *pulumi.OutputState } -func (VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateSdsPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateSds)(nil)).Elem() +func (VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNames)(nil)).Elem() } -func (o VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateSdsPtrOutput) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateSdsPtrOutput() VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateSdsPtrOutput { +func (o VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesPtrOutput) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesPtrOutput() VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesPtrOutput { return o } -func (o VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateSdsPtrOutput) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateSdsPtrOutputWithContext(ctx context.Context) VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateSdsPtrOutput { +func (o VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesPtrOutput) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesPtrOutputWithContext(ctx context.Context) VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesPtrOutput { return o } -func (o VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateSdsPtrOutput) Elem() VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateSdsOutput { - return o.ApplyT(func(v *VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateSds) VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateSds { +func (o VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesPtrOutput) Elem() VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesOutput { + return o.ApplyT(func(v *VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNames) VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNames { if v != nil { return *v } - var ret VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateSds + var ret VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNames return ret - }).(VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateSdsOutput) + }).(VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesOutput) } -// Name of the secret for a virtual node's Transport Layer Security (TLS) Secret Discovery Service validation context trust. -func (o VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateSdsPtrOutput) SecretName() pulumi.StringPtrOutput { - return o.ApplyT(func(v *VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateSds) *string { +// Criteria for determining a SAN's match. +func (o VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesPtrOutput) Match() VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatchPtrOutput { + return o.ApplyT(func(v *VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNames) *VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatch { if v == nil { return nil } - return &v.SecretName - }).(pulumi.StringPtrOutput) + return &v.Match + }).(VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatchPtrOutput) } -type VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidation struct { - // SANs for a TLS validation context. - SubjectAlternativeNames *VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNames `pulumi:"subjectAlternativeNames"` - // TLS validation context trust. - Trust VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrust `pulumi:"trust"` +type VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatch struct { + // Values sent must match the specified values exactly. + Exacts []string `pulumi:"exacts"` } -// VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationInput is an input type that accepts VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationArgs and VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationOutput values. -// You can construct a concrete instance of `VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationInput` via: +// VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatchInput is an input type that accepts VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatchArgs and VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatchOutput values. +// You can construct a concrete instance of `VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatchInput` via: // -// VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationArgs{...} -type VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationInput interface { +// VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatchArgs{...} +type VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatchInput interface { pulumi.Input - ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationOutput() VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationOutput - ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationOutputWithContext(context.Context) VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationOutput + ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatchOutput() VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatchOutput + ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatchOutputWithContext(context.Context) VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatchOutput } -type VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationArgs struct { - // SANs for a TLS validation context. - SubjectAlternativeNames VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesPtrInput `pulumi:"subjectAlternativeNames"` - // TLS validation context trust. - Trust VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustInput `pulumi:"trust"` +type VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatchArgs struct { + // Values sent must match the specified values exactly. + Exacts pulumi.StringArrayInput `pulumi:"exacts"` } -func (VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationArgs) ElementType() reflect.Type { - return reflect.TypeOf((*VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidation)(nil)).Elem() +func (VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatchArgs) ElementType() reflect.Type { + return reflect.TypeOf((*VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatch)(nil)).Elem() } -func (i VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationArgs) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationOutput() VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationOutput { - return i.ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationOutputWithContext(context.Background()) +func (i VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatchArgs) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatchOutput() VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatchOutput { + return i.ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatchOutputWithContext(context.Background()) } -func (i VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationArgs) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationOutputWithContext(ctx context.Context) VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationOutput) +func (i VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatchArgs) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatchOutputWithContext(ctx context.Context) VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatchOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatchOutput) } -func (i VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationArgs) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationPtrOutput() VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationPtrOutput { - return i.ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationPtrOutputWithContext(context.Background()) +func (i VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatchArgs) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatchPtrOutput() VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatchPtrOutput { + return i.ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatchPtrOutputWithContext(context.Background()) } -func (i VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationArgs) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationPtrOutputWithContext(ctx context.Context) VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationOutput).ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationPtrOutputWithContext(ctx) +func (i VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatchArgs) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatchPtrOutputWithContext(ctx context.Context) VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatchPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatchOutput).ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatchPtrOutputWithContext(ctx) } -// VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationPtrInput is an input type that accepts VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationArgs, VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationPtr and VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationPtrOutput values. -// You can construct a concrete instance of `VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationPtrInput` via: +// VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatchPtrInput is an input type that accepts VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatchArgs, VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatchPtr and VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatchPtrOutput values. +// You can construct a concrete instance of `VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatchPtrInput` via: // -// VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationArgs{...} +// VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatchArgs{...} // // or: // // nil -type VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationPtrInput interface { +type VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatchPtrInput interface { pulumi.Input - ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationPtrOutput() VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationPtrOutput - ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationPtrOutputWithContext(context.Context) VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationPtrOutput + ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatchPtrOutput() VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatchPtrOutput + ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatchPtrOutputWithContext(context.Context) VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatchPtrOutput } -type virtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationPtrType VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationArgs +type virtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatchPtrType VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatchArgs -func VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationPtr(v *VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationArgs) VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationPtrInput { - return (*virtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationPtrType)(v) +func VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatchPtr(v *VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatchArgs) VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatchPtrInput { + return (*virtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatchPtrType)(v) } -func (*virtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidation)(nil)).Elem() +func (*virtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatchPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatch)(nil)).Elem() } -func (i *virtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationPtrType) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationPtrOutput() VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationPtrOutput { - return i.ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationPtrOutputWithContext(context.Background()) +func (i *virtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatchPtrType) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatchPtrOutput() VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatchPtrOutput { + return i.ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatchPtrOutputWithContext(context.Background()) } -func (i *virtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationPtrType) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationPtrOutputWithContext(ctx context.Context) VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationPtrOutput) +func (i *virtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatchPtrType) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatchPtrOutputWithContext(ctx context.Context) VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatchPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatchPtrOutput) } -type VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationOutput struct{ *pulumi.OutputState } +type VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatchOutput struct{ *pulumi.OutputState } -func (VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationOutput) ElementType() reflect.Type { - return reflect.TypeOf((*VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidation)(nil)).Elem() +func (VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatchOutput) ElementType() reflect.Type { + return reflect.TypeOf((*VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatch)(nil)).Elem() } -func (o VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationOutput) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationOutput() VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationOutput { +func (o VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatchOutput) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatchOutput() VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatchOutput { return o } -func (o VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationOutput) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationOutputWithContext(ctx context.Context) VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationOutput { +func (o VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatchOutput) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatchOutputWithContext(ctx context.Context) VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatchOutput { return o } -func (o VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationOutput) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationPtrOutput() VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationPtrOutput { - return o.ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationPtrOutputWithContext(context.Background()) +func (o VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatchOutput) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatchPtrOutput() VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatchPtrOutput { + return o.ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatchPtrOutputWithContext(context.Background()) } -func (o VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationOutput) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationPtrOutputWithContext(ctx context.Context) VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidation) *VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidation { +func (o VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatchOutput) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatchPtrOutputWithContext(ctx context.Context) VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatchPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatch) *VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatch { return &v - }).(VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationPtrOutput) -} - -// SANs for a TLS validation context. -func (o VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationOutput) SubjectAlternativeNames() VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesPtrOutput { - return o.ApplyT(func(v VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidation) *VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNames { - return v.SubjectAlternativeNames - }).(VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesPtrOutput) + }).(VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatchPtrOutput) } -// TLS validation context trust. -func (o VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationOutput) Trust() VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustOutput { - return o.ApplyT(func(v VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidation) VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrust { - return v.Trust - }).(VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustOutput) +// Values sent must match the specified values exactly. +func (o VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatchOutput) Exacts() pulumi.StringArrayOutput { + return o.ApplyT(func(v VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatch) []string { + return v.Exacts + }).(pulumi.StringArrayOutput) } -type VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationPtrOutput struct{ *pulumi.OutputState } +type VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatchPtrOutput struct{ *pulumi.OutputState } -func (VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidation)(nil)).Elem() +func (VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatchPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatch)(nil)).Elem() } -func (o VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationPtrOutput) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationPtrOutput() VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationPtrOutput { +func (o VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatchPtrOutput) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatchPtrOutput() VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatchPtrOutput { return o } -func (o VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationPtrOutput) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationPtrOutputWithContext(ctx context.Context) VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationPtrOutput { +func (o VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatchPtrOutput) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatchPtrOutputWithContext(ctx context.Context) VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatchPtrOutput { return o } -func (o VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationPtrOutput) Elem() VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationOutput { - return o.ApplyT(func(v *VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidation) VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidation { +func (o VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatchPtrOutput) Elem() VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatchOutput { + return o.ApplyT(func(v *VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatch) VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatch { if v != nil { return *v } - var ret VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidation + var ret VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatch return ret - }).(VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationOutput) -} - -// SANs for a TLS validation context. -func (o VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationPtrOutput) SubjectAlternativeNames() VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesPtrOutput { - return o.ApplyT(func(v *VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidation) *VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNames { - if v == nil { - return nil - } - return v.SubjectAlternativeNames - }).(VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesPtrOutput) + }).(VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatchOutput) } -// TLS validation context trust. -func (o VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationPtrOutput) Trust() VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustPtrOutput { - return o.ApplyT(func(v *VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidation) *VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrust { +// Values sent must match the specified values exactly. +func (o VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatchPtrOutput) Exacts() pulumi.StringArrayOutput { + return o.ApplyT(func(v *VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationSubjectAlternativeNamesMatch) []string { if v == nil { return nil } - return &v.Trust - }).(VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustPtrOutput) + return v.Exacts + }).(pulumi.StringArrayOutput) } -type VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNames struct { - // Criteria for determining a SAN's match. - Match VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesMatch `pulumi:"match"` +type VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrust struct { + // TLS validation context trust for an AWS Certificate Manager (ACM) certificate. + Acm *VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcm `pulumi:"acm"` + // TLS validation context trust for a local file certificate. + File *VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFile `pulumi:"file"` + // TLS validation context trust for a [Secret Discovery Service](https://www.envoyproxy.io/docs/envoy/latest/configuration/security/secret#secret-discovery-service-sds) certificate. + Sds *VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustSds `pulumi:"sds"` } -// VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesInput is an input type that accepts VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesArgs and VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesOutput values. -// You can construct a concrete instance of `VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesInput` via: +// VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustInput is an input type that accepts VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustArgs and VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustOutput values. +// You can construct a concrete instance of `VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustInput` via: // -// VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesArgs{...} -type VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesInput interface { +// VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustArgs{...} +type VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustInput interface { pulumi.Input - ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesOutput() VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesOutput - ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesOutputWithContext(context.Context) VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesOutput + ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustOutput() VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustOutput + ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustOutputWithContext(context.Context) VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustOutput } -type VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesArgs struct { - // Criteria for determining a SAN's match. - Match VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesMatchInput `pulumi:"match"` +type VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustArgs struct { + // TLS validation context trust for an AWS Certificate Manager (ACM) certificate. + Acm VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcmPtrInput `pulumi:"acm"` + // TLS validation context trust for a local file certificate. + File VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFilePtrInput `pulumi:"file"` + // TLS validation context trust for a [Secret Discovery Service](https://www.envoyproxy.io/docs/envoy/latest/configuration/security/secret#secret-discovery-service-sds) certificate. + Sds VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustSdsPtrInput `pulumi:"sds"` } -func (VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesArgs) ElementType() reflect.Type { - return reflect.TypeOf((*VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNames)(nil)).Elem() +func (VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustArgs) ElementType() reflect.Type { + return reflect.TypeOf((*VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrust)(nil)).Elem() } -func (i VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesArgs) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesOutput() VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesOutput { - return i.ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesOutputWithContext(context.Background()) +func (i VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustArgs) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustOutput() VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustOutput { + return i.ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustOutputWithContext(context.Background()) } -func (i VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesArgs) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesOutputWithContext(ctx context.Context) VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesOutput) +func (i VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustArgs) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustOutputWithContext(ctx context.Context) VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustOutput) } -func (i VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesArgs) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesPtrOutput() VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesPtrOutput { - return i.ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesPtrOutputWithContext(context.Background()) +func (i VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustArgs) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustPtrOutput() VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustPtrOutput { + return i.ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustPtrOutputWithContext(context.Background()) } -func (i VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesArgs) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesPtrOutputWithContext(ctx context.Context) VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesOutput).ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesPtrOutputWithContext(ctx) +func (i VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustArgs) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustPtrOutputWithContext(ctx context.Context) VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustOutput).ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustPtrOutputWithContext(ctx) } -// VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesPtrInput is an input type that accepts VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesArgs, VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesPtr and VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesPtrOutput values. -// You can construct a concrete instance of `VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesPtrInput` via: +// VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustPtrInput is an input type that accepts VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustArgs, VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustPtr and VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustPtrOutput values. +// You can construct a concrete instance of `VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustPtrInput` via: // -// VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesArgs{...} +// VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustArgs{...} // // or: // // nil -type VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesPtrInput interface { +type VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustPtrInput interface { pulumi.Input - ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesPtrOutput() VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesPtrOutput - ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesPtrOutputWithContext(context.Context) VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesPtrOutput + ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustPtrOutput() VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustPtrOutput + ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustPtrOutputWithContext(context.Context) VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustPtrOutput } -type virtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesPtrType VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesArgs +type virtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustPtrType VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustArgs -func VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesPtr(v *VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesArgs) VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesPtrInput { - return (*virtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesPtrType)(v) +func VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustPtr(v *VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustArgs) VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustPtrInput { + return (*virtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustPtrType)(v) } -func (*virtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNames)(nil)).Elem() +func (*virtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrust)(nil)).Elem() } -func (i *virtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesPtrType) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesPtrOutput() VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesPtrOutput { - return i.ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesPtrOutputWithContext(context.Background()) +func (i *virtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustPtrType) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustPtrOutput() VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustPtrOutput { + return i.ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustPtrOutputWithContext(context.Background()) } -func (i *virtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesPtrType) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesPtrOutputWithContext(ctx context.Context) VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesPtrOutput) +func (i *virtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustPtrType) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustPtrOutputWithContext(ctx context.Context) VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustPtrOutput) } -type VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesOutput struct{ *pulumi.OutputState } +type VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustOutput struct{ *pulumi.OutputState } -func (VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesOutput) ElementType() reflect.Type { - return reflect.TypeOf((*VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNames)(nil)).Elem() +func (VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustOutput) ElementType() reflect.Type { + return reflect.TypeOf((*VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrust)(nil)).Elem() } -func (o VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesOutput) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesOutput() VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesOutput { +func (o VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustOutput) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustOutput() VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustOutput { return o } -func (o VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesOutput) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesOutputWithContext(ctx context.Context) VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesOutput { +func (o VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustOutput) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustOutputWithContext(ctx context.Context) VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustOutput { return o } -func (o VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesOutput) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesPtrOutput() VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesPtrOutput { - return o.ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesPtrOutputWithContext(context.Background()) +func (o VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustOutput) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustPtrOutput() VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustPtrOutput { + return o.ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustPtrOutputWithContext(context.Background()) } -func (o VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesOutput) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesPtrOutputWithContext(ctx context.Context) VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNames) *VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNames { +func (o VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustOutput) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustPtrOutputWithContext(ctx context.Context) VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrust) *VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrust { return &v - }).(VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesPtrOutput) + }).(VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustPtrOutput) } -// Criteria for determining a SAN's match. -func (o VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesOutput) Match() VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesMatchOutput { - return o.ApplyT(func(v VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNames) VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesMatch { - return v.Match - }).(VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesMatchOutput) +// TLS validation context trust for an AWS Certificate Manager (ACM) certificate. +func (o VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustOutput) Acm() VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcmPtrOutput { + return o.ApplyT(func(v VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrust) *VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcm { + return v.Acm + }).(VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcmPtrOutput) } -type VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesPtrOutput struct{ *pulumi.OutputState } +// TLS validation context trust for a local file certificate. +func (o VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustOutput) File() VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFilePtrOutput { + return o.ApplyT(func(v VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrust) *VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFile { + return v.File + }).(VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFilePtrOutput) +} -func (VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNames)(nil)).Elem() +// TLS validation context trust for a [Secret Discovery Service](https://www.envoyproxy.io/docs/envoy/latest/configuration/security/secret#secret-discovery-service-sds) certificate. +func (o VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustOutput) Sds() VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustSdsPtrOutput { + return o.ApplyT(func(v VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrust) *VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustSds { + return v.Sds + }).(VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustSdsPtrOutput) } -func (o VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesPtrOutput) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesPtrOutput() VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesPtrOutput { +type VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustPtrOutput struct{ *pulumi.OutputState } + +func (VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrust)(nil)).Elem() +} + +func (o VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustPtrOutput) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustPtrOutput() VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustPtrOutput { return o } -func (o VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesPtrOutput) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesPtrOutputWithContext(ctx context.Context) VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesPtrOutput { +func (o VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustPtrOutput) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustPtrOutputWithContext(ctx context.Context) VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustPtrOutput { return o } -func (o VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesPtrOutput) Elem() VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesOutput { - return o.ApplyT(func(v *VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNames) VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNames { +func (o VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustPtrOutput) Elem() VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustOutput { + return o.ApplyT(func(v *VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrust) VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrust { if v != nil { return *v } - var ret VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNames + var ret VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrust return ret - }).(VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesOutput) + }).(VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustOutput) } -// Criteria for determining a SAN's match. -func (o VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesPtrOutput) Match() VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesMatchPtrOutput { - return o.ApplyT(func(v *VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNames) *VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesMatch { +// TLS validation context trust for an AWS Certificate Manager (ACM) certificate. +func (o VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustPtrOutput) Acm() VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcmPtrOutput { + return o.ApplyT(func(v *VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrust) *VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcm { if v == nil { return nil } - return &v.Match - }).(VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesMatchPtrOutput) + return v.Acm + }).(VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcmPtrOutput) } -type VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesMatch struct { - // Values sent must match the specified values exactly. - Exacts []string `pulumi:"exacts"` +// TLS validation context trust for a local file certificate. +func (o VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustPtrOutput) File() VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFilePtrOutput { + return o.ApplyT(func(v *VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrust) *VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFile { + if v == nil { + return nil + } + return v.File + }).(VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFilePtrOutput) } -// VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesMatchInput is an input type that accepts VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesMatchArgs and VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesMatchOutput values. -// You can construct a concrete instance of `VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesMatchInput` via: +// TLS validation context trust for a [Secret Discovery Service](https://www.envoyproxy.io/docs/envoy/latest/configuration/security/secret#secret-discovery-service-sds) certificate. +func (o VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustPtrOutput) Sds() VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustSdsPtrOutput { + return o.ApplyT(func(v *VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrust) *VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustSds { + if v == nil { + return nil + } + return v.Sds + }).(VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustSdsPtrOutput) +} + +type VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcm struct { + // One or more ACM ARNs. + CertificateAuthorityArns []string `pulumi:"certificateAuthorityArns"` +} + +// VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcmInput is an input type that accepts VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcmArgs and VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcmOutput values. +// You can construct a concrete instance of `VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcmInput` via: // -// VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesMatchArgs{...} -type VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesMatchInput interface { +// VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcmArgs{...} +type VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcmInput interface { pulumi.Input - ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesMatchOutput() VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesMatchOutput - ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesMatchOutputWithContext(context.Context) VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesMatchOutput + ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcmOutput() VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcmOutput + ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcmOutputWithContext(context.Context) VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcmOutput } -type VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesMatchArgs struct { - // Values sent must match the specified values exactly. - Exacts pulumi.StringArrayInput `pulumi:"exacts"` +type VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcmArgs struct { + // One or more ACM ARNs. + CertificateAuthorityArns pulumi.StringArrayInput `pulumi:"certificateAuthorityArns"` } -func (VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesMatchArgs) ElementType() reflect.Type { - return reflect.TypeOf((*VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesMatch)(nil)).Elem() +func (VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcmArgs) ElementType() reflect.Type { + return reflect.TypeOf((*VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcm)(nil)).Elem() } -func (i VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesMatchArgs) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesMatchOutput() VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesMatchOutput { - return i.ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesMatchOutputWithContext(context.Background()) +func (i VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcmArgs) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcmOutput() VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcmOutput { + return i.ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcmOutputWithContext(context.Background()) } -func (i VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesMatchArgs) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesMatchOutputWithContext(ctx context.Context) VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesMatchOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesMatchOutput) +func (i VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcmArgs) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcmOutputWithContext(ctx context.Context) VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcmOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcmOutput) } -func (i VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesMatchArgs) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesMatchPtrOutput() VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesMatchPtrOutput { - return i.ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesMatchPtrOutputWithContext(context.Background()) +func (i VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcmArgs) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcmPtrOutput() VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcmPtrOutput { + return i.ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcmPtrOutputWithContext(context.Background()) } -func (i VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesMatchArgs) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesMatchPtrOutputWithContext(ctx context.Context) VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesMatchPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesMatchOutput).ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesMatchPtrOutputWithContext(ctx) +func (i VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcmArgs) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcmPtrOutputWithContext(ctx context.Context) VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcmPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcmOutput).ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcmPtrOutputWithContext(ctx) } -// VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesMatchPtrInput is an input type that accepts VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesMatchArgs, VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesMatchPtr and VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesMatchPtrOutput values. -// You can construct a concrete instance of `VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesMatchPtrInput` via: +// VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcmPtrInput is an input type that accepts VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcmArgs, VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcmPtr and VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcmPtrOutput values. +// You can construct a concrete instance of `VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcmPtrInput` via: // -// VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesMatchArgs{...} +// VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcmArgs{...} // // or: // // nil -type VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesMatchPtrInput interface { +type VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcmPtrInput interface { pulumi.Input - ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesMatchPtrOutput() VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesMatchPtrOutput - ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesMatchPtrOutputWithContext(context.Context) VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesMatchPtrOutput + ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcmPtrOutput() VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcmPtrOutput + ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcmPtrOutputWithContext(context.Context) VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcmPtrOutput } -type virtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesMatchPtrType VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesMatchArgs +type virtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcmPtrType VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcmArgs -func VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesMatchPtr(v *VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesMatchArgs) VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesMatchPtrInput { - return (*virtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesMatchPtrType)(v) +func VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcmPtr(v *VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcmArgs) VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcmPtrInput { + return (*virtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcmPtrType)(v) } -func (*virtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesMatchPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesMatch)(nil)).Elem() +func (*virtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcmPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcm)(nil)).Elem() } -func (i *virtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesMatchPtrType) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesMatchPtrOutput() VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesMatchPtrOutput { - return i.ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesMatchPtrOutputWithContext(context.Background()) +func (i *virtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcmPtrType) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcmPtrOutput() VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcmPtrOutput { + return i.ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcmPtrOutputWithContext(context.Background()) } -func (i *virtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesMatchPtrType) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesMatchPtrOutputWithContext(ctx context.Context) VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesMatchPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesMatchPtrOutput) +func (i *virtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcmPtrType) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcmPtrOutputWithContext(ctx context.Context) VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcmPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcmPtrOutput) } -type VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesMatchOutput struct{ *pulumi.OutputState } +type VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcmOutput struct{ *pulumi.OutputState } -func (VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesMatchOutput) ElementType() reflect.Type { - return reflect.TypeOf((*VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesMatch)(nil)).Elem() +func (VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcmOutput) ElementType() reflect.Type { + return reflect.TypeOf((*VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcm)(nil)).Elem() } -func (o VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesMatchOutput) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesMatchOutput() VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesMatchOutput { +func (o VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcmOutput) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcmOutput() VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcmOutput { return o } -func (o VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesMatchOutput) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesMatchOutputWithContext(ctx context.Context) VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesMatchOutput { +func (o VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcmOutput) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcmOutputWithContext(ctx context.Context) VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcmOutput { return o } -func (o VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesMatchOutput) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesMatchPtrOutput() VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesMatchPtrOutput { - return o.ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesMatchPtrOutputWithContext(context.Background()) +func (o VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcmOutput) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcmPtrOutput() VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcmPtrOutput { + return o.ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcmPtrOutputWithContext(context.Background()) } -func (o VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesMatchOutput) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesMatchPtrOutputWithContext(ctx context.Context) VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesMatchPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesMatch) *VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesMatch { +func (o VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcmOutput) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcmPtrOutputWithContext(ctx context.Context) VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcmPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcm) *VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcm { return &v - }).(VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesMatchPtrOutput) + }).(VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcmPtrOutput) } -// Values sent must match the specified values exactly. -func (o VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesMatchOutput) Exacts() pulumi.StringArrayOutput { - return o.ApplyT(func(v VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesMatch) []string { - return v.Exacts +// One or more ACM ARNs. +func (o VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcmOutput) CertificateAuthorityArns() pulumi.StringArrayOutput { + return o.ApplyT(func(v VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcm) []string { + return v.CertificateAuthorityArns }).(pulumi.StringArrayOutput) } -type VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesMatchPtrOutput struct{ *pulumi.OutputState } +type VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcmPtrOutput struct{ *pulumi.OutputState } -func (VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesMatchPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesMatch)(nil)).Elem() +func (VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcmPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcm)(nil)).Elem() } -func (o VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesMatchPtrOutput) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesMatchPtrOutput() VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesMatchPtrOutput { +func (o VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcmPtrOutput) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcmPtrOutput() VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcmPtrOutput { return o } -func (o VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesMatchPtrOutput) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesMatchPtrOutputWithContext(ctx context.Context) VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesMatchPtrOutput { +func (o VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcmPtrOutput) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcmPtrOutputWithContext(ctx context.Context) VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcmPtrOutput { return o } -func (o VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesMatchPtrOutput) Elem() VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesMatchOutput { - return o.ApplyT(func(v *VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesMatch) VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesMatch { +func (o VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcmPtrOutput) Elem() VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcmOutput { + return o.ApplyT(func(v *VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcm) VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcm { if v != nil { return *v } - var ret VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesMatch + var ret VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcm return ret - }).(VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesMatchOutput) + }).(VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcmOutput) } -// Values sent must match the specified values exactly. -func (o VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesMatchPtrOutput) Exacts() pulumi.StringArrayOutput { - return o.ApplyT(func(v *VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesMatch) []string { +// One or more ACM ARNs. +func (o VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcmPtrOutput) CertificateAuthorityArns() pulumi.StringArrayOutput { + return o.ApplyT(func(v *VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustAcm) []string { if v == nil { return nil } - return v.Exacts + return v.CertificateAuthorityArns }).(pulumi.StringArrayOutput) } -type VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrust struct { - // TLS validation context trust for an AWS Certificate Manager (ACM) certificate. - Acm *VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcm `pulumi:"acm"` - // TLS validation context trust for a local file certificate. - File *VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFile `pulumi:"file"` - // TLS validation context trust for a [Secret Discovery Service](https://www.envoyproxy.io/docs/envoy/latest/configuration/security/secret#secret-discovery-service-sds) certificate. - Sds *VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustSds `pulumi:"sds"` +type VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFile struct { + // Certificate trust chain for a certificate stored on the file system of the mesh endpoint that the proxy is running on. Must be between 1 and 255 characters in length. + CertificateChain string `pulumi:"certificateChain"` } -// VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustInput is an input type that accepts VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustArgs and VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustOutput values. -// You can construct a concrete instance of `VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustInput` via: +// VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFileInput is an input type that accepts VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFileArgs and VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFileOutput values. +// You can construct a concrete instance of `VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFileInput` via: // -// VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustArgs{...} -type VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustInput interface { +// VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFileArgs{...} +type VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFileInput interface { pulumi.Input - ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustOutput() VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustOutput - ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustOutputWithContext(context.Context) VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustOutput + ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFileOutput() VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFileOutput + ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFileOutputWithContext(context.Context) VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFileOutput } -type VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustArgs struct { - // TLS validation context trust for an AWS Certificate Manager (ACM) certificate. - Acm VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcmPtrInput `pulumi:"acm"` - // TLS validation context trust for a local file certificate. - File VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFilePtrInput `pulumi:"file"` - // TLS validation context trust for a [Secret Discovery Service](https://www.envoyproxy.io/docs/envoy/latest/configuration/security/secret#secret-discovery-service-sds) certificate. - Sds VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustSdsPtrInput `pulumi:"sds"` +type VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFileArgs struct { + // Certificate trust chain for a certificate stored on the file system of the mesh endpoint that the proxy is running on. Must be between 1 and 255 characters in length. + CertificateChain pulumi.StringInput `pulumi:"certificateChain"` } -func (VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustArgs) ElementType() reflect.Type { - return reflect.TypeOf((*VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrust)(nil)).Elem() +func (VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFileArgs) ElementType() reflect.Type { + return reflect.TypeOf((*VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFile)(nil)).Elem() } -func (i VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustArgs) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustOutput() VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustOutput { - return i.ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustOutputWithContext(context.Background()) +func (i VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFileArgs) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFileOutput() VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFileOutput { + return i.ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFileOutputWithContext(context.Background()) } -func (i VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustArgs) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustOutputWithContext(ctx context.Context) VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustOutput) +func (i VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFileArgs) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFileOutputWithContext(ctx context.Context) VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFileOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFileOutput) } -func (i VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustArgs) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustPtrOutput() VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustPtrOutput { - return i.ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustPtrOutputWithContext(context.Background()) +func (i VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFileArgs) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFilePtrOutput() VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFilePtrOutput { + return i.ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFilePtrOutputWithContext(context.Background()) } -func (i VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustArgs) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustPtrOutputWithContext(ctx context.Context) VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustOutput).ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustPtrOutputWithContext(ctx) +func (i VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFileArgs) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFilePtrOutputWithContext(ctx context.Context) VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFilePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFileOutput).ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFilePtrOutputWithContext(ctx) } -// VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustPtrInput is an input type that accepts VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustArgs, VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustPtr and VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustPtrOutput values. -// You can construct a concrete instance of `VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustPtrInput` via: +// VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFilePtrInput is an input type that accepts VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFileArgs, VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFilePtr and VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFilePtrOutput values. +// You can construct a concrete instance of `VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFilePtrInput` via: // -// VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustArgs{...} +// VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFileArgs{...} // // or: // // nil -type VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustPtrInput interface { +type VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFilePtrInput interface { pulumi.Input - ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustPtrOutput() VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustPtrOutput - ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustPtrOutputWithContext(context.Context) VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustPtrOutput + ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFilePtrOutput() VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFilePtrOutput + ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFilePtrOutputWithContext(context.Context) VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFilePtrOutput } -type virtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustPtrType VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustArgs +type virtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFilePtrType VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFileArgs -func VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustPtr(v *VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustArgs) VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustPtrInput { - return (*virtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustPtrType)(v) +func VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFilePtr(v *VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFileArgs) VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFilePtrInput { + return (*virtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFilePtrType)(v) } -func (*virtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrust)(nil)).Elem() +func (*virtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFilePtrType) ElementType() reflect.Type { + return reflect.TypeOf((**VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFile)(nil)).Elem() } -func (i *virtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustPtrType) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustPtrOutput() VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustPtrOutput { - return i.ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustPtrOutputWithContext(context.Background()) +func (i *virtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFilePtrType) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFilePtrOutput() VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFilePtrOutput { + return i.ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFilePtrOutputWithContext(context.Background()) } -func (i *virtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustPtrType) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustPtrOutputWithContext(ctx context.Context) VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustPtrOutput) +func (i *virtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFilePtrType) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFilePtrOutputWithContext(ctx context.Context) VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFilePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFilePtrOutput) } -type VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustOutput struct{ *pulumi.OutputState } +type VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFileOutput struct{ *pulumi.OutputState } -func (VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustOutput) ElementType() reflect.Type { - return reflect.TypeOf((*VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrust)(nil)).Elem() +func (VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFileOutput) ElementType() reflect.Type { + return reflect.TypeOf((*VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFile)(nil)).Elem() } -func (o VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustOutput) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustOutput() VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustOutput { +func (o VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFileOutput) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFileOutput() VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFileOutput { return o } -func (o VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustOutput) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustOutputWithContext(ctx context.Context) VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustOutput { +func (o VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFileOutput) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFileOutputWithContext(ctx context.Context) VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFileOutput { return o } -func (o VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustOutput) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustPtrOutput() VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustPtrOutput { - return o.ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustPtrOutputWithContext(context.Background()) +func (o VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFileOutput) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFilePtrOutput() VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFilePtrOutput { + return o.ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFilePtrOutputWithContext(context.Background()) } -func (o VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustOutput) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustPtrOutputWithContext(ctx context.Context) VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrust) *VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrust { +func (o VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFileOutput) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFilePtrOutputWithContext(ctx context.Context) VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFilePtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFile) *VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFile { return &v - }).(VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustPtrOutput) -} - -// TLS validation context trust for an AWS Certificate Manager (ACM) certificate. -func (o VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustOutput) Acm() VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcmPtrOutput { - return o.ApplyT(func(v VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrust) *VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcm { - return v.Acm - }).(VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcmPtrOutput) -} - -// TLS validation context trust for a local file certificate. -func (o VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustOutput) File() VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFilePtrOutput { - return o.ApplyT(func(v VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrust) *VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFile { - return v.File - }).(VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFilePtrOutput) + }).(VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFilePtrOutput) } -// TLS validation context trust for a [Secret Discovery Service](https://www.envoyproxy.io/docs/envoy/latest/configuration/security/secret#secret-discovery-service-sds) certificate. -func (o VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustOutput) Sds() VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustSdsPtrOutput { - return o.ApplyT(func(v VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrust) *VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustSds { - return v.Sds - }).(VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustSdsPtrOutput) +// Certificate trust chain for a certificate stored on the file system of the mesh endpoint that the proxy is running on. Must be between 1 and 255 characters in length. +func (o VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFileOutput) CertificateChain() pulumi.StringOutput { + return o.ApplyT(func(v VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFile) string { + return v.CertificateChain + }).(pulumi.StringOutput) } -type VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustPtrOutput struct{ *pulumi.OutputState } +type VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFilePtrOutput struct{ *pulumi.OutputState } -func (VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrust)(nil)).Elem() +func (VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFilePtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFile)(nil)).Elem() } -func (o VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustPtrOutput) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustPtrOutput() VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustPtrOutput { +func (o VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFilePtrOutput) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFilePtrOutput() VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFilePtrOutput { return o } -func (o VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustPtrOutput) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustPtrOutputWithContext(ctx context.Context) VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustPtrOutput { +func (o VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFilePtrOutput) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFilePtrOutputWithContext(ctx context.Context) VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFilePtrOutput { return o } -func (o VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustPtrOutput) Elem() VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustOutput { - return o.ApplyT(func(v *VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrust) VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrust { +func (o VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFilePtrOutput) Elem() VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFileOutput { + return o.ApplyT(func(v *VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFile) VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFile { if v != nil { return *v } - var ret VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrust + var ret VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFile return ret - }).(VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustOutput) -} - -// TLS validation context trust for an AWS Certificate Manager (ACM) certificate. -func (o VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustPtrOutput) Acm() VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcmPtrOutput { - return o.ApplyT(func(v *VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrust) *VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcm { - if v == nil { - return nil - } - return v.Acm - }).(VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcmPtrOutput) -} - -// TLS validation context trust for a local file certificate. -func (o VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustPtrOutput) File() VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFilePtrOutput { - return o.ApplyT(func(v *VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrust) *VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFile { - if v == nil { - return nil - } - return v.File - }).(VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFilePtrOutput) + }).(VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFileOutput) } -// TLS validation context trust for a [Secret Discovery Service](https://www.envoyproxy.io/docs/envoy/latest/configuration/security/secret#secret-discovery-service-sds) certificate. -func (o VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustPtrOutput) Sds() VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustSdsPtrOutput { - return o.ApplyT(func(v *VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrust) *VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustSds { +// Certificate trust chain for a certificate stored on the file system of the mesh endpoint that the proxy is running on. Must be between 1 and 255 characters in length. +func (o VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFilePtrOutput) CertificateChain() pulumi.StringPtrOutput { + return o.ApplyT(func(v *VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustFile) *string { if v == nil { return nil } - return v.Sds - }).(VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustSdsPtrOutput) + return &v.CertificateChain + }).(pulumi.StringPtrOutput) } -type VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcm struct { - // One or more ACM ARNs. - CertificateAuthorityArns []string `pulumi:"certificateAuthorityArns"` +type VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustSds struct { + // Name of the secret for a virtual node's Transport Layer Security (TLS) Secret Discovery Service validation context trust. + SecretName string `pulumi:"secretName"` } -// VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcmInput is an input type that accepts VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcmArgs and VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcmOutput values. -// You can construct a concrete instance of `VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcmInput` via: +// VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustSdsInput is an input type that accepts VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustSdsArgs and VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustSdsOutput values. +// You can construct a concrete instance of `VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustSdsInput` via: // -// VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcmArgs{...} -type VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcmInput interface { +// VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustSdsArgs{...} +type VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustSdsInput interface { pulumi.Input - ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcmOutput() VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcmOutput - ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcmOutputWithContext(context.Context) VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcmOutput + ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustSdsOutput() VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustSdsOutput + ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustSdsOutputWithContext(context.Context) VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustSdsOutput } -type VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcmArgs struct { - // One or more ACM ARNs. - CertificateAuthorityArns pulumi.StringArrayInput `pulumi:"certificateAuthorityArns"` +type VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustSdsArgs struct { + // Name of the secret for a virtual node's Transport Layer Security (TLS) Secret Discovery Service validation context trust. + SecretName pulumi.StringInput `pulumi:"secretName"` } -func (VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcmArgs) ElementType() reflect.Type { - return reflect.TypeOf((*VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcm)(nil)).Elem() +func (VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustSdsArgs) ElementType() reflect.Type { + return reflect.TypeOf((*VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustSds)(nil)).Elem() } -func (i VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcmArgs) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcmOutput() VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcmOutput { - return i.ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcmOutputWithContext(context.Background()) +func (i VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustSdsArgs) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustSdsOutput() VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustSdsOutput { + return i.ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustSdsOutputWithContext(context.Background()) } -func (i VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcmArgs) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcmOutputWithContext(ctx context.Context) VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcmOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcmOutput) +func (i VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustSdsArgs) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustSdsOutputWithContext(ctx context.Context) VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustSdsOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustSdsOutput) } -func (i VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcmArgs) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcmPtrOutput() VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcmPtrOutput { - return i.ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcmPtrOutputWithContext(context.Background()) +func (i VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustSdsArgs) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustSdsPtrOutput() VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustSdsPtrOutput { + return i.ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustSdsPtrOutputWithContext(context.Background()) } -func (i VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcmArgs) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcmPtrOutputWithContext(ctx context.Context) VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcmPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcmOutput).ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcmPtrOutputWithContext(ctx) +func (i VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustSdsArgs) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustSdsPtrOutputWithContext(ctx context.Context) VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustSdsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustSdsOutput).ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustSdsPtrOutputWithContext(ctx) } -// VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcmPtrInput is an input type that accepts VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcmArgs, VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcmPtr and VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcmPtrOutput values. -// You can construct a concrete instance of `VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcmPtrInput` via: +// VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustSdsPtrInput is an input type that accepts VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustSdsArgs, VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustSdsPtr and VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustSdsPtrOutput values. +// You can construct a concrete instance of `VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustSdsPtrInput` via: // -// VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcmArgs{...} +// VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustSdsArgs{...} // // or: // // nil -type VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcmPtrInput interface { +type VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustSdsPtrInput interface { pulumi.Input - ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcmPtrOutput() VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcmPtrOutput - ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcmPtrOutputWithContext(context.Context) VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcmPtrOutput + ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustSdsPtrOutput() VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustSdsPtrOutput + ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustSdsPtrOutputWithContext(context.Context) VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustSdsPtrOutput } -type virtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcmPtrType VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcmArgs +type virtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustSdsPtrType VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustSdsArgs -func VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcmPtr(v *VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcmArgs) VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcmPtrInput { - return (*virtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcmPtrType)(v) +func VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustSdsPtr(v *VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustSdsArgs) VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustSdsPtrInput { + return (*virtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustSdsPtrType)(v) } -func (*virtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcmPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcm)(nil)).Elem() +func (*virtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustSdsPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustSds)(nil)).Elem() } -func (i *virtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcmPtrType) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcmPtrOutput() VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcmPtrOutput { - return i.ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcmPtrOutputWithContext(context.Background()) +func (i *virtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustSdsPtrType) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustSdsPtrOutput() VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustSdsPtrOutput { + return i.ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustSdsPtrOutputWithContext(context.Background()) } -func (i *virtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcmPtrType) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcmPtrOutputWithContext(ctx context.Context) VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcmPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcmPtrOutput) +func (i *virtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustSdsPtrType) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustSdsPtrOutputWithContext(ctx context.Context) VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustSdsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustSdsPtrOutput) } -type VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcmOutput struct{ *pulumi.OutputState } +type VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustSdsOutput struct{ *pulumi.OutputState } -func (VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcmOutput) ElementType() reflect.Type { - return reflect.TypeOf((*VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcm)(nil)).Elem() +func (VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustSdsOutput) ElementType() reflect.Type { + return reflect.TypeOf((*VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustSds)(nil)).Elem() } -func (o VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcmOutput) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcmOutput() VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcmOutput { +func (o VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustSdsOutput) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustSdsOutput() VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustSdsOutput { return o } -func (o VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcmOutput) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcmOutputWithContext(ctx context.Context) VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcmOutput { +func (o VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustSdsOutput) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustSdsOutputWithContext(ctx context.Context) VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustSdsOutput { return o } -func (o VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcmOutput) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcmPtrOutput() VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcmPtrOutput { - return o.ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcmPtrOutputWithContext(context.Background()) +func (o VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustSdsOutput) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustSdsPtrOutput() VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustSdsPtrOutput { + return o.ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustSdsPtrOutputWithContext(context.Background()) } -func (o VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcmOutput) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcmPtrOutputWithContext(ctx context.Context) VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcmPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcm) *VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcm { +func (o VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustSdsOutput) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustSdsPtrOutputWithContext(ctx context.Context) VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustSdsPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustSds) *VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustSds { return &v - }).(VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcmPtrOutput) + }).(VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustSdsPtrOutput) } -// One or more ACM ARNs. -func (o VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcmOutput) CertificateAuthorityArns() pulumi.StringArrayOutput { - return o.ApplyT(func(v VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcm) []string { - return v.CertificateAuthorityArns - }).(pulumi.StringArrayOutput) +// Name of the secret for a virtual node's Transport Layer Security (TLS) Secret Discovery Service validation context trust. +func (o VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustSdsOutput) SecretName() pulumi.StringOutput { + return o.ApplyT(func(v VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustSds) string { return v.SecretName }).(pulumi.StringOutput) } -type VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcmPtrOutput struct{ *pulumi.OutputState } +type VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustSdsPtrOutput struct{ *pulumi.OutputState } -func (VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcmPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcm)(nil)).Elem() +func (VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustSdsPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustSds)(nil)).Elem() } -func (o VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcmPtrOutput) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcmPtrOutput() VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcmPtrOutput { +func (o VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustSdsPtrOutput) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustSdsPtrOutput() VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustSdsPtrOutput { return o } -func (o VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcmPtrOutput) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcmPtrOutputWithContext(ctx context.Context) VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcmPtrOutput { +func (o VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustSdsPtrOutput) ToVirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustSdsPtrOutputWithContext(ctx context.Context) VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustSdsPtrOutput { return o } -func (o VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcmPtrOutput) Elem() VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcmOutput { - return o.ApplyT(func(v *VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcm) VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcm { +func (o VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustSdsPtrOutput) Elem() VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustSdsOutput { + return o.ApplyT(func(v *VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustSds) VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustSds { if v != nil { return *v } - var ret VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcm + var ret VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustSds return ret - }).(VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcmOutput) + }).(VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustSdsOutput) } -// One or more ACM ARNs. -func (o VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcmPtrOutput) CertificateAuthorityArns() pulumi.StringArrayOutput { - return o.ApplyT(func(v *VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcm) []string { +// Name of the secret for a virtual node's Transport Layer Security (TLS) Secret Discovery Service validation context trust. +func (o VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustSdsPtrOutput) SecretName() pulumi.StringPtrOutput { + return o.ApplyT(func(v *VirtualNodeSpecBackendDefaultsClientPolicyTlsValidationTrustSds) *string { if v == nil { return nil } - return v.CertificateAuthorityArns - }).(pulumi.StringArrayOutput) + return &v.SecretName + }).(pulumi.StringPtrOutput) } -type VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFile struct { - // Certificate trust chain for a certificate stored on the file system of the mesh endpoint that the proxy is running on. Must be between 1 and 255 characters in length. - CertificateChain string `pulumi:"certificateChain"` +type VirtualNodeSpecBackendVirtualService struct { + // Client policy for the backend. + ClientPolicy *VirtualNodeSpecBackendVirtualServiceClientPolicy `pulumi:"clientPolicy"` + // Name of the virtual service that is acting as a virtual node backend. Must be between 1 and 255 characters in length. + VirtualServiceName string `pulumi:"virtualServiceName"` } -// VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFileInput is an input type that accepts VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFileArgs and VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFileOutput values. -// You can construct a concrete instance of `VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFileInput` via: +// VirtualNodeSpecBackendVirtualServiceInput is an input type that accepts VirtualNodeSpecBackendVirtualServiceArgs and VirtualNodeSpecBackendVirtualServiceOutput values. +// You can construct a concrete instance of `VirtualNodeSpecBackendVirtualServiceInput` via: // -// VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFileArgs{...} -type VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFileInput interface { +// VirtualNodeSpecBackendVirtualServiceArgs{...} +type VirtualNodeSpecBackendVirtualServiceInput interface { pulumi.Input - ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFileOutput() VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFileOutput - ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFileOutputWithContext(context.Context) VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFileOutput + ToVirtualNodeSpecBackendVirtualServiceOutput() VirtualNodeSpecBackendVirtualServiceOutput + ToVirtualNodeSpecBackendVirtualServiceOutputWithContext(context.Context) VirtualNodeSpecBackendVirtualServiceOutput } -type VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFileArgs struct { - // Certificate trust chain for a certificate stored on the file system of the mesh endpoint that the proxy is running on. Must be between 1 and 255 characters in length. - CertificateChain pulumi.StringInput `pulumi:"certificateChain"` +type VirtualNodeSpecBackendVirtualServiceArgs struct { + // Client policy for the backend. + ClientPolicy VirtualNodeSpecBackendVirtualServiceClientPolicyPtrInput `pulumi:"clientPolicy"` + // Name of the virtual service that is acting as a virtual node backend. Must be between 1 and 255 characters in length. + VirtualServiceName pulumi.StringInput `pulumi:"virtualServiceName"` } -func (VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFileArgs) ElementType() reflect.Type { - return reflect.TypeOf((*VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFile)(nil)).Elem() +func (VirtualNodeSpecBackendVirtualServiceArgs) ElementType() reflect.Type { + return reflect.TypeOf((*VirtualNodeSpecBackendVirtualService)(nil)).Elem() } -func (i VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFileArgs) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFileOutput() VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFileOutput { - return i.ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFileOutputWithContext(context.Background()) +func (i VirtualNodeSpecBackendVirtualServiceArgs) ToVirtualNodeSpecBackendVirtualServiceOutput() VirtualNodeSpecBackendVirtualServiceOutput { + return i.ToVirtualNodeSpecBackendVirtualServiceOutputWithContext(context.Background()) } -func (i VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFileArgs) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFileOutputWithContext(ctx context.Context) VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFileOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFileOutput) +func (i VirtualNodeSpecBackendVirtualServiceArgs) ToVirtualNodeSpecBackendVirtualServiceOutputWithContext(ctx context.Context) VirtualNodeSpecBackendVirtualServiceOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecBackendVirtualServiceOutput) } -func (i VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFileArgs) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFilePtrOutput() VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFilePtrOutput { - return i.ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFilePtrOutputWithContext(context.Background()) +type VirtualNodeSpecBackendVirtualServiceOutput struct{ *pulumi.OutputState } + +func (VirtualNodeSpecBackendVirtualServiceOutput) ElementType() reflect.Type { + return reflect.TypeOf((*VirtualNodeSpecBackendVirtualService)(nil)).Elem() } -func (i VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFileArgs) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFilePtrOutputWithContext(ctx context.Context) VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFilePtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFileOutput).ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFilePtrOutputWithContext(ctx) +func (o VirtualNodeSpecBackendVirtualServiceOutput) ToVirtualNodeSpecBackendVirtualServiceOutput() VirtualNodeSpecBackendVirtualServiceOutput { + return o } -// VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFilePtrInput is an input type that accepts VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFileArgs, VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFilePtr and VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFilePtrOutput values. -// You can construct a concrete instance of `VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFilePtrInput` via: +func (o VirtualNodeSpecBackendVirtualServiceOutput) ToVirtualNodeSpecBackendVirtualServiceOutputWithContext(ctx context.Context) VirtualNodeSpecBackendVirtualServiceOutput { + return o +} + +// Client policy for the backend. +func (o VirtualNodeSpecBackendVirtualServiceOutput) ClientPolicy() VirtualNodeSpecBackendVirtualServiceClientPolicyPtrOutput { + return o.ApplyT(func(v VirtualNodeSpecBackendVirtualService) *VirtualNodeSpecBackendVirtualServiceClientPolicy { + return v.ClientPolicy + }).(VirtualNodeSpecBackendVirtualServiceClientPolicyPtrOutput) +} + +// Name of the virtual service that is acting as a virtual node backend. Must be between 1 and 255 characters in length. +func (o VirtualNodeSpecBackendVirtualServiceOutput) VirtualServiceName() pulumi.StringOutput { + return o.ApplyT(func(v VirtualNodeSpecBackendVirtualService) string { return v.VirtualServiceName }).(pulumi.StringOutput) +} + +type VirtualNodeSpecBackendVirtualServiceClientPolicy struct { + // Transport Layer Security (TLS) client policy. + Tls *VirtualNodeSpecBackendVirtualServiceClientPolicyTls `pulumi:"tls"` +} + +// VirtualNodeSpecBackendVirtualServiceClientPolicyInput is an input type that accepts VirtualNodeSpecBackendVirtualServiceClientPolicyArgs and VirtualNodeSpecBackendVirtualServiceClientPolicyOutput values. +// You can construct a concrete instance of `VirtualNodeSpecBackendVirtualServiceClientPolicyInput` via: // -// VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFileArgs{...} +// VirtualNodeSpecBackendVirtualServiceClientPolicyArgs{...} +type VirtualNodeSpecBackendVirtualServiceClientPolicyInput interface { + pulumi.Input + + ToVirtualNodeSpecBackendVirtualServiceClientPolicyOutput() VirtualNodeSpecBackendVirtualServiceClientPolicyOutput + ToVirtualNodeSpecBackendVirtualServiceClientPolicyOutputWithContext(context.Context) VirtualNodeSpecBackendVirtualServiceClientPolicyOutput +} + +type VirtualNodeSpecBackendVirtualServiceClientPolicyArgs struct { + // Transport Layer Security (TLS) client policy. + Tls VirtualNodeSpecBackendVirtualServiceClientPolicyTlsPtrInput `pulumi:"tls"` +} + +func (VirtualNodeSpecBackendVirtualServiceClientPolicyArgs) ElementType() reflect.Type { + return reflect.TypeOf((*VirtualNodeSpecBackendVirtualServiceClientPolicy)(nil)).Elem() +} + +func (i VirtualNodeSpecBackendVirtualServiceClientPolicyArgs) ToVirtualNodeSpecBackendVirtualServiceClientPolicyOutput() VirtualNodeSpecBackendVirtualServiceClientPolicyOutput { + return i.ToVirtualNodeSpecBackendVirtualServiceClientPolicyOutputWithContext(context.Background()) +} + +func (i VirtualNodeSpecBackendVirtualServiceClientPolicyArgs) ToVirtualNodeSpecBackendVirtualServiceClientPolicyOutputWithContext(ctx context.Context) VirtualNodeSpecBackendVirtualServiceClientPolicyOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecBackendVirtualServiceClientPolicyOutput) +} + +func (i VirtualNodeSpecBackendVirtualServiceClientPolicyArgs) ToVirtualNodeSpecBackendVirtualServiceClientPolicyPtrOutput() VirtualNodeSpecBackendVirtualServiceClientPolicyPtrOutput { + return i.ToVirtualNodeSpecBackendVirtualServiceClientPolicyPtrOutputWithContext(context.Background()) +} + +func (i VirtualNodeSpecBackendVirtualServiceClientPolicyArgs) ToVirtualNodeSpecBackendVirtualServiceClientPolicyPtrOutputWithContext(ctx context.Context) VirtualNodeSpecBackendVirtualServiceClientPolicyPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecBackendVirtualServiceClientPolicyOutput).ToVirtualNodeSpecBackendVirtualServiceClientPolicyPtrOutputWithContext(ctx) +} + +// VirtualNodeSpecBackendVirtualServiceClientPolicyPtrInput is an input type that accepts VirtualNodeSpecBackendVirtualServiceClientPolicyArgs, VirtualNodeSpecBackendVirtualServiceClientPolicyPtr and VirtualNodeSpecBackendVirtualServiceClientPolicyPtrOutput values. +// You can construct a concrete instance of `VirtualNodeSpecBackendVirtualServiceClientPolicyPtrInput` via: +// +// VirtualNodeSpecBackendVirtualServiceClientPolicyArgs{...} // // or: // // nil -type VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFilePtrInput interface { +type VirtualNodeSpecBackendVirtualServiceClientPolicyPtrInput interface { pulumi.Input - ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFilePtrOutput() VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFilePtrOutput - ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFilePtrOutputWithContext(context.Context) VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFilePtrOutput + ToVirtualNodeSpecBackendVirtualServiceClientPolicyPtrOutput() VirtualNodeSpecBackendVirtualServiceClientPolicyPtrOutput + ToVirtualNodeSpecBackendVirtualServiceClientPolicyPtrOutputWithContext(context.Context) VirtualNodeSpecBackendVirtualServiceClientPolicyPtrOutput } -type virtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFilePtrType VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFileArgs +type virtualNodeSpecBackendVirtualServiceClientPolicyPtrType VirtualNodeSpecBackendVirtualServiceClientPolicyArgs -func VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFilePtr(v *VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFileArgs) VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFilePtrInput { - return (*virtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFilePtrType)(v) +func VirtualNodeSpecBackendVirtualServiceClientPolicyPtr(v *VirtualNodeSpecBackendVirtualServiceClientPolicyArgs) VirtualNodeSpecBackendVirtualServiceClientPolicyPtrInput { + return (*virtualNodeSpecBackendVirtualServiceClientPolicyPtrType)(v) } -func (*virtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFilePtrType) ElementType() reflect.Type { - return reflect.TypeOf((**VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFile)(nil)).Elem() +func (*virtualNodeSpecBackendVirtualServiceClientPolicyPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**VirtualNodeSpecBackendVirtualServiceClientPolicy)(nil)).Elem() } -func (i *virtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFilePtrType) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFilePtrOutput() VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFilePtrOutput { - return i.ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFilePtrOutputWithContext(context.Background()) +func (i *virtualNodeSpecBackendVirtualServiceClientPolicyPtrType) ToVirtualNodeSpecBackendVirtualServiceClientPolicyPtrOutput() VirtualNodeSpecBackendVirtualServiceClientPolicyPtrOutput { + return i.ToVirtualNodeSpecBackendVirtualServiceClientPolicyPtrOutputWithContext(context.Background()) } -func (i *virtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFilePtrType) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFilePtrOutputWithContext(ctx context.Context) VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFilePtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFilePtrOutput) +func (i *virtualNodeSpecBackendVirtualServiceClientPolicyPtrType) ToVirtualNodeSpecBackendVirtualServiceClientPolicyPtrOutputWithContext(ctx context.Context) VirtualNodeSpecBackendVirtualServiceClientPolicyPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecBackendVirtualServiceClientPolicyPtrOutput) } -type VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFileOutput struct{ *pulumi.OutputState } +type VirtualNodeSpecBackendVirtualServiceClientPolicyOutput struct{ *pulumi.OutputState } -func (VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFileOutput) ElementType() reflect.Type { - return reflect.TypeOf((*VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFile)(nil)).Elem() +func (VirtualNodeSpecBackendVirtualServiceClientPolicyOutput) ElementType() reflect.Type { + return reflect.TypeOf((*VirtualNodeSpecBackendVirtualServiceClientPolicy)(nil)).Elem() } -func (o VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFileOutput) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFileOutput() VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFileOutput { +func (o VirtualNodeSpecBackendVirtualServiceClientPolicyOutput) ToVirtualNodeSpecBackendVirtualServiceClientPolicyOutput() VirtualNodeSpecBackendVirtualServiceClientPolicyOutput { return o } -func (o VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFileOutput) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFileOutputWithContext(ctx context.Context) VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFileOutput { +func (o VirtualNodeSpecBackendVirtualServiceClientPolicyOutput) ToVirtualNodeSpecBackendVirtualServiceClientPolicyOutputWithContext(ctx context.Context) VirtualNodeSpecBackendVirtualServiceClientPolicyOutput { return o } -func (o VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFileOutput) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFilePtrOutput() VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFilePtrOutput { - return o.ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFilePtrOutputWithContext(context.Background()) +func (o VirtualNodeSpecBackendVirtualServiceClientPolicyOutput) ToVirtualNodeSpecBackendVirtualServiceClientPolicyPtrOutput() VirtualNodeSpecBackendVirtualServiceClientPolicyPtrOutput { + return o.ToVirtualNodeSpecBackendVirtualServiceClientPolicyPtrOutputWithContext(context.Background()) } -func (o VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFileOutput) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFilePtrOutputWithContext(ctx context.Context) VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFilePtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFile) *VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFile { +func (o VirtualNodeSpecBackendVirtualServiceClientPolicyOutput) ToVirtualNodeSpecBackendVirtualServiceClientPolicyPtrOutputWithContext(ctx context.Context) VirtualNodeSpecBackendVirtualServiceClientPolicyPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v VirtualNodeSpecBackendVirtualServiceClientPolicy) *VirtualNodeSpecBackendVirtualServiceClientPolicy { return &v - }).(VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFilePtrOutput) + }).(VirtualNodeSpecBackendVirtualServiceClientPolicyPtrOutput) } -// Certificate trust chain for a certificate stored on the file system of the mesh endpoint that the proxy is running on. Must be between 1 and 255 characters in length. -func (o VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFileOutput) CertificateChain() pulumi.StringOutput { - return o.ApplyT(func(v VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFile) string { - return v.CertificateChain - }).(pulumi.StringOutput) +// Transport Layer Security (TLS) client policy. +func (o VirtualNodeSpecBackendVirtualServiceClientPolicyOutput) Tls() VirtualNodeSpecBackendVirtualServiceClientPolicyTlsPtrOutput { + return o.ApplyT(func(v VirtualNodeSpecBackendVirtualServiceClientPolicy) *VirtualNodeSpecBackendVirtualServiceClientPolicyTls { + return v.Tls + }).(VirtualNodeSpecBackendVirtualServiceClientPolicyTlsPtrOutput) } -type VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFilePtrOutput struct{ *pulumi.OutputState } +type VirtualNodeSpecBackendVirtualServiceClientPolicyPtrOutput struct{ *pulumi.OutputState } -func (VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFilePtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFile)(nil)).Elem() +func (VirtualNodeSpecBackendVirtualServiceClientPolicyPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**VirtualNodeSpecBackendVirtualServiceClientPolicy)(nil)).Elem() } -func (o VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFilePtrOutput) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFilePtrOutput() VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFilePtrOutput { +func (o VirtualNodeSpecBackendVirtualServiceClientPolicyPtrOutput) ToVirtualNodeSpecBackendVirtualServiceClientPolicyPtrOutput() VirtualNodeSpecBackendVirtualServiceClientPolicyPtrOutput { return o } -func (o VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFilePtrOutput) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFilePtrOutputWithContext(ctx context.Context) VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFilePtrOutput { +func (o VirtualNodeSpecBackendVirtualServiceClientPolicyPtrOutput) ToVirtualNodeSpecBackendVirtualServiceClientPolicyPtrOutputWithContext(ctx context.Context) VirtualNodeSpecBackendVirtualServiceClientPolicyPtrOutput { return o } -func (o VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFilePtrOutput) Elem() VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFileOutput { - return o.ApplyT(func(v *VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFile) VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFile { +func (o VirtualNodeSpecBackendVirtualServiceClientPolicyPtrOutput) Elem() VirtualNodeSpecBackendVirtualServiceClientPolicyOutput { + return o.ApplyT(func(v *VirtualNodeSpecBackendVirtualServiceClientPolicy) VirtualNodeSpecBackendVirtualServiceClientPolicy { if v != nil { return *v } - var ret VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFile + var ret VirtualNodeSpecBackendVirtualServiceClientPolicy return ret - }).(VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFileOutput) + }).(VirtualNodeSpecBackendVirtualServiceClientPolicyOutput) } -// Certificate trust chain for a certificate stored on the file system of the mesh endpoint that the proxy is running on. Must be between 1 and 255 characters in length. -func (o VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFilePtrOutput) CertificateChain() pulumi.StringPtrOutput { - return o.ApplyT(func(v *VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFile) *string { +// Transport Layer Security (TLS) client policy. +func (o VirtualNodeSpecBackendVirtualServiceClientPolicyPtrOutput) Tls() VirtualNodeSpecBackendVirtualServiceClientPolicyTlsPtrOutput { + return o.ApplyT(func(v *VirtualNodeSpecBackendVirtualServiceClientPolicy) *VirtualNodeSpecBackendVirtualServiceClientPolicyTls { if v == nil { return nil } - return &v.CertificateChain - }).(pulumi.StringPtrOutput) + return v.Tls + }).(VirtualNodeSpecBackendVirtualServiceClientPolicyTlsPtrOutput) } -type VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustSds struct { - // Name of the secret for a virtual node's Transport Layer Security (TLS) Secret Discovery Service validation context trust. - SecretName string `pulumi:"secretName"` +type VirtualNodeSpecBackendVirtualServiceClientPolicyTls struct { + // Listener's TLS certificate. + Certificate *VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificate `pulumi:"certificate"` + // Whether the policy is enforced. Default is `true`. + Enforce *bool `pulumi:"enforce"` + // One or more ports that the policy is enforced for. + Ports []int `pulumi:"ports"` + // Listener's Transport Layer Security (TLS) validation context. + Validation VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidation `pulumi:"validation"` } -// VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustSdsInput is an input type that accepts VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustSdsArgs and VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustSdsOutput values. -// You can construct a concrete instance of `VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustSdsInput` via: +// VirtualNodeSpecBackendVirtualServiceClientPolicyTlsInput is an input type that accepts VirtualNodeSpecBackendVirtualServiceClientPolicyTlsArgs and VirtualNodeSpecBackendVirtualServiceClientPolicyTlsOutput values. +// You can construct a concrete instance of `VirtualNodeSpecBackendVirtualServiceClientPolicyTlsInput` via: // -// VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustSdsArgs{...} -type VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustSdsInput interface { +// VirtualNodeSpecBackendVirtualServiceClientPolicyTlsArgs{...} +type VirtualNodeSpecBackendVirtualServiceClientPolicyTlsInput interface { pulumi.Input - ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustSdsOutput() VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustSdsOutput - ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustSdsOutputWithContext(context.Context) VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustSdsOutput + ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsOutput() VirtualNodeSpecBackendVirtualServiceClientPolicyTlsOutput + ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsOutputWithContext(context.Context) VirtualNodeSpecBackendVirtualServiceClientPolicyTlsOutput } -type VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustSdsArgs struct { - // Name of the secret for a virtual node's Transport Layer Security (TLS) Secret Discovery Service validation context trust. - SecretName pulumi.StringInput `pulumi:"secretName"` +type VirtualNodeSpecBackendVirtualServiceClientPolicyTlsArgs struct { + // Listener's TLS certificate. + Certificate VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificatePtrInput `pulumi:"certificate"` + // Whether the policy is enforced. Default is `true`. + Enforce pulumi.BoolPtrInput `pulumi:"enforce"` + // One or more ports that the policy is enforced for. + Ports pulumi.IntArrayInput `pulumi:"ports"` + // Listener's Transport Layer Security (TLS) validation context. + Validation VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationInput `pulumi:"validation"` } -func (VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustSdsArgs) ElementType() reflect.Type { - return reflect.TypeOf((*VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustSds)(nil)).Elem() +func (VirtualNodeSpecBackendVirtualServiceClientPolicyTlsArgs) ElementType() reflect.Type { + return reflect.TypeOf((*VirtualNodeSpecBackendVirtualServiceClientPolicyTls)(nil)).Elem() } -func (i VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustSdsArgs) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustSdsOutput() VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustSdsOutput { - return i.ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustSdsOutputWithContext(context.Background()) +func (i VirtualNodeSpecBackendVirtualServiceClientPolicyTlsArgs) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsOutput() VirtualNodeSpecBackendVirtualServiceClientPolicyTlsOutput { + return i.ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsOutputWithContext(context.Background()) } -func (i VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustSdsArgs) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustSdsOutputWithContext(ctx context.Context) VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustSdsOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustSdsOutput) +func (i VirtualNodeSpecBackendVirtualServiceClientPolicyTlsArgs) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsOutputWithContext(ctx context.Context) VirtualNodeSpecBackendVirtualServiceClientPolicyTlsOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecBackendVirtualServiceClientPolicyTlsOutput) } -func (i VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustSdsArgs) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustSdsPtrOutput() VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustSdsPtrOutput { - return i.ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustSdsPtrOutputWithContext(context.Background()) +func (i VirtualNodeSpecBackendVirtualServiceClientPolicyTlsArgs) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsPtrOutput() VirtualNodeSpecBackendVirtualServiceClientPolicyTlsPtrOutput { + return i.ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsPtrOutputWithContext(context.Background()) } -func (i VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustSdsArgs) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustSdsPtrOutputWithContext(ctx context.Context) VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustSdsPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustSdsOutput).ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustSdsPtrOutputWithContext(ctx) +func (i VirtualNodeSpecBackendVirtualServiceClientPolicyTlsArgs) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsPtrOutputWithContext(ctx context.Context) VirtualNodeSpecBackendVirtualServiceClientPolicyTlsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecBackendVirtualServiceClientPolicyTlsOutput).ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsPtrOutputWithContext(ctx) } -// VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustSdsPtrInput is an input type that accepts VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustSdsArgs, VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustSdsPtr and VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustSdsPtrOutput values. -// You can construct a concrete instance of `VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustSdsPtrInput` via: +// VirtualNodeSpecBackendVirtualServiceClientPolicyTlsPtrInput is an input type that accepts VirtualNodeSpecBackendVirtualServiceClientPolicyTlsArgs, VirtualNodeSpecBackendVirtualServiceClientPolicyTlsPtr and VirtualNodeSpecBackendVirtualServiceClientPolicyTlsPtrOutput values. +// You can construct a concrete instance of `VirtualNodeSpecBackendVirtualServiceClientPolicyTlsPtrInput` via: // -// VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustSdsArgs{...} +// VirtualNodeSpecBackendVirtualServiceClientPolicyTlsArgs{...} // // or: // // nil -type VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustSdsPtrInput interface { +type VirtualNodeSpecBackendVirtualServiceClientPolicyTlsPtrInput interface { pulumi.Input - ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustSdsPtrOutput() VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustSdsPtrOutput - ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustSdsPtrOutputWithContext(context.Context) VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustSdsPtrOutput + ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsPtrOutput() VirtualNodeSpecBackendVirtualServiceClientPolicyTlsPtrOutput + ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsPtrOutputWithContext(context.Context) VirtualNodeSpecBackendVirtualServiceClientPolicyTlsPtrOutput } -type virtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustSdsPtrType VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustSdsArgs +type virtualNodeSpecBackendVirtualServiceClientPolicyTlsPtrType VirtualNodeSpecBackendVirtualServiceClientPolicyTlsArgs -func VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustSdsPtr(v *VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustSdsArgs) VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustSdsPtrInput { - return (*virtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustSdsPtrType)(v) +func VirtualNodeSpecBackendVirtualServiceClientPolicyTlsPtr(v *VirtualNodeSpecBackendVirtualServiceClientPolicyTlsArgs) VirtualNodeSpecBackendVirtualServiceClientPolicyTlsPtrInput { + return (*virtualNodeSpecBackendVirtualServiceClientPolicyTlsPtrType)(v) } -func (*virtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustSdsPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustSds)(nil)).Elem() +func (*virtualNodeSpecBackendVirtualServiceClientPolicyTlsPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**VirtualNodeSpecBackendVirtualServiceClientPolicyTls)(nil)).Elem() } -func (i *virtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustSdsPtrType) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustSdsPtrOutput() VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustSdsPtrOutput { - return i.ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustSdsPtrOutputWithContext(context.Background()) +func (i *virtualNodeSpecBackendVirtualServiceClientPolicyTlsPtrType) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsPtrOutput() VirtualNodeSpecBackendVirtualServiceClientPolicyTlsPtrOutput { + return i.ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsPtrOutputWithContext(context.Background()) } -func (i *virtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustSdsPtrType) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustSdsPtrOutputWithContext(ctx context.Context) VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustSdsPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustSdsPtrOutput) +func (i *virtualNodeSpecBackendVirtualServiceClientPolicyTlsPtrType) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsPtrOutputWithContext(ctx context.Context) VirtualNodeSpecBackendVirtualServiceClientPolicyTlsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecBackendVirtualServiceClientPolicyTlsPtrOutput) } -type VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustSdsOutput struct{ *pulumi.OutputState } +type VirtualNodeSpecBackendVirtualServiceClientPolicyTlsOutput struct{ *pulumi.OutputState } -func (VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustSdsOutput) ElementType() reflect.Type { - return reflect.TypeOf((*VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustSds)(nil)).Elem() +func (VirtualNodeSpecBackendVirtualServiceClientPolicyTlsOutput) ElementType() reflect.Type { + return reflect.TypeOf((*VirtualNodeSpecBackendVirtualServiceClientPolicyTls)(nil)).Elem() } -func (o VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustSdsOutput) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustSdsOutput() VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustSdsOutput { +func (o VirtualNodeSpecBackendVirtualServiceClientPolicyTlsOutput) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsOutput() VirtualNodeSpecBackendVirtualServiceClientPolicyTlsOutput { return o } -func (o VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustSdsOutput) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustSdsOutputWithContext(ctx context.Context) VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustSdsOutput { +func (o VirtualNodeSpecBackendVirtualServiceClientPolicyTlsOutput) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsOutputWithContext(ctx context.Context) VirtualNodeSpecBackendVirtualServiceClientPolicyTlsOutput { return o } -func (o VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustSdsOutput) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustSdsPtrOutput() VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustSdsPtrOutput { - return o.ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustSdsPtrOutputWithContext(context.Background()) +func (o VirtualNodeSpecBackendVirtualServiceClientPolicyTlsOutput) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsPtrOutput() VirtualNodeSpecBackendVirtualServiceClientPolicyTlsPtrOutput { + return o.ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsPtrOutputWithContext(context.Background()) } -func (o VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustSdsOutput) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustSdsPtrOutputWithContext(ctx context.Context) VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustSdsPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustSds) *VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustSds { +func (o VirtualNodeSpecBackendVirtualServiceClientPolicyTlsOutput) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsPtrOutputWithContext(ctx context.Context) VirtualNodeSpecBackendVirtualServiceClientPolicyTlsPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v VirtualNodeSpecBackendVirtualServiceClientPolicyTls) *VirtualNodeSpecBackendVirtualServiceClientPolicyTls { return &v - }).(VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustSdsPtrOutput) + }).(VirtualNodeSpecBackendVirtualServiceClientPolicyTlsPtrOutput) } -// Name of the secret for a virtual node's Transport Layer Security (TLS) Secret Discovery Service validation context trust. -func (o VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustSdsOutput) SecretName() pulumi.StringOutput { - return o.ApplyT(func(v VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustSds) string { - return v.SecretName - }).(pulumi.StringOutput) +// Listener's TLS certificate. +func (o VirtualNodeSpecBackendVirtualServiceClientPolicyTlsOutput) Certificate() VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificatePtrOutput { + return o.ApplyT(func(v VirtualNodeSpecBackendVirtualServiceClientPolicyTls) *VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificate { + return v.Certificate + }).(VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificatePtrOutput) } -type VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustSdsPtrOutput struct{ *pulumi.OutputState } +// Whether the policy is enforced. Default is `true`. +func (o VirtualNodeSpecBackendVirtualServiceClientPolicyTlsOutput) Enforce() pulumi.BoolPtrOutput { + return o.ApplyT(func(v VirtualNodeSpecBackendVirtualServiceClientPolicyTls) *bool { return v.Enforce }).(pulumi.BoolPtrOutput) +} -func (VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustSdsPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustSds)(nil)).Elem() +// One or more ports that the policy is enforced for. +func (o VirtualNodeSpecBackendVirtualServiceClientPolicyTlsOutput) Ports() pulumi.IntArrayOutput { + return o.ApplyT(func(v VirtualNodeSpecBackendVirtualServiceClientPolicyTls) []int { return v.Ports }).(pulumi.IntArrayOutput) } -func (o VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustSdsPtrOutput) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustSdsPtrOutput() VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustSdsPtrOutput { +// Listener's Transport Layer Security (TLS) validation context. +func (o VirtualNodeSpecBackendVirtualServiceClientPolicyTlsOutput) Validation() VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationOutput { + return o.ApplyT(func(v VirtualNodeSpecBackendVirtualServiceClientPolicyTls) VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidation { + return v.Validation + }).(VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationOutput) +} + +type VirtualNodeSpecBackendVirtualServiceClientPolicyTlsPtrOutput struct{ *pulumi.OutputState } + +func (VirtualNodeSpecBackendVirtualServiceClientPolicyTlsPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**VirtualNodeSpecBackendVirtualServiceClientPolicyTls)(nil)).Elem() +} + +func (o VirtualNodeSpecBackendVirtualServiceClientPolicyTlsPtrOutput) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsPtrOutput() VirtualNodeSpecBackendVirtualServiceClientPolicyTlsPtrOutput { return o } -func (o VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustSdsPtrOutput) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustSdsPtrOutputWithContext(ctx context.Context) VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustSdsPtrOutput { +func (o VirtualNodeSpecBackendVirtualServiceClientPolicyTlsPtrOutput) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsPtrOutputWithContext(ctx context.Context) VirtualNodeSpecBackendVirtualServiceClientPolicyTlsPtrOutput { return o } -func (o VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustSdsPtrOutput) Elem() VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustSdsOutput { - return o.ApplyT(func(v *VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustSds) VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustSds { +func (o VirtualNodeSpecBackendVirtualServiceClientPolicyTlsPtrOutput) Elem() VirtualNodeSpecBackendVirtualServiceClientPolicyTlsOutput { + return o.ApplyT(func(v *VirtualNodeSpecBackendVirtualServiceClientPolicyTls) VirtualNodeSpecBackendVirtualServiceClientPolicyTls { if v != nil { return *v } - var ret VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustSds + var ret VirtualNodeSpecBackendVirtualServiceClientPolicyTls return ret - }).(VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustSdsOutput) + }).(VirtualNodeSpecBackendVirtualServiceClientPolicyTlsOutput) } -// Name of the secret for a virtual node's Transport Layer Security (TLS) Secret Discovery Service validation context trust. -func (o VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustSdsPtrOutput) SecretName() pulumi.StringPtrOutput { - return o.ApplyT(func(v *VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustSds) *string { +// Listener's TLS certificate. +func (o VirtualNodeSpecBackendVirtualServiceClientPolicyTlsPtrOutput) Certificate() VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificatePtrOutput { + return o.ApplyT(func(v *VirtualNodeSpecBackendVirtualServiceClientPolicyTls) *VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificate { if v == nil { return nil } - return &v.SecretName - }).(pulumi.StringPtrOutput) + return v.Certificate + }).(VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificatePtrOutput) } -type VirtualNodeSpecListener struct { - // Connection pool information for the listener. - ConnectionPool *VirtualNodeSpecListenerConnectionPool `pulumi:"connectionPool"` - // Health check information for the listener. - HealthCheck *VirtualNodeSpecListenerHealthCheck `pulumi:"healthCheck"` - // Outlier detection information for the listener. - OutlierDetection *VirtualNodeSpecListenerOutlierDetection `pulumi:"outlierDetection"` - // Port mapping information for the listener. - PortMapping VirtualNodeSpecListenerPortMapping `pulumi:"portMapping"` - // Timeouts for different protocols. - Timeout *VirtualNodeSpecListenerTimeout `pulumi:"timeout"` - // Transport Layer Security (TLS) properties for the listener - Tls *VirtualNodeSpecListenerTls `pulumi:"tls"` +// Whether the policy is enforced. Default is `true`. +func (o VirtualNodeSpecBackendVirtualServiceClientPolicyTlsPtrOutput) Enforce() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *VirtualNodeSpecBackendVirtualServiceClientPolicyTls) *bool { + if v == nil { + return nil + } + return v.Enforce + }).(pulumi.BoolPtrOutput) } -// VirtualNodeSpecListenerInput is an input type that accepts VirtualNodeSpecListenerArgs and VirtualNodeSpecListenerOutput values. -// You can construct a concrete instance of `VirtualNodeSpecListenerInput` via: +// One or more ports that the policy is enforced for. +func (o VirtualNodeSpecBackendVirtualServiceClientPolicyTlsPtrOutput) Ports() pulumi.IntArrayOutput { + return o.ApplyT(func(v *VirtualNodeSpecBackendVirtualServiceClientPolicyTls) []int { + if v == nil { + return nil + } + return v.Ports + }).(pulumi.IntArrayOutput) +} + +// Listener's Transport Layer Security (TLS) validation context. +func (o VirtualNodeSpecBackendVirtualServiceClientPolicyTlsPtrOutput) Validation() VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationPtrOutput { + return o.ApplyT(func(v *VirtualNodeSpecBackendVirtualServiceClientPolicyTls) *VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidation { + if v == nil { + return nil + } + return &v.Validation + }).(VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationPtrOutput) +} + +type VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificate struct { + // Local file certificate. + File *VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateFile `pulumi:"file"` + // A [Secret Discovery Service](https://www.envoyproxy.io/docs/envoy/latest/configuration/security/secret#secret-discovery-service-sds) certificate. + Sds *VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateSds `pulumi:"sds"` +} + +// VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateInput is an input type that accepts VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateArgs and VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateOutput values. +// You can construct a concrete instance of `VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateInput` via: // -// VirtualNodeSpecListenerArgs{...} -type VirtualNodeSpecListenerInput interface { +// VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateArgs{...} +type VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateInput interface { pulumi.Input - ToVirtualNodeSpecListenerOutput() VirtualNodeSpecListenerOutput - ToVirtualNodeSpecListenerOutputWithContext(context.Context) VirtualNodeSpecListenerOutput + ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateOutput() VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateOutput + ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateOutputWithContext(context.Context) VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateOutput } -type VirtualNodeSpecListenerArgs struct { - // Connection pool information for the listener. - ConnectionPool VirtualNodeSpecListenerConnectionPoolPtrInput `pulumi:"connectionPool"` - // Health check information for the listener. - HealthCheck VirtualNodeSpecListenerHealthCheckPtrInput `pulumi:"healthCheck"` - // Outlier detection information for the listener. - OutlierDetection VirtualNodeSpecListenerOutlierDetectionPtrInput `pulumi:"outlierDetection"` - // Port mapping information for the listener. - PortMapping VirtualNodeSpecListenerPortMappingInput `pulumi:"portMapping"` - // Timeouts for different protocols. - Timeout VirtualNodeSpecListenerTimeoutPtrInput `pulumi:"timeout"` - // Transport Layer Security (TLS) properties for the listener - Tls VirtualNodeSpecListenerTlsPtrInput `pulumi:"tls"` +type VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateArgs struct { + // Local file certificate. + File VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateFilePtrInput `pulumi:"file"` + // A [Secret Discovery Service](https://www.envoyproxy.io/docs/envoy/latest/configuration/security/secret#secret-discovery-service-sds) certificate. + Sds VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateSdsPtrInput `pulumi:"sds"` } -func (VirtualNodeSpecListenerArgs) ElementType() reflect.Type { - return reflect.TypeOf((*VirtualNodeSpecListener)(nil)).Elem() +func (VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateArgs) ElementType() reflect.Type { + return reflect.TypeOf((*VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificate)(nil)).Elem() } -func (i VirtualNodeSpecListenerArgs) ToVirtualNodeSpecListenerOutput() VirtualNodeSpecListenerOutput { - return i.ToVirtualNodeSpecListenerOutputWithContext(context.Background()) +func (i VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateArgs) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateOutput() VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateOutput { + return i.ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateOutputWithContext(context.Background()) } -func (i VirtualNodeSpecListenerArgs) ToVirtualNodeSpecListenerOutputWithContext(ctx context.Context) VirtualNodeSpecListenerOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecListenerOutput) +func (i VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateArgs) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateOutputWithContext(ctx context.Context) VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateOutput) } -func (i VirtualNodeSpecListenerArgs) ToVirtualNodeSpecListenerPtrOutput() VirtualNodeSpecListenerPtrOutput { - return i.ToVirtualNodeSpecListenerPtrOutputWithContext(context.Background()) +func (i VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateArgs) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificatePtrOutput() VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificatePtrOutput { + return i.ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificatePtrOutputWithContext(context.Background()) } -func (i VirtualNodeSpecListenerArgs) ToVirtualNodeSpecListenerPtrOutputWithContext(ctx context.Context) VirtualNodeSpecListenerPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecListenerOutput).ToVirtualNodeSpecListenerPtrOutputWithContext(ctx) +func (i VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateArgs) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificatePtrOutputWithContext(ctx context.Context) VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificatePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateOutput).ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificatePtrOutputWithContext(ctx) } -// VirtualNodeSpecListenerPtrInput is an input type that accepts VirtualNodeSpecListenerArgs, VirtualNodeSpecListenerPtr and VirtualNodeSpecListenerPtrOutput values. -// You can construct a concrete instance of `VirtualNodeSpecListenerPtrInput` via: +// VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificatePtrInput is an input type that accepts VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateArgs, VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificatePtr and VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificatePtrOutput values. +// You can construct a concrete instance of `VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificatePtrInput` via: // -// VirtualNodeSpecListenerArgs{...} +// VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateArgs{...} // // or: // // nil -type VirtualNodeSpecListenerPtrInput interface { +type VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificatePtrInput interface { pulumi.Input - ToVirtualNodeSpecListenerPtrOutput() VirtualNodeSpecListenerPtrOutput - ToVirtualNodeSpecListenerPtrOutputWithContext(context.Context) VirtualNodeSpecListenerPtrOutput + ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificatePtrOutput() VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificatePtrOutput + ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificatePtrOutputWithContext(context.Context) VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificatePtrOutput } -type virtualNodeSpecListenerPtrType VirtualNodeSpecListenerArgs +type virtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificatePtrType VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateArgs -func VirtualNodeSpecListenerPtr(v *VirtualNodeSpecListenerArgs) VirtualNodeSpecListenerPtrInput { - return (*virtualNodeSpecListenerPtrType)(v) +func VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificatePtr(v *VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateArgs) VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificatePtrInput { + return (*virtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificatePtrType)(v) } -func (*virtualNodeSpecListenerPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**VirtualNodeSpecListener)(nil)).Elem() +func (*virtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificatePtrType) ElementType() reflect.Type { + return reflect.TypeOf((**VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificate)(nil)).Elem() } -func (i *virtualNodeSpecListenerPtrType) ToVirtualNodeSpecListenerPtrOutput() VirtualNodeSpecListenerPtrOutput { - return i.ToVirtualNodeSpecListenerPtrOutputWithContext(context.Background()) +func (i *virtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificatePtrType) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificatePtrOutput() VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificatePtrOutput { + return i.ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificatePtrOutputWithContext(context.Background()) } -func (i *virtualNodeSpecListenerPtrType) ToVirtualNodeSpecListenerPtrOutputWithContext(ctx context.Context) VirtualNodeSpecListenerPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecListenerPtrOutput) +func (i *virtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificatePtrType) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificatePtrOutputWithContext(ctx context.Context) VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificatePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificatePtrOutput) } -type VirtualNodeSpecListenerOutput struct{ *pulumi.OutputState } +type VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateOutput struct{ *pulumi.OutputState } -func (VirtualNodeSpecListenerOutput) ElementType() reflect.Type { - return reflect.TypeOf((*VirtualNodeSpecListener)(nil)).Elem() +func (VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateOutput) ElementType() reflect.Type { + return reflect.TypeOf((*VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificate)(nil)).Elem() } -func (o VirtualNodeSpecListenerOutput) ToVirtualNodeSpecListenerOutput() VirtualNodeSpecListenerOutput { +func (o VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateOutput) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateOutput() VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateOutput { return o } -func (o VirtualNodeSpecListenerOutput) ToVirtualNodeSpecListenerOutputWithContext(ctx context.Context) VirtualNodeSpecListenerOutput { +func (o VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateOutput) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateOutputWithContext(ctx context.Context) VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateOutput { return o } -func (o VirtualNodeSpecListenerOutput) ToVirtualNodeSpecListenerPtrOutput() VirtualNodeSpecListenerPtrOutput { - return o.ToVirtualNodeSpecListenerPtrOutputWithContext(context.Background()) +func (o VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateOutput) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificatePtrOutput() VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificatePtrOutput { + return o.ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificatePtrOutputWithContext(context.Background()) } -func (o VirtualNodeSpecListenerOutput) ToVirtualNodeSpecListenerPtrOutputWithContext(ctx context.Context) VirtualNodeSpecListenerPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v VirtualNodeSpecListener) *VirtualNodeSpecListener { +func (o VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateOutput) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificatePtrOutputWithContext(ctx context.Context) VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificatePtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificate) *VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificate { return &v - }).(VirtualNodeSpecListenerPtrOutput) -} - -// Connection pool information for the listener. -func (o VirtualNodeSpecListenerOutput) ConnectionPool() VirtualNodeSpecListenerConnectionPoolPtrOutput { - return o.ApplyT(func(v VirtualNodeSpecListener) *VirtualNodeSpecListenerConnectionPool { return v.ConnectionPool }).(VirtualNodeSpecListenerConnectionPoolPtrOutput) -} - -// Health check information for the listener. -func (o VirtualNodeSpecListenerOutput) HealthCheck() VirtualNodeSpecListenerHealthCheckPtrOutput { - return o.ApplyT(func(v VirtualNodeSpecListener) *VirtualNodeSpecListenerHealthCheck { return v.HealthCheck }).(VirtualNodeSpecListenerHealthCheckPtrOutput) -} - -// Outlier detection information for the listener. -func (o VirtualNodeSpecListenerOutput) OutlierDetection() VirtualNodeSpecListenerOutlierDetectionPtrOutput { - return o.ApplyT(func(v VirtualNodeSpecListener) *VirtualNodeSpecListenerOutlierDetection { return v.OutlierDetection }).(VirtualNodeSpecListenerOutlierDetectionPtrOutput) -} - -// Port mapping information for the listener. -func (o VirtualNodeSpecListenerOutput) PortMapping() VirtualNodeSpecListenerPortMappingOutput { - return o.ApplyT(func(v VirtualNodeSpecListener) VirtualNodeSpecListenerPortMapping { return v.PortMapping }).(VirtualNodeSpecListenerPortMappingOutput) + }).(VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificatePtrOutput) } -// Timeouts for different protocols. -func (o VirtualNodeSpecListenerOutput) Timeout() VirtualNodeSpecListenerTimeoutPtrOutput { - return o.ApplyT(func(v VirtualNodeSpecListener) *VirtualNodeSpecListenerTimeout { return v.Timeout }).(VirtualNodeSpecListenerTimeoutPtrOutput) +// Local file certificate. +func (o VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateOutput) File() VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateFilePtrOutput { + return o.ApplyT(func(v VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificate) *VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateFile { + return v.File + }).(VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateFilePtrOutput) } -// Transport Layer Security (TLS) properties for the listener -func (o VirtualNodeSpecListenerOutput) Tls() VirtualNodeSpecListenerTlsPtrOutput { - return o.ApplyT(func(v VirtualNodeSpecListener) *VirtualNodeSpecListenerTls { return v.Tls }).(VirtualNodeSpecListenerTlsPtrOutput) +// A [Secret Discovery Service](https://www.envoyproxy.io/docs/envoy/latest/configuration/security/secret#secret-discovery-service-sds) certificate. +func (o VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateOutput) Sds() VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateSdsPtrOutput { + return o.ApplyT(func(v VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificate) *VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateSds { + return v.Sds + }).(VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateSdsPtrOutput) } -type VirtualNodeSpecListenerPtrOutput struct{ *pulumi.OutputState } +type VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificatePtrOutput struct{ *pulumi.OutputState } -func (VirtualNodeSpecListenerPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**VirtualNodeSpecListener)(nil)).Elem() +func (VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificatePtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificate)(nil)).Elem() } -func (o VirtualNodeSpecListenerPtrOutput) ToVirtualNodeSpecListenerPtrOutput() VirtualNodeSpecListenerPtrOutput { +func (o VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificatePtrOutput) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificatePtrOutput() VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificatePtrOutput { return o } -func (o VirtualNodeSpecListenerPtrOutput) ToVirtualNodeSpecListenerPtrOutputWithContext(ctx context.Context) VirtualNodeSpecListenerPtrOutput { +func (o VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificatePtrOutput) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificatePtrOutputWithContext(ctx context.Context) VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificatePtrOutput { return o } -func (o VirtualNodeSpecListenerPtrOutput) Elem() VirtualNodeSpecListenerOutput { - return o.ApplyT(func(v *VirtualNodeSpecListener) VirtualNodeSpecListener { +func (o VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificatePtrOutput) Elem() VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateOutput { + return o.ApplyT(func(v *VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificate) VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificate { if v != nil { return *v } - var ret VirtualNodeSpecListener + var ret VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificate return ret - }).(VirtualNodeSpecListenerOutput) -} - -// Connection pool information for the listener. -func (o VirtualNodeSpecListenerPtrOutput) ConnectionPool() VirtualNodeSpecListenerConnectionPoolPtrOutput { - return o.ApplyT(func(v *VirtualNodeSpecListener) *VirtualNodeSpecListenerConnectionPool { - if v == nil { - return nil - } - return v.ConnectionPool - }).(VirtualNodeSpecListenerConnectionPoolPtrOutput) -} - -// Health check information for the listener. -func (o VirtualNodeSpecListenerPtrOutput) HealthCheck() VirtualNodeSpecListenerHealthCheckPtrOutput { - return o.ApplyT(func(v *VirtualNodeSpecListener) *VirtualNodeSpecListenerHealthCheck { - if v == nil { - return nil - } - return v.HealthCheck - }).(VirtualNodeSpecListenerHealthCheckPtrOutput) -} - -// Outlier detection information for the listener. -func (o VirtualNodeSpecListenerPtrOutput) OutlierDetection() VirtualNodeSpecListenerOutlierDetectionPtrOutput { - return o.ApplyT(func(v *VirtualNodeSpecListener) *VirtualNodeSpecListenerOutlierDetection { - if v == nil { - return nil - } - return v.OutlierDetection - }).(VirtualNodeSpecListenerOutlierDetectionPtrOutput) -} - -// Port mapping information for the listener. -func (o VirtualNodeSpecListenerPtrOutput) PortMapping() VirtualNodeSpecListenerPortMappingPtrOutput { - return o.ApplyT(func(v *VirtualNodeSpecListener) *VirtualNodeSpecListenerPortMapping { - if v == nil { - return nil - } - return &v.PortMapping - }).(VirtualNodeSpecListenerPortMappingPtrOutput) + }).(VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateOutput) } -// Timeouts for different protocols. -func (o VirtualNodeSpecListenerPtrOutput) Timeout() VirtualNodeSpecListenerTimeoutPtrOutput { - return o.ApplyT(func(v *VirtualNodeSpecListener) *VirtualNodeSpecListenerTimeout { +// Local file certificate. +func (o VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificatePtrOutput) File() VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateFilePtrOutput { + return o.ApplyT(func(v *VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificate) *VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateFile { if v == nil { return nil } - return v.Timeout - }).(VirtualNodeSpecListenerTimeoutPtrOutput) + return v.File + }).(VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateFilePtrOutput) } -// Transport Layer Security (TLS) properties for the listener -func (o VirtualNodeSpecListenerPtrOutput) Tls() VirtualNodeSpecListenerTlsPtrOutput { - return o.ApplyT(func(v *VirtualNodeSpecListener) *VirtualNodeSpecListenerTls { +// A [Secret Discovery Service](https://www.envoyproxy.io/docs/envoy/latest/configuration/security/secret#secret-discovery-service-sds) certificate. +func (o VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificatePtrOutput) Sds() VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateSdsPtrOutput { + return o.ApplyT(func(v *VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificate) *VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateSds { if v == nil { return nil } - return v.Tls - }).(VirtualNodeSpecListenerTlsPtrOutput) + return v.Sds + }).(VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateSdsPtrOutput) } -type VirtualNodeSpecListenerConnectionPool struct { - // Connection pool information for gRPC listeners. - Grpc *VirtualNodeSpecListenerConnectionPoolGrpc `pulumi:"grpc"` - // Connection pool information for HTTP listeners. - Http *VirtualNodeSpecListenerConnectionPoolHttp `pulumi:"http"` - // Connection pool information for HTTP2 listeners. - Http2 *VirtualNodeSpecListenerConnectionPoolHttp2 `pulumi:"http2"` - // Connection pool information for TCP listeners. - Tcp *VirtualNodeSpecListenerConnectionPoolTcp `pulumi:"tcp"` +type VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateFile struct { + // Certificate trust chain for a certificate stored on the file system of the mesh endpoint that the proxy is running on. Must be between 1 and 255 characters in length. + CertificateChain string `pulumi:"certificateChain"` + // Private key for a certificate stored on the file system of the virtual node that the proxy is running on. Must be between 1 and 255 characters in length. + PrivateKey string `pulumi:"privateKey"` } -// VirtualNodeSpecListenerConnectionPoolInput is an input type that accepts VirtualNodeSpecListenerConnectionPoolArgs and VirtualNodeSpecListenerConnectionPoolOutput values. -// You can construct a concrete instance of `VirtualNodeSpecListenerConnectionPoolInput` via: +// VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateFileInput is an input type that accepts VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateFileArgs and VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateFileOutput values. +// You can construct a concrete instance of `VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateFileInput` via: // -// VirtualNodeSpecListenerConnectionPoolArgs{...} -type VirtualNodeSpecListenerConnectionPoolInput interface { +// VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateFileArgs{...} +type VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateFileInput interface { pulumi.Input - ToVirtualNodeSpecListenerConnectionPoolOutput() VirtualNodeSpecListenerConnectionPoolOutput - ToVirtualNodeSpecListenerConnectionPoolOutputWithContext(context.Context) VirtualNodeSpecListenerConnectionPoolOutput + ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateFileOutput() VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateFileOutput + ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateFileOutputWithContext(context.Context) VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateFileOutput } -type VirtualNodeSpecListenerConnectionPoolArgs struct { - // Connection pool information for gRPC listeners. - Grpc VirtualNodeSpecListenerConnectionPoolGrpcPtrInput `pulumi:"grpc"` - // Connection pool information for HTTP listeners. - Http VirtualNodeSpecListenerConnectionPoolHttpPtrInput `pulumi:"http"` - // Connection pool information for HTTP2 listeners. - Http2 VirtualNodeSpecListenerConnectionPoolHttp2PtrInput `pulumi:"http2"` - // Connection pool information for TCP listeners. - Tcp VirtualNodeSpecListenerConnectionPoolTcpPtrInput `pulumi:"tcp"` +type VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateFileArgs struct { + // Certificate trust chain for a certificate stored on the file system of the mesh endpoint that the proxy is running on. Must be between 1 and 255 characters in length. + CertificateChain pulumi.StringInput `pulumi:"certificateChain"` + // Private key for a certificate stored on the file system of the virtual node that the proxy is running on. Must be between 1 and 255 characters in length. + PrivateKey pulumi.StringInput `pulumi:"privateKey"` } -func (VirtualNodeSpecListenerConnectionPoolArgs) ElementType() reflect.Type { - return reflect.TypeOf((*VirtualNodeSpecListenerConnectionPool)(nil)).Elem() +func (VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateFileArgs) ElementType() reflect.Type { + return reflect.TypeOf((*VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateFile)(nil)).Elem() } -func (i VirtualNodeSpecListenerConnectionPoolArgs) ToVirtualNodeSpecListenerConnectionPoolOutput() VirtualNodeSpecListenerConnectionPoolOutput { - return i.ToVirtualNodeSpecListenerConnectionPoolOutputWithContext(context.Background()) +func (i VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateFileArgs) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateFileOutput() VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateFileOutput { + return i.ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateFileOutputWithContext(context.Background()) } -func (i VirtualNodeSpecListenerConnectionPoolArgs) ToVirtualNodeSpecListenerConnectionPoolOutputWithContext(ctx context.Context) VirtualNodeSpecListenerConnectionPoolOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecListenerConnectionPoolOutput) +func (i VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateFileArgs) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateFileOutputWithContext(ctx context.Context) VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateFileOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateFileOutput) } -func (i VirtualNodeSpecListenerConnectionPoolArgs) ToVirtualNodeSpecListenerConnectionPoolPtrOutput() VirtualNodeSpecListenerConnectionPoolPtrOutput { - return i.ToVirtualNodeSpecListenerConnectionPoolPtrOutputWithContext(context.Background()) +func (i VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateFileArgs) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateFilePtrOutput() VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateFilePtrOutput { + return i.ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateFilePtrOutputWithContext(context.Background()) } -func (i VirtualNodeSpecListenerConnectionPoolArgs) ToVirtualNodeSpecListenerConnectionPoolPtrOutputWithContext(ctx context.Context) VirtualNodeSpecListenerConnectionPoolPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecListenerConnectionPoolOutput).ToVirtualNodeSpecListenerConnectionPoolPtrOutputWithContext(ctx) +func (i VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateFileArgs) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateFilePtrOutputWithContext(ctx context.Context) VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateFilePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateFileOutput).ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateFilePtrOutputWithContext(ctx) } -// VirtualNodeSpecListenerConnectionPoolPtrInput is an input type that accepts VirtualNodeSpecListenerConnectionPoolArgs, VirtualNodeSpecListenerConnectionPoolPtr and VirtualNodeSpecListenerConnectionPoolPtrOutput values. -// You can construct a concrete instance of `VirtualNodeSpecListenerConnectionPoolPtrInput` via: +// VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateFilePtrInput is an input type that accepts VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateFileArgs, VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateFilePtr and VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateFilePtrOutput values. +// You can construct a concrete instance of `VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateFilePtrInput` via: // -// VirtualNodeSpecListenerConnectionPoolArgs{...} +// VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateFileArgs{...} // // or: // // nil -type VirtualNodeSpecListenerConnectionPoolPtrInput interface { +type VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateFilePtrInput interface { pulumi.Input - ToVirtualNodeSpecListenerConnectionPoolPtrOutput() VirtualNodeSpecListenerConnectionPoolPtrOutput - ToVirtualNodeSpecListenerConnectionPoolPtrOutputWithContext(context.Context) VirtualNodeSpecListenerConnectionPoolPtrOutput + ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateFilePtrOutput() VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateFilePtrOutput + ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateFilePtrOutputWithContext(context.Context) VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateFilePtrOutput } -type virtualNodeSpecListenerConnectionPoolPtrType VirtualNodeSpecListenerConnectionPoolArgs +type virtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateFilePtrType VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateFileArgs -func VirtualNodeSpecListenerConnectionPoolPtr(v *VirtualNodeSpecListenerConnectionPoolArgs) VirtualNodeSpecListenerConnectionPoolPtrInput { - return (*virtualNodeSpecListenerConnectionPoolPtrType)(v) +func VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateFilePtr(v *VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateFileArgs) VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateFilePtrInput { + return (*virtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateFilePtrType)(v) } -func (*virtualNodeSpecListenerConnectionPoolPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**VirtualNodeSpecListenerConnectionPool)(nil)).Elem() +func (*virtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateFilePtrType) ElementType() reflect.Type { + return reflect.TypeOf((**VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateFile)(nil)).Elem() } -func (i *virtualNodeSpecListenerConnectionPoolPtrType) ToVirtualNodeSpecListenerConnectionPoolPtrOutput() VirtualNodeSpecListenerConnectionPoolPtrOutput { - return i.ToVirtualNodeSpecListenerConnectionPoolPtrOutputWithContext(context.Background()) +func (i *virtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateFilePtrType) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateFilePtrOutput() VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateFilePtrOutput { + return i.ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateFilePtrOutputWithContext(context.Background()) } -func (i *virtualNodeSpecListenerConnectionPoolPtrType) ToVirtualNodeSpecListenerConnectionPoolPtrOutputWithContext(ctx context.Context) VirtualNodeSpecListenerConnectionPoolPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecListenerConnectionPoolPtrOutput) +func (i *virtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateFilePtrType) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateFilePtrOutputWithContext(ctx context.Context) VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateFilePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateFilePtrOutput) } -type VirtualNodeSpecListenerConnectionPoolOutput struct{ *pulumi.OutputState } +type VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateFileOutput struct{ *pulumi.OutputState } -func (VirtualNodeSpecListenerConnectionPoolOutput) ElementType() reflect.Type { - return reflect.TypeOf((*VirtualNodeSpecListenerConnectionPool)(nil)).Elem() +func (VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateFileOutput) ElementType() reflect.Type { + return reflect.TypeOf((*VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateFile)(nil)).Elem() } -func (o VirtualNodeSpecListenerConnectionPoolOutput) ToVirtualNodeSpecListenerConnectionPoolOutput() VirtualNodeSpecListenerConnectionPoolOutput { +func (o VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateFileOutput) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateFileOutput() VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateFileOutput { return o } -func (o VirtualNodeSpecListenerConnectionPoolOutput) ToVirtualNodeSpecListenerConnectionPoolOutputWithContext(ctx context.Context) VirtualNodeSpecListenerConnectionPoolOutput { +func (o VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateFileOutput) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateFileOutputWithContext(ctx context.Context) VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateFileOutput { return o } -func (o VirtualNodeSpecListenerConnectionPoolOutput) ToVirtualNodeSpecListenerConnectionPoolPtrOutput() VirtualNodeSpecListenerConnectionPoolPtrOutput { - return o.ToVirtualNodeSpecListenerConnectionPoolPtrOutputWithContext(context.Background()) +func (o VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateFileOutput) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateFilePtrOutput() VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateFilePtrOutput { + return o.ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateFilePtrOutputWithContext(context.Background()) } -func (o VirtualNodeSpecListenerConnectionPoolOutput) ToVirtualNodeSpecListenerConnectionPoolPtrOutputWithContext(ctx context.Context) VirtualNodeSpecListenerConnectionPoolPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v VirtualNodeSpecListenerConnectionPool) *VirtualNodeSpecListenerConnectionPool { +func (o VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateFileOutput) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateFilePtrOutputWithContext(ctx context.Context) VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateFilePtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateFile) *VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateFile { return &v - }).(VirtualNodeSpecListenerConnectionPoolPtrOutput) -} - -// Connection pool information for gRPC listeners. -func (o VirtualNodeSpecListenerConnectionPoolOutput) Grpc() VirtualNodeSpecListenerConnectionPoolGrpcPtrOutput { - return o.ApplyT(func(v VirtualNodeSpecListenerConnectionPool) *VirtualNodeSpecListenerConnectionPoolGrpc { - return v.Grpc - }).(VirtualNodeSpecListenerConnectionPoolGrpcPtrOutput) -} - -// Connection pool information for HTTP listeners. -func (o VirtualNodeSpecListenerConnectionPoolOutput) Http() VirtualNodeSpecListenerConnectionPoolHttpPtrOutput { - return o.ApplyT(func(v VirtualNodeSpecListenerConnectionPool) *VirtualNodeSpecListenerConnectionPoolHttp { - return v.Http - }).(VirtualNodeSpecListenerConnectionPoolHttpPtrOutput) + }).(VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateFilePtrOutput) } -// Connection pool information for HTTP2 listeners. -func (o VirtualNodeSpecListenerConnectionPoolOutput) Http2() VirtualNodeSpecListenerConnectionPoolHttp2PtrOutput { - return o.ApplyT(func(v VirtualNodeSpecListenerConnectionPool) *VirtualNodeSpecListenerConnectionPoolHttp2 { - return v.Http2 - }).(VirtualNodeSpecListenerConnectionPoolHttp2PtrOutput) +// Certificate trust chain for a certificate stored on the file system of the mesh endpoint that the proxy is running on. Must be between 1 and 255 characters in length. +func (o VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateFileOutput) CertificateChain() pulumi.StringOutput { + return o.ApplyT(func(v VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateFile) string { + return v.CertificateChain + }).(pulumi.StringOutput) } -// Connection pool information for TCP listeners. -func (o VirtualNodeSpecListenerConnectionPoolOutput) Tcp() VirtualNodeSpecListenerConnectionPoolTcpPtrOutput { - return o.ApplyT(func(v VirtualNodeSpecListenerConnectionPool) *VirtualNodeSpecListenerConnectionPoolTcp { return v.Tcp }).(VirtualNodeSpecListenerConnectionPoolTcpPtrOutput) +// Private key for a certificate stored on the file system of the virtual node that the proxy is running on. Must be between 1 and 255 characters in length. +func (o VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateFileOutput) PrivateKey() pulumi.StringOutput { + return o.ApplyT(func(v VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateFile) string { return v.PrivateKey }).(pulumi.StringOutput) } -type VirtualNodeSpecListenerConnectionPoolPtrOutput struct{ *pulumi.OutputState } +type VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateFilePtrOutput struct{ *pulumi.OutputState } -func (VirtualNodeSpecListenerConnectionPoolPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**VirtualNodeSpecListenerConnectionPool)(nil)).Elem() +func (VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateFilePtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateFile)(nil)).Elem() } -func (o VirtualNodeSpecListenerConnectionPoolPtrOutput) ToVirtualNodeSpecListenerConnectionPoolPtrOutput() VirtualNodeSpecListenerConnectionPoolPtrOutput { +func (o VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateFilePtrOutput) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateFilePtrOutput() VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateFilePtrOutput { return o } -func (o VirtualNodeSpecListenerConnectionPoolPtrOutput) ToVirtualNodeSpecListenerConnectionPoolPtrOutputWithContext(ctx context.Context) VirtualNodeSpecListenerConnectionPoolPtrOutput { +func (o VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateFilePtrOutput) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateFilePtrOutputWithContext(ctx context.Context) VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateFilePtrOutput { return o } -func (o VirtualNodeSpecListenerConnectionPoolPtrOutput) Elem() VirtualNodeSpecListenerConnectionPoolOutput { - return o.ApplyT(func(v *VirtualNodeSpecListenerConnectionPool) VirtualNodeSpecListenerConnectionPool { +func (o VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateFilePtrOutput) Elem() VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateFileOutput { + return o.ApplyT(func(v *VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateFile) VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateFile { if v != nil { return *v } - var ret VirtualNodeSpecListenerConnectionPool + var ret VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateFile return ret - }).(VirtualNodeSpecListenerConnectionPoolOutput) + }).(VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateFileOutput) } -// Connection pool information for gRPC listeners. -func (o VirtualNodeSpecListenerConnectionPoolPtrOutput) Grpc() VirtualNodeSpecListenerConnectionPoolGrpcPtrOutput { - return o.ApplyT(func(v *VirtualNodeSpecListenerConnectionPool) *VirtualNodeSpecListenerConnectionPoolGrpc { - if v == nil { - return nil - } - return v.Grpc - }).(VirtualNodeSpecListenerConnectionPoolGrpcPtrOutput) -} - -// Connection pool information for HTTP listeners. -func (o VirtualNodeSpecListenerConnectionPoolPtrOutput) Http() VirtualNodeSpecListenerConnectionPoolHttpPtrOutput { - return o.ApplyT(func(v *VirtualNodeSpecListenerConnectionPool) *VirtualNodeSpecListenerConnectionPoolHttp { - if v == nil { - return nil - } - return v.Http - }).(VirtualNodeSpecListenerConnectionPoolHttpPtrOutput) -} - -// Connection pool information for HTTP2 listeners. -func (o VirtualNodeSpecListenerConnectionPoolPtrOutput) Http2() VirtualNodeSpecListenerConnectionPoolHttp2PtrOutput { - return o.ApplyT(func(v *VirtualNodeSpecListenerConnectionPool) *VirtualNodeSpecListenerConnectionPoolHttp2 { +// Certificate trust chain for a certificate stored on the file system of the mesh endpoint that the proxy is running on. Must be between 1 and 255 characters in length. +func (o VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateFilePtrOutput) CertificateChain() pulumi.StringPtrOutput { + return o.ApplyT(func(v *VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateFile) *string { if v == nil { return nil } - return v.Http2 - }).(VirtualNodeSpecListenerConnectionPoolHttp2PtrOutput) + return &v.CertificateChain + }).(pulumi.StringPtrOutput) } -// Connection pool information for TCP listeners. -func (o VirtualNodeSpecListenerConnectionPoolPtrOutput) Tcp() VirtualNodeSpecListenerConnectionPoolTcpPtrOutput { - return o.ApplyT(func(v *VirtualNodeSpecListenerConnectionPool) *VirtualNodeSpecListenerConnectionPoolTcp { +// Private key for a certificate stored on the file system of the virtual node that the proxy is running on. Must be between 1 and 255 characters in length. +func (o VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateFilePtrOutput) PrivateKey() pulumi.StringPtrOutput { + return o.ApplyT(func(v *VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateFile) *string { if v == nil { return nil } - return v.Tcp - }).(VirtualNodeSpecListenerConnectionPoolTcpPtrOutput) + return &v.PrivateKey + }).(pulumi.StringPtrOutput) } -type VirtualNodeSpecListenerConnectionPoolGrpc struct { - // Maximum number of inflight requests Envoy can concurrently support across hosts in upstream cluster. Minimum value of `1`. - MaxRequests int `pulumi:"maxRequests"` +type VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateSds struct { + // Name of the secret for a virtual node's Transport Layer Security (TLS) Secret Discovery Service validation context trust. + SecretName string `pulumi:"secretName"` } -// VirtualNodeSpecListenerConnectionPoolGrpcInput is an input type that accepts VirtualNodeSpecListenerConnectionPoolGrpcArgs and VirtualNodeSpecListenerConnectionPoolGrpcOutput values. -// You can construct a concrete instance of `VirtualNodeSpecListenerConnectionPoolGrpcInput` via: +// VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateSdsInput is an input type that accepts VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateSdsArgs and VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateSdsOutput values. +// You can construct a concrete instance of `VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateSdsInput` via: // -// VirtualNodeSpecListenerConnectionPoolGrpcArgs{...} -type VirtualNodeSpecListenerConnectionPoolGrpcInput interface { +// VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateSdsArgs{...} +type VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateSdsInput interface { pulumi.Input - ToVirtualNodeSpecListenerConnectionPoolGrpcOutput() VirtualNodeSpecListenerConnectionPoolGrpcOutput - ToVirtualNodeSpecListenerConnectionPoolGrpcOutputWithContext(context.Context) VirtualNodeSpecListenerConnectionPoolGrpcOutput + ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateSdsOutput() VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateSdsOutput + ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateSdsOutputWithContext(context.Context) VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateSdsOutput } -type VirtualNodeSpecListenerConnectionPoolGrpcArgs struct { - // Maximum number of inflight requests Envoy can concurrently support across hosts in upstream cluster. Minimum value of `1`. - MaxRequests pulumi.IntInput `pulumi:"maxRequests"` +type VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateSdsArgs struct { + // Name of the secret for a virtual node's Transport Layer Security (TLS) Secret Discovery Service validation context trust. + SecretName pulumi.StringInput `pulumi:"secretName"` } -func (VirtualNodeSpecListenerConnectionPoolGrpcArgs) ElementType() reflect.Type { - return reflect.TypeOf((*VirtualNodeSpecListenerConnectionPoolGrpc)(nil)).Elem() +func (VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateSdsArgs) ElementType() reflect.Type { + return reflect.TypeOf((*VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateSds)(nil)).Elem() } -func (i VirtualNodeSpecListenerConnectionPoolGrpcArgs) ToVirtualNodeSpecListenerConnectionPoolGrpcOutput() VirtualNodeSpecListenerConnectionPoolGrpcOutput { - return i.ToVirtualNodeSpecListenerConnectionPoolGrpcOutputWithContext(context.Background()) +func (i VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateSdsArgs) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateSdsOutput() VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateSdsOutput { + return i.ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateSdsOutputWithContext(context.Background()) } -func (i VirtualNodeSpecListenerConnectionPoolGrpcArgs) ToVirtualNodeSpecListenerConnectionPoolGrpcOutputWithContext(ctx context.Context) VirtualNodeSpecListenerConnectionPoolGrpcOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecListenerConnectionPoolGrpcOutput) +func (i VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateSdsArgs) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateSdsOutputWithContext(ctx context.Context) VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateSdsOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateSdsOutput) } -func (i VirtualNodeSpecListenerConnectionPoolGrpcArgs) ToVirtualNodeSpecListenerConnectionPoolGrpcPtrOutput() VirtualNodeSpecListenerConnectionPoolGrpcPtrOutput { - return i.ToVirtualNodeSpecListenerConnectionPoolGrpcPtrOutputWithContext(context.Background()) +func (i VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateSdsArgs) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateSdsPtrOutput() VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateSdsPtrOutput { + return i.ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateSdsPtrOutputWithContext(context.Background()) } -func (i VirtualNodeSpecListenerConnectionPoolGrpcArgs) ToVirtualNodeSpecListenerConnectionPoolGrpcPtrOutputWithContext(ctx context.Context) VirtualNodeSpecListenerConnectionPoolGrpcPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecListenerConnectionPoolGrpcOutput).ToVirtualNodeSpecListenerConnectionPoolGrpcPtrOutputWithContext(ctx) +func (i VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateSdsArgs) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateSdsPtrOutputWithContext(ctx context.Context) VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateSdsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateSdsOutput).ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateSdsPtrOutputWithContext(ctx) } -// VirtualNodeSpecListenerConnectionPoolGrpcPtrInput is an input type that accepts VirtualNodeSpecListenerConnectionPoolGrpcArgs, VirtualNodeSpecListenerConnectionPoolGrpcPtr and VirtualNodeSpecListenerConnectionPoolGrpcPtrOutput values. -// You can construct a concrete instance of `VirtualNodeSpecListenerConnectionPoolGrpcPtrInput` via: +// VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateSdsPtrInput is an input type that accepts VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateSdsArgs, VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateSdsPtr and VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateSdsPtrOutput values. +// You can construct a concrete instance of `VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateSdsPtrInput` via: // -// VirtualNodeSpecListenerConnectionPoolGrpcArgs{...} +// VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateSdsArgs{...} // // or: // // nil -type VirtualNodeSpecListenerConnectionPoolGrpcPtrInput interface { +type VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateSdsPtrInput interface { pulumi.Input - ToVirtualNodeSpecListenerConnectionPoolGrpcPtrOutput() VirtualNodeSpecListenerConnectionPoolGrpcPtrOutput - ToVirtualNodeSpecListenerConnectionPoolGrpcPtrOutputWithContext(context.Context) VirtualNodeSpecListenerConnectionPoolGrpcPtrOutput + ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateSdsPtrOutput() VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateSdsPtrOutput + ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateSdsPtrOutputWithContext(context.Context) VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateSdsPtrOutput } -type virtualNodeSpecListenerConnectionPoolGrpcPtrType VirtualNodeSpecListenerConnectionPoolGrpcArgs +type virtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateSdsPtrType VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateSdsArgs -func VirtualNodeSpecListenerConnectionPoolGrpcPtr(v *VirtualNodeSpecListenerConnectionPoolGrpcArgs) VirtualNodeSpecListenerConnectionPoolGrpcPtrInput { - return (*virtualNodeSpecListenerConnectionPoolGrpcPtrType)(v) +func VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateSdsPtr(v *VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateSdsArgs) VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateSdsPtrInput { + return (*virtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateSdsPtrType)(v) } -func (*virtualNodeSpecListenerConnectionPoolGrpcPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**VirtualNodeSpecListenerConnectionPoolGrpc)(nil)).Elem() +func (*virtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateSdsPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateSds)(nil)).Elem() } -func (i *virtualNodeSpecListenerConnectionPoolGrpcPtrType) ToVirtualNodeSpecListenerConnectionPoolGrpcPtrOutput() VirtualNodeSpecListenerConnectionPoolGrpcPtrOutput { - return i.ToVirtualNodeSpecListenerConnectionPoolGrpcPtrOutputWithContext(context.Background()) +func (i *virtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateSdsPtrType) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateSdsPtrOutput() VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateSdsPtrOutput { + return i.ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateSdsPtrOutputWithContext(context.Background()) } -func (i *virtualNodeSpecListenerConnectionPoolGrpcPtrType) ToVirtualNodeSpecListenerConnectionPoolGrpcPtrOutputWithContext(ctx context.Context) VirtualNodeSpecListenerConnectionPoolGrpcPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecListenerConnectionPoolGrpcPtrOutput) +func (i *virtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateSdsPtrType) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateSdsPtrOutputWithContext(ctx context.Context) VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateSdsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateSdsPtrOutput) } -type VirtualNodeSpecListenerConnectionPoolGrpcOutput struct{ *pulumi.OutputState } +type VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateSdsOutput struct{ *pulumi.OutputState } -func (VirtualNodeSpecListenerConnectionPoolGrpcOutput) ElementType() reflect.Type { - return reflect.TypeOf((*VirtualNodeSpecListenerConnectionPoolGrpc)(nil)).Elem() +func (VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateSdsOutput) ElementType() reflect.Type { + return reflect.TypeOf((*VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateSds)(nil)).Elem() } -func (o VirtualNodeSpecListenerConnectionPoolGrpcOutput) ToVirtualNodeSpecListenerConnectionPoolGrpcOutput() VirtualNodeSpecListenerConnectionPoolGrpcOutput { +func (o VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateSdsOutput) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateSdsOutput() VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateSdsOutput { return o } -func (o VirtualNodeSpecListenerConnectionPoolGrpcOutput) ToVirtualNodeSpecListenerConnectionPoolGrpcOutputWithContext(ctx context.Context) VirtualNodeSpecListenerConnectionPoolGrpcOutput { +func (o VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateSdsOutput) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateSdsOutputWithContext(ctx context.Context) VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateSdsOutput { return o } -func (o VirtualNodeSpecListenerConnectionPoolGrpcOutput) ToVirtualNodeSpecListenerConnectionPoolGrpcPtrOutput() VirtualNodeSpecListenerConnectionPoolGrpcPtrOutput { - return o.ToVirtualNodeSpecListenerConnectionPoolGrpcPtrOutputWithContext(context.Background()) +func (o VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateSdsOutput) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateSdsPtrOutput() VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateSdsPtrOutput { + return o.ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateSdsPtrOutputWithContext(context.Background()) } -func (o VirtualNodeSpecListenerConnectionPoolGrpcOutput) ToVirtualNodeSpecListenerConnectionPoolGrpcPtrOutputWithContext(ctx context.Context) VirtualNodeSpecListenerConnectionPoolGrpcPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v VirtualNodeSpecListenerConnectionPoolGrpc) *VirtualNodeSpecListenerConnectionPoolGrpc { +func (o VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateSdsOutput) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateSdsPtrOutputWithContext(ctx context.Context) VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateSdsPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateSds) *VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateSds { return &v - }).(VirtualNodeSpecListenerConnectionPoolGrpcPtrOutput) + }).(VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateSdsPtrOutput) } -// Maximum number of inflight requests Envoy can concurrently support across hosts in upstream cluster. Minimum value of `1`. -func (o VirtualNodeSpecListenerConnectionPoolGrpcOutput) MaxRequests() pulumi.IntOutput { - return o.ApplyT(func(v VirtualNodeSpecListenerConnectionPoolGrpc) int { return v.MaxRequests }).(pulumi.IntOutput) +// Name of the secret for a virtual node's Transport Layer Security (TLS) Secret Discovery Service validation context trust. +func (o VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateSdsOutput) SecretName() pulumi.StringOutput { + return o.ApplyT(func(v VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateSds) string { return v.SecretName }).(pulumi.StringOutput) } -type VirtualNodeSpecListenerConnectionPoolGrpcPtrOutput struct{ *pulumi.OutputState } +type VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateSdsPtrOutput struct{ *pulumi.OutputState } -func (VirtualNodeSpecListenerConnectionPoolGrpcPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**VirtualNodeSpecListenerConnectionPoolGrpc)(nil)).Elem() +func (VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateSdsPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateSds)(nil)).Elem() } -func (o VirtualNodeSpecListenerConnectionPoolGrpcPtrOutput) ToVirtualNodeSpecListenerConnectionPoolGrpcPtrOutput() VirtualNodeSpecListenerConnectionPoolGrpcPtrOutput { +func (o VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateSdsPtrOutput) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateSdsPtrOutput() VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateSdsPtrOutput { return o } -func (o VirtualNodeSpecListenerConnectionPoolGrpcPtrOutput) ToVirtualNodeSpecListenerConnectionPoolGrpcPtrOutputWithContext(ctx context.Context) VirtualNodeSpecListenerConnectionPoolGrpcPtrOutput { +func (o VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateSdsPtrOutput) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateSdsPtrOutputWithContext(ctx context.Context) VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateSdsPtrOutput { return o } -func (o VirtualNodeSpecListenerConnectionPoolGrpcPtrOutput) Elem() VirtualNodeSpecListenerConnectionPoolGrpcOutput { - return o.ApplyT(func(v *VirtualNodeSpecListenerConnectionPoolGrpc) VirtualNodeSpecListenerConnectionPoolGrpc { +func (o VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateSdsPtrOutput) Elem() VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateSdsOutput { + return o.ApplyT(func(v *VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateSds) VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateSds { if v != nil { return *v } - var ret VirtualNodeSpecListenerConnectionPoolGrpc + var ret VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateSds return ret - }).(VirtualNodeSpecListenerConnectionPoolGrpcOutput) + }).(VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateSdsOutput) } -// Maximum number of inflight requests Envoy can concurrently support across hosts in upstream cluster. Minimum value of `1`. -func (o VirtualNodeSpecListenerConnectionPoolGrpcPtrOutput) MaxRequests() pulumi.IntPtrOutput { - return o.ApplyT(func(v *VirtualNodeSpecListenerConnectionPoolGrpc) *int { +// Name of the secret for a virtual node's Transport Layer Security (TLS) Secret Discovery Service validation context trust. +func (o VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateSdsPtrOutput) SecretName() pulumi.StringPtrOutput { + return o.ApplyT(func(v *VirtualNodeSpecBackendVirtualServiceClientPolicyTlsCertificateSds) *string { if v == nil { return nil } - return &v.MaxRequests - }).(pulumi.IntPtrOutput) + return &v.SecretName + }).(pulumi.StringPtrOutput) } -type VirtualNodeSpecListenerConnectionPoolHttp2 struct { - // Maximum number of inflight requests Envoy can concurrently support across hosts in upstream cluster. Minimum value of `1`. - MaxRequests int `pulumi:"maxRequests"` +type VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidation struct { + // SANs for a TLS validation context. + SubjectAlternativeNames *VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNames `pulumi:"subjectAlternativeNames"` + // TLS validation context trust. + Trust VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrust `pulumi:"trust"` } -// VirtualNodeSpecListenerConnectionPoolHttp2Input is an input type that accepts VirtualNodeSpecListenerConnectionPoolHttp2Args and VirtualNodeSpecListenerConnectionPoolHttp2Output values. -// You can construct a concrete instance of `VirtualNodeSpecListenerConnectionPoolHttp2Input` via: +// VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationInput is an input type that accepts VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationArgs and VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationOutput values. +// You can construct a concrete instance of `VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationInput` via: // -// VirtualNodeSpecListenerConnectionPoolHttp2Args{...} -type VirtualNodeSpecListenerConnectionPoolHttp2Input interface { +// VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationArgs{...} +type VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationInput interface { pulumi.Input - ToVirtualNodeSpecListenerConnectionPoolHttp2Output() VirtualNodeSpecListenerConnectionPoolHttp2Output - ToVirtualNodeSpecListenerConnectionPoolHttp2OutputWithContext(context.Context) VirtualNodeSpecListenerConnectionPoolHttp2Output + ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationOutput() VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationOutput + ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationOutputWithContext(context.Context) VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationOutput } -type VirtualNodeSpecListenerConnectionPoolHttp2Args struct { - // Maximum number of inflight requests Envoy can concurrently support across hosts in upstream cluster. Minimum value of `1`. - MaxRequests pulumi.IntInput `pulumi:"maxRequests"` +type VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationArgs struct { + // SANs for a TLS validation context. + SubjectAlternativeNames VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesPtrInput `pulumi:"subjectAlternativeNames"` + // TLS validation context trust. + Trust VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustInput `pulumi:"trust"` } -func (VirtualNodeSpecListenerConnectionPoolHttp2Args) ElementType() reflect.Type { - return reflect.TypeOf((*VirtualNodeSpecListenerConnectionPoolHttp2)(nil)).Elem() +func (VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationArgs) ElementType() reflect.Type { + return reflect.TypeOf((*VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidation)(nil)).Elem() } -func (i VirtualNodeSpecListenerConnectionPoolHttp2Args) ToVirtualNodeSpecListenerConnectionPoolHttp2Output() VirtualNodeSpecListenerConnectionPoolHttp2Output { - return i.ToVirtualNodeSpecListenerConnectionPoolHttp2OutputWithContext(context.Background()) +func (i VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationArgs) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationOutput() VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationOutput { + return i.ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationOutputWithContext(context.Background()) } -func (i VirtualNodeSpecListenerConnectionPoolHttp2Args) ToVirtualNodeSpecListenerConnectionPoolHttp2OutputWithContext(ctx context.Context) VirtualNodeSpecListenerConnectionPoolHttp2Output { - return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecListenerConnectionPoolHttp2Output) +func (i VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationArgs) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationOutputWithContext(ctx context.Context) VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationOutput) } -func (i VirtualNodeSpecListenerConnectionPoolHttp2Args) ToVirtualNodeSpecListenerConnectionPoolHttp2PtrOutput() VirtualNodeSpecListenerConnectionPoolHttp2PtrOutput { - return i.ToVirtualNodeSpecListenerConnectionPoolHttp2PtrOutputWithContext(context.Background()) +func (i VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationArgs) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationPtrOutput() VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationPtrOutput { + return i.ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationPtrOutputWithContext(context.Background()) } -func (i VirtualNodeSpecListenerConnectionPoolHttp2Args) ToVirtualNodeSpecListenerConnectionPoolHttp2PtrOutputWithContext(ctx context.Context) VirtualNodeSpecListenerConnectionPoolHttp2PtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecListenerConnectionPoolHttp2Output).ToVirtualNodeSpecListenerConnectionPoolHttp2PtrOutputWithContext(ctx) +func (i VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationArgs) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationPtrOutputWithContext(ctx context.Context) VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationOutput).ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationPtrOutputWithContext(ctx) } -// VirtualNodeSpecListenerConnectionPoolHttp2PtrInput is an input type that accepts VirtualNodeSpecListenerConnectionPoolHttp2Args, VirtualNodeSpecListenerConnectionPoolHttp2Ptr and VirtualNodeSpecListenerConnectionPoolHttp2PtrOutput values. -// You can construct a concrete instance of `VirtualNodeSpecListenerConnectionPoolHttp2PtrInput` via: +// VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationPtrInput is an input type that accepts VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationArgs, VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationPtr and VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationPtrOutput values. +// You can construct a concrete instance of `VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationPtrInput` via: // -// VirtualNodeSpecListenerConnectionPoolHttp2Args{...} +// VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationArgs{...} // // or: // // nil -type VirtualNodeSpecListenerConnectionPoolHttp2PtrInput interface { +type VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationPtrInput interface { pulumi.Input - ToVirtualNodeSpecListenerConnectionPoolHttp2PtrOutput() VirtualNodeSpecListenerConnectionPoolHttp2PtrOutput - ToVirtualNodeSpecListenerConnectionPoolHttp2PtrOutputWithContext(context.Context) VirtualNodeSpecListenerConnectionPoolHttp2PtrOutput + ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationPtrOutput() VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationPtrOutput + ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationPtrOutputWithContext(context.Context) VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationPtrOutput } -type virtualNodeSpecListenerConnectionPoolHttp2PtrType VirtualNodeSpecListenerConnectionPoolHttp2Args +type virtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationPtrType VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationArgs -func VirtualNodeSpecListenerConnectionPoolHttp2Ptr(v *VirtualNodeSpecListenerConnectionPoolHttp2Args) VirtualNodeSpecListenerConnectionPoolHttp2PtrInput { - return (*virtualNodeSpecListenerConnectionPoolHttp2PtrType)(v) +func VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationPtr(v *VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationArgs) VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationPtrInput { + return (*virtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationPtrType)(v) } -func (*virtualNodeSpecListenerConnectionPoolHttp2PtrType) ElementType() reflect.Type { - return reflect.TypeOf((**VirtualNodeSpecListenerConnectionPoolHttp2)(nil)).Elem() +func (*virtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidation)(nil)).Elem() } -func (i *virtualNodeSpecListenerConnectionPoolHttp2PtrType) ToVirtualNodeSpecListenerConnectionPoolHttp2PtrOutput() VirtualNodeSpecListenerConnectionPoolHttp2PtrOutput { - return i.ToVirtualNodeSpecListenerConnectionPoolHttp2PtrOutputWithContext(context.Background()) +func (i *virtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationPtrType) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationPtrOutput() VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationPtrOutput { + return i.ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationPtrOutputWithContext(context.Background()) } -func (i *virtualNodeSpecListenerConnectionPoolHttp2PtrType) ToVirtualNodeSpecListenerConnectionPoolHttp2PtrOutputWithContext(ctx context.Context) VirtualNodeSpecListenerConnectionPoolHttp2PtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecListenerConnectionPoolHttp2PtrOutput) +func (i *virtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationPtrType) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationPtrOutputWithContext(ctx context.Context) VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationPtrOutput) } -type VirtualNodeSpecListenerConnectionPoolHttp2Output struct{ *pulumi.OutputState } +type VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationOutput struct{ *pulumi.OutputState } -func (VirtualNodeSpecListenerConnectionPoolHttp2Output) ElementType() reflect.Type { - return reflect.TypeOf((*VirtualNodeSpecListenerConnectionPoolHttp2)(nil)).Elem() +func (VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationOutput) ElementType() reflect.Type { + return reflect.TypeOf((*VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidation)(nil)).Elem() } -func (o VirtualNodeSpecListenerConnectionPoolHttp2Output) ToVirtualNodeSpecListenerConnectionPoolHttp2Output() VirtualNodeSpecListenerConnectionPoolHttp2Output { +func (o VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationOutput) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationOutput() VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationOutput { return o } -func (o VirtualNodeSpecListenerConnectionPoolHttp2Output) ToVirtualNodeSpecListenerConnectionPoolHttp2OutputWithContext(ctx context.Context) VirtualNodeSpecListenerConnectionPoolHttp2Output { +func (o VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationOutput) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationOutputWithContext(ctx context.Context) VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationOutput { return o } -func (o VirtualNodeSpecListenerConnectionPoolHttp2Output) ToVirtualNodeSpecListenerConnectionPoolHttp2PtrOutput() VirtualNodeSpecListenerConnectionPoolHttp2PtrOutput { - return o.ToVirtualNodeSpecListenerConnectionPoolHttp2PtrOutputWithContext(context.Background()) +func (o VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationOutput) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationPtrOutput() VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationPtrOutput { + return o.ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationPtrOutputWithContext(context.Background()) } -func (o VirtualNodeSpecListenerConnectionPoolHttp2Output) ToVirtualNodeSpecListenerConnectionPoolHttp2PtrOutputWithContext(ctx context.Context) VirtualNodeSpecListenerConnectionPoolHttp2PtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v VirtualNodeSpecListenerConnectionPoolHttp2) *VirtualNodeSpecListenerConnectionPoolHttp2 { +func (o VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationOutput) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationPtrOutputWithContext(ctx context.Context) VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidation) *VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidation { return &v - }).(VirtualNodeSpecListenerConnectionPoolHttp2PtrOutput) + }).(VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationPtrOutput) } -// Maximum number of inflight requests Envoy can concurrently support across hosts in upstream cluster. Minimum value of `1`. -func (o VirtualNodeSpecListenerConnectionPoolHttp2Output) MaxRequests() pulumi.IntOutput { - return o.ApplyT(func(v VirtualNodeSpecListenerConnectionPoolHttp2) int { return v.MaxRequests }).(pulumi.IntOutput) +// SANs for a TLS validation context. +func (o VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationOutput) SubjectAlternativeNames() VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesPtrOutput { + return o.ApplyT(func(v VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidation) *VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNames { + return v.SubjectAlternativeNames + }).(VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesPtrOutput) } -type VirtualNodeSpecListenerConnectionPoolHttp2PtrOutput struct{ *pulumi.OutputState } +// TLS validation context trust. +func (o VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationOutput) Trust() VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustOutput { + return o.ApplyT(func(v VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidation) VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrust { + return v.Trust + }).(VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustOutput) +} -func (VirtualNodeSpecListenerConnectionPoolHttp2PtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**VirtualNodeSpecListenerConnectionPoolHttp2)(nil)).Elem() +type VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationPtrOutput struct{ *pulumi.OutputState } + +func (VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidation)(nil)).Elem() } -func (o VirtualNodeSpecListenerConnectionPoolHttp2PtrOutput) ToVirtualNodeSpecListenerConnectionPoolHttp2PtrOutput() VirtualNodeSpecListenerConnectionPoolHttp2PtrOutput { +func (o VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationPtrOutput) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationPtrOutput() VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationPtrOutput { return o } -func (o VirtualNodeSpecListenerConnectionPoolHttp2PtrOutput) ToVirtualNodeSpecListenerConnectionPoolHttp2PtrOutputWithContext(ctx context.Context) VirtualNodeSpecListenerConnectionPoolHttp2PtrOutput { +func (o VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationPtrOutput) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationPtrOutputWithContext(ctx context.Context) VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationPtrOutput { return o } -func (o VirtualNodeSpecListenerConnectionPoolHttp2PtrOutput) Elem() VirtualNodeSpecListenerConnectionPoolHttp2Output { - return o.ApplyT(func(v *VirtualNodeSpecListenerConnectionPoolHttp2) VirtualNodeSpecListenerConnectionPoolHttp2 { +func (o VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationPtrOutput) Elem() VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationOutput { + return o.ApplyT(func(v *VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidation) VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidation { if v != nil { return *v } - var ret VirtualNodeSpecListenerConnectionPoolHttp2 + var ret VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidation return ret - }).(VirtualNodeSpecListenerConnectionPoolHttp2Output) + }).(VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationOutput) } -// Maximum number of inflight requests Envoy can concurrently support across hosts in upstream cluster. Minimum value of `1`. -func (o VirtualNodeSpecListenerConnectionPoolHttp2PtrOutput) MaxRequests() pulumi.IntPtrOutput { - return o.ApplyT(func(v *VirtualNodeSpecListenerConnectionPoolHttp2) *int { +// SANs for a TLS validation context. +func (o VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationPtrOutput) SubjectAlternativeNames() VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesPtrOutput { + return o.ApplyT(func(v *VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidation) *VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNames { if v == nil { return nil } - return &v.MaxRequests - }).(pulumi.IntPtrOutput) + return v.SubjectAlternativeNames + }).(VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesPtrOutput) } -type VirtualNodeSpecListenerConnectionPoolHttp struct { - // Maximum number of outbound TCP connections Envoy can establish concurrently with all hosts in upstream cluster. Minimum value of `1`. - MaxConnections int `pulumi:"maxConnections"` - // Number of overflowing requests after `maxConnections` Envoy will queue to upstream cluster. Minimum value of `1`. - MaxPendingRequests *int `pulumi:"maxPendingRequests"` +// TLS validation context trust. +func (o VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationPtrOutput) Trust() VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustPtrOutput { + return o.ApplyT(func(v *VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidation) *VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrust { + if v == nil { + return nil + } + return &v.Trust + }).(VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustPtrOutput) } -// VirtualNodeSpecListenerConnectionPoolHttpInput is an input type that accepts VirtualNodeSpecListenerConnectionPoolHttpArgs and VirtualNodeSpecListenerConnectionPoolHttpOutput values. -// You can construct a concrete instance of `VirtualNodeSpecListenerConnectionPoolHttpInput` via: +type VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNames struct { + // Criteria for determining a SAN's match. + Match VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesMatch `pulumi:"match"` +} + +// VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesInput is an input type that accepts VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesArgs and VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesOutput values. +// You can construct a concrete instance of `VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesInput` via: // -// VirtualNodeSpecListenerConnectionPoolHttpArgs{...} -type VirtualNodeSpecListenerConnectionPoolHttpInput interface { +// VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesArgs{...} +type VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesInput interface { pulumi.Input - ToVirtualNodeSpecListenerConnectionPoolHttpOutput() VirtualNodeSpecListenerConnectionPoolHttpOutput - ToVirtualNodeSpecListenerConnectionPoolHttpOutputWithContext(context.Context) VirtualNodeSpecListenerConnectionPoolHttpOutput + ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesOutput() VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesOutput + ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesOutputWithContext(context.Context) VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesOutput } -type VirtualNodeSpecListenerConnectionPoolHttpArgs struct { - // Maximum number of outbound TCP connections Envoy can establish concurrently with all hosts in upstream cluster. Minimum value of `1`. - MaxConnections pulumi.IntInput `pulumi:"maxConnections"` - // Number of overflowing requests after `maxConnections` Envoy will queue to upstream cluster. Minimum value of `1`. - MaxPendingRequests pulumi.IntPtrInput `pulumi:"maxPendingRequests"` +type VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesArgs struct { + // Criteria for determining a SAN's match. + Match VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesMatchInput `pulumi:"match"` } -func (VirtualNodeSpecListenerConnectionPoolHttpArgs) ElementType() reflect.Type { - return reflect.TypeOf((*VirtualNodeSpecListenerConnectionPoolHttp)(nil)).Elem() +func (VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesArgs) ElementType() reflect.Type { + return reflect.TypeOf((*VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNames)(nil)).Elem() } -func (i VirtualNodeSpecListenerConnectionPoolHttpArgs) ToVirtualNodeSpecListenerConnectionPoolHttpOutput() VirtualNodeSpecListenerConnectionPoolHttpOutput { - return i.ToVirtualNodeSpecListenerConnectionPoolHttpOutputWithContext(context.Background()) +func (i VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesArgs) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesOutput() VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesOutput { + return i.ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesOutputWithContext(context.Background()) } -func (i VirtualNodeSpecListenerConnectionPoolHttpArgs) ToVirtualNodeSpecListenerConnectionPoolHttpOutputWithContext(ctx context.Context) VirtualNodeSpecListenerConnectionPoolHttpOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecListenerConnectionPoolHttpOutput) +func (i VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesArgs) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesOutputWithContext(ctx context.Context) VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesOutput) } -func (i VirtualNodeSpecListenerConnectionPoolHttpArgs) ToVirtualNodeSpecListenerConnectionPoolHttpPtrOutput() VirtualNodeSpecListenerConnectionPoolHttpPtrOutput { - return i.ToVirtualNodeSpecListenerConnectionPoolHttpPtrOutputWithContext(context.Background()) +func (i VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesArgs) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesPtrOutput() VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesPtrOutput { + return i.ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesPtrOutputWithContext(context.Background()) } -func (i VirtualNodeSpecListenerConnectionPoolHttpArgs) ToVirtualNodeSpecListenerConnectionPoolHttpPtrOutputWithContext(ctx context.Context) VirtualNodeSpecListenerConnectionPoolHttpPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecListenerConnectionPoolHttpOutput).ToVirtualNodeSpecListenerConnectionPoolHttpPtrOutputWithContext(ctx) +func (i VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesArgs) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesPtrOutputWithContext(ctx context.Context) VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesOutput).ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesPtrOutputWithContext(ctx) } -// VirtualNodeSpecListenerConnectionPoolHttpPtrInput is an input type that accepts VirtualNodeSpecListenerConnectionPoolHttpArgs, VirtualNodeSpecListenerConnectionPoolHttpPtr and VirtualNodeSpecListenerConnectionPoolHttpPtrOutput values. -// You can construct a concrete instance of `VirtualNodeSpecListenerConnectionPoolHttpPtrInput` via: +// VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesPtrInput is an input type that accepts VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesArgs, VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesPtr and VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesPtrOutput values. +// You can construct a concrete instance of `VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesPtrInput` via: // -// VirtualNodeSpecListenerConnectionPoolHttpArgs{...} +// VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesArgs{...} // // or: // // nil -type VirtualNodeSpecListenerConnectionPoolHttpPtrInput interface { +type VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesPtrInput interface { pulumi.Input - ToVirtualNodeSpecListenerConnectionPoolHttpPtrOutput() VirtualNodeSpecListenerConnectionPoolHttpPtrOutput - ToVirtualNodeSpecListenerConnectionPoolHttpPtrOutputWithContext(context.Context) VirtualNodeSpecListenerConnectionPoolHttpPtrOutput + ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesPtrOutput() VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesPtrOutput + ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesPtrOutputWithContext(context.Context) VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesPtrOutput } -type virtualNodeSpecListenerConnectionPoolHttpPtrType VirtualNodeSpecListenerConnectionPoolHttpArgs +type virtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesPtrType VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesArgs -func VirtualNodeSpecListenerConnectionPoolHttpPtr(v *VirtualNodeSpecListenerConnectionPoolHttpArgs) VirtualNodeSpecListenerConnectionPoolHttpPtrInput { - return (*virtualNodeSpecListenerConnectionPoolHttpPtrType)(v) +func VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesPtr(v *VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesArgs) VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesPtrInput { + return (*virtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesPtrType)(v) } -func (*virtualNodeSpecListenerConnectionPoolHttpPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**VirtualNodeSpecListenerConnectionPoolHttp)(nil)).Elem() +func (*virtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNames)(nil)).Elem() } -func (i *virtualNodeSpecListenerConnectionPoolHttpPtrType) ToVirtualNodeSpecListenerConnectionPoolHttpPtrOutput() VirtualNodeSpecListenerConnectionPoolHttpPtrOutput { - return i.ToVirtualNodeSpecListenerConnectionPoolHttpPtrOutputWithContext(context.Background()) +func (i *virtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesPtrType) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesPtrOutput() VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesPtrOutput { + return i.ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesPtrOutputWithContext(context.Background()) } -func (i *virtualNodeSpecListenerConnectionPoolHttpPtrType) ToVirtualNodeSpecListenerConnectionPoolHttpPtrOutputWithContext(ctx context.Context) VirtualNodeSpecListenerConnectionPoolHttpPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecListenerConnectionPoolHttpPtrOutput) +func (i *virtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesPtrType) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesPtrOutputWithContext(ctx context.Context) VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesPtrOutput) } -type VirtualNodeSpecListenerConnectionPoolHttpOutput struct{ *pulumi.OutputState } +type VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesOutput struct{ *pulumi.OutputState } -func (VirtualNodeSpecListenerConnectionPoolHttpOutput) ElementType() reflect.Type { - return reflect.TypeOf((*VirtualNodeSpecListenerConnectionPoolHttp)(nil)).Elem() +func (VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesOutput) ElementType() reflect.Type { + return reflect.TypeOf((*VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNames)(nil)).Elem() } -func (o VirtualNodeSpecListenerConnectionPoolHttpOutput) ToVirtualNodeSpecListenerConnectionPoolHttpOutput() VirtualNodeSpecListenerConnectionPoolHttpOutput { +func (o VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesOutput) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesOutput() VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesOutput { return o } -func (o VirtualNodeSpecListenerConnectionPoolHttpOutput) ToVirtualNodeSpecListenerConnectionPoolHttpOutputWithContext(ctx context.Context) VirtualNodeSpecListenerConnectionPoolHttpOutput { +func (o VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesOutput) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesOutputWithContext(ctx context.Context) VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesOutput { return o } -func (o VirtualNodeSpecListenerConnectionPoolHttpOutput) ToVirtualNodeSpecListenerConnectionPoolHttpPtrOutput() VirtualNodeSpecListenerConnectionPoolHttpPtrOutput { - return o.ToVirtualNodeSpecListenerConnectionPoolHttpPtrOutputWithContext(context.Background()) +func (o VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesOutput) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesPtrOutput() VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesPtrOutput { + return o.ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesPtrOutputWithContext(context.Background()) } -func (o VirtualNodeSpecListenerConnectionPoolHttpOutput) ToVirtualNodeSpecListenerConnectionPoolHttpPtrOutputWithContext(ctx context.Context) VirtualNodeSpecListenerConnectionPoolHttpPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v VirtualNodeSpecListenerConnectionPoolHttp) *VirtualNodeSpecListenerConnectionPoolHttp { +func (o VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesOutput) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesPtrOutputWithContext(ctx context.Context) VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNames) *VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNames { return &v - }).(VirtualNodeSpecListenerConnectionPoolHttpPtrOutput) -} - -// Maximum number of outbound TCP connections Envoy can establish concurrently with all hosts in upstream cluster. Minimum value of `1`. -func (o VirtualNodeSpecListenerConnectionPoolHttpOutput) MaxConnections() pulumi.IntOutput { - return o.ApplyT(func(v VirtualNodeSpecListenerConnectionPoolHttp) int { return v.MaxConnections }).(pulumi.IntOutput) + }).(VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesPtrOutput) } -// Number of overflowing requests after `maxConnections` Envoy will queue to upstream cluster. Minimum value of `1`. -func (o VirtualNodeSpecListenerConnectionPoolHttpOutput) MaxPendingRequests() pulumi.IntPtrOutput { - return o.ApplyT(func(v VirtualNodeSpecListenerConnectionPoolHttp) *int { return v.MaxPendingRequests }).(pulumi.IntPtrOutput) +// Criteria for determining a SAN's match. +func (o VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesOutput) Match() VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesMatchOutput { + return o.ApplyT(func(v VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNames) VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesMatch { + return v.Match + }).(VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesMatchOutput) } -type VirtualNodeSpecListenerConnectionPoolHttpPtrOutput struct{ *pulumi.OutputState } +type VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesPtrOutput struct{ *pulumi.OutputState } -func (VirtualNodeSpecListenerConnectionPoolHttpPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**VirtualNodeSpecListenerConnectionPoolHttp)(nil)).Elem() +func (VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNames)(nil)).Elem() } -func (o VirtualNodeSpecListenerConnectionPoolHttpPtrOutput) ToVirtualNodeSpecListenerConnectionPoolHttpPtrOutput() VirtualNodeSpecListenerConnectionPoolHttpPtrOutput { +func (o VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesPtrOutput) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesPtrOutput() VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesPtrOutput { return o } -func (o VirtualNodeSpecListenerConnectionPoolHttpPtrOutput) ToVirtualNodeSpecListenerConnectionPoolHttpPtrOutputWithContext(ctx context.Context) VirtualNodeSpecListenerConnectionPoolHttpPtrOutput { +func (o VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesPtrOutput) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesPtrOutputWithContext(ctx context.Context) VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesPtrOutput { return o } -func (o VirtualNodeSpecListenerConnectionPoolHttpPtrOutput) Elem() VirtualNodeSpecListenerConnectionPoolHttpOutput { - return o.ApplyT(func(v *VirtualNodeSpecListenerConnectionPoolHttp) VirtualNodeSpecListenerConnectionPoolHttp { +func (o VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesPtrOutput) Elem() VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesOutput { + return o.ApplyT(func(v *VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNames) VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNames { if v != nil { return *v } - var ret VirtualNodeSpecListenerConnectionPoolHttp + var ret VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNames return ret - }).(VirtualNodeSpecListenerConnectionPoolHttpOutput) -} - -// Maximum number of outbound TCP connections Envoy can establish concurrently with all hosts in upstream cluster. Minimum value of `1`. -func (o VirtualNodeSpecListenerConnectionPoolHttpPtrOutput) MaxConnections() pulumi.IntPtrOutput { - return o.ApplyT(func(v *VirtualNodeSpecListenerConnectionPoolHttp) *int { - if v == nil { - return nil - } - return &v.MaxConnections - }).(pulumi.IntPtrOutput) + }).(VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesOutput) } -// Number of overflowing requests after `maxConnections` Envoy will queue to upstream cluster. Minimum value of `1`. -func (o VirtualNodeSpecListenerConnectionPoolHttpPtrOutput) MaxPendingRequests() pulumi.IntPtrOutput { - return o.ApplyT(func(v *VirtualNodeSpecListenerConnectionPoolHttp) *int { +// Criteria for determining a SAN's match. +func (o VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesPtrOutput) Match() VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesMatchPtrOutput { + return o.ApplyT(func(v *VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNames) *VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesMatch { if v == nil { return nil } - return v.MaxPendingRequests - }).(pulumi.IntPtrOutput) + return &v.Match + }).(VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesMatchPtrOutput) } -type VirtualNodeSpecListenerConnectionPoolTcp struct { - // Maximum number of outbound TCP connections Envoy can establish concurrently with all hosts in upstream cluster. Minimum value of `1`. - MaxConnections int `pulumi:"maxConnections"` +type VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesMatch struct { + // Values sent must match the specified values exactly. + Exacts []string `pulumi:"exacts"` } -// VirtualNodeSpecListenerConnectionPoolTcpInput is an input type that accepts VirtualNodeSpecListenerConnectionPoolTcpArgs and VirtualNodeSpecListenerConnectionPoolTcpOutput values. -// You can construct a concrete instance of `VirtualNodeSpecListenerConnectionPoolTcpInput` via: +// VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesMatchInput is an input type that accepts VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesMatchArgs and VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesMatchOutput values. +// You can construct a concrete instance of `VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesMatchInput` via: // -// VirtualNodeSpecListenerConnectionPoolTcpArgs{...} -type VirtualNodeSpecListenerConnectionPoolTcpInput interface { +// VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesMatchArgs{...} +type VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesMatchInput interface { pulumi.Input - ToVirtualNodeSpecListenerConnectionPoolTcpOutput() VirtualNodeSpecListenerConnectionPoolTcpOutput - ToVirtualNodeSpecListenerConnectionPoolTcpOutputWithContext(context.Context) VirtualNodeSpecListenerConnectionPoolTcpOutput + ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesMatchOutput() VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesMatchOutput + ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesMatchOutputWithContext(context.Context) VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesMatchOutput } -type VirtualNodeSpecListenerConnectionPoolTcpArgs struct { - // Maximum number of outbound TCP connections Envoy can establish concurrently with all hosts in upstream cluster. Minimum value of `1`. - MaxConnections pulumi.IntInput `pulumi:"maxConnections"` +type VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesMatchArgs struct { + // Values sent must match the specified values exactly. + Exacts pulumi.StringArrayInput `pulumi:"exacts"` } -func (VirtualNodeSpecListenerConnectionPoolTcpArgs) ElementType() reflect.Type { - return reflect.TypeOf((*VirtualNodeSpecListenerConnectionPoolTcp)(nil)).Elem() +func (VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesMatchArgs) ElementType() reflect.Type { + return reflect.TypeOf((*VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesMatch)(nil)).Elem() } -func (i VirtualNodeSpecListenerConnectionPoolTcpArgs) ToVirtualNodeSpecListenerConnectionPoolTcpOutput() VirtualNodeSpecListenerConnectionPoolTcpOutput { - return i.ToVirtualNodeSpecListenerConnectionPoolTcpOutputWithContext(context.Background()) +func (i VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesMatchArgs) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesMatchOutput() VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesMatchOutput { + return i.ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesMatchOutputWithContext(context.Background()) } -func (i VirtualNodeSpecListenerConnectionPoolTcpArgs) ToVirtualNodeSpecListenerConnectionPoolTcpOutputWithContext(ctx context.Context) VirtualNodeSpecListenerConnectionPoolTcpOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecListenerConnectionPoolTcpOutput) +func (i VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesMatchArgs) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesMatchOutputWithContext(ctx context.Context) VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesMatchOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesMatchOutput) } -func (i VirtualNodeSpecListenerConnectionPoolTcpArgs) ToVirtualNodeSpecListenerConnectionPoolTcpPtrOutput() VirtualNodeSpecListenerConnectionPoolTcpPtrOutput { - return i.ToVirtualNodeSpecListenerConnectionPoolTcpPtrOutputWithContext(context.Background()) +func (i VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesMatchArgs) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesMatchPtrOutput() VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesMatchPtrOutput { + return i.ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesMatchPtrOutputWithContext(context.Background()) } -func (i VirtualNodeSpecListenerConnectionPoolTcpArgs) ToVirtualNodeSpecListenerConnectionPoolTcpPtrOutputWithContext(ctx context.Context) VirtualNodeSpecListenerConnectionPoolTcpPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecListenerConnectionPoolTcpOutput).ToVirtualNodeSpecListenerConnectionPoolTcpPtrOutputWithContext(ctx) +func (i VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesMatchArgs) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesMatchPtrOutputWithContext(ctx context.Context) VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesMatchPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesMatchOutput).ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesMatchPtrOutputWithContext(ctx) } -// VirtualNodeSpecListenerConnectionPoolTcpPtrInput is an input type that accepts VirtualNodeSpecListenerConnectionPoolTcpArgs, VirtualNodeSpecListenerConnectionPoolTcpPtr and VirtualNodeSpecListenerConnectionPoolTcpPtrOutput values. -// You can construct a concrete instance of `VirtualNodeSpecListenerConnectionPoolTcpPtrInput` via: +// VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesMatchPtrInput is an input type that accepts VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesMatchArgs, VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesMatchPtr and VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesMatchPtrOutput values. +// You can construct a concrete instance of `VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesMatchPtrInput` via: // -// VirtualNodeSpecListenerConnectionPoolTcpArgs{...} +// VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesMatchArgs{...} // // or: // // nil -type VirtualNodeSpecListenerConnectionPoolTcpPtrInput interface { +type VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesMatchPtrInput interface { pulumi.Input - ToVirtualNodeSpecListenerConnectionPoolTcpPtrOutput() VirtualNodeSpecListenerConnectionPoolTcpPtrOutput - ToVirtualNodeSpecListenerConnectionPoolTcpPtrOutputWithContext(context.Context) VirtualNodeSpecListenerConnectionPoolTcpPtrOutput + ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesMatchPtrOutput() VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesMatchPtrOutput + ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesMatchPtrOutputWithContext(context.Context) VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesMatchPtrOutput } -type virtualNodeSpecListenerConnectionPoolTcpPtrType VirtualNodeSpecListenerConnectionPoolTcpArgs +type virtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesMatchPtrType VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesMatchArgs -func VirtualNodeSpecListenerConnectionPoolTcpPtr(v *VirtualNodeSpecListenerConnectionPoolTcpArgs) VirtualNodeSpecListenerConnectionPoolTcpPtrInput { - return (*virtualNodeSpecListenerConnectionPoolTcpPtrType)(v) +func VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesMatchPtr(v *VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesMatchArgs) VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesMatchPtrInput { + return (*virtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesMatchPtrType)(v) } -func (*virtualNodeSpecListenerConnectionPoolTcpPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**VirtualNodeSpecListenerConnectionPoolTcp)(nil)).Elem() +func (*virtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesMatchPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesMatch)(nil)).Elem() } -func (i *virtualNodeSpecListenerConnectionPoolTcpPtrType) ToVirtualNodeSpecListenerConnectionPoolTcpPtrOutput() VirtualNodeSpecListenerConnectionPoolTcpPtrOutput { - return i.ToVirtualNodeSpecListenerConnectionPoolTcpPtrOutputWithContext(context.Background()) +func (i *virtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesMatchPtrType) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesMatchPtrOutput() VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesMatchPtrOutput { + return i.ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesMatchPtrOutputWithContext(context.Background()) } -func (i *virtualNodeSpecListenerConnectionPoolTcpPtrType) ToVirtualNodeSpecListenerConnectionPoolTcpPtrOutputWithContext(ctx context.Context) VirtualNodeSpecListenerConnectionPoolTcpPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecListenerConnectionPoolTcpPtrOutput) +func (i *virtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesMatchPtrType) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesMatchPtrOutputWithContext(ctx context.Context) VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesMatchPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesMatchPtrOutput) } -type VirtualNodeSpecListenerConnectionPoolTcpOutput struct{ *pulumi.OutputState } +type VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesMatchOutput struct{ *pulumi.OutputState } -func (VirtualNodeSpecListenerConnectionPoolTcpOutput) ElementType() reflect.Type { - return reflect.TypeOf((*VirtualNodeSpecListenerConnectionPoolTcp)(nil)).Elem() +func (VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesMatchOutput) ElementType() reflect.Type { + return reflect.TypeOf((*VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesMatch)(nil)).Elem() } -func (o VirtualNodeSpecListenerConnectionPoolTcpOutput) ToVirtualNodeSpecListenerConnectionPoolTcpOutput() VirtualNodeSpecListenerConnectionPoolTcpOutput { +func (o VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesMatchOutput) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesMatchOutput() VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesMatchOutput { return o } -func (o VirtualNodeSpecListenerConnectionPoolTcpOutput) ToVirtualNodeSpecListenerConnectionPoolTcpOutputWithContext(ctx context.Context) VirtualNodeSpecListenerConnectionPoolTcpOutput { +func (o VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesMatchOutput) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesMatchOutputWithContext(ctx context.Context) VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesMatchOutput { return o } -func (o VirtualNodeSpecListenerConnectionPoolTcpOutput) ToVirtualNodeSpecListenerConnectionPoolTcpPtrOutput() VirtualNodeSpecListenerConnectionPoolTcpPtrOutput { - return o.ToVirtualNodeSpecListenerConnectionPoolTcpPtrOutputWithContext(context.Background()) +func (o VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesMatchOutput) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesMatchPtrOutput() VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesMatchPtrOutput { + return o.ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesMatchPtrOutputWithContext(context.Background()) } -func (o VirtualNodeSpecListenerConnectionPoolTcpOutput) ToVirtualNodeSpecListenerConnectionPoolTcpPtrOutputWithContext(ctx context.Context) VirtualNodeSpecListenerConnectionPoolTcpPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v VirtualNodeSpecListenerConnectionPoolTcp) *VirtualNodeSpecListenerConnectionPoolTcp { +func (o VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesMatchOutput) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesMatchPtrOutputWithContext(ctx context.Context) VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesMatchPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesMatch) *VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesMatch { return &v - }).(VirtualNodeSpecListenerConnectionPoolTcpPtrOutput) + }).(VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesMatchPtrOutput) } -// Maximum number of outbound TCP connections Envoy can establish concurrently with all hosts in upstream cluster. Minimum value of `1`. -func (o VirtualNodeSpecListenerConnectionPoolTcpOutput) MaxConnections() pulumi.IntOutput { - return o.ApplyT(func(v VirtualNodeSpecListenerConnectionPoolTcp) int { return v.MaxConnections }).(pulumi.IntOutput) +// Values sent must match the specified values exactly. +func (o VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesMatchOutput) Exacts() pulumi.StringArrayOutput { + return o.ApplyT(func(v VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesMatch) []string { + return v.Exacts + }).(pulumi.StringArrayOutput) } -type VirtualNodeSpecListenerConnectionPoolTcpPtrOutput struct{ *pulumi.OutputState } +type VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesMatchPtrOutput struct{ *pulumi.OutputState } -func (VirtualNodeSpecListenerConnectionPoolTcpPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**VirtualNodeSpecListenerConnectionPoolTcp)(nil)).Elem() +func (VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesMatchPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesMatch)(nil)).Elem() } -func (o VirtualNodeSpecListenerConnectionPoolTcpPtrOutput) ToVirtualNodeSpecListenerConnectionPoolTcpPtrOutput() VirtualNodeSpecListenerConnectionPoolTcpPtrOutput { +func (o VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesMatchPtrOutput) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesMatchPtrOutput() VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesMatchPtrOutput { return o } -func (o VirtualNodeSpecListenerConnectionPoolTcpPtrOutput) ToVirtualNodeSpecListenerConnectionPoolTcpPtrOutputWithContext(ctx context.Context) VirtualNodeSpecListenerConnectionPoolTcpPtrOutput { +func (o VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesMatchPtrOutput) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesMatchPtrOutputWithContext(ctx context.Context) VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesMatchPtrOutput { return o } -func (o VirtualNodeSpecListenerConnectionPoolTcpPtrOutput) Elem() VirtualNodeSpecListenerConnectionPoolTcpOutput { - return o.ApplyT(func(v *VirtualNodeSpecListenerConnectionPoolTcp) VirtualNodeSpecListenerConnectionPoolTcp { +func (o VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesMatchPtrOutput) Elem() VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesMatchOutput { + return o.ApplyT(func(v *VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesMatch) VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesMatch { if v != nil { return *v } - var ret VirtualNodeSpecListenerConnectionPoolTcp + var ret VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesMatch return ret - }).(VirtualNodeSpecListenerConnectionPoolTcpOutput) + }).(VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesMatchOutput) } -// Maximum number of outbound TCP connections Envoy can establish concurrently with all hosts in upstream cluster. Minimum value of `1`. -func (o VirtualNodeSpecListenerConnectionPoolTcpPtrOutput) MaxConnections() pulumi.IntPtrOutput { - return o.ApplyT(func(v *VirtualNodeSpecListenerConnectionPoolTcp) *int { +// Values sent must match the specified values exactly. +func (o VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesMatchPtrOutput) Exacts() pulumi.StringArrayOutput { + return o.ApplyT(func(v *VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationSubjectAlternativeNamesMatch) []string { if v == nil { return nil } - return &v.MaxConnections - }).(pulumi.IntPtrOutput) + return v.Exacts + }).(pulumi.StringArrayOutput) } -type VirtualNodeSpecListenerHealthCheck struct { - // Number of consecutive successful health checks that must occur before declaring listener healthy. - HealthyThreshold int `pulumi:"healthyThreshold"` - // Time period in milliseconds between each health check execution. - IntervalMillis int `pulumi:"intervalMillis"` - // Destination path for the health check request. This is only required if the specified protocol is `http` or `http2`. - Path *string `pulumi:"path"` - // Destination port for the health check request. This port must match the port defined in the `portMapping` for the listener. - Port *int `pulumi:"port"` - // Protocol for the health check request. Valid values are `http`, `http2`, `tcp` and `grpc`. - Protocol string `pulumi:"protocol"` - // Amount of time to wait when receiving a response from the health check, in milliseconds. - TimeoutMillis int `pulumi:"timeoutMillis"` - // Number of consecutive failed health checks that must occur before declaring a virtual node unhealthy. - UnhealthyThreshold int `pulumi:"unhealthyThreshold"` +type VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrust struct { + // TLS validation context trust for an AWS Certificate Manager (ACM) certificate. + Acm *VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcm `pulumi:"acm"` + // TLS validation context trust for a local file certificate. + File *VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFile `pulumi:"file"` + // TLS validation context trust for a [Secret Discovery Service](https://www.envoyproxy.io/docs/envoy/latest/configuration/security/secret#secret-discovery-service-sds) certificate. + Sds *VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustSds `pulumi:"sds"` } -// VirtualNodeSpecListenerHealthCheckInput is an input type that accepts VirtualNodeSpecListenerHealthCheckArgs and VirtualNodeSpecListenerHealthCheckOutput values. -// You can construct a concrete instance of `VirtualNodeSpecListenerHealthCheckInput` via: +// VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustInput is an input type that accepts VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustArgs and VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustOutput values. +// You can construct a concrete instance of `VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustInput` via: // -// VirtualNodeSpecListenerHealthCheckArgs{...} -type VirtualNodeSpecListenerHealthCheckInput interface { +// VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustArgs{...} +type VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustInput interface { pulumi.Input - ToVirtualNodeSpecListenerHealthCheckOutput() VirtualNodeSpecListenerHealthCheckOutput - ToVirtualNodeSpecListenerHealthCheckOutputWithContext(context.Context) VirtualNodeSpecListenerHealthCheckOutput + ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustOutput() VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustOutput + ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustOutputWithContext(context.Context) VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustOutput } -type VirtualNodeSpecListenerHealthCheckArgs struct { - // Number of consecutive successful health checks that must occur before declaring listener healthy. - HealthyThreshold pulumi.IntInput `pulumi:"healthyThreshold"` - // Time period in milliseconds between each health check execution. - IntervalMillis pulumi.IntInput `pulumi:"intervalMillis"` - // Destination path for the health check request. This is only required if the specified protocol is `http` or `http2`. - Path pulumi.StringPtrInput `pulumi:"path"` - // Destination port for the health check request. This port must match the port defined in the `portMapping` for the listener. - Port pulumi.IntPtrInput `pulumi:"port"` - // Protocol for the health check request. Valid values are `http`, `http2`, `tcp` and `grpc`. - Protocol pulumi.StringInput `pulumi:"protocol"` - // Amount of time to wait when receiving a response from the health check, in milliseconds. - TimeoutMillis pulumi.IntInput `pulumi:"timeoutMillis"` - // Number of consecutive failed health checks that must occur before declaring a virtual node unhealthy. - UnhealthyThreshold pulumi.IntInput `pulumi:"unhealthyThreshold"` +type VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustArgs struct { + // TLS validation context trust for an AWS Certificate Manager (ACM) certificate. + Acm VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcmPtrInput `pulumi:"acm"` + // TLS validation context trust for a local file certificate. + File VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFilePtrInput `pulumi:"file"` + // TLS validation context trust for a [Secret Discovery Service](https://www.envoyproxy.io/docs/envoy/latest/configuration/security/secret#secret-discovery-service-sds) certificate. + Sds VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustSdsPtrInput `pulumi:"sds"` } -func (VirtualNodeSpecListenerHealthCheckArgs) ElementType() reflect.Type { - return reflect.TypeOf((*VirtualNodeSpecListenerHealthCheck)(nil)).Elem() +func (VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustArgs) ElementType() reflect.Type { + return reflect.TypeOf((*VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrust)(nil)).Elem() } -func (i VirtualNodeSpecListenerHealthCheckArgs) ToVirtualNodeSpecListenerHealthCheckOutput() VirtualNodeSpecListenerHealthCheckOutput { - return i.ToVirtualNodeSpecListenerHealthCheckOutputWithContext(context.Background()) +func (i VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustArgs) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustOutput() VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustOutput { + return i.ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustOutputWithContext(context.Background()) } -func (i VirtualNodeSpecListenerHealthCheckArgs) ToVirtualNodeSpecListenerHealthCheckOutputWithContext(ctx context.Context) VirtualNodeSpecListenerHealthCheckOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecListenerHealthCheckOutput) +func (i VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustArgs) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustOutputWithContext(ctx context.Context) VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustOutput) } -func (i VirtualNodeSpecListenerHealthCheckArgs) ToVirtualNodeSpecListenerHealthCheckPtrOutput() VirtualNodeSpecListenerHealthCheckPtrOutput { - return i.ToVirtualNodeSpecListenerHealthCheckPtrOutputWithContext(context.Background()) +func (i VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustArgs) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustPtrOutput() VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustPtrOutput { + return i.ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustPtrOutputWithContext(context.Background()) } -func (i VirtualNodeSpecListenerHealthCheckArgs) ToVirtualNodeSpecListenerHealthCheckPtrOutputWithContext(ctx context.Context) VirtualNodeSpecListenerHealthCheckPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecListenerHealthCheckOutput).ToVirtualNodeSpecListenerHealthCheckPtrOutputWithContext(ctx) +func (i VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustArgs) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustPtrOutputWithContext(ctx context.Context) VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustOutput).ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustPtrOutputWithContext(ctx) } -// VirtualNodeSpecListenerHealthCheckPtrInput is an input type that accepts VirtualNodeSpecListenerHealthCheckArgs, VirtualNodeSpecListenerHealthCheckPtr and VirtualNodeSpecListenerHealthCheckPtrOutput values. -// You can construct a concrete instance of `VirtualNodeSpecListenerHealthCheckPtrInput` via: +// VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustPtrInput is an input type that accepts VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustArgs, VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustPtr and VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustPtrOutput values. +// You can construct a concrete instance of `VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustPtrInput` via: // -// VirtualNodeSpecListenerHealthCheckArgs{...} +// VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustArgs{...} // // or: // // nil -type VirtualNodeSpecListenerHealthCheckPtrInput interface { +type VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustPtrInput interface { pulumi.Input - ToVirtualNodeSpecListenerHealthCheckPtrOutput() VirtualNodeSpecListenerHealthCheckPtrOutput - ToVirtualNodeSpecListenerHealthCheckPtrOutputWithContext(context.Context) VirtualNodeSpecListenerHealthCheckPtrOutput + ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustPtrOutput() VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustPtrOutput + ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustPtrOutputWithContext(context.Context) VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustPtrOutput } -type virtualNodeSpecListenerHealthCheckPtrType VirtualNodeSpecListenerHealthCheckArgs +type virtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustPtrType VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustArgs -func VirtualNodeSpecListenerHealthCheckPtr(v *VirtualNodeSpecListenerHealthCheckArgs) VirtualNodeSpecListenerHealthCheckPtrInput { - return (*virtualNodeSpecListenerHealthCheckPtrType)(v) +func VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustPtr(v *VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustArgs) VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustPtrInput { + return (*virtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustPtrType)(v) } -func (*virtualNodeSpecListenerHealthCheckPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**VirtualNodeSpecListenerHealthCheck)(nil)).Elem() +func (*virtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrust)(nil)).Elem() } -func (i *virtualNodeSpecListenerHealthCheckPtrType) ToVirtualNodeSpecListenerHealthCheckPtrOutput() VirtualNodeSpecListenerHealthCheckPtrOutput { - return i.ToVirtualNodeSpecListenerHealthCheckPtrOutputWithContext(context.Background()) +func (i *virtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustPtrType) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustPtrOutput() VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustPtrOutput { + return i.ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustPtrOutputWithContext(context.Background()) } -func (i *virtualNodeSpecListenerHealthCheckPtrType) ToVirtualNodeSpecListenerHealthCheckPtrOutputWithContext(ctx context.Context) VirtualNodeSpecListenerHealthCheckPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecListenerHealthCheckPtrOutput) +func (i *virtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustPtrType) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustPtrOutputWithContext(ctx context.Context) VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustPtrOutput) } -type VirtualNodeSpecListenerHealthCheckOutput struct{ *pulumi.OutputState } +type VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustOutput struct{ *pulumi.OutputState } -func (VirtualNodeSpecListenerHealthCheckOutput) ElementType() reflect.Type { - return reflect.TypeOf((*VirtualNodeSpecListenerHealthCheck)(nil)).Elem() +func (VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustOutput) ElementType() reflect.Type { + return reflect.TypeOf((*VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrust)(nil)).Elem() } -func (o VirtualNodeSpecListenerHealthCheckOutput) ToVirtualNodeSpecListenerHealthCheckOutput() VirtualNodeSpecListenerHealthCheckOutput { +func (o VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustOutput) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustOutput() VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustOutput { return o } -func (o VirtualNodeSpecListenerHealthCheckOutput) ToVirtualNodeSpecListenerHealthCheckOutputWithContext(ctx context.Context) VirtualNodeSpecListenerHealthCheckOutput { +func (o VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustOutput) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustOutputWithContext(ctx context.Context) VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustOutput { return o } -func (o VirtualNodeSpecListenerHealthCheckOutput) ToVirtualNodeSpecListenerHealthCheckPtrOutput() VirtualNodeSpecListenerHealthCheckPtrOutput { - return o.ToVirtualNodeSpecListenerHealthCheckPtrOutputWithContext(context.Background()) +func (o VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustOutput) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustPtrOutput() VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustPtrOutput { + return o.ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustPtrOutputWithContext(context.Background()) } -func (o VirtualNodeSpecListenerHealthCheckOutput) ToVirtualNodeSpecListenerHealthCheckPtrOutputWithContext(ctx context.Context) VirtualNodeSpecListenerHealthCheckPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v VirtualNodeSpecListenerHealthCheck) *VirtualNodeSpecListenerHealthCheck { +func (o VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustOutput) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustPtrOutputWithContext(ctx context.Context) VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrust) *VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrust { return &v - }).(VirtualNodeSpecListenerHealthCheckPtrOutput) -} - -// Number of consecutive successful health checks that must occur before declaring listener healthy. -func (o VirtualNodeSpecListenerHealthCheckOutput) HealthyThreshold() pulumi.IntOutput { - return o.ApplyT(func(v VirtualNodeSpecListenerHealthCheck) int { return v.HealthyThreshold }).(pulumi.IntOutput) -} - -// Time period in milliseconds between each health check execution. -func (o VirtualNodeSpecListenerHealthCheckOutput) IntervalMillis() pulumi.IntOutput { - return o.ApplyT(func(v VirtualNodeSpecListenerHealthCheck) int { return v.IntervalMillis }).(pulumi.IntOutput) -} - -// Destination path for the health check request. This is only required if the specified protocol is `http` or `http2`. -func (o VirtualNodeSpecListenerHealthCheckOutput) Path() pulumi.StringPtrOutput { - return o.ApplyT(func(v VirtualNodeSpecListenerHealthCheck) *string { return v.Path }).(pulumi.StringPtrOutput) -} - -// Destination port for the health check request. This port must match the port defined in the `portMapping` for the listener. -func (o VirtualNodeSpecListenerHealthCheckOutput) Port() pulumi.IntPtrOutput { - return o.ApplyT(func(v VirtualNodeSpecListenerHealthCheck) *int { return v.Port }).(pulumi.IntPtrOutput) + }).(VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustPtrOutput) } -// Protocol for the health check request. Valid values are `http`, `http2`, `tcp` and `grpc`. -func (o VirtualNodeSpecListenerHealthCheckOutput) Protocol() pulumi.StringOutput { - return o.ApplyT(func(v VirtualNodeSpecListenerHealthCheck) string { return v.Protocol }).(pulumi.StringOutput) +// TLS validation context trust for an AWS Certificate Manager (ACM) certificate. +func (o VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustOutput) Acm() VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcmPtrOutput { + return o.ApplyT(func(v VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrust) *VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcm { + return v.Acm + }).(VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcmPtrOutput) } -// Amount of time to wait when receiving a response from the health check, in milliseconds. -func (o VirtualNodeSpecListenerHealthCheckOutput) TimeoutMillis() pulumi.IntOutput { - return o.ApplyT(func(v VirtualNodeSpecListenerHealthCheck) int { return v.TimeoutMillis }).(pulumi.IntOutput) +// TLS validation context trust for a local file certificate. +func (o VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustOutput) File() VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFilePtrOutput { + return o.ApplyT(func(v VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrust) *VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFile { + return v.File + }).(VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFilePtrOutput) } -// Number of consecutive failed health checks that must occur before declaring a virtual node unhealthy. -func (o VirtualNodeSpecListenerHealthCheckOutput) UnhealthyThreshold() pulumi.IntOutput { - return o.ApplyT(func(v VirtualNodeSpecListenerHealthCheck) int { return v.UnhealthyThreshold }).(pulumi.IntOutput) +// TLS validation context trust for a [Secret Discovery Service](https://www.envoyproxy.io/docs/envoy/latest/configuration/security/secret#secret-discovery-service-sds) certificate. +func (o VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustOutput) Sds() VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustSdsPtrOutput { + return o.ApplyT(func(v VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrust) *VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustSds { + return v.Sds + }).(VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustSdsPtrOutput) } -type VirtualNodeSpecListenerHealthCheckPtrOutput struct{ *pulumi.OutputState } +type VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustPtrOutput struct{ *pulumi.OutputState } -func (VirtualNodeSpecListenerHealthCheckPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**VirtualNodeSpecListenerHealthCheck)(nil)).Elem() +func (VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrust)(nil)).Elem() } -func (o VirtualNodeSpecListenerHealthCheckPtrOutput) ToVirtualNodeSpecListenerHealthCheckPtrOutput() VirtualNodeSpecListenerHealthCheckPtrOutput { +func (o VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustPtrOutput) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustPtrOutput() VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustPtrOutput { return o } -func (o VirtualNodeSpecListenerHealthCheckPtrOutput) ToVirtualNodeSpecListenerHealthCheckPtrOutputWithContext(ctx context.Context) VirtualNodeSpecListenerHealthCheckPtrOutput { +func (o VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustPtrOutput) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustPtrOutputWithContext(ctx context.Context) VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustPtrOutput { return o } -func (o VirtualNodeSpecListenerHealthCheckPtrOutput) Elem() VirtualNodeSpecListenerHealthCheckOutput { - return o.ApplyT(func(v *VirtualNodeSpecListenerHealthCheck) VirtualNodeSpecListenerHealthCheck { +func (o VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustPtrOutput) Elem() VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustOutput { + return o.ApplyT(func(v *VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrust) VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrust { if v != nil { return *v } - var ret VirtualNodeSpecListenerHealthCheck + var ret VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrust return ret - }).(VirtualNodeSpecListenerHealthCheckOutput) + }).(VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustOutput) } -// Number of consecutive successful health checks that must occur before declaring listener healthy. -func (o VirtualNodeSpecListenerHealthCheckPtrOutput) HealthyThreshold() pulumi.IntPtrOutput { - return o.ApplyT(func(v *VirtualNodeSpecListenerHealthCheck) *int { +// TLS validation context trust for an AWS Certificate Manager (ACM) certificate. +func (o VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustPtrOutput) Acm() VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcmPtrOutput { + return o.ApplyT(func(v *VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrust) *VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcm { if v == nil { return nil } - return &v.HealthyThreshold - }).(pulumi.IntPtrOutput) + return v.Acm + }).(VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcmPtrOutput) } -// Time period in milliseconds between each health check execution. -func (o VirtualNodeSpecListenerHealthCheckPtrOutput) IntervalMillis() pulumi.IntPtrOutput { - return o.ApplyT(func(v *VirtualNodeSpecListenerHealthCheck) *int { +// TLS validation context trust for a local file certificate. +func (o VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustPtrOutput) File() VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFilePtrOutput { + return o.ApplyT(func(v *VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrust) *VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFile { if v == nil { return nil } - return &v.IntervalMillis - }).(pulumi.IntPtrOutput) + return v.File + }).(VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFilePtrOutput) } -// Destination path for the health check request. This is only required if the specified protocol is `http` or `http2`. -func (o VirtualNodeSpecListenerHealthCheckPtrOutput) Path() pulumi.StringPtrOutput { - return o.ApplyT(func(v *VirtualNodeSpecListenerHealthCheck) *string { +// TLS validation context trust for a [Secret Discovery Service](https://www.envoyproxy.io/docs/envoy/latest/configuration/security/secret#secret-discovery-service-sds) certificate. +func (o VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustPtrOutput) Sds() VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustSdsPtrOutput { + return o.ApplyT(func(v *VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrust) *VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustSds { if v == nil { return nil } - return v.Path - }).(pulumi.StringPtrOutput) + return v.Sds + }).(VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustSdsPtrOutput) } -// Destination port for the health check request. This port must match the port defined in the `portMapping` for the listener. -func (o VirtualNodeSpecListenerHealthCheckPtrOutput) Port() pulumi.IntPtrOutput { - return o.ApplyT(func(v *VirtualNodeSpecListenerHealthCheck) *int { - if v == nil { - return nil - } - return v.Port - }).(pulumi.IntPtrOutput) +type VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcm struct { + // One or more ACM ARNs. + CertificateAuthorityArns []string `pulumi:"certificateAuthorityArns"` } -// Protocol for the health check request. Valid values are `http`, `http2`, `tcp` and `grpc`. -func (o VirtualNodeSpecListenerHealthCheckPtrOutput) Protocol() pulumi.StringPtrOutput { - return o.ApplyT(func(v *VirtualNodeSpecListenerHealthCheck) *string { - if v == nil { - return nil - } - return &v.Protocol - }).(pulumi.StringPtrOutput) +// VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcmInput is an input type that accepts VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcmArgs and VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcmOutput values. +// You can construct a concrete instance of `VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcmInput` via: +// +// VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcmArgs{...} +type VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcmInput interface { + pulumi.Input + + ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcmOutput() VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcmOutput + ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcmOutputWithContext(context.Context) VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcmOutput } -// Amount of time to wait when receiving a response from the health check, in milliseconds. -func (o VirtualNodeSpecListenerHealthCheckPtrOutput) TimeoutMillis() pulumi.IntPtrOutput { - return o.ApplyT(func(v *VirtualNodeSpecListenerHealthCheck) *int { - if v == nil { - return nil - } - return &v.TimeoutMillis - }).(pulumi.IntPtrOutput) +type VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcmArgs struct { + // One or more ACM ARNs. + CertificateAuthorityArns pulumi.StringArrayInput `pulumi:"certificateAuthorityArns"` } -// Number of consecutive failed health checks that must occur before declaring a virtual node unhealthy. -func (o VirtualNodeSpecListenerHealthCheckPtrOutput) UnhealthyThreshold() pulumi.IntPtrOutput { - return o.ApplyT(func(v *VirtualNodeSpecListenerHealthCheck) *int { - if v == nil { - return nil - } - return &v.UnhealthyThreshold - }).(pulumi.IntPtrOutput) +func (VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcmArgs) ElementType() reflect.Type { + return reflect.TypeOf((*VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcm)(nil)).Elem() } -type VirtualNodeSpecListenerOutlierDetection struct { - // Base amount of time for which a host is ejected. - BaseEjectionDuration VirtualNodeSpecListenerOutlierDetectionBaseEjectionDuration `pulumi:"baseEjectionDuration"` - // Time interval between ejection sweep analysis. - Interval VirtualNodeSpecListenerOutlierDetectionInterval `pulumi:"interval"` - // Maximum percentage of hosts in load balancing pool for upstream service that can be ejected. Will eject at least one host regardless of the value. - // Minimum value of `0`. Maximum value of `100`. - MaxEjectionPercent int `pulumi:"maxEjectionPercent"` - // Number of consecutive `5xx` errors required for ejection. Minimum value of `1`. - MaxServerErrors int `pulumi:"maxServerErrors"` +func (i VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcmArgs) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcmOutput() VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcmOutput { + return i.ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcmOutputWithContext(context.Background()) } -// VirtualNodeSpecListenerOutlierDetectionInput is an input type that accepts VirtualNodeSpecListenerOutlierDetectionArgs and VirtualNodeSpecListenerOutlierDetectionOutput values. -// You can construct a concrete instance of `VirtualNodeSpecListenerOutlierDetectionInput` via: +func (i VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcmArgs) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcmOutputWithContext(ctx context.Context) VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcmOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcmOutput) +} + +func (i VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcmArgs) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcmPtrOutput() VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcmPtrOutput { + return i.ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcmPtrOutputWithContext(context.Background()) +} + +func (i VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcmArgs) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcmPtrOutputWithContext(ctx context.Context) VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcmPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcmOutput).ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcmPtrOutputWithContext(ctx) +} + +// VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcmPtrInput is an input type that accepts VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcmArgs, VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcmPtr and VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcmPtrOutput values. +// You can construct a concrete instance of `VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcmPtrInput` via: // -// VirtualNodeSpecListenerOutlierDetectionArgs{...} -type VirtualNodeSpecListenerOutlierDetectionInput interface { +// VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcmArgs{...} +// +// or: +// +// nil +type VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcmPtrInput interface { pulumi.Input - ToVirtualNodeSpecListenerOutlierDetectionOutput() VirtualNodeSpecListenerOutlierDetectionOutput - ToVirtualNodeSpecListenerOutlierDetectionOutputWithContext(context.Context) VirtualNodeSpecListenerOutlierDetectionOutput + ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcmPtrOutput() VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcmPtrOutput + ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcmPtrOutputWithContext(context.Context) VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcmPtrOutput } -type VirtualNodeSpecListenerOutlierDetectionArgs struct { - // Base amount of time for which a host is ejected. - BaseEjectionDuration VirtualNodeSpecListenerOutlierDetectionBaseEjectionDurationInput `pulumi:"baseEjectionDuration"` - // Time interval between ejection sweep analysis. - Interval VirtualNodeSpecListenerOutlierDetectionIntervalInput `pulumi:"interval"` - // Maximum percentage of hosts in load balancing pool for upstream service that can be ejected. Will eject at least one host regardless of the value. - // Minimum value of `0`. Maximum value of `100`. - MaxEjectionPercent pulumi.IntInput `pulumi:"maxEjectionPercent"` - // Number of consecutive `5xx` errors required for ejection. Minimum value of `1`. - MaxServerErrors pulumi.IntInput `pulumi:"maxServerErrors"` +type virtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcmPtrType VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcmArgs + +func VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcmPtr(v *VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcmArgs) VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcmPtrInput { + return (*virtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcmPtrType)(v) } -func (VirtualNodeSpecListenerOutlierDetectionArgs) ElementType() reflect.Type { - return reflect.TypeOf((*VirtualNodeSpecListenerOutlierDetection)(nil)).Elem() +func (*virtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcmPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcm)(nil)).Elem() } -func (i VirtualNodeSpecListenerOutlierDetectionArgs) ToVirtualNodeSpecListenerOutlierDetectionOutput() VirtualNodeSpecListenerOutlierDetectionOutput { - return i.ToVirtualNodeSpecListenerOutlierDetectionOutputWithContext(context.Background()) +func (i *virtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcmPtrType) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcmPtrOutput() VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcmPtrOutput { + return i.ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcmPtrOutputWithContext(context.Background()) } -func (i VirtualNodeSpecListenerOutlierDetectionArgs) ToVirtualNodeSpecListenerOutlierDetectionOutputWithContext(ctx context.Context) VirtualNodeSpecListenerOutlierDetectionOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecListenerOutlierDetectionOutput) +func (i *virtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcmPtrType) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcmPtrOutputWithContext(ctx context.Context) VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcmPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcmPtrOutput) } -func (i VirtualNodeSpecListenerOutlierDetectionArgs) ToVirtualNodeSpecListenerOutlierDetectionPtrOutput() VirtualNodeSpecListenerOutlierDetectionPtrOutput { - return i.ToVirtualNodeSpecListenerOutlierDetectionPtrOutputWithContext(context.Background()) +type VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcmOutput struct{ *pulumi.OutputState } + +func (VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcmOutput) ElementType() reflect.Type { + return reflect.TypeOf((*VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcm)(nil)).Elem() } -func (i VirtualNodeSpecListenerOutlierDetectionArgs) ToVirtualNodeSpecListenerOutlierDetectionPtrOutputWithContext(ctx context.Context) VirtualNodeSpecListenerOutlierDetectionPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecListenerOutlierDetectionOutput).ToVirtualNodeSpecListenerOutlierDetectionPtrOutputWithContext(ctx) +func (o VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcmOutput) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcmOutput() VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcmOutput { + return o } -// VirtualNodeSpecListenerOutlierDetectionPtrInput is an input type that accepts VirtualNodeSpecListenerOutlierDetectionArgs, VirtualNodeSpecListenerOutlierDetectionPtr and VirtualNodeSpecListenerOutlierDetectionPtrOutput values. -// You can construct a concrete instance of `VirtualNodeSpecListenerOutlierDetectionPtrInput` via: -// -// VirtualNodeSpecListenerOutlierDetectionArgs{...} -// -// or: +func (o VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcmOutput) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcmOutputWithContext(ctx context.Context) VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcmOutput { + return o +} + +func (o VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcmOutput) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcmPtrOutput() VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcmPtrOutput { + return o.ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcmPtrOutputWithContext(context.Background()) +} + +func (o VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcmOutput) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcmPtrOutputWithContext(ctx context.Context) VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcmPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcm) *VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcm { + return &v + }).(VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcmPtrOutput) +} + +// One or more ACM ARNs. +func (o VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcmOutput) CertificateAuthorityArns() pulumi.StringArrayOutput { + return o.ApplyT(func(v VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcm) []string { + return v.CertificateAuthorityArns + }).(pulumi.StringArrayOutput) +} + +type VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcmPtrOutput struct{ *pulumi.OutputState } + +func (VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcmPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcm)(nil)).Elem() +} + +func (o VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcmPtrOutput) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcmPtrOutput() VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcmPtrOutput { + return o +} + +func (o VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcmPtrOutput) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcmPtrOutputWithContext(ctx context.Context) VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcmPtrOutput { + return o +} + +func (o VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcmPtrOutput) Elem() VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcmOutput { + return o.ApplyT(func(v *VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcm) VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcm { + if v != nil { + return *v + } + var ret VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcm + return ret + }).(VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcmOutput) +} + +// One or more ACM ARNs. +func (o VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcmPtrOutput) CertificateAuthorityArns() pulumi.StringArrayOutput { + return o.ApplyT(func(v *VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustAcm) []string { + if v == nil { + return nil + } + return v.CertificateAuthorityArns + }).(pulumi.StringArrayOutput) +} + +type VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFile struct { + // Certificate trust chain for a certificate stored on the file system of the mesh endpoint that the proxy is running on. Must be between 1 and 255 characters in length. + CertificateChain string `pulumi:"certificateChain"` +} + +// VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFileInput is an input type that accepts VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFileArgs and VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFileOutput values. +// You can construct a concrete instance of `VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFileInput` via: // -// nil -type VirtualNodeSpecListenerOutlierDetectionPtrInput interface { +// VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFileArgs{...} +type VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFileInput interface { pulumi.Input - ToVirtualNodeSpecListenerOutlierDetectionPtrOutput() VirtualNodeSpecListenerOutlierDetectionPtrOutput - ToVirtualNodeSpecListenerOutlierDetectionPtrOutputWithContext(context.Context) VirtualNodeSpecListenerOutlierDetectionPtrOutput + ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFileOutput() VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFileOutput + ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFileOutputWithContext(context.Context) VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFileOutput +} + +type VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFileArgs struct { + // Certificate trust chain for a certificate stored on the file system of the mesh endpoint that the proxy is running on. Must be between 1 and 255 characters in length. + CertificateChain pulumi.StringInput `pulumi:"certificateChain"` +} + +func (VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFileArgs) ElementType() reflect.Type { + return reflect.TypeOf((*VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFile)(nil)).Elem() +} + +func (i VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFileArgs) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFileOutput() VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFileOutput { + return i.ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFileOutputWithContext(context.Background()) +} + +func (i VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFileArgs) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFileOutputWithContext(ctx context.Context) VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFileOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFileOutput) +} + +func (i VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFileArgs) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFilePtrOutput() VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFilePtrOutput { + return i.ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFilePtrOutputWithContext(context.Background()) +} + +func (i VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFileArgs) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFilePtrOutputWithContext(ctx context.Context) VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFilePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFileOutput).ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFilePtrOutputWithContext(ctx) +} + +// VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFilePtrInput is an input type that accepts VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFileArgs, VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFilePtr and VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFilePtrOutput values. +// You can construct a concrete instance of `VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFilePtrInput` via: +// +// VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFileArgs{...} +// +// or: +// +// nil +type VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFilePtrInput interface { + pulumi.Input + + ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFilePtrOutput() VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFilePtrOutput + ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFilePtrOutputWithContext(context.Context) VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFilePtrOutput +} + +type virtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFilePtrType VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFileArgs + +func VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFilePtr(v *VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFileArgs) VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFilePtrInput { + return (*virtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFilePtrType)(v) +} + +func (*virtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFilePtrType) ElementType() reflect.Type { + return reflect.TypeOf((**VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFile)(nil)).Elem() +} + +func (i *virtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFilePtrType) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFilePtrOutput() VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFilePtrOutput { + return i.ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFilePtrOutputWithContext(context.Background()) +} + +func (i *virtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFilePtrType) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFilePtrOutputWithContext(ctx context.Context) VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFilePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFilePtrOutput) +} + +type VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFileOutput struct{ *pulumi.OutputState } + +func (VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFileOutput) ElementType() reflect.Type { + return reflect.TypeOf((*VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFile)(nil)).Elem() +} + +func (o VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFileOutput) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFileOutput() VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFileOutput { + return o +} + +func (o VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFileOutput) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFileOutputWithContext(ctx context.Context) VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFileOutput { + return o +} + +func (o VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFileOutput) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFilePtrOutput() VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFilePtrOutput { + return o.ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFilePtrOutputWithContext(context.Background()) +} + +func (o VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFileOutput) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFilePtrOutputWithContext(ctx context.Context) VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFilePtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFile) *VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFile { + return &v + }).(VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFilePtrOutput) +} + +// Certificate trust chain for a certificate stored on the file system of the mesh endpoint that the proxy is running on. Must be between 1 and 255 characters in length. +func (o VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFileOutput) CertificateChain() pulumi.StringOutput { + return o.ApplyT(func(v VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFile) string { + return v.CertificateChain + }).(pulumi.StringOutput) +} + +type VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFilePtrOutput struct{ *pulumi.OutputState } + +func (VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFilePtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFile)(nil)).Elem() +} + +func (o VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFilePtrOutput) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFilePtrOutput() VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFilePtrOutput { + return o +} + +func (o VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFilePtrOutput) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFilePtrOutputWithContext(ctx context.Context) VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFilePtrOutput { + return o +} + +func (o VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFilePtrOutput) Elem() VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFileOutput { + return o.ApplyT(func(v *VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFile) VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFile { + if v != nil { + return *v + } + var ret VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFile + return ret + }).(VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFileOutput) +} + +// Certificate trust chain for a certificate stored on the file system of the mesh endpoint that the proxy is running on. Must be between 1 and 255 characters in length. +func (o VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFilePtrOutput) CertificateChain() pulumi.StringPtrOutput { + return o.ApplyT(func(v *VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustFile) *string { + if v == nil { + return nil + } + return &v.CertificateChain + }).(pulumi.StringPtrOutput) +} + +type VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustSds struct { + // Name of the secret for a virtual node's Transport Layer Security (TLS) Secret Discovery Service validation context trust. + SecretName string `pulumi:"secretName"` +} + +// VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustSdsInput is an input type that accepts VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustSdsArgs and VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustSdsOutput values. +// You can construct a concrete instance of `VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustSdsInput` via: +// +// VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustSdsArgs{...} +type VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustSdsInput interface { + pulumi.Input + + ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustSdsOutput() VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustSdsOutput + ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustSdsOutputWithContext(context.Context) VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustSdsOutput +} + +type VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustSdsArgs struct { + // Name of the secret for a virtual node's Transport Layer Security (TLS) Secret Discovery Service validation context trust. + SecretName pulumi.StringInput `pulumi:"secretName"` +} + +func (VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustSdsArgs) ElementType() reflect.Type { + return reflect.TypeOf((*VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustSds)(nil)).Elem() +} + +func (i VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustSdsArgs) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustSdsOutput() VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustSdsOutput { + return i.ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustSdsOutputWithContext(context.Background()) +} + +func (i VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustSdsArgs) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustSdsOutputWithContext(ctx context.Context) VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustSdsOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustSdsOutput) +} + +func (i VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustSdsArgs) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustSdsPtrOutput() VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustSdsPtrOutput { + return i.ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustSdsPtrOutputWithContext(context.Background()) +} + +func (i VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustSdsArgs) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustSdsPtrOutputWithContext(ctx context.Context) VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustSdsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustSdsOutput).ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustSdsPtrOutputWithContext(ctx) +} + +// VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustSdsPtrInput is an input type that accepts VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustSdsArgs, VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustSdsPtr and VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustSdsPtrOutput values. +// You can construct a concrete instance of `VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustSdsPtrInput` via: +// +// VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustSdsArgs{...} +// +// or: +// +// nil +type VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustSdsPtrInput interface { + pulumi.Input + + ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustSdsPtrOutput() VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustSdsPtrOutput + ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustSdsPtrOutputWithContext(context.Context) VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustSdsPtrOutput +} + +type virtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustSdsPtrType VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustSdsArgs + +func VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustSdsPtr(v *VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustSdsArgs) VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustSdsPtrInput { + return (*virtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustSdsPtrType)(v) +} + +func (*virtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustSdsPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustSds)(nil)).Elem() +} + +func (i *virtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustSdsPtrType) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustSdsPtrOutput() VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustSdsPtrOutput { + return i.ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustSdsPtrOutputWithContext(context.Background()) +} + +func (i *virtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustSdsPtrType) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustSdsPtrOutputWithContext(ctx context.Context) VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustSdsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustSdsPtrOutput) +} + +type VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustSdsOutput struct{ *pulumi.OutputState } + +func (VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustSdsOutput) ElementType() reflect.Type { + return reflect.TypeOf((*VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustSds)(nil)).Elem() +} + +func (o VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustSdsOutput) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustSdsOutput() VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustSdsOutput { + return o +} + +func (o VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustSdsOutput) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustSdsOutputWithContext(ctx context.Context) VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustSdsOutput { + return o +} + +func (o VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustSdsOutput) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustSdsPtrOutput() VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustSdsPtrOutput { + return o.ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustSdsPtrOutputWithContext(context.Background()) +} + +func (o VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustSdsOutput) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustSdsPtrOutputWithContext(ctx context.Context) VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustSdsPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustSds) *VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustSds { + return &v + }).(VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustSdsPtrOutput) +} + +// Name of the secret for a virtual node's Transport Layer Security (TLS) Secret Discovery Service validation context trust. +func (o VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustSdsOutput) SecretName() pulumi.StringOutput { + return o.ApplyT(func(v VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustSds) string { + return v.SecretName + }).(pulumi.StringOutput) +} + +type VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustSdsPtrOutput struct{ *pulumi.OutputState } + +func (VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustSdsPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustSds)(nil)).Elem() +} + +func (o VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustSdsPtrOutput) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustSdsPtrOutput() VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustSdsPtrOutput { + return o +} + +func (o VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustSdsPtrOutput) ToVirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustSdsPtrOutputWithContext(ctx context.Context) VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustSdsPtrOutput { + return o +} + +func (o VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustSdsPtrOutput) Elem() VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustSdsOutput { + return o.ApplyT(func(v *VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustSds) VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustSds { + if v != nil { + return *v + } + var ret VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustSds + return ret + }).(VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustSdsOutput) +} + +// Name of the secret for a virtual node's Transport Layer Security (TLS) Secret Discovery Service validation context trust. +func (o VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustSdsPtrOutput) SecretName() pulumi.StringPtrOutput { + return o.ApplyT(func(v *VirtualNodeSpecBackendVirtualServiceClientPolicyTlsValidationTrustSds) *string { + if v == nil { + return nil + } + return &v.SecretName + }).(pulumi.StringPtrOutput) +} + +type VirtualNodeSpecListener struct { + // Connection pool information for the listener. + ConnectionPool *VirtualNodeSpecListenerConnectionPool `pulumi:"connectionPool"` + // Health check information for the listener. + HealthCheck *VirtualNodeSpecListenerHealthCheck `pulumi:"healthCheck"` + // Outlier detection information for the listener. + OutlierDetection *VirtualNodeSpecListenerOutlierDetection `pulumi:"outlierDetection"` + // Port mapping information for the listener. + PortMapping VirtualNodeSpecListenerPortMapping `pulumi:"portMapping"` + // Timeouts for different protocols. + Timeout *VirtualNodeSpecListenerTimeout `pulumi:"timeout"` + // Transport Layer Security (TLS) properties for the listener + Tls *VirtualNodeSpecListenerTls `pulumi:"tls"` +} + +// VirtualNodeSpecListenerInput is an input type that accepts VirtualNodeSpecListenerArgs and VirtualNodeSpecListenerOutput values. +// You can construct a concrete instance of `VirtualNodeSpecListenerInput` via: +// +// VirtualNodeSpecListenerArgs{...} +type VirtualNodeSpecListenerInput interface { + pulumi.Input + + ToVirtualNodeSpecListenerOutput() VirtualNodeSpecListenerOutput + ToVirtualNodeSpecListenerOutputWithContext(context.Context) VirtualNodeSpecListenerOutput +} + +type VirtualNodeSpecListenerArgs struct { + // Connection pool information for the listener. + ConnectionPool VirtualNodeSpecListenerConnectionPoolPtrInput `pulumi:"connectionPool"` + // Health check information for the listener. + HealthCheck VirtualNodeSpecListenerHealthCheckPtrInput `pulumi:"healthCheck"` + // Outlier detection information for the listener. + OutlierDetection VirtualNodeSpecListenerOutlierDetectionPtrInput `pulumi:"outlierDetection"` + // Port mapping information for the listener. + PortMapping VirtualNodeSpecListenerPortMappingInput `pulumi:"portMapping"` + // Timeouts for different protocols. + Timeout VirtualNodeSpecListenerTimeoutPtrInput `pulumi:"timeout"` + // Transport Layer Security (TLS) properties for the listener + Tls VirtualNodeSpecListenerTlsPtrInput `pulumi:"tls"` +} + +func (VirtualNodeSpecListenerArgs) ElementType() reflect.Type { + return reflect.TypeOf((*VirtualNodeSpecListener)(nil)).Elem() +} + +func (i VirtualNodeSpecListenerArgs) ToVirtualNodeSpecListenerOutput() VirtualNodeSpecListenerOutput { + return i.ToVirtualNodeSpecListenerOutputWithContext(context.Background()) +} + +func (i VirtualNodeSpecListenerArgs) ToVirtualNodeSpecListenerOutputWithContext(ctx context.Context) VirtualNodeSpecListenerOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecListenerOutput) +} + +func (i VirtualNodeSpecListenerArgs) ToVirtualNodeSpecListenerPtrOutput() VirtualNodeSpecListenerPtrOutput { + return i.ToVirtualNodeSpecListenerPtrOutputWithContext(context.Background()) +} + +func (i VirtualNodeSpecListenerArgs) ToVirtualNodeSpecListenerPtrOutputWithContext(ctx context.Context) VirtualNodeSpecListenerPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecListenerOutput).ToVirtualNodeSpecListenerPtrOutputWithContext(ctx) +} + +// VirtualNodeSpecListenerPtrInput is an input type that accepts VirtualNodeSpecListenerArgs, VirtualNodeSpecListenerPtr and VirtualNodeSpecListenerPtrOutput values. +// You can construct a concrete instance of `VirtualNodeSpecListenerPtrInput` via: +// +// VirtualNodeSpecListenerArgs{...} +// +// or: +// +// nil +type VirtualNodeSpecListenerPtrInput interface { + pulumi.Input + + ToVirtualNodeSpecListenerPtrOutput() VirtualNodeSpecListenerPtrOutput + ToVirtualNodeSpecListenerPtrOutputWithContext(context.Context) VirtualNodeSpecListenerPtrOutput +} + +type virtualNodeSpecListenerPtrType VirtualNodeSpecListenerArgs + +func VirtualNodeSpecListenerPtr(v *VirtualNodeSpecListenerArgs) VirtualNodeSpecListenerPtrInput { + return (*virtualNodeSpecListenerPtrType)(v) +} + +func (*virtualNodeSpecListenerPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**VirtualNodeSpecListener)(nil)).Elem() +} + +func (i *virtualNodeSpecListenerPtrType) ToVirtualNodeSpecListenerPtrOutput() VirtualNodeSpecListenerPtrOutput { + return i.ToVirtualNodeSpecListenerPtrOutputWithContext(context.Background()) +} + +func (i *virtualNodeSpecListenerPtrType) ToVirtualNodeSpecListenerPtrOutputWithContext(ctx context.Context) VirtualNodeSpecListenerPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecListenerPtrOutput) +} + +type VirtualNodeSpecListenerOutput struct{ *pulumi.OutputState } + +func (VirtualNodeSpecListenerOutput) ElementType() reflect.Type { + return reflect.TypeOf((*VirtualNodeSpecListener)(nil)).Elem() +} + +func (o VirtualNodeSpecListenerOutput) ToVirtualNodeSpecListenerOutput() VirtualNodeSpecListenerOutput { + return o +} + +func (o VirtualNodeSpecListenerOutput) ToVirtualNodeSpecListenerOutputWithContext(ctx context.Context) VirtualNodeSpecListenerOutput { + return o +} + +func (o VirtualNodeSpecListenerOutput) ToVirtualNodeSpecListenerPtrOutput() VirtualNodeSpecListenerPtrOutput { + return o.ToVirtualNodeSpecListenerPtrOutputWithContext(context.Background()) +} + +func (o VirtualNodeSpecListenerOutput) ToVirtualNodeSpecListenerPtrOutputWithContext(ctx context.Context) VirtualNodeSpecListenerPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v VirtualNodeSpecListener) *VirtualNodeSpecListener { + return &v + }).(VirtualNodeSpecListenerPtrOutput) +} + +// Connection pool information for the listener. +func (o VirtualNodeSpecListenerOutput) ConnectionPool() VirtualNodeSpecListenerConnectionPoolPtrOutput { + return o.ApplyT(func(v VirtualNodeSpecListener) *VirtualNodeSpecListenerConnectionPool { return v.ConnectionPool }).(VirtualNodeSpecListenerConnectionPoolPtrOutput) +} + +// Health check information for the listener. +func (o VirtualNodeSpecListenerOutput) HealthCheck() VirtualNodeSpecListenerHealthCheckPtrOutput { + return o.ApplyT(func(v VirtualNodeSpecListener) *VirtualNodeSpecListenerHealthCheck { return v.HealthCheck }).(VirtualNodeSpecListenerHealthCheckPtrOutput) +} + +// Outlier detection information for the listener. +func (o VirtualNodeSpecListenerOutput) OutlierDetection() VirtualNodeSpecListenerOutlierDetectionPtrOutput { + return o.ApplyT(func(v VirtualNodeSpecListener) *VirtualNodeSpecListenerOutlierDetection { return v.OutlierDetection }).(VirtualNodeSpecListenerOutlierDetectionPtrOutput) +} + +// Port mapping information for the listener. +func (o VirtualNodeSpecListenerOutput) PortMapping() VirtualNodeSpecListenerPortMappingOutput { + return o.ApplyT(func(v VirtualNodeSpecListener) VirtualNodeSpecListenerPortMapping { return v.PortMapping }).(VirtualNodeSpecListenerPortMappingOutput) +} + +// Timeouts for different protocols. +func (o VirtualNodeSpecListenerOutput) Timeout() VirtualNodeSpecListenerTimeoutPtrOutput { + return o.ApplyT(func(v VirtualNodeSpecListener) *VirtualNodeSpecListenerTimeout { return v.Timeout }).(VirtualNodeSpecListenerTimeoutPtrOutput) +} + +// Transport Layer Security (TLS) properties for the listener +func (o VirtualNodeSpecListenerOutput) Tls() VirtualNodeSpecListenerTlsPtrOutput { + return o.ApplyT(func(v VirtualNodeSpecListener) *VirtualNodeSpecListenerTls { return v.Tls }).(VirtualNodeSpecListenerTlsPtrOutput) +} + +type VirtualNodeSpecListenerPtrOutput struct{ *pulumi.OutputState } + +func (VirtualNodeSpecListenerPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**VirtualNodeSpecListener)(nil)).Elem() +} + +func (o VirtualNodeSpecListenerPtrOutput) ToVirtualNodeSpecListenerPtrOutput() VirtualNodeSpecListenerPtrOutput { + return o +} + +func (o VirtualNodeSpecListenerPtrOutput) ToVirtualNodeSpecListenerPtrOutputWithContext(ctx context.Context) VirtualNodeSpecListenerPtrOutput { + return o +} + +func (o VirtualNodeSpecListenerPtrOutput) Elem() VirtualNodeSpecListenerOutput { + return o.ApplyT(func(v *VirtualNodeSpecListener) VirtualNodeSpecListener { + if v != nil { + return *v + } + var ret VirtualNodeSpecListener + return ret + }).(VirtualNodeSpecListenerOutput) +} + +// Connection pool information for the listener. +func (o VirtualNodeSpecListenerPtrOutput) ConnectionPool() VirtualNodeSpecListenerConnectionPoolPtrOutput { + return o.ApplyT(func(v *VirtualNodeSpecListener) *VirtualNodeSpecListenerConnectionPool { + if v == nil { + return nil + } + return v.ConnectionPool + }).(VirtualNodeSpecListenerConnectionPoolPtrOutput) +} + +// Health check information for the listener. +func (o VirtualNodeSpecListenerPtrOutput) HealthCheck() VirtualNodeSpecListenerHealthCheckPtrOutput { + return o.ApplyT(func(v *VirtualNodeSpecListener) *VirtualNodeSpecListenerHealthCheck { + if v == nil { + return nil + } + return v.HealthCheck + }).(VirtualNodeSpecListenerHealthCheckPtrOutput) +} + +// Outlier detection information for the listener. +func (o VirtualNodeSpecListenerPtrOutput) OutlierDetection() VirtualNodeSpecListenerOutlierDetectionPtrOutput { + return o.ApplyT(func(v *VirtualNodeSpecListener) *VirtualNodeSpecListenerOutlierDetection { + if v == nil { + return nil + } + return v.OutlierDetection + }).(VirtualNodeSpecListenerOutlierDetectionPtrOutput) +} + +// Port mapping information for the listener. +func (o VirtualNodeSpecListenerPtrOutput) PortMapping() VirtualNodeSpecListenerPortMappingPtrOutput { + return o.ApplyT(func(v *VirtualNodeSpecListener) *VirtualNodeSpecListenerPortMapping { + if v == nil { + return nil + } + return &v.PortMapping + }).(VirtualNodeSpecListenerPortMappingPtrOutput) +} + +// Timeouts for different protocols. +func (o VirtualNodeSpecListenerPtrOutput) Timeout() VirtualNodeSpecListenerTimeoutPtrOutput { + return o.ApplyT(func(v *VirtualNodeSpecListener) *VirtualNodeSpecListenerTimeout { + if v == nil { + return nil + } + return v.Timeout + }).(VirtualNodeSpecListenerTimeoutPtrOutput) +} + +// Transport Layer Security (TLS) properties for the listener +func (o VirtualNodeSpecListenerPtrOutput) Tls() VirtualNodeSpecListenerTlsPtrOutput { + return o.ApplyT(func(v *VirtualNodeSpecListener) *VirtualNodeSpecListenerTls { + if v == nil { + return nil + } + return v.Tls + }).(VirtualNodeSpecListenerTlsPtrOutput) +} + +type VirtualNodeSpecListenerConnectionPool struct { + // Connection pool information for gRPC listeners. + Grpc *VirtualNodeSpecListenerConnectionPoolGrpc `pulumi:"grpc"` + // Connection pool information for HTTP listeners. + Http *VirtualNodeSpecListenerConnectionPoolHttp `pulumi:"http"` + // Connection pool information for HTTP2 listeners. + Http2 *VirtualNodeSpecListenerConnectionPoolHttp2 `pulumi:"http2"` + // Connection pool information for TCP listeners. + Tcp *VirtualNodeSpecListenerConnectionPoolTcp `pulumi:"tcp"` +} + +// VirtualNodeSpecListenerConnectionPoolInput is an input type that accepts VirtualNodeSpecListenerConnectionPoolArgs and VirtualNodeSpecListenerConnectionPoolOutput values. +// You can construct a concrete instance of `VirtualNodeSpecListenerConnectionPoolInput` via: +// +// VirtualNodeSpecListenerConnectionPoolArgs{...} +type VirtualNodeSpecListenerConnectionPoolInput interface { + pulumi.Input + + ToVirtualNodeSpecListenerConnectionPoolOutput() VirtualNodeSpecListenerConnectionPoolOutput + ToVirtualNodeSpecListenerConnectionPoolOutputWithContext(context.Context) VirtualNodeSpecListenerConnectionPoolOutput +} + +type VirtualNodeSpecListenerConnectionPoolArgs struct { + // Connection pool information for gRPC listeners. + Grpc VirtualNodeSpecListenerConnectionPoolGrpcPtrInput `pulumi:"grpc"` + // Connection pool information for HTTP listeners. + Http VirtualNodeSpecListenerConnectionPoolHttpPtrInput `pulumi:"http"` + // Connection pool information for HTTP2 listeners. + Http2 VirtualNodeSpecListenerConnectionPoolHttp2PtrInput `pulumi:"http2"` + // Connection pool information for TCP listeners. + Tcp VirtualNodeSpecListenerConnectionPoolTcpPtrInput `pulumi:"tcp"` +} + +func (VirtualNodeSpecListenerConnectionPoolArgs) ElementType() reflect.Type { + return reflect.TypeOf((*VirtualNodeSpecListenerConnectionPool)(nil)).Elem() +} + +func (i VirtualNodeSpecListenerConnectionPoolArgs) ToVirtualNodeSpecListenerConnectionPoolOutput() VirtualNodeSpecListenerConnectionPoolOutput { + return i.ToVirtualNodeSpecListenerConnectionPoolOutputWithContext(context.Background()) +} + +func (i VirtualNodeSpecListenerConnectionPoolArgs) ToVirtualNodeSpecListenerConnectionPoolOutputWithContext(ctx context.Context) VirtualNodeSpecListenerConnectionPoolOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecListenerConnectionPoolOutput) +} + +func (i VirtualNodeSpecListenerConnectionPoolArgs) ToVirtualNodeSpecListenerConnectionPoolPtrOutput() VirtualNodeSpecListenerConnectionPoolPtrOutput { + return i.ToVirtualNodeSpecListenerConnectionPoolPtrOutputWithContext(context.Background()) +} + +func (i VirtualNodeSpecListenerConnectionPoolArgs) ToVirtualNodeSpecListenerConnectionPoolPtrOutputWithContext(ctx context.Context) VirtualNodeSpecListenerConnectionPoolPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecListenerConnectionPoolOutput).ToVirtualNodeSpecListenerConnectionPoolPtrOutputWithContext(ctx) +} + +// VirtualNodeSpecListenerConnectionPoolPtrInput is an input type that accepts VirtualNodeSpecListenerConnectionPoolArgs, VirtualNodeSpecListenerConnectionPoolPtr and VirtualNodeSpecListenerConnectionPoolPtrOutput values. +// You can construct a concrete instance of `VirtualNodeSpecListenerConnectionPoolPtrInput` via: +// +// VirtualNodeSpecListenerConnectionPoolArgs{...} +// +// or: +// +// nil +type VirtualNodeSpecListenerConnectionPoolPtrInput interface { + pulumi.Input + + ToVirtualNodeSpecListenerConnectionPoolPtrOutput() VirtualNodeSpecListenerConnectionPoolPtrOutput + ToVirtualNodeSpecListenerConnectionPoolPtrOutputWithContext(context.Context) VirtualNodeSpecListenerConnectionPoolPtrOutput +} + +type virtualNodeSpecListenerConnectionPoolPtrType VirtualNodeSpecListenerConnectionPoolArgs + +func VirtualNodeSpecListenerConnectionPoolPtr(v *VirtualNodeSpecListenerConnectionPoolArgs) VirtualNodeSpecListenerConnectionPoolPtrInput { + return (*virtualNodeSpecListenerConnectionPoolPtrType)(v) +} + +func (*virtualNodeSpecListenerConnectionPoolPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**VirtualNodeSpecListenerConnectionPool)(nil)).Elem() +} + +func (i *virtualNodeSpecListenerConnectionPoolPtrType) ToVirtualNodeSpecListenerConnectionPoolPtrOutput() VirtualNodeSpecListenerConnectionPoolPtrOutput { + return i.ToVirtualNodeSpecListenerConnectionPoolPtrOutputWithContext(context.Background()) +} + +func (i *virtualNodeSpecListenerConnectionPoolPtrType) ToVirtualNodeSpecListenerConnectionPoolPtrOutputWithContext(ctx context.Context) VirtualNodeSpecListenerConnectionPoolPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecListenerConnectionPoolPtrOutput) +} + +type VirtualNodeSpecListenerConnectionPoolOutput struct{ *pulumi.OutputState } + +func (VirtualNodeSpecListenerConnectionPoolOutput) ElementType() reflect.Type { + return reflect.TypeOf((*VirtualNodeSpecListenerConnectionPool)(nil)).Elem() +} + +func (o VirtualNodeSpecListenerConnectionPoolOutput) ToVirtualNodeSpecListenerConnectionPoolOutput() VirtualNodeSpecListenerConnectionPoolOutput { + return o +} + +func (o VirtualNodeSpecListenerConnectionPoolOutput) ToVirtualNodeSpecListenerConnectionPoolOutputWithContext(ctx context.Context) VirtualNodeSpecListenerConnectionPoolOutput { + return o +} + +func (o VirtualNodeSpecListenerConnectionPoolOutput) ToVirtualNodeSpecListenerConnectionPoolPtrOutput() VirtualNodeSpecListenerConnectionPoolPtrOutput { + return o.ToVirtualNodeSpecListenerConnectionPoolPtrOutputWithContext(context.Background()) +} + +func (o VirtualNodeSpecListenerConnectionPoolOutput) ToVirtualNodeSpecListenerConnectionPoolPtrOutputWithContext(ctx context.Context) VirtualNodeSpecListenerConnectionPoolPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v VirtualNodeSpecListenerConnectionPool) *VirtualNodeSpecListenerConnectionPool { + return &v + }).(VirtualNodeSpecListenerConnectionPoolPtrOutput) +} + +// Connection pool information for gRPC listeners. +func (o VirtualNodeSpecListenerConnectionPoolOutput) Grpc() VirtualNodeSpecListenerConnectionPoolGrpcPtrOutput { + return o.ApplyT(func(v VirtualNodeSpecListenerConnectionPool) *VirtualNodeSpecListenerConnectionPoolGrpc { + return v.Grpc + }).(VirtualNodeSpecListenerConnectionPoolGrpcPtrOutput) +} + +// Connection pool information for HTTP listeners. +func (o VirtualNodeSpecListenerConnectionPoolOutput) Http() VirtualNodeSpecListenerConnectionPoolHttpPtrOutput { + return o.ApplyT(func(v VirtualNodeSpecListenerConnectionPool) *VirtualNodeSpecListenerConnectionPoolHttp { + return v.Http + }).(VirtualNodeSpecListenerConnectionPoolHttpPtrOutput) +} + +// Connection pool information for HTTP2 listeners. +func (o VirtualNodeSpecListenerConnectionPoolOutput) Http2() VirtualNodeSpecListenerConnectionPoolHttp2PtrOutput { + return o.ApplyT(func(v VirtualNodeSpecListenerConnectionPool) *VirtualNodeSpecListenerConnectionPoolHttp2 { + return v.Http2 + }).(VirtualNodeSpecListenerConnectionPoolHttp2PtrOutput) +} + +// Connection pool information for TCP listeners. +func (o VirtualNodeSpecListenerConnectionPoolOutput) Tcp() VirtualNodeSpecListenerConnectionPoolTcpPtrOutput { + return o.ApplyT(func(v VirtualNodeSpecListenerConnectionPool) *VirtualNodeSpecListenerConnectionPoolTcp { return v.Tcp }).(VirtualNodeSpecListenerConnectionPoolTcpPtrOutput) +} + +type VirtualNodeSpecListenerConnectionPoolPtrOutput struct{ *pulumi.OutputState } + +func (VirtualNodeSpecListenerConnectionPoolPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**VirtualNodeSpecListenerConnectionPool)(nil)).Elem() +} + +func (o VirtualNodeSpecListenerConnectionPoolPtrOutput) ToVirtualNodeSpecListenerConnectionPoolPtrOutput() VirtualNodeSpecListenerConnectionPoolPtrOutput { + return o +} + +func (o VirtualNodeSpecListenerConnectionPoolPtrOutput) ToVirtualNodeSpecListenerConnectionPoolPtrOutputWithContext(ctx context.Context) VirtualNodeSpecListenerConnectionPoolPtrOutput { + return o +} + +func (o VirtualNodeSpecListenerConnectionPoolPtrOutput) Elem() VirtualNodeSpecListenerConnectionPoolOutput { + return o.ApplyT(func(v *VirtualNodeSpecListenerConnectionPool) VirtualNodeSpecListenerConnectionPool { + if v != nil { + return *v + } + var ret VirtualNodeSpecListenerConnectionPool + return ret + }).(VirtualNodeSpecListenerConnectionPoolOutput) +} + +// Connection pool information for gRPC listeners. +func (o VirtualNodeSpecListenerConnectionPoolPtrOutput) Grpc() VirtualNodeSpecListenerConnectionPoolGrpcPtrOutput { + return o.ApplyT(func(v *VirtualNodeSpecListenerConnectionPool) *VirtualNodeSpecListenerConnectionPoolGrpc { + if v == nil { + return nil + } + return v.Grpc + }).(VirtualNodeSpecListenerConnectionPoolGrpcPtrOutput) +} + +// Connection pool information for HTTP listeners. +func (o VirtualNodeSpecListenerConnectionPoolPtrOutput) Http() VirtualNodeSpecListenerConnectionPoolHttpPtrOutput { + return o.ApplyT(func(v *VirtualNodeSpecListenerConnectionPool) *VirtualNodeSpecListenerConnectionPoolHttp { + if v == nil { + return nil + } + return v.Http + }).(VirtualNodeSpecListenerConnectionPoolHttpPtrOutput) +} + +// Connection pool information for HTTP2 listeners. +func (o VirtualNodeSpecListenerConnectionPoolPtrOutput) Http2() VirtualNodeSpecListenerConnectionPoolHttp2PtrOutput { + return o.ApplyT(func(v *VirtualNodeSpecListenerConnectionPool) *VirtualNodeSpecListenerConnectionPoolHttp2 { + if v == nil { + return nil + } + return v.Http2 + }).(VirtualNodeSpecListenerConnectionPoolHttp2PtrOutput) +} + +// Connection pool information for TCP listeners. +func (o VirtualNodeSpecListenerConnectionPoolPtrOutput) Tcp() VirtualNodeSpecListenerConnectionPoolTcpPtrOutput { + return o.ApplyT(func(v *VirtualNodeSpecListenerConnectionPool) *VirtualNodeSpecListenerConnectionPoolTcp { + if v == nil { + return nil + } + return v.Tcp + }).(VirtualNodeSpecListenerConnectionPoolTcpPtrOutput) +} + +type VirtualNodeSpecListenerConnectionPoolGrpc struct { + // Maximum number of inflight requests Envoy can concurrently support across hosts in upstream cluster. Minimum value of `1`. + MaxRequests int `pulumi:"maxRequests"` +} + +// VirtualNodeSpecListenerConnectionPoolGrpcInput is an input type that accepts VirtualNodeSpecListenerConnectionPoolGrpcArgs and VirtualNodeSpecListenerConnectionPoolGrpcOutput values. +// You can construct a concrete instance of `VirtualNodeSpecListenerConnectionPoolGrpcInput` via: +// +// VirtualNodeSpecListenerConnectionPoolGrpcArgs{...} +type VirtualNodeSpecListenerConnectionPoolGrpcInput interface { + pulumi.Input + + ToVirtualNodeSpecListenerConnectionPoolGrpcOutput() VirtualNodeSpecListenerConnectionPoolGrpcOutput + ToVirtualNodeSpecListenerConnectionPoolGrpcOutputWithContext(context.Context) VirtualNodeSpecListenerConnectionPoolGrpcOutput +} + +type VirtualNodeSpecListenerConnectionPoolGrpcArgs struct { + // Maximum number of inflight requests Envoy can concurrently support across hosts in upstream cluster. Minimum value of `1`. + MaxRequests pulumi.IntInput `pulumi:"maxRequests"` +} + +func (VirtualNodeSpecListenerConnectionPoolGrpcArgs) ElementType() reflect.Type { + return reflect.TypeOf((*VirtualNodeSpecListenerConnectionPoolGrpc)(nil)).Elem() +} + +func (i VirtualNodeSpecListenerConnectionPoolGrpcArgs) ToVirtualNodeSpecListenerConnectionPoolGrpcOutput() VirtualNodeSpecListenerConnectionPoolGrpcOutput { + return i.ToVirtualNodeSpecListenerConnectionPoolGrpcOutputWithContext(context.Background()) +} + +func (i VirtualNodeSpecListenerConnectionPoolGrpcArgs) ToVirtualNodeSpecListenerConnectionPoolGrpcOutputWithContext(ctx context.Context) VirtualNodeSpecListenerConnectionPoolGrpcOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecListenerConnectionPoolGrpcOutput) +} + +func (i VirtualNodeSpecListenerConnectionPoolGrpcArgs) ToVirtualNodeSpecListenerConnectionPoolGrpcPtrOutput() VirtualNodeSpecListenerConnectionPoolGrpcPtrOutput { + return i.ToVirtualNodeSpecListenerConnectionPoolGrpcPtrOutputWithContext(context.Background()) +} + +func (i VirtualNodeSpecListenerConnectionPoolGrpcArgs) ToVirtualNodeSpecListenerConnectionPoolGrpcPtrOutputWithContext(ctx context.Context) VirtualNodeSpecListenerConnectionPoolGrpcPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecListenerConnectionPoolGrpcOutput).ToVirtualNodeSpecListenerConnectionPoolGrpcPtrOutputWithContext(ctx) +} + +// VirtualNodeSpecListenerConnectionPoolGrpcPtrInput is an input type that accepts VirtualNodeSpecListenerConnectionPoolGrpcArgs, VirtualNodeSpecListenerConnectionPoolGrpcPtr and VirtualNodeSpecListenerConnectionPoolGrpcPtrOutput values. +// You can construct a concrete instance of `VirtualNodeSpecListenerConnectionPoolGrpcPtrInput` via: +// +// VirtualNodeSpecListenerConnectionPoolGrpcArgs{...} +// +// or: +// +// nil +type VirtualNodeSpecListenerConnectionPoolGrpcPtrInput interface { + pulumi.Input + + ToVirtualNodeSpecListenerConnectionPoolGrpcPtrOutput() VirtualNodeSpecListenerConnectionPoolGrpcPtrOutput + ToVirtualNodeSpecListenerConnectionPoolGrpcPtrOutputWithContext(context.Context) VirtualNodeSpecListenerConnectionPoolGrpcPtrOutput +} + +type virtualNodeSpecListenerConnectionPoolGrpcPtrType VirtualNodeSpecListenerConnectionPoolGrpcArgs + +func VirtualNodeSpecListenerConnectionPoolGrpcPtr(v *VirtualNodeSpecListenerConnectionPoolGrpcArgs) VirtualNodeSpecListenerConnectionPoolGrpcPtrInput { + return (*virtualNodeSpecListenerConnectionPoolGrpcPtrType)(v) +} + +func (*virtualNodeSpecListenerConnectionPoolGrpcPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**VirtualNodeSpecListenerConnectionPoolGrpc)(nil)).Elem() +} + +func (i *virtualNodeSpecListenerConnectionPoolGrpcPtrType) ToVirtualNodeSpecListenerConnectionPoolGrpcPtrOutput() VirtualNodeSpecListenerConnectionPoolGrpcPtrOutput { + return i.ToVirtualNodeSpecListenerConnectionPoolGrpcPtrOutputWithContext(context.Background()) +} + +func (i *virtualNodeSpecListenerConnectionPoolGrpcPtrType) ToVirtualNodeSpecListenerConnectionPoolGrpcPtrOutputWithContext(ctx context.Context) VirtualNodeSpecListenerConnectionPoolGrpcPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecListenerConnectionPoolGrpcPtrOutput) +} + +type VirtualNodeSpecListenerConnectionPoolGrpcOutput struct{ *pulumi.OutputState } + +func (VirtualNodeSpecListenerConnectionPoolGrpcOutput) ElementType() reflect.Type { + return reflect.TypeOf((*VirtualNodeSpecListenerConnectionPoolGrpc)(nil)).Elem() +} + +func (o VirtualNodeSpecListenerConnectionPoolGrpcOutput) ToVirtualNodeSpecListenerConnectionPoolGrpcOutput() VirtualNodeSpecListenerConnectionPoolGrpcOutput { + return o +} + +func (o VirtualNodeSpecListenerConnectionPoolGrpcOutput) ToVirtualNodeSpecListenerConnectionPoolGrpcOutputWithContext(ctx context.Context) VirtualNodeSpecListenerConnectionPoolGrpcOutput { + return o +} + +func (o VirtualNodeSpecListenerConnectionPoolGrpcOutput) ToVirtualNodeSpecListenerConnectionPoolGrpcPtrOutput() VirtualNodeSpecListenerConnectionPoolGrpcPtrOutput { + return o.ToVirtualNodeSpecListenerConnectionPoolGrpcPtrOutputWithContext(context.Background()) +} + +func (o VirtualNodeSpecListenerConnectionPoolGrpcOutput) ToVirtualNodeSpecListenerConnectionPoolGrpcPtrOutputWithContext(ctx context.Context) VirtualNodeSpecListenerConnectionPoolGrpcPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v VirtualNodeSpecListenerConnectionPoolGrpc) *VirtualNodeSpecListenerConnectionPoolGrpc { + return &v + }).(VirtualNodeSpecListenerConnectionPoolGrpcPtrOutput) +} + +// Maximum number of inflight requests Envoy can concurrently support across hosts in upstream cluster. Minimum value of `1`. +func (o VirtualNodeSpecListenerConnectionPoolGrpcOutput) MaxRequests() pulumi.IntOutput { + return o.ApplyT(func(v VirtualNodeSpecListenerConnectionPoolGrpc) int { return v.MaxRequests }).(pulumi.IntOutput) +} + +type VirtualNodeSpecListenerConnectionPoolGrpcPtrOutput struct{ *pulumi.OutputState } + +func (VirtualNodeSpecListenerConnectionPoolGrpcPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**VirtualNodeSpecListenerConnectionPoolGrpc)(nil)).Elem() +} + +func (o VirtualNodeSpecListenerConnectionPoolGrpcPtrOutput) ToVirtualNodeSpecListenerConnectionPoolGrpcPtrOutput() VirtualNodeSpecListenerConnectionPoolGrpcPtrOutput { + return o +} + +func (o VirtualNodeSpecListenerConnectionPoolGrpcPtrOutput) ToVirtualNodeSpecListenerConnectionPoolGrpcPtrOutputWithContext(ctx context.Context) VirtualNodeSpecListenerConnectionPoolGrpcPtrOutput { + return o +} + +func (o VirtualNodeSpecListenerConnectionPoolGrpcPtrOutput) Elem() VirtualNodeSpecListenerConnectionPoolGrpcOutput { + return o.ApplyT(func(v *VirtualNodeSpecListenerConnectionPoolGrpc) VirtualNodeSpecListenerConnectionPoolGrpc { + if v != nil { + return *v + } + var ret VirtualNodeSpecListenerConnectionPoolGrpc + return ret + }).(VirtualNodeSpecListenerConnectionPoolGrpcOutput) +} + +// Maximum number of inflight requests Envoy can concurrently support across hosts in upstream cluster. Minimum value of `1`. +func (o VirtualNodeSpecListenerConnectionPoolGrpcPtrOutput) MaxRequests() pulumi.IntPtrOutput { + return o.ApplyT(func(v *VirtualNodeSpecListenerConnectionPoolGrpc) *int { + if v == nil { + return nil + } + return &v.MaxRequests + }).(pulumi.IntPtrOutput) +} + +type VirtualNodeSpecListenerConnectionPoolHttp2 struct { + // Maximum number of inflight requests Envoy can concurrently support across hosts in upstream cluster. Minimum value of `1`. + MaxRequests int `pulumi:"maxRequests"` +} + +// VirtualNodeSpecListenerConnectionPoolHttp2Input is an input type that accepts VirtualNodeSpecListenerConnectionPoolHttp2Args and VirtualNodeSpecListenerConnectionPoolHttp2Output values. +// You can construct a concrete instance of `VirtualNodeSpecListenerConnectionPoolHttp2Input` via: +// +// VirtualNodeSpecListenerConnectionPoolHttp2Args{...} +type VirtualNodeSpecListenerConnectionPoolHttp2Input interface { + pulumi.Input + + ToVirtualNodeSpecListenerConnectionPoolHttp2Output() VirtualNodeSpecListenerConnectionPoolHttp2Output + ToVirtualNodeSpecListenerConnectionPoolHttp2OutputWithContext(context.Context) VirtualNodeSpecListenerConnectionPoolHttp2Output +} + +type VirtualNodeSpecListenerConnectionPoolHttp2Args struct { + // Maximum number of inflight requests Envoy can concurrently support across hosts in upstream cluster. Minimum value of `1`. + MaxRequests pulumi.IntInput `pulumi:"maxRequests"` +} + +func (VirtualNodeSpecListenerConnectionPoolHttp2Args) ElementType() reflect.Type { + return reflect.TypeOf((*VirtualNodeSpecListenerConnectionPoolHttp2)(nil)).Elem() +} + +func (i VirtualNodeSpecListenerConnectionPoolHttp2Args) ToVirtualNodeSpecListenerConnectionPoolHttp2Output() VirtualNodeSpecListenerConnectionPoolHttp2Output { + return i.ToVirtualNodeSpecListenerConnectionPoolHttp2OutputWithContext(context.Background()) +} + +func (i VirtualNodeSpecListenerConnectionPoolHttp2Args) ToVirtualNodeSpecListenerConnectionPoolHttp2OutputWithContext(ctx context.Context) VirtualNodeSpecListenerConnectionPoolHttp2Output { + return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecListenerConnectionPoolHttp2Output) +} + +func (i VirtualNodeSpecListenerConnectionPoolHttp2Args) ToVirtualNodeSpecListenerConnectionPoolHttp2PtrOutput() VirtualNodeSpecListenerConnectionPoolHttp2PtrOutput { + return i.ToVirtualNodeSpecListenerConnectionPoolHttp2PtrOutputWithContext(context.Background()) +} + +func (i VirtualNodeSpecListenerConnectionPoolHttp2Args) ToVirtualNodeSpecListenerConnectionPoolHttp2PtrOutputWithContext(ctx context.Context) VirtualNodeSpecListenerConnectionPoolHttp2PtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecListenerConnectionPoolHttp2Output).ToVirtualNodeSpecListenerConnectionPoolHttp2PtrOutputWithContext(ctx) +} + +// VirtualNodeSpecListenerConnectionPoolHttp2PtrInput is an input type that accepts VirtualNodeSpecListenerConnectionPoolHttp2Args, VirtualNodeSpecListenerConnectionPoolHttp2Ptr and VirtualNodeSpecListenerConnectionPoolHttp2PtrOutput values. +// You can construct a concrete instance of `VirtualNodeSpecListenerConnectionPoolHttp2PtrInput` via: +// +// VirtualNodeSpecListenerConnectionPoolHttp2Args{...} +// +// or: +// +// nil +type VirtualNodeSpecListenerConnectionPoolHttp2PtrInput interface { + pulumi.Input + + ToVirtualNodeSpecListenerConnectionPoolHttp2PtrOutput() VirtualNodeSpecListenerConnectionPoolHttp2PtrOutput + ToVirtualNodeSpecListenerConnectionPoolHttp2PtrOutputWithContext(context.Context) VirtualNodeSpecListenerConnectionPoolHttp2PtrOutput +} + +type virtualNodeSpecListenerConnectionPoolHttp2PtrType VirtualNodeSpecListenerConnectionPoolHttp2Args + +func VirtualNodeSpecListenerConnectionPoolHttp2Ptr(v *VirtualNodeSpecListenerConnectionPoolHttp2Args) VirtualNodeSpecListenerConnectionPoolHttp2PtrInput { + return (*virtualNodeSpecListenerConnectionPoolHttp2PtrType)(v) +} + +func (*virtualNodeSpecListenerConnectionPoolHttp2PtrType) ElementType() reflect.Type { + return reflect.TypeOf((**VirtualNodeSpecListenerConnectionPoolHttp2)(nil)).Elem() +} + +func (i *virtualNodeSpecListenerConnectionPoolHttp2PtrType) ToVirtualNodeSpecListenerConnectionPoolHttp2PtrOutput() VirtualNodeSpecListenerConnectionPoolHttp2PtrOutput { + return i.ToVirtualNodeSpecListenerConnectionPoolHttp2PtrOutputWithContext(context.Background()) +} + +func (i *virtualNodeSpecListenerConnectionPoolHttp2PtrType) ToVirtualNodeSpecListenerConnectionPoolHttp2PtrOutputWithContext(ctx context.Context) VirtualNodeSpecListenerConnectionPoolHttp2PtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecListenerConnectionPoolHttp2PtrOutput) +} + +type VirtualNodeSpecListenerConnectionPoolHttp2Output struct{ *pulumi.OutputState } + +func (VirtualNodeSpecListenerConnectionPoolHttp2Output) ElementType() reflect.Type { + return reflect.TypeOf((*VirtualNodeSpecListenerConnectionPoolHttp2)(nil)).Elem() +} + +func (o VirtualNodeSpecListenerConnectionPoolHttp2Output) ToVirtualNodeSpecListenerConnectionPoolHttp2Output() VirtualNodeSpecListenerConnectionPoolHttp2Output { + return o +} + +func (o VirtualNodeSpecListenerConnectionPoolHttp2Output) ToVirtualNodeSpecListenerConnectionPoolHttp2OutputWithContext(ctx context.Context) VirtualNodeSpecListenerConnectionPoolHttp2Output { + return o +} + +func (o VirtualNodeSpecListenerConnectionPoolHttp2Output) ToVirtualNodeSpecListenerConnectionPoolHttp2PtrOutput() VirtualNodeSpecListenerConnectionPoolHttp2PtrOutput { + return o.ToVirtualNodeSpecListenerConnectionPoolHttp2PtrOutputWithContext(context.Background()) +} + +func (o VirtualNodeSpecListenerConnectionPoolHttp2Output) ToVirtualNodeSpecListenerConnectionPoolHttp2PtrOutputWithContext(ctx context.Context) VirtualNodeSpecListenerConnectionPoolHttp2PtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v VirtualNodeSpecListenerConnectionPoolHttp2) *VirtualNodeSpecListenerConnectionPoolHttp2 { + return &v + }).(VirtualNodeSpecListenerConnectionPoolHttp2PtrOutput) +} + +// Maximum number of inflight requests Envoy can concurrently support across hosts in upstream cluster. Minimum value of `1`. +func (o VirtualNodeSpecListenerConnectionPoolHttp2Output) MaxRequests() pulumi.IntOutput { + return o.ApplyT(func(v VirtualNodeSpecListenerConnectionPoolHttp2) int { return v.MaxRequests }).(pulumi.IntOutput) +} + +type VirtualNodeSpecListenerConnectionPoolHttp2PtrOutput struct{ *pulumi.OutputState } + +func (VirtualNodeSpecListenerConnectionPoolHttp2PtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**VirtualNodeSpecListenerConnectionPoolHttp2)(nil)).Elem() +} + +func (o VirtualNodeSpecListenerConnectionPoolHttp2PtrOutput) ToVirtualNodeSpecListenerConnectionPoolHttp2PtrOutput() VirtualNodeSpecListenerConnectionPoolHttp2PtrOutput { + return o +} + +func (o VirtualNodeSpecListenerConnectionPoolHttp2PtrOutput) ToVirtualNodeSpecListenerConnectionPoolHttp2PtrOutputWithContext(ctx context.Context) VirtualNodeSpecListenerConnectionPoolHttp2PtrOutput { + return o +} + +func (o VirtualNodeSpecListenerConnectionPoolHttp2PtrOutput) Elem() VirtualNodeSpecListenerConnectionPoolHttp2Output { + return o.ApplyT(func(v *VirtualNodeSpecListenerConnectionPoolHttp2) VirtualNodeSpecListenerConnectionPoolHttp2 { + if v != nil { + return *v + } + var ret VirtualNodeSpecListenerConnectionPoolHttp2 + return ret + }).(VirtualNodeSpecListenerConnectionPoolHttp2Output) +} + +// Maximum number of inflight requests Envoy can concurrently support across hosts in upstream cluster. Minimum value of `1`. +func (o VirtualNodeSpecListenerConnectionPoolHttp2PtrOutput) MaxRequests() pulumi.IntPtrOutput { + return o.ApplyT(func(v *VirtualNodeSpecListenerConnectionPoolHttp2) *int { + if v == nil { + return nil + } + return &v.MaxRequests + }).(pulumi.IntPtrOutput) +} + +type VirtualNodeSpecListenerConnectionPoolHttp struct { + // Maximum number of outbound TCP connections Envoy can establish concurrently with all hosts in upstream cluster. Minimum value of `1`. + MaxConnections int `pulumi:"maxConnections"` + // Number of overflowing requests after `maxConnections` Envoy will queue to upstream cluster. Minimum value of `1`. + MaxPendingRequests *int `pulumi:"maxPendingRequests"` +} + +// VirtualNodeSpecListenerConnectionPoolHttpInput is an input type that accepts VirtualNodeSpecListenerConnectionPoolHttpArgs and VirtualNodeSpecListenerConnectionPoolHttpOutput values. +// You can construct a concrete instance of `VirtualNodeSpecListenerConnectionPoolHttpInput` via: +// +// VirtualNodeSpecListenerConnectionPoolHttpArgs{...} +type VirtualNodeSpecListenerConnectionPoolHttpInput interface { + pulumi.Input + + ToVirtualNodeSpecListenerConnectionPoolHttpOutput() VirtualNodeSpecListenerConnectionPoolHttpOutput + ToVirtualNodeSpecListenerConnectionPoolHttpOutputWithContext(context.Context) VirtualNodeSpecListenerConnectionPoolHttpOutput +} + +type VirtualNodeSpecListenerConnectionPoolHttpArgs struct { + // Maximum number of outbound TCP connections Envoy can establish concurrently with all hosts in upstream cluster. Minimum value of `1`. + MaxConnections pulumi.IntInput `pulumi:"maxConnections"` + // Number of overflowing requests after `maxConnections` Envoy will queue to upstream cluster. Minimum value of `1`. + MaxPendingRequests pulumi.IntPtrInput `pulumi:"maxPendingRequests"` +} + +func (VirtualNodeSpecListenerConnectionPoolHttpArgs) ElementType() reflect.Type { + return reflect.TypeOf((*VirtualNodeSpecListenerConnectionPoolHttp)(nil)).Elem() +} + +func (i VirtualNodeSpecListenerConnectionPoolHttpArgs) ToVirtualNodeSpecListenerConnectionPoolHttpOutput() VirtualNodeSpecListenerConnectionPoolHttpOutput { + return i.ToVirtualNodeSpecListenerConnectionPoolHttpOutputWithContext(context.Background()) +} + +func (i VirtualNodeSpecListenerConnectionPoolHttpArgs) ToVirtualNodeSpecListenerConnectionPoolHttpOutputWithContext(ctx context.Context) VirtualNodeSpecListenerConnectionPoolHttpOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecListenerConnectionPoolHttpOutput) +} + +func (i VirtualNodeSpecListenerConnectionPoolHttpArgs) ToVirtualNodeSpecListenerConnectionPoolHttpPtrOutput() VirtualNodeSpecListenerConnectionPoolHttpPtrOutput { + return i.ToVirtualNodeSpecListenerConnectionPoolHttpPtrOutputWithContext(context.Background()) +} + +func (i VirtualNodeSpecListenerConnectionPoolHttpArgs) ToVirtualNodeSpecListenerConnectionPoolHttpPtrOutputWithContext(ctx context.Context) VirtualNodeSpecListenerConnectionPoolHttpPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecListenerConnectionPoolHttpOutput).ToVirtualNodeSpecListenerConnectionPoolHttpPtrOutputWithContext(ctx) +} + +// VirtualNodeSpecListenerConnectionPoolHttpPtrInput is an input type that accepts VirtualNodeSpecListenerConnectionPoolHttpArgs, VirtualNodeSpecListenerConnectionPoolHttpPtr and VirtualNodeSpecListenerConnectionPoolHttpPtrOutput values. +// You can construct a concrete instance of `VirtualNodeSpecListenerConnectionPoolHttpPtrInput` via: +// +// VirtualNodeSpecListenerConnectionPoolHttpArgs{...} +// +// or: +// +// nil +type VirtualNodeSpecListenerConnectionPoolHttpPtrInput interface { + pulumi.Input + + ToVirtualNodeSpecListenerConnectionPoolHttpPtrOutput() VirtualNodeSpecListenerConnectionPoolHttpPtrOutput + ToVirtualNodeSpecListenerConnectionPoolHttpPtrOutputWithContext(context.Context) VirtualNodeSpecListenerConnectionPoolHttpPtrOutput +} + +type virtualNodeSpecListenerConnectionPoolHttpPtrType VirtualNodeSpecListenerConnectionPoolHttpArgs + +func VirtualNodeSpecListenerConnectionPoolHttpPtr(v *VirtualNodeSpecListenerConnectionPoolHttpArgs) VirtualNodeSpecListenerConnectionPoolHttpPtrInput { + return (*virtualNodeSpecListenerConnectionPoolHttpPtrType)(v) +} + +func (*virtualNodeSpecListenerConnectionPoolHttpPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**VirtualNodeSpecListenerConnectionPoolHttp)(nil)).Elem() +} + +func (i *virtualNodeSpecListenerConnectionPoolHttpPtrType) ToVirtualNodeSpecListenerConnectionPoolHttpPtrOutput() VirtualNodeSpecListenerConnectionPoolHttpPtrOutput { + return i.ToVirtualNodeSpecListenerConnectionPoolHttpPtrOutputWithContext(context.Background()) +} + +func (i *virtualNodeSpecListenerConnectionPoolHttpPtrType) ToVirtualNodeSpecListenerConnectionPoolHttpPtrOutputWithContext(ctx context.Context) VirtualNodeSpecListenerConnectionPoolHttpPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecListenerConnectionPoolHttpPtrOutput) +} + +type VirtualNodeSpecListenerConnectionPoolHttpOutput struct{ *pulumi.OutputState } + +func (VirtualNodeSpecListenerConnectionPoolHttpOutput) ElementType() reflect.Type { + return reflect.TypeOf((*VirtualNodeSpecListenerConnectionPoolHttp)(nil)).Elem() +} + +func (o VirtualNodeSpecListenerConnectionPoolHttpOutput) ToVirtualNodeSpecListenerConnectionPoolHttpOutput() VirtualNodeSpecListenerConnectionPoolHttpOutput { + return o +} + +func (o VirtualNodeSpecListenerConnectionPoolHttpOutput) ToVirtualNodeSpecListenerConnectionPoolHttpOutputWithContext(ctx context.Context) VirtualNodeSpecListenerConnectionPoolHttpOutput { + return o +} + +func (o VirtualNodeSpecListenerConnectionPoolHttpOutput) ToVirtualNodeSpecListenerConnectionPoolHttpPtrOutput() VirtualNodeSpecListenerConnectionPoolHttpPtrOutput { + return o.ToVirtualNodeSpecListenerConnectionPoolHttpPtrOutputWithContext(context.Background()) +} + +func (o VirtualNodeSpecListenerConnectionPoolHttpOutput) ToVirtualNodeSpecListenerConnectionPoolHttpPtrOutputWithContext(ctx context.Context) VirtualNodeSpecListenerConnectionPoolHttpPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v VirtualNodeSpecListenerConnectionPoolHttp) *VirtualNodeSpecListenerConnectionPoolHttp { + return &v + }).(VirtualNodeSpecListenerConnectionPoolHttpPtrOutput) +} + +// Maximum number of outbound TCP connections Envoy can establish concurrently with all hosts in upstream cluster. Minimum value of `1`. +func (o VirtualNodeSpecListenerConnectionPoolHttpOutput) MaxConnections() pulumi.IntOutput { + return o.ApplyT(func(v VirtualNodeSpecListenerConnectionPoolHttp) int { return v.MaxConnections }).(pulumi.IntOutput) +} + +// Number of overflowing requests after `maxConnections` Envoy will queue to upstream cluster. Minimum value of `1`. +func (o VirtualNodeSpecListenerConnectionPoolHttpOutput) MaxPendingRequests() pulumi.IntPtrOutput { + return o.ApplyT(func(v VirtualNodeSpecListenerConnectionPoolHttp) *int { return v.MaxPendingRequests }).(pulumi.IntPtrOutput) +} + +type VirtualNodeSpecListenerConnectionPoolHttpPtrOutput struct{ *pulumi.OutputState } + +func (VirtualNodeSpecListenerConnectionPoolHttpPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**VirtualNodeSpecListenerConnectionPoolHttp)(nil)).Elem() +} + +func (o VirtualNodeSpecListenerConnectionPoolHttpPtrOutput) ToVirtualNodeSpecListenerConnectionPoolHttpPtrOutput() VirtualNodeSpecListenerConnectionPoolHttpPtrOutput { + return o +} + +func (o VirtualNodeSpecListenerConnectionPoolHttpPtrOutput) ToVirtualNodeSpecListenerConnectionPoolHttpPtrOutputWithContext(ctx context.Context) VirtualNodeSpecListenerConnectionPoolHttpPtrOutput { + return o +} + +func (o VirtualNodeSpecListenerConnectionPoolHttpPtrOutput) Elem() VirtualNodeSpecListenerConnectionPoolHttpOutput { + return o.ApplyT(func(v *VirtualNodeSpecListenerConnectionPoolHttp) VirtualNodeSpecListenerConnectionPoolHttp { + if v != nil { + return *v + } + var ret VirtualNodeSpecListenerConnectionPoolHttp + return ret + }).(VirtualNodeSpecListenerConnectionPoolHttpOutput) +} + +// Maximum number of outbound TCP connections Envoy can establish concurrently with all hosts in upstream cluster. Minimum value of `1`. +func (o VirtualNodeSpecListenerConnectionPoolHttpPtrOutput) MaxConnections() pulumi.IntPtrOutput { + return o.ApplyT(func(v *VirtualNodeSpecListenerConnectionPoolHttp) *int { + if v == nil { + return nil + } + return &v.MaxConnections + }).(pulumi.IntPtrOutput) +} + +// Number of overflowing requests after `maxConnections` Envoy will queue to upstream cluster. Minimum value of `1`. +func (o VirtualNodeSpecListenerConnectionPoolHttpPtrOutput) MaxPendingRequests() pulumi.IntPtrOutput { + return o.ApplyT(func(v *VirtualNodeSpecListenerConnectionPoolHttp) *int { + if v == nil { + return nil + } + return v.MaxPendingRequests + }).(pulumi.IntPtrOutput) +} + +type VirtualNodeSpecListenerConnectionPoolTcp struct { + // Maximum number of outbound TCP connections Envoy can establish concurrently with all hosts in upstream cluster. Minimum value of `1`. + MaxConnections int `pulumi:"maxConnections"` +} + +// VirtualNodeSpecListenerConnectionPoolTcpInput is an input type that accepts VirtualNodeSpecListenerConnectionPoolTcpArgs and VirtualNodeSpecListenerConnectionPoolTcpOutput values. +// You can construct a concrete instance of `VirtualNodeSpecListenerConnectionPoolTcpInput` via: +// +// VirtualNodeSpecListenerConnectionPoolTcpArgs{...} +type VirtualNodeSpecListenerConnectionPoolTcpInput interface { + pulumi.Input + + ToVirtualNodeSpecListenerConnectionPoolTcpOutput() VirtualNodeSpecListenerConnectionPoolTcpOutput + ToVirtualNodeSpecListenerConnectionPoolTcpOutputWithContext(context.Context) VirtualNodeSpecListenerConnectionPoolTcpOutput +} + +type VirtualNodeSpecListenerConnectionPoolTcpArgs struct { + // Maximum number of outbound TCP connections Envoy can establish concurrently with all hosts in upstream cluster. Minimum value of `1`. + MaxConnections pulumi.IntInput `pulumi:"maxConnections"` +} + +func (VirtualNodeSpecListenerConnectionPoolTcpArgs) ElementType() reflect.Type { + return reflect.TypeOf((*VirtualNodeSpecListenerConnectionPoolTcp)(nil)).Elem() +} + +func (i VirtualNodeSpecListenerConnectionPoolTcpArgs) ToVirtualNodeSpecListenerConnectionPoolTcpOutput() VirtualNodeSpecListenerConnectionPoolTcpOutput { + return i.ToVirtualNodeSpecListenerConnectionPoolTcpOutputWithContext(context.Background()) +} + +func (i VirtualNodeSpecListenerConnectionPoolTcpArgs) ToVirtualNodeSpecListenerConnectionPoolTcpOutputWithContext(ctx context.Context) VirtualNodeSpecListenerConnectionPoolTcpOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecListenerConnectionPoolTcpOutput) +} + +func (i VirtualNodeSpecListenerConnectionPoolTcpArgs) ToVirtualNodeSpecListenerConnectionPoolTcpPtrOutput() VirtualNodeSpecListenerConnectionPoolTcpPtrOutput { + return i.ToVirtualNodeSpecListenerConnectionPoolTcpPtrOutputWithContext(context.Background()) +} + +func (i VirtualNodeSpecListenerConnectionPoolTcpArgs) ToVirtualNodeSpecListenerConnectionPoolTcpPtrOutputWithContext(ctx context.Context) VirtualNodeSpecListenerConnectionPoolTcpPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecListenerConnectionPoolTcpOutput).ToVirtualNodeSpecListenerConnectionPoolTcpPtrOutputWithContext(ctx) +} + +// VirtualNodeSpecListenerConnectionPoolTcpPtrInput is an input type that accepts VirtualNodeSpecListenerConnectionPoolTcpArgs, VirtualNodeSpecListenerConnectionPoolTcpPtr and VirtualNodeSpecListenerConnectionPoolTcpPtrOutput values. +// You can construct a concrete instance of `VirtualNodeSpecListenerConnectionPoolTcpPtrInput` via: +// +// VirtualNodeSpecListenerConnectionPoolTcpArgs{...} +// +// or: +// +// nil +type VirtualNodeSpecListenerConnectionPoolTcpPtrInput interface { + pulumi.Input + + ToVirtualNodeSpecListenerConnectionPoolTcpPtrOutput() VirtualNodeSpecListenerConnectionPoolTcpPtrOutput + ToVirtualNodeSpecListenerConnectionPoolTcpPtrOutputWithContext(context.Context) VirtualNodeSpecListenerConnectionPoolTcpPtrOutput +} + +type virtualNodeSpecListenerConnectionPoolTcpPtrType VirtualNodeSpecListenerConnectionPoolTcpArgs + +func VirtualNodeSpecListenerConnectionPoolTcpPtr(v *VirtualNodeSpecListenerConnectionPoolTcpArgs) VirtualNodeSpecListenerConnectionPoolTcpPtrInput { + return (*virtualNodeSpecListenerConnectionPoolTcpPtrType)(v) +} + +func (*virtualNodeSpecListenerConnectionPoolTcpPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**VirtualNodeSpecListenerConnectionPoolTcp)(nil)).Elem() +} + +func (i *virtualNodeSpecListenerConnectionPoolTcpPtrType) ToVirtualNodeSpecListenerConnectionPoolTcpPtrOutput() VirtualNodeSpecListenerConnectionPoolTcpPtrOutput { + return i.ToVirtualNodeSpecListenerConnectionPoolTcpPtrOutputWithContext(context.Background()) +} + +func (i *virtualNodeSpecListenerConnectionPoolTcpPtrType) ToVirtualNodeSpecListenerConnectionPoolTcpPtrOutputWithContext(ctx context.Context) VirtualNodeSpecListenerConnectionPoolTcpPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecListenerConnectionPoolTcpPtrOutput) +} + +type VirtualNodeSpecListenerConnectionPoolTcpOutput struct{ *pulumi.OutputState } + +func (VirtualNodeSpecListenerConnectionPoolTcpOutput) ElementType() reflect.Type { + return reflect.TypeOf((*VirtualNodeSpecListenerConnectionPoolTcp)(nil)).Elem() +} + +func (o VirtualNodeSpecListenerConnectionPoolTcpOutput) ToVirtualNodeSpecListenerConnectionPoolTcpOutput() VirtualNodeSpecListenerConnectionPoolTcpOutput { + return o +} + +func (o VirtualNodeSpecListenerConnectionPoolTcpOutput) ToVirtualNodeSpecListenerConnectionPoolTcpOutputWithContext(ctx context.Context) VirtualNodeSpecListenerConnectionPoolTcpOutput { + return o +} + +func (o VirtualNodeSpecListenerConnectionPoolTcpOutput) ToVirtualNodeSpecListenerConnectionPoolTcpPtrOutput() VirtualNodeSpecListenerConnectionPoolTcpPtrOutput { + return o.ToVirtualNodeSpecListenerConnectionPoolTcpPtrOutputWithContext(context.Background()) +} + +func (o VirtualNodeSpecListenerConnectionPoolTcpOutput) ToVirtualNodeSpecListenerConnectionPoolTcpPtrOutputWithContext(ctx context.Context) VirtualNodeSpecListenerConnectionPoolTcpPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v VirtualNodeSpecListenerConnectionPoolTcp) *VirtualNodeSpecListenerConnectionPoolTcp { + return &v + }).(VirtualNodeSpecListenerConnectionPoolTcpPtrOutput) +} + +// Maximum number of outbound TCP connections Envoy can establish concurrently with all hosts in upstream cluster. Minimum value of `1`. +func (o VirtualNodeSpecListenerConnectionPoolTcpOutput) MaxConnections() pulumi.IntOutput { + return o.ApplyT(func(v VirtualNodeSpecListenerConnectionPoolTcp) int { return v.MaxConnections }).(pulumi.IntOutput) +} + +type VirtualNodeSpecListenerConnectionPoolTcpPtrOutput struct{ *pulumi.OutputState } + +func (VirtualNodeSpecListenerConnectionPoolTcpPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**VirtualNodeSpecListenerConnectionPoolTcp)(nil)).Elem() +} + +func (o VirtualNodeSpecListenerConnectionPoolTcpPtrOutput) ToVirtualNodeSpecListenerConnectionPoolTcpPtrOutput() VirtualNodeSpecListenerConnectionPoolTcpPtrOutput { + return o +} + +func (o VirtualNodeSpecListenerConnectionPoolTcpPtrOutput) ToVirtualNodeSpecListenerConnectionPoolTcpPtrOutputWithContext(ctx context.Context) VirtualNodeSpecListenerConnectionPoolTcpPtrOutput { + return o +} + +func (o VirtualNodeSpecListenerConnectionPoolTcpPtrOutput) Elem() VirtualNodeSpecListenerConnectionPoolTcpOutput { + return o.ApplyT(func(v *VirtualNodeSpecListenerConnectionPoolTcp) VirtualNodeSpecListenerConnectionPoolTcp { + if v != nil { + return *v + } + var ret VirtualNodeSpecListenerConnectionPoolTcp + return ret + }).(VirtualNodeSpecListenerConnectionPoolTcpOutput) +} + +// Maximum number of outbound TCP connections Envoy can establish concurrently with all hosts in upstream cluster. Minimum value of `1`. +func (o VirtualNodeSpecListenerConnectionPoolTcpPtrOutput) MaxConnections() pulumi.IntPtrOutput { + return o.ApplyT(func(v *VirtualNodeSpecListenerConnectionPoolTcp) *int { + if v == nil { + return nil + } + return &v.MaxConnections + }).(pulumi.IntPtrOutput) +} + +type VirtualNodeSpecListenerHealthCheck struct { + // Number of consecutive successful health checks that must occur before declaring listener healthy. + HealthyThreshold int `pulumi:"healthyThreshold"` + // Time period in milliseconds between each health check execution. + IntervalMillis int `pulumi:"intervalMillis"` + // Destination path for the health check request. This is only required if the specified protocol is `http` or `http2`. + Path *string `pulumi:"path"` + // Destination port for the health check request. This port must match the port defined in the `portMapping` for the listener. + Port *int `pulumi:"port"` + // Protocol for the health check request. Valid values are `http`, `http2`, `tcp` and `grpc`. + Protocol string `pulumi:"protocol"` + // Amount of time to wait when receiving a response from the health check, in milliseconds. + TimeoutMillis int `pulumi:"timeoutMillis"` + // Number of consecutive failed health checks that must occur before declaring a virtual node unhealthy. + UnhealthyThreshold int `pulumi:"unhealthyThreshold"` +} + +// VirtualNodeSpecListenerHealthCheckInput is an input type that accepts VirtualNodeSpecListenerHealthCheckArgs and VirtualNodeSpecListenerHealthCheckOutput values. +// You can construct a concrete instance of `VirtualNodeSpecListenerHealthCheckInput` via: +// +// VirtualNodeSpecListenerHealthCheckArgs{...} +type VirtualNodeSpecListenerHealthCheckInput interface { + pulumi.Input + + ToVirtualNodeSpecListenerHealthCheckOutput() VirtualNodeSpecListenerHealthCheckOutput + ToVirtualNodeSpecListenerHealthCheckOutputWithContext(context.Context) VirtualNodeSpecListenerHealthCheckOutput +} + +type VirtualNodeSpecListenerHealthCheckArgs struct { + // Number of consecutive successful health checks that must occur before declaring listener healthy. + HealthyThreshold pulumi.IntInput `pulumi:"healthyThreshold"` + // Time period in milliseconds between each health check execution. + IntervalMillis pulumi.IntInput `pulumi:"intervalMillis"` + // Destination path for the health check request. This is only required if the specified protocol is `http` or `http2`. + Path pulumi.StringPtrInput `pulumi:"path"` + // Destination port for the health check request. This port must match the port defined in the `portMapping` for the listener. + Port pulumi.IntPtrInput `pulumi:"port"` + // Protocol for the health check request. Valid values are `http`, `http2`, `tcp` and `grpc`. + Protocol pulumi.StringInput `pulumi:"protocol"` + // Amount of time to wait when receiving a response from the health check, in milliseconds. + TimeoutMillis pulumi.IntInput `pulumi:"timeoutMillis"` + // Number of consecutive failed health checks that must occur before declaring a virtual node unhealthy. + UnhealthyThreshold pulumi.IntInput `pulumi:"unhealthyThreshold"` +} + +func (VirtualNodeSpecListenerHealthCheckArgs) ElementType() reflect.Type { + return reflect.TypeOf((*VirtualNodeSpecListenerHealthCheck)(nil)).Elem() +} + +func (i VirtualNodeSpecListenerHealthCheckArgs) ToVirtualNodeSpecListenerHealthCheckOutput() VirtualNodeSpecListenerHealthCheckOutput { + return i.ToVirtualNodeSpecListenerHealthCheckOutputWithContext(context.Background()) +} + +func (i VirtualNodeSpecListenerHealthCheckArgs) ToVirtualNodeSpecListenerHealthCheckOutputWithContext(ctx context.Context) VirtualNodeSpecListenerHealthCheckOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecListenerHealthCheckOutput) +} + +func (i VirtualNodeSpecListenerHealthCheckArgs) ToVirtualNodeSpecListenerHealthCheckPtrOutput() VirtualNodeSpecListenerHealthCheckPtrOutput { + return i.ToVirtualNodeSpecListenerHealthCheckPtrOutputWithContext(context.Background()) +} + +func (i VirtualNodeSpecListenerHealthCheckArgs) ToVirtualNodeSpecListenerHealthCheckPtrOutputWithContext(ctx context.Context) VirtualNodeSpecListenerHealthCheckPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecListenerHealthCheckOutput).ToVirtualNodeSpecListenerHealthCheckPtrOutputWithContext(ctx) +} + +// VirtualNodeSpecListenerHealthCheckPtrInput is an input type that accepts VirtualNodeSpecListenerHealthCheckArgs, VirtualNodeSpecListenerHealthCheckPtr and VirtualNodeSpecListenerHealthCheckPtrOutput values. +// You can construct a concrete instance of `VirtualNodeSpecListenerHealthCheckPtrInput` via: +// +// VirtualNodeSpecListenerHealthCheckArgs{...} +// +// or: +// +// nil +type VirtualNodeSpecListenerHealthCheckPtrInput interface { + pulumi.Input + + ToVirtualNodeSpecListenerHealthCheckPtrOutput() VirtualNodeSpecListenerHealthCheckPtrOutput + ToVirtualNodeSpecListenerHealthCheckPtrOutputWithContext(context.Context) VirtualNodeSpecListenerHealthCheckPtrOutput +} + +type virtualNodeSpecListenerHealthCheckPtrType VirtualNodeSpecListenerHealthCheckArgs + +func VirtualNodeSpecListenerHealthCheckPtr(v *VirtualNodeSpecListenerHealthCheckArgs) VirtualNodeSpecListenerHealthCheckPtrInput { + return (*virtualNodeSpecListenerHealthCheckPtrType)(v) +} + +func (*virtualNodeSpecListenerHealthCheckPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**VirtualNodeSpecListenerHealthCheck)(nil)).Elem() +} + +func (i *virtualNodeSpecListenerHealthCheckPtrType) ToVirtualNodeSpecListenerHealthCheckPtrOutput() VirtualNodeSpecListenerHealthCheckPtrOutput { + return i.ToVirtualNodeSpecListenerHealthCheckPtrOutputWithContext(context.Background()) +} + +func (i *virtualNodeSpecListenerHealthCheckPtrType) ToVirtualNodeSpecListenerHealthCheckPtrOutputWithContext(ctx context.Context) VirtualNodeSpecListenerHealthCheckPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecListenerHealthCheckPtrOutput) +} + +type VirtualNodeSpecListenerHealthCheckOutput struct{ *pulumi.OutputState } + +func (VirtualNodeSpecListenerHealthCheckOutput) ElementType() reflect.Type { + return reflect.TypeOf((*VirtualNodeSpecListenerHealthCheck)(nil)).Elem() +} + +func (o VirtualNodeSpecListenerHealthCheckOutput) ToVirtualNodeSpecListenerHealthCheckOutput() VirtualNodeSpecListenerHealthCheckOutput { + return o +} + +func (o VirtualNodeSpecListenerHealthCheckOutput) ToVirtualNodeSpecListenerHealthCheckOutputWithContext(ctx context.Context) VirtualNodeSpecListenerHealthCheckOutput { + return o +} + +func (o VirtualNodeSpecListenerHealthCheckOutput) ToVirtualNodeSpecListenerHealthCheckPtrOutput() VirtualNodeSpecListenerHealthCheckPtrOutput { + return o.ToVirtualNodeSpecListenerHealthCheckPtrOutputWithContext(context.Background()) +} + +func (o VirtualNodeSpecListenerHealthCheckOutput) ToVirtualNodeSpecListenerHealthCheckPtrOutputWithContext(ctx context.Context) VirtualNodeSpecListenerHealthCheckPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v VirtualNodeSpecListenerHealthCheck) *VirtualNodeSpecListenerHealthCheck { + return &v + }).(VirtualNodeSpecListenerHealthCheckPtrOutput) +} + +// Number of consecutive successful health checks that must occur before declaring listener healthy. +func (o VirtualNodeSpecListenerHealthCheckOutput) HealthyThreshold() pulumi.IntOutput { + return o.ApplyT(func(v VirtualNodeSpecListenerHealthCheck) int { return v.HealthyThreshold }).(pulumi.IntOutput) +} + +// Time period in milliseconds between each health check execution. +func (o VirtualNodeSpecListenerHealthCheckOutput) IntervalMillis() pulumi.IntOutput { + return o.ApplyT(func(v VirtualNodeSpecListenerHealthCheck) int { return v.IntervalMillis }).(pulumi.IntOutput) +} + +// Destination path for the health check request. This is only required if the specified protocol is `http` or `http2`. +func (o VirtualNodeSpecListenerHealthCheckOutput) Path() pulumi.StringPtrOutput { + return o.ApplyT(func(v VirtualNodeSpecListenerHealthCheck) *string { return v.Path }).(pulumi.StringPtrOutput) +} + +// Destination port for the health check request. This port must match the port defined in the `portMapping` for the listener. +func (o VirtualNodeSpecListenerHealthCheckOutput) Port() pulumi.IntPtrOutput { + return o.ApplyT(func(v VirtualNodeSpecListenerHealthCheck) *int { return v.Port }).(pulumi.IntPtrOutput) +} + +// Protocol for the health check request. Valid values are `http`, `http2`, `tcp` and `grpc`. +func (o VirtualNodeSpecListenerHealthCheckOutput) Protocol() pulumi.StringOutput { + return o.ApplyT(func(v VirtualNodeSpecListenerHealthCheck) string { return v.Protocol }).(pulumi.StringOutput) +} + +// Amount of time to wait when receiving a response from the health check, in milliseconds. +func (o VirtualNodeSpecListenerHealthCheckOutput) TimeoutMillis() pulumi.IntOutput { + return o.ApplyT(func(v VirtualNodeSpecListenerHealthCheck) int { return v.TimeoutMillis }).(pulumi.IntOutput) +} + +// Number of consecutive failed health checks that must occur before declaring a virtual node unhealthy. +func (o VirtualNodeSpecListenerHealthCheckOutput) UnhealthyThreshold() pulumi.IntOutput { + return o.ApplyT(func(v VirtualNodeSpecListenerHealthCheck) int { return v.UnhealthyThreshold }).(pulumi.IntOutput) +} + +type VirtualNodeSpecListenerHealthCheckPtrOutput struct{ *pulumi.OutputState } + +func (VirtualNodeSpecListenerHealthCheckPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**VirtualNodeSpecListenerHealthCheck)(nil)).Elem() +} + +func (o VirtualNodeSpecListenerHealthCheckPtrOutput) ToVirtualNodeSpecListenerHealthCheckPtrOutput() VirtualNodeSpecListenerHealthCheckPtrOutput { + return o +} + +func (o VirtualNodeSpecListenerHealthCheckPtrOutput) ToVirtualNodeSpecListenerHealthCheckPtrOutputWithContext(ctx context.Context) VirtualNodeSpecListenerHealthCheckPtrOutput { + return o +} + +func (o VirtualNodeSpecListenerHealthCheckPtrOutput) Elem() VirtualNodeSpecListenerHealthCheckOutput { + return o.ApplyT(func(v *VirtualNodeSpecListenerHealthCheck) VirtualNodeSpecListenerHealthCheck { + if v != nil { + return *v + } + var ret VirtualNodeSpecListenerHealthCheck + return ret + }).(VirtualNodeSpecListenerHealthCheckOutput) +} + +// Number of consecutive successful health checks that must occur before declaring listener healthy. +func (o VirtualNodeSpecListenerHealthCheckPtrOutput) HealthyThreshold() pulumi.IntPtrOutput { + return o.ApplyT(func(v *VirtualNodeSpecListenerHealthCheck) *int { + if v == nil { + return nil + } + return &v.HealthyThreshold + }).(pulumi.IntPtrOutput) +} + +// Time period in milliseconds between each health check execution. +func (o VirtualNodeSpecListenerHealthCheckPtrOutput) IntervalMillis() pulumi.IntPtrOutput { + return o.ApplyT(func(v *VirtualNodeSpecListenerHealthCheck) *int { + if v == nil { + return nil + } + return &v.IntervalMillis + }).(pulumi.IntPtrOutput) +} + +// Destination path for the health check request. This is only required if the specified protocol is `http` or `http2`. +func (o VirtualNodeSpecListenerHealthCheckPtrOutput) Path() pulumi.StringPtrOutput { + return o.ApplyT(func(v *VirtualNodeSpecListenerHealthCheck) *string { + if v == nil { + return nil + } + return v.Path + }).(pulumi.StringPtrOutput) +} + +// Destination port for the health check request. This port must match the port defined in the `portMapping` for the listener. +func (o VirtualNodeSpecListenerHealthCheckPtrOutput) Port() pulumi.IntPtrOutput { + return o.ApplyT(func(v *VirtualNodeSpecListenerHealthCheck) *int { + if v == nil { + return nil + } + return v.Port + }).(pulumi.IntPtrOutput) +} + +// Protocol for the health check request. Valid values are `http`, `http2`, `tcp` and `grpc`. +func (o VirtualNodeSpecListenerHealthCheckPtrOutput) Protocol() pulumi.StringPtrOutput { + return o.ApplyT(func(v *VirtualNodeSpecListenerHealthCheck) *string { + if v == nil { + return nil + } + return &v.Protocol + }).(pulumi.StringPtrOutput) +} + +// Amount of time to wait when receiving a response from the health check, in milliseconds. +func (o VirtualNodeSpecListenerHealthCheckPtrOutput) TimeoutMillis() pulumi.IntPtrOutput { + return o.ApplyT(func(v *VirtualNodeSpecListenerHealthCheck) *int { + if v == nil { + return nil + } + return &v.TimeoutMillis + }).(pulumi.IntPtrOutput) +} + +// Number of consecutive failed health checks that must occur before declaring a virtual node unhealthy. +func (o VirtualNodeSpecListenerHealthCheckPtrOutput) UnhealthyThreshold() pulumi.IntPtrOutput { + return o.ApplyT(func(v *VirtualNodeSpecListenerHealthCheck) *int { + if v == nil { + return nil + } + return &v.UnhealthyThreshold + }).(pulumi.IntPtrOutput) +} + +type VirtualNodeSpecListenerOutlierDetection struct { + // Base amount of time for which a host is ejected. + BaseEjectionDuration VirtualNodeSpecListenerOutlierDetectionBaseEjectionDuration `pulumi:"baseEjectionDuration"` + // Time interval between ejection sweep analysis. + Interval VirtualNodeSpecListenerOutlierDetectionInterval `pulumi:"interval"` + // Maximum percentage of hosts in load balancing pool for upstream service that can be ejected. Will eject at least one host regardless of the value. + // Minimum value of `0`. Maximum value of `100`. + MaxEjectionPercent int `pulumi:"maxEjectionPercent"` + // Number of consecutive `5xx` errors required for ejection. Minimum value of `1`. + MaxServerErrors int `pulumi:"maxServerErrors"` +} + +// VirtualNodeSpecListenerOutlierDetectionInput is an input type that accepts VirtualNodeSpecListenerOutlierDetectionArgs and VirtualNodeSpecListenerOutlierDetectionOutput values. +// You can construct a concrete instance of `VirtualNodeSpecListenerOutlierDetectionInput` via: +// +// VirtualNodeSpecListenerOutlierDetectionArgs{...} +type VirtualNodeSpecListenerOutlierDetectionInput interface { + pulumi.Input + + ToVirtualNodeSpecListenerOutlierDetectionOutput() VirtualNodeSpecListenerOutlierDetectionOutput + ToVirtualNodeSpecListenerOutlierDetectionOutputWithContext(context.Context) VirtualNodeSpecListenerOutlierDetectionOutput +} + +type VirtualNodeSpecListenerOutlierDetectionArgs struct { + // Base amount of time for which a host is ejected. + BaseEjectionDuration VirtualNodeSpecListenerOutlierDetectionBaseEjectionDurationInput `pulumi:"baseEjectionDuration"` + // Time interval between ejection sweep analysis. + Interval VirtualNodeSpecListenerOutlierDetectionIntervalInput `pulumi:"interval"` + // Maximum percentage of hosts in load balancing pool for upstream service that can be ejected. Will eject at least one host regardless of the value. + // Minimum value of `0`. Maximum value of `100`. + MaxEjectionPercent pulumi.IntInput `pulumi:"maxEjectionPercent"` + // Number of consecutive `5xx` errors required for ejection. Minimum value of `1`. + MaxServerErrors pulumi.IntInput `pulumi:"maxServerErrors"` +} + +func (VirtualNodeSpecListenerOutlierDetectionArgs) ElementType() reflect.Type { + return reflect.TypeOf((*VirtualNodeSpecListenerOutlierDetection)(nil)).Elem() +} + +func (i VirtualNodeSpecListenerOutlierDetectionArgs) ToVirtualNodeSpecListenerOutlierDetectionOutput() VirtualNodeSpecListenerOutlierDetectionOutput { + return i.ToVirtualNodeSpecListenerOutlierDetectionOutputWithContext(context.Background()) +} + +func (i VirtualNodeSpecListenerOutlierDetectionArgs) ToVirtualNodeSpecListenerOutlierDetectionOutputWithContext(ctx context.Context) VirtualNodeSpecListenerOutlierDetectionOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecListenerOutlierDetectionOutput) +} + +func (i VirtualNodeSpecListenerOutlierDetectionArgs) ToVirtualNodeSpecListenerOutlierDetectionPtrOutput() VirtualNodeSpecListenerOutlierDetectionPtrOutput { + return i.ToVirtualNodeSpecListenerOutlierDetectionPtrOutputWithContext(context.Background()) +} + +func (i VirtualNodeSpecListenerOutlierDetectionArgs) ToVirtualNodeSpecListenerOutlierDetectionPtrOutputWithContext(ctx context.Context) VirtualNodeSpecListenerOutlierDetectionPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecListenerOutlierDetectionOutput).ToVirtualNodeSpecListenerOutlierDetectionPtrOutputWithContext(ctx) +} + +// VirtualNodeSpecListenerOutlierDetectionPtrInput is an input type that accepts VirtualNodeSpecListenerOutlierDetectionArgs, VirtualNodeSpecListenerOutlierDetectionPtr and VirtualNodeSpecListenerOutlierDetectionPtrOutput values. +// You can construct a concrete instance of `VirtualNodeSpecListenerOutlierDetectionPtrInput` via: +// +// VirtualNodeSpecListenerOutlierDetectionArgs{...} +// +// or: +// +// nil +type VirtualNodeSpecListenerOutlierDetectionPtrInput interface { + pulumi.Input + + ToVirtualNodeSpecListenerOutlierDetectionPtrOutput() VirtualNodeSpecListenerOutlierDetectionPtrOutput + ToVirtualNodeSpecListenerOutlierDetectionPtrOutputWithContext(context.Context) VirtualNodeSpecListenerOutlierDetectionPtrOutput +} + +type virtualNodeSpecListenerOutlierDetectionPtrType VirtualNodeSpecListenerOutlierDetectionArgs + +func VirtualNodeSpecListenerOutlierDetectionPtr(v *VirtualNodeSpecListenerOutlierDetectionArgs) VirtualNodeSpecListenerOutlierDetectionPtrInput { + return (*virtualNodeSpecListenerOutlierDetectionPtrType)(v) +} + +func (*virtualNodeSpecListenerOutlierDetectionPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**VirtualNodeSpecListenerOutlierDetection)(nil)).Elem() +} + +func (i *virtualNodeSpecListenerOutlierDetectionPtrType) ToVirtualNodeSpecListenerOutlierDetectionPtrOutput() VirtualNodeSpecListenerOutlierDetectionPtrOutput { + return i.ToVirtualNodeSpecListenerOutlierDetectionPtrOutputWithContext(context.Background()) +} + +func (i *virtualNodeSpecListenerOutlierDetectionPtrType) ToVirtualNodeSpecListenerOutlierDetectionPtrOutputWithContext(ctx context.Context) VirtualNodeSpecListenerOutlierDetectionPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecListenerOutlierDetectionPtrOutput) +} + +type VirtualNodeSpecListenerOutlierDetectionOutput struct{ *pulumi.OutputState } + +func (VirtualNodeSpecListenerOutlierDetectionOutput) ElementType() reflect.Type { + return reflect.TypeOf((*VirtualNodeSpecListenerOutlierDetection)(nil)).Elem() +} + +func (o VirtualNodeSpecListenerOutlierDetectionOutput) ToVirtualNodeSpecListenerOutlierDetectionOutput() VirtualNodeSpecListenerOutlierDetectionOutput { + return o +} + +func (o VirtualNodeSpecListenerOutlierDetectionOutput) ToVirtualNodeSpecListenerOutlierDetectionOutputWithContext(ctx context.Context) VirtualNodeSpecListenerOutlierDetectionOutput { + return o +} + +func (o VirtualNodeSpecListenerOutlierDetectionOutput) ToVirtualNodeSpecListenerOutlierDetectionPtrOutput() VirtualNodeSpecListenerOutlierDetectionPtrOutput { + return o.ToVirtualNodeSpecListenerOutlierDetectionPtrOutputWithContext(context.Background()) +} + +func (o VirtualNodeSpecListenerOutlierDetectionOutput) ToVirtualNodeSpecListenerOutlierDetectionPtrOutputWithContext(ctx context.Context) VirtualNodeSpecListenerOutlierDetectionPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v VirtualNodeSpecListenerOutlierDetection) *VirtualNodeSpecListenerOutlierDetection { + return &v + }).(VirtualNodeSpecListenerOutlierDetectionPtrOutput) +} + +// Base amount of time for which a host is ejected. +func (o VirtualNodeSpecListenerOutlierDetectionOutput) BaseEjectionDuration() VirtualNodeSpecListenerOutlierDetectionBaseEjectionDurationOutput { + return o.ApplyT(func(v VirtualNodeSpecListenerOutlierDetection) VirtualNodeSpecListenerOutlierDetectionBaseEjectionDuration { + return v.BaseEjectionDuration + }).(VirtualNodeSpecListenerOutlierDetectionBaseEjectionDurationOutput) +} + +// Time interval between ejection sweep analysis. +func (o VirtualNodeSpecListenerOutlierDetectionOutput) Interval() VirtualNodeSpecListenerOutlierDetectionIntervalOutput { + return o.ApplyT(func(v VirtualNodeSpecListenerOutlierDetection) VirtualNodeSpecListenerOutlierDetectionInterval { + return v.Interval + }).(VirtualNodeSpecListenerOutlierDetectionIntervalOutput) +} + +// Maximum percentage of hosts in load balancing pool for upstream service that can be ejected. Will eject at least one host regardless of the value. +// Minimum value of `0`. Maximum value of `100`. +func (o VirtualNodeSpecListenerOutlierDetectionOutput) MaxEjectionPercent() pulumi.IntOutput { + return o.ApplyT(func(v VirtualNodeSpecListenerOutlierDetection) int { return v.MaxEjectionPercent }).(pulumi.IntOutput) +} + +// Number of consecutive `5xx` errors required for ejection. Minimum value of `1`. +func (o VirtualNodeSpecListenerOutlierDetectionOutput) MaxServerErrors() pulumi.IntOutput { + return o.ApplyT(func(v VirtualNodeSpecListenerOutlierDetection) int { return v.MaxServerErrors }).(pulumi.IntOutput) +} + +type VirtualNodeSpecListenerOutlierDetectionPtrOutput struct{ *pulumi.OutputState } + +func (VirtualNodeSpecListenerOutlierDetectionPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**VirtualNodeSpecListenerOutlierDetection)(nil)).Elem() +} + +func (o VirtualNodeSpecListenerOutlierDetectionPtrOutput) ToVirtualNodeSpecListenerOutlierDetectionPtrOutput() VirtualNodeSpecListenerOutlierDetectionPtrOutput { + return o +} + +func (o VirtualNodeSpecListenerOutlierDetectionPtrOutput) ToVirtualNodeSpecListenerOutlierDetectionPtrOutputWithContext(ctx context.Context) VirtualNodeSpecListenerOutlierDetectionPtrOutput { + return o +} + +func (o VirtualNodeSpecListenerOutlierDetectionPtrOutput) Elem() VirtualNodeSpecListenerOutlierDetectionOutput { + return o.ApplyT(func(v *VirtualNodeSpecListenerOutlierDetection) VirtualNodeSpecListenerOutlierDetection { + if v != nil { + return *v + } + var ret VirtualNodeSpecListenerOutlierDetection + return ret + }).(VirtualNodeSpecListenerOutlierDetectionOutput) +} + +// Base amount of time for which a host is ejected. +func (o VirtualNodeSpecListenerOutlierDetectionPtrOutput) BaseEjectionDuration() VirtualNodeSpecListenerOutlierDetectionBaseEjectionDurationPtrOutput { + return o.ApplyT(func(v *VirtualNodeSpecListenerOutlierDetection) *VirtualNodeSpecListenerOutlierDetectionBaseEjectionDuration { + if v == nil { + return nil + } + return &v.BaseEjectionDuration + }).(VirtualNodeSpecListenerOutlierDetectionBaseEjectionDurationPtrOutput) +} + +// Time interval between ejection sweep analysis. +func (o VirtualNodeSpecListenerOutlierDetectionPtrOutput) Interval() VirtualNodeSpecListenerOutlierDetectionIntervalPtrOutput { + return o.ApplyT(func(v *VirtualNodeSpecListenerOutlierDetection) *VirtualNodeSpecListenerOutlierDetectionInterval { + if v == nil { + return nil + } + return &v.Interval + }).(VirtualNodeSpecListenerOutlierDetectionIntervalPtrOutput) +} + +// Maximum percentage of hosts in load balancing pool for upstream service that can be ejected. Will eject at least one host regardless of the value. +// Minimum value of `0`. Maximum value of `100`. +func (o VirtualNodeSpecListenerOutlierDetectionPtrOutput) MaxEjectionPercent() pulumi.IntPtrOutput { + return o.ApplyT(func(v *VirtualNodeSpecListenerOutlierDetection) *int { + if v == nil { + return nil + } + return &v.MaxEjectionPercent + }).(pulumi.IntPtrOutput) +} + +// Number of consecutive `5xx` errors required for ejection. Minimum value of `1`. +func (o VirtualNodeSpecListenerOutlierDetectionPtrOutput) MaxServerErrors() pulumi.IntPtrOutput { + return o.ApplyT(func(v *VirtualNodeSpecListenerOutlierDetection) *int { + if v == nil { + return nil + } + return &v.MaxServerErrors + }).(pulumi.IntPtrOutput) +} + +type VirtualNodeSpecListenerOutlierDetectionBaseEjectionDuration struct { + // Unit of time. Valid values: `ms`, `s`. + Unit string `pulumi:"unit"` + // Number of time units. Minimum value of `0`. + Value int `pulumi:"value"` +} + +// VirtualNodeSpecListenerOutlierDetectionBaseEjectionDurationInput is an input type that accepts VirtualNodeSpecListenerOutlierDetectionBaseEjectionDurationArgs and VirtualNodeSpecListenerOutlierDetectionBaseEjectionDurationOutput values. +// You can construct a concrete instance of `VirtualNodeSpecListenerOutlierDetectionBaseEjectionDurationInput` via: +// +// VirtualNodeSpecListenerOutlierDetectionBaseEjectionDurationArgs{...} +type VirtualNodeSpecListenerOutlierDetectionBaseEjectionDurationInput interface { + pulumi.Input + + ToVirtualNodeSpecListenerOutlierDetectionBaseEjectionDurationOutput() VirtualNodeSpecListenerOutlierDetectionBaseEjectionDurationOutput + ToVirtualNodeSpecListenerOutlierDetectionBaseEjectionDurationOutputWithContext(context.Context) VirtualNodeSpecListenerOutlierDetectionBaseEjectionDurationOutput +} + +type VirtualNodeSpecListenerOutlierDetectionBaseEjectionDurationArgs struct { + // Unit of time. Valid values: `ms`, `s`. + Unit pulumi.StringInput `pulumi:"unit"` + // Number of time units. Minimum value of `0`. + Value pulumi.IntInput `pulumi:"value"` +} + +func (VirtualNodeSpecListenerOutlierDetectionBaseEjectionDurationArgs) ElementType() reflect.Type { + return reflect.TypeOf((*VirtualNodeSpecListenerOutlierDetectionBaseEjectionDuration)(nil)).Elem() +} + +func (i VirtualNodeSpecListenerOutlierDetectionBaseEjectionDurationArgs) ToVirtualNodeSpecListenerOutlierDetectionBaseEjectionDurationOutput() VirtualNodeSpecListenerOutlierDetectionBaseEjectionDurationOutput { + return i.ToVirtualNodeSpecListenerOutlierDetectionBaseEjectionDurationOutputWithContext(context.Background()) +} + +func (i VirtualNodeSpecListenerOutlierDetectionBaseEjectionDurationArgs) ToVirtualNodeSpecListenerOutlierDetectionBaseEjectionDurationOutputWithContext(ctx context.Context) VirtualNodeSpecListenerOutlierDetectionBaseEjectionDurationOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecListenerOutlierDetectionBaseEjectionDurationOutput) +} + +func (i VirtualNodeSpecListenerOutlierDetectionBaseEjectionDurationArgs) ToVirtualNodeSpecListenerOutlierDetectionBaseEjectionDurationPtrOutput() VirtualNodeSpecListenerOutlierDetectionBaseEjectionDurationPtrOutput { + return i.ToVirtualNodeSpecListenerOutlierDetectionBaseEjectionDurationPtrOutputWithContext(context.Background()) +} + +func (i VirtualNodeSpecListenerOutlierDetectionBaseEjectionDurationArgs) ToVirtualNodeSpecListenerOutlierDetectionBaseEjectionDurationPtrOutputWithContext(ctx context.Context) VirtualNodeSpecListenerOutlierDetectionBaseEjectionDurationPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecListenerOutlierDetectionBaseEjectionDurationOutput).ToVirtualNodeSpecListenerOutlierDetectionBaseEjectionDurationPtrOutputWithContext(ctx) +} + +// VirtualNodeSpecListenerOutlierDetectionBaseEjectionDurationPtrInput is an input type that accepts VirtualNodeSpecListenerOutlierDetectionBaseEjectionDurationArgs, VirtualNodeSpecListenerOutlierDetectionBaseEjectionDurationPtr and VirtualNodeSpecListenerOutlierDetectionBaseEjectionDurationPtrOutput values. +// You can construct a concrete instance of `VirtualNodeSpecListenerOutlierDetectionBaseEjectionDurationPtrInput` via: +// +// VirtualNodeSpecListenerOutlierDetectionBaseEjectionDurationArgs{...} +// +// or: +// +// nil +type VirtualNodeSpecListenerOutlierDetectionBaseEjectionDurationPtrInput interface { + pulumi.Input + + ToVirtualNodeSpecListenerOutlierDetectionBaseEjectionDurationPtrOutput() VirtualNodeSpecListenerOutlierDetectionBaseEjectionDurationPtrOutput + ToVirtualNodeSpecListenerOutlierDetectionBaseEjectionDurationPtrOutputWithContext(context.Context) VirtualNodeSpecListenerOutlierDetectionBaseEjectionDurationPtrOutput +} + +type virtualNodeSpecListenerOutlierDetectionBaseEjectionDurationPtrType VirtualNodeSpecListenerOutlierDetectionBaseEjectionDurationArgs + +func VirtualNodeSpecListenerOutlierDetectionBaseEjectionDurationPtr(v *VirtualNodeSpecListenerOutlierDetectionBaseEjectionDurationArgs) VirtualNodeSpecListenerOutlierDetectionBaseEjectionDurationPtrInput { + return (*virtualNodeSpecListenerOutlierDetectionBaseEjectionDurationPtrType)(v) +} + +func (*virtualNodeSpecListenerOutlierDetectionBaseEjectionDurationPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**VirtualNodeSpecListenerOutlierDetectionBaseEjectionDuration)(nil)).Elem() +} + +func (i *virtualNodeSpecListenerOutlierDetectionBaseEjectionDurationPtrType) ToVirtualNodeSpecListenerOutlierDetectionBaseEjectionDurationPtrOutput() VirtualNodeSpecListenerOutlierDetectionBaseEjectionDurationPtrOutput { + return i.ToVirtualNodeSpecListenerOutlierDetectionBaseEjectionDurationPtrOutputWithContext(context.Background()) +} + +func (i *virtualNodeSpecListenerOutlierDetectionBaseEjectionDurationPtrType) ToVirtualNodeSpecListenerOutlierDetectionBaseEjectionDurationPtrOutputWithContext(ctx context.Context) VirtualNodeSpecListenerOutlierDetectionBaseEjectionDurationPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecListenerOutlierDetectionBaseEjectionDurationPtrOutput) +} + +type VirtualNodeSpecListenerOutlierDetectionBaseEjectionDurationOutput struct{ *pulumi.OutputState } + +func (VirtualNodeSpecListenerOutlierDetectionBaseEjectionDurationOutput) ElementType() reflect.Type { + return reflect.TypeOf((*VirtualNodeSpecListenerOutlierDetectionBaseEjectionDuration)(nil)).Elem() +} + +func (o VirtualNodeSpecListenerOutlierDetectionBaseEjectionDurationOutput) ToVirtualNodeSpecListenerOutlierDetectionBaseEjectionDurationOutput() VirtualNodeSpecListenerOutlierDetectionBaseEjectionDurationOutput { + return o +} + +func (o VirtualNodeSpecListenerOutlierDetectionBaseEjectionDurationOutput) ToVirtualNodeSpecListenerOutlierDetectionBaseEjectionDurationOutputWithContext(ctx context.Context) VirtualNodeSpecListenerOutlierDetectionBaseEjectionDurationOutput { + return o +} + +func (o VirtualNodeSpecListenerOutlierDetectionBaseEjectionDurationOutput) ToVirtualNodeSpecListenerOutlierDetectionBaseEjectionDurationPtrOutput() VirtualNodeSpecListenerOutlierDetectionBaseEjectionDurationPtrOutput { + return o.ToVirtualNodeSpecListenerOutlierDetectionBaseEjectionDurationPtrOutputWithContext(context.Background()) +} + +func (o VirtualNodeSpecListenerOutlierDetectionBaseEjectionDurationOutput) ToVirtualNodeSpecListenerOutlierDetectionBaseEjectionDurationPtrOutputWithContext(ctx context.Context) VirtualNodeSpecListenerOutlierDetectionBaseEjectionDurationPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v VirtualNodeSpecListenerOutlierDetectionBaseEjectionDuration) *VirtualNodeSpecListenerOutlierDetectionBaseEjectionDuration { + return &v + }).(VirtualNodeSpecListenerOutlierDetectionBaseEjectionDurationPtrOutput) +} + +// Unit of time. Valid values: `ms`, `s`. +func (o VirtualNodeSpecListenerOutlierDetectionBaseEjectionDurationOutput) Unit() pulumi.StringOutput { + return o.ApplyT(func(v VirtualNodeSpecListenerOutlierDetectionBaseEjectionDuration) string { return v.Unit }).(pulumi.StringOutput) +} + +// Number of time units. Minimum value of `0`. +func (o VirtualNodeSpecListenerOutlierDetectionBaseEjectionDurationOutput) Value() pulumi.IntOutput { + return o.ApplyT(func(v VirtualNodeSpecListenerOutlierDetectionBaseEjectionDuration) int { return v.Value }).(pulumi.IntOutput) +} + +type VirtualNodeSpecListenerOutlierDetectionBaseEjectionDurationPtrOutput struct{ *pulumi.OutputState } + +func (VirtualNodeSpecListenerOutlierDetectionBaseEjectionDurationPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**VirtualNodeSpecListenerOutlierDetectionBaseEjectionDuration)(nil)).Elem() +} + +func (o VirtualNodeSpecListenerOutlierDetectionBaseEjectionDurationPtrOutput) ToVirtualNodeSpecListenerOutlierDetectionBaseEjectionDurationPtrOutput() VirtualNodeSpecListenerOutlierDetectionBaseEjectionDurationPtrOutput { + return o +} + +func (o VirtualNodeSpecListenerOutlierDetectionBaseEjectionDurationPtrOutput) ToVirtualNodeSpecListenerOutlierDetectionBaseEjectionDurationPtrOutputWithContext(ctx context.Context) VirtualNodeSpecListenerOutlierDetectionBaseEjectionDurationPtrOutput { + return o +} + +func (o VirtualNodeSpecListenerOutlierDetectionBaseEjectionDurationPtrOutput) Elem() VirtualNodeSpecListenerOutlierDetectionBaseEjectionDurationOutput { + return o.ApplyT(func(v *VirtualNodeSpecListenerOutlierDetectionBaseEjectionDuration) VirtualNodeSpecListenerOutlierDetectionBaseEjectionDuration { + if v != nil { + return *v + } + var ret VirtualNodeSpecListenerOutlierDetectionBaseEjectionDuration + return ret + }).(VirtualNodeSpecListenerOutlierDetectionBaseEjectionDurationOutput) +} + +// Unit of time. Valid values: `ms`, `s`. +func (o VirtualNodeSpecListenerOutlierDetectionBaseEjectionDurationPtrOutput) Unit() pulumi.StringPtrOutput { + return o.ApplyT(func(v *VirtualNodeSpecListenerOutlierDetectionBaseEjectionDuration) *string { + if v == nil { + return nil + } + return &v.Unit + }).(pulumi.StringPtrOutput) +} + +// Number of time units. Minimum value of `0`. +func (o VirtualNodeSpecListenerOutlierDetectionBaseEjectionDurationPtrOutput) Value() pulumi.IntPtrOutput { + return o.ApplyT(func(v *VirtualNodeSpecListenerOutlierDetectionBaseEjectionDuration) *int { + if v == nil { + return nil + } + return &v.Value + }).(pulumi.IntPtrOutput) +} + +type VirtualNodeSpecListenerOutlierDetectionInterval struct { + // Unit of time. Valid values: `ms`, `s`. + Unit string `pulumi:"unit"` + // The specified value for the JSON. Must be between 1 and 100 characters in length. + Value int `pulumi:"value"` +} + +// VirtualNodeSpecListenerOutlierDetectionIntervalInput is an input type that accepts VirtualNodeSpecListenerOutlierDetectionIntervalArgs and VirtualNodeSpecListenerOutlierDetectionIntervalOutput values. +// You can construct a concrete instance of `VirtualNodeSpecListenerOutlierDetectionIntervalInput` via: +// +// VirtualNodeSpecListenerOutlierDetectionIntervalArgs{...} +type VirtualNodeSpecListenerOutlierDetectionIntervalInput interface { + pulumi.Input + + ToVirtualNodeSpecListenerOutlierDetectionIntervalOutput() VirtualNodeSpecListenerOutlierDetectionIntervalOutput + ToVirtualNodeSpecListenerOutlierDetectionIntervalOutputWithContext(context.Context) VirtualNodeSpecListenerOutlierDetectionIntervalOutput +} + +type VirtualNodeSpecListenerOutlierDetectionIntervalArgs struct { + // Unit of time. Valid values: `ms`, `s`. + Unit pulumi.StringInput `pulumi:"unit"` + // The specified value for the JSON. Must be between 1 and 100 characters in length. + Value pulumi.IntInput `pulumi:"value"` +} + +func (VirtualNodeSpecListenerOutlierDetectionIntervalArgs) ElementType() reflect.Type { + return reflect.TypeOf((*VirtualNodeSpecListenerOutlierDetectionInterval)(nil)).Elem() +} + +func (i VirtualNodeSpecListenerOutlierDetectionIntervalArgs) ToVirtualNodeSpecListenerOutlierDetectionIntervalOutput() VirtualNodeSpecListenerOutlierDetectionIntervalOutput { + return i.ToVirtualNodeSpecListenerOutlierDetectionIntervalOutputWithContext(context.Background()) +} + +func (i VirtualNodeSpecListenerOutlierDetectionIntervalArgs) ToVirtualNodeSpecListenerOutlierDetectionIntervalOutputWithContext(ctx context.Context) VirtualNodeSpecListenerOutlierDetectionIntervalOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecListenerOutlierDetectionIntervalOutput) +} + +func (i VirtualNodeSpecListenerOutlierDetectionIntervalArgs) ToVirtualNodeSpecListenerOutlierDetectionIntervalPtrOutput() VirtualNodeSpecListenerOutlierDetectionIntervalPtrOutput { + return i.ToVirtualNodeSpecListenerOutlierDetectionIntervalPtrOutputWithContext(context.Background()) +} + +func (i VirtualNodeSpecListenerOutlierDetectionIntervalArgs) ToVirtualNodeSpecListenerOutlierDetectionIntervalPtrOutputWithContext(ctx context.Context) VirtualNodeSpecListenerOutlierDetectionIntervalPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecListenerOutlierDetectionIntervalOutput).ToVirtualNodeSpecListenerOutlierDetectionIntervalPtrOutputWithContext(ctx) +} + +// VirtualNodeSpecListenerOutlierDetectionIntervalPtrInput is an input type that accepts VirtualNodeSpecListenerOutlierDetectionIntervalArgs, VirtualNodeSpecListenerOutlierDetectionIntervalPtr and VirtualNodeSpecListenerOutlierDetectionIntervalPtrOutput values. +// You can construct a concrete instance of `VirtualNodeSpecListenerOutlierDetectionIntervalPtrInput` via: +// +// VirtualNodeSpecListenerOutlierDetectionIntervalArgs{...} +// +// or: +// +// nil +type VirtualNodeSpecListenerOutlierDetectionIntervalPtrInput interface { + pulumi.Input + + ToVirtualNodeSpecListenerOutlierDetectionIntervalPtrOutput() VirtualNodeSpecListenerOutlierDetectionIntervalPtrOutput + ToVirtualNodeSpecListenerOutlierDetectionIntervalPtrOutputWithContext(context.Context) VirtualNodeSpecListenerOutlierDetectionIntervalPtrOutput +} + +type virtualNodeSpecListenerOutlierDetectionIntervalPtrType VirtualNodeSpecListenerOutlierDetectionIntervalArgs + +func VirtualNodeSpecListenerOutlierDetectionIntervalPtr(v *VirtualNodeSpecListenerOutlierDetectionIntervalArgs) VirtualNodeSpecListenerOutlierDetectionIntervalPtrInput { + return (*virtualNodeSpecListenerOutlierDetectionIntervalPtrType)(v) +} + +func (*virtualNodeSpecListenerOutlierDetectionIntervalPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**VirtualNodeSpecListenerOutlierDetectionInterval)(nil)).Elem() +} + +func (i *virtualNodeSpecListenerOutlierDetectionIntervalPtrType) ToVirtualNodeSpecListenerOutlierDetectionIntervalPtrOutput() VirtualNodeSpecListenerOutlierDetectionIntervalPtrOutput { + return i.ToVirtualNodeSpecListenerOutlierDetectionIntervalPtrOutputWithContext(context.Background()) +} + +func (i *virtualNodeSpecListenerOutlierDetectionIntervalPtrType) ToVirtualNodeSpecListenerOutlierDetectionIntervalPtrOutputWithContext(ctx context.Context) VirtualNodeSpecListenerOutlierDetectionIntervalPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecListenerOutlierDetectionIntervalPtrOutput) +} + +type VirtualNodeSpecListenerOutlierDetectionIntervalOutput struct{ *pulumi.OutputState } + +func (VirtualNodeSpecListenerOutlierDetectionIntervalOutput) ElementType() reflect.Type { + return reflect.TypeOf((*VirtualNodeSpecListenerOutlierDetectionInterval)(nil)).Elem() +} + +func (o VirtualNodeSpecListenerOutlierDetectionIntervalOutput) ToVirtualNodeSpecListenerOutlierDetectionIntervalOutput() VirtualNodeSpecListenerOutlierDetectionIntervalOutput { + return o +} + +func (o VirtualNodeSpecListenerOutlierDetectionIntervalOutput) ToVirtualNodeSpecListenerOutlierDetectionIntervalOutputWithContext(ctx context.Context) VirtualNodeSpecListenerOutlierDetectionIntervalOutput { + return o +} + +func (o VirtualNodeSpecListenerOutlierDetectionIntervalOutput) ToVirtualNodeSpecListenerOutlierDetectionIntervalPtrOutput() VirtualNodeSpecListenerOutlierDetectionIntervalPtrOutput { + return o.ToVirtualNodeSpecListenerOutlierDetectionIntervalPtrOutputWithContext(context.Background()) +} + +func (o VirtualNodeSpecListenerOutlierDetectionIntervalOutput) ToVirtualNodeSpecListenerOutlierDetectionIntervalPtrOutputWithContext(ctx context.Context) VirtualNodeSpecListenerOutlierDetectionIntervalPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v VirtualNodeSpecListenerOutlierDetectionInterval) *VirtualNodeSpecListenerOutlierDetectionInterval { + return &v + }).(VirtualNodeSpecListenerOutlierDetectionIntervalPtrOutput) +} + +// Unit of time. Valid values: `ms`, `s`. +func (o VirtualNodeSpecListenerOutlierDetectionIntervalOutput) Unit() pulumi.StringOutput { + return o.ApplyT(func(v VirtualNodeSpecListenerOutlierDetectionInterval) string { return v.Unit }).(pulumi.StringOutput) +} + +// The specified value for the JSON. Must be between 1 and 100 characters in length. +func (o VirtualNodeSpecListenerOutlierDetectionIntervalOutput) Value() pulumi.IntOutput { + return o.ApplyT(func(v VirtualNodeSpecListenerOutlierDetectionInterval) int { return v.Value }).(pulumi.IntOutput) +} + +type VirtualNodeSpecListenerOutlierDetectionIntervalPtrOutput struct{ *pulumi.OutputState } + +func (VirtualNodeSpecListenerOutlierDetectionIntervalPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**VirtualNodeSpecListenerOutlierDetectionInterval)(nil)).Elem() +} + +func (o VirtualNodeSpecListenerOutlierDetectionIntervalPtrOutput) ToVirtualNodeSpecListenerOutlierDetectionIntervalPtrOutput() VirtualNodeSpecListenerOutlierDetectionIntervalPtrOutput { + return o +} + +func (o VirtualNodeSpecListenerOutlierDetectionIntervalPtrOutput) ToVirtualNodeSpecListenerOutlierDetectionIntervalPtrOutputWithContext(ctx context.Context) VirtualNodeSpecListenerOutlierDetectionIntervalPtrOutput { + return o +} + +func (o VirtualNodeSpecListenerOutlierDetectionIntervalPtrOutput) Elem() VirtualNodeSpecListenerOutlierDetectionIntervalOutput { + return o.ApplyT(func(v *VirtualNodeSpecListenerOutlierDetectionInterval) VirtualNodeSpecListenerOutlierDetectionInterval { + if v != nil { + return *v + } + var ret VirtualNodeSpecListenerOutlierDetectionInterval + return ret + }).(VirtualNodeSpecListenerOutlierDetectionIntervalOutput) +} + +// Unit of time. Valid values: `ms`, `s`. +func (o VirtualNodeSpecListenerOutlierDetectionIntervalPtrOutput) Unit() pulumi.StringPtrOutput { + return o.ApplyT(func(v *VirtualNodeSpecListenerOutlierDetectionInterval) *string { + if v == nil { + return nil + } + return &v.Unit + }).(pulumi.StringPtrOutput) +} + +// The specified value for the JSON. Must be between 1 and 100 characters in length. +func (o VirtualNodeSpecListenerOutlierDetectionIntervalPtrOutput) Value() pulumi.IntPtrOutput { + return o.ApplyT(func(v *VirtualNodeSpecListenerOutlierDetectionInterval) *int { + if v == nil { + return nil + } + return &v.Value + }).(pulumi.IntPtrOutput) +} + +type VirtualNodeSpecListenerPortMapping struct { + // Port used for the port mapping. + Port int `pulumi:"port"` + // Protocol used for the port mapping. Valid values are `http`, `http2`, `tcp` and `grpc`. + Protocol string `pulumi:"protocol"` +} + +// VirtualNodeSpecListenerPortMappingInput is an input type that accepts VirtualNodeSpecListenerPortMappingArgs and VirtualNodeSpecListenerPortMappingOutput values. +// You can construct a concrete instance of `VirtualNodeSpecListenerPortMappingInput` via: +// +// VirtualNodeSpecListenerPortMappingArgs{...} +type VirtualNodeSpecListenerPortMappingInput interface { + pulumi.Input + + ToVirtualNodeSpecListenerPortMappingOutput() VirtualNodeSpecListenerPortMappingOutput + ToVirtualNodeSpecListenerPortMappingOutputWithContext(context.Context) VirtualNodeSpecListenerPortMappingOutput +} + +type VirtualNodeSpecListenerPortMappingArgs struct { + // Port used for the port mapping. + Port pulumi.IntInput `pulumi:"port"` + // Protocol used for the port mapping. Valid values are `http`, `http2`, `tcp` and `grpc`. + Protocol pulumi.StringInput `pulumi:"protocol"` +} + +func (VirtualNodeSpecListenerPortMappingArgs) ElementType() reflect.Type { + return reflect.TypeOf((*VirtualNodeSpecListenerPortMapping)(nil)).Elem() +} + +func (i VirtualNodeSpecListenerPortMappingArgs) ToVirtualNodeSpecListenerPortMappingOutput() VirtualNodeSpecListenerPortMappingOutput { + return i.ToVirtualNodeSpecListenerPortMappingOutputWithContext(context.Background()) +} + +func (i VirtualNodeSpecListenerPortMappingArgs) ToVirtualNodeSpecListenerPortMappingOutputWithContext(ctx context.Context) VirtualNodeSpecListenerPortMappingOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecListenerPortMappingOutput) +} + +func (i VirtualNodeSpecListenerPortMappingArgs) ToVirtualNodeSpecListenerPortMappingPtrOutput() VirtualNodeSpecListenerPortMappingPtrOutput { + return i.ToVirtualNodeSpecListenerPortMappingPtrOutputWithContext(context.Background()) +} + +func (i VirtualNodeSpecListenerPortMappingArgs) ToVirtualNodeSpecListenerPortMappingPtrOutputWithContext(ctx context.Context) VirtualNodeSpecListenerPortMappingPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecListenerPortMappingOutput).ToVirtualNodeSpecListenerPortMappingPtrOutputWithContext(ctx) +} + +// VirtualNodeSpecListenerPortMappingPtrInput is an input type that accepts VirtualNodeSpecListenerPortMappingArgs, VirtualNodeSpecListenerPortMappingPtr and VirtualNodeSpecListenerPortMappingPtrOutput values. +// You can construct a concrete instance of `VirtualNodeSpecListenerPortMappingPtrInput` via: +// +// VirtualNodeSpecListenerPortMappingArgs{...} +// +// or: +// +// nil +type VirtualNodeSpecListenerPortMappingPtrInput interface { + pulumi.Input + + ToVirtualNodeSpecListenerPortMappingPtrOutput() VirtualNodeSpecListenerPortMappingPtrOutput + ToVirtualNodeSpecListenerPortMappingPtrOutputWithContext(context.Context) VirtualNodeSpecListenerPortMappingPtrOutput +} + +type virtualNodeSpecListenerPortMappingPtrType VirtualNodeSpecListenerPortMappingArgs + +func VirtualNodeSpecListenerPortMappingPtr(v *VirtualNodeSpecListenerPortMappingArgs) VirtualNodeSpecListenerPortMappingPtrInput { + return (*virtualNodeSpecListenerPortMappingPtrType)(v) +} + +func (*virtualNodeSpecListenerPortMappingPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**VirtualNodeSpecListenerPortMapping)(nil)).Elem() +} + +func (i *virtualNodeSpecListenerPortMappingPtrType) ToVirtualNodeSpecListenerPortMappingPtrOutput() VirtualNodeSpecListenerPortMappingPtrOutput { + return i.ToVirtualNodeSpecListenerPortMappingPtrOutputWithContext(context.Background()) +} + +func (i *virtualNodeSpecListenerPortMappingPtrType) ToVirtualNodeSpecListenerPortMappingPtrOutputWithContext(ctx context.Context) VirtualNodeSpecListenerPortMappingPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecListenerPortMappingPtrOutput) +} + +type VirtualNodeSpecListenerPortMappingOutput struct{ *pulumi.OutputState } + +func (VirtualNodeSpecListenerPortMappingOutput) ElementType() reflect.Type { + return reflect.TypeOf((*VirtualNodeSpecListenerPortMapping)(nil)).Elem() +} + +func (o VirtualNodeSpecListenerPortMappingOutput) ToVirtualNodeSpecListenerPortMappingOutput() VirtualNodeSpecListenerPortMappingOutput { + return o +} + +func (o VirtualNodeSpecListenerPortMappingOutput) ToVirtualNodeSpecListenerPortMappingOutputWithContext(ctx context.Context) VirtualNodeSpecListenerPortMappingOutput { + return o +} + +func (o VirtualNodeSpecListenerPortMappingOutput) ToVirtualNodeSpecListenerPortMappingPtrOutput() VirtualNodeSpecListenerPortMappingPtrOutput { + return o.ToVirtualNodeSpecListenerPortMappingPtrOutputWithContext(context.Background()) +} + +func (o VirtualNodeSpecListenerPortMappingOutput) ToVirtualNodeSpecListenerPortMappingPtrOutputWithContext(ctx context.Context) VirtualNodeSpecListenerPortMappingPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v VirtualNodeSpecListenerPortMapping) *VirtualNodeSpecListenerPortMapping { + return &v + }).(VirtualNodeSpecListenerPortMappingPtrOutput) +} + +// Port used for the port mapping. +func (o VirtualNodeSpecListenerPortMappingOutput) Port() pulumi.IntOutput { + return o.ApplyT(func(v VirtualNodeSpecListenerPortMapping) int { return v.Port }).(pulumi.IntOutput) +} + +// Protocol used for the port mapping. Valid values are `http`, `http2`, `tcp` and `grpc`. +func (o VirtualNodeSpecListenerPortMappingOutput) Protocol() pulumi.StringOutput { + return o.ApplyT(func(v VirtualNodeSpecListenerPortMapping) string { return v.Protocol }).(pulumi.StringOutput) +} + +type VirtualNodeSpecListenerPortMappingPtrOutput struct{ *pulumi.OutputState } + +func (VirtualNodeSpecListenerPortMappingPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**VirtualNodeSpecListenerPortMapping)(nil)).Elem() +} + +func (o VirtualNodeSpecListenerPortMappingPtrOutput) ToVirtualNodeSpecListenerPortMappingPtrOutput() VirtualNodeSpecListenerPortMappingPtrOutput { + return o +} + +func (o VirtualNodeSpecListenerPortMappingPtrOutput) ToVirtualNodeSpecListenerPortMappingPtrOutputWithContext(ctx context.Context) VirtualNodeSpecListenerPortMappingPtrOutput { + return o +} + +func (o VirtualNodeSpecListenerPortMappingPtrOutput) Elem() VirtualNodeSpecListenerPortMappingOutput { + return o.ApplyT(func(v *VirtualNodeSpecListenerPortMapping) VirtualNodeSpecListenerPortMapping { + if v != nil { + return *v + } + var ret VirtualNodeSpecListenerPortMapping + return ret + }).(VirtualNodeSpecListenerPortMappingOutput) +} + +// Port used for the port mapping. +func (o VirtualNodeSpecListenerPortMappingPtrOutput) Port() pulumi.IntPtrOutput { + return o.ApplyT(func(v *VirtualNodeSpecListenerPortMapping) *int { + if v == nil { + return nil + } + return &v.Port + }).(pulumi.IntPtrOutput) +} + +// Protocol used for the port mapping. Valid values are `http`, `http2`, `tcp` and `grpc`. +func (o VirtualNodeSpecListenerPortMappingPtrOutput) Protocol() pulumi.StringPtrOutput { + return o.ApplyT(func(v *VirtualNodeSpecListenerPortMapping) *string { + if v == nil { + return nil + } + return &v.Protocol + }).(pulumi.StringPtrOutput) +} + +type VirtualNodeSpecListenerTimeout struct { + // Timeouts for gRPC listeners. + Grpc *VirtualNodeSpecListenerTimeoutGrpc `pulumi:"grpc"` + // Timeouts for HTTP listeners. + Http *VirtualNodeSpecListenerTimeoutHttp `pulumi:"http"` + // Timeouts for HTTP2 listeners. + Http2 *VirtualNodeSpecListenerTimeoutHttp2 `pulumi:"http2"` + // Timeouts for TCP listeners. + Tcp *VirtualNodeSpecListenerTimeoutTcp `pulumi:"tcp"` +} + +// VirtualNodeSpecListenerTimeoutInput is an input type that accepts VirtualNodeSpecListenerTimeoutArgs and VirtualNodeSpecListenerTimeoutOutput values. +// You can construct a concrete instance of `VirtualNodeSpecListenerTimeoutInput` via: +// +// VirtualNodeSpecListenerTimeoutArgs{...} +type VirtualNodeSpecListenerTimeoutInput interface { + pulumi.Input + + ToVirtualNodeSpecListenerTimeoutOutput() VirtualNodeSpecListenerTimeoutOutput + ToVirtualNodeSpecListenerTimeoutOutputWithContext(context.Context) VirtualNodeSpecListenerTimeoutOutput +} + +type VirtualNodeSpecListenerTimeoutArgs struct { + // Timeouts for gRPC listeners. + Grpc VirtualNodeSpecListenerTimeoutGrpcPtrInput `pulumi:"grpc"` + // Timeouts for HTTP listeners. + Http VirtualNodeSpecListenerTimeoutHttpPtrInput `pulumi:"http"` + // Timeouts for HTTP2 listeners. + Http2 VirtualNodeSpecListenerTimeoutHttp2PtrInput `pulumi:"http2"` + // Timeouts for TCP listeners. + Tcp VirtualNodeSpecListenerTimeoutTcpPtrInput `pulumi:"tcp"` +} + +func (VirtualNodeSpecListenerTimeoutArgs) ElementType() reflect.Type { + return reflect.TypeOf((*VirtualNodeSpecListenerTimeout)(nil)).Elem() +} + +func (i VirtualNodeSpecListenerTimeoutArgs) ToVirtualNodeSpecListenerTimeoutOutput() VirtualNodeSpecListenerTimeoutOutput { + return i.ToVirtualNodeSpecListenerTimeoutOutputWithContext(context.Background()) +} + +func (i VirtualNodeSpecListenerTimeoutArgs) ToVirtualNodeSpecListenerTimeoutOutputWithContext(ctx context.Context) VirtualNodeSpecListenerTimeoutOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecListenerTimeoutOutput) +} + +func (i VirtualNodeSpecListenerTimeoutArgs) ToVirtualNodeSpecListenerTimeoutPtrOutput() VirtualNodeSpecListenerTimeoutPtrOutput { + return i.ToVirtualNodeSpecListenerTimeoutPtrOutputWithContext(context.Background()) +} + +func (i VirtualNodeSpecListenerTimeoutArgs) ToVirtualNodeSpecListenerTimeoutPtrOutputWithContext(ctx context.Context) VirtualNodeSpecListenerTimeoutPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecListenerTimeoutOutput).ToVirtualNodeSpecListenerTimeoutPtrOutputWithContext(ctx) +} + +// VirtualNodeSpecListenerTimeoutPtrInput is an input type that accepts VirtualNodeSpecListenerTimeoutArgs, VirtualNodeSpecListenerTimeoutPtr and VirtualNodeSpecListenerTimeoutPtrOutput values. +// You can construct a concrete instance of `VirtualNodeSpecListenerTimeoutPtrInput` via: +// +// VirtualNodeSpecListenerTimeoutArgs{...} +// +// or: +// +// nil +type VirtualNodeSpecListenerTimeoutPtrInput interface { + pulumi.Input + + ToVirtualNodeSpecListenerTimeoutPtrOutput() VirtualNodeSpecListenerTimeoutPtrOutput + ToVirtualNodeSpecListenerTimeoutPtrOutputWithContext(context.Context) VirtualNodeSpecListenerTimeoutPtrOutput +} + +type virtualNodeSpecListenerTimeoutPtrType VirtualNodeSpecListenerTimeoutArgs + +func VirtualNodeSpecListenerTimeoutPtr(v *VirtualNodeSpecListenerTimeoutArgs) VirtualNodeSpecListenerTimeoutPtrInput { + return (*virtualNodeSpecListenerTimeoutPtrType)(v) +} + +func (*virtualNodeSpecListenerTimeoutPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**VirtualNodeSpecListenerTimeout)(nil)).Elem() +} + +func (i *virtualNodeSpecListenerTimeoutPtrType) ToVirtualNodeSpecListenerTimeoutPtrOutput() VirtualNodeSpecListenerTimeoutPtrOutput { + return i.ToVirtualNodeSpecListenerTimeoutPtrOutputWithContext(context.Background()) +} + +func (i *virtualNodeSpecListenerTimeoutPtrType) ToVirtualNodeSpecListenerTimeoutPtrOutputWithContext(ctx context.Context) VirtualNodeSpecListenerTimeoutPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecListenerTimeoutPtrOutput) +} + +type VirtualNodeSpecListenerTimeoutOutput struct{ *pulumi.OutputState } + +func (VirtualNodeSpecListenerTimeoutOutput) ElementType() reflect.Type { + return reflect.TypeOf((*VirtualNodeSpecListenerTimeout)(nil)).Elem() +} + +func (o VirtualNodeSpecListenerTimeoutOutput) ToVirtualNodeSpecListenerTimeoutOutput() VirtualNodeSpecListenerTimeoutOutput { + return o +} + +func (o VirtualNodeSpecListenerTimeoutOutput) ToVirtualNodeSpecListenerTimeoutOutputWithContext(ctx context.Context) VirtualNodeSpecListenerTimeoutOutput { + return o +} + +func (o VirtualNodeSpecListenerTimeoutOutput) ToVirtualNodeSpecListenerTimeoutPtrOutput() VirtualNodeSpecListenerTimeoutPtrOutput { + return o.ToVirtualNodeSpecListenerTimeoutPtrOutputWithContext(context.Background()) +} + +func (o VirtualNodeSpecListenerTimeoutOutput) ToVirtualNodeSpecListenerTimeoutPtrOutputWithContext(ctx context.Context) VirtualNodeSpecListenerTimeoutPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v VirtualNodeSpecListenerTimeout) *VirtualNodeSpecListenerTimeout { + return &v + }).(VirtualNodeSpecListenerTimeoutPtrOutput) +} + +// Timeouts for gRPC listeners. +func (o VirtualNodeSpecListenerTimeoutOutput) Grpc() VirtualNodeSpecListenerTimeoutGrpcPtrOutput { + return o.ApplyT(func(v VirtualNodeSpecListenerTimeout) *VirtualNodeSpecListenerTimeoutGrpc { return v.Grpc }).(VirtualNodeSpecListenerTimeoutGrpcPtrOutput) +} + +// Timeouts for HTTP listeners. +func (o VirtualNodeSpecListenerTimeoutOutput) Http() VirtualNodeSpecListenerTimeoutHttpPtrOutput { + return o.ApplyT(func(v VirtualNodeSpecListenerTimeout) *VirtualNodeSpecListenerTimeoutHttp { return v.Http }).(VirtualNodeSpecListenerTimeoutHttpPtrOutput) +} + +// Timeouts for HTTP2 listeners. +func (o VirtualNodeSpecListenerTimeoutOutput) Http2() VirtualNodeSpecListenerTimeoutHttp2PtrOutput { + return o.ApplyT(func(v VirtualNodeSpecListenerTimeout) *VirtualNodeSpecListenerTimeoutHttp2 { return v.Http2 }).(VirtualNodeSpecListenerTimeoutHttp2PtrOutput) +} + +// Timeouts for TCP listeners. +func (o VirtualNodeSpecListenerTimeoutOutput) Tcp() VirtualNodeSpecListenerTimeoutTcpPtrOutput { + return o.ApplyT(func(v VirtualNodeSpecListenerTimeout) *VirtualNodeSpecListenerTimeoutTcp { return v.Tcp }).(VirtualNodeSpecListenerTimeoutTcpPtrOutput) +} + +type VirtualNodeSpecListenerTimeoutPtrOutput struct{ *pulumi.OutputState } + +func (VirtualNodeSpecListenerTimeoutPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**VirtualNodeSpecListenerTimeout)(nil)).Elem() +} + +func (o VirtualNodeSpecListenerTimeoutPtrOutput) ToVirtualNodeSpecListenerTimeoutPtrOutput() VirtualNodeSpecListenerTimeoutPtrOutput { + return o +} + +func (o VirtualNodeSpecListenerTimeoutPtrOutput) ToVirtualNodeSpecListenerTimeoutPtrOutputWithContext(ctx context.Context) VirtualNodeSpecListenerTimeoutPtrOutput { + return o +} + +func (o VirtualNodeSpecListenerTimeoutPtrOutput) Elem() VirtualNodeSpecListenerTimeoutOutput { + return o.ApplyT(func(v *VirtualNodeSpecListenerTimeout) VirtualNodeSpecListenerTimeout { + if v != nil { + return *v + } + var ret VirtualNodeSpecListenerTimeout + return ret + }).(VirtualNodeSpecListenerTimeoutOutput) +} + +// Timeouts for gRPC listeners. +func (o VirtualNodeSpecListenerTimeoutPtrOutput) Grpc() VirtualNodeSpecListenerTimeoutGrpcPtrOutput { + return o.ApplyT(func(v *VirtualNodeSpecListenerTimeout) *VirtualNodeSpecListenerTimeoutGrpc { + if v == nil { + return nil + } + return v.Grpc + }).(VirtualNodeSpecListenerTimeoutGrpcPtrOutput) +} + +// Timeouts for HTTP listeners. +func (o VirtualNodeSpecListenerTimeoutPtrOutput) Http() VirtualNodeSpecListenerTimeoutHttpPtrOutput { + return o.ApplyT(func(v *VirtualNodeSpecListenerTimeout) *VirtualNodeSpecListenerTimeoutHttp { + if v == nil { + return nil + } + return v.Http + }).(VirtualNodeSpecListenerTimeoutHttpPtrOutput) +} + +// Timeouts for HTTP2 listeners. +func (o VirtualNodeSpecListenerTimeoutPtrOutput) Http2() VirtualNodeSpecListenerTimeoutHttp2PtrOutput { + return o.ApplyT(func(v *VirtualNodeSpecListenerTimeout) *VirtualNodeSpecListenerTimeoutHttp2 { + if v == nil { + return nil + } + return v.Http2 + }).(VirtualNodeSpecListenerTimeoutHttp2PtrOutput) +} + +// Timeouts for TCP listeners. +func (o VirtualNodeSpecListenerTimeoutPtrOutput) Tcp() VirtualNodeSpecListenerTimeoutTcpPtrOutput { + return o.ApplyT(func(v *VirtualNodeSpecListenerTimeout) *VirtualNodeSpecListenerTimeoutTcp { + if v == nil { + return nil + } + return v.Tcp + }).(VirtualNodeSpecListenerTimeoutTcpPtrOutput) +} + +type VirtualNodeSpecListenerTimeoutGrpc struct { + // Idle timeout. An idle timeout bounds the amount of time that a connection may be idle. + Idle *VirtualNodeSpecListenerTimeoutGrpcIdle `pulumi:"idle"` + // Per request timeout. + PerRequest *VirtualNodeSpecListenerTimeoutGrpcPerRequest `pulumi:"perRequest"` +} + +// VirtualNodeSpecListenerTimeoutGrpcInput is an input type that accepts VirtualNodeSpecListenerTimeoutGrpcArgs and VirtualNodeSpecListenerTimeoutGrpcOutput values. +// You can construct a concrete instance of `VirtualNodeSpecListenerTimeoutGrpcInput` via: +// +// VirtualNodeSpecListenerTimeoutGrpcArgs{...} +type VirtualNodeSpecListenerTimeoutGrpcInput interface { + pulumi.Input + + ToVirtualNodeSpecListenerTimeoutGrpcOutput() VirtualNodeSpecListenerTimeoutGrpcOutput + ToVirtualNodeSpecListenerTimeoutGrpcOutputWithContext(context.Context) VirtualNodeSpecListenerTimeoutGrpcOutput +} + +type VirtualNodeSpecListenerTimeoutGrpcArgs struct { + // Idle timeout. An idle timeout bounds the amount of time that a connection may be idle. + Idle VirtualNodeSpecListenerTimeoutGrpcIdlePtrInput `pulumi:"idle"` + // Per request timeout. + PerRequest VirtualNodeSpecListenerTimeoutGrpcPerRequestPtrInput `pulumi:"perRequest"` +} + +func (VirtualNodeSpecListenerTimeoutGrpcArgs) ElementType() reflect.Type { + return reflect.TypeOf((*VirtualNodeSpecListenerTimeoutGrpc)(nil)).Elem() +} + +func (i VirtualNodeSpecListenerTimeoutGrpcArgs) ToVirtualNodeSpecListenerTimeoutGrpcOutput() VirtualNodeSpecListenerTimeoutGrpcOutput { + return i.ToVirtualNodeSpecListenerTimeoutGrpcOutputWithContext(context.Background()) +} + +func (i VirtualNodeSpecListenerTimeoutGrpcArgs) ToVirtualNodeSpecListenerTimeoutGrpcOutputWithContext(ctx context.Context) VirtualNodeSpecListenerTimeoutGrpcOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecListenerTimeoutGrpcOutput) +} + +func (i VirtualNodeSpecListenerTimeoutGrpcArgs) ToVirtualNodeSpecListenerTimeoutGrpcPtrOutput() VirtualNodeSpecListenerTimeoutGrpcPtrOutput { + return i.ToVirtualNodeSpecListenerTimeoutGrpcPtrOutputWithContext(context.Background()) +} + +func (i VirtualNodeSpecListenerTimeoutGrpcArgs) ToVirtualNodeSpecListenerTimeoutGrpcPtrOutputWithContext(ctx context.Context) VirtualNodeSpecListenerTimeoutGrpcPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecListenerTimeoutGrpcOutput).ToVirtualNodeSpecListenerTimeoutGrpcPtrOutputWithContext(ctx) +} + +// VirtualNodeSpecListenerTimeoutGrpcPtrInput is an input type that accepts VirtualNodeSpecListenerTimeoutGrpcArgs, VirtualNodeSpecListenerTimeoutGrpcPtr and VirtualNodeSpecListenerTimeoutGrpcPtrOutput values. +// You can construct a concrete instance of `VirtualNodeSpecListenerTimeoutGrpcPtrInput` via: +// +// VirtualNodeSpecListenerTimeoutGrpcArgs{...} +// +// or: +// +// nil +type VirtualNodeSpecListenerTimeoutGrpcPtrInput interface { + pulumi.Input + + ToVirtualNodeSpecListenerTimeoutGrpcPtrOutput() VirtualNodeSpecListenerTimeoutGrpcPtrOutput + ToVirtualNodeSpecListenerTimeoutGrpcPtrOutputWithContext(context.Context) VirtualNodeSpecListenerTimeoutGrpcPtrOutput +} + +type virtualNodeSpecListenerTimeoutGrpcPtrType VirtualNodeSpecListenerTimeoutGrpcArgs + +func VirtualNodeSpecListenerTimeoutGrpcPtr(v *VirtualNodeSpecListenerTimeoutGrpcArgs) VirtualNodeSpecListenerTimeoutGrpcPtrInput { + return (*virtualNodeSpecListenerTimeoutGrpcPtrType)(v) +} + +func (*virtualNodeSpecListenerTimeoutGrpcPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**VirtualNodeSpecListenerTimeoutGrpc)(nil)).Elem() +} + +func (i *virtualNodeSpecListenerTimeoutGrpcPtrType) ToVirtualNodeSpecListenerTimeoutGrpcPtrOutput() VirtualNodeSpecListenerTimeoutGrpcPtrOutput { + return i.ToVirtualNodeSpecListenerTimeoutGrpcPtrOutputWithContext(context.Background()) +} + +func (i *virtualNodeSpecListenerTimeoutGrpcPtrType) ToVirtualNodeSpecListenerTimeoutGrpcPtrOutputWithContext(ctx context.Context) VirtualNodeSpecListenerTimeoutGrpcPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecListenerTimeoutGrpcPtrOutput) +} + +type VirtualNodeSpecListenerTimeoutGrpcOutput struct{ *pulumi.OutputState } + +func (VirtualNodeSpecListenerTimeoutGrpcOutput) ElementType() reflect.Type { + return reflect.TypeOf((*VirtualNodeSpecListenerTimeoutGrpc)(nil)).Elem() +} + +func (o VirtualNodeSpecListenerTimeoutGrpcOutput) ToVirtualNodeSpecListenerTimeoutGrpcOutput() VirtualNodeSpecListenerTimeoutGrpcOutput { + return o +} + +func (o VirtualNodeSpecListenerTimeoutGrpcOutput) ToVirtualNodeSpecListenerTimeoutGrpcOutputWithContext(ctx context.Context) VirtualNodeSpecListenerTimeoutGrpcOutput { + return o +} + +func (o VirtualNodeSpecListenerTimeoutGrpcOutput) ToVirtualNodeSpecListenerTimeoutGrpcPtrOutput() VirtualNodeSpecListenerTimeoutGrpcPtrOutput { + return o.ToVirtualNodeSpecListenerTimeoutGrpcPtrOutputWithContext(context.Background()) +} + +func (o VirtualNodeSpecListenerTimeoutGrpcOutput) ToVirtualNodeSpecListenerTimeoutGrpcPtrOutputWithContext(ctx context.Context) VirtualNodeSpecListenerTimeoutGrpcPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v VirtualNodeSpecListenerTimeoutGrpc) *VirtualNodeSpecListenerTimeoutGrpc { + return &v + }).(VirtualNodeSpecListenerTimeoutGrpcPtrOutput) +} + +// Idle timeout. An idle timeout bounds the amount of time that a connection may be idle. +func (o VirtualNodeSpecListenerTimeoutGrpcOutput) Idle() VirtualNodeSpecListenerTimeoutGrpcIdlePtrOutput { + return o.ApplyT(func(v VirtualNodeSpecListenerTimeoutGrpc) *VirtualNodeSpecListenerTimeoutGrpcIdle { return v.Idle }).(VirtualNodeSpecListenerTimeoutGrpcIdlePtrOutput) +} + +// Per request timeout. +func (o VirtualNodeSpecListenerTimeoutGrpcOutput) PerRequest() VirtualNodeSpecListenerTimeoutGrpcPerRequestPtrOutput { + return o.ApplyT(func(v VirtualNodeSpecListenerTimeoutGrpc) *VirtualNodeSpecListenerTimeoutGrpcPerRequest { + return v.PerRequest + }).(VirtualNodeSpecListenerTimeoutGrpcPerRequestPtrOutput) +} + +type VirtualNodeSpecListenerTimeoutGrpcPtrOutput struct{ *pulumi.OutputState } + +func (VirtualNodeSpecListenerTimeoutGrpcPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**VirtualNodeSpecListenerTimeoutGrpc)(nil)).Elem() +} + +func (o VirtualNodeSpecListenerTimeoutGrpcPtrOutput) ToVirtualNodeSpecListenerTimeoutGrpcPtrOutput() VirtualNodeSpecListenerTimeoutGrpcPtrOutput { + return o +} + +func (o VirtualNodeSpecListenerTimeoutGrpcPtrOutput) ToVirtualNodeSpecListenerTimeoutGrpcPtrOutputWithContext(ctx context.Context) VirtualNodeSpecListenerTimeoutGrpcPtrOutput { + return o +} + +func (o VirtualNodeSpecListenerTimeoutGrpcPtrOutput) Elem() VirtualNodeSpecListenerTimeoutGrpcOutput { + return o.ApplyT(func(v *VirtualNodeSpecListenerTimeoutGrpc) VirtualNodeSpecListenerTimeoutGrpc { + if v != nil { + return *v + } + var ret VirtualNodeSpecListenerTimeoutGrpc + return ret + }).(VirtualNodeSpecListenerTimeoutGrpcOutput) +} + +// Idle timeout. An idle timeout bounds the amount of time that a connection may be idle. +func (o VirtualNodeSpecListenerTimeoutGrpcPtrOutput) Idle() VirtualNodeSpecListenerTimeoutGrpcIdlePtrOutput { + return o.ApplyT(func(v *VirtualNodeSpecListenerTimeoutGrpc) *VirtualNodeSpecListenerTimeoutGrpcIdle { + if v == nil { + return nil + } + return v.Idle + }).(VirtualNodeSpecListenerTimeoutGrpcIdlePtrOutput) +} + +// Per request timeout. +func (o VirtualNodeSpecListenerTimeoutGrpcPtrOutput) PerRequest() VirtualNodeSpecListenerTimeoutGrpcPerRequestPtrOutput { + return o.ApplyT(func(v *VirtualNodeSpecListenerTimeoutGrpc) *VirtualNodeSpecListenerTimeoutGrpcPerRequest { + if v == nil { + return nil + } + return v.PerRequest + }).(VirtualNodeSpecListenerTimeoutGrpcPerRequestPtrOutput) +} + +type VirtualNodeSpecListenerTimeoutGrpcIdle struct { + // Unit of time. Valid values: `ms`, `s`. + Unit string `pulumi:"unit"` + // Number of time units. Minimum value of `0`. + Value int `pulumi:"value"` +} + +// VirtualNodeSpecListenerTimeoutGrpcIdleInput is an input type that accepts VirtualNodeSpecListenerTimeoutGrpcIdleArgs and VirtualNodeSpecListenerTimeoutGrpcIdleOutput values. +// You can construct a concrete instance of `VirtualNodeSpecListenerTimeoutGrpcIdleInput` via: +// +// VirtualNodeSpecListenerTimeoutGrpcIdleArgs{...} +type VirtualNodeSpecListenerTimeoutGrpcIdleInput interface { + pulumi.Input + + ToVirtualNodeSpecListenerTimeoutGrpcIdleOutput() VirtualNodeSpecListenerTimeoutGrpcIdleOutput + ToVirtualNodeSpecListenerTimeoutGrpcIdleOutputWithContext(context.Context) VirtualNodeSpecListenerTimeoutGrpcIdleOutput +} + +type VirtualNodeSpecListenerTimeoutGrpcIdleArgs struct { + // Unit of time. Valid values: `ms`, `s`. + Unit pulumi.StringInput `pulumi:"unit"` + // Number of time units. Minimum value of `0`. + Value pulumi.IntInput `pulumi:"value"` +} + +func (VirtualNodeSpecListenerTimeoutGrpcIdleArgs) ElementType() reflect.Type { + return reflect.TypeOf((*VirtualNodeSpecListenerTimeoutGrpcIdle)(nil)).Elem() +} + +func (i VirtualNodeSpecListenerTimeoutGrpcIdleArgs) ToVirtualNodeSpecListenerTimeoutGrpcIdleOutput() VirtualNodeSpecListenerTimeoutGrpcIdleOutput { + return i.ToVirtualNodeSpecListenerTimeoutGrpcIdleOutputWithContext(context.Background()) +} + +func (i VirtualNodeSpecListenerTimeoutGrpcIdleArgs) ToVirtualNodeSpecListenerTimeoutGrpcIdleOutputWithContext(ctx context.Context) VirtualNodeSpecListenerTimeoutGrpcIdleOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecListenerTimeoutGrpcIdleOutput) +} + +func (i VirtualNodeSpecListenerTimeoutGrpcIdleArgs) ToVirtualNodeSpecListenerTimeoutGrpcIdlePtrOutput() VirtualNodeSpecListenerTimeoutGrpcIdlePtrOutput { + return i.ToVirtualNodeSpecListenerTimeoutGrpcIdlePtrOutputWithContext(context.Background()) +} + +func (i VirtualNodeSpecListenerTimeoutGrpcIdleArgs) ToVirtualNodeSpecListenerTimeoutGrpcIdlePtrOutputWithContext(ctx context.Context) VirtualNodeSpecListenerTimeoutGrpcIdlePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecListenerTimeoutGrpcIdleOutput).ToVirtualNodeSpecListenerTimeoutGrpcIdlePtrOutputWithContext(ctx) +} + +// VirtualNodeSpecListenerTimeoutGrpcIdlePtrInput is an input type that accepts VirtualNodeSpecListenerTimeoutGrpcIdleArgs, VirtualNodeSpecListenerTimeoutGrpcIdlePtr and VirtualNodeSpecListenerTimeoutGrpcIdlePtrOutput values. +// You can construct a concrete instance of `VirtualNodeSpecListenerTimeoutGrpcIdlePtrInput` via: +// +// VirtualNodeSpecListenerTimeoutGrpcIdleArgs{...} +// +// or: +// +// nil +type VirtualNodeSpecListenerTimeoutGrpcIdlePtrInput interface { + pulumi.Input + + ToVirtualNodeSpecListenerTimeoutGrpcIdlePtrOutput() VirtualNodeSpecListenerTimeoutGrpcIdlePtrOutput + ToVirtualNodeSpecListenerTimeoutGrpcIdlePtrOutputWithContext(context.Context) VirtualNodeSpecListenerTimeoutGrpcIdlePtrOutput +} + +type virtualNodeSpecListenerTimeoutGrpcIdlePtrType VirtualNodeSpecListenerTimeoutGrpcIdleArgs + +func VirtualNodeSpecListenerTimeoutGrpcIdlePtr(v *VirtualNodeSpecListenerTimeoutGrpcIdleArgs) VirtualNodeSpecListenerTimeoutGrpcIdlePtrInput { + return (*virtualNodeSpecListenerTimeoutGrpcIdlePtrType)(v) +} + +func (*virtualNodeSpecListenerTimeoutGrpcIdlePtrType) ElementType() reflect.Type { + return reflect.TypeOf((**VirtualNodeSpecListenerTimeoutGrpcIdle)(nil)).Elem() +} + +func (i *virtualNodeSpecListenerTimeoutGrpcIdlePtrType) ToVirtualNodeSpecListenerTimeoutGrpcIdlePtrOutput() VirtualNodeSpecListenerTimeoutGrpcIdlePtrOutput { + return i.ToVirtualNodeSpecListenerTimeoutGrpcIdlePtrOutputWithContext(context.Background()) +} + +func (i *virtualNodeSpecListenerTimeoutGrpcIdlePtrType) ToVirtualNodeSpecListenerTimeoutGrpcIdlePtrOutputWithContext(ctx context.Context) VirtualNodeSpecListenerTimeoutGrpcIdlePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecListenerTimeoutGrpcIdlePtrOutput) +} + +type VirtualNodeSpecListenerTimeoutGrpcIdleOutput struct{ *pulumi.OutputState } + +func (VirtualNodeSpecListenerTimeoutGrpcIdleOutput) ElementType() reflect.Type { + return reflect.TypeOf((*VirtualNodeSpecListenerTimeoutGrpcIdle)(nil)).Elem() +} + +func (o VirtualNodeSpecListenerTimeoutGrpcIdleOutput) ToVirtualNodeSpecListenerTimeoutGrpcIdleOutput() VirtualNodeSpecListenerTimeoutGrpcIdleOutput { + return o +} + +func (o VirtualNodeSpecListenerTimeoutGrpcIdleOutput) ToVirtualNodeSpecListenerTimeoutGrpcIdleOutputWithContext(ctx context.Context) VirtualNodeSpecListenerTimeoutGrpcIdleOutput { + return o +} + +func (o VirtualNodeSpecListenerTimeoutGrpcIdleOutput) ToVirtualNodeSpecListenerTimeoutGrpcIdlePtrOutput() VirtualNodeSpecListenerTimeoutGrpcIdlePtrOutput { + return o.ToVirtualNodeSpecListenerTimeoutGrpcIdlePtrOutputWithContext(context.Background()) +} + +func (o VirtualNodeSpecListenerTimeoutGrpcIdleOutput) ToVirtualNodeSpecListenerTimeoutGrpcIdlePtrOutputWithContext(ctx context.Context) VirtualNodeSpecListenerTimeoutGrpcIdlePtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v VirtualNodeSpecListenerTimeoutGrpcIdle) *VirtualNodeSpecListenerTimeoutGrpcIdle { + return &v + }).(VirtualNodeSpecListenerTimeoutGrpcIdlePtrOutput) +} + +// Unit of time. Valid values: `ms`, `s`. +func (o VirtualNodeSpecListenerTimeoutGrpcIdleOutput) Unit() pulumi.StringOutput { + return o.ApplyT(func(v VirtualNodeSpecListenerTimeoutGrpcIdle) string { return v.Unit }).(pulumi.StringOutput) +} + +// Number of time units. Minimum value of `0`. +func (o VirtualNodeSpecListenerTimeoutGrpcIdleOutput) Value() pulumi.IntOutput { + return o.ApplyT(func(v VirtualNodeSpecListenerTimeoutGrpcIdle) int { return v.Value }).(pulumi.IntOutput) +} + +type VirtualNodeSpecListenerTimeoutGrpcIdlePtrOutput struct{ *pulumi.OutputState } + +func (VirtualNodeSpecListenerTimeoutGrpcIdlePtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**VirtualNodeSpecListenerTimeoutGrpcIdle)(nil)).Elem() +} + +func (o VirtualNodeSpecListenerTimeoutGrpcIdlePtrOutput) ToVirtualNodeSpecListenerTimeoutGrpcIdlePtrOutput() VirtualNodeSpecListenerTimeoutGrpcIdlePtrOutput { + return o +} + +func (o VirtualNodeSpecListenerTimeoutGrpcIdlePtrOutput) ToVirtualNodeSpecListenerTimeoutGrpcIdlePtrOutputWithContext(ctx context.Context) VirtualNodeSpecListenerTimeoutGrpcIdlePtrOutput { + return o +} + +func (o VirtualNodeSpecListenerTimeoutGrpcIdlePtrOutput) Elem() VirtualNodeSpecListenerTimeoutGrpcIdleOutput { + return o.ApplyT(func(v *VirtualNodeSpecListenerTimeoutGrpcIdle) VirtualNodeSpecListenerTimeoutGrpcIdle { + if v != nil { + return *v + } + var ret VirtualNodeSpecListenerTimeoutGrpcIdle + return ret + }).(VirtualNodeSpecListenerTimeoutGrpcIdleOutput) +} + +// Unit of time. Valid values: `ms`, `s`. +func (o VirtualNodeSpecListenerTimeoutGrpcIdlePtrOutput) Unit() pulumi.StringPtrOutput { + return o.ApplyT(func(v *VirtualNodeSpecListenerTimeoutGrpcIdle) *string { + if v == nil { + return nil + } + return &v.Unit + }).(pulumi.StringPtrOutput) +} + +// Number of time units. Minimum value of `0`. +func (o VirtualNodeSpecListenerTimeoutGrpcIdlePtrOutput) Value() pulumi.IntPtrOutput { + return o.ApplyT(func(v *VirtualNodeSpecListenerTimeoutGrpcIdle) *int { + if v == nil { + return nil + } + return &v.Value + }).(pulumi.IntPtrOutput) +} + +type VirtualNodeSpecListenerTimeoutGrpcPerRequest struct { + // Unit of time. Valid values: `ms`, `s`. + Unit string `pulumi:"unit"` + // The specified value for the JSON. Must be between 1 and 100 characters in length. + Value int `pulumi:"value"` +} + +// VirtualNodeSpecListenerTimeoutGrpcPerRequestInput is an input type that accepts VirtualNodeSpecListenerTimeoutGrpcPerRequestArgs and VirtualNodeSpecListenerTimeoutGrpcPerRequestOutput values. +// You can construct a concrete instance of `VirtualNodeSpecListenerTimeoutGrpcPerRequestInput` via: +// +// VirtualNodeSpecListenerTimeoutGrpcPerRequestArgs{...} +type VirtualNodeSpecListenerTimeoutGrpcPerRequestInput interface { + pulumi.Input + + ToVirtualNodeSpecListenerTimeoutGrpcPerRequestOutput() VirtualNodeSpecListenerTimeoutGrpcPerRequestOutput + ToVirtualNodeSpecListenerTimeoutGrpcPerRequestOutputWithContext(context.Context) VirtualNodeSpecListenerTimeoutGrpcPerRequestOutput +} + +type VirtualNodeSpecListenerTimeoutGrpcPerRequestArgs struct { + // Unit of time. Valid values: `ms`, `s`. + Unit pulumi.StringInput `pulumi:"unit"` + // The specified value for the JSON. Must be between 1 and 100 characters in length. + Value pulumi.IntInput `pulumi:"value"` +} + +func (VirtualNodeSpecListenerTimeoutGrpcPerRequestArgs) ElementType() reflect.Type { + return reflect.TypeOf((*VirtualNodeSpecListenerTimeoutGrpcPerRequest)(nil)).Elem() +} + +func (i VirtualNodeSpecListenerTimeoutGrpcPerRequestArgs) ToVirtualNodeSpecListenerTimeoutGrpcPerRequestOutput() VirtualNodeSpecListenerTimeoutGrpcPerRequestOutput { + return i.ToVirtualNodeSpecListenerTimeoutGrpcPerRequestOutputWithContext(context.Background()) +} + +func (i VirtualNodeSpecListenerTimeoutGrpcPerRequestArgs) ToVirtualNodeSpecListenerTimeoutGrpcPerRequestOutputWithContext(ctx context.Context) VirtualNodeSpecListenerTimeoutGrpcPerRequestOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecListenerTimeoutGrpcPerRequestOutput) +} + +func (i VirtualNodeSpecListenerTimeoutGrpcPerRequestArgs) ToVirtualNodeSpecListenerTimeoutGrpcPerRequestPtrOutput() VirtualNodeSpecListenerTimeoutGrpcPerRequestPtrOutput { + return i.ToVirtualNodeSpecListenerTimeoutGrpcPerRequestPtrOutputWithContext(context.Background()) +} + +func (i VirtualNodeSpecListenerTimeoutGrpcPerRequestArgs) ToVirtualNodeSpecListenerTimeoutGrpcPerRequestPtrOutputWithContext(ctx context.Context) VirtualNodeSpecListenerTimeoutGrpcPerRequestPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecListenerTimeoutGrpcPerRequestOutput).ToVirtualNodeSpecListenerTimeoutGrpcPerRequestPtrOutputWithContext(ctx) +} + +// VirtualNodeSpecListenerTimeoutGrpcPerRequestPtrInput is an input type that accepts VirtualNodeSpecListenerTimeoutGrpcPerRequestArgs, VirtualNodeSpecListenerTimeoutGrpcPerRequestPtr and VirtualNodeSpecListenerTimeoutGrpcPerRequestPtrOutput values. +// You can construct a concrete instance of `VirtualNodeSpecListenerTimeoutGrpcPerRequestPtrInput` via: +// +// VirtualNodeSpecListenerTimeoutGrpcPerRequestArgs{...} +// +// or: +// +// nil +type VirtualNodeSpecListenerTimeoutGrpcPerRequestPtrInput interface { + pulumi.Input + + ToVirtualNodeSpecListenerTimeoutGrpcPerRequestPtrOutput() VirtualNodeSpecListenerTimeoutGrpcPerRequestPtrOutput + ToVirtualNodeSpecListenerTimeoutGrpcPerRequestPtrOutputWithContext(context.Context) VirtualNodeSpecListenerTimeoutGrpcPerRequestPtrOutput +} + +type virtualNodeSpecListenerTimeoutGrpcPerRequestPtrType VirtualNodeSpecListenerTimeoutGrpcPerRequestArgs + +func VirtualNodeSpecListenerTimeoutGrpcPerRequestPtr(v *VirtualNodeSpecListenerTimeoutGrpcPerRequestArgs) VirtualNodeSpecListenerTimeoutGrpcPerRequestPtrInput { + return (*virtualNodeSpecListenerTimeoutGrpcPerRequestPtrType)(v) +} + +func (*virtualNodeSpecListenerTimeoutGrpcPerRequestPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**VirtualNodeSpecListenerTimeoutGrpcPerRequest)(nil)).Elem() +} + +func (i *virtualNodeSpecListenerTimeoutGrpcPerRequestPtrType) ToVirtualNodeSpecListenerTimeoutGrpcPerRequestPtrOutput() VirtualNodeSpecListenerTimeoutGrpcPerRequestPtrOutput { + return i.ToVirtualNodeSpecListenerTimeoutGrpcPerRequestPtrOutputWithContext(context.Background()) +} + +func (i *virtualNodeSpecListenerTimeoutGrpcPerRequestPtrType) ToVirtualNodeSpecListenerTimeoutGrpcPerRequestPtrOutputWithContext(ctx context.Context) VirtualNodeSpecListenerTimeoutGrpcPerRequestPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecListenerTimeoutGrpcPerRequestPtrOutput) +} + +type VirtualNodeSpecListenerTimeoutGrpcPerRequestOutput struct{ *pulumi.OutputState } + +func (VirtualNodeSpecListenerTimeoutGrpcPerRequestOutput) ElementType() reflect.Type { + return reflect.TypeOf((*VirtualNodeSpecListenerTimeoutGrpcPerRequest)(nil)).Elem() +} + +func (o VirtualNodeSpecListenerTimeoutGrpcPerRequestOutput) ToVirtualNodeSpecListenerTimeoutGrpcPerRequestOutput() VirtualNodeSpecListenerTimeoutGrpcPerRequestOutput { + return o +} + +func (o VirtualNodeSpecListenerTimeoutGrpcPerRequestOutput) ToVirtualNodeSpecListenerTimeoutGrpcPerRequestOutputWithContext(ctx context.Context) VirtualNodeSpecListenerTimeoutGrpcPerRequestOutput { + return o +} + +func (o VirtualNodeSpecListenerTimeoutGrpcPerRequestOutput) ToVirtualNodeSpecListenerTimeoutGrpcPerRequestPtrOutput() VirtualNodeSpecListenerTimeoutGrpcPerRequestPtrOutput { + return o.ToVirtualNodeSpecListenerTimeoutGrpcPerRequestPtrOutputWithContext(context.Background()) +} + +func (o VirtualNodeSpecListenerTimeoutGrpcPerRequestOutput) ToVirtualNodeSpecListenerTimeoutGrpcPerRequestPtrOutputWithContext(ctx context.Context) VirtualNodeSpecListenerTimeoutGrpcPerRequestPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v VirtualNodeSpecListenerTimeoutGrpcPerRequest) *VirtualNodeSpecListenerTimeoutGrpcPerRequest { + return &v + }).(VirtualNodeSpecListenerTimeoutGrpcPerRequestPtrOutput) +} + +// Unit of time. Valid values: `ms`, `s`. +func (o VirtualNodeSpecListenerTimeoutGrpcPerRequestOutput) Unit() pulumi.StringOutput { + return o.ApplyT(func(v VirtualNodeSpecListenerTimeoutGrpcPerRequest) string { return v.Unit }).(pulumi.StringOutput) +} + +// The specified value for the JSON. Must be between 1 and 100 characters in length. +func (o VirtualNodeSpecListenerTimeoutGrpcPerRequestOutput) Value() pulumi.IntOutput { + return o.ApplyT(func(v VirtualNodeSpecListenerTimeoutGrpcPerRequest) int { return v.Value }).(pulumi.IntOutput) +} + +type VirtualNodeSpecListenerTimeoutGrpcPerRequestPtrOutput struct{ *pulumi.OutputState } + +func (VirtualNodeSpecListenerTimeoutGrpcPerRequestPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**VirtualNodeSpecListenerTimeoutGrpcPerRequest)(nil)).Elem() +} + +func (o VirtualNodeSpecListenerTimeoutGrpcPerRequestPtrOutput) ToVirtualNodeSpecListenerTimeoutGrpcPerRequestPtrOutput() VirtualNodeSpecListenerTimeoutGrpcPerRequestPtrOutput { + return o +} + +func (o VirtualNodeSpecListenerTimeoutGrpcPerRequestPtrOutput) ToVirtualNodeSpecListenerTimeoutGrpcPerRequestPtrOutputWithContext(ctx context.Context) VirtualNodeSpecListenerTimeoutGrpcPerRequestPtrOutput { + return o +} + +func (o VirtualNodeSpecListenerTimeoutGrpcPerRequestPtrOutput) Elem() VirtualNodeSpecListenerTimeoutGrpcPerRequestOutput { + return o.ApplyT(func(v *VirtualNodeSpecListenerTimeoutGrpcPerRequest) VirtualNodeSpecListenerTimeoutGrpcPerRequest { + if v != nil { + return *v + } + var ret VirtualNodeSpecListenerTimeoutGrpcPerRequest + return ret + }).(VirtualNodeSpecListenerTimeoutGrpcPerRequestOutput) +} + +// Unit of time. Valid values: `ms`, `s`. +func (o VirtualNodeSpecListenerTimeoutGrpcPerRequestPtrOutput) Unit() pulumi.StringPtrOutput { + return o.ApplyT(func(v *VirtualNodeSpecListenerTimeoutGrpcPerRequest) *string { + if v == nil { + return nil + } + return &v.Unit + }).(pulumi.StringPtrOutput) +} + +// The specified value for the JSON. Must be between 1 and 100 characters in length. +func (o VirtualNodeSpecListenerTimeoutGrpcPerRequestPtrOutput) Value() pulumi.IntPtrOutput { + return o.ApplyT(func(v *VirtualNodeSpecListenerTimeoutGrpcPerRequest) *int { + if v == nil { + return nil + } + return &v.Value + }).(pulumi.IntPtrOutput) +} + +type VirtualNodeSpecListenerTimeoutHttp2 struct { + // Idle timeout. An idle timeout bounds the amount of time that a connection may be idle. + Idle *VirtualNodeSpecListenerTimeoutHttp2Idle `pulumi:"idle"` + // Per request timeout. + PerRequest *VirtualNodeSpecListenerTimeoutHttp2PerRequest `pulumi:"perRequest"` +} + +// VirtualNodeSpecListenerTimeoutHttp2Input is an input type that accepts VirtualNodeSpecListenerTimeoutHttp2Args and VirtualNodeSpecListenerTimeoutHttp2Output values. +// You can construct a concrete instance of `VirtualNodeSpecListenerTimeoutHttp2Input` via: +// +// VirtualNodeSpecListenerTimeoutHttp2Args{...} +type VirtualNodeSpecListenerTimeoutHttp2Input interface { + pulumi.Input + + ToVirtualNodeSpecListenerTimeoutHttp2Output() VirtualNodeSpecListenerTimeoutHttp2Output + ToVirtualNodeSpecListenerTimeoutHttp2OutputWithContext(context.Context) VirtualNodeSpecListenerTimeoutHttp2Output +} + +type VirtualNodeSpecListenerTimeoutHttp2Args struct { + // Idle timeout. An idle timeout bounds the amount of time that a connection may be idle. + Idle VirtualNodeSpecListenerTimeoutHttp2IdlePtrInput `pulumi:"idle"` + // Per request timeout. + PerRequest VirtualNodeSpecListenerTimeoutHttp2PerRequestPtrInput `pulumi:"perRequest"` +} + +func (VirtualNodeSpecListenerTimeoutHttp2Args) ElementType() reflect.Type { + return reflect.TypeOf((*VirtualNodeSpecListenerTimeoutHttp2)(nil)).Elem() +} + +func (i VirtualNodeSpecListenerTimeoutHttp2Args) ToVirtualNodeSpecListenerTimeoutHttp2Output() VirtualNodeSpecListenerTimeoutHttp2Output { + return i.ToVirtualNodeSpecListenerTimeoutHttp2OutputWithContext(context.Background()) +} + +func (i VirtualNodeSpecListenerTimeoutHttp2Args) ToVirtualNodeSpecListenerTimeoutHttp2OutputWithContext(ctx context.Context) VirtualNodeSpecListenerTimeoutHttp2Output { + return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecListenerTimeoutHttp2Output) +} + +func (i VirtualNodeSpecListenerTimeoutHttp2Args) ToVirtualNodeSpecListenerTimeoutHttp2PtrOutput() VirtualNodeSpecListenerTimeoutHttp2PtrOutput { + return i.ToVirtualNodeSpecListenerTimeoutHttp2PtrOutputWithContext(context.Background()) +} + +func (i VirtualNodeSpecListenerTimeoutHttp2Args) ToVirtualNodeSpecListenerTimeoutHttp2PtrOutputWithContext(ctx context.Context) VirtualNodeSpecListenerTimeoutHttp2PtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecListenerTimeoutHttp2Output).ToVirtualNodeSpecListenerTimeoutHttp2PtrOutputWithContext(ctx) +} + +// VirtualNodeSpecListenerTimeoutHttp2PtrInput is an input type that accepts VirtualNodeSpecListenerTimeoutHttp2Args, VirtualNodeSpecListenerTimeoutHttp2Ptr and VirtualNodeSpecListenerTimeoutHttp2PtrOutput values. +// You can construct a concrete instance of `VirtualNodeSpecListenerTimeoutHttp2PtrInput` via: +// +// VirtualNodeSpecListenerTimeoutHttp2Args{...} +// +// or: +// +// nil +type VirtualNodeSpecListenerTimeoutHttp2PtrInput interface { + pulumi.Input + + ToVirtualNodeSpecListenerTimeoutHttp2PtrOutput() VirtualNodeSpecListenerTimeoutHttp2PtrOutput + ToVirtualNodeSpecListenerTimeoutHttp2PtrOutputWithContext(context.Context) VirtualNodeSpecListenerTimeoutHttp2PtrOutput +} + +type virtualNodeSpecListenerTimeoutHttp2PtrType VirtualNodeSpecListenerTimeoutHttp2Args + +func VirtualNodeSpecListenerTimeoutHttp2Ptr(v *VirtualNodeSpecListenerTimeoutHttp2Args) VirtualNodeSpecListenerTimeoutHttp2PtrInput { + return (*virtualNodeSpecListenerTimeoutHttp2PtrType)(v) +} + +func (*virtualNodeSpecListenerTimeoutHttp2PtrType) ElementType() reflect.Type { + return reflect.TypeOf((**VirtualNodeSpecListenerTimeoutHttp2)(nil)).Elem() +} + +func (i *virtualNodeSpecListenerTimeoutHttp2PtrType) ToVirtualNodeSpecListenerTimeoutHttp2PtrOutput() VirtualNodeSpecListenerTimeoutHttp2PtrOutput { + return i.ToVirtualNodeSpecListenerTimeoutHttp2PtrOutputWithContext(context.Background()) +} + +func (i *virtualNodeSpecListenerTimeoutHttp2PtrType) ToVirtualNodeSpecListenerTimeoutHttp2PtrOutputWithContext(ctx context.Context) VirtualNodeSpecListenerTimeoutHttp2PtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecListenerTimeoutHttp2PtrOutput) +} + +type VirtualNodeSpecListenerTimeoutHttp2Output struct{ *pulumi.OutputState } + +func (VirtualNodeSpecListenerTimeoutHttp2Output) ElementType() reflect.Type { + return reflect.TypeOf((*VirtualNodeSpecListenerTimeoutHttp2)(nil)).Elem() +} + +func (o VirtualNodeSpecListenerTimeoutHttp2Output) ToVirtualNodeSpecListenerTimeoutHttp2Output() VirtualNodeSpecListenerTimeoutHttp2Output { + return o +} + +func (o VirtualNodeSpecListenerTimeoutHttp2Output) ToVirtualNodeSpecListenerTimeoutHttp2OutputWithContext(ctx context.Context) VirtualNodeSpecListenerTimeoutHttp2Output { + return o +} + +func (o VirtualNodeSpecListenerTimeoutHttp2Output) ToVirtualNodeSpecListenerTimeoutHttp2PtrOutput() VirtualNodeSpecListenerTimeoutHttp2PtrOutput { + return o.ToVirtualNodeSpecListenerTimeoutHttp2PtrOutputWithContext(context.Background()) +} + +func (o VirtualNodeSpecListenerTimeoutHttp2Output) ToVirtualNodeSpecListenerTimeoutHttp2PtrOutputWithContext(ctx context.Context) VirtualNodeSpecListenerTimeoutHttp2PtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v VirtualNodeSpecListenerTimeoutHttp2) *VirtualNodeSpecListenerTimeoutHttp2 { + return &v + }).(VirtualNodeSpecListenerTimeoutHttp2PtrOutput) +} + +// Idle timeout. An idle timeout bounds the amount of time that a connection may be idle. +func (o VirtualNodeSpecListenerTimeoutHttp2Output) Idle() VirtualNodeSpecListenerTimeoutHttp2IdlePtrOutput { + return o.ApplyT(func(v VirtualNodeSpecListenerTimeoutHttp2) *VirtualNodeSpecListenerTimeoutHttp2Idle { return v.Idle }).(VirtualNodeSpecListenerTimeoutHttp2IdlePtrOutput) +} + +// Per request timeout. +func (o VirtualNodeSpecListenerTimeoutHttp2Output) PerRequest() VirtualNodeSpecListenerTimeoutHttp2PerRequestPtrOutput { + return o.ApplyT(func(v VirtualNodeSpecListenerTimeoutHttp2) *VirtualNodeSpecListenerTimeoutHttp2PerRequest { + return v.PerRequest + }).(VirtualNodeSpecListenerTimeoutHttp2PerRequestPtrOutput) +} + +type VirtualNodeSpecListenerTimeoutHttp2PtrOutput struct{ *pulumi.OutputState } + +func (VirtualNodeSpecListenerTimeoutHttp2PtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**VirtualNodeSpecListenerTimeoutHttp2)(nil)).Elem() +} + +func (o VirtualNodeSpecListenerTimeoutHttp2PtrOutput) ToVirtualNodeSpecListenerTimeoutHttp2PtrOutput() VirtualNodeSpecListenerTimeoutHttp2PtrOutput { + return o +} + +func (o VirtualNodeSpecListenerTimeoutHttp2PtrOutput) ToVirtualNodeSpecListenerTimeoutHttp2PtrOutputWithContext(ctx context.Context) VirtualNodeSpecListenerTimeoutHttp2PtrOutput { + return o +} + +func (o VirtualNodeSpecListenerTimeoutHttp2PtrOutput) Elem() VirtualNodeSpecListenerTimeoutHttp2Output { + return o.ApplyT(func(v *VirtualNodeSpecListenerTimeoutHttp2) VirtualNodeSpecListenerTimeoutHttp2 { + if v != nil { + return *v + } + var ret VirtualNodeSpecListenerTimeoutHttp2 + return ret + }).(VirtualNodeSpecListenerTimeoutHttp2Output) +} + +// Idle timeout. An idle timeout bounds the amount of time that a connection may be idle. +func (o VirtualNodeSpecListenerTimeoutHttp2PtrOutput) Idle() VirtualNodeSpecListenerTimeoutHttp2IdlePtrOutput { + return o.ApplyT(func(v *VirtualNodeSpecListenerTimeoutHttp2) *VirtualNodeSpecListenerTimeoutHttp2Idle { + if v == nil { + return nil + } + return v.Idle + }).(VirtualNodeSpecListenerTimeoutHttp2IdlePtrOutput) +} + +// Per request timeout. +func (o VirtualNodeSpecListenerTimeoutHttp2PtrOutput) PerRequest() VirtualNodeSpecListenerTimeoutHttp2PerRequestPtrOutput { + return o.ApplyT(func(v *VirtualNodeSpecListenerTimeoutHttp2) *VirtualNodeSpecListenerTimeoutHttp2PerRequest { + if v == nil { + return nil + } + return v.PerRequest + }).(VirtualNodeSpecListenerTimeoutHttp2PerRequestPtrOutput) +} + +type VirtualNodeSpecListenerTimeoutHttp2Idle struct { + // Unit of time. Valid values: `ms`, `s`. + Unit string `pulumi:"unit"` + // Number of time units. Minimum value of `0`. + Value int `pulumi:"value"` +} + +// VirtualNodeSpecListenerTimeoutHttp2IdleInput is an input type that accepts VirtualNodeSpecListenerTimeoutHttp2IdleArgs and VirtualNodeSpecListenerTimeoutHttp2IdleOutput values. +// You can construct a concrete instance of `VirtualNodeSpecListenerTimeoutHttp2IdleInput` via: +// +// VirtualNodeSpecListenerTimeoutHttp2IdleArgs{...} +type VirtualNodeSpecListenerTimeoutHttp2IdleInput interface { + pulumi.Input + + ToVirtualNodeSpecListenerTimeoutHttp2IdleOutput() VirtualNodeSpecListenerTimeoutHttp2IdleOutput + ToVirtualNodeSpecListenerTimeoutHttp2IdleOutputWithContext(context.Context) VirtualNodeSpecListenerTimeoutHttp2IdleOutput +} + +type VirtualNodeSpecListenerTimeoutHttp2IdleArgs struct { + // Unit of time. Valid values: `ms`, `s`. + Unit pulumi.StringInput `pulumi:"unit"` + // Number of time units. Minimum value of `0`. + Value pulumi.IntInput `pulumi:"value"` +} + +func (VirtualNodeSpecListenerTimeoutHttp2IdleArgs) ElementType() reflect.Type { + return reflect.TypeOf((*VirtualNodeSpecListenerTimeoutHttp2Idle)(nil)).Elem() +} + +func (i VirtualNodeSpecListenerTimeoutHttp2IdleArgs) ToVirtualNodeSpecListenerTimeoutHttp2IdleOutput() VirtualNodeSpecListenerTimeoutHttp2IdleOutput { + return i.ToVirtualNodeSpecListenerTimeoutHttp2IdleOutputWithContext(context.Background()) +} + +func (i VirtualNodeSpecListenerTimeoutHttp2IdleArgs) ToVirtualNodeSpecListenerTimeoutHttp2IdleOutputWithContext(ctx context.Context) VirtualNodeSpecListenerTimeoutHttp2IdleOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecListenerTimeoutHttp2IdleOutput) +} + +func (i VirtualNodeSpecListenerTimeoutHttp2IdleArgs) ToVirtualNodeSpecListenerTimeoutHttp2IdlePtrOutput() VirtualNodeSpecListenerTimeoutHttp2IdlePtrOutput { + return i.ToVirtualNodeSpecListenerTimeoutHttp2IdlePtrOutputWithContext(context.Background()) +} + +func (i VirtualNodeSpecListenerTimeoutHttp2IdleArgs) ToVirtualNodeSpecListenerTimeoutHttp2IdlePtrOutputWithContext(ctx context.Context) VirtualNodeSpecListenerTimeoutHttp2IdlePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecListenerTimeoutHttp2IdleOutput).ToVirtualNodeSpecListenerTimeoutHttp2IdlePtrOutputWithContext(ctx) +} + +// VirtualNodeSpecListenerTimeoutHttp2IdlePtrInput is an input type that accepts VirtualNodeSpecListenerTimeoutHttp2IdleArgs, VirtualNodeSpecListenerTimeoutHttp2IdlePtr and VirtualNodeSpecListenerTimeoutHttp2IdlePtrOutput values. +// You can construct a concrete instance of `VirtualNodeSpecListenerTimeoutHttp2IdlePtrInput` via: +// +// VirtualNodeSpecListenerTimeoutHttp2IdleArgs{...} +// +// or: +// +// nil +type VirtualNodeSpecListenerTimeoutHttp2IdlePtrInput interface { + pulumi.Input + + ToVirtualNodeSpecListenerTimeoutHttp2IdlePtrOutput() VirtualNodeSpecListenerTimeoutHttp2IdlePtrOutput + ToVirtualNodeSpecListenerTimeoutHttp2IdlePtrOutputWithContext(context.Context) VirtualNodeSpecListenerTimeoutHttp2IdlePtrOutput +} + +type virtualNodeSpecListenerTimeoutHttp2IdlePtrType VirtualNodeSpecListenerTimeoutHttp2IdleArgs + +func VirtualNodeSpecListenerTimeoutHttp2IdlePtr(v *VirtualNodeSpecListenerTimeoutHttp2IdleArgs) VirtualNodeSpecListenerTimeoutHttp2IdlePtrInput { + return (*virtualNodeSpecListenerTimeoutHttp2IdlePtrType)(v) +} + +func (*virtualNodeSpecListenerTimeoutHttp2IdlePtrType) ElementType() reflect.Type { + return reflect.TypeOf((**VirtualNodeSpecListenerTimeoutHttp2Idle)(nil)).Elem() +} + +func (i *virtualNodeSpecListenerTimeoutHttp2IdlePtrType) ToVirtualNodeSpecListenerTimeoutHttp2IdlePtrOutput() VirtualNodeSpecListenerTimeoutHttp2IdlePtrOutput { + return i.ToVirtualNodeSpecListenerTimeoutHttp2IdlePtrOutputWithContext(context.Background()) +} + +func (i *virtualNodeSpecListenerTimeoutHttp2IdlePtrType) ToVirtualNodeSpecListenerTimeoutHttp2IdlePtrOutputWithContext(ctx context.Context) VirtualNodeSpecListenerTimeoutHttp2IdlePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecListenerTimeoutHttp2IdlePtrOutput) +} + +type VirtualNodeSpecListenerTimeoutHttp2IdleOutput struct{ *pulumi.OutputState } + +func (VirtualNodeSpecListenerTimeoutHttp2IdleOutput) ElementType() reflect.Type { + return reflect.TypeOf((*VirtualNodeSpecListenerTimeoutHttp2Idle)(nil)).Elem() +} + +func (o VirtualNodeSpecListenerTimeoutHttp2IdleOutput) ToVirtualNodeSpecListenerTimeoutHttp2IdleOutput() VirtualNodeSpecListenerTimeoutHttp2IdleOutput { + return o +} + +func (o VirtualNodeSpecListenerTimeoutHttp2IdleOutput) ToVirtualNodeSpecListenerTimeoutHttp2IdleOutputWithContext(ctx context.Context) VirtualNodeSpecListenerTimeoutHttp2IdleOutput { + return o +} + +func (o VirtualNodeSpecListenerTimeoutHttp2IdleOutput) ToVirtualNodeSpecListenerTimeoutHttp2IdlePtrOutput() VirtualNodeSpecListenerTimeoutHttp2IdlePtrOutput { + return o.ToVirtualNodeSpecListenerTimeoutHttp2IdlePtrOutputWithContext(context.Background()) +} + +func (o VirtualNodeSpecListenerTimeoutHttp2IdleOutput) ToVirtualNodeSpecListenerTimeoutHttp2IdlePtrOutputWithContext(ctx context.Context) VirtualNodeSpecListenerTimeoutHttp2IdlePtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v VirtualNodeSpecListenerTimeoutHttp2Idle) *VirtualNodeSpecListenerTimeoutHttp2Idle { + return &v + }).(VirtualNodeSpecListenerTimeoutHttp2IdlePtrOutput) +} + +// Unit of time. Valid values: `ms`, `s`. +func (o VirtualNodeSpecListenerTimeoutHttp2IdleOutput) Unit() pulumi.StringOutput { + return o.ApplyT(func(v VirtualNodeSpecListenerTimeoutHttp2Idle) string { return v.Unit }).(pulumi.StringOutput) +} + +// Number of time units. Minimum value of `0`. +func (o VirtualNodeSpecListenerTimeoutHttp2IdleOutput) Value() pulumi.IntOutput { + return o.ApplyT(func(v VirtualNodeSpecListenerTimeoutHttp2Idle) int { return v.Value }).(pulumi.IntOutput) +} + +type VirtualNodeSpecListenerTimeoutHttp2IdlePtrOutput struct{ *pulumi.OutputState } + +func (VirtualNodeSpecListenerTimeoutHttp2IdlePtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**VirtualNodeSpecListenerTimeoutHttp2Idle)(nil)).Elem() +} + +func (o VirtualNodeSpecListenerTimeoutHttp2IdlePtrOutput) ToVirtualNodeSpecListenerTimeoutHttp2IdlePtrOutput() VirtualNodeSpecListenerTimeoutHttp2IdlePtrOutput { + return o +} + +func (o VirtualNodeSpecListenerTimeoutHttp2IdlePtrOutput) ToVirtualNodeSpecListenerTimeoutHttp2IdlePtrOutputWithContext(ctx context.Context) VirtualNodeSpecListenerTimeoutHttp2IdlePtrOutput { + return o +} + +func (o VirtualNodeSpecListenerTimeoutHttp2IdlePtrOutput) Elem() VirtualNodeSpecListenerTimeoutHttp2IdleOutput { + return o.ApplyT(func(v *VirtualNodeSpecListenerTimeoutHttp2Idle) VirtualNodeSpecListenerTimeoutHttp2Idle { + if v != nil { + return *v + } + var ret VirtualNodeSpecListenerTimeoutHttp2Idle + return ret + }).(VirtualNodeSpecListenerTimeoutHttp2IdleOutput) +} + +// Unit of time. Valid values: `ms`, `s`. +func (o VirtualNodeSpecListenerTimeoutHttp2IdlePtrOutput) Unit() pulumi.StringPtrOutput { + return o.ApplyT(func(v *VirtualNodeSpecListenerTimeoutHttp2Idle) *string { + if v == nil { + return nil + } + return &v.Unit + }).(pulumi.StringPtrOutput) +} + +// Number of time units. Minimum value of `0`. +func (o VirtualNodeSpecListenerTimeoutHttp2IdlePtrOutput) Value() pulumi.IntPtrOutput { + return o.ApplyT(func(v *VirtualNodeSpecListenerTimeoutHttp2Idle) *int { + if v == nil { + return nil + } + return &v.Value + }).(pulumi.IntPtrOutput) +} + +type VirtualNodeSpecListenerTimeoutHttp2PerRequest struct { + // Unit of time. Valid values: `ms`, `s`. + Unit string `pulumi:"unit"` + // The specified value for the JSON. Must be between 1 and 100 characters in length. + Value int `pulumi:"value"` +} + +// VirtualNodeSpecListenerTimeoutHttp2PerRequestInput is an input type that accepts VirtualNodeSpecListenerTimeoutHttp2PerRequestArgs and VirtualNodeSpecListenerTimeoutHttp2PerRequestOutput values. +// You can construct a concrete instance of `VirtualNodeSpecListenerTimeoutHttp2PerRequestInput` via: +// +// VirtualNodeSpecListenerTimeoutHttp2PerRequestArgs{...} +type VirtualNodeSpecListenerTimeoutHttp2PerRequestInput interface { + pulumi.Input + + ToVirtualNodeSpecListenerTimeoutHttp2PerRequestOutput() VirtualNodeSpecListenerTimeoutHttp2PerRequestOutput + ToVirtualNodeSpecListenerTimeoutHttp2PerRequestOutputWithContext(context.Context) VirtualNodeSpecListenerTimeoutHttp2PerRequestOutput +} + +type VirtualNodeSpecListenerTimeoutHttp2PerRequestArgs struct { + // Unit of time. Valid values: `ms`, `s`. + Unit pulumi.StringInput `pulumi:"unit"` + // The specified value for the JSON. Must be between 1 and 100 characters in length. + Value pulumi.IntInput `pulumi:"value"` +} + +func (VirtualNodeSpecListenerTimeoutHttp2PerRequestArgs) ElementType() reflect.Type { + return reflect.TypeOf((*VirtualNodeSpecListenerTimeoutHttp2PerRequest)(nil)).Elem() +} + +func (i VirtualNodeSpecListenerTimeoutHttp2PerRequestArgs) ToVirtualNodeSpecListenerTimeoutHttp2PerRequestOutput() VirtualNodeSpecListenerTimeoutHttp2PerRequestOutput { + return i.ToVirtualNodeSpecListenerTimeoutHttp2PerRequestOutputWithContext(context.Background()) +} + +func (i VirtualNodeSpecListenerTimeoutHttp2PerRequestArgs) ToVirtualNodeSpecListenerTimeoutHttp2PerRequestOutputWithContext(ctx context.Context) VirtualNodeSpecListenerTimeoutHttp2PerRequestOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecListenerTimeoutHttp2PerRequestOutput) +} + +func (i VirtualNodeSpecListenerTimeoutHttp2PerRequestArgs) ToVirtualNodeSpecListenerTimeoutHttp2PerRequestPtrOutput() VirtualNodeSpecListenerTimeoutHttp2PerRequestPtrOutput { + return i.ToVirtualNodeSpecListenerTimeoutHttp2PerRequestPtrOutputWithContext(context.Background()) +} + +func (i VirtualNodeSpecListenerTimeoutHttp2PerRequestArgs) ToVirtualNodeSpecListenerTimeoutHttp2PerRequestPtrOutputWithContext(ctx context.Context) VirtualNodeSpecListenerTimeoutHttp2PerRequestPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecListenerTimeoutHttp2PerRequestOutput).ToVirtualNodeSpecListenerTimeoutHttp2PerRequestPtrOutputWithContext(ctx) +} + +// VirtualNodeSpecListenerTimeoutHttp2PerRequestPtrInput is an input type that accepts VirtualNodeSpecListenerTimeoutHttp2PerRequestArgs, VirtualNodeSpecListenerTimeoutHttp2PerRequestPtr and VirtualNodeSpecListenerTimeoutHttp2PerRequestPtrOutput values. +// You can construct a concrete instance of `VirtualNodeSpecListenerTimeoutHttp2PerRequestPtrInput` via: +// +// VirtualNodeSpecListenerTimeoutHttp2PerRequestArgs{...} +// +// or: +// +// nil +type VirtualNodeSpecListenerTimeoutHttp2PerRequestPtrInput interface { + pulumi.Input + + ToVirtualNodeSpecListenerTimeoutHttp2PerRequestPtrOutput() VirtualNodeSpecListenerTimeoutHttp2PerRequestPtrOutput + ToVirtualNodeSpecListenerTimeoutHttp2PerRequestPtrOutputWithContext(context.Context) VirtualNodeSpecListenerTimeoutHttp2PerRequestPtrOutput +} + +type virtualNodeSpecListenerTimeoutHttp2PerRequestPtrType VirtualNodeSpecListenerTimeoutHttp2PerRequestArgs + +func VirtualNodeSpecListenerTimeoutHttp2PerRequestPtr(v *VirtualNodeSpecListenerTimeoutHttp2PerRequestArgs) VirtualNodeSpecListenerTimeoutHttp2PerRequestPtrInput { + return (*virtualNodeSpecListenerTimeoutHttp2PerRequestPtrType)(v) +} + +func (*virtualNodeSpecListenerTimeoutHttp2PerRequestPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**VirtualNodeSpecListenerTimeoutHttp2PerRequest)(nil)).Elem() +} + +func (i *virtualNodeSpecListenerTimeoutHttp2PerRequestPtrType) ToVirtualNodeSpecListenerTimeoutHttp2PerRequestPtrOutput() VirtualNodeSpecListenerTimeoutHttp2PerRequestPtrOutput { + return i.ToVirtualNodeSpecListenerTimeoutHttp2PerRequestPtrOutputWithContext(context.Background()) +} + +func (i *virtualNodeSpecListenerTimeoutHttp2PerRequestPtrType) ToVirtualNodeSpecListenerTimeoutHttp2PerRequestPtrOutputWithContext(ctx context.Context) VirtualNodeSpecListenerTimeoutHttp2PerRequestPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecListenerTimeoutHttp2PerRequestPtrOutput) +} + +type VirtualNodeSpecListenerTimeoutHttp2PerRequestOutput struct{ *pulumi.OutputState } + +func (VirtualNodeSpecListenerTimeoutHttp2PerRequestOutput) ElementType() reflect.Type { + return reflect.TypeOf((*VirtualNodeSpecListenerTimeoutHttp2PerRequest)(nil)).Elem() +} + +func (o VirtualNodeSpecListenerTimeoutHttp2PerRequestOutput) ToVirtualNodeSpecListenerTimeoutHttp2PerRequestOutput() VirtualNodeSpecListenerTimeoutHttp2PerRequestOutput { + return o +} + +func (o VirtualNodeSpecListenerTimeoutHttp2PerRequestOutput) ToVirtualNodeSpecListenerTimeoutHttp2PerRequestOutputWithContext(ctx context.Context) VirtualNodeSpecListenerTimeoutHttp2PerRequestOutput { + return o +} + +func (o VirtualNodeSpecListenerTimeoutHttp2PerRequestOutput) ToVirtualNodeSpecListenerTimeoutHttp2PerRequestPtrOutput() VirtualNodeSpecListenerTimeoutHttp2PerRequestPtrOutput { + return o.ToVirtualNodeSpecListenerTimeoutHttp2PerRequestPtrOutputWithContext(context.Background()) +} + +func (o VirtualNodeSpecListenerTimeoutHttp2PerRequestOutput) ToVirtualNodeSpecListenerTimeoutHttp2PerRequestPtrOutputWithContext(ctx context.Context) VirtualNodeSpecListenerTimeoutHttp2PerRequestPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v VirtualNodeSpecListenerTimeoutHttp2PerRequest) *VirtualNodeSpecListenerTimeoutHttp2PerRequest { + return &v + }).(VirtualNodeSpecListenerTimeoutHttp2PerRequestPtrOutput) +} + +// Unit of time. Valid values: `ms`, `s`. +func (o VirtualNodeSpecListenerTimeoutHttp2PerRequestOutput) Unit() pulumi.StringOutput { + return o.ApplyT(func(v VirtualNodeSpecListenerTimeoutHttp2PerRequest) string { return v.Unit }).(pulumi.StringOutput) +} + +// The specified value for the JSON. Must be between 1 and 100 characters in length. +func (o VirtualNodeSpecListenerTimeoutHttp2PerRequestOutput) Value() pulumi.IntOutput { + return o.ApplyT(func(v VirtualNodeSpecListenerTimeoutHttp2PerRequest) int { return v.Value }).(pulumi.IntOutput) +} + +type VirtualNodeSpecListenerTimeoutHttp2PerRequestPtrOutput struct{ *pulumi.OutputState } + +func (VirtualNodeSpecListenerTimeoutHttp2PerRequestPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**VirtualNodeSpecListenerTimeoutHttp2PerRequest)(nil)).Elem() +} + +func (o VirtualNodeSpecListenerTimeoutHttp2PerRequestPtrOutput) ToVirtualNodeSpecListenerTimeoutHttp2PerRequestPtrOutput() VirtualNodeSpecListenerTimeoutHttp2PerRequestPtrOutput { + return o +} + +func (o VirtualNodeSpecListenerTimeoutHttp2PerRequestPtrOutput) ToVirtualNodeSpecListenerTimeoutHttp2PerRequestPtrOutputWithContext(ctx context.Context) VirtualNodeSpecListenerTimeoutHttp2PerRequestPtrOutput { + return o +} + +func (o VirtualNodeSpecListenerTimeoutHttp2PerRequestPtrOutput) Elem() VirtualNodeSpecListenerTimeoutHttp2PerRequestOutput { + return o.ApplyT(func(v *VirtualNodeSpecListenerTimeoutHttp2PerRequest) VirtualNodeSpecListenerTimeoutHttp2PerRequest { + if v != nil { + return *v + } + var ret VirtualNodeSpecListenerTimeoutHttp2PerRequest + return ret + }).(VirtualNodeSpecListenerTimeoutHttp2PerRequestOutput) +} + +// Unit of time. Valid values: `ms`, `s`. +func (o VirtualNodeSpecListenerTimeoutHttp2PerRequestPtrOutput) Unit() pulumi.StringPtrOutput { + return o.ApplyT(func(v *VirtualNodeSpecListenerTimeoutHttp2PerRequest) *string { + if v == nil { + return nil + } + return &v.Unit + }).(pulumi.StringPtrOutput) +} + +// The specified value for the JSON. Must be between 1 and 100 characters in length. +func (o VirtualNodeSpecListenerTimeoutHttp2PerRequestPtrOutput) Value() pulumi.IntPtrOutput { + return o.ApplyT(func(v *VirtualNodeSpecListenerTimeoutHttp2PerRequest) *int { + if v == nil { + return nil + } + return &v.Value + }).(pulumi.IntPtrOutput) +} + +type VirtualNodeSpecListenerTimeoutHttp struct { + // Idle timeout. An idle timeout bounds the amount of time that a connection may be idle. + Idle *VirtualNodeSpecListenerTimeoutHttpIdle `pulumi:"idle"` + // Per request timeout. + PerRequest *VirtualNodeSpecListenerTimeoutHttpPerRequest `pulumi:"perRequest"` +} + +// VirtualNodeSpecListenerTimeoutHttpInput is an input type that accepts VirtualNodeSpecListenerTimeoutHttpArgs and VirtualNodeSpecListenerTimeoutHttpOutput values. +// You can construct a concrete instance of `VirtualNodeSpecListenerTimeoutHttpInput` via: +// +// VirtualNodeSpecListenerTimeoutHttpArgs{...} +type VirtualNodeSpecListenerTimeoutHttpInput interface { + pulumi.Input + + ToVirtualNodeSpecListenerTimeoutHttpOutput() VirtualNodeSpecListenerTimeoutHttpOutput + ToVirtualNodeSpecListenerTimeoutHttpOutputWithContext(context.Context) VirtualNodeSpecListenerTimeoutHttpOutput +} + +type VirtualNodeSpecListenerTimeoutHttpArgs struct { + // Idle timeout. An idle timeout bounds the amount of time that a connection may be idle. + Idle VirtualNodeSpecListenerTimeoutHttpIdlePtrInput `pulumi:"idle"` + // Per request timeout. + PerRequest VirtualNodeSpecListenerTimeoutHttpPerRequestPtrInput `pulumi:"perRequest"` +} + +func (VirtualNodeSpecListenerTimeoutHttpArgs) ElementType() reflect.Type { + return reflect.TypeOf((*VirtualNodeSpecListenerTimeoutHttp)(nil)).Elem() +} + +func (i VirtualNodeSpecListenerTimeoutHttpArgs) ToVirtualNodeSpecListenerTimeoutHttpOutput() VirtualNodeSpecListenerTimeoutHttpOutput { + return i.ToVirtualNodeSpecListenerTimeoutHttpOutputWithContext(context.Background()) +} + +func (i VirtualNodeSpecListenerTimeoutHttpArgs) ToVirtualNodeSpecListenerTimeoutHttpOutputWithContext(ctx context.Context) VirtualNodeSpecListenerTimeoutHttpOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecListenerTimeoutHttpOutput) +} + +func (i VirtualNodeSpecListenerTimeoutHttpArgs) ToVirtualNodeSpecListenerTimeoutHttpPtrOutput() VirtualNodeSpecListenerTimeoutHttpPtrOutput { + return i.ToVirtualNodeSpecListenerTimeoutHttpPtrOutputWithContext(context.Background()) +} + +func (i VirtualNodeSpecListenerTimeoutHttpArgs) ToVirtualNodeSpecListenerTimeoutHttpPtrOutputWithContext(ctx context.Context) VirtualNodeSpecListenerTimeoutHttpPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecListenerTimeoutHttpOutput).ToVirtualNodeSpecListenerTimeoutHttpPtrOutputWithContext(ctx) +} + +// VirtualNodeSpecListenerTimeoutHttpPtrInput is an input type that accepts VirtualNodeSpecListenerTimeoutHttpArgs, VirtualNodeSpecListenerTimeoutHttpPtr and VirtualNodeSpecListenerTimeoutHttpPtrOutput values. +// You can construct a concrete instance of `VirtualNodeSpecListenerTimeoutHttpPtrInput` via: +// +// VirtualNodeSpecListenerTimeoutHttpArgs{...} +// +// or: +// +// nil +type VirtualNodeSpecListenerTimeoutHttpPtrInput interface { + pulumi.Input + + ToVirtualNodeSpecListenerTimeoutHttpPtrOutput() VirtualNodeSpecListenerTimeoutHttpPtrOutput + ToVirtualNodeSpecListenerTimeoutHttpPtrOutputWithContext(context.Context) VirtualNodeSpecListenerTimeoutHttpPtrOutput +} + +type virtualNodeSpecListenerTimeoutHttpPtrType VirtualNodeSpecListenerTimeoutHttpArgs + +func VirtualNodeSpecListenerTimeoutHttpPtr(v *VirtualNodeSpecListenerTimeoutHttpArgs) VirtualNodeSpecListenerTimeoutHttpPtrInput { + return (*virtualNodeSpecListenerTimeoutHttpPtrType)(v) +} + +func (*virtualNodeSpecListenerTimeoutHttpPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**VirtualNodeSpecListenerTimeoutHttp)(nil)).Elem() +} + +func (i *virtualNodeSpecListenerTimeoutHttpPtrType) ToVirtualNodeSpecListenerTimeoutHttpPtrOutput() VirtualNodeSpecListenerTimeoutHttpPtrOutput { + return i.ToVirtualNodeSpecListenerTimeoutHttpPtrOutputWithContext(context.Background()) +} + +func (i *virtualNodeSpecListenerTimeoutHttpPtrType) ToVirtualNodeSpecListenerTimeoutHttpPtrOutputWithContext(ctx context.Context) VirtualNodeSpecListenerTimeoutHttpPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecListenerTimeoutHttpPtrOutput) +} + +type VirtualNodeSpecListenerTimeoutHttpOutput struct{ *pulumi.OutputState } + +func (VirtualNodeSpecListenerTimeoutHttpOutput) ElementType() reflect.Type { + return reflect.TypeOf((*VirtualNodeSpecListenerTimeoutHttp)(nil)).Elem() +} + +func (o VirtualNodeSpecListenerTimeoutHttpOutput) ToVirtualNodeSpecListenerTimeoutHttpOutput() VirtualNodeSpecListenerTimeoutHttpOutput { + return o +} + +func (o VirtualNodeSpecListenerTimeoutHttpOutput) ToVirtualNodeSpecListenerTimeoutHttpOutputWithContext(ctx context.Context) VirtualNodeSpecListenerTimeoutHttpOutput { + return o +} + +func (o VirtualNodeSpecListenerTimeoutHttpOutput) ToVirtualNodeSpecListenerTimeoutHttpPtrOutput() VirtualNodeSpecListenerTimeoutHttpPtrOutput { + return o.ToVirtualNodeSpecListenerTimeoutHttpPtrOutputWithContext(context.Background()) +} + +func (o VirtualNodeSpecListenerTimeoutHttpOutput) ToVirtualNodeSpecListenerTimeoutHttpPtrOutputWithContext(ctx context.Context) VirtualNodeSpecListenerTimeoutHttpPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v VirtualNodeSpecListenerTimeoutHttp) *VirtualNodeSpecListenerTimeoutHttp { + return &v + }).(VirtualNodeSpecListenerTimeoutHttpPtrOutput) +} + +// Idle timeout. An idle timeout bounds the amount of time that a connection may be idle. +func (o VirtualNodeSpecListenerTimeoutHttpOutput) Idle() VirtualNodeSpecListenerTimeoutHttpIdlePtrOutput { + return o.ApplyT(func(v VirtualNodeSpecListenerTimeoutHttp) *VirtualNodeSpecListenerTimeoutHttpIdle { return v.Idle }).(VirtualNodeSpecListenerTimeoutHttpIdlePtrOutput) +} + +// Per request timeout. +func (o VirtualNodeSpecListenerTimeoutHttpOutput) PerRequest() VirtualNodeSpecListenerTimeoutHttpPerRequestPtrOutput { + return o.ApplyT(func(v VirtualNodeSpecListenerTimeoutHttp) *VirtualNodeSpecListenerTimeoutHttpPerRequest { + return v.PerRequest + }).(VirtualNodeSpecListenerTimeoutHttpPerRequestPtrOutput) +} + +type VirtualNodeSpecListenerTimeoutHttpPtrOutput struct{ *pulumi.OutputState } + +func (VirtualNodeSpecListenerTimeoutHttpPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**VirtualNodeSpecListenerTimeoutHttp)(nil)).Elem() +} + +func (o VirtualNodeSpecListenerTimeoutHttpPtrOutput) ToVirtualNodeSpecListenerTimeoutHttpPtrOutput() VirtualNodeSpecListenerTimeoutHttpPtrOutput { + return o +} + +func (o VirtualNodeSpecListenerTimeoutHttpPtrOutput) ToVirtualNodeSpecListenerTimeoutHttpPtrOutputWithContext(ctx context.Context) VirtualNodeSpecListenerTimeoutHttpPtrOutput { + return o +} + +func (o VirtualNodeSpecListenerTimeoutHttpPtrOutput) Elem() VirtualNodeSpecListenerTimeoutHttpOutput { + return o.ApplyT(func(v *VirtualNodeSpecListenerTimeoutHttp) VirtualNodeSpecListenerTimeoutHttp { + if v != nil { + return *v + } + var ret VirtualNodeSpecListenerTimeoutHttp + return ret + }).(VirtualNodeSpecListenerTimeoutHttpOutput) +} + +// Idle timeout. An idle timeout bounds the amount of time that a connection may be idle. +func (o VirtualNodeSpecListenerTimeoutHttpPtrOutput) Idle() VirtualNodeSpecListenerTimeoutHttpIdlePtrOutput { + return o.ApplyT(func(v *VirtualNodeSpecListenerTimeoutHttp) *VirtualNodeSpecListenerTimeoutHttpIdle { + if v == nil { + return nil + } + return v.Idle + }).(VirtualNodeSpecListenerTimeoutHttpIdlePtrOutput) +} + +// Per request timeout. +func (o VirtualNodeSpecListenerTimeoutHttpPtrOutput) PerRequest() VirtualNodeSpecListenerTimeoutHttpPerRequestPtrOutput { + return o.ApplyT(func(v *VirtualNodeSpecListenerTimeoutHttp) *VirtualNodeSpecListenerTimeoutHttpPerRequest { + if v == nil { + return nil + } + return v.PerRequest + }).(VirtualNodeSpecListenerTimeoutHttpPerRequestPtrOutput) +} + +type VirtualNodeSpecListenerTimeoutHttpIdle struct { + // Unit of time. Valid values: `ms`, `s`. + Unit string `pulumi:"unit"` + // Number of time units. Minimum value of `0`. + Value int `pulumi:"value"` +} + +// VirtualNodeSpecListenerTimeoutHttpIdleInput is an input type that accepts VirtualNodeSpecListenerTimeoutHttpIdleArgs and VirtualNodeSpecListenerTimeoutHttpIdleOutput values. +// You can construct a concrete instance of `VirtualNodeSpecListenerTimeoutHttpIdleInput` via: +// +// VirtualNodeSpecListenerTimeoutHttpIdleArgs{...} +type VirtualNodeSpecListenerTimeoutHttpIdleInput interface { + pulumi.Input + + ToVirtualNodeSpecListenerTimeoutHttpIdleOutput() VirtualNodeSpecListenerTimeoutHttpIdleOutput + ToVirtualNodeSpecListenerTimeoutHttpIdleOutputWithContext(context.Context) VirtualNodeSpecListenerTimeoutHttpIdleOutput +} + +type VirtualNodeSpecListenerTimeoutHttpIdleArgs struct { + // Unit of time. Valid values: `ms`, `s`. + Unit pulumi.StringInput `pulumi:"unit"` + // Number of time units. Minimum value of `0`. + Value pulumi.IntInput `pulumi:"value"` +} + +func (VirtualNodeSpecListenerTimeoutHttpIdleArgs) ElementType() reflect.Type { + return reflect.TypeOf((*VirtualNodeSpecListenerTimeoutHttpIdle)(nil)).Elem() +} + +func (i VirtualNodeSpecListenerTimeoutHttpIdleArgs) ToVirtualNodeSpecListenerTimeoutHttpIdleOutput() VirtualNodeSpecListenerTimeoutHttpIdleOutput { + return i.ToVirtualNodeSpecListenerTimeoutHttpIdleOutputWithContext(context.Background()) +} + +func (i VirtualNodeSpecListenerTimeoutHttpIdleArgs) ToVirtualNodeSpecListenerTimeoutHttpIdleOutputWithContext(ctx context.Context) VirtualNodeSpecListenerTimeoutHttpIdleOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecListenerTimeoutHttpIdleOutput) +} + +func (i VirtualNodeSpecListenerTimeoutHttpIdleArgs) ToVirtualNodeSpecListenerTimeoutHttpIdlePtrOutput() VirtualNodeSpecListenerTimeoutHttpIdlePtrOutput { + return i.ToVirtualNodeSpecListenerTimeoutHttpIdlePtrOutputWithContext(context.Background()) +} + +func (i VirtualNodeSpecListenerTimeoutHttpIdleArgs) ToVirtualNodeSpecListenerTimeoutHttpIdlePtrOutputWithContext(ctx context.Context) VirtualNodeSpecListenerTimeoutHttpIdlePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecListenerTimeoutHttpIdleOutput).ToVirtualNodeSpecListenerTimeoutHttpIdlePtrOutputWithContext(ctx) +} + +// VirtualNodeSpecListenerTimeoutHttpIdlePtrInput is an input type that accepts VirtualNodeSpecListenerTimeoutHttpIdleArgs, VirtualNodeSpecListenerTimeoutHttpIdlePtr and VirtualNodeSpecListenerTimeoutHttpIdlePtrOutput values. +// You can construct a concrete instance of `VirtualNodeSpecListenerTimeoutHttpIdlePtrInput` via: +// +// VirtualNodeSpecListenerTimeoutHttpIdleArgs{...} +// +// or: +// +// nil +type VirtualNodeSpecListenerTimeoutHttpIdlePtrInput interface { + pulumi.Input + + ToVirtualNodeSpecListenerTimeoutHttpIdlePtrOutput() VirtualNodeSpecListenerTimeoutHttpIdlePtrOutput + ToVirtualNodeSpecListenerTimeoutHttpIdlePtrOutputWithContext(context.Context) VirtualNodeSpecListenerTimeoutHttpIdlePtrOutput +} + +type virtualNodeSpecListenerTimeoutHttpIdlePtrType VirtualNodeSpecListenerTimeoutHttpIdleArgs + +func VirtualNodeSpecListenerTimeoutHttpIdlePtr(v *VirtualNodeSpecListenerTimeoutHttpIdleArgs) VirtualNodeSpecListenerTimeoutHttpIdlePtrInput { + return (*virtualNodeSpecListenerTimeoutHttpIdlePtrType)(v) +} + +func (*virtualNodeSpecListenerTimeoutHttpIdlePtrType) ElementType() reflect.Type { + return reflect.TypeOf((**VirtualNodeSpecListenerTimeoutHttpIdle)(nil)).Elem() +} + +func (i *virtualNodeSpecListenerTimeoutHttpIdlePtrType) ToVirtualNodeSpecListenerTimeoutHttpIdlePtrOutput() VirtualNodeSpecListenerTimeoutHttpIdlePtrOutput { + return i.ToVirtualNodeSpecListenerTimeoutHttpIdlePtrOutputWithContext(context.Background()) +} + +func (i *virtualNodeSpecListenerTimeoutHttpIdlePtrType) ToVirtualNodeSpecListenerTimeoutHttpIdlePtrOutputWithContext(ctx context.Context) VirtualNodeSpecListenerTimeoutHttpIdlePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecListenerTimeoutHttpIdlePtrOutput) +} + +type VirtualNodeSpecListenerTimeoutHttpIdleOutput struct{ *pulumi.OutputState } + +func (VirtualNodeSpecListenerTimeoutHttpIdleOutput) ElementType() reflect.Type { + return reflect.TypeOf((*VirtualNodeSpecListenerTimeoutHttpIdle)(nil)).Elem() +} + +func (o VirtualNodeSpecListenerTimeoutHttpIdleOutput) ToVirtualNodeSpecListenerTimeoutHttpIdleOutput() VirtualNodeSpecListenerTimeoutHttpIdleOutput { + return o +} + +func (o VirtualNodeSpecListenerTimeoutHttpIdleOutput) ToVirtualNodeSpecListenerTimeoutHttpIdleOutputWithContext(ctx context.Context) VirtualNodeSpecListenerTimeoutHttpIdleOutput { + return o +} + +func (o VirtualNodeSpecListenerTimeoutHttpIdleOutput) ToVirtualNodeSpecListenerTimeoutHttpIdlePtrOutput() VirtualNodeSpecListenerTimeoutHttpIdlePtrOutput { + return o.ToVirtualNodeSpecListenerTimeoutHttpIdlePtrOutputWithContext(context.Background()) +} + +func (o VirtualNodeSpecListenerTimeoutHttpIdleOutput) ToVirtualNodeSpecListenerTimeoutHttpIdlePtrOutputWithContext(ctx context.Context) VirtualNodeSpecListenerTimeoutHttpIdlePtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v VirtualNodeSpecListenerTimeoutHttpIdle) *VirtualNodeSpecListenerTimeoutHttpIdle { + return &v + }).(VirtualNodeSpecListenerTimeoutHttpIdlePtrOutput) +} + +// Unit of time. Valid values: `ms`, `s`. +func (o VirtualNodeSpecListenerTimeoutHttpIdleOutput) Unit() pulumi.StringOutput { + return o.ApplyT(func(v VirtualNodeSpecListenerTimeoutHttpIdle) string { return v.Unit }).(pulumi.StringOutput) +} + +// Number of time units. Minimum value of `0`. +func (o VirtualNodeSpecListenerTimeoutHttpIdleOutput) Value() pulumi.IntOutput { + return o.ApplyT(func(v VirtualNodeSpecListenerTimeoutHttpIdle) int { return v.Value }).(pulumi.IntOutput) +} + +type VirtualNodeSpecListenerTimeoutHttpIdlePtrOutput struct{ *pulumi.OutputState } + +func (VirtualNodeSpecListenerTimeoutHttpIdlePtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**VirtualNodeSpecListenerTimeoutHttpIdle)(nil)).Elem() +} + +func (o VirtualNodeSpecListenerTimeoutHttpIdlePtrOutput) ToVirtualNodeSpecListenerTimeoutHttpIdlePtrOutput() VirtualNodeSpecListenerTimeoutHttpIdlePtrOutput { + return o +} + +func (o VirtualNodeSpecListenerTimeoutHttpIdlePtrOutput) ToVirtualNodeSpecListenerTimeoutHttpIdlePtrOutputWithContext(ctx context.Context) VirtualNodeSpecListenerTimeoutHttpIdlePtrOutput { + return o +} + +func (o VirtualNodeSpecListenerTimeoutHttpIdlePtrOutput) Elem() VirtualNodeSpecListenerTimeoutHttpIdleOutput { + return o.ApplyT(func(v *VirtualNodeSpecListenerTimeoutHttpIdle) VirtualNodeSpecListenerTimeoutHttpIdle { + if v != nil { + return *v + } + var ret VirtualNodeSpecListenerTimeoutHttpIdle + return ret + }).(VirtualNodeSpecListenerTimeoutHttpIdleOutput) +} + +// Unit of time. Valid values: `ms`, `s`. +func (o VirtualNodeSpecListenerTimeoutHttpIdlePtrOutput) Unit() pulumi.StringPtrOutput { + return o.ApplyT(func(v *VirtualNodeSpecListenerTimeoutHttpIdle) *string { + if v == nil { + return nil + } + return &v.Unit + }).(pulumi.StringPtrOutput) +} + +// Number of time units. Minimum value of `0`. +func (o VirtualNodeSpecListenerTimeoutHttpIdlePtrOutput) Value() pulumi.IntPtrOutput { + return o.ApplyT(func(v *VirtualNodeSpecListenerTimeoutHttpIdle) *int { + if v == nil { + return nil + } + return &v.Value + }).(pulumi.IntPtrOutput) +} + +type VirtualNodeSpecListenerTimeoutHttpPerRequest struct { + // Unit of time. Valid values: `ms`, `s`. + Unit string `pulumi:"unit"` + // The specified value for the JSON. Must be between 1 and 100 characters in length. + Value int `pulumi:"value"` +} + +// VirtualNodeSpecListenerTimeoutHttpPerRequestInput is an input type that accepts VirtualNodeSpecListenerTimeoutHttpPerRequestArgs and VirtualNodeSpecListenerTimeoutHttpPerRequestOutput values. +// You can construct a concrete instance of `VirtualNodeSpecListenerTimeoutHttpPerRequestInput` via: +// +// VirtualNodeSpecListenerTimeoutHttpPerRequestArgs{...} +type VirtualNodeSpecListenerTimeoutHttpPerRequestInput interface { + pulumi.Input + + ToVirtualNodeSpecListenerTimeoutHttpPerRequestOutput() VirtualNodeSpecListenerTimeoutHttpPerRequestOutput + ToVirtualNodeSpecListenerTimeoutHttpPerRequestOutputWithContext(context.Context) VirtualNodeSpecListenerTimeoutHttpPerRequestOutput +} + +type VirtualNodeSpecListenerTimeoutHttpPerRequestArgs struct { + // Unit of time. Valid values: `ms`, `s`. + Unit pulumi.StringInput `pulumi:"unit"` + // The specified value for the JSON. Must be between 1 and 100 characters in length. + Value pulumi.IntInput `pulumi:"value"` +} + +func (VirtualNodeSpecListenerTimeoutHttpPerRequestArgs) ElementType() reflect.Type { + return reflect.TypeOf((*VirtualNodeSpecListenerTimeoutHttpPerRequest)(nil)).Elem() +} + +func (i VirtualNodeSpecListenerTimeoutHttpPerRequestArgs) ToVirtualNodeSpecListenerTimeoutHttpPerRequestOutput() VirtualNodeSpecListenerTimeoutHttpPerRequestOutput { + return i.ToVirtualNodeSpecListenerTimeoutHttpPerRequestOutputWithContext(context.Background()) +} + +func (i VirtualNodeSpecListenerTimeoutHttpPerRequestArgs) ToVirtualNodeSpecListenerTimeoutHttpPerRequestOutputWithContext(ctx context.Context) VirtualNodeSpecListenerTimeoutHttpPerRequestOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecListenerTimeoutHttpPerRequestOutput) +} + +func (i VirtualNodeSpecListenerTimeoutHttpPerRequestArgs) ToVirtualNodeSpecListenerTimeoutHttpPerRequestPtrOutput() VirtualNodeSpecListenerTimeoutHttpPerRequestPtrOutput { + return i.ToVirtualNodeSpecListenerTimeoutHttpPerRequestPtrOutputWithContext(context.Background()) +} + +func (i VirtualNodeSpecListenerTimeoutHttpPerRequestArgs) ToVirtualNodeSpecListenerTimeoutHttpPerRequestPtrOutputWithContext(ctx context.Context) VirtualNodeSpecListenerTimeoutHttpPerRequestPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecListenerTimeoutHttpPerRequestOutput).ToVirtualNodeSpecListenerTimeoutHttpPerRequestPtrOutputWithContext(ctx) +} + +// VirtualNodeSpecListenerTimeoutHttpPerRequestPtrInput is an input type that accepts VirtualNodeSpecListenerTimeoutHttpPerRequestArgs, VirtualNodeSpecListenerTimeoutHttpPerRequestPtr and VirtualNodeSpecListenerTimeoutHttpPerRequestPtrOutput values. +// You can construct a concrete instance of `VirtualNodeSpecListenerTimeoutHttpPerRequestPtrInput` via: +// +// VirtualNodeSpecListenerTimeoutHttpPerRequestArgs{...} +// +// or: +// +// nil +type VirtualNodeSpecListenerTimeoutHttpPerRequestPtrInput interface { + pulumi.Input + + ToVirtualNodeSpecListenerTimeoutHttpPerRequestPtrOutput() VirtualNodeSpecListenerTimeoutHttpPerRequestPtrOutput + ToVirtualNodeSpecListenerTimeoutHttpPerRequestPtrOutputWithContext(context.Context) VirtualNodeSpecListenerTimeoutHttpPerRequestPtrOutput +} + +type virtualNodeSpecListenerTimeoutHttpPerRequestPtrType VirtualNodeSpecListenerTimeoutHttpPerRequestArgs + +func VirtualNodeSpecListenerTimeoutHttpPerRequestPtr(v *VirtualNodeSpecListenerTimeoutHttpPerRequestArgs) VirtualNodeSpecListenerTimeoutHttpPerRequestPtrInput { + return (*virtualNodeSpecListenerTimeoutHttpPerRequestPtrType)(v) +} + +func (*virtualNodeSpecListenerTimeoutHttpPerRequestPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**VirtualNodeSpecListenerTimeoutHttpPerRequest)(nil)).Elem() +} + +func (i *virtualNodeSpecListenerTimeoutHttpPerRequestPtrType) ToVirtualNodeSpecListenerTimeoutHttpPerRequestPtrOutput() VirtualNodeSpecListenerTimeoutHttpPerRequestPtrOutput { + return i.ToVirtualNodeSpecListenerTimeoutHttpPerRequestPtrOutputWithContext(context.Background()) +} + +func (i *virtualNodeSpecListenerTimeoutHttpPerRequestPtrType) ToVirtualNodeSpecListenerTimeoutHttpPerRequestPtrOutputWithContext(ctx context.Context) VirtualNodeSpecListenerTimeoutHttpPerRequestPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecListenerTimeoutHttpPerRequestPtrOutput) +} + +type VirtualNodeSpecListenerTimeoutHttpPerRequestOutput struct{ *pulumi.OutputState } + +func (VirtualNodeSpecListenerTimeoutHttpPerRequestOutput) ElementType() reflect.Type { + return reflect.TypeOf((*VirtualNodeSpecListenerTimeoutHttpPerRequest)(nil)).Elem() +} + +func (o VirtualNodeSpecListenerTimeoutHttpPerRequestOutput) ToVirtualNodeSpecListenerTimeoutHttpPerRequestOutput() VirtualNodeSpecListenerTimeoutHttpPerRequestOutput { + return o +} + +func (o VirtualNodeSpecListenerTimeoutHttpPerRequestOutput) ToVirtualNodeSpecListenerTimeoutHttpPerRequestOutputWithContext(ctx context.Context) VirtualNodeSpecListenerTimeoutHttpPerRequestOutput { + return o +} + +func (o VirtualNodeSpecListenerTimeoutHttpPerRequestOutput) ToVirtualNodeSpecListenerTimeoutHttpPerRequestPtrOutput() VirtualNodeSpecListenerTimeoutHttpPerRequestPtrOutput { + return o.ToVirtualNodeSpecListenerTimeoutHttpPerRequestPtrOutputWithContext(context.Background()) +} + +func (o VirtualNodeSpecListenerTimeoutHttpPerRequestOutput) ToVirtualNodeSpecListenerTimeoutHttpPerRequestPtrOutputWithContext(ctx context.Context) VirtualNodeSpecListenerTimeoutHttpPerRequestPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v VirtualNodeSpecListenerTimeoutHttpPerRequest) *VirtualNodeSpecListenerTimeoutHttpPerRequest { + return &v + }).(VirtualNodeSpecListenerTimeoutHttpPerRequestPtrOutput) +} + +// Unit of time. Valid values: `ms`, `s`. +func (o VirtualNodeSpecListenerTimeoutHttpPerRequestOutput) Unit() pulumi.StringOutput { + return o.ApplyT(func(v VirtualNodeSpecListenerTimeoutHttpPerRequest) string { return v.Unit }).(pulumi.StringOutput) +} + +// The specified value for the JSON. Must be between 1 and 100 characters in length. +func (o VirtualNodeSpecListenerTimeoutHttpPerRequestOutput) Value() pulumi.IntOutput { + return o.ApplyT(func(v VirtualNodeSpecListenerTimeoutHttpPerRequest) int { return v.Value }).(pulumi.IntOutput) +} + +type VirtualNodeSpecListenerTimeoutHttpPerRequestPtrOutput struct{ *pulumi.OutputState } + +func (VirtualNodeSpecListenerTimeoutHttpPerRequestPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**VirtualNodeSpecListenerTimeoutHttpPerRequest)(nil)).Elem() +} + +func (o VirtualNodeSpecListenerTimeoutHttpPerRequestPtrOutput) ToVirtualNodeSpecListenerTimeoutHttpPerRequestPtrOutput() VirtualNodeSpecListenerTimeoutHttpPerRequestPtrOutput { + return o +} + +func (o VirtualNodeSpecListenerTimeoutHttpPerRequestPtrOutput) ToVirtualNodeSpecListenerTimeoutHttpPerRequestPtrOutputWithContext(ctx context.Context) VirtualNodeSpecListenerTimeoutHttpPerRequestPtrOutput { + return o +} + +func (o VirtualNodeSpecListenerTimeoutHttpPerRequestPtrOutput) Elem() VirtualNodeSpecListenerTimeoutHttpPerRequestOutput { + return o.ApplyT(func(v *VirtualNodeSpecListenerTimeoutHttpPerRequest) VirtualNodeSpecListenerTimeoutHttpPerRequest { + if v != nil { + return *v + } + var ret VirtualNodeSpecListenerTimeoutHttpPerRequest + return ret + }).(VirtualNodeSpecListenerTimeoutHttpPerRequestOutput) +} + +// Unit of time. Valid values: `ms`, `s`. +func (o VirtualNodeSpecListenerTimeoutHttpPerRequestPtrOutput) Unit() pulumi.StringPtrOutput { + return o.ApplyT(func(v *VirtualNodeSpecListenerTimeoutHttpPerRequest) *string { + if v == nil { + return nil + } + return &v.Unit + }).(pulumi.StringPtrOutput) +} + +// The specified value for the JSON. Must be between 1 and 100 characters in length. +func (o VirtualNodeSpecListenerTimeoutHttpPerRequestPtrOutput) Value() pulumi.IntPtrOutput { + return o.ApplyT(func(v *VirtualNodeSpecListenerTimeoutHttpPerRequest) *int { + if v == nil { + return nil + } + return &v.Value + }).(pulumi.IntPtrOutput) +} + +type VirtualNodeSpecListenerTimeoutTcp struct { + // Idle timeout. An idle timeout bounds the amount of time that a connection may be idle. + Idle *VirtualNodeSpecListenerTimeoutTcpIdle `pulumi:"idle"` +} + +// VirtualNodeSpecListenerTimeoutTcpInput is an input type that accepts VirtualNodeSpecListenerTimeoutTcpArgs and VirtualNodeSpecListenerTimeoutTcpOutput values. +// You can construct a concrete instance of `VirtualNodeSpecListenerTimeoutTcpInput` via: +// +// VirtualNodeSpecListenerTimeoutTcpArgs{...} +type VirtualNodeSpecListenerTimeoutTcpInput interface { + pulumi.Input + + ToVirtualNodeSpecListenerTimeoutTcpOutput() VirtualNodeSpecListenerTimeoutTcpOutput + ToVirtualNodeSpecListenerTimeoutTcpOutputWithContext(context.Context) VirtualNodeSpecListenerTimeoutTcpOutput +} + +type VirtualNodeSpecListenerTimeoutTcpArgs struct { + // Idle timeout. An idle timeout bounds the amount of time that a connection may be idle. + Idle VirtualNodeSpecListenerTimeoutTcpIdlePtrInput `pulumi:"idle"` +} + +func (VirtualNodeSpecListenerTimeoutTcpArgs) ElementType() reflect.Type { + return reflect.TypeOf((*VirtualNodeSpecListenerTimeoutTcp)(nil)).Elem() +} + +func (i VirtualNodeSpecListenerTimeoutTcpArgs) ToVirtualNodeSpecListenerTimeoutTcpOutput() VirtualNodeSpecListenerTimeoutTcpOutput { + return i.ToVirtualNodeSpecListenerTimeoutTcpOutputWithContext(context.Background()) +} + +func (i VirtualNodeSpecListenerTimeoutTcpArgs) ToVirtualNodeSpecListenerTimeoutTcpOutputWithContext(ctx context.Context) VirtualNodeSpecListenerTimeoutTcpOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecListenerTimeoutTcpOutput) +} + +func (i VirtualNodeSpecListenerTimeoutTcpArgs) ToVirtualNodeSpecListenerTimeoutTcpPtrOutput() VirtualNodeSpecListenerTimeoutTcpPtrOutput { + return i.ToVirtualNodeSpecListenerTimeoutTcpPtrOutputWithContext(context.Background()) +} + +func (i VirtualNodeSpecListenerTimeoutTcpArgs) ToVirtualNodeSpecListenerTimeoutTcpPtrOutputWithContext(ctx context.Context) VirtualNodeSpecListenerTimeoutTcpPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecListenerTimeoutTcpOutput).ToVirtualNodeSpecListenerTimeoutTcpPtrOutputWithContext(ctx) +} + +// VirtualNodeSpecListenerTimeoutTcpPtrInput is an input type that accepts VirtualNodeSpecListenerTimeoutTcpArgs, VirtualNodeSpecListenerTimeoutTcpPtr and VirtualNodeSpecListenerTimeoutTcpPtrOutput values. +// You can construct a concrete instance of `VirtualNodeSpecListenerTimeoutTcpPtrInput` via: +// +// VirtualNodeSpecListenerTimeoutTcpArgs{...} +// +// or: +// +// nil +type VirtualNodeSpecListenerTimeoutTcpPtrInput interface { + pulumi.Input + + ToVirtualNodeSpecListenerTimeoutTcpPtrOutput() VirtualNodeSpecListenerTimeoutTcpPtrOutput + ToVirtualNodeSpecListenerTimeoutTcpPtrOutputWithContext(context.Context) VirtualNodeSpecListenerTimeoutTcpPtrOutput +} + +type virtualNodeSpecListenerTimeoutTcpPtrType VirtualNodeSpecListenerTimeoutTcpArgs + +func VirtualNodeSpecListenerTimeoutTcpPtr(v *VirtualNodeSpecListenerTimeoutTcpArgs) VirtualNodeSpecListenerTimeoutTcpPtrInput { + return (*virtualNodeSpecListenerTimeoutTcpPtrType)(v) +} + +func (*virtualNodeSpecListenerTimeoutTcpPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**VirtualNodeSpecListenerTimeoutTcp)(nil)).Elem() +} + +func (i *virtualNodeSpecListenerTimeoutTcpPtrType) ToVirtualNodeSpecListenerTimeoutTcpPtrOutput() VirtualNodeSpecListenerTimeoutTcpPtrOutput { + return i.ToVirtualNodeSpecListenerTimeoutTcpPtrOutputWithContext(context.Background()) +} + +func (i *virtualNodeSpecListenerTimeoutTcpPtrType) ToVirtualNodeSpecListenerTimeoutTcpPtrOutputWithContext(ctx context.Context) VirtualNodeSpecListenerTimeoutTcpPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecListenerTimeoutTcpPtrOutput) +} + +type VirtualNodeSpecListenerTimeoutTcpOutput struct{ *pulumi.OutputState } + +func (VirtualNodeSpecListenerTimeoutTcpOutput) ElementType() reflect.Type { + return reflect.TypeOf((*VirtualNodeSpecListenerTimeoutTcp)(nil)).Elem() +} + +func (o VirtualNodeSpecListenerTimeoutTcpOutput) ToVirtualNodeSpecListenerTimeoutTcpOutput() VirtualNodeSpecListenerTimeoutTcpOutput { + return o +} + +func (o VirtualNodeSpecListenerTimeoutTcpOutput) ToVirtualNodeSpecListenerTimeoutTcpOutputWithContext(ctx context.Context) VirtualNodeSpecListenerTimeoutTcpOutput { + return o +} + +func (o VirtualNodeSpecListenerTimeoutTcpOutput) ToVirtualNodeSpecListenerTimeoutTcpPtrOutput() VirtualNodeSpecListenerTimeoutTcpPtrOutput { + return o.ToVirtualNodeSpecListenerTimeoutTcpPtrOutputWithContext(context.Background()) +} + +func (o VirtualNodeSpecListenerTimeoutTcpOutput) ToVirtualNodeSpecListenerTimeoutTcpPtrOutputWithContext(ctx context.Context) VirtualNodeSpecListenerTimeoutTcpPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v VirtualNodeSpecListenerTimeoutTcp) *VirtualNodeSpecListenerTimeoutTcp { + return &v + }).(VirtualNodeSpecListenerTimeoutTcpPtrOutput) +} + +// Idle timeout. An idle timeout bounds the amount of time that a connection may be idle. +func (o VirtualNodeSpecListenerTimeoutTcpOutput) Idle() VirtualNodeSpecListenerTimeoutTcpIdlePtrOutput { + return o.ApplyT(func(v VirtualNodeSpecListenerTimeoutTcp) *VirtualNodeSpecListenerTimeoutTcpIdle { return v.Idle }).(VirtualNodeSpecListenerTimeoutTcpIdlePtrOutput) +} + +type VirtualNodeSpecListenerTimeoutTcpPtrOutput struct{ *pulumi.OutputState } + +func (VirtualNodeSpecListenerTimeoutTcpPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**VirtualNodeSpecListenerTimeoutTcp)(nil)).Elem() +} + +func (o VirtualNodeSpecListenerTimeoutTcpPtrOutput) ToVirtualNodeSpecListenerTimeoutTcpPtrOutput() VirtualNodeSpecListenerTimeoutTcpPtrOutput { + return o +} + +func (o VirtualNodeSpecListenerTimeoutTcpPtrOutput) ToVirtualNodeSpecListenerTimeoutTcpPtrOutputWithContext(ctx context.Context) VirtualNodeSpecListenerTimeoutTcpPtrOutput { + return o +} + +func (o VirtualNodeSpecListenerTimeoutTcpPtrOutput) Elem() VirtualNodeSpecListenerTimeoutTcpOutput { + return o.ApplyT(func(v *VirtualNodeSpecListenerTimeoutTcp) VirtualNodeSpecListenerTimeoutTcp { + if v != nil { + return *v + } + var ret VirtualNodeSpecListenerTimeoutTcp + return ret + }).(VirtualNodeSpecListenerTimeoutTcpOutput) +} + +// Idle timeout. An idle timeout bounds the amount of time that a connection may be idle. +func (o VirtualNodeSpecListenerTimeoutTcpPtrOutput) Idle() VirtualNodeSpecListenerTimeoutTcpIdlePtrOutput { + return o.ApplyT(func(v *VirtualNodeSpecListenerTimeoutTcp) *VirtualNodeSpecListenerTimeoutTcpIdle { + if v == nil { + return nil + } + return v.Idle + }).(VirtualNodeSpecListenerTimeoutTcpIdlePtrOutput) +} + +type VirtualNodeSpecListenerTimeoutTcpIdle struct { + // Unit of time. Valid values: `ms`, `s`. + Unit string `pulumi:"unit"` + // Number of time units. Minimum value of `0`. + Value int `pulumi:"value"` +} + +// VirtualNodeSpecListenerTimeoutTcpIdleInput is an input type that accepts VirtualNodeSpecListenerTimeoutTcpIdleArgs and VirtualNodeSpecListenerTimeoutTcpIdleOutput values. +// You can construct a concrete instance of `VirtualNodeSpecListenerTimeoutTcpIdleInput` via: +// +// VirtualNodeSpecListenerTimeoutTcpIdleArgs{...} +type VirtualNodeSpecListenerTimeoutTcpIdleInput interface { + pulumi.Input + + ToVirtualNodeSpecListenerTimeoutTcpIdleOutput() VirtualNodeSpecListenerTimeoutTcpIdleOutput + ToVirtualNodeSpecListenerTimeoutTcpIdleOutputWithContext(context.Context) VirtualNodeSpecListenerTimeoutTcpIdleOutput +} + +type VirtualNodeSpecListenerTimeoutTcpIdleArgs struct { + // Unit of time. Valid values: `ms`, `s`. + Unit pulumi.StringInput `pulumi:"unit"` + // Number of time units. Minimum value of `0`. + Value pulumi.IntInput `pulumi:"value"` +} + +func (VirtualNodeSpecListenerTimeoutTcpIdleArgs) ElementType() reflect.Type { + return reflect.TypeOf((*VirtualNodeSpecListenerTimeoutTcpIdle)(nil)).Elem() +} + +func (i VirtualNodeSpecListenerTimeoutTcpIdleArgs) ToVirtualNodeSpecListenerTimeoutTcpIdleOutput() VirtualNodeSpecListenerTimeoutTcpIdleOutput { + return i.ToVirtualNodeSpecListenerTimeoutTcpIdleOutputWithContext(context.Background()) +} + +func (i VirtualNodeSpecListenerTimeoutTcpIdleArgs) ToVirtualNodeSpecListenerTimeoutTcpIdleOutputWithContext(ctx context.Context) VirtualNodeSpecListenerTimeoutTcpIdleOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecListenerTimeoutTcpIdleOutput) +} + +func (i VirtualNodeSpecListenerTimeoutTcpIdleArgs) ToVirtualNodeSpecListenerTimeoutTcpIdlePtrOutput() VirtualNodeSpecListenerTimeoutTcpIdlePtrOutput { + return i.ToVirtualNodeSpecListenerTimeoutTcpIdlePtrOutputWithContext(context.Background()) +} + +func (i VirtualNodeSpecListenerTimeoutTcpIdleArgs) ToVirtualNodeSpecListenerTimeoutTcpIdlePtrOutputWithContext(ctx context.Context) VirtualNodeSpecListenerTimeoutTcpIdlePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecListenerTimeoutTcpIdleOutput).ToVirtualNodeSpecListenerTimeoutTcpIdlePtrOutputWithContext(ctx) +} + +// VirtualNodeSpecListenerTimeoutTcpIdlePtrInput is an input type that accepts VirtualNodeSpecListenerTimeoutTcpIdleArgs, VirtualNodeSpecListenerTimeoutTcpIdlePtr and VirtualNodeSpecListenerTimeoutTcpIdlePtrOutput values. +// You can construct a concrete instance of `VirtualNodeSpecListenerTimeoutTcpIdlePtrInput` via: +// +// VirtualNodeSpecListenerTimeoutTcpIdleArgs{...} +// +// or: +// +// nil +type VirtualNodeSpecListenerTimeoutTcpIdlePtrInput interface { + pulumi.Input + + ToVirtualNodeSpecListenerTimeoutTcpIdlePtrOutput() VirtualNodeSpecListenerTimeoutTcpIdlePtrOutput + ToVirtualNodeSpecListenerTimeoutTcpIdlePtrOutputWithContext(context.Context) VirtualNodeSpecListenerTimeoutTcpIdlePtrOutput +} + +type virtualNodeSpecListenerTimeoutTcpIdlePtrType VirtualNodeSpecListenerTimeoutTcpIdleArgs + +func VirtualNodeSpecListenerTimeoutTcpIdlePtr(v *VirtualNodeSpecListenerTimeoutTcpIdleArgs) VirtualNodeSpecListenerTimeoutTcpIdlePtrInput { + return (*virtualNodeSpecListenerTimeoutTcpIdlePtrType)(v) +} + +func (*virtualNodeSpecListenerTimeoutTcpIdlePtrType) ElementType() reflect.Type { + return reflect.TypeOf((**VirtualNodeSpecListenerTimeoutTcpIdle)(nil)).Elem() +} + +func (i *virtualNodeSpecListenerTimeoutTcpIdlePtrType) ToVirtualNodeSpecListenerTimeoutTcpIdlePtrOutput() VirtualNodeSpecListenerTimeoutTcpIdlePtrOutput { + return i.ToVirtualNodeSpecListenerTimeoutTcpIdlePtrOutputWithContext(context.Background()) +} + +func (i *virtualNodeSpecListenerTimeoutTcpIdlePtrType) ToVirtualNodeSpecListenerTimeoutTcpIdlePtrOutputWithContext(ctx context.Context) VirtualNodeSpecListenerTimeoutTcpIdlePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecListenerTimeoutTcpIdlePtrOutput) +} + +type VirtualNodeSpecListenerTimeoutTcpIdleOutput struct{ *pulumi.OutputState } + +func (VirtualNodeSpecListenerTimeoutTcpIdleOutput) ElementType() reflect.Type { + return reflect.TypeOf((*VirtualNodeSpecListenerTimeoutTcpIdle)(nil)).Elem() +} + +func (o VirtualNodeSpecListenerTimeoutTcpIdleOutput) ToVirtualNodeSpecListenerTimeoutTcpIdleOutput() VirtualNodeSpecListenerTimeoutTcpIdleOutput { + return o +} + +func (o VirtualNodeSpecListenerTimeoutTcpIdleOutput) ToVirtualNodeSpecListenerTimeoutTcpIdleOutputWithContext(ctx context.Context) VirtualNodeSpecListenerTimeoutTcpIdleOutput { + return o +} + +func (o VirtualNodeSpecListenerTimeoutTcpIdleOutput) ToVirtualNodeSpecListenerTimeoutTcpIdlePtrOutput() VirtualNodeSpecListenerTimeoutTcpIdlePtrOutput { + return o.ToVirtualNodeSpecListenerTimeoutTcpIdlePtrOutputWithContext(context.Background()) +} + +func (o VirtualNodeSpecListenerTimeoutTcpIdleOutput) ToVirtualNodeSpecListenerTimeoutTcpIdlePtrOutputWithContext(ctx context.Context) VirtualNodeSpecListenerTimeoutTcpIdlePtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v VirtualNodeSpecListenerTimeoutTcpIdle) *VirtualNodeSpecListenerTimeoutTcpIdle { + return &v + }).(VirtualNodeSpecListenerTimeoutTcpIdlePtrOutput) +} + +// Unit of time. Valid values: `ms`, `s`. +func (o VirtualNodeSpecListenerTimeoutTcpIdleOutput) Unit() pulumi.StringOutput { + return o.ApplyT(func(v VirtualNodeSpecListenerTimeoutTcpIdle) string { return v.Unit }).(pulumi.StringOutput) +} + +// Number of time units. Minimum value of `0`. +func (o VirtualNodeSpecListenerTimeoutTcpIdleOutput) Value() pulumi.IntOutput { + return o.ApplyT(func(v VirtualNodeSpecListenerTimeoutTcpIdle) int { return v.Value }).(pulumi.IntOutput) +} + +type VirtualNodeSpecListenerTimeoutTcpIdlePtrOutput struct{ *pulumi.OutputState } + +func (VirtualNodeSpecListenerTimeoutTcpIdlePtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**VirtualNodeSpecListenerTimeoutTcpIdle)(nil)).Elem() +} + +func (o VirtualNodeSpecListenerTimeoutTcpIdlePtrOutput) ToVirtualNodeSpecListenerTimeoutTcpIdlePtrOutput() VirtualNodeSpecListenerTimeoutTcpIdlePtrOutput { + return o +} + +func (o VirtualNodeSpecListenerTimeoutTcpIdlePtrOutput) ToVirtualNodeSpecListenerTimeoutTcpIdlePtrOutputWithContext(ctx context.Context) VirtualNodeSpecListenerTimeoutTcpIdlePtrOutput { + return o +} + +func (o VirtualNodeSpecListenerTimeoutTcpIdlePtrOutput) Elem() VirtualNodeSpecListenerTimeoutTcpIdleOutput { + return o.ApplyT(func(v *VirtualNodeSpecListenerTimeoutTcpIdle) VirtualNodeSpecListenerTimeoutTcpIdle { + if v != nil { + return *v + } + var ret VirtualNodeSpecListenerTimeoutTcpIdle + return ret + }).(VirtualNodeSpecListenerTimeoutTcpIdleOutput) +} + +// Unit of time. Valid values: `ms`, `s`. +func (o VirtualNodeSpecListenerTimeoutTcpIdlePtrOutput) Unit() pulumi.StringPtrOutput { + return o.ApplyT(func(v *VirtualNodeSpecListenerTimeoutTcpIdle) *string { + if v == nil { + return nil + } + return &v.Unit + }).(pulumi.StringPtrOutput) +} + +// Number of time units. Minimum value of `0`. +func (o VirtualNodeSpecListenerTimeoutTcpIdlePtrOutput) Value() pulumi.IntPtrOutput { + return o.ApplyT(func(v *VirtualNodeSpecListenerTimeoutTcpIdle) *int { + if v == nil { + return nil + } + return &v.Value + }).(pulumi.IntPtrOutput) +} + +type VirtualNodeSpecListenerTls struct { + // Listener's TLS certificate. + Certificate VirtualNodeSpecListenerTlsCertificate `pulumi:"certificate"` + // Listener's TLS mode. Valid values: `DISABLED`, `PERMISSIVE`, `STRICT`. + Mode string `pulumi:"mode"` + // Listener's Transport Layer Security (TLS) validation context. + Validation *VirtualNodeSpecListenerTlsValidation `pulumi:"validation"` +} + +// VirtualNodeSpecListenerTlsInput is an input type that accepts VirtualNodeSpecListenerTlsArgs and VirtualNodeSpecListenerTlsOutput values. +// You can construct a concrete instance of `VirtualNodeSpecListenerTlsInput` via: +// +// VirtualNodeSpecListenerTlsArgs{...} +type VirtualNodeSpecListenerTlsInput interface { + pulumi.Input + + ToVirtualNodeSpecListenerTlsOutput() VirtualNodeSpecListenerTlsOutput + ToVirtualNodeSpecListenerTlsOutputWithContext(context.Context) VirtualNodeSpecListenerTlsOutput +} + +type VirtualNodeSpecListenerTlsArgs struct { + // Listener's TLS certificate. + Certificate VirtualNodeSpecListenerTlsCertificateInput `pulumi:"certificate"` + // Listener's TLS mode. Valid values: `DISABLED`, `PERMISSIVE`, `STRICT`. + Mode pulumi.StringInput `pulumi:"mode"` + // Listener's Transport Layer Security (TLS) validation context. + Validation VirtualNodeSpecListenerTlsValidationPtrInput `pulumi:"validation"` +} + +func (VirtualNodeSpecListenerTlsArgs) ElementType() reflect.Type { + return reflect.TypeOf((*VirtualNodeSpecListenerTls)(nil)).Elem() +} + +func (i VirtualNodeSpecListenerTlsArgs) ToVirtualNodeSpecListenerTlsOutput() VirtualNodeSpecListenerTlsOutput { + return i.ToVirtualNodeSpecListenerTlsOutputWithContext(context.Background()) +} + +func (i VirtualNodeSpecListenerTlsArgs) ToVirtualNodeSpecListenerTlsOutputWithContext(ctx context.Context) VirtualNodeSpecListenerTlsOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecListenerTlsOutput) +} + +func (i VirtualNodeSpecListenerTlsArgs) ToVirtualNodeSpecListenerTlsPtrOutput() VirtualNodeSpecListenerTlsPtrOutput { + return i.ToVirtualNodeSpecListenerTlsPtrOutputWithContext(context.Background()) +} + +func (i VirtualNodeSpecListenerTlsArgs) ToVirtualNodeSpecListenerTlsPtrOutputWithContext(ctx context.Context) VirtualNodeSpecListenerTlsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecListenerTlsOutput).ToVirtualNodeSpecListenerTlsPtrOutputWithContext(ctx) +} + +// VirtualNodeSpecListenerTlsPtrInput is an input type that accepts VirtualNodeSpecListenerTlsArgs, VirtualNodeSpecListenerTlsPtr and VirtualNodeSpecListenerTlsPtrOutput values. +// You can construct a concrete instance of `VirtualNodeSpecListenerTlsPtrInput` via: +// +// VirtualNodeSpecListenerTlsArgs{...} +// +// or: +// +// nil +type VirtualNodeSpecListenerTlsPtrInput interface { + pulumi.Input + + ToVirtualNodeSpecListenerTlsPtrOutput() VirtualNodeSpecListenerTlsPtrOutput + ToVirtualNodeSpecListenerTlsPtrOutputWithContext(context.Context) VirtualNodeSpecListenerTlsPtrOutput +} + +type virtualNodeSpecListenerTlsPtrType VirtualNodeSpecListenerTlsArgs + +func VirtualNodeSpecListenerTlsPtr(v *VirtualNodeSpecListenerTlsArgs) VirtualNodeSpecListenerTlsPtrInput { + return (*virtualNodeSpecListenerTlsPtrType)(v) +} + +func (*virtualNodeSpecListenerTlsPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**VirtualNodeSpecListenerTls)(nil)).Elem() +} + +func (i *virtualNodeSpecListenerTlsPtrType) ToVirtualNodeSpecListenerTlsPtrOutput() VirtualNodeSpecListenerTlsPtrOutput { + return i.ToVirtualNodeSpecListenerTlsPtrOutputWithContext(context.Background()) +} + +func (i *virtualNodeSpecListenerTlsPtrType) ToVirtualNodeSpecListenerTlsPtrOutputWithContext(ctx context.Context) VirtualNodeSpecListenerTlsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecListenerTlsPtrOutput) +} + +type VirtualNodeSpecListenerTlsOutput struct{ *pulumi.OutputState } + +func (VirtualNodeSpecListenerTlsOutput) ElementType() reflect.Type { + return reflect.TypeOf((*VirtualNodeSpecListenerTls)(nil)).Elem() +} + +func (o VirtualNodeSpecListenerTlsOutput) ToVirtualNodeSpecListenerTlsOutput() VirtualNodeSpecListenerTlsOutput { + return o +} + +func (o VirtualNodeSpecListenerTlsOutput) ToVirtualNodeSpecListenerTlsOutputWithContext(ctx context.Context) VirtualNodeSpecListenerTlsOutput { + return o +} + +func (o VirtualNodeSpecListenerTlsOutput) ToVirtualNodeSpecListenerTlsPtrOutput() VirtualNodeSpecListenerTlsPtrOutput { + return o.ToVirtualNodeSpecListenerTlsPtrOutputWithContext(context.Background()) +} + +func (o VirtualNodeSpecListenerTlsOutput) ToVirtualNodeSpecListenerTlsPtrOutputWithContext(ctx context.Context) VirtualNodeSpecListenerTlsPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v VirtualNodeSpecListenerTls) *VirtualNodeSpecListenerTls { + return &v + }).(VirtualNodeSpecListenerTlsPtrOutput) +} + +// Listener's TLS certificate. +func (o VirtualNodeSpecListenerTlsOutput) Certificate() VirtualNodeSpecListenerTlsCertificateOutput { + return o.ApplyT(func(v VirtualNodeSpecListenerTls) VirtualNodeSpecListenerTlsCertificate { return v.Certificate }).(VirtualNodeSpecListenerTlsCertificateOutput) +} + +// Listener's TLS mode. Valid values: `DISABLED`, `PERMISSIVE`, `STRICT`. +func (o VirtualNodeSpecListenerTlsOutput) Mode() pulumi.StringOutput { + return o.ApplyT(func(v VirtualNodeSpecListenerTls) string { return v.Mode }).(pulumi.StringOutput) +} + +// Listener's Transport Layer Security (TLS) validation context. +func (o VirtualNodeSpecListenerTlsOutput) Validation() VirtualNodeSpecListenerTlsValidationPtrOutput { + return o.ApplyT(func(v VirtualNodeSpecListenerTls) *VirtualNodeSpecListenerTlsValidation { return v.Validation }).(VirtualNodeSpecListenerTlsValidationPtrOutput) +} + +type VirtualNodeSpecListenerTlsPtrOutput struct{ *pulumi.OutputState } + +func (VirtualNodeSpecListenerTlsPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**VirtualNodeSpecListenerTls)(nil)).Elem() +} + +func (o VirtualNodeSpecListenerTlsPtrOutput) ToVirtualNodeSpecListenerTlsPtrOutput() VirtualNodeSpecListenerTlsPtrOutput { + return o +} + +func (o VirtualNodeSpecListenerTlsPtrOutput) ToVirtualNodeSpecListenerTlsPtrOutputWithContext(ctx context.Context) VirtualNodeSpecListenerTlsPtrOutput { + return o +} + +func (o VirtualNodeSpecListenerTlsPtrOutput) Elem() VirtualNodeSpecListenerTlsOutput { + return o.ApplyT(func(v *VirtualNodeSpecListenerTls) VirtualNodeSpecListenerTls { + if v != nil { + return *v + } + var ret VirtualNodeSpecListenerTls + return ret + }).(VirtualNodeSpecListenerTlsOutput) +} + +// Listener's TLS certificate. +func (o VirtualNodeSpecListenerTlsPtrOutput) Certificate() VirtualNodeSpecListenerTlsCertificatePtrOutput { + return o.ApplyT(func(v *VirtualNodeSpecListenerTls) *VirtualNodeSpecListenerTlsCertificate { + if v == nil { + return nil + } + return &v.Certificate + }).(VirtualNodeSpecListenerTlsCertificatePtrOutput) +} + +// Listener's TLS mode. Valid values: `DISABLED`, `PERMISSIVE`, `STRICT`. +func (o VirtualNodeSpecListenerTlsPtrOutput) Mode() pulumi.StringPtrOutput { + return o.ApplyT(func(v *VirtualNodeSpecListenerTls) *string { + if v == nil { + return nil + } + return &v.Mode + }).(pulumi.StringPtrOutput) +} + +// Listener's Transport Layer Security (TLS) validation context. +func (o VirtualNodeSpecListenerTlsPtrOutput) Validation() VirtualNodeSpecListenerTlsValidationPtrOutput { + return o.ApplyT(func(v *VirtualNodeSpecListenerTls) *VirtualNodeSpecListenerTlsValidation { + if v == nil { + return nil + } + return v.Validation + }).(VirtualNodeSpecListenerTlsValidationPtrOutput) +} + +type VirtualNodeSpecListenerTlsCertificate struct { + // An AWS Certificate Manager (ACM) certificate. + Acm *VirtualNodeSpecListenerTlsCertificateAcm `pulumi:"acm"` + // Local file certificate. + File *VirtualNodeSpecListenerTlsCertificateFile `pulumi:"file"` + // A [Secret Discovery Service](https://www.envoyproxy.io/docs/envoy/latest/configuration/security/secret#secret-discovery-service-sds) certificate. + Sds *VirtualNodeSpecListenerTlsCertificateSds `pulumi:"sds"` +} + +// VirtualNodeSpecListenerTlsCertificateInput is an input type that accepts VirtualNodeSpecListenerTlsCertificateArgs and VirtualNodeSpecListenerTlsCertificateOutput values. +// You can construct a concrete instance of `VirtualNodeSpecListenerTlsCertificateInput` via: +// +// VirtualNodeSpecListenerTlsCertificateArgs{...} +type VirtualNodeSpecListenerTlsCertificateInput interface { + pulumi.Input + + ToVirtualNodeSpecListenerTlsCertificateOutput() VirtualNodeSpecListenerTlsCertificateOutput + ToVirtualNodeSpecListenerTlsCertificateOutputWithContext(context.Context) VirtualNodeSpecListenerTlsCertificateOutput +} + +type VirtualNodeSpecListenerTlsCertificateArgs struct { + // An AWS Certificate Manager (ACM) certificate. + Acm VirtualNodeSpecListenerTlsCertificateAcmPtrInput `pulumi:"acm"` + // Local file certificate. + File VirtualNodeSpecListenerTlsCertificateFilePtrInput `pulumi:"file"` + // A [Secret Discovery Service](https://www.envoyproxy.io/docs/envoy/latest/configuration/security/secret#secret-discovery-service-sds) certificate. + Sds VirtualNodeSpecListenerTlsCertificateSdsPtrInput `pulumi:"sds"` +} + +func (VirtualNodeSpecListenerTlsCertificateArgs) ElementType() reflect.Type { + return reflect.TypeOf((*VirtualNodeSpecListenerTlsCertificate)(nil)).Elem() +} + +func (i VirtualNodeSpecListenerTlsCertificateArgs) ToVirtualNodeSpecListenerTlsCertificateOutput() VirtualNodeSpecListenerTlsCertificateOutput { + return i.ToVirtualNodeSpecListenerTlsCertificateOutputWithContext(context.Background()) +} + +func (i VirtualNodeSpecListenerTlsCertificateArgs) ToVirtualNodeSpecListenerTlsCertificateOutputWithContext(ctx context.Context) VirtualNodeSpecListenerTlsCertificateOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecListenerTlsCertificateOutput) +} + +func (i VirtualNodeSpecListenerTlsCertificateArgs) ToVirtualNodeSpecListenerTlsCertificatePtrOutput() VirtualNodeSpecListenerTlsCertificatePtrOutput { + return i.ToVirtualNodeSpecListenerTlsCertificatePtrOutputWithContext(context.Background()) +} + +func (i VirtualNodeSpecListenerTlsCertificateArgs) ToVirtualNodeSpecListenerTlsCertificatePtrOutputWithContext(ctx context.Context) VirtualNodeSpecListenerTlsCertificatePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecListenerTlsCertificateOutput).ToVirtualNodeSpecListenerTlsCertificatePtrOutputWithContext(ctx) +} + +// VirtualNodeSpecListenerTlsCertificatePtrInput is an input type that accepts VirtualNodeSpecListenerTlsCertificateArgs, VirtualNodeSpecListenerTlsCertificatePtr and VirtualNodeSpecListenerTlsCertificatePtrOutput values. +// You can construct a concrete instance of `VirtualNodeSpecListenerTlsCertificatePtrInput` via: +// +// VirtualNodeSpecListenerTlsCertificateArgs{...} +// +// or: +// +// nil +type VirtualNodeSpecListenerTlsCertificatePtrInput interface { + pulumi.Input + + ToVirtualNodeSpecListenerTlsCertificatePtrOutput() VirtualNodeSpecListenerTlsCertificatePtrOutput + ToVirtualNodeSpecListenerTlsCertificatePtrOutputWithContext(context.Context) VirtualNodeSpecListenerTlsCertificatePtrOutput +} + +type virtualNodeSpecListenerTlsCertificatePtrType VirtualNodeSpecListenerTlsCertificateArgs + +func VirtualNodeSpecListenerTlsCertificatePtr(v *VirtualNodeSpecListenerTlsCertificateArgs) VirtualNodeSpecListenerTlsCertificatePtrInput { + return (*virtualNodeSpecListenerTlsCertificatePtrType)(v) +} + +func (*virtualNodeSpecListenerTlsCertificatePtrType) ElementType() reflect.Type { + return reflect.TypeOf((**VirtualNodeSpecListenerTlsCertificate)(nil)).Elem() +} + +func (i *virtualNodeSpecListenerTlsCertificatePtrType) ToVirtualNodeSpecListenerTlsCertificatePtrOutput() VirtualNodeSpecListenerTlsCertificatePtrOutput { + return i.ToVirtualNodeSpecListenerTlsCertificatePtrOutputWithContext(context.Background()) +} + +func (i *virtualNodeSpecListenerTlsCertificatePtrType) ToVirtualNodeSpecListenerTlsCertificatePtrOutputWithContext(ctx context.Context) VirtualNodeSpecListenerTlsCertificatePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecListenerTlsCertificatePtrOutput) +} + +type VirtualNodeSpecListenerTlsCertificateOutput struct{ *pulumi.OutputState } + +func (VirtualNodeSpecListenerTlsCertificateOutput) ElementType() reflect.Type { + return reflect.TypeOf((*VirtualNodeSpecListenerTlsCertificate)(nil)).Elem() +} + +func (o VirtualNodeSpecListenerTlsCertificateOutput) ToVirtualNodeSpecListenerTlsCertificateOutput() VirtualNodeSpecListenerTlsCertificateOutput { + return o +} + +func (o VirtualNodeSpecListenerTlsCertificateOutput) ToVirtualNodeSpecListenerTlsCertificateOutputWithContext(ctx context.Context) VirtualNodeSpecListenerTlsCertificateOutput { + return o +} + +func (o VirtualNodeSpecListenerTlsCertificateOutput) ToVirtualNodeSpecListenerTlsCertificatePtrOutput() VirtualNodeSpecListenerTlsCertificatePtrOutput { + return o.ToVirtualNodeSpecListenerTlsCertificatePtrOutputWithContext(context.Background()) +} + +func (o VirtualNodeSpecListenerTlsCertificateOutput) ToVirtualNodeSpecListenerTlsCertificatePtrOutputWithContext(ctx context.Context) VirtualNodeSpecListenerTlsCertificatePtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v VirtualNodeSpecListenerTlsCertificate) *VirtualNodeSpecListenerTlsCertificate { + return &v + }).(VirtualNodeSpecListenerTlsCertificatePtrOutput) +} + +// An AWS Certificate Manager (ACM) certificate. +func (o VirtualNodeSpecListenerTlsCertificateOutput) Acm() VirtualNodeSpecListenerTlsCertificateAcmPtrOutput { + return o.ApplyT(func(v VirtualNodeSpecListenerTlsCertificate) *VirtualNodeSpecListenerTlsCertificateAcm { return v.Acm }).(VirtualNodeSpecListenerTlsCertificateAcmPtrOutput) +} + +// Local file certificate. +func (o VirtualNodeSpecListenerTlsCertificateOutput) File() VirtualNodeSpecListenerTlsCertificateFilePtrOutput { + return o.ApplyT(func(v VirtualNodeSpecListenerTlsCertificate) *VirtualNodeSpecListenerTlsCertificateFile { + return v.File + }).(VirtualNodeSpecListenerTlsCertificateFilePtrOutput) +} + +// A [Secret Discovery Service](https://www.envoyproxy.io/docs/envoy/latest/configuration/security/secret#secret-discovery-service-sds) certificate. +func (o VirtualNodeSpecListenerTlsCertificateOutput) Sds() VirtualNodeSpecListenerTlsCertificateSdsPtrOutput { + return o.ApplyT(func(v VirtualNodeSpecListenerTlsCertificate) *VirtualNodeSpecListenerTlsCertificateSds { return v.Sds }).(VirtualNodeSpecListenerTlsCertificateSdsPtrOutput) +} + +type VirtualNodeSpecListenerTlsCertificatePtrOutput struct{ *pulumi.OutputState } + +func (VirtualNodeSpecListenerTlsCertificatePtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**VirtualNodeSpecListenerTlsCertificate)(nil)).Elem() +} + +func (o VirtualNodeSpecListenerTlsCertificatePtrOutput) ToVirtualNodeSpecListenerTlsCertificatePtrOutput() VirtualNodeSpecListenerTlsCertificatePtrOutput { + return o +} + +func (o VirtualNodeSpecListenerTlsCertificatePtrOutput) ToVirtualNodeSpecListenerTlsCertificatePtrOutputWithContext(ctx context.Context) VirtualNodeSpecListenerTlsCertificatePtrOutput { + return o +} + +func (o VirtualNodeSpecListenerTlsCertificatePtrOutput) Elem() VirtualNodeSpecListenerTlsCertificateOutput { + return o.ApplyT(func(v *VirtualNodeSpecListenerTlsCertificate) VirtualNodeSpecListenerTlsCertificate { + if v != nil { + return *v + } + var ret VirtualNodeSpecListenerTlsCertificate + return ret + }).(VirtualNodeSpecListenerTlsCertificateOutput) +} + +// An AWS Certificate Manager (ACM) certificate. +func (o VirtualNodeSpecListenerTlsCertificatePtrOutput) Acm() VirtualNodeSpecListenerTlsCertificateAcmPtrOutput { + return o.ApplyT(func(v *VirtualNodeSpecListenerTlsCertificate) *VirtualNodeSpecListenerTlsCertificateAcm { + if v == nil { + return nil + } + return v.Acm + }).(VirtualNodeSpecListenerTlsCertificateAcmPtrOutput) +} + +// Local file certificate. +func (o VirtualNodeSpecListenerTlsCertificatePtrOutput) File() VirtualNodeSpecListenerTlsCertificateFilePtrOutput { + return o.ApplyT(func(v *VirtualNodeSpecListenerTlsCertificate) *VirtualNodeSpecListenerTlsCertificateFile { + if v == nil { + return nil + } + return v.File + }).(VirtualNodeSpecListenerTlsCertificateFilePtrOutput) +} + +// A [Secret Discovery Service](https://www.envoyproxy.io/docs/envoy/latest/configuration/security/secret#secret-discovery-service-sds) certificate. +func (o VirtualNodeSpecListenerTlsCertificatePtrOutput) Sds() VirtualNodeSpecListenerTlsCertificateSdsPtrOutput { + return o.ApplyT(func(v *VirtualNodeSpecListenerTlsCertificate) *VirtualNodeSpecListenerTlsCertificateSds { + if v == nil { + return nil + } + return v.Sds + }).(VirtualNodeSpecListenerTlsCertificateSdsPtrOutput) +} + +type VirtualNodeSpecListenerTlsCertificateAcm struct { + // ARN for the certificate. + CertificateArn string `pulumi:"certificateArn"` +} + +// VirtualNodeSpecListenerTlsCertificateAcmInput is an input type that accepts VirtualNodeSpecListenerTlsCertificateAcmArgs and VirtualNodeSpecListenerTlsCertificateAcmOutput values. +// You can construct a concrete instance of `VirtualNodeSpecListenerTlsCertificateAcmInput` via: +// +// VirtualNodeSpecListenerTlsCertificateAcmArgs{...} +type VirtualNodeSpecListenerTlsCertificateAcmInput interface { + pulumi.Input + + ToVirtualNodeSpecListenerTlsCertificateAcmOutput() VirtualNodeSpecListenerTlsCertificateAcmOutput + ToVirtualNodeSpecListenerTlsCertificateAcmOutputWithContext(context.Context) VirtualNodeSpecListenerTlsCertificateAcmOutput +} + +type VirtualNodeSpecListenerTlsCertificateAcmArgs struct { + // ARN for the certificate. + CertificateArn pulumi.StringInput `pulumi:"certificateArn"` +} + +func (VirtualNodeSpecListenerTlsCertificateAcmArgs) ElementType() reflect.Type { + return reflect.TypeOf((*VirtualNodeSpecListenerTlsCertificateAcm)(nil)).Elem() +} + +func (i VirtualNodeSpecListenerTlsCertificateAcmArgs) ToVirtualNodeSpecListenerTlsCertificateAcmOutput() VirtualNodeSpecListenerTlsCertificateAcmOutput { + return i.ToVirtualNodeSpecListenerTlsCertificateAcmOutputWithContext(context.Background()) +} + +func (i VirtualNodeSpecListenerTlsCertificateAcmArgs) ToVirtualNodeSpecListenerTlsCertificateAcmOutputWithContext(ctx context.Context) VirtualNodeSpecListenerTlsCertificateAcmOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecListenerTlsCertificateAcmOutput) +} + +func (i VirtualNodeSpecListenerTlsCertificateAcmArgs) ToVirtualNodeSpecListenerTlsCertificateAcmPtrOutput() VirtualNodeSpecListenerTlsCertificateAcmPtrOutput { + return i.ToVirtualNodeSpecListenerTlsCertificateAcmPtrOutputWithContext(context.Background()) +} + +func (i VirtualNodeSpecListenerTlsCertificateAcmArgs) ToVirtualNodeSpecListenerTlsCertificateAcmPtrOutputWithContext(ctx context.Context) VirtualNodeSpecListenerTlsCertificateAcmPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecListenerTlsCertificateAcmOutput).ToVirtualNodeSpecListenerTlsCertificateAcmPtrOutputWithContext(ctx) +} + +// VirtualNodeSpecListenerTlsCertificateAcmPtrInput is an input type that accepts VirtualNodeSpecListenerTlsCertificateAcmArgs, VirtualNodeSpecListenerTlsCertificateAcmPtr and VirtualNodeSpecListenerTlsCertificateAcmPtrOutput values. +// You can construct a concrete instance of `VirtualNodeSpecListenerTlsCertificateAcmPtrInput` via: +// +// VirtualNodeSpecListenerTlsCertificateAcmArgs{...} +// +// or: +// +// nil +type VirtualNodeSpecListenerTlsCertificateAcmPtrInput interface { + pulumi.Input + + ToVirtualNodeSpecListenerTlsCertificateAcmPtrOutput() VirtualNodeSpecListenerTlsCertificateAcmPtrOutput + ToVirtualNodeSpecListenerTlsCertificateAcmPtrOutputWithContext(context.Context) VirtualNodeSpecListenerTlsCertificateAcmPtrOutput +} + +type virtualNodeSpecListenerTlsCertificateAcmPtrType VirtualNodeSpecListenerTlsCertificateAcmArgs + +func VirtualNodeSpecListenerTlsCertificateAcmPtr(v *VirtualNodeSpecListenerTlsCertificateAcmArgs) VirtualNodeSpecListenerTlsCertificateAcmPtrInput { + return (*virtualNodeSpecListenerTlsCertificateAcmPtrType)(v) +} + +func (*virtualNodeSpecListenerTlsCertificateAcmPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**VirtualNodeSpecListenerTlsCertificateAcm)(nil)).Elem() +} + +func (i *virtualNodeSpecListenerTlsCertificateAcmPtrType) ToVirtualNodeSpecListenerTlsCertificateAcmPtrOutput() VirtualNodeSpecListenerTlsCertificateAcmPtrOutput { + return i.ToVirtualNodeSpecListenerTlsCertificateAcmPtrOutputWithContext(context.Background()) +} + +func (i *virtualNodeSpecListenerTlsCertificateAcmPtrType) ToVirtualNodeSpecListenerTlsCertificateAcmPtrOutputWithContext(ctx context.Context) VirtualNodeSpecListenerTlsCertificateAcmPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecListenerTlsCertificateAcmPtrOutput) +} + +type VirtualNodeSpecListenerTlsCertificateAcmOutput struct{ *pulumi.OutputState } + +func (VirtualNodeSpecListenerTlsCertificateAcmOutput) ElementType() reflect.Type { + return reflect.TypeOf((*VirtualNodeSpecListenerTlsCertificateAcm)(nil)).Elem() +} + +func (o VirtualNodeSpecListenerTlsCertificateAcmOutput) ToVirtualNodeSpecListenerTlsCertificateAcmOutput() VirtualNodeSpecListenerTlsCertificateAcmOutput { + return o +} + +func (o VirtualNodeSpecListenerTlsCertificateAcmOutput) ToVirtualNodeSpecListenerTlsCertificateAcmOutputWithContext(ctx context.Context) VirtualNodeSpecListenerTlsCertificateAcmOutput { + return o +} + +func (o VirtualNodeSpecListenerTlsCertificateAcmOutput) ToVirtualNodeSpecListenerTlsCertificateAcmPtrOutput() VirtualNodeSpecListenerTlsCertificateAcmPtrOutput { + return o.ToVirtualNodeSpecListenerTlsCertificateAcmPtrOutputWithContext(context.Background()) +} + +func (o VirtualNodeSpecListenerTlsCertificateAcmOutput) ToVirtualNodeSpecListenerTlsCertificateAcmPtrOutputWithContext(ctx context.Context) VirtualNodeSpecListenerTlsCertificateAcmPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v VirtualNodeSpecListenerTlsCertificateAcm) *VirtualNodeSpecListenerTlsCertificateAcm { + return &v + }).(VirtualNodeSpecListenerTlsCertificateAcmPtrOutput) +} + +// ARN for the certificate. +func (o VirtualNodeSpecListenerTlsCertificateAcmOutput) CertificateArn() pulumi.StringOutput { + return o.ApplyT(func(v VirtualNodeSpecListenerTlsCertificateAcm) string { return v.CertificateArn }).(pulumi.StringOutput) +} + +type VirtualNodeSpecListenerTlsCertificateAcmPtrOutput struct{ *pulumi.OutputState } + +func (VirtualNodeSpecListenerTlsCertificateAcmPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**VirtualNodeSpecListenerTlsCertificateAcm)(nil)).Elem() +} + +func (o VirtualNodeSpecListenerTlsCertificateAcmPtrOutput) ToVirtualNodeSpecListenerTlsCertificateAcmPtrOutput() VirtualNodeSpecListenerTlsCertificateAcmPtrOutput { + return o +} + +func (o VirtualNodeSpecListenerTlsCertificateAcmPtrOutput) ToVirtualNodeSpecListenerTlsCertificateAcmPtrOutputWithContext(ctx context.Context) VirtualNodeSpecListenerTlsCertificateAcmPtrOutput { + return o +} + +func (o VirtualNodeSpecListenerTlsCertificateAcmPtrOutput) Elem() VirtualNodeSpecListenerTlsCertificateAcmOutput { + return o.ApplyT(func(v *VirtualNodeSpecListenerTlsCertificateAcm) VirtualNodeSpecListenerTlsCertificateAcm { + if v != nil { + return *v + } + var ret VirtualNodeSpecListenerTlsCertificateAcm + return ret + }).(VirtualNodeSpecListenerTlsCertificateAcmOutput) +} + +// ARN for the certificate. +func (o VirtualNodeSpecListenerTlsCertificateAcmPtrOutput) CertificateArn() pulumi.StringPtrOutput { + return o.ApplyT(func(v *VirtualNodeSpecListenerTlsCertificateAcm) *string { + if v == nil { + return nil + } + return &v.CertificateArn + }).(pulumi.StringPtrOutput) +} + +type VirtualNodeSpecListenerTlsCertificateFile struct { + // Certificate trust chain for a certificate stored on the file system of the mesh endpoint that the proxy is running on. Must be between 1 and 255 characters in length. + CertificateChain string `pulumi:"certificateChain"` + // Private key for a certificate stored on the file system of the virtual node that the proxy is running on. Must be between 1 and 255 characters in length. + PrivateKey string `pulumi:"privateKey"` +} + +// VirtualNodeSpecListenerTlsCertificateFileInput is an input type that accepts VirtualNodeSpecListenerTlsCertificateFileArgs and VirtualNodeSpecListenerTlsCertificateFileOutput values. +// You can construct a concrete instance of `VirtualNodeSpecListenerTlsCertificateFileInput` via: +// +// VirtualNodeSpecListenerTlsCertificateFileArgs{...} +type VirtualNodeSpecListenerTlsCertificateFileInput interface { + pulumi.Input + + ToVirtualNodeSpecListenerTlsCertificateFileOutput() VirtualNodeSpecListenerTlsCertificateFileOutput + ToVirtualNodeSpecListenerTlsCertificateFileOutputWithContext(context.Context) VirtualNodeSpecListenerTlsCertificateFileOutput +} + +type VirtualNodeSpecListenerTlsCertificateFileArgs struct { + // Certificate trust chain for a certificate stored on the file system of the mesh endpoint that the proxy is running on. Must be between 1 and 255 characters in length. + CertificateChain pulumi.StringInput `pulumi:"certificateChain"` + // Private key for a certificate stored on the file system of the virtual node that the proxy is running on. Must be between 1 and 255 characters in length. + PrivateKey pulumi.StringInput `pulumi:"privateKey"` +} + +func (VirtualNodeSpecListenerTlsCertificateFileArgs) ElementType() reflect.Type { + return reflect.TypeOf((*VirtualNodeSpecListenerTlsCertificateFile)(nil)).Elem() +} + +func (i VirtualNodeSpecListenerTlsCertificateFileArgs) ToVirtualNodeSpecListenerTlsCertificateFileOutput() VirtualNodeSpecListenerTlsCertificateFileOutput { + return i.ToVirtualNodeSpecListenerTlsCertificateFileOutputWithContext(context.Background()) +} + +func (i VirtualNodeSpecListenerTlsCertificateFileArgs) ToVirtualNodeSpecListenerTlsCertificateFileOutputWithContext(ctx context.Context) VirtualNodeSpecListenerTlsCertificateFileOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecListenerTlsCertificateFileOutput) +} + +func (i VirtualNodeSpecListenerTlsCertificateFileArgs) ToVirtualNodeSpecListenerTlsCertificateFilePtrOutput() VirtualNodeSpecListenerTlsCertificateFilePtrOutput { + return i.ToVirtualNodeSpecListenerTlsCertificateFilePtrOutputWithContext(context.Background()) +} + +func (i VirtualNodeSpecListenerTlsCertificateFileArgs) ToVirtualNodeSpecListenerTlsCertificateFilePtrOutputWithContext(ctx context.Context) VirtualNodeSpecListenerTlsCertificateFilePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecListenerTlsCertificateFileOutput).ToVirtualNodeSpecListenerTlsCertificateFilePtrOutputWithContext(ctx) +} + +// VirtualNodeSpecListenerTlsCertificateFilePtrInput is an input type that accepts VirtualNodeSpecListenerTlsCertificateFileArgs, VirtualNodeSpecListenerTlsCertificateFilePtr and VirtualNodeSpecListenerTlsCertificateFilePtrOutput values. +// You can construct a concrete instance of `VirtualNodeSpecListenerTlsCertificateFilePtrInput` via: +// +// VirtualNodeSpecListenerTlsCertificateFileArgs{...} +// +// or: +// +// nil +type VirtualNodeSpecListenerTlsCertificateFilePtrInput interface { + pulumi.Input + + ToVirtualNodeSpecListenerTlsCertificateFilePtrOutput() VirtualNodeSpecListenerTlsCertificateFilePtrOutput + ToVirtualNodeSpecListenerTlsCertificateFilePtrOutputWithContext(context.Context) VirtualNodeSpecListenerTlsCertificateFilePtrOutput +} + +type virtualNodeSpecListenerTlsCertificateFilePtrType VirtualNodeSpecListenerTlsCertificateFileArgs + +func VirtualNodeSpecListenerTlsCertificateFilePtr(v *VirtualNodeSpecListenerTlsCertificateFileArgs) VirtualNodeSpecListenerTlsCertificateFilePtrInput { + return (*virtualNodeSpecListenerTlsCertificateFilePtrType)(v) +} + +func (*virtualNodeSpecListenerTlsCertificateFilePtrType) ElementType() reflect.Type { + return reflect.TypeOf((**VirtualNodeSpecListenerTlsCertificateFile)(nil)).Elem() +} + +func (i *virtualNodeSpecListenerTlsCertificateFilePtrType) ToVirtualNodeSpecListenerTlsCertificateFilePtrOutput() VirtualNodeSpecListenerTlsCertificateFilePtrOutput { + return i.ToVirtualNodeSpecListenerTlsCertificateFilePtrOutputWithContext(context.Background()) +} + +func (i *virtualNodeSpecListenerTlsCertificateFilePtrType) ToVirtualNodeSpecListenerTlsCertificateFilePtrOutputWithContext(ctx context.Context) VirtualNodeSpecListenerTlsCertificateFilePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecListenerTlsCertificateFilePtrOutput) +} + +type VirtualNodeSpecListenerTlsCertificateFileOutput struct{ *pulumi.OutputState } + +func (VirtualNodeSpecListenerTlsCertificateFileOutput) ElementType() reflect.Type { + return reflect.TypeOf((*VirtualNodeSpecListenerTlsCertificateFile)(nil)).Elem() +} + +func (o VirtualNodeSpecListenerTlsCertificateFileOutput) ToVirtualNodeSpecListenerTlsCertificateFileOutput() VirtualNodeSpecListenerTlsCertificateFileOutput { + return o +} + +func (o VirtualNodeSpecListenerTlsCertificateFileOutput) ToVirtualNodeSpecListenerTlsCertificateFileOutputWithContext(ctx context.Context) VirtualNodeSpecListenerTlsCertificateFileOutput { + return o +} + +func (o VirtualNodeSpecListenerTlsCertificateFileOutput) ToVirtualNodeSpecListenerTlsCertificateFilePtrOutput() VirtualNodeSpecListenerTlsCertificateFilePtrOutput { + return o.ToVirtualNodeSpecListenerTlsCertificateFilePtrOutputWithContext(context.Background()) +} + +func (o VirtualNodeSpecListenerTlsCertificateFileOutput) ToVirtualNodeSpecListenerTlsCertificateFilePtrOutputWithContext(ctx context.Context) VirtualNodeSpecListenerTlsCertificateFilePtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v VirtualNodeSpecListenerTlsCertificateFile) *VirtualNodeSpecListenerTlsCertificateFile { + return &v + }).(VirtualNodeSpecListenerTlsCertificateFilePtrOutput) +} + +// Certificate trust chain for a certificate stored on the file system of the mesh endpoint that the proxy is running on. Must be between 1 and 255 characters in length. +func (o VirtualNodeSpecListenerTlsCertificateFileOutput) CertificateChain() pulumi.StringOutput { + return o.ApplyT(func(v VirtualNodeSpecListenerTlsCertificateFile) string { return v.CertificateChain }).(pulumi.StringOutput) +} + +// Private key for a certificate stored on the file system of the virtual node that the proxy is running on. Must be between 1 and 255 characters in length. +func (o VirtualNodeSpecListenerTlsCertificateFileOutput) PrivateKey() pulumi.StringOutput { + return o.ApplyT(func(v VirtualNodeSpecListenerTlsCertificateFile) string { return v.PrivateKey }).(pulumi.StringOutput) +} + +type VirtualNodeSpecListenerTlsCertificateFilePtrOutput struct{ *pulumi.OutputState } + +func (VirtualNodeSpecListenerTlsCertificateFilePtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**VirtualNodeSpecListenerTlsCertificateFile)(nil)).Elem() +} + +func (o VirtualNodeSpecListenerTlsCertificateFilePtrOutput) ToVirtualNodeSpecListenerTlsCertificateFilePtrOutput() VirtualNodeSpecListenerTlsCertificateFilePtrOutput { + return o +} + +func (o VirtualNodeSpecListenerTlsCertificateFilePtrOutput) ToVirtualNodeSpecListenerTlsCertificateFilePtrOutputWithContext(ctx context.Context) VirtualNodeSpecListenerTlsCertificateFilePtrOutput { + return o +} + +func (o VirtualNodeSpecListenerTlsCertificateFilePtrOutput) Elem() VirtualNodeSpecListenerTlsCertificateFileOutput { + return o.ApplyT(func(v *VirtualNodeSpecListenerTlsCertificateFile) VirtualNodeSpecListenerTlsCertificateFile { + if v != nil { + return *v + } + var ret VirtualNodeSpecListenerTlsCertificateFile + return ret + }).(VirtualNodeSpecListenerTlsCertificateFileOutput) +} + +// Certificate trust chain for a certificate stored on the file system of the mesh endpoint that the proxy is running on. Must be between 1 and 255 characters in length. +func (o VirtualNodeSpecListenerTlsCertificateFilePtrOutput) CertificateChain() pulumi.StringPtrOutput { + return o.ApplyT(func(v *VirtualNodeSpecListenerTlsCertificateFile) *string { + if v == nil { + return nil + } + return &v.CertificateChain + }).(pulumi.StringPtrOutput) +} + +// Private key for a certificate stored on the file system of the virtual node that the proxy is running on. Must be between 1 and 255 characters in length. +func (o VirtualNodeSpecListenerTlsCertificateFilePtrOutput) PrivateKey() pulumi.StringPtrOutput { + return o.ApplyT(func(v *VirtualNodeSpecListenerTlsCertificateFile) *string { + if v == nil { + return nil + } + return &v.PrivateKey + }).(pulumi.StringPtrOutput) +} + +type VirtualNodeSpecListenerTlsCertificateSds struct { + // Name of the secret for a virtual node's Transport Layer Security (TLS) Secret Discovery Service validation context trust. + SecretName string `pulumi:"secretName"` +} + +// VirtualNodeSpecListenerTlsCertificateSdsInput is an input type that accepts VirtualNodeSpecListenerTlsCertificateSdsArgs and VirtualNodeSpecListenerTlsCertificateSdsOutput values. +// You can construct a concrete instance of `VirtualNodeSpecListenerTlsCertificateSdsInput` via: +// +// VirtualNodeSpecListenerTlsCertificateSdsArgs{...} +type VirtualNodeSpecListenerTlsCertificateSdsInput interface { + pulumi.Input + + ToVirtualNodeSpecListenerTlsCertificateSdsOutput() VirtualNodeSpecListenerTlsCertificateSdsOutput + ToVirtualNodeSpecListenerTlsCertificateSdsOutputWithContext(context.Context) VirtualNodeSpecListenerTlsCertificateSdsOutput +} + +type VirtualNodeSpecListenerTlsCertificateSdsArgs struct { + // Name of the secret for a virtual node's Transport Layer Security (TLS) Secret Discovery Service validation context trust. + SecretName pulumi.StringInput `pulumi:"secretName"` +} + +func (VirtualNodeSpecListenerTlsCertificateSdsArgs) ElementType() reflect.Type { + return reflect.TypeOf((*VirtualNodeSpecListenerTlsCertificateSds)(nil)).Elem() +} + +func (i VirtualNodeSpecListenerTlsCertificateSdsArgs) ToVirtualNodeSpecListenerTlsCertificateSdsOutput() VirtualNodeSpecListenerTlsCertificateSdsOutput { + return i.ToVirtualNodeSpecListenerTlsCertificateSdsOutputWithContext(context.Background()) +} + +func (i VirtualNodeSpecListenerTlsCertificateSdsArgs) ToVirtualNodeSpecListenerTlsCertificateSdsOutputWithContext(ctx context.Context) VirtualNodeSpecListenerTlsCertificateSdsOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecListenerTlsCertificateSdsOutput) +} + +func (i VirtualNodeSpecListenerTlsCertificateSdsArgs) ToVirtualNodeSpecListenerTlsCertificateSdsPtrOutput() VirtualNodeSpecListenerTlsCertificateSdsPtrOutput { + return i.ToVirtualNodeSpecListenerTlsCertificateSdsPtrOutputWithContext(context.Background()) +} + +func (i VirtualNodeSpecListenerTlsCertificateSdsArgs) ToVirtualNodeSpecListenerTlsCertificateSdsPtrOutputWithContext(ctx context.Context) VirtualNodeSpecListenerTlsCertificateSdsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecListenerTlsCertificateSdsOutput).ToVirtualNodeSpecListenerTlsCertificateSdsPtrOutputWithContext(ctx) +} + +// VirtualNodeSpecListenerTlsCertificateSdsPtrInput is an input type that accepts VirtualNodeSpecListenerTlsCertificateSdsArgs, VirtualNodeSpecListenerTlsCertificateSdsPtr and VirtualNodeSpecListenerTlsCertificateSdsPtrOutput values. +// You can construct a concrete instance of `VirtualNodeSpecListenerTlsCertificateSdsPtrInput` via: +// +// VirtualNodeSpecListenerTlsCertificateSdsArgs{...} +// +// or: +// +// nil +type VirtualNodeSpecListenerTlsCertificateSdsPtrInput interface { + pulumi.Input + + ToVirtualNodeSpecListenerTlsCertificateSdsPtrOutput() VirtualNodeSpecListenerTlsCertificateSdsPtrOutput + ToVirtualNodeSpecListenerTlsCertificateSdsPtrOutputWithContext(context.Context) VirtualNodeSpecListenerTlsCertificateSdsPtrOutput +} + +type virtualNodeSpecListenerTlsCertificateSdsPtrType VirtualNodeSpecListenerTlsCertificateSdsArgs + +func VirtualNodeSpecListenerTlsCertificateSdsPtr(v *VirtualNodeSpecListenerTlsCertificateSdsArgs) VirtualNodeSpecListenerTlsCertificateSdsPtrInput { + return (*virtualNodeSpecListenerTlsCertificateSdsPtrType)(v) +} + +func (*virtualNodeSpecListenerTlsCertificateSdsPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**VirtualNodeSpecListenerTlsCertificateSds)(nil)).Elem() +} + +func (i *virtualNodeSpecListenerTlsCertificateSdsPtrType) ToVirtualNodeSpecListenerTlsCertificateSdsPtrOutput() VirtualNodeSpecListenerTlsCertificateSdsPtrOutput { + return i.ToVirtualNodeSpecListenerTlsCertificateSdsPtrOutputWithContext(context.Background()) +} + +func (i *virtualNodeSpecListenerTlsCertificateSdsPtrType) ToVirtualNodeSpecListenerTlsCertificateSdsPtrOutputWithContext(ctx context.Context) VirtualNodeSpecListenerTlsCertificateSdsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecListenerTlsCertificateSdsPtrOutput) +} + +type VirtualNodeSpecListenerTlsCertificateSdsOutput struct{ *pulumi.OutputState } + +func (VirtualNodeSpecListenerTlsCertificateSdsOutput) ElementType() reflect.Type { + return reflect.TypeOf((*VirtualNodeSpecListenerTlsCertificateSds)(nil)).Elem() +} + +func (o VirtualNodeSpecListenerTlsCertificateSdsOutput) ToVirtualNodeSpecListenerTlsCertificateSdsOutput() VirtualNodeSpecListenerTlsCertificateSdsOutput { + return o +} + +func (o VirtualNodeSpecListenerTlsCertificateSdsOutput) ToVirtualNodeSpecListenerTlsCertificateSdsOutputWithContext(ctx context.Context) VirtualNodeSpecListenerTlsCertificateSdsOutput { + return o +} + +func (o VirtualNodeSpecListenerTlsCertificateSdsOutput) ToVirtualNodeSpecListenerTlsCertificateSdsPtrOutput() VirtualNodeSpecListenerTlsCertificateSdsPtrOutput { + return o.ToVirtualNodeSpecListenerTlsCertificateSdsPtrOutputWithContext(context.Background()) +} + +func (o VirtualNodeSpecListenerTlsCertificateSdsOutput) ToVirtualNodeSpecListenerTlsCertificateSdsPtrOutputWithContext(ctx context.Context) VirtualNodeSpecListenerTlsCertificateSdsPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v VirtualNodeSpecListenerTlsCertificateSds) *VirtualNodeSpecListenerTlsCertificateSds { + return &v + }).(VirtualNodeSpecListenerTlsCertificateSdsPtrOutput) +} + +// Name of the secret for a virtual node's Transport Layer Security (TLS) Secret Discovery Service validation context trust. +func (o VirtualNodeSpecListenerTlsCertificateSdsOutput) SecretName() pulumi.StringOutput { + return o.ApplyT(func(v VirtualNodeSpecListenerTlsCertificateSds) string { return v.SecretName }).(pulumi.StringOutput) +} + +type VirtualNodeSpecListenerTlsCertificateSdsPtrOutput struct{ *pulumi.OutputState } + +func (VirtualNodeSpecListenerTlsCertificateSdsPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**VirtualNodeSpecListenerTlsCertificateSds)(nil)).Elem() +} + +func (o VirtualNodeSpecListenerTlsCertificateSdsPtrOutput) ToVirtualNodeSpecListenerTlsCertificateSdsPtrOutput() VirtualNodeSpecListenerTlsCertificateSdsPtrOutput { + return o +} + +func (o VirtualNodeSpecListenerTlsCertificateSdsPtrOutput) ToVirtualNodeSpecListenerTlsCertificateSdsPtrOutputWithContext(ctx context.Context) VirtualNodeSpecListenerTlsCertificateSdsPtrOutput { + return o +} + +func (o VirtualNodeSpecListenerTlsCertificateSdsPtrOutput) Elem() VirtualNodeSpecListenerTlsCertificateSdsOutput { + return o.ApplyT(func(v *VirtualNodeSpecListenerTlsCertificateSds) VirtualNodeSpecListenerTlsCertificateSds { + if v != nil { + return *v + } + var ret VirtualNodeSpecListenerTlsCertificateSds + return ret + }).(VirtualNodeSpecListenerTlsCertificateSdsOutput) +} + +// Name of the secret for a virtual node's Transport Layer Security (TLS) Secret Discovery Service validation context trust. +func (o VirtualNodeSpecListenerTlsCertificateSdsPtrOutput) SecretName() pulumi.StringPtrOutput { + return o.ApplyT(func(v *VirtualNodeSpecListenerTlsCertificateSds) *string { + if v == nil { + return nil + } + return &v.SecretName + }).(pulumi.StringPtrOutput) +} + +type VirtualNodeSpecListenerTlsValidation struct { + // SANs for a TLS validation context. + SubjectAlternativeNames *VirtualNodeSpecListenerTlsValidationSubjectAlternativeNames `pulumi:"subjectAlternativeNames"` + // TLS validation context trust. + Trust VirtualNodeSpecListenerTlsValidationTrust `pulumi:"trust"` +} + +// VirtualNodeSpecListenerTlsValidationInput is an input type that accepts VirtualNodeSpecListenerTlsValidationArgs and VirtualNodeSpecListenerTlsValidationOutput values. +// You can construct a concrete instance of `VirtualNodeSpecListenerTlsValidationInput` via: +// +// VirtualNodeSpecListenerTlsValidationArgs{...} +type VirtualNodeSpecListenerTlsValidationInput interface { + pulumi.Input + + ToVirtualNodeSpecListenerTlsValidationOutput() VirtualNodeSpecListenerTlsValidationOutput + ToVirtualNodeSpecListenerTlsValidationOutputWithContext(context.Context) VirtualNodeSpecListenerTlsValidationOutput +} + +type VirtualNodeSpecListenerTlsValidationArgs struct { + // SANs for a TLS validation context. + SubjectAlternativeNames VirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesPtrInput `pulumi:"subjectAlternativeNames"` + // TLS validation context trust. + Trust VirtualNodeSpecListenerTlsValidationTrustInput `pulumi:"trust"` +} + +func (VirtualNodeSpecListenerTlsValidationArgs) ElementType() reflect.Type { + return reflect.TypeOf((*VirtualNodeSpecListenerTlsValidation)(nil)).Elem() +} + +func (i VirtualNodeSpecListenerTlsValidationArgs) ToVirtualNodeSpecListenerTlsValidationOutput() VirtualNodeSpecListenerTlsValidationOutput { + return i.ToVirtualNodeSpecListenerTlsValidationOutputWithContext(context.Background()) +} + +func (i VirtualNodeSpecListenerTlsValidationArgs) ToVirtualNodeSpecListenerTlsValidationOutputWithContext(ctx context.Context) VirtualNodeSpecListenerTlsValidationOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecListenerTlsValidationOutput) +} + +func (i VirtualNodeSpecListenerTlsValidationArgs) ToVirtualNodeSpecListenerTlsValidationPtrOutput() VirtualNodeSpecListenerTlsValidationPtrOutput { + return i.ToVirtualNodeSpecListenerTlsValidationPtrOutputWithContext(context.Background()) +} + +func (i VirtualNodeSpecListenerTlsValidationArgs) ToVirtualNodeSpecListenerTlsValidationPtrOutputWithContext(ctx context.Context) VirtualNodeSpecListenerTlsValidationPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecListenerTlsValidationOutput).ToVirtualNodeSpecListenerTlsValidationPtrOutputWithContext(ctx) +} + +// VirtualNodeSpecListenerTlsValidationPtrInput is an input type that accepts VirtualNodeSpecListenerTlsValidationArgs, VirtualNodeSpecListenerTlsValidationPtr and VirtualNodeSpecListenerTlsValidationPtrOutput values. +// You can construct a concrete instance of `VirtualNodeSpecListenerTlsValidationPtrInput` via: +// +// VirtualNodeSpecListenerTlsValidationArgs{...} +// +// or: +// +// nil +type VirtualNodeSpecListenerTlsValidationPtrInput interface { + pulumi.Input + + ToVirtualNodeSpecListenerTlsValidationPtrOutput() VirtualNodeSpecListenerTlsValidationPtrOutput + ToVirtualNodeSpecListenerTlsValidationPtrOutputWithContext(context.Context) VirtualNodeSpecListenerTlsValidationPtrOutput +} + +type virtualNodeSpecListenerTlsValidationPtrType VirtualNodeSpecListenerTlsValidationArgs + +func VirtualNodeSpecListenerTlsValidationPtr(v *VirtualNodeSpecListenerTlsValidationArgs) VirtualNodeSpecListenerTlsValidationPtrInput { + return (*virtualNodeSpecListenerTlsValidationPtrType)(v) +} + +func (*virtualNodeSpecListenerTlsValidationPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**VirtualNodeSpecListenerTlsValidation)(nil)).Elem() +} + +func (i *virtualNodeSpecListenerTlsValidationPtrType) ToVirtualNodeSpecListenerTlsValidationPtrOutput() VirtualNodeSpecListenerTlsValidationPtrOutput { + return i.ToVirtualNodeSpecListenerTlsValidationPtrOutputWithContext(context.Background()) +} + +func (i *virtualNodeSpecListenerTlsValidationPtrType) ToVirtualNodeSpecListenerTlsValidationPtrOutputWithContext(ctx context.Context) VirtualNodeSpecListenerTlsValidationPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecListenerTlsValidationPtrOutput) +} + +type VirtualNodeSpecListenerTlsValidationOutput struct{ *pulumi.OutputState } + +func (VirtualNodeSpecListenerTlsValidationOutput) ElementType() reflect.Type { + return reflect.TypeOf((*VirtualNodeSpecListenerTlsValidation)(nil)).Elem() +} + +func (o VirtualNodeSpecListenerTlsValidationOutput) ToVirtualNodeSpecListenerTlsValidationOutput() VirtualNodeSpecListenerTlsValidationOutput { + return o +} + +func (o VirtualNodeSpecListenerTlsValidationOutput) ToVirtualNodeSpecListenerTlsValidationOutputWithContext(ctx context.Context) VirtualNodeSpecListenerTlsValidationOutput { + return o +} + +func (o VirtualNodeSpecListenerTlsValidationOutput) ToVirtualNodeSpecListenerTlsValidationPtrOutput() VirtualNodeSpecListenerTlsValidationPtrOutput { + return o.ToVirtualNodeSpecListenerTlsValidationPtrOutputWithContext(context.Background()) +} + +func (o VirtualNodeSpecListenerTlsValidationOutput) ToVirtualNodeSpecListenerTlsValidationPtrOutputWithContext(ctx context.Context) VirtualNodeSpecListenerTlsValidationPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v VirtualNodeSpecListenerTlsValidation) *VirtualNodeSpecListenerTlsValidation { + return &v + }).(VirtualNodeSpecListenerTlsValidationPtrOutput) +} + +// SANs for a TLS validation context. +func (o VirtualNodeSpecListenerTlsValidationOutput) SubjectAlternativeNames() VirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesPtrOutput { + return o.ApplyT(func(v VirtualNodeSpecListenerTlsValidation) *VirtualNodeSpecListenerTlsValidationSubjectAlternativeNames { + return v.SubjectAlternativeNames + }).(VirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesPtrOutput) +} + +// TLS validation context trust. +func (o VirtualNodeSpecListenerTlsValidationOutput) Trust() VirtualNodeSpecListenerTlsValidationTrustOutput { + return o.ApplyT(func(v VirtualNodeSpecListenerTlsValidation) VirtualNodeSpecListenerTlsValidationTrust { return v.Trust }).(VirtualNodeSpecListenerTlsValidationTrustOutput) +} + +type VirtualNodeSpecListenerTlsValidationPtrOutput struct{ *pulumi.OutputState } + +func (VirtualNodeSpecListenerTlsValidationPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**VirtualNodeSpecListenerTlsValidation)(nil)).Elem() +} + +func (o VirtualNodeSpecListenerTlsValidationPtrOutput) ToVirtualNodeSpecListenerTlsValidationPtrOutput() VirtualNodeSpecListenerTlsValidationPtrOutput { + return o +} + +func (o VirtualNodeSpecListenerTlsValidationPtrOutput) ToVirtualNodeSpecListenerTlsValidationPtrOutputWithContext(ctx context.Context) VirtualNodeSpecListenerTlsValidationPtrOutput { + return o +} + +func (o VirtualNodeSpecListenerTlsValidationPtrOutput) Elem() VirtualNodeSpecListenerTlsValidationOutput { + return o.ApplyT(func(v *VirtualNodeSpecListenerTlsValidation) VirtualNodeSpecListenerTlsValidation { + if v != nil { + return *v + } + var ret VirtualNodeSpecListenerTlsValidation + return ret + }).(VirtualNodeSpecListenerTlsValidationOutput) +} + +// SANs for a TLS validation context. +func (o VirtualNodeSpecListenerTlsValidationPtrOutput) SubjectAlternativeNames() VirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesPtrOutput { + return o.ApplyT(func(v *VirtualNodeSpecListenerTlsValidation) *VirtualNodeSpecListenerTlsValidationSubjectAlternativeNames { + if v == nil { + return nil + } + return v.SubjectAlternativeNames + }).(VirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesPtrOutput) +} + +// TLS validation context trust. +func (o VirtualNodeSpecListenerTlsValidationPtrOutput) Trust() VirtualNodeSpecListenerTlsValidationTrustPtrOutput { + return o.ApplyT(func(v *VirtualNodeSpecListenerTlsValidation) *VirtualNodeSpecListenerTlsValidationTrust { + if v == nil { + return nil + } + return &v.Trust + }).(VirtualNodeSpecListenerTlsValidationTrustPtrOutput) +} + +type VirtualNodeSpecListenerTlsValidationSubjectAlternativeNames struct { + // Criteria for determining a SAN's match. + Match VirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesMatch `pulumi:"match"` +} + +// VirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesInput is an input type that accepts VirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesArgs and VirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesOutput values. +// You can construct a concrete instance of `VirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesInput` via: +// +// VirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesArgs{...} +type VirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesInput interface { + pulumi.Input + + ToVirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesOutput() VirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesOutput + ToVirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesOutputWithContext(context.Context) VirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesOutput +} + +type VirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesArgs struct { + // Criteria for determining a SAN's match. + Match VirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesMatchInput `pulumi:"match"` +} + +func (VirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesArgs) ElementType() reflect.Type { + return reflect.TypeOf((*VirtualNodeSpecListenerTlsValidationSubjectAlternativeNames)(nil)).Elem() +} + +func (i VirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesArgs) ToVirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesOutput() VirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesOutput { + return i.ToVirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesOutputWithContext(context.Background()) +} + +func (i VirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesArgs) ToVirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesOutputWithContext(ctx context.Context) VirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesOutput) +} + +func (i VirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesArgs) ToVirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesPtrOutput() VirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesPtrOutput { + return i.ToVirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesPtrOutputWithContext(context.Background()) +} + +func (i VirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesArgs) ToVirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesPtrOutputWithContext(ctx context.Context) VirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesOutput).ToVirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesPtrOutputWithContext(ctx) +} + +// VirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesPtrInput is an input type that accepts VirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesArgs, VirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesPtr and VirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesPtrOutput values. +// You can construct a concrete instance of `VirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesPtrInput` via: +// +// VirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesArgs{...} +// +// or: +// +// nil +type VirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesPtrInput interface { + pulumi.Input + + ToVirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesPtrOutput() VirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesPtrOutput + ToVirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesPtrOutputWithContext(context.Context) VirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesPtrOutput +} + +type virtualNodeSpecListenerTlsValidationSubjectAlternativeNamesPtrType VirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesArgs + +func VirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesPtr(v *VirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesArgs) VirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesPtrInput { + return (*virtualNodeSpecListenerTlsValidationSubjectAlternativeNamesPtrType)(v) +} + +func (*virtualNodeSpecListenerTlsValidationSubjectAlternativeNamesPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**VirtualNodeSpecListenerTlsValidationSubjectAlternativeNames)(nil)).Elem() +} + +func (i *virtualNodeSpecListenerTlsValidationSubjectAlternativeNamesPtrType) ToVirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesPtrOutput() VirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesPtrOutput { + return i.ToVirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesPtrOutputWithContext(context.Background()) +} + +func (i *virtualNodeSpecListenerTlsValidationSubjectAlternativeNamesPtrType) ToVirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesPtrOutputWithContext(ctx context.Context) VirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesPtrOutput) +} + +type VirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesOutput struct{ *pulumi.OutputState } + +func (VirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesOutput) ElementType() reflect.Type { + return reflect.TypeOf((*VirtualNodeSpecListenerTlsValidationSubjectAlternativeNames)(nil)).Elem() +} + +func (o VirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesOutput) ToVirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesOutput() VirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesOutput { + return o +} + +func (o VirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesOutput) ToVirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesOutputWithContext(ctx context.Context) VirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesOutput { + return o +} + +func (o VirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesOutput) ToVirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesPtrOutput() VirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesPtrOutput { + return o.ToVirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesPtrOutputWithContext(context.Background()) +} + +func (o VirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesOutput) ToVirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesPtrOutputWithContext(ctx context.Context) VirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v VirtualNodeSpecListenerTlsValidationSubjectAlternativeNames) *VirtualNodeSpecListenerTlsValidationSubjectAlternativeNames { + return &v + }).(VirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesPtrOutput) +} + +// Criteria for determining a SAN's match. +func (o VirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesOutput) Match() VirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesMatchOutput { + return o.ApplyT(func(v VirtualNodeSpecListenerTlsValidationSubjectAlternativeNames) VirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesMatch { + return v.Match + }).(VirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesMatchOutput) +} + +type VirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesPtrOutput struct{ *pulumi.OutputState } + +func (VirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**VirtualNodeSpecListenerTlsValidationSubjectAlternativeNames)(nil)).Elem() +} + +func (o VirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesPtrOutput) ToVirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesPtrOutput() VirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesPtrOutput { + return o +} + +func (o VirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesPtrOutput) ToVirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesPtrOutputWithContext(ctx context.Context) VirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesPtrOutput { + return o +} + +func (o VirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesPtrOutput) Elem() VirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesOutput { + return o.ApplyT(func(v *VirtualNodeSpecListenerTlsValidationSubjectAlternativeNames) VirtualNodeSpecListenerTlsValidationSubjectAlternativeNames { + if v != nil { + return *v + } + var ret VirtualNodeSpecListenerTlsValidationSubjectAlternativeNames + return ret + }).(VirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesOutput) +} + +// Criteria for determining a SAN's match. +func (o VirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesPtrOutput) Match() VirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesMatchPtrOutput { + return o.ApplyT(func(v *VirtualNodeSpecListenerTlsValidationSubjectAlternativeNames) *VirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesMatch { + if v == nil { + return nil + } + return &v.Match + }).(VirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesMatchPtrOutput) +} + +type VirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesMatch struct { + // Values sent must match the specified values exactly. + Exacts []string `pulumi:"exacts"` +} + +// VirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesMatchInput is an input type that accepts VirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesMatchArgs and VirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesMatchOutput values. +// You can construct a concrete instance of `VirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesMatchInput` via: +// +// VirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesMatchArgs{...} +type VirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesMatchInput interface { + pulumi.Input + + ToVirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesMatchOutput() VirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesMatchOutput + ToVirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesMatchOutputWithContext(context.Context) VirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesMatchOutput +} + +type VirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesMatchArgs struct { + // Values sent must match the specified values exactly. + Exacts pulumi.StringArrayInput `pulumi:"exacts"` +} + +func (VirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesMatchArgs) ElementType() reflect.Type { + return reflect.TypeOf((*VirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesMatch)(nil)).Elem() +} + +func (i VirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesMatchArgs) ToVirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesMatchOutput() VirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesMatchOutput { + return i.ToVirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesMatchOutputWithContext(context.Background()) +} + +func (i VirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesMatchArgs) ToVirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesMatchOutputWithContext(ctx context.Context) VirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesMatchOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesMatchOutput) +} + +func (i VirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesMatchArgs) ToVirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesMatchPtrOutput() VirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesMatchPtrOutput { + return i.ToVirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesMatchPtrOutputWithContext(context.Background()) +} + +func (i VirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesMatchArgs) ToVirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesMatchPtrOutputWithContext(ctx context.Context) VirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesMatchPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesMatchOutput).ToVirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesMatchPtrOutputWithContext(ctx) +} + +// VirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesMatchPtrInput is an input type that accepts VirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesMatchArgs, VirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesMatchPtr and VirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesMatchPtrOutput values. +// You can construct a concrete instance of `VirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesMatchPtrInput` via: +// +// VirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesMatchArgs{...} +// +// or: +// +// nil +type VirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesMatchPtrInput interface { + pulumi.Input + + ToVirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesMatchPtrOutput() VirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesMatchPtrOutput + ToVirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesMatchPtrOutputWithContext(context.Context) VirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesMatchPtrOutput +} + +type virtualNodeSpecListenerTlsValidationSubjectAlternativeNamesMatchPtrType VirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesMatchArgs + +func VirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesMatchPtr(v *VirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesMatchArgs) VirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesMatchPtrInput { + return (*virtualNodeSpecListenerTlsValidationSubjectAlternativeNamesMatchPtrType)(v) +} + +func (*virtualNodeSpecListenerTlsValidationSubjectAlternativeNamesMatchPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**VirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesMatch)(nil)).Elem() +} + +func (i *virtualNodeSpecListenerTlsValidationSubjectAlternativeNamesMatchPtrType) ToVirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesMatchPtrOutput() VirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesMatchPtrOutput { + return i.ToVirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesMatchPtrOutputWithContext(context.Background()) +} + +func (i *virtualNodeSpecListenerTlsValidationSubjectAlternativeNamesMatchPtrType) ToVirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesMatchPtrOutputWithContext(ctx context.Context) VirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesMatchPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesMatchPtrOutput) +} + +type VirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesMatchOutput struct{ *pulumi.OutputState } + +func (VirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesMatchOutput) ElementType() reflect.Type { + return reflect.TypeOf((*VirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesMatch)(nil)).Elem() +} + +func (o VirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesMatchOutput) ToVirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesMatchOutput() VirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesMatchOutput { + return o +} + +func (o VirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesMatchOutput) ToVirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesMatchOutputWithContext(ctx context.Context) VirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesMatchOutput { + return o +} + +func (o VirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesMatchOutput) ToVirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesMatchPtrOutput() VirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesMatchPtrOutput { + return o.ToVirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesMatchPtrOutputWithContext(context.Background()) +} + +func (o VirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesMatchOutput) ToVirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesMatchPtrOutputWithContext(ctx context.Context) VirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesMatchPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v VirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesMatch) *VirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesMatch { + return &v + }).(VirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesMatchPtrOutput) +} + +// Values sent must match the specified values exactly. +func (o VirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesMatchOutput) Exacts() pulumi.StringArrayOutput { + return o.ApplyT(func(v VirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesMatch) []string { return v.Exacts }).(pulumi.StringArrayOutput) +} + +type VirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesMatchPtrOutput struct{ *pulumi.OutputState } + +func (VirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesMatchPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**VirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesMatch)(nil)).Elem() +} + +func (o VirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesMatchPtrOutput) ToVirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesMatchPtrOutput() VirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesMatchPtrOutput { + return o +} + +func (o VirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesMatchPtrOutput) ToVirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesMatchPtrOutputWithContext(ctx context.Context) VirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesMatchPtrOutput { + return o +} + +func (o VirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesMatchPtrOutput) Elem() VirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesMatchOutput { + return o.ApplyT(func(v *VirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesMatch) VirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesMatch { + if v != nil { + return *v + } + var ret VirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesMatch + return ret + }).(VirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesMatchOutput) +} + +// Values sent must match the specified values exactly. +func (o VirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesMatchPtrOutput) Exacts() pulumi.StringArrayOutput { + return o.ApplyT(func(v *VirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesMatch) []string { + if v == nil { + return nil + } + return v.Exacts + }).(pulumi.StringArrayOutput) +} + +type VirtualNodeSpecListenerTlsValidationTrust struct { + // TLS validation context trust for a local file certificate. + File *VirtualNodeSpecListenerTlsValidationTrustFile `pulumi:"file"` + // TLS validation context trust for a [Secret Discovery Service](https://www.envoyproxy.io/docs/envoy/latest/configuration/security/secret#secret-discovery-service-sds) certificate. + Sds *VirtualNodeSpecListenerTlsValidationTrustSds `pulumi:"sds"` +} + +// VirtualNodeSpecListenerTlsValidationTrustInput is an input type that accepts VirtualNodeSpecListenerTlsValidationTrustArgs and VirtualNodeSpecListenerTlsValidationTrustOutput values. +// You can construct a concrete instance of `VirtualNodeSpecListenerTlsValidationTrustInput` via: +// +// VirtualNodeSpecListenerTlsValidationTrustArgs{...} +type VirtualNodeSpecListenerTlsValidationTrustInput interface { + pulumi.Input + + ToVirtualNodeSpecListenerTlsValidationTrustOutput() VirtualNodeSpecListenerTlsValidationTrustOutput + ToVirtualNodeSpecListenerTlsValidationTrustOutputWithContext(context.Context) VirtualNodeSpecListenerTlsValidationTrustOutput +} + +type VirtualNodeSpecListenerTlsValidationTrustArgs struct { + // TLS validation context trust for a local file certificate. + File VirtualNodeSpecListenerTlsValidationTrustFilePtrInput `pulumi:"file"` + // TLS validation context trust for a [Secret Discovery Service](https://www.envoyproxy.io/docs/envoy/latest/configuration/security/secret#secret-discovery-service-sds) certificate. + Sds VirtualNodeSpecListenerTlsValidationTrustSdsPtrInput `pulumi:"sds"` +} + +func (VirtualNodeSpecListenerTlsValidationTrustArgs) ElementType() reflect.Type { + return reflect.TypeOf((*VirtualNodeSpecListenerTlsValidationTrust)(nil)).Elem() +} + +func (i VirtualNodeSpecListenerTlsValidationTrustArgs) ToVirtualNodeSpecListenerTlsValidationTrustOutput() VirtualNodeSpecListenerTlsValidationTrustOutput { + return i.ToVirtualNodeSpecListenerTlsValidationTrustOutputWithContext(context.Background()) +} + +func (i VirtualNodeSpecListenerTlsValidationTrustArgs) ToVirtualNodeSpecListenerTlsValidationTrustOutputWithContext(ctx context.Context) VirtualNodeSpecListenerTlsValidationTrustOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecListenerTlsValidationTrustOutput) +} + +func (i VirtualNodeSpecListenerTlsValidationTrustArgs) ToVirtualNodeSpecListenerTlsValidationTrustPtrOutput() VirtualNodeSpecListenerTlsValidationTrustPtrOutput { + return i.ToVirtualNodeSpecListenerTlsValidationTrustPtrOutputWithContext(context.Background()) +} + +func (i VirtualNodeSpecListenerTlsValidationTrustArgs) ToVirtualNodeSpecListenerTlsValidationTrustPtrOutputWithContext(ctx context.Context) VirtualNodeSpecListenerTlsValidationTrustPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecListenerTlsValidationTrustOutput).ToVirtualNodeSpecListenerTlsValidationTrustPtrOutputWithContext(ctx) +} + +// VirtualNodeSpecListenerTlsValidationTrustPtrInput is an input type that accepts VirtualNodeSpecListenerTlsValidationTrustArgs, VirtualNodeSpecListenerTlsValidationTrustPtr and VirtualNodeSpecListenerTlsValidationTrustPtrOutput values. +// You can construct a concrete instance of `VirtualNodeSpecListenerTlsValidationTrustPtrInput` via: +// +// VirtualNodeSpecListenerTlsValidationTrustArgs{...} +// +// or: +// +// nil +type VirtualNodeSpecListenerTlsValidationTrustPtrInput interface { + pulumi.Input + + ToVirtualNodeSpecListenerTlsValidationTrustPtrOutput() VirtualNodeSpecListenerTlsValidationTrustPtrOutput + ToVirtualNodeSpecListenerTlsValidationTrustPtrOutputWithContext(context.Context) VirtualNodeSpecListenerTlsValidationTrustPtrOutput +} + +type virtualNodeSpecListenerTlsValidationTrustPtrType VirtualNodeSpecListenerTlsValidationTrustArgs + +func VirtualNodeSpecListenerTlsValidationTrustPtr(v *VirtualNodeSpecListenerTlsValidationTrustArgs) VirtualNodeSpecListenerTlsValidationTrustPtrInput { + return (*virtualNodeSpecListenerTlsValidationTrustPtrType)(v) +} + +func (*virtualNodeSpecListenerTlsValidationTrustPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**VirtualNodeSpecListenerTlsValidationTrust)(nil)).Elem() +} + +func (i *virtualNodeSpecListenerTlsValidationTrustPtrType) ToVirtualNodeSpecListenerTlsValidationTrustPtrOutput() VirtualNodeSpecListenerTlsValidationTrustPtrOutput { + return i.ToVirtualNodeSpecListenerTlsValidationTrustPtrOutputWithContext(context.Background()) +} + +func (i *virtualNodeSpecListenerTlsValidationTrustPtrType) ToVirtualNodeSpecListenerTlsValidationTrustPtrOutputWithContext(ctx context.Context) VirtualNodeSpecListenerTlsValidationTrustPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecListenerTlsValidationTrustPtrOutput) +} + +type VirtualNodeSpecListenerTlsValidationTrustOutput struct{ *pulumi.OutputState } + +func (VirtualNodeSpecListenerTlsValidationTrustOutput) ElementType() reflect.Type { + return reflect.TypeOf((*VirtualNodeSpecListenerTlsValidationTrust)(nil)).Elem() +} + +func (o VirtualNodeSpecListenerTlsValidationTrustOutput) ToVirtualNodeSpecListenerTlsValidationTrustOutput() VirtualNodeSpecListenerTlsValidationTrustOutput { + return o +} + +func (o VirtualNodeSpecListenerTlsValidationTrustOutput) ToVirtualNodeSpecListenerTlsValidationTrustOutputWithContext(ctx context.Context) VirtualNodeSpecListenerTlsValidationTrustOutput { + return o +} + +func (o VirtualNodeSpecListenerTlsValidationTrustOutput) ToVirtualNodeSpecListenerTlsValidationTrustPtrOutput() VirtualNodeSpecListenerTlsValidationTrustPtrOutput { + return o.ToVirtualNodeSpecListenerTlsValidationTrustPtrOutputWithContext(context.Background()) +} + +func (o VirtualNodeSpecListenerTlsValidationTrustOutput) ToVirtualNodeSpecListenerTlsValidationTrustPtrOutputWithContext(ctx context.Context) VirtualNodeSpecListenerTlsValidationTrustPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v VirtualNodeSpecListenerTlsValidationTrust) *VirtualNodeSpecListenerTlsValidationTrust { + return &v + }).(VirtualNodeSpecListenerTlsValidationTrustPtrOutput) +} + +// TLS validation context trust for a local file certificate. +func (o VirtualNodeSpecListenerTlsValidationTrustOutput) File() VirtualNodeSpecListenerTlsValidationTrustFilePtrOutput { + return o.ApplyT(func(v VirtualNodeSpecListenerTlsValidationTrust) *VirtualNodeSpecListenerTlsValidationTrustFile { + return v.File + }).(VirtualNodeSpecListenerTlsValidationTrustFilePtrOutput) +} + +// TLS validation context trust for a [Secret Discovery Service](https://www.envoyproxy.io/docs/envoy/latest/configuration/security/secret#secret-discovery-service-sds) certificate. +func (o VirtualNodeSpecListenerTlsValidationTrustOutput) Sds() VirtualNodeSpecListenerTlsValidationTrustSdsPtrOutput { + return o.ApplyT(func(v VirtualNodeSpecListenerTlsValidationTrust) *VirtualNodeSpecListenerTlsValidationTrustSds { + return v.Sds + }).(VirtualNodeSpecListenerTlsValidationTrustSdsPtrOutput) +} + +type VirtualNodeSpecListenerTlsValidationTrustPtrOutput struct{ *pulumi.OutputState } + +func (VirtualNodeSpecListenerTlsValidationTrustPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**VirtualNodeSpecListenerTlsValidationTrust)(nil)).Elem() +} + +func (o VirtualNodeSpecListenerTlsValidationTrustPtrOutput) ToVirtualNodeSpecListenerTlsValidationTrustPtrOutput() VirtualNodeSpecListenerTlsValidationTrustPtrOutput { + return o +} + +func (o VirtualNodeSpecListenerTlsValidationTrustPtrOutput) ToVirtualNodeSpecListenerTlsValidationTrustPtrOutputWithContext(ctx context.Context) VirtualNodeSpecListenerTlsValidationTrustPtrOutput { + return o +} + +func (o VirtualNodeSpecListenerTlsValidationTrustPtrOutput) Elem() VirtualNodeSpecListenerTlsValidationTrustOutput { + return o.ApplyT(func(v *VirtualNodeSpecListenerTlsValidationTrust) VirtualNodeSpecListenerTlsValidationTrust { + if v != nil { + return *v + } + var ret VirtualNodeSpecListenerTlsValidationTrust + return ret + }).(VirtualNodeSpecListenerTlsValidationTrustOutput) +} + +// TLS validation context trust for a local file certificate. +func (o VirtualNodeSpecListenerTlsValidationTrustPtrOutput) File() VirtualNodeSpecListenerTlsValidationTrustFilePtrOutput { + return o.ApplyT(func(v *VirtualNodeSpecListenerTlsValidationTrust) *VirtualNodeSpecListenerTlsValidationTrustFile { + if v == nil { + return nil + } + return v.File + }).(VirtualNodeSpecListenerTlsValidationTrustFilePtrOutput) +} + +// TLS validation context trust for a [Secret Discovery Service](https://www.envoyproxy.io/docs/envoy/latest/configuration/security/secret#secret-discovery-service-sds) certificate. +func (o VirtualNodeSpecListenerTlsValidationTrustPtrOutput) Sds() VirtualNodeSpecListenerTlsValidationTrustSdsPtrOutput { + return o.ApplyT(func(v *VirtualNodeSpecListenerTlsValidationTrust) *VirtualNodeSpecListenerTlsValidationTrustSds { + if v == nil { + return nil + } + return v.Sds + }).(VirtualNodeSpecListenerTlsValidationTrustSdsPtrOutput) +} + +type VirtualNodeSpecListenerTlsValidationTrustFile struct { + // Certificate trust chain for a certificate stored on the file system of the mesh endpoint that the proxy is running on. Must be between 1 and 255 characters in length. + CertificateChain string `pulumi:"certificateChain"` +} + +// VirtualNodeSpecListenerTlsValidationTrustFileInput is an input type that accepts VirtualNodeSpecListenerTlsValidationTrustFileArgs and VirtualNodeSpecListenerTlsValidationTrustFileOutput values. +// You can construct a concrete instance of `VirtualNodeSpecListenerTlsValidationTrustFileInput` via: +// +// VirtualNodeSpecListenerTlsValidationTrustFileArgs{...} +type VirtualNodeSpecListenerTlsValidationTrustFileInput interface { + pulumi.Input + + ToVirtualNodeSpecListenerTlsValidationTrustFileOutput() VirtualNodeSpecListenerTlsValidationTrustFileOutput + ToVirtualNodeSpecListenerTlsValidationTrustFileOutputWithContext(context.Context) VirtualNodeSpecListenerTlsValidationTrustFileOutput +} + +type VirtualNodeSpecListenerTlsValidationTrustFileArgs struct { + // Certificate trust chain for a certificate stored on the file system of the mesh endpoint that the proxy is running on. Must be between 1 and 255 characters in length. + CertificateChain pulumi.StringInput `pulumi:"certificateChain"` +} + +func (VirtualNodeSpecListenerTlsValidationTrustFileArgs) ElementType() reflect.Type { + return reflect.TypeOf((*VirtualNodeSpecListenerTlsValidationTrustFile)(nil)).Elem() +} + +func (i VirtualNodeSpecListenerTlsValidationTrustFileArgs) ToVirtualNodeSpecListenerTlsValidationTrustFileOutput() VirtualNodeSpecListenerTlsValidationTrustFileOutput { + return i.ToVirtualNodeSpecListenerTlsValidationTrustFileOutputWithContext(context.Background()) +} + +func (i VirtualNodeSpecListenerTlsValidationTrustFileArgs) ToVirtualNodeSpecListenerTlsValidationTrustFileOutputWithContext(ctx context.Context) VirtualNodeSpecListenerTlsValidationTrustFileOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecListenerTlsValidationTrustFileOutput) +} + +func (i VirtualNodeSpecListenerTlsValidationTrustFileArgs) ToVirtualNodeSpecListenerTlsValidationTrustFilePtrOutput() VirtualNodeSpecListenerTlsValidationTrustFilePtrOutput { + return i.ToVirtualNodeSpecListenerTlsValidationTrustFilePtrOutputWithContext(context.Background()) +} + +func (i VirtualNodeSpecListenerTlsValidationTrustFileArgs) ToVirtualNodeSpecListenerTlsValidationTrustFilePtrOutputWithContext(ctx context.Context) VirtualNodeSpecListenerTlsValidationTrustFilePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecListenerTlsValidationTrustFileOutput).ToVirtualNodeSpecListenerTlsValidationTrustFilePtrOutputWithContext(ctx) +} + +// VirtualNodeSpecListenerTlsValidationTrustFilePtrInput is an input type that accepts VirtualNodeSpecListenerTlsValidationTrustFileArgs, VirtualNodeSpecListenerTlsValidationTrustFilePtr and VirtualNodeSpecListenerTlsValidationTrustFilePtrOutput values. +// You can construct a concrete instance of `VirtualNodeSpecListenerTlsValidationTrustFilePtrInput` via: +// +// VirtualNodeSpecListenerTlsValidationTrustFileArgs{...} +// +// or: +// +// nil +type VirtualNodeSpecListenerTlsValidationTrustFilePtrInput interface { + pulumi.Input + + ToVirtualNodeSpecListenerTlsValidationTrustFilePtrOutput() VirtualNodeSpecListenerTlsValidationTrustFilePtrOutput + ToVirtualNodeSpecListenerTlsValidationTrustFilePtrOutputWithContext(context.Context) VirtualNodeSpecListenerTlsValidationTrustFilePtrOutput +} + +type virtualNodeSpecListenerTlsValidationTrustFilePtrType VirtualNodeSpecListenerTlsValidationTrustFileArgs + +func VirtualNodeSpecListenerTlsValidationTrustFilePtr(v *VirtualNodeSpecListenerTlsValidationTrustFileArgs) VirtualNodeSpecListenerTlsValidationTrustFilePtrInput { + return (*virtualNodeSpecListenerTlsValidationTrustFilePtrType)(v) +} + +func (*virtualNodeSpecListenerTlsValidationTrustFilePtrType) ElementType() reflect.Type { + return reflect.TypeOf((**VirtualNodeSpecListenerTlsValidationTrustFile)(nil)).Elem() +} + +func (i *virtualNodeSpecListenerTlsValidationTrustFilePtrType) ToVirtualNodeSpecListenerTlsValidationTrustFilePtrOutput() VirtualNodeSpecListenerTlsValidationTrustFilePtrOutput { + return i.ToVirtualNodeSpecListenerTlsValidationTrustFilePtrOutputWithContext(context.Background()) +} + +func (i *virtualNodeSpecListenerTlsValidationTrustFilePtrType) ToVirtualNodeSpecListenerTlsValidationTrustFilePtrOutputWithContext(ctx context.Context) VirtualNodeSpecListenerTlsValidationTrustFilePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecListenerTlsValidationTrustFilePtrOutput) +} + +type VirtualNodeSpecListenerTlsValidationTrustFileOutput struct{ *pulumi.OutputState } + +func (VirtualNodeSpecListenerTlsValidationTrustFileOutput) ElementType() reflect.Type { + return reflect.TypeOf((*VirtualNodeSpecListenerTlsValidationTrustFile)(nil)).Elem() +} + +func (o VirtualNodeSpecListenerTlsValidationTrustFileOutput) ToVirtualNodeSpecListenerTlsValidationTrustFileOutput() VirtualNodeSpecListenerTlsValidationTrustFileOutput { + return o +} + +func (o VirtualNodeSpecListenerTlsValidationTrustFileOutput) ToVirtualNodeSpecListenerTlsValidationTrustFileOutputWithContext(ctx context.Context) VirtualNodeSpecListenerTlsValidationTrustFileOutput { + return o +} + +func (o VirtualNodeSpecListenerTlsValidationTrustFileOutput) ToVirtualNodeSpecListenerTlsValidationTrustFilePtrOutput() VirtualNodeSpecListenerTlsValidationTrustFilePtrOutput { + return o.ToVirtualNodeSpecListenerTlsValidationTrustFilePtrOutputWithContext(context.Background()) +} + +func (o VirtualNodeSpecListenerTlsValidationTrustFileOutput) ToVirtualNodeSpecListenerTlsValidationTrustFilePtrOutputWithContext(ctx context.Context) VirtualNodeSpecListenerTlsValidationTrustFilePtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v VirtualNodeSpecListenerTlsValidationTrustFile) *VirtualNodeSpecListenerTlsValidationTrustFile { + return &v + }).(VirtualNodeSpecListenerTlsValidationTrustFilePtrOutput) +} + +// Certificate trust chain for a certificate stored on the file system of the mesh endpoint that the proxy is running on. Must be between 1 and 255 characters in length. +func (o VirtualNodeSpecListenerTlsValidationTrustFileOutput) CertificateChain() pulumi.StringOutput { + return o.ApplyT(func(v VirtualNodeSpecListenerTlsValidationTrustFile) string { return v.CertificateChain }).(pulumi.StringOutput) +} + +type VirtualNodeSpecListenerTlsValidationTrustFilePtrOutput struct{ *pulumi.OutputState } + +func (VirtualNodeSpecListenerTlsValidationTrustFilePtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**VirtualNodeSpecListenerTlsValidationTrustFile)(nil)).Elem() +} + +func (o VirtualNodeSpecListenerTlsValidationTrustFilePtrOutput) ToVirtualNodeSpecListenerTlsValidationTrustFilePtrOutput() VirtualNodeSpecListenerTlsValidationTrustFilePtrOutput { + return o +} + +func (o VirtualNodeSpecListenerTlsValidationTrustFilePtrOutput) ToVirtualNodeSpecListenerTlsValidationTrustFilePtrOutputWithContext(ctx context.Context) VirtualNodeSpecListenerTlsValidationTrustFilePtrOutput { + return o +} + +func (o VirtualNodeSpecListenerTlsValidationTrustFilePtrOutput) Elem() VirtualNodeSpecListenerTlsValidationTrustFileOutput { + return o.ApplyT(func(v *VirtualNodeSpecListenerTlsValidationTrustFile) VirtualNodeSpecListenerTlsValidationTrustFile { + if v != nil { + return *v + } + var ret VirtualNodeSpecListenerTlsValidationTrustFile + return ret + }).(VirtualNodeSpecListenerTlsValidationTrustFileOutput) +} + +// Certificate trust chain for a certificate stored on the file system of the mesh endpoint that the proxy is running on. Must be between 1 and 255 characters in length. +func (o VirtualNodeSpecListenerTlsValidationTrustFilePtrOutput) CertificateChain() pulumi.StringPtrOutput { + return o.ApplyT(func(v *VirtualNodeSpecListenerTlsValidationTrustFile) *string { + if v == nil { + return nil + } + return &v.CertificateChain + }).(pulumi.StringPtrOutput) +} + +type VirtualNodeSpecListenerTlsValidationTrustSds struct { + // Name of the secret for a virtual node's Transport Layer Security (TLS) Secret Discovery Service validation context trust. + SecretName string `pulumi:"secretName"` +} + +// VirtualNodeSpecListenerTlsValidationTrustSdsInput is an input type that accepts VirtualNodeSpecListenerTlsValidationTrustSdsArgs and VirtualNodeSpecListenerTlsValidationTrustSdsOutput values. +// You can construct a concrete instance of `VirtualNodeSpecListenerTlsValidationTrustSdsInput` via: +// +// VirtualNodeSpecListenerTlsValidationTrustSdsArgs{...} +type VirtualNodeSpecListenerTlsValidationTrustSdsInput interface { + pulumi.Input + + ToVirtualNodeSpecListenerTlsValidationTrustSdsOutput() VirtualNodeSpecListenerTlsValidationTrustSdsOutput + ToVirtualNodeSpecListenerTlsValidationTrustSdsOutputWithContext(context.Context) VirtualNodeSpecListenerTlsValidationTrustSdsOutput +} + +type VirtualNodeSpecListenerTlsValidationTrustSdsArgs struct { + // Name of the secret for a virtual node's Transport Layer Security (TLS) Secret Discovery Service validation context trust. + SecretName pulumi.StringInput `pulumi:"secretName"` +} + +func (VirtualNodeSpecListenerTlsValidationTrustSdsArgs) ElementType() reflect.Type { + return reflect.TypeOf((*VirtualNodeSpecListenerTlsValidationTrustSds)(nil)).Elem() +} + +func (i VirtualNodeSpecListenerTlsValidationTrustSdsArgs) ToVirtualNodeSpecListenerTlsValidationTrustSdsOutput() VirtualNodeSpecListenerTlsValidationTrustSdsOutput { + return i.ToVirtualNodeSpecListenerTlsValidationTrustSdsOutputWithContext(context.Background()) +} + +func (i VirtualNodeSpecListenerTlsValidationTrustSdsArgs) ToVirtualNodeSpecListenerTlsValidationTrustSdsOutputWithContext(ctx context.Context) VirtualNodeSpecListenerTlsValidationTrustSdsOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecListenerTlsValidationTrustSdsOutput) +} + +func (i VirtualNodeSpecListenerTlsValidationTrustSdsArgs) ToVirtualNodeSpecListenerTlsValidationTrustSdsPtrOutput() VirtualNodeSpecListenerTlsValidationTrustSdsPtrOutput { + return i.ToVirtualNodeSpecListenerTlsValidationTrustSdsPtrOutputWithContext(context.Background()) +} + +func (i VirtualNodeSpecListenerTlsValidationTrustSdsArgs) ToVirtualNodeSpecListenerTlsValidationTrustSdsPtrOutputWithContext(ctx context.Context) VirtualNodeSpecListenerTlsValidationTrustSdsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecListenerTlsValidationTrustSdsOutput).ToVirtualNodeSpecListenerTlsValidationTrustSdsPtrOutputWithContext(ctx) +} + +// VirtualNodeSpecListenerTlsValidationTrustSdsPtrInput is an input type that accepts VirtualNodeSpecListenerTlsValidationTrustSdsArgs, VirtualNodeSpecListenerTlsValidationTrustSdsPtr and VirtualNodeSpecListenerTlsValidationTrustSdsPtrOutput values. +// You can construct a concrete instance of `VirtualNodeSpecListenerTlsValidationTrustSdsPtrInput` via: +// +// VirtualNodeSpecListenerTlsValidationTrustSdsArgs{...} +// +// or: +// +// nil +type VirtualNodeSpecListenerTlsValidationTrustSdsPtrInput interface { + pulumi.Input + + ToVirtualNodeSpecListenerTlsValidationTrustSdsPtrOutput() VirtualNodeSpecListenerTlsValidationTrustSdsPtrOutput + ToVirtualNodeSpecListenerTlsValidationTrustSdsPtrOutputWithContext(context.Context) VirtualNodeSpecListenerTlsValidationTrustSdsPtrOutput +} + +type virtualNodeSpecListenerTlsValidationTrustSdsPtrType VirtualNodeSpecListenerTlsValidationTrustSdsArgs + +func VirtualNodeSpecListenerTlsValidationTrustSdsPtr(v *VirtualNodeSpecListenerTlsValidationTrustSdsArgs) VirtualNodeSpecListenerTlsValidationTrustSdsPtrInput { + return (*virtualNodeSpecListenerTlsValidationTrustSdsPtrType)(v) +} + +func (*virtualNodeSpecListenerTlsValidationTrustSdsPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**VirtualNodeSpecListenerTlsValidationTrustSds)(nil)).Elem() +} + +func (i *virtualNodeSpecListenerTlsValidationTrustSdsPtrType) ToVirtualNodeSpecListenerTlsValidationTrustSdsPtrOutput() VirtualNodeSpecListenerTlsValidationTrustSdsPtrOutput { + return i.ToVirtualNodeSpecListenerTlsValidationTrustSdsPtrOutputWithContext(context.Background()) +} + +func (i *virtualNodeSpecListenerTlsValidationTrustSdsPtrType) ToVirtualNodeSpecListenerTlsValidationTrustSdsPtrOutputWithContext(ctx context.Context) VirtualNodeSpecListenerTlsValidationTrustSdsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecListenerTlsValidationTrustSdsPtrOutput) +} + +type VirtualNodeSpecListenerTlsValidationTrustSdsOutput struct{ *pulumi.OutputState } + +func (VirtualNodeSpecListenerTlsValidationTrustSdsOutput) ElementType() reflect.Type { + return reflect.TypeOf((*VirtualNodeSpecListenerTlsValidationTrustSds)(nil)).Elem() +} + +func (o VirtualNodeSpecListenerTlsValidationTrustSdsOutput) ToVirtualNodeSpecListenerTlsValidationTrustSdsOutput() VirtualNodeSpecListenerTlsValidationTrustSdsOutput { + return o +} + +func (o VirtualNodeSpecListenerTlsValidationTrustSdsOutput) ToVirtualNodeSpecListenerTlsValidationTrustSdsOutputWithContext(ctx context.Context) VirtualNodeSpecListenerTlsValidationTrustSdsOutput { + return o +} + +func (o VirtualNodeSpecListenerTlsValidationTrustSdsOutput) ToVirtualNodeSpecListenerTlsValidationTrustSdsPtrOutput() VirtualNodeSpecListenerTlsValidationTrustSdsPtrOutput { + return o.ToVirtualNodeSpecListenerTlsValidationTrustSdsPtrOutputWithContext(context.Background()) +} + +func (o VirtualNodeSpecListenerTlsValidationTrustSdsOutput) ToVirtualNodeSpecListenerTlsValidationTrustSdsPtrOutputWithContext(ctx context.Context) VirtualNodeSpecListenerTlsValidationTrustSdsPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v VirtualNodeSpecListenerTlsValidationTrustSds) *VirtualNodeSpecListenerTlsValidationTrustSds { + return &v + }).(VirtualNodeSpecListenerTlsValidationTrustSdsPtrOutput) +} + +// Name of the secret for a virtual node's Transport Layer Security (TLS) Secret Discovery Service validation context trust. +func (o VirtualNodeSpecListenerTlsValidationTrustSdsOutput) SecretName() pulumi.StringOutput { + return o.ApplyT(func(v VirtualNodeSpecListenerTlsValidationTrustSds) string { return v.SecretName }).(pulumi.StringOutput) +} + +type VirtualNodeSpecListenerTlsValidationTrustSdsPtrOutput struct{ *pulumi.OutputState } + +func (VirtualNodeSpecListenerTlsValidationTrustSdsPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**VirtualNodeSpecListenerTlsValidationTrustSds)(nil)).Elem() +} + +func (o VirtualNodeSpecListenerTlsValidationTrustSdsPtrOutput) ToVirtualNodeSpecListenerTlsValidationTrustSdsPtrOutput() VirtualNodeSpecListenerTlsValidationTrustSdsPtrOutput { + return o +} + +func (o VirtualNodeSpecListenerTlsValidationTrustSdsPtrOutput) ToVirtualNodeSpecListenerTlsValidationTrustSdsPtrOutputWithContext(ctx context.Context) VirtualNodeSpecListenerTlsValidationTrustSdsPtrOutput { + return o +} + +func (o VirtualNodeSpecListenerTlsValidationTrustSdsPtrOutput) Elem() VirtualNodeSpecListenerTlsValidationTrustSdsOutput { + return o.ApplyT(func(v *VirtualNodeSpecListenerTlsValidationTrustSds) VirtualNodeSpecListenerTlsValidationTrustSds { + if v != nil { + return *v + } + var ret VirtualNodeSpecListenerTlsValidationTrustSds + return ret + }).(VirtualNodeSpecListenerTlsValidationTrustSdsOutput) +} + +// Name of the secret for a virtual node's Transport Layer Security (TLS) Secret Discovery Service validation context trust. +func (o VirtualNodeSpecListenerTlsValidationTrustSdsPtrOutput) SecretName() pulumi.StringPtrOutput { + return o.ApplyT(func(v *VirtualNodeSpecListenerTlsValidationTrustSds) *string { + if v == nil { + return nil + } + return &v.SecretName + }).(pulumi.StringPtrOutput) +} + +type VirtualNodeSpecLogging struct { + // Access log configuration for a virtual node. + AccessLog *VirtualNodeSpecLoggingAccessLog `pulumi:"accessLog"` +} + +// VirtualNodeSpecLoggingInput is an input type that accepts VirtualNodeSpecLoggingArgs and VirtualNodeSpecLoggingOutput values. +// You can construct a concrete instance of `VirtualNodeSpecLoggingInput` via: +// +// VirtualNodeSpecLoggingArgs{...} +type VirtualNodeSpecLoggingInput interface { + pulumi.Input + + ToVirtualNodeSpecLoggingOutput() VirtualNodeSpecLoggingOutput + ToVirtualNodeSpecLoggingOutputWithContext(context.Context) VirtualNodeSpecLoggingOutput +} + +type VirtualNodeSpecLoggingArgs struct { + // Access log configuration for a virtual node. + AccessLog VirtualNodeSpecLoggingAccessLogPtrInput `pulumi:"accessLog"` +} + +func (VirtualNodeSpecLoggingArgs) ElementType() reflect.Type { + return reflect.TypeOf((*VirtualNodeSpecLogging)(nil)).Elem() +} + +func (i VirtualNodeSpecLoggingArgs) ToVirtualNodeSpecLoggingOutput() VirtualNodeSpecLoggingOutput { + return i.ToVirtualNodeSpecLoggingOutputWithContext(context.Background()) +} + +func (i VirtualNodeSpecLoggingArgs) ToVirtualNodeSpecLoggingOutputWithContext(ctx context.Context) VirtualNodeSpecLoggingOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecLoggingOutput) +} + +func (i VirtualNodeSpecLoggingArgs) ToVirtualNodeSpecLoggingPtrOutput() VirtualNodeSpecLoggingPtrOutput { + return i.ToVirtualNodeSpecLoggingPtrOutputWithContext(context.Background()) +} + +func (i VirtualNodeSpecLoggingArgs) ToVirtualNodeSpecLoggingPtrOutputWithContext(ctx context.Context) VirtualNodeSpecLoggingPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecLoggingOutput).ToVirtualNodeSpecLoggingPtrOutputWithContext(ctx) +} + +// VirtualNodeSpecLoggingPtrInput is an input type that accepts VirtualNodeSpecLoggingArgs, VirtualNodeSpecLoggingPtr and VirtualNodeSpecLoggingPtrOutput values. +// You can construct a concrete instance of `VirtualNodeSpecLoggingPtrInput` via: +// +// VirtualNodeSpecLoggingArgs{...} +// +// or: +// +// nil +type VirtualNodeSpecLoggingPtrInput interface { + pulumi.Input + + ToVirtualNodeSpecLoggingPtrOutput() VirtualNodeSpecLoggingPtrOutput + ToVirtualNodeSpecLoggingPtrOutputWithContext(context.Context) VirtualNodeSpecLoggingPtrOutput +} + +type virtualNodeSpecLoggingPtrType VirtualNodeSpecLoggingArgs + +func VirtualNodeSpecLoggingPtr(v *VirtualNodeSpecLoggingArgs) VirtualNodeSpecLoggingPtrInput { + return (*virtualNodeSpecLoggingPtrType)(v) +} + +func (*virtualNodeSpecLoggingPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**VirtualNodeSpecLogging)(nil)).Elem() +} + +func (i *virtualNodeSpecLoggingPtrType) ToVirtualNodeSpecLoggingPtrOutput() VirtualNodeSpecLoggingPtrOutput { + return i.ToVirtualNodeSpecLoggingPtrOutputWithContext(context.Background()) +} + +func (i *virtualNodeSpecLoggingPtrType) ToVirtualNodeSpecLoggingPtrOutputWithContext(ctx context.Context) VirtualNodeSpecLoggingPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecLoggingPtrOutput) +} + +type VirtualNodeSpecLoggingOutput struct{ *pulumi.OutputState } + +func (VirtualNodeSpecLoggingOutput) ElementType() reflect.Type { + return reflect.TypeOf((*VirtualNodeSpecLogging)(nil)).Elem() +} + +func (o VirtualNodeSpecLoggingOutput) ToVirtualNodeSpecLoggingOutput() VirtualNodeSpecLoggingOutput { + return o +} + +func (o VirtualNodeSpecLoggingOutput) ToVirtualNodeSpecLoggingOutputWithContext(ctx context.Context) VirtualNodeSpecLoggingOutput { + return o +} + +func (o VirtualNodeSpecLoggingOutput) ToVirtualNodeSpecLoggingPtrOutput() VirtualNodeSpecLoggingPtrOutput { + return o.ToVirtualNodeSpecLoggingPtrOutputWithContext(context.Background()) +} + +func (o VirtualNodeSpecLoggingOutput) ToVirtualNodeSpecLoggingPtrOutputWithContext(ctx context.Context) VirtualNodeSpecLoggingPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v VirtualNodeSpecLogging) *VirtualNodeSpecLogging { + return &v + }).(VirtualNodeSpecLoggingPtrOutput) +} + +// Access log configuration for a virtual node. +func (o VirtualNodeSpecLoggingOutput) AccessLog() VirtualNodeSpecLoggingAccessLogPtrOutput { + return o.ApplyT(func(v VirtualNodeSpecLogging) *VirtualNodeSpecLoggingAccessLog { return v.AccessLog }).(VirtualNodeSpecLoggingAccessLogPtrOutput) +} + +type VirtualNodeSpecLoggingPtrOutput struct{ *pulumi.OutputState } + +func (VirtualNodeSpecLoggingPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**VirtualNodeSpecLogging)(nil)).Elem() +} + +func (o VirtualNodeSpecLoggingPtrOutput) ToVirtualNodeSpecLoggingPtrOutput() VirtualNodeSpecLoggingPtrOutput { + return o +} + +func (o VirtualNodeSpecLoggingPtrOutput) ToVirtualNodeSpecLoggingPtrOutputWithContext(ctx context.Context) VirtualNodeSpecLoggingPtrOutput { + return o +} + +func (o VirtualNodeSpecLoggingPtrOutput) Elem() VirtualNodeSpecLoggingOutput { + return o.ApplyT(func(v *VirtualNodeSpecLogging) VirtualNodeSpecLogging { + if v != nil { + return *v + } + var ret VirtualNodeSpecLogging + return ret + }).(VirtualNodeSpecLoggingOutput) +} + +// Access log configuration for a virtual node. +func (o VirtualNodeSpecLoggingPtrOutput) AccessLog() VirtualNodeSpecLoggingAccessLogPtrOutput { + return o.ApplyT(func(v *VirtualNodeSpecLogging) *VirtualNodeSpecLoggingAccessLog { + if v == nil { + return nil + } + return v.AccessLog + }).(VirtualNodeSpecLoggingAccessLogPtrOutput) +} + +type VirtualNodeSpecLoggingAccessLog struct { + // File object to send virtual node access logs to. + File *VirtualNodeSpecLoggingAccessLogFile `pulumi:"file"` +} + +// VirtualNodeSpecLoggingAccessLogInput is an input type that accepts VirtualNodeSpecLoggingAccessLogArgs and VirtualNodeSpecLoggingAccessLogOutput values. +// You can construct a concrete instance of `VirtualNodeSpecLoggingAccessLogInput` via: +// +// VirtualNodeSpecLoggingAccessLogArgs{...} +type VirtualNodeSpecLoggingAccessLogInput interface { + pulumi.Input + + ToVirtualNodeSpecLoggingAccessLogOutput() VirtualNodeSpecLoggingAccessLogOutput + ToVirtualNodeSpecLoggingAccessLogOutputWithContext(context.Context) VirtualNodeSpecLoggingAccessLogOutput +} + +type VirtualNodeSpecLoggingAccessLogArgs struct { + // File object to send virtual node access logs to. + File VirtualNodeSpecLoggingAccessLogFilePtrInput `pulumi:"file"` +} + +func (VirtualNodeSpecLoggingAccessLogArgs) ElementType() reflect.Type { + return reflect.TypeOf((*VirtualNodeSpecLoggingAccessLog)(nil)).Elem() +} + +func (i VirtualNodeSpecLoggingAccessLogArgs) ToVirtualNodeSpecLoggingAccessLogOutput() VirtualNodeSpecLoggingAccessLogOutput { + return i.ToVirtualNodeSpecLoggingAccessLogOutputWithContext(context.Background()) +} + +func (i VirtualNodeSpecLoggingAccessLogArgs) ToVirtualNodeSpecLoggingAccessLogOutputWithContext(ctx context.Context) VirtualNodeSpecLoggingAccessLogOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecLoggingAccessLogOutput) +} + +func (i VirtualNodeSpecLoggingAccessLogArgs) ToVirtualNodeSpecLoggingAccessLogPtrOutput() VirtualNodeSpecLoggingAccessLogPtrOutput { + return i.ToVirtualNodeSpecLoggingAccessLogPtrOutputWithContext(context.Background()) +} + +func (i VirtualNodeSpecLoggingAccessLogArgs) ToVirtualNodeSpecLoggingAccessLogPtrOutputWithContext(ctx context.Context) VirtualNodeSpecLoggingAccessLogPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecLoggingAccessLogOutput).ToVirtualNodeSpecLoggingAccessLogPtrOutputWithContext(ctx) +} + +// VirtualNodeSpecLoggingAccessLogPtrInput is an input type that accepts VirtualNodeSpecLoggingAccessLogArgs, VirtualNodeSpecLoggingAccessLogPtr and VirtualNodeSpecLoggingAccessLogPtrOutput values. +// You can construct a concrete instance of `VirtualNodeSpecLoggingAccessLogPtrInput` via: +// +// VirtualNodeSpecLoggingAccessLogArgs{...} +// +// or: +// +// nil +type VirtualNodeSpecLoggingAccessLogPtrInput interface { + pulumi.Input + + ToVirtualNodeSpecLoggingAccessLogPtrOutput() VirtualNodeSpecLoggingAccessLogPtrOutput + ToVirtualNodeSpecLoggingAccessLogPtrOutputWithContext(context.Context) VirtualNodeSpecLoggingAccessLogPtrOutput +} + +type virtualNodeSpecLoggingAccessLogPtrType VirtualNodeSpecLoggingAccessLogArgs + +func VirtualNodeSpecLoggingAccessLogPtr(v *VirtualNodeSpecLoggingAccessLogArgs) VirtualNodeSpecLoggingAccessLogPtrInput { + return (*virtualNodeSpecLoggingAccessLogPtrType)(v) +} + +func (*virtualNodeSpecLoggingAccessLogPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**VirtualNodeSpecLoggingAccessLog)(nil)).Elem() +} + +func (i *virtualNodeSpecLoggingAccessLogPtrType) ToVirtualNodeSpecLoggingAccessLogPtrOutput() VirtualNodeSpecLoggingAccessLogPtrOutput { + return i.ToVirtualNodeSpecLoggingAccessLogPtrOutputWithContext(context.Background()) +} + +func (i *virtualNodeSpecLoggingAccessLogPtrType) ToVirtualNodeSpecLoggingAccessLogPtrOutputWithContext(ctx context.Context) VirtualNodeSpecLoggingAccessLogPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecLoggingAccessLogPtrOutput) +} + +type VirtualNodeSpecLoggingAccessLogOutput struct{ *pulumi.OutputState } + +func (VirtualNodeSpecLoggingAccessLogOutput) ElementType() reflect.Type { + return reflect.TypeOf((*VirtualNodeSpecLoggingAccessLog)(nil)).Elem() +} + +func (o VirtualNodeSpecLoggingAccessLogOutput) ToVirtualNodeSpecLoggingAccessLogOutput() VirtualNodeSpecLoggingAccessLogOutput { + return o +} + +func (o VirtualNodeSpecLoggingAccessLogOutput) ToVirtualNodeSpecLoggingAccessLogOutputWithContext(ctx context.Context) VirtualNodeSpecLoggingAccessLogOutput { + return o +} + +func (o VirtualNodeSpecLoggingAccessLogOutput) ToVirtualNodeSpecLoggingAccessLogPtrOutput() VirtualNodeSpecLoggingAccessLogPtrOutput { + return o.ToVirtualNodeSpecLoggingAccessLogPtrOutputWithContext(context.Background()) +} + +func (o VirtualNodeSpecLoggingAccessLogOutput) ToVirtualNodeSpecLoggingAccessLogPtrOutputWithContext(ctx context.Context) VirtualNodeSpecLoggingAccessLogPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v VirtualNodeSpecLoggingAccessLog) *VirtualNodeSpecLoggingAccessLog { + return &v + }).(VirtualNodeSpecLoggingAccessLogPtrOutput) +} + +// File object to send virtual node access logs to. +func (o VirtualNodeSpecLoggingAccessLogOutput) File() VirtualNodeSpecLoggingAccessLogFilePtrOutput { + return o.ApplyT(func(v VirtualNodeSpecLoggingAccessLog) *VirtualNodeSpecLoggingAccessLogFile { return v.File }).(VirtualNodeSpecLoggingAccessLogFilePtrOutput) +} + +type VirtualNodeSpecLoggingAccessLogPtrOutput struct{ *pulumi.OutputState } + +func (VirtualNodeSpecLoggingAccessLogPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**VirtualNodeSpecLoggingAccessLog)(nil)).Elem() +} + +func (o VirtualNodeSpecLoggingAccessLogPtrOutput) ToVirtualNodeSpecLoggingAccessLogPtrOutput() VirtualNodeSpecLoggingAccessLogPtrOutput { + return o +} + +func (o VirtualNodeSpecLoggingAccessLogPtrOutput) ToVirtualNodeSpecLoggingAccessLogPtrOutputWithContext(ctx context.Context) VirtualNodeSpecLoggingAccessLogPtrOutput { + return o +} + +func (o VirtualNodeSpecLoggingAccessLogPtrOutput) Elem() VirtualNodeSpecLoggingAccessLogOutput { + return o.ApplyT(func(v *VirtualNodeSpecLoggingAccessLog) VirtualNodeSpecLoggingAccessLog { + if v != nil { + return *v + } + var ret VirtualNodeSpecLoggingAccessLog + return ret + }).(VirtualNodeSpecLoggingAccessLogOutput) +} + +// File object to send virtual node access logs to. +func (o VirtualNodeSpecLoggingAccessLogPtrOutput) File() VirtualNodeSpecLoggingAccessLogFilePtrOutput { + return o.ApplyT(func(v *VirtualNodeSpecLoggingAccessLog) *VirtualNodeSpecLoggingAccessLogFile { + if v == nil { + return nil + } + return v.File + }).(VirtualNodeSpecLoggingAccessLogFilePtrOutput) +} + +type VirtualNodeSpecLoggingAccessLogFile struct { + // The specified format for the logs. + Format *VirtualNodeSpecLoggingAccessLogFileFormat `pulumi:"format"` + // File path to write access logs to. You can use `/dev/stdout` to send access logs to standard out. Must be between 1 and 255 characters in length. + Path string `pulumi:"path"` +} + +// VirtualNodeSpecLoggingAccessLogFileInput is an input type that accepts VirtualNodeSpecLoggingAccessLogFileArgs and VirtualNodeSpecLoggingAccessLogFileOutput values. +// You can construct a concrete instance of `VirtualNodeSpecLoggingAccessLogFileInput` via: +// +// VirtualNodeSpecLoggingAccessLogFileArgs{...} +type VirtualNodeSpecLoggingAccessLogFileInput interface { + pulumi.Input + + ToVirtualNodeSpecLoggingAccessLogFileOutput() VirtualNodeSpecLoggingAccessLogFileOutput + ToVirtualNodeSpecLoggingAccessLogFileOutputWithContext(context.Context) VirtualNodeSpecLoggingAccessLogFileOutput +} + +type VirtualNodeSpecLoggingAccessLogFileArgs struct { + // The specified format for the logs. + Format VirtualNodeSpecLoggingAccessLogFileFormatPtrInput `pulumi:"format"` + // File path to write access logs to. You can use `/dev/stdout` to send access logs to standard out. Must be between 1 and 255 characters in length. + Path pulumi.StringInput `pulumi:"path"` +} + +func (VirtualNodeSpecLoggingAccessLogFileArgs) ElementType() reflect.Type { + return reflect.TypeOf((*VirtualNodeSpecLoggingAccessLogFile)(nil)).Elem() +} + +func (i VirtualNodeSpecLoggingAccessLogFileArgs) ToVirtualNodeSpecLoggingAccessLogFileOutput() VirtualNodeSpecLoggingAccessLogFileOutput { + return i.ToVirtualNodeSpecLoggingAccessLogFileOutputWithContext(context.Background()) +} + +func (i VirtualNodeSpecLoggingAccessLogFileArgs) ToVirtualNodeSpecLoggingAccessLogFileOutputWithContext(ctx context.Context) VirtualNodeSpecLoggingAccessLogFileOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecLoggingAccessLogFileOutput) +} + +func (i VirtualNodeSpecLoggingAccessLogFileArgs) ToVirtualNodeSpecLoggingAccessLogFilePtrOutput() VirtualNodeSpecLoggingAccessLogFilePtrOutput { + return i.ToVirtualNodeSpecLoggingAccessLogFilePtrOutputWithContext(context.Background()) +} + +func (i VirtualNodeSpecLoggingAccessLogFileArgs) ToVirtualNodeSpecLoggingAccessLogFilePtrOutputWithContext(ctx context.Context) VirtualNodeSpecLoggingAccessLogFilePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecLoggingAccessLogFileOutput).ToVirtualNodeSpecLoggingAccessLogFilePtrOutputWithContext(ctx) +} + +// VirtualNodeSpecLoggingAccessLogFilePtrInput is an input type that accepts VirtualNodeSpecLoggingAccessLogFileArgs, VirtualNodeSpecLoggingAccessLogFilePtr and VirtualNodeSpecLoggingAccessLogFilePtrOutput values. +// You can construct a concrete instance of `VirtualNodeSpecLoggingAccessLogFilePtrInput` via: +// +// VirtualNodeSpecLoggingAccessLogFileArgs{...} +// +// or: +// +// nil +type VirtualNodeSpecLoggingAccessLogFilePtrInput interface { + pulumi.Input + + ToVirtualNodeSpecLoggingAccessLogFilePtrOutput() VirtualNodeSpecLoggingAccessLogFilePtrOutput + ToVirtualNodeSpecLoggingAccessLogFilePtrOutputWithContext(context.Context) VirtualNodeSpecLoggingAccessLogFilePtrOutput +} + +type virtualNodeSpecLoggingAccessLogFilePtrType VirtualNodeSpecLoggingAccessLogFileArgs + +func VirtualNodeSpecLoggingAccessLogFilePtr(v *VirtualNodeSpecLoggingAccessLogFileArgs) VirtualNodeSpecLoggingAccessLogFilePtrInput { + return (*virtualNodeSpecLoggingAccessLogFilePtrType)(v) +} + +func (*virtualNodeSpecLoggingAccessLogFilePtrType) ElementType() reflect.Type { + return reflect.TypeOf((**VirtualNodeSpecLoggingAccessLogFile)(nil)).Elem() +} + +func (i *virtualNodeSpecLoggingAccessLogFilePtrType) ToVirtualNodeSpecLoggingAccessLogFilePtrOutput() VirtualNodeSpecLoggingAccessLogFilePtrOutput { + return i.ToVirtualNodeSpecLoggingAccessLogFilePtrOutputWithContext(context.Background()) +} + +func (i *virtualNodeSpecLoggingAccessLogFilePtrType) ToVirtualNodeSpecLoggingAccessLogFilePtrOutputWithContext(ctx context.Context) VirtualNodeSpecLoggingAccessLogFilePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecLoggingAccessLogFilePtrOutput) +} + +type VirtualNodeSpecLoggingAccessLogFileOutput struct{ *pulumi.OutputState } + +func (VirtualNodeSpecLoggingAccessLogFileOutput) ElementType() reflect.Type { + return reflect.TypeOf((*VirtualNodeSpecLoggingAccessLogFile)(nil)).Elem() +} + +func (o VirtualNodeSpecLoggingAccessLogFileOutput) ToVirtualNodeSpecLoggingAccessLogFileOutput() VirtualNodeSpecLoggingAccessLogFileOutput { + return o +} + +func (o VirtualNodeSpecLoggingAccessLogFileOutput) ToVirtualNodeSpecLoggingAccessLogFileOutputWithContext(ctx context.Context) VirtualNodeSpecLoggingAccessLogFileOutput { + return o +} + +func (o VirtualNodeSpecLoggingAccessLogFileOutput) ToVirtualNodeSpecLoggingAccessLogFilePtrOutput() VirtualNodeSpecLoggingAccessLogFilePtrOutput { + return o.ToVirtualNodeSpecLoggingAccessLogFilePtrOutputWithContext(context.Background()) +} + +func (o VirtualNodeSpecLoggingAccessLogFileOutput) ToVirtualNodeSpecLoggingAccessLogFilePtrOutputWithContext(ctx context.Context) VirtualNodeSpecLoggingAccessLogFilePtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v VirtualNodeSpecLoggingAccessLogFile) *VirtualNodeSpecLoggingAccessLogFile { + return &v + }).(VirtualNodeSpecLoggingAccessLogFilePtrOutput) +} + +// The specified format for the logs. +func (o VirtualNodeSpecLoggingAccessLogFileOutput) Format() VirtualNodeSpecLoggingAccessLogFileFormatPtrOutput { + return o.ApplyT(func(v VirtualNodeSpecLoggingAccessLogFile) *VirtualNodeSpecLoggingAccessLogFileFormat { + return v.Format + }).(VirtualNodeSpecLoggingAccessLogFileFormatPtrOutput) +} + +// File path to write access logs to. You can use `/dev/stdout` to send access logs to standard out. Must be between 1 and 255 characters in length. +func (o VirtualNodeSpecLoggingAccessLogFileOutput) Path() pulumi.StringOutput { + return o.ApplyT(func(v VirtualNodeSpecLoggingAccessLogFile) string { return v.Path }).(pulumi.StringOutput) +} + +type VirtualNodeSpecLoggingAccessLogFilePtrOutput struct{ *pulumi.OutputState } + +func (VirtualNodeSpecLoggingAccessLogFilePtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**VirtualNodeSpecLoggingAccessLogFile)(nil)).Elem() +} + +func (o VirtualNodeSpecLoggingAccessLogFilePtrOutput) ToVirtualNodeSpecLoggingAccessLogFilePtrOutput() VirtualNodeSpecLoggingAccessLogFilePtrOutput { + return o +} + +func (o VirtualNodeSpecLoggingAccessLogFilePtrOutput) ToVirtualNodeSpecLoggingAccessLogFilePtrOutputWithContext(ctx context.Context) VirtualNodeSpecLoggingAccessLogFilePtrOutput { + return o +} + +func (o VirtualNodeSpecLoggingAccessLogFilePtrOutput) Elem() VirtualNodeSpecLoggingAccessLogFileOutput { + return o.ApplyT(func(v *VirtualNodeSpecLoggingAccessLogFile) VirtualNodeSpecLoggingAccessLogFile { + if v != nil { + return *v + } + var ret VirtualNodeSpecLoggingAccessLogFile + return ret + }).(VirtualNodeSpecLoggingAccessLogFileOutput) +} + +// The specified format for the logs. +func (o VirtualNodeSpecLoggingAccessLogFilePtrOutput) Format() VirtualNodeSpecLoggingAccessLogFileFormatPtrOutput { + return o.ApplyT(func(v *VirtualNodeSpecLoggingAccessLogFile) *VirtualNodeSpecLoggingAccessLogFileFormat { + if v == nil { + return nil + } + return v.Format + }).(VirtualNodeSpecLoggingAccessLogFileFormatPtrOutput) +} + +// File path to write access logs to. You can use `/dev/stdout` to send access logs to standard out. Must be between 1 and 255 characters in length. +func (o VirtualNodeSpecLoggingAccessLogFilePtrOutput) Path() pulumi.StringPtrOutput { + return o.ApplyT(func(v *VirtualNodeSpecLoggingAccessLogFile) *string { + if v == nil { + return nil + } + return &v.Path + }).(pulumi.StringPtrOutput) +} + +type VirtualNodeSpecLoggingAccessLogFileFormat struct { + // The logging format for JSON. + Jsons []VirtualNodeSpecLoggingAccessLogFileFormatJson `pulumi:"jsons"` + // The logging format for text. Must be between 1 and 1000 characters in length. + Text *string `pulumi:"text"` +} + +// VirtualNodeSpecLoggingAccessLogFileFormatInput is an input type that accepts VirtualNodeSpecLoggingAccessLogFileFormatArgs and VirtualNodeSpecLoggingAccessLogFileFormatOutput values. +// You can construct a concrete instance of `VirtualNodeSpecLoggingAccessLogFileFormatInput` via: +// +// VirtualNodeSpecLoggingAccessLogFileFormatArgs{...} +type VirtualNodeSpecLoggingAccessLogFileFormatInput interface { + pulumi.Input + + ToVirtualNodeSpecLoggingAccessLogFileFormatOutput() VirtualNodeSpecLoggingAccessLogFileFormatOutput + ToVirtualNodeSpecLoggingAccessLogFileFormatOutputWithContext(context.Context) VirtualNodeSpecLoggingAccessLogFileFormatOutput +} + +type VirtualNodeSpecLoggingAccessLogFileFormatArgs struct { + // The logging format for JSON. + Jsons VirtualNodeSpecLoggingAccessLogFileFormatJsonArrayInput `pulumi:"jsons"` + // The logging format for text. Must be between 1 and 1000 characters in length. + Text pulumi.StringPtrInput `pulumi:"text"` +} + +func (VirtualNodeSpecLoggingAccessLogFileFormatArgs) ElementType() reflect.Type { + return reflect.TypeOf((*VirtualNodeSpecLoggingAccessLogFileFormat)(nil)).Elem() +} + +func (i VirtualNodeSpecLoggingAccessLogFileFormatArgs) ToVirtualNodeSpecLoggingAccessLogFileFormatOutput() VirtualNodeSpecLoggingAccessLogFileFormatOutput { + return i.ToVirtualNodeSpecLoggingAccessLogFileFormatOutputWithContext(context.Background()) +} + +func (i VirtualNodeSpecLoggingAccessLogFileFormatArgs) ToVirtualNodeSpecLoggingAccessLogFileFormatOutputWithContext(ctx context.Context) VirtualNodeSpecLoggingAccessLogFileFormatOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecLoggingAccessLogFileFormatOutput) +} + +func (i VirtualNodeSpecLoggingAccessLogFileFormatArgs) ToVirtualNodeSpecLoggingAccessLogFileFormatPtrOutput() VirtualNodeSpecLoggingAccessLogFileFormatPtrOutput { + return i.ToVirtualNodeSpecLoggingAccessLogFileFormatPtrOutputWithContext(context.Background()) +} + +func (i VirtualNodeSpecLoggingAccessLogFileFormatArgs) ToVirtualNodeSpecLoggingAccessLogFileFormatPtrOutputWithContext(ctx context.Context) VirtualNodeSpecLoggingAccessLogFileFormatPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecLoggingAccessLogFileFormatOutput).ToVirtualNodeSpecLoggingAccessLogFileFormatPtrOutputWithContext(ctx) +} + +// VirtualNodeSpecLoggingAccessLogFileFormatPtrInput is an input type that accepts VirtualNodeSpecLoggingAccessLogFileFormatArgs, VirtualNodeSpecLoggingAccessLogFileFormatPtr and VirtualNodeSpecLoggingAccessLogFileFormatPtrOutput values. +// You can construct a concrete instance of `VirtualNodeSpecLoggingAccessLogFileFormatPtrInput` via: +// +// VirtualNodeSpecLoggingAccessLogFileFormatArgs{...} +// +// or: +// +// nil +type VirtualNodeSpecLoggingAccessLogFileFormatPtrInput interface { + pulumi.Input + + ToVirtualNodeSpecLoggingAccessLogFileFormatPtrOutput() VirtualNodeSpecLoggingAccessLogFileFormatPtrOutput + ToVirtualNodeSpecLoggingAccessLogFileFormatPtrOutputWithContext(context.Context) VirtualNodeSpecLoggingAccessLogFileFormatPtrOutput +} + +type virtualNodeSpecLoggingAccessLogFileFormatPtrType VirtualNodeSpecLoggingAccessLogFileFormatArgs + +func VirtualNodeSpecLoggingAccessLogFileFormatPtr(v *VirtualNodeSpecLoggingAccessLogFileFormatArgs) VirtualNodeSpecLoggingAccessLogFileFormatPtrInput { + return (*virtualNodeSpecLoggingAccessLogFileFormatPtrType)(v) +} + +func (*virtualNodeSpecLoggingAccessLogFileFormatPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**VirtualNodeSpecLoggingAccessLogFileFormat)(nil)).Elem() +} + +func (i *virtualNodeSpecLoggingAccessLogFileFormatPtrType) ToVirtualNodeSpecLoggingAccessLogFileFormatPtrOutput() VirtualNodeSpecLoggingAccessLogFileFormatPtrOutput { + return i.ToVirtualNodeSpecLoggingAccessLogFileFormatPtrOutputWithContext(context.Background()) +} + +func (i *virtualNodeSpecLoggingAccessLogFileFormatPtrType) ToVirtualNodeSpecLoggingAccessLogFileFormatPtrOutputWithContext(ctx context.Context) VirtualNodeSpecLoggingAccessLogFileFormatPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecLoggingAccessLogFileFormatPtrOutput) +} + +type VirtualNodeSpecLoggingAccessLogFileFormatOutput struct{ *pulumi.OutputState } + +func (VirtualNodeSpecLoggingAccessLogFileFormatOutput) ElementType() reflect.Type { + return reflect.TypeOf((*VirtualNodeSpecLoggingAccessLogFileFormat)(nil)).Elem() +} + +func (o VirtualNodeSpecLoggingAccessLogFileFormatOutput) ToVirtualNodeSpecLoggingAccessLogFileFormatOutput() VirtualNodeSpecLoggingAccessLogFileFormatOutput { + return o +} + +func (o VirtualNodeSpecLoggingAccessLogFileFormatOutput) ToVirtualNodeSpecLoggingAccessLogFileFormatOutputWithContext(ctx context.Context) VirtualNodeSpecLoggingAccessLogFileFormatOutput { + return o +} + +func (o VirtualNodeSpecLoggingAccessLogFileFormatOutput) ToVirtualNodeSpecLoggingAccessLogFileFormatPtrOutput() VirtualNodeSpecLoggingAccessLogFileFormatPtrOutput { + return o.ToVirtualNodeSpecLoggingAccessLogFileFormatPtrOutputWithContext(context.Background()) +} + +func (o VirtualNodeSpecLoggingAccessLogFileFormatOutput) ToVirtualNodeSpecLoggingAccessLogFileFormatPtrOutputWithContext(ctx context.Context) VirtualNodeSpecLoggingAccessLogFileFormatPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v VirtualNodeSpecLoggingAccessLogFileFormat) *VirtualNodeSpecLoggingAccessLogFileFormat { + return &v + }).(VirtualNodeSpecLoggingAccessLogFileFormatPtrOutput) +} + +// The logging format for JSON. +func (o VirtualNodeSpecLoggingAccessLogFileFormatOutput) Jsons() VirtualNodeSpecLoggingAccessLogFileFormatJsonArrayOutput { + return o.ApplyT(func(v VirtualNodeSpecLoggingAccessLogFileFormat) []VirtualNodeSpecLoggingAccessLogFileFormatJson { + return v.Jsons + }).(VirtualNodeSpecLoggingAccessLogFileFormatJsonArrayOutput) +} + +// The logging format for text. Must be between 1 and 1000 characters in length. +func (o VirtualNodeSpecLoggingAccessLogFileFormatOutput) Text() pulumi.StringPtrOutput { + return o.ApplyT(func(v VirtualNodeSpecLoggingAccessLogFileFormat) *string { return v.Text }).(pulumi.StringPtrOutput) +} + +type VirtualNodeSpecLoggingAccessLogFileFormatPtrOutput struct{ *pulumi.OutputState } + +func (VirtualNodeSpecLoggingAccessLogFileFormatPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**VirtualNodeSpecLoggingAccessLogFileFormat)(nil)).Elem() +} + +func (o VirtualNodeSpecLoggingAccessLogFileFormatPtrOutput) ToVirtualNodeSpecLoggingAccessLogFileFormatPtrOutput() VirtualNodeSpecLoggingAccessLogFileFormatPtrOutput { + return o +} + +func (o VirtualNodeSpecLoggingAccessLogFileFormatPtrOutput) ToVirtualNodeSpecLoggingAccessLogFileFormatPtrOutputWithContext(ctx context.Context) VirtualNodeSpecLoggingAccessLogFileFormatPtrOutput { + return o +} + +func (o VirtualNodeSpecLoggingAccessLogFileFormatPtrOutput) Elem() VirtualNodeSpecLoggingAccessLogFileFormatOutput { + return o.ApplyT(func(v *VirtualNodeSpecLoggingAccessLogFileFormat) VirtualNodeSpecLoggingAccessLogFileFormat { + if v != nil { + return *v + } + var ret VirtualNodeSpecLoggingAccessLogFileFormat + return ret + }).(VirtualNodeSpecLoggingAccessLogFileFormatOutput) +} + +// The logging format for JSON. +func (o VirtualNodeSpecLoggingAccessLogFileFormatPtrOutput) Jsons() VirtualNodeSpecLoggingAccessLogFileFormatJsonArrayOutput { + return o.ApplyT(func(v *VirtualNodeSpecLoggingAccessLogFileFormat) []VirtualNodeSpecLoggingAccessLogFileFormatJson { + if v == nil { + return nil + } + return v.Jsons + }).(VirtualNodeSpecLoggingAccessLogFileFormatJsonArrayOutput) +} + +// The logging format for text. Must be between 1 and 1000 characters in length. +func (o VirtualNodeSpecLoggingAccessLogFileFormatPtrOutput) Text() pulumi.StringPtrOutput { + return o.ApplyT(func(v *VirtualNodeSpecLoggingAccessLogFileFormat) *string { + if v == nil { + return nil + } + return v.Text + }).(pulumi.StringPtrOutput) +} + +type VirtualNodeSpecLoggingAccessLogFileFormatJson struct { + // The specified key for the JSON. Must be between 1 and 100 characters in length. + Key string `pulumi:"key"` + // The specified value for the JSON. Must be between 1 and 100 characters in length. + Value string `pulumi:"value"` +} + +// VirtualNodeSpecLoggingAccessLogFileFormatJsonInput is an input type that accepts VirtualNodeSpecLoggingAccessLogFileFormatJsonArgs and VirtualNodeSpecLoggingAccessLogFileFormatJsonOutput values. +// You can construct a concrete instance of `VirtualNodeSpecLoggingAccessLogFileFormatJsonInput` via: +// +// VirtualNodeSpecLoggingAccessLogFileFormatJsonArgs{...} +type VirtualNodeSpecLoggingAccessLogFileFormatJsonInput interface { + pulumi.Input + + ToVirtualNodeSpecLoggingAccessLogFileFormatJsonOutput() VirtualNodeSpecLoggingAccessLogFileFormatJsonOutput + ToVirtualNodeSpecLoggingAccessLogFileFormatJsonOutputWithContext(context.Context) VirtualNodeSpecLoggingAccessLogFileFormatJsonOutput +} + +type VirtualNodeSpecLoggingAccessLogFileFormatJsonArgs struct { + // The specified key for the JSON. Must be between 1 and 100 characters in length. + Key pulumi.StringInput `pulumi:"key"` + // The specified value for the JSON. Must be between 1 and 100 characters in length. + Value pulumi.StringInput `pulumi:"value"` +} + +func (VirtualNodeSpecLoggingAccessLogFileFormatJsonArgs) ElementType() reflect.Type { + return reflect.TypeOf((*VirtualNodeSpecLoggingAccessLogFileFormatJson)(nil)).Elem() +} + +func (i VirtualNodeSpecLoggingAccessLogFileFormatJsonArgs) ToVirtualNodeSpecLoggingAccessLogFileFormatJsonOutput() VirtualNodeSpecLoggingAccessLogFileFormatJsonOutput { + return i.ToVirtualNodeSpecLoggingAccessLogFileFormatJsonOutputWithContext(context.Background()) +} + +func (i VirtualNodeSpecLoggingAccessLogFileFormatJsonArgs) ToVirtualNodeSpecLoggingAccessLogFileFormatJsonOutputWithContext(ctx context.Context) VirtualNodeSpecLoggingAccessLogFileFormatJsonOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecLoggingAccessLogFileFormatJsonOutput) +} + +// VirtualNodeSpecLoggingAccessLogFileFormatJsonArrayInput is an input type that accepts VirtualNodeSpecLoggingAccessLogFileFormatJsonArray and VirtualNodeSpecLoggingAccessLogFileFormatJsonArrayOutput values. +// You can construct a concrete instance of `VirtualNodeSpecLoggingAccessLogFileFormatJsonArrayInput` via: +// +// VirtualNodeSpecLoggingAccessLogFileFormatJsonArray{ VirtualNodeSpecLoggingAccessLogFileFormatJsonArgs{...} } +type VirtualNodeSpecLoggingAccessLogFileFormatJsonArrayInput interface { + pulumi.Input + + ToVirtualNodeSpecLoggingAccessLogFileFormatJsonArrayOutput() VirtualNodeSpecLoggingAccessLogFileFormatJsonArrayOutput + ToVirtualNodeSpecLoggingAccessLogFileFormatJsonArrayOutputWithContext(context.Context) VirtualNodeSpecLoggingAccessLogFileFormatJsonArrayOutput +} + +type VirtualNodeSpecLoggingAccessLogFileFormatJsonArray []VirtualNodeSpecLoggingAccessLogFileFormatJsonInput + +func (VirtualNodeSpecLoggingAccessLogFileFormatJsonArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]VirtualNodeSpecLoggingAccessLogFileFormatJson)(nil)).Elem() +} + +func (i VirtualNodeSpecLoggingAccessLogFileFormatJsonArray) ToVirtualNodeSpecLoggingAccessLogFileFormatJsonArrayOutput() VirtualNodeSpecLoggingAccessLogFileFormatJsonArrayOutput { + return i.ToVirtualNodeSpecLoggingAccessLogFileFormatJsonArrayOutputWithContext(context.Background()) +} + +func (i VirtualNodeSpecLoggingAccessLogFileFormatJsonArray) ToVirtualNodeSpecLoggingAccessLogFileFormatJsonArrayOutputWithContext(ctx context.Context) VirtualNodeSpecLoggingAccessLogFileFormatJsonArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecLoggingAccessLogFileFormatJsonArrayOutput) +} + +type VirtualNodeSpecLoggingAccessLogFileFormatJsonOutput struct{ *pulumi.OutputState } + +func (VirtualNodeSpecLoggingAccessLogFileFormatJsonOutput) ElementType() reflect.Type { + return reflect.TypeOf((*VirtualNodeSpecLoggingAccessLogFileFormatJson)(nil)).Elem() +} + +func (o VirtualNodeSpecLoggingAccessLogFileFormatJsonOutput) ToVirtualNodeSpecLoggingAccessLogFileFormatJsonOutput() VirtualNodeSpecLoggingAccessLogFileFormatJsonOutput { + return o +} + +func (o VirtualNodeSpecLoggingAccessLogFileFormatJsonOutput) ToVirtualNodeSpecLoggingAccessLogFileFormatJsonOutputWithContext(ctx context.Context) VirtualNodeSpecLoggingAccessLogFileFormatJsonOutput { + return o +} + +// The specified key for the JSON. Must be between 1 and 100 characters in length. +func (o VirtualNodeSpecLoggingAccessLogFileFormatJsonOutput) Key() pulumi.StringOutput { + return o.ApplyT(func(v VirtualNodeSpecLoggingAccessLogFileFormatJson) string { return v.Key }).(pulumi.StringOutput) +} + +// The specified value for the JSON. Must be between 1 and 100 characters in length. +func (o VirtualNodeSpecLoggingAccessLogFileFormatJsonOutput) Value() pulumi.StringOutput { + return o.ApplyT(func(v VirtualNodeSpecLoggingAccessLogFileFormatJson) string { return v.Value }).(pulumi.StringOutput) +} + +type VirtualNodeSpecLoggingAccessLogFileFormatJsonArrayOutput struct{ *pulumi.OutputState } + +func (VirtualNodeSpecLoggingAccessLogFileFormatJsonArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]VirtualNodeSpecLoggingAccessLogFileFormatJson)(nil)).Elem() +} + +func (o VirtualNodeSpecLoggingAccessLogFileFormatJsonArrayOutput) ToVirtualNodeSpecLoggingAccessLogFileFormatJsonArrayOutput() VirtualNodeSpecLoggingAccessLogFileFormatJsonArrayOutput { + return o +} + +func (o VirtualNodeSpecLoggingAccessLogFileFormatJsonArrayOutput) ToVirtualNodeSpecLoggingAccessLogFileFormatJsonArrayOutputWithContext(ctx context.Context) VirtualNodeSpecLoggingAccessLogFileFormatJsonArrayOutput { + return o +} + +func (o VirtualNodeSpecLoggingAccessLogFileFormatJsonArrayOutput) Index(i pulumi.IntInput) VirtualNodeSpecLoggingAccessLogFileFormatJsonOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) VirtualNodeSpecLoggingAccessLogFileFormatJson { + return vs[0].([]VirtualNodeSpecLoggingAccessLogFileFormatJson)[vs[1].(int)] + }).(VirtualNodeSpecLoggingAccessLogFileFormatJsonOutput) +} + +type VirtualNodeSpecServiceDiscovery struct { + // Any AWS Cloud Map information for the virtual node. + AwsCloudMap *VirtualNodeSpecServiceDiscoveryAwsCloudMap `pulumi:"awsCloudMap"` + // DNS service name for the virtual node. + Dns *VirtualNodeSpecServiceDiscoveryDns `pulumi:"dns"` +} + +// VirtualNodeSpecServiceDiscoveryInput is an input type that accepts VirtualNodeSpecServiceDiscoveryArgs and VirtualNodeSpecServiceDiscoveryOutput values. +// You can construct a concrete instance of `VirtualNodeSpecServiceDiscoveryInput` via: +// +// VirtualNodeSpecServiceDiscoveryArgs{...} +type VirtualNodeSpecServiceDiscoveryInput interface { + pulumi.Input + + ToVirtualNodeSpecServiceDiscoveryOutput() VirtualNodeSpecServiceDiscoveryOutput + ToVirtualNodeSpecServiceDiscoveryOutputWithContext(context.Context) VirtualNodeSpecServiceDiscoveryOutput +} + +type VirtualNodeSpecServiceDiscoveryArgs struct { + // Any AWS Cloud Map information for the virtual node. + AwsCloudMap VirtualNodeSpecServiceDiscoveryAwsCloudMapPtrInput `pulumi:"awsCloudMap"` + // DNS service name for the virtual node. + Dns VirtualNodeSpecServiceDiscoveryDnsPtrInput `pulumi:"dns"` +} + +func (VirtualNodeSpecServiceDiscoveryArgs) ElementType() reflect.Type { + return reflect.TypeOf((*VirtualNodeSpecServiceDiscovery)(nil)).Elem() +} + +func (i VirtualNodeSpecServiceDiscoveryArgs) ToVirtualNodeSpecServiceDiscoveryOutput() VirtualNodeSpecServiceDiscoveryOutput { + return i.ToVirtualNodeSpecServiceDiscoveryOutputWithContext(context.Background()) +} + +func (i VirtualNodeSpecServiceDiscoveryArgs) ToVirtualNodeSpecServiceDiscoveryOutputWithContext(ctx context.Context) VirtualNodeSpecServiceDiscoveryOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecServiceDiscoveryOutput) +} + +func (i VirtualNodeSpecServiceDiscoveryArgs) ToVirtualNodeSpecServiceDiscoveryPtrOutput() VirtualNodeSpecServiceDiscoveryPtrOutput { + return i.ToVirtualNodeSpecServiceDiscoveryPtrOutputWithContext(context.Background()) +} + +func (i VirtualNodeSpecServiceDiscoveryArgs) ToVirtualNodeSpecServiceDiscoveryPtrOutputWithContext(ctx context.Context) VirtualNodeSpecServiceDiscoveryPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecServiceDiscoveryOutput).ToVirtualNodeSpecServiceDiscoveryPtrOutputWithContext(ctx) +} + +// VirtualNodeSpecServiceDiscoveryPtrInput is an input type that accepts VirtualNodeSpecServiceDiscoveryArgs, VirtualNodeSpecServiceDiscoveryPtr and VirtualNodeSpecServiceDiscoveryPtrOutput values. +// You can construct a concrete instance of `VirtualNodeSpecServiceDiscoveryPtrInput` via: +// +// VirtualNodeSpecServiceDiscoveryArgs{...} +// +// or: +// +// nil +type VirtualNodeSpecServiceDiscoveryPtrInput interface { + pulumi.Input + + ToVirtualNodeSpecServiceDiscoveryPtrOutput() VirtualNodeSpecServiceDiscoveryPtrOutput + ToVirtualNodeSpecServiceDiscoveryPtrOutputWithContext(context.Context) VirtualNodeSpecServiceDiscoveryPtrOutput +} + +type virtualNodeSpecServiceDiscoveryPtrType VirtualNodeSpecServiceDiscoveryArgs + +func VirtualNodeSpecServiceDiscoveryPtr(v *VirtualNodeSpecServiceDiscoveryArgs) VirtualNodeSpecServiceDiscoveryPtrInput { + return (*virtualNodeSpecServiceDiscoveryPtrType)(v) +} + +func (*virtualNodeSpecServiceDiscoveryPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**VirtualNodeSpecServiceDiscovery)(nil)).Elem() +} + +func (i *virtualNodeSpecServiceDiscoveryPtrType) ToVirtualNodeSpecServiceDiscoveryPtrOutput() VirtualNodeSpecServiceDiscoveryPtrOutput { + return i.ToVirtualNodeSpecServiceDiscoveryPtrOutputWithContext(context.Background()) +} + +func (i *virtualNodeSpecServiceDiscoveryPtrType) ToVirtualNodeSpecServiceDiscoveryPtrOutputWithContext(ctx context.Context) VirtualNodeSpecServiceDiscoveryPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecServiceDiscoveryPtrOutput) +} + +type VirtualNodeSpecServiceDiscoveryOutput struct{ *pulumi.OutputState } + +func (VirtualNodeSpecServiceDiscoveryOutput) ElementType() reflect.Type { + return reflect.TypeOf((*VirtualNodeSpecServiceDiscovery)(nil)).Elem() +} + +func (o VirtualNodeSpecServiceDiscoveryOutput) ToVirtualNodeSpecServiceDiscoveryOutput() VirtualNodeSpecServiceDiscoveryOutput { + return o +} + +func (o VirtualNodeSpecServiceDiscoveryOutput) ToVirtualNodeSpecServiceDiscoveryOutputWithContext(ctx context.Context) VirtualNodeSpecServiceDiscoveryOutput { + return o +} + +func (o VirtualNodeSpecServiceDiscoveryOutput) ToVirtualNodeSpecServiceDiscoveryPtrOutput() VirtualNodeSpecServiceDiscoveryPtrOutput { + return o.ToVirtualNodeSpecServiceDiscoveryPtrOutputWithContext(context.Background()) +} + +func (o VirtualNodeSpecServiceDiscoveryOutput) ToVirtualNodeSpecServiceDiscoveryPtrOutputWithContext(ctx context.Context) VirtualNodeSpecServiceDiscoveryPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v VirtualNodeSpecServiceDiscovery) *VirtualNodeSpecServiceDiscovery { + return &v + }).(VirtualNodeSpecServiceDiscoveryPtrOutput) +} + +// Any AWS Cloud Map information for the virtual node. +func (o VirtualNodeSpecServiceDiscoveryOutput) AwsCloudMap() VirtualNodeSpecServiceDiscoveryAwsCloudMapPtrOutput { + return o.ApplyT(func(v VirtualNodeSpecServiceDiscovery) *VirtualNodeSpecServiceDiscoveryAwsCloudMap { + return v.AwsCloudMap + }).(VirtualNodeSpecServiceDiscoveryAwsCloudMapPtrOutput) +} + +// DNS service name for the virtual node. +func (o VirtualNodeSpecServiceDiscoveryOutput) Dns() VirtualNodeSpecServiceDiscoveryDnsPtrOutput { + return o.ApplyT(func(v VirtualNodeSpecServiceDiscovery) *VirtualNodeSpecServiceDiscoveryDns { return v.Dns }).(VirtualNodeSpecServiceDiscoveryDnsPtrOutput) +} + +type VirtualNodeSpecServiceDiscoveryPtrOutput struct{ *pulumi.OutputState } + +func (VirtualNodeSpecServiceDiscoveryPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**VirtualNodeSpecServiceDiscovery)(nil)).Elem() +} + +func (o VirtualNodeSpecServiceDiscoveryPtrOutput) ToVirtualNodeSpecServiceDiscoveryPtrOutput() VirtualNodeSpecServiceDiscoveryPtrOutput { + return o +} + +func (o VirtualNodeSpecServiceDiscoveryPtrOutput) ToVirtualNodeSpecServiceDiscoveryPtrOutputWithContext(ctx context.Context) VirtualNodeSpecServiceDiscoveryPtrOutput { + return o +} + +func (o VirtualNodeSpecServiceDiscoveryPtrOutput) Elem() VirtualNodeSpecServiceDiscoveryOutput { + return o.ApplyT(func(v *VirtualNodeSpecServiceDiscovery) VirtualNodeSpecServiceDiscovery { + if v != nil { + return *v + } + var ret VirtualNodeSpecServiceDiscovery + return ret + }).(VirtualNodeSpecServiceDiscoveryOutput) +} + +// Any AWS Cloud Map information for the virtual node. +func (o VirtualNodeSpecServiceDiscoveryPtrOutput) AwsCloudMap() VirtualNodeSpecServiceDiscoveryAwsCloudMapPtrOutput { + return o.ApplyT(func(v *VirtualNodeSpecServiceDiscovery) *VirtualNodeSpecServiceDiscoveryAwsCloudMap { + if v == nil { + return nil + } + return v.AwsCloudMap + }).(VirtualNodeSpecServiceDiscoveryAwsCloudMapPtrOutput) +} + +// DNS service name for the virtual node. +func (o VirtualNodeSpecServiceDiscoveryPtrOutput) Dns() VirtualNodeSpecServiceDiscoveryDnsPtrOutput { + return o.ApplyT(func(v *VirtualNodeSpecServiceDiscovery) *VirtualNodeSpecServiceDiscoveryDns { + if v == nil { + return nil + } + return v.Dns + }).(VirtualNodeSpecServiceDiscoveryDnsPtrOutput) +} + +type VirtualNodeSpecServiceDiscoveryAwsCloudMap struct { + // String map that contains attributes with values that you can use to filter instances by any custom attribute that you specified when you registered the instance. Only instances that match all of the specified key/value pairs will be returned. + Attributes map[string]string `pulumi:"attributes"` + // Name of the AWS Cloud Map namespace to use. + // Use the `servicediscovery.HttpNamespace` resource to configure a Cloud Map namespace. Must be between 1 and 1024 characters in length. + NamespaceName string `pulumi:"namespaceName"` + // Name of the AWS Cloud Map service to use. Use the `servicediscovery.Service` resource to configure a Cloud Map service. Must be between 1 and 1024 characters in length. + ServiceName string `pulumi:"serviceName"` +} + +// VirtualNodeSpecServiceDiscoveryAwsCloudMapInput is an input type that accepts VirtualNodeSpecServiceDiscoveryAwsCloudMap and VirtualNodeSpecServiceDiscoveryAwsCloudMapOutput values. +// You can construct a concrete instance of `VirtualNodeSpecServiceDiscoveryAwsCloudMapInput` via: +// +// VirtualNodeSpecServiceDiscoveryAwsCloudMap{ "key": VirtualNodeSpecServiceDiscoveryAwsCloudArgs{...} } +type VirtualNodeSpecServiceDiscoveryAwsCloudMapInput interface { + pulumi.Input + + ToVirtualNodeSpecServiceDiscoveryAwsCloudMapOutput() VirtualNodeSpecServiceDiscoveryAwsCloudMapOutput + ToVirtualNodeSpecServiceDiscoveryAwsCloudMapOutputWithContext(context.Context) VirtualNodeSpecServiceDiscoveryAwsCloudMapOutput +} + +type VirtualNodeSpecServiceDiscoveryAwsCloudMapArgs struct { + // String map that contains attributes with values that you can use to filter instances by any custom attribute that you specified when you registered the instance. Only instances that match all of the specified key/value pairs will be returned. + Attributes pulumi.StringMapInput `pulumi:"attributes"` + // Name of the AWS Cloud Map namespace to use. + // Use the `servicediscovery.HttpNamespace` resource to configure a Cloud Map namespace. Must be between 1 and 1024 characters in length. + NamespaceName pulumi.StringInput `pulumi:"namespaceName"` + // Name of the AWS Cloud Map service to use. Use the `servicediscovery.Service` resource to configure a Cloud Map service. Must be between 1 and 1024 characters in length. + ServiceName pulumi.StringInput `pulumi:"serviceName"` +} + +func (VirtualNodeSpecServiceDiscoveryAwsCloudMapArgs) ElementType() reflect.Type { + return reflect.TypeOf((*VirtualNodeSpecServiceDiscoveryAwsCloudMap)(nil)).Elem() +} + +func (i VirtualNodeSpecServiceDiscoveryAwsCloudMapArgs) ToVirtualNodeSpecServiceDiscoveryAwsCloudMapOutput() VirtualNodeSpecServiceDiscoveryAwsCloudMapOutput { + return i.ToVirtualNodeSpecServiceDiscoveryAwsCloudMapOutputWithContext(context.Background()) +} + +func (i VirtualNodeSpecServiceDiscoveryAwsCloudMapArgs) ToVirtualNodeSpecServiceDiscoveryAwsCloudMapOutputWithContext(ctx context.Context) VirtualNodeSpecServiceDiscoveryAwsCloudMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecServiceDiscoveryAwsCloudMapOutput) +} + +func (i VirtualNodeSpecServiceDiscoveryAwsCloudMapArgs) ToVirtualNodeSpecServiceDiscoveryAwsCloudMapPtrOutput() VirtualNodeSpecServiceDiscoveryAwsCloudMapPtrOutput { + return i.ToVirtualNodeSpecServiceDiscoveryAwsCloudMapPtrOutputWithContext(context.Background()) +} + +func (i VirtualNodeSpecServiceDiscoveryAwsCloudMapArgs) ToVirtualNodeSpecServiceDiscoveryAwsCloudMapPtrOutputWithContext(ctx context.Context) VirtualNodeSpecServiceDiscoveryAwsCloudMapPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecServiceDiscoveryAwsCloudMapOutput).ToVirtualNodeSpecServiceDiscoveryAwsCloudMapPtrOutputWithContext(ctx) +} + +// VirtualNodeSpecServiceDiscoveryAwsCloudMapPtrInput is an input type that accepts VirtualNodeSpecServiceDiscoveryAwsCloudMapArgs, VirtualNodeSpecServiceDiscoveryAwsCloudMapPtr and VirtualNodeSpecServiceDiscoveryAwsCloudMapPtrOutput values. +// You can construct a concrete instance of `VirtualNodeSpecServiceDiscoveryAwsCloudMapPtrInput` via: +// +// VirtualNodeSpecServiceDiscoveryAwsCloudMapArgs{...} +// +// or: +// +// nil +type VirtualNodeSpecServiceDiscoveryAwsCloudMapPtrInput interface { + pulumi.Input + + ToVirtualNodeSpecServiceDiscoveryAwsCloudMapPtrOutput() VirtualNodeSpecServiceDiscoveryAwsCloudMapPtrOutput + ToVirtualNodeSpecServiceDiscoveryAwsCloudMapPtrOutputWithContext(context.Context) VirtualNodeSpecServiceDiscoveryAwsCloudMapPtrOutput +} + +type virtualNodeSpecServiceDiscoveryAwsCloudMapPtrType VirtualNodeSpecServiceDiscoveryAwsCloudMapArgs + +func VirtualNodeSpecServiceDiscoveryAwsCloudMapPtr(v *VirtualNodeSpecServiceDiscoveryAwsCloudMapArgs) VirtualNodeSpecServiceDiscoveryAwsCloudMapPtrInput { + return (*virtualNodeSpecServiceDiscoveryAwsCloudMapPtrType)(v) +} + +func (*virtualNodeSpecServiceDiscoveryAwsCloudMapPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**VirtualNodeSpecServiceDiscoveryAwsCloudMap)(nil)).Elem() +} + +func (i *virtualNodeSpecServiceDiscoveryAwsCloudMapPtrType) ToVirtualNodeSpecServiceDiscoveryAwsCloudMapPtrOutput() VirtualNodeSpecServiceDiscoveryAwsCloudMapPtrOutput { + return i.ToVirtualNodeSpecServiceDiscoveryAwsCloudMapPtrOutputWithContext(context.Background()) +} + +func (i *virtualNodeSpecServiceDiscoveryAwsCloudMapPtrType) ToVirtualNodeSpecServiceDiscoveryAwsCloudMapPtrOutputWithContext(ctx context.Context) VirtualNodeSpecServiceDiscoveryAwsCloudMapPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecServiceDiscoveryAwsCloudMapPtrOutput) +} + +type VirtualNodeSpecServiceDiscoveryAwsCloudMapOutput struct{ *pulumi.OutputState } + +func (VirtualNodeSpecServiceDiscoveryAwsCloudMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*VirtualNodeSpecServiceDiscoveryAwsCloudMap)(nil)).Elem() +} + +func (o VirtualNodeSpecServiceDiscoveryAwsCloudMapOutput) ToVirtualNodeSpecServiceDiscoveryAwsCloudMapOutput() VirtualNodeSpecServiceDiscoveryAwsCloudMapOutput { + return o +} + +func (o VirtualNodeSpecServiceDiscoveryAwsCloudMapOutput) ToVirtualNodeSpecServiceDiscoveryAwsCloudMapOutputWithContext(ctx context.Context) VirtualNodeSpecServiceDiscoveryAwsCloudMapOutput { + return o +} + +func (o VirtualNodeSpecServiceDiscoveryAwsCloudMapOutput) ToVirtualNodeSpecServiceDiscoveryAwsCloudMapPtrOutput() VirtualNodeSpecServiceDiscoveryAwsCloudMapPtrOutput { + return o.ToVirtualNodeSpecServiceDiscoveryAwsCloudMapPtrOutputWithContext(context.Background()) +} + +func (o VirtualNodeSpecServiceDiscoveryAwsCloudMapOutput) ToVirtualNodeSpecServiceDiscoveryAwsCloudMapPtrOutputWithContext(ctx context.Context) VirtualNodeSpecServiceDiscoveryAwsCloudMapPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v VirtualNodeSpecServiceDiscoveryAwsCloudMap) *VirtualNodeSpecServiceDiscoveryAwsCloudMap { + return &v + }).(VirtualNodeSpecServiceDiscoveryAwsCloudMapPtrOutput) +} + +// String map that contains attributes with values that you can use to filter instances by any custom attribute that you specified when you registered the instance. Only instances that match all of the specified key/value pairs will be returned. +func (o VirtualNodeSpecServiceDiscoveryAwsCloudMapOutput) Attributes() pulumi.StringMapOutput { + return o.ApplyT(func(v VirtualNodeSpecServiceDiscoveryAwsCloudMap) map[string]string { return v.Attributes }).(pulumi.StringMapOutput) +} + +// Name of the AWS Cloud Map namespace to use. +// Use the `servicediscovery.HttpNamespace` resource to configure a Cloud Map namespace. Must be between 1 and 1024 characters in length. +func (o VirtualNodeSpecServiceDiscoveryAwsCloudMapOutput) NamespaceName() pulumi.StringOutput { + return o.ApplyT(func(v VirtualNodeSpecServiceDiscoveryAwsCloudMap) string { return v.NamespaceName }).(pulumi.StringOutput) +} + +// Name of the AWS Cloud Map service to use. Use the `servicediscovery.Service` resource to configure a Cloud Map service. Must be between 1 and 1024 characters in length. +func (o VirtualNodeSpecServiceDiscoveryAwsCloudMapOutput) ServiceName() pulumi.StringOutput { + return o.ApplyT(func(v VirtualNodeSpecServiceDiscoveryAwsCloudMap) string { return v.ServiceName }).(pulumi.StringOutput) +} + +type VirtualNodeSpecServiceDiscoveryAwsCloudMapPtrOutput struct{ *pulumi.OutputState } + +func (VirtualNodeSpecServiceDiscoveryAwsCloudMapPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**VirtualNodeSpecServiceDiscoveryAwsCloudMap)(nil)).Elem() +} + +func (o VirtualNodeSpecServiceDiscoveryAwsCloudMapPtrOutput) ToVirtualNodeSpecServiceDiscoveryAwsCloudMapPtrOutput() VirtualNodeSpecServiceDiscoveryAwsCloudMapPtrOutput { + return o +} + +func (o VirtualNodeSpecServiceDiscoveryAwsCloudMapPtrOutput) ToVirtualNodeSpecServiceDiscoveryAwsCloudMapPtrOutputWithContext(ctx context.Context) VirtualNodeSpecServiceDiscoveryAwsCloudMapPtrOutput { + return o +} + +func (o VirtualNodeSpecServiceDiscoveryAwsCloudMapPtrOutput) Elem() VirtualNodeSpecServiceDiscoveryAwsCloudMapOutput { + return o.ApplyT(func(v *VirtualNodeSpecServiceDiscoveryAwsCloudMap) VirtualNodeSpecServiceDiscoveryAwsCloudMap { + if v != nil { + return *v + } + var ret VirtualNodeSpecServiceDiscoveryAwsCloudMap + return ret + }).(VirtualNodeSpecServiceDiscoveryAwsCloudMapOutput) +} + +// String map that contains attributes with values that you can use to filter instances by any custom attribute that you specified when you registered the instance. Only instances that match all of the specified key/value pairs will be returned. +func (o VirtualNodeSpecServiceDiscoveryAwsCloudMapPtrOutput) Attributes() pulumi.StringMapOutput { + return o.ApplyT(func(v *VirtualNodeSpecServiceDiscoveryAwsCloudMap) map[string]string { + if v == nil { + return nil + } + return v.Attributes + }).(pulumi.StringMapOutput) +} + +// Name of the AWS Cloud Map namespace to use. +// Use the `servicediscovery.HttpNamespace` resource to configure a Cloud Map namespace. Must be between 1 and 1024 characters in length. +func (o VirtualNodeSpecServiceDiscoveryAwsCloudMapPtrOutput) NamespaceName() pulumi.StringPtrOutput { + return o.ApplyT(func(v *VirtualNodeSpecServiceDiscoveryAwsCloudMap) *string { + if v == nil { + return nil + } + return &v.NamespaceName + }).(pulumi.StringPtrOutput) +} + +// Name of the AWS Cloud Map service to use. Use the `servicediscovery.Service` resource to configure a Cloud Map service. Must be between 1 and 1024 characters in length. +func (o VirtualNodeSpecServiceDiscoveryAwsCloudMapPtrOutput) ServiceName() pulumi.StringPtrOutput { + return o.ApplyT(func(v *VirtualNodeSpecServiceDiscoveryAwsCloudMap) *string { + if v == nil { + return nil + } + return &v.ServiceName + }).(pulumi.StringPtrOutput) +} + +type VirtualNodeSpecServiceDiscoveryDns struct { + // DNS host name for your virtual node. + Hostname string `pulumi:"hostname"` + // The preferred IP version that this virtual node uses. Valid values: `IPv6_PREFERRED`, `IPv4_PREFERRED`, `IPv4_ONLY`, `IPv6_ONLY`. + IpPreference *string `pulumi:"ipPreference"` + // The DNS response type for the virtual node. Valid values: `LOADBALANCER`, `ENDPOINTS`. + ResponseType *string `pulumi:"responseType"` +} + +// VirtualNodeSpecServiceDiscoveryDnsInput is an input type that accepts VirtualNodeSpecServiceDiscoveryDnsArgs and VirtualNodeSpecServiceDiscoveryDnsOutput values. +// You can construct a concrete instance of `VirtualNodeSpecServiceDiscoveryDnsInput` via: +// +// VirtualNodeSpecServiceDiscoveryDnsArgs{...} +type VirtualNodeSpecServiceDiscoveryDnsInput interface { + pulumi.Input + + ToVirtualNodeSpecServiceDiscoveryDnsOutput() VirtualNodeSpecServiceDiscoveryDnsOutput + ToVirtualNodeSpecServiceDiscoveryDnsOutputWithContext(context.Context) VirtualNodeSpecServiceDiscoveryDnsOutput +} + +type VirtualNodeSpecServiceDiscoveryDnsArgs struct { + // DNS host name for your virtual node. + Hostname pulumi.StringInput `pulumi:"hostname"` + // The preferred IP version that this virtual node uses. Valid values: `IPv6_PREFERRED`, `IPv4_PREFERRED`, `IPv4_ONLY`, `IPv6_ONLY`. + IpPreference pulumi.StringPtrInput `pulumi:"ipPreference"` + // The DNS response type for the virtual node. Valid values: `LOADBALANCER`, `ENDPOINTS`. + ResponseType pulumi.StringPtrInput `pulumi:"responseType"` +} + +func (VirtualNodeSpecServiceDiscoveryDnsArgs) ElementType() reflect.Type { + return reflect.TypeOf((*VirtualNodeSpecServiceDiscoveryDns)(nil)).Elem() +} + +func (i VirtualNodeSpecServiceDiscoveryDnsArgs) ToVirtualNodeSpecServiceDiscoveryDnsOutput() VirtualNodeSpecServiceDiscoveryDnsOutput { + return i.ToVirtualNodeSpecServiceDiscoveryDnsOutputWithContext(context.Background()) +} + +func (i VirtualNodeSpecServiceDiscoveryDnsArgs) ToVirtualNodeSpecServiceDiscoveryDnsOutputWithContext(ctx context.Context) VirtualNodeSpecServiceDiscoveryDnsOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecServiceDiscoveryDnsOutput) +} + +func (i VirtualNodeSpecServiceDiscoveryDnsArgs) ToVirtualNodeSpecServiceDiscoveryDnsPtrOutput() VirtualNodeSpecServiceDiscoveryDnsPtrOutput { + return i.ToVirtualNodeSpecServiceDiscoveryDnsPtrOutputWithContext(context.Background()) +} + +func (i VirtualNodeSpecServiceDiscoveryDnsArgs) ToVirtualNodeSpecServiceDiscoveryDnsPtrOutputWithContext(ctx context.Context) VirtualNodeSpecServiceDiscoveryDnsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecServiceDiscoveryDnsOutput).ToVirtualNodeSpecServiceDiscoveryDnsPtrOutputWithContext(ctx) +} + +// VirtualNodeSpecServiceDiscoveryDnsPtrInput is an input type that accepts VirtualNodeSpecServiceDiscoveryDnsArgs, VirtualNodeSpecServiceDiscoveryDnsPtr and VirtualNodeSpecServiceDiscoveryDnsPtrOutput values. +// You can construct a concrete instance of `VirtualNodeSpecServiceDiscoveryDnsPtrInput` via: +// +// VirtualNodeSpecServiceDiscoveryDnsArgs{...} +// +// or: +// +// nil +type VirtualNodeSpecServiceDiscoveryDnsPtrInput interface { + pulumi.Input + + ToVirtualNodeSpecServiceDiscoveryDnsPtrOutput() VirtualNodeSpecServiceDiscoveryDnsPtrOutput + ToVirtualNodeSpecServiceDiscoveryDnsPtrOutputWithContext(context.Context) VirtualNodeSpecServiceDiscoveryDnsPtrOutput +} + +type virtualNodeSpecServiceDiscoveryDnsPtrType VirtualNodeSpecServiceDiscoveryDnsArgs + +func VirtualNodeSpecServiceDiscoveryDnsPtr(v *VirtualNodeSpecServiceDiscoveryDnsArgs) VirtualNodeSpecServiceDiscoveryDnsPtrInput { + return (*virtualNodeSpecServiceDiscoveryDnsPtrType)(v) +} + +func (*virtualNodeSpecServiceDiscoveryDnsPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**VirtualNodeSpecServiceDiscoveryDns)(nil)).Elem() +} + +func (i *virtualNodeSpecServiceDiscoveryDnsPtrType) ToVirtualNodeSpecServiceDiscoveryDnsPtrOutput() VirtualNodeSpecServiceDiscoveryDnsPtrOutput { + return i.ToVirtualNodeSpecServiceDiscoveryDnsPtrOutputWithContext(context.Background()) +} + +func (i *virtualNodeSpecServiceDiscoveryDnsPtrType) ToVirtualNodeSpecServiceDiscoveryDnsPtrOutputWithContext(ctx context.Context) VirtualNodeSpecServiceDiscoveryDnsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecServiceDiscoveryDnsPtrOutput) +} + +type VirtualNodeSpecServiceDiscoveryDnsOutput struct{ *pulumi.OutputState } + +func (VirtualNodeSpecServiceDiscoveryDnsOutput) ElementType() reflect.Type { + return reflect.TypeOf((*VirtualNodeSpecServiceDiscoveryDns)(nil)).Elem() +} + +func (o VirtualNodeSpecServiceDiscoveryDnsOutput) ToVirtualNodeSpecServiceDiscoveryDnsOutput() VirtualNodeSpecServiceDiscoveryDnsOutput { + return o +} + +func (o VirtualNodeSpecServiceDiscoveryDnsOutput) ToVirtualNodeSpecServiceDiscoveryDnsOutputWithContext(ctx context.Context) VirtualNodeSpecServiceDiscoveryDnsOutput { + return o +} + +func (o VirtualNodeSpecServiceDiscoveryDnsOutput) ToVirtualNodeSpecServiceDiscoveryDnsPtrOutput() VirtualNodeSpecServiceDiscoveryDnsPtrOutput { + return o.ToVirtualNodeSpecServiceDiscoveryDnsPtrOutputWithContext(context.Background()) +} + +func (o VirtualNodeSpecServiceDiscoveryDnsOutput) ToVirtualNodeSpecServiceDiscoveryDnsPtrOutputWithContext(ctx context.Context) VirtualNodeSpecServiceDiscoveryDnsPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v VirtualNodeSpecServiceDiscoveryDns) *VirtualNodeSpecServiceDiscoveryDns { + return &v + }).(VirtualNodeSpecServiceDiscoveryDnsPtrOutput) +} + +// DNS host name for your virtual node. +func (o VirtualNodeSpecServiceDiscoveryDnsOutput) Hostname() pulumi.StringOutput { + return o.ApplyT(func(v VirtualNodeSpecServiceDiscoveryDns) string { return v.Hostname }).(pulumi.StringOutput) +} + +// The preferred IP version that this virtual node uses. Valid values: `IPv6_PREFERRED`, `IPv4_PREFERRED`, `IPv4_ONLY`, `IPv6_ONLY`. +func (o VirtualNodeSpecServiceDiscoveryDnsOutput) IpPreference() pulumi.StringPtrOutput { + return o.ApplyT(func(v VirtualNodeSpecServiceDiscoveryDns) *string { return v.IpPreference }).(pulumi.StringPtrOutput) +} + +// The DNS response type for the virtual node. Valid values: `LOADBALANCER`, `ENDPOINTS`. +func (o VirtualNodeSpecServiceDiscoveryDnsOutput) ResponseType() pulumi.StringPtrOutput { + return o.ApplyT(func(v VirtualNodeSpecServiceDiscoveryDns) *string { return v.ResponseType }).(pulumi.StringPtrOutput) +} + +type VirtualNodeSpecServiceDiscoveryDnsPtrOutput struct{ *pulumi.OutputState } + +func (VirtualNodeSpecServiceDiscoveryDnsPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**VirtualNodeSpecServiceDiscoveryDns)(nil)).Elem() +} + +func (o VirtualNodeSpecServiceDiscoveryDnsPtrOutput) ToVirtualNodeSpecServiceDiscoveryDnsPtrOutput() VirtualNodeSpecServiceDiscoveryDnsPtrOutput { + return o +} + +func (o VirtualNodeSpecServiceDiscoveryDnsPtrOutput) ToVirtualNodeSpecServiceDiscoveryDnsPtrOutputWithContext(ctx context.Context) VirtualNodeSpecServiceDiscoveryDnsPtrOutput { + return o +} + +func (o VirtualNodeSpecServiceDiscoveryDnsPtrOutput) Elem() VirtualNodeSpecServiceDiscoveryDnsOutput { + return o.ApplyT(func(v *VirtualNodeSpecServiceDiscoveryDns) VirtualNodeSpecServiceDiscoveryDns { + if v != nil { + return *v + } + var ret VirtualNodeSpecServiceDiscoveryDns + return ret + }).(VirtualNodeSpecServiceDiscoveryDnsOutput) +} + +// DNS host name for your virtual node. +func (o VirtualNodeSpecServiceDiscoveryDnsPtrOutput) Hostname() pulumi.StringPtrOutput { + return o.ApplyT(func(v *VirtualNodeSpecServiceDiscoveryDns) *string { + if v == nil { + return nil + } + return &v.Hostname + }).(pulumi.StringPtrOutput) +} + +// The preferred IP version that this virtual node uses. Valid values: `IPv6_PREFERRED`, `IPv4_PREFERRED`, `IPv4_ONLY`, `IPv6_ONLY`. +func (o VirtualNodeSpecServiceDiscoveryDnsPtrOutput) IpPreference() pulumi.StringPtrOutput { + return o.ApplyT(func(v *VirtualNodeSpecServiceDiscoveryDns) *string { + if v == nil { + return nil + } + return v.IpPreference + }).(pulumi.StringPtrOutput) +} + +// The DNS response type for the virtual node. Valid values: `LOADBALANCER`, `ENDPOINTS`. +func (o VirtualNodeSpecServiceDiscoveryDnsPtrOutput) ResponseType() pulumi.StringPtrOutput { + return o.ApplyT(func(v *VirtualNodeSpecServiceDiscoveryDns) *string { + if v == nil { + return nil + } + return v.ResponseType + }).(pulumi.StringPtrOutput) +} + +type VirtualRouterSpec struct { + // Listeners that the virtual router is expected to receive inbound traffic from. + // Currently only one listener is supported per virtual router. + Listener *VirtualRouterSpecListener `pulumi:"listener"` +} + +// VirtualRouterSpecInput is an input type that accepts VirtualRouterSpecArgs and VirtualRouterSpecOutput values. +// You can construct a concrete instance of `VirtualRouterSpecInput` via: +// +// VirtualRouterSpecArgs{...} +type VirtualRouterSpecInput interface { + pulumi.Input + + ToVirtualRouterSpecOutput() VirtualRouterSpecOutput + ToVirtualRouterSpecOutputWithContext(context.Context) VirtualRouterSpecOutput +} + +type VirtualRouterSpecArgs struct { + // Listeners that the virtual router is expected to receive inbound traffic from. + // Currently only one listener is supported per virtual router. + Listener VirtualRouterSpecListenerPtrInput `pulumi:"listener"` +} + +func (VirtualRouterSpecArgs) ElementType() reflect.Type { + return reflect.TypeOf((*VirtualRouterSpec)(nil)).Elem() +} + +func (i VirtualRouterSpecArgs) ToVirtualRouterSpecOutput() VirtualRouterSpecOutput { + return i.ToVirtualRouterSpecOutputWithContext(context.Background()) +} + +func (i VirtualRouterSpecArgs) ToVirtualRouterSpecOutputWithContext(ctx context.Context) VirtualRouterSpecOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualRouterSpecOutput) +} + +func (i VirtualRouterSpecArgs) ToVirtualRouterSpecPtrOutput() VirtualRouterSpecPtrOutput { + return i.ToVirtualRouterSpecPtrOutputWithContext(context.Background()) +} + +func (i VirtualRouterSpecArgs) ToVirtualRouterSpecPtrOutputWithContext(ctx context.Context) VirtualRouterSpecPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualRouterSpecOutput).ToVirtualRouterSpecPtrOutputWithContext(ctx) +} + +// VirtualRouterSpecPtrInput is an input type that accepts VirtualRouterSpecArgs, VirtualRouterSpecPtr and VirtualRouterSpecPtrOutput values. +// You can construct a concrete instance of `VirtualRouterSpecPtrInput` via: +// +// VirtualRouterSpecArgs{...} +// +// or: +// +// nil +type VirtualRouterSpecPtrInput interface { + pulumi.Input + + ToVirtualRouterSpecPtrOutput() VirtualRouterSpecPtrOutput + ToVirtualRouterSpecPtrOutputWithContext(context.Context) VirtualRouterSpecPtrOutput +} + +type virtualRouterSpecPtrType VirtualRouterSpecArgs + +func VirtualRouterSpecPtr(v *VirtualRouterSpecArgs) VirtualRouterSpecPtrInput { + return (*virtualRouterSpecPtrType)(v) +} + +func (*virtualRouterSpecPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**VirtualRouterSpec)(nil)).Elem() +} + +func (i *virtualRouterSpecPtrType) ToVirtualRouterSpecPtrOutput() VirtualRouterSpecPtrOutput { + return i.ToVirtualRouterSpecPtrOutputWithContext(context.Background()) +} + +func (i *virtualRouterSpecPtrType) ToVirtualRouterSpecPtrOutputWithContext(ctx context.Context) VirtualRouterSpecPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualRouterSpecPtrOutput) +} + +type VirtualRouterSpecOutput struct{ *pulumi.OutputState } + +func (VirtualRouterSpecOutput) ElementType() reflect.Type { + return reflect.TypeOf((*VirtualRouterSpec)(nil)).Elem() +} + +func (o VirtualRouterSpecOutput) ToVirtualRouterSpecOutput() VirtualRouterSpecOutput { + return o +} + +func (o VirtualRouterSpecOutput) ToVirtualRouterSpecOutputWithContext(ctx context.Context) VirtualRouterSpecOutput { + return o +} + +func (o VirtualRouterSpecOutput) ToVirtualRouterSpecPtrOutput() VirtualRouterSpecPtrOutput { + return o.ToVirtualRouterSpecPtrOutputWithContext(context.Background()) +} + +func (o VirtualRouterSpecOutput) ToVirtualRouterSpecPtrOutputWithContext(ctx context.Context) VirtualRouterSpecPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v VirtualRouterSpec) *VirtualRouterSpec { + return &v + }).(VirtualRouterSpecPtrOutput) +} + +// Listeners that the virtual router is expected to receive inbound traffic from. +// Currently only one listener is supported per virtual router. +func (o VirtualRouterSpecOutput) Listener() VirtualRouterSpecListenerPtrOutput { + return o.ApplyT(func(v VirtualRouterSpec) *VirtualRouterSpecListener { return v.Listener }).(VirtualRouterSpecListenerPtrOutput) +} + +type VirtualRouterSpecPtrOutput struct{ *pulumi.OutputState } + +func (VirtualRouterSpecPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**VirtualRouterSpec)(nil)).Elem() +} + +func (o VirtualRouterSpecPtrOutput) ToVirtualRouterSpecPtrOutput() VirtualRouterSpecPtrOutput { + return o +} + +func (o VirtualRouterSpecPtrOutput) ToVirtualRouterSpecPtrOutputWithContext(ctx context.Context) VirtualRouterSpecPtrOutput { + return o +} + +func (o VirtualRouterSpecPtrOutput) Elem() VirtualRouterSpecOutput { + return o.ApplyT(func(v *VirtualRouterSpec) VirtualRouterSpec { + if v != nil { + return *v + } + var ret VirtualRouterSpec + return ret + }).(VirtualRouterSpecOutput) +} + +// Listeners that the virtual router is expected to receive inbound traffic from. +// Currently only one listener is supported per virtual router. +func (o VirtualRouterSpecPtrOutput) Listener() VirtualRouterSpecListenerPtrOutput { + return o.ApplyT(func(v *VirtualRouterSpec) *VirtualRouterSpecListener { + if v == nil { + return nil + } + return v.Listener + }).(VirtualRouterSpecListenerPtrOutput) +} + +type VirtualRouterSpecListener struct { + // Port mapping information for the listener. + PortMapping VirtualRouterSpecListenerPortMapping `pulumi:"portMapping"` +} + +// VirtualRouterSpecListenerInput is an input type that accepts VirtualRouterSpecListenerArgs and VirtualRouterSpecListenerOutput values. +// You can construct a concrete instance of `VirtualRouterSpecListenerInput` via: +// +// VirtualRouterSpecListenerArgs{...} +type VirtualRouterSpecListenerInput interface { + pulumi.Input + + ToVirtualRouterSpecListenerOutput() VirtualRouterSpecListenerOutput + ToVirtualRouterSpecListenerOutputWithContext(context.Context) VirtualRouterSpecListenerOutput +} + +type VirtualRouterSpecListenerArgs struct { + // Port mapping information for the listener. + PortMapping VirtualRouterSpecListenerPortMappingInput `pulumi:"portMapping"` +} + +func (VirtualRouterSpecListenerArgs) ElementType() reflect.Type { + return reflect.TypeOf((*VirtualRouterSpecListener)(nil)).Elem() +} + +func (i VirtualRouterSpecListenerArgs) ToVirtualRouterSpecListenerOutput() VirtualRouterSpecListenerOutput { + return i.ToVirtualRouterSpecListenerOutputWithContext(context.Background()) +} + +func (i VirtualRouterSpecListenerArgs) ToVirtualRouterSpecListenerOutputWithContext(ctx context.Context) VirtualRouterSpecListenerOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualRouterSpecListenerOutput) +} + +func (i VirtualRouterSpecListenerArgs) ToVirtualRouterSpecListenerPtrOutput() VirtualRouterSpecListenerPtrOutput { + return i.ToVirtualRouterSpecListenerPtrOutputWithContext(context.Background()) +} + +func (i VirtualRouterSpecListenerArgs) ToVirtualRouterSpecListenerPtrOutputWithContext(ctx context.Context) VirtualRouterSpecListenerPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualRouterSpecListenerOutput).ToVirtualRouterSpecListenerPtrOutputWithContext(ctx) +} + +// VirtualRouterSpecListenerPtrInput is an input type that accepts VirtualRouterSpecListenerArgs, VirtualRouterSpecListenerPtr and VirtualRouterSpecListenerPtrOutput values. +// You can construct a concrete instance of `VirtualRouterSpecListenerPtrInput` via: +// +// VirtualRouterSpecListenerArgs{...} +// +// or: +// +// nil +type VirtualRouterSpecListenerPtrInput interface { + pulumi.Input + + ToVirtualRouterSpecListenerPtrOutput() VirtualRouterSpecListenerPtrOutput + ToVirtualRouterSpecListenerPtrOutputWithContext(context.Context) VirtualRouterSpecListenerPtrOutput +} + +type virtualRouterSpecListenerPtrType VirtualRouterSpecListenerArgs + +func VirtualRouterSpecListenerPtr(v *VirtualRouterSpecListenerArgs) VirtualRouterSpecListenerPtrInput { + return (*virtualRouterSpecListenerPtrType)(v) +} + +func (*virtualRouterSpecListenerPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**VirtualRouterSpecListener)(nil)).Elem() +} + +func (i *virtualRouterSpecListenerPtrType) ToVirtualRouterSpecListenerPtrOutput() VirtualRouterSpecListenerPtrOutput { + return i.ToVirtualRouterSpecListenerPtrOutputWithContext(context.Background()) +} + +func (i *virtualRouterSpecListenerPtrType) ToVirtualRouterSpecListenerPtrOutputWithContext(ctx context.Context) VirtualRouterSpecListenerPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualRouterSpecListenerPtrOutput) +} + +type VirtualRouterSpecListenerOutput struct{ *pulumi.OutputState } + +func (VirtualRouterSpecListenerOutput) ElementType() reflect.Type { + return reflect.TypeOf((*VirtualRouterSpecListener)(nil)).Elem() +} + +func (o VirtualRouterSpecListenerOutput) ToVirtualRouterSpecListenerOutput() VirtualRouterSpecListenerOutput { + return o +} + +func (o VirtualRouterSpecListenerOutput) ToVirtualRouterSpecListenerOutputWithContext(ctx context.Context) VirtualRouterSpecListenerOutput { + return o +} + +func (o VirtualRouterSpecListenerOutput) ToVirtualRouterSpecListenerPtrOutput() VirtualRouterSpecListenerPtrOutput { + return o.ToVirtualRouterSpecListenerPtrOutputWithContext(context.Background()) +} + +func (o VirtualRouterSpecListenerOutput) ToVirtualRouterSpecListenerPtrOutputWithContext(ctx context.Context) VirtualRouterSpecListenerPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v VirtualRouterSpecListener) *VirtualRouterSpecListener { + return &v + }).(VirtualRouterSpecListenerPtrOutput) +} + +// Port mapping information for the listener. +func (o VirtualRouterSpecListenerOutput) PortMapping() VirtualRouterSpecListenerPortMappingOutput { + return o.ApplyT(func(v VirtualRouterSpecListener) VirtualRouterSpecListenerPortMapping { return v.PortMapping }).(VirtualRouterSpecListenerPortMappingOutput) +} + +type VirtualRouterSpecListenerPtrOutput struct{ *pulumi.OutputState } + +func (VirtualRouterSpecListenerPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**VirtualRouterSpecListener)(nil)).Elem() +} + +func (o VirtualRouterSpecListenerPtrOutput) ToVirtualRouterSpecListenerPtrOutput() VirtualRouterSpecListenerPtrOutput { + return o +} + +func (o VirtualRouterSpecListenerPtrOutput) ToVirtualRouterSpecListenerPtrOutputWithContext(ctx context.Context) VirtualRouterSpecListenerPtrOutput { + return o +} + +func (o VirtualRouterSpecListenerPtrOutput) Elem() VirtualRouterSpecListenerOutput { + return o.ApplyT(func(v *VirtualRouterSpecListener) VirtualRouterSpecListener { + if v != nil { + return *v + } + var ret VirtualRouterSpecListener + return ret + }).(VirtualRouterSpecListenerOutput) +} + +// Port mapping information for the listener. +func (o VirtualRouterSpecListenerPtrOutput) PortMapping() VirtualRouterSpecListenerPortMappingPtrOutput { + return o.ApplyT(func(v *VirtualRouterSpecListener) *VirtualRouterSpecListenerPortMapping { + if v == nil { + return nil + } + return &v.PortMapping + }).(VirtualRouterSpecListenerPortMappingPtrOutput) +} + +type VirtualRouterSpecListenerPortMapping struct { + // Port used for the port mapping. + Port int `pulumi:"port"` + // Protocol used for the port mapping. Valid values are `http`,`http2`, `tcp` and `grpc`. + Protocol string `pulumi:"protocol"` +} + +// VirtualRouterSpecListenerPortMappingInput is an input type that accepts VirtualRouterSpecListenerPortMappingArgs and VirtualRouterSpecListenerPortMappingOutput values. +// You can construct a concrete instance of `VirtualRouterSpecListenerPortMappingInput` via: +// +// VirtualRouterSpecListenerPortMappingArgs{...} +type VirtualRouterSpecListenerPortMappingInput interface { + pulumi.Input + + ToVirtualRouterSpecListenerPortMappingOutput() VirtualRouterSpecListenerPortMappingOutput + ToVirtualRouterSpecListenerPortMappingOutputWithContext(context.Context) VirtualRouterSpecListenerPortMappingOutput +} + +type VirtualRouterSpecListenerPortMappingArgs struct { + // Port used for the port mapping. + Port pulumi.IntInput `pulumi:"port"` + // Protocol used for the port mapping. Valid values are `http`,`http2`, `tcp` and `grpc`. + Protocol pulumi.StringInput `pulumi:"protocol"` +} + +func (VirtualRouterSpecListenerPortMappingArgs) ElementType() reflect.Type { + return reflect.TypeOf((*VirtualRouterSpecListenerPortMapping)(nil)).Elem() +} + +func (i VirtualRouterSpecListenerPortMappingArgs) ToVirtualRouterSpecListenerPortMappingOutput() VirtualRouterSpecListenerPortMappingOutput { + return i.ToVirtualRouterSpecListenerPortMappingOutputWithContext(context.Background()) +} + +func (i VirtualRouterSpecListenerPortMappingArgs) ToVirtualRouterSpecListenerPortMappingOutputWithContext(ctx context.Context) VirtualRouterSpecListenerPortMappingOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualRouterSpecListenerPortMappingOutput) +} + +func (i VirtualRouterSpecListenerPortMappingArgs) ToVirtualRouterSpecListenerPortMappingPtrOutput() VirtualRouterSpecListenerPortMappingPtrOutput { + return i.ToVirtualRouterSpecListenerPortMappingPtrOutputWithContext(context.Background()) +} + +func (i VirtualRouterSpecListenerPortMappingArgs) ToVirtualRouterSpecListenerPortMappingPtrOutputWithContext(ctx context.Context) VirtualRouterSpecListenerPortMappingPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualRouterSpecListenerPortMappingOutput).ToVirtualRouterSpecListenerPortMappingPtrOutputWithContext(ctx) +} + +// VirtualRouterSpecListenerPortMappingPtrInput is an input type that accepts VirtualRouterSpecListenerPortMappingArgs, VirtualRouterSpecListenerPortMappingPtr and VirtualRouterSpecListenerPortMappingPtrOutput values. +// You can construct a concrete instance of `VirtualRouterSpecListenerPortMappingPtrInput` via: +// +// VirtualRouterSpecListenerPortMappingArgs{...} +// +// or: +// +// nil +type VirtualRouterSpecListenerPortMappingPtrInput interface { + pulumi.Input + + ToVirtualRouterSpecListenerPortMappingPtrOutput() VirtualRouterSpecListenerPortMappingPtrOutput + ToVirtualRouterSpecListenerPortMappingPtrOutputWithContext(context.Context) VirtualRouterSpecListenerPortMappingPtrOutput +} + +type virtualRouterSpecListenerPortMappingPtrType VirtualRouterSpecListenerPortMappingArgs + +func VirtualRouterSpecListenerPortMappingPtr(v *VirtualRouterSpecListenerPortMappingArgs) VirtualRouterSpecListenerPortMappingPtrInput { + return (*virtualRouterSpecListenerPortMappingPtrType)(v) +} + +func (*virtualRouterSpecListenerPortMappingPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**VirtualRouterSpecListenerPortMapping)(nil)).Elem() +} + +func (i *virtualRouterSpecListenerPortMappingPtrType) ToVirtualRouterSpecListenerPortMappingPtrOutput() VirtualRouterSpecListenerPortMappingPtrOutput { + return i.ToVirtualRouterSpecListenerPortMappingPtrOutputWithContext(context.Background()) +} + +func (i *virtualRouterSpecListenerPortMappingPtrType) ToVirtualRouterSpecListenerPortMappingPtrOutputWithContext(ctx context.Context) VirtualRouterSpecListenerPortMappingPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualRouterSpecListenerPortMappingPtrOutput) +} + +type VirtualRouterSpecListenerPortMappingOutput struct{ *pulumi.OutputState } + +func (VirtualRouterSpecListenerPortMappingOutput) ElementType() reflect.Type { + return reflect.TypeOf((*VirtualRouterSpecListenerPortMapping)(nil)).Elem() +} + +func (o VirtualRouterSpecListenerPortMappingOutput) ToVirtualRouterSpecListenerPortMappingOutput() VirtualRouterSpecListenerPortMappingOutput { + return o +} + +func (o VirtualRouterSpecListenerPortMappingOutput) ToVirtualRouterSpecListenerPortMappingOutputWithContext(ctx context.Context) VirtualRouterSpecListenerPortMappingOutput { + return o +} + +func (o VirtualRouterSpecListenerPortMappingOutput) ToVirtualRouterSpecListenerPortMappingPtrOutput() VirtualRouterSpecListenerPortMappingPtrOutput { + return o.ToVirtualRouterSpecListenerPortMappingPtrOutputWithContext(context.Background()) +} + +func (o VirtualRouterSpecListenerPortMappingOutput) ToVirtualRouterSpecListenerPortMappingPtrOutputWithContext(ctx context.Context) VirtualRouterSpecListenerPortMappingPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v VirtualRouterSpecListenerPortMapping) *VirtualRouterSpecListenerPortMapping { + return &v + }).(VirtualRouterSpecListenerPortMappingPtrOutput) +} + +// Port used for the port mapping. +func (o VirtualRouterSpecListenerPortMappingOutput) Port() pulumi.IntOutput { + return o.ApplyT(func(v VirtualRouterSpecListenerPortMapping) int { return v.Port }).(pulumi.IntOutput) +} + +// Protocol used for the port mapping. Valid values are `http`,`http2`, `tcp` and `grpc`. +func (o VirtualRouterSpecListenerPortMappingOutput) Protocol() pulumi.StringOutput { + return o.ApplyT(func(v VirtualRouterSpecListenerPortMapping) string { return v.Protocol }).(pulumi.StringOutput) +} + +type VirtualRouterSpecListenerPortMappingPtrOutput struct{ *pulumi.OutputState } + +func (VirtualRouterSpecListenerPortMappingPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**VirtualRouterSpecListenerPortMapping)(nil)).Elem() +} + +func (o VirtualRouterSpecListenerPortMappingPtrOutput) ToVirtualRouterSpecListenerPortMappingPtrOutput() VirtualRouterSpecListenerPortMappingPtrOutput { + return o +} + +func (o VirtualRouterSpecListenerPortMappingPtrOutput) ToVirtualRouterSpecListenerPortMappingPtrOutputWithContext(ctx context.Context) VirtualRouterSpecListenerPortMappingPtrOutput { + return o +} + +func (o VirtualRouterSpecListenerPortMappingPtrOutput) Elem() VirtualRouterSpecListenerPortMappingOutput { + return o.ApplyT(func(v *VirtualRouterSpecListenerPortMapping) VirtualRouterSpecListenerPortMapping { + if v != nil { + return *v + } + var ret VirtualRouterSpecListenerPortMapping + return ret + }).(VirtualRouterSpecListenerPortMappingOutput) +} + +// Port used for the port mapping. +func (o VirtualRouterSpecListenerPortMappingPtrOutput) Port() pulumi.IntPtrOutput { + return o.ApplyT(func(v *VirtualRouterSpecListenerPortMapping) *int { + if v == nil { + return nil + } + return &v.Port + }).(pulumi.IntPtrOutput) +} + +// Protocol used for the port mapping. Valid values are `http`,`http2`, `tcp` and `grpc`. +func (o VirtualRouterSpecListenerPortMappingPtrOutput) Protocol() pulumi.StringPtrOutput { + return o.ApplyT(func(v *VirtualRouterSpecListenerPortMapping) *string { + if v == nil { + return nil + } + return &v.Protocol + }).(pulumi.StringPtrOutput) +} + +type VirtualServiceSpec struct { + // App Mesh object that is acting as the provider for a virtual service. You can specify a single virtual node or virtual router. + Provider *VirtualServiceSpecProvider `pulumi:"provider"` +} + +// VirtualServiceSpecInput is an input type that accepts VirtualServiceSpecArgs and VirtualServiceSpecOutput values. +// You can construct a concrete instance of `VirtualServiceSpecInput` via: +// +// VirtualServiceSpecArgs{...} +type VirtualServiceSpecInput interface { + pulumi.Input + + ToVirtualServiceSpecOutput() VirtualServiceSpecOutput + ToVirtualServiceSpecOutputWithContext(context.Context) VirtualServiceSpecOutput +} + +type VirtualServiceSpecArgs struct { + // App Mesh object that is acting as the provider for a virtual service. You can specify a single virtual node or virtual router. + Provider VirtualServiceSpecProviderPtrInput `pulumi:"provider"` +} + +func (VirtualServiceSpecArgs) ElementType() reflect.Type { + return reflect.TypeOf((*VirtualServiceSpec)(nil)).Elem() +} + +func (i VirtualServiceSpecArgs) ToVirtualServiceSpecOutput() VirtualServiceSpecOutput { + return i.ToVirtualServiceSpecOutputWithContext(context.Background()) +} + +func (i VirtualServiceSpecArgs) ToVirtualServiceSpecOutputWithContext(ctx context.Context) VirtualServiceSpecOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualServiceSpecOutput) +} + +func (i VirtualServiceSpecArgs) ToVirtualServiceSpecPtrOutput() VirtualServiceSpecPtrOutput { + return i.ToVirtualServiceSpecPtrOutputWithContext(context.Background()) +} + +func (i VirtualServiceSpecArgs) ToVirtualServiceSpecPtrOutputWithContext(ctx context.Context) VirtualServiceSpecPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualServiceSpecOutput).ToVirtualServiceSpecPtrOutputWithContext(ctx) +} + +// VirtualServiceSpecPtrInput is an input type that accepts VirtualServiceSpecArgs, VirtualServiceSpecPtr and VirtualServiceSpecPtrOutput values. +// You can construct a concrete instance of `VirtualServiceSpecPtrInput` via: +// +// VirtualServiceSpecArgs{...} +// +// or: +// +// nil +type VirtualServiceSpecPtrInput interface { + pulumi.Input + + ToVirtualServiceSpecPtrOutput() VirtualServiceSpecPtrOutput + ToVirtualServiceSpecPtrOutputWithContext(context.Context) VirtualServiceSpecPtrOutput +} + +type virtualServiceSpecPtrType VirtualServiceSpecArgs + +func VirtualServiceSpecPtr(v *VirtualServiceSpecArgs) VirtualServiceSpecPtrInput { + return (*virtualServiceSpecPtrType)(v) +} + +func (*virtualServiceSpecPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**VirtualServiceSpec)(nil)).Elem() +} + +func (i *virtualServiceSpecPtrType) ToVirtualServiceSpecPtrOutput() VirtualServiceSpecPtrOutput { + return i.ToVirtualServiceSpecPtrOutputWithContext(context.Background()) +} + +func (i *virtualServiceSpecPtrType) ToVirtualServiceSpecPtrOutputWithContext(ctx context.Context) VirtualServiceSpecPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualServiceSpecPtrOutput) +} + +type VirtualServiceSpecOutput struct{ *pulumi.OutputState } + +func (VirtualServiceSpecOutput) ElementType() reflect.Type { + return reflect.TypeOf((*VirtualServiceSpec)(nil)).Elem() +} + +func (o VirtualServiceSpecOutput) ToVirtualServiceSpecOutput() VirtualServiceSpecOutput { + return o +} + +func (o VirtualServiceSpecOutput) ToVirtualServiceSpecOutputWithContext(ctx context.Context) VirtualServiceSpecOutput { + return o +} + +func (o VirtualServiceSpecOutput) ToVirtualServiceSpecPtrOutput() VirtualServiceSpecPtrOutput { + return o.ToVirtualServiceSpecPtrOutputWithContext(context.Background()) +} + +func (o VirtualServiceSpecOutput) ToVirtualServiceSpecPtrOutputWithContext(ctx context.Context) VirtualServiceSpecPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v VirtualServiceSpec) *VirtualServiceSpec { + return &v + }).(VirtualServiceSpecPtrOutput) +} + +// App Mesh object that is acting as the provider for a virtual service. You can specify a single virtual node or virtual router. +func (o VirtualServiceSpecOutput) Provider() VirtualServiceSpecProviderPtrOutput { + return o.ApplyT(func(v VirtualServiceSpec) *VirtualServiceSpecProvider { return v.Provider }).(VirtualServiceSpecProviderPtrOutput) +} + +type VirtualServiceSpecPtrOutput struct{ *pulumi.OutputState } + +func (VirtualServiceSpecPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**VirtualServiceSpec)(nil)).Elem() +} + +func (o VirtualServiceSpecPtrOutput) ToVirtualServiceSpecPtrOutput() VirtualServiceSpecPtrOutput { + return o +} + +func (o VirtualServiceSpecPtrOutput) ToVirtualServiceSpecPtrOutputWithContext(ctx context.Context) VirtualServiceSpecPtrOutput { + return o +} + +func (o VirtualServiceSpecPtrOutput) Elem() VirtualServiceSpecOutput { + return o.ApplyT(func(v *VirtualServiceSpec) VirtualServiceSpec { + if v != nil { + return *v + } + var ret VirtualServiceSpec + return ret + }).(VirtualServiceSpecOutput) +} + +// App Mesh object that is acting as the provider for a virtual service. You can specify a single virtual node or virtual router. +func (o VirtualServiceSpecPtrOutput) Provider() VirtualServiceSpecProviderPtrOutput { + return o.ApplyT(func(v *VirtualServiceSpec) *VirtualServiceSpecProvider { + if v == nil { + return nil + } + return v.Provider + }).(VirtualServiceSpecProviderPtrOutput) +} + +type VirtualServiceSpecProvider struct { + // Virtual node associated with a virtual service. + VirtualNode *VirtualServiceSpecProviderVirtualNode `pulumi:"virtualNode"` + // Virtual router associated with a virtual service. + VirtualRouter *VirtualServiceSpecProviderVirtualRouter `pulumi:"virtualRouter"` +} + +// VirtualServiceSpecProviderInput is an input type that accepts VirtualServiceSpecProviderArgs and VirtualServiceSpecProviderOutput values. +// You can construct a concrete instance of `VirtualServiceSpecProviderInput` via: +// +// VirtualServiceSpecProviderArgs{...} +type VirtualServiceSpecProviderInput interface { + pulumi.Input + + ToVirtualServiceSpecProviderOutput() VirtualServiceSpecProviderOutput + ToVirtualServiceSpecProviderOutputWithContext(context.Context) VirtualServiceSpecProviderOutput +} + +type VirtualServiceSpecProviderArgs struct { + // Virtual node associated with a virtual service. + VirtualNode VirtualServiceSpecProviderVirtualNodePtrInput `pulumi:"virtualNode"` + // Virtual router associated with a virtual service. + VirtualRouter VirtualServiceSpecProviderVirtualRouterPtrInput `pulumi:"virtualRouter"` +} + +func (VirtualServiceSpecProviderArgs) ElementType() reflect.Type { + return reflect.TypeOf((*VirtualServiceSpecProvider)(nil)).Elem() +} + +func (i VirtualServiceSpecProviderArgs) ToVirtualServiceSpecProviderOutput() VirtualServiceSpecProviderOutput { + return i.ToVirtualServiceSpecProviderOutputWithContext(context.Background()) +} + +func (i VirtualServiceSpecProviderArgs) ToVirtualServiceSpecProviderOutputWithContext(ctx context.Context) VirtualServiceSpecProviderOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualServiceSpecProviderOutput) +} + +func (i VirtualServiceSpecProviderArgs) ToVirtualServiceSpecProviderPtrOutput() VirtualServiceSpecProviderPtrOutput { + return i.ToVirtualServiceSpecProviderPtrOutputWithContext(context.Background()) +} + +func (i VirtualServiceSpecProviderArgs) ToVirtualServiceSpecProviderPtrOutputWithContext(ctx context.Context) VirtualServiceSpecProviderPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualServiceSpecProviderOutput).ToVirtualServiceSpecProviderPtrOutputWithContext(ctx) +} + +// VirtualServiceSpecProviderPtrInput is an input type that accepts VirtualServiceSpecProviderArgs, VirtualServiceSpecProviderPtr and VirtualServiceSpecProviderPtrOutput values. +// You can construct a concrete instance of `VirtualServiceSpecProviderPtrInput` via: +// +// VirtualServiceSpecProviderArgs{...} +// +// or: +// +// nil +type VirtualServiceSpecProviderPtrInput interface { + pulumi.Input + + ToVirtualServiceSpecProviderPtrOutput() VirtualServiceSpecProviderPtrOutput + ToVirtualServiceSpecProviderPtrOutputWithContext(context.Context) VirtualServiceSpecProviderPtrOutput +} + +type virtualServiceSpecProviderPtrType VirtualServiceSpecProviderArgs + +func VirtualServiceSpecProviderPtr(v *VirtualServiceSpecProviderArgs) VirtualServiceSpecProviderPtrInput { + return (*virtualServiceSpecProviderPtrType)(v) +} + +func (*virtualServiceSpecProviderPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**VirtualServiceSpecProvider)(nil)).Elem() +} + +func (i *virtualServiceSpecProviderPtrType) ToVirtualServiceSpecProviderPtrOutput() VirtualServiceSpecProviderPtrOutput { + return i.ToVirtualServiceSpecProviderPtrOutputWithContext(context.Background()) +} + +func (i *virtualServiceSpecProviderPtrType) ToVirtualServiceSpecProviderPtrOutputWithContext(ctx context.Context) VirtualServiceSpecProviderPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualServiceSpecProviderPtrOutput) +} + +type VirtualServiceSpecProviderOutput struct{ *pulumi.OutputState } + +func (VirtualServiceSpecProviderOutput) ElementType() reflect.Type { + return reflect.TypeOf((*VirtualServiceSpecProvider)(nil)).Elem() +} + +func (o VirtualServiceSpecProviderOutput) ToVirtualServiceSpecProviderOutput() VirtualServiceSpecProviderOutput { + return o +} + +func (o VirtualServiceSpecProviderOutput) ToVirtualServiceSpecProviderOutputWithContext(ctx context.Context) VirtualServiceSpecProviderOutput { + return o +} + +func (o VirtualServiceSpecProviderOutput) ToVirtualServiceSpecProviderPtrOutput() VirtualServiceSpecProviderPtrOutput { + return o.ToVirtualServiceSpecProviderPtrOutputWithContext(context.Background()) +} + +func (o VirtualServiceSpecProviderOutput) ToVirtualServiceSpecProviderPtrOutputWithContext(ctx context.Context) VirtualServiceSpecProviderPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v VirtualServiceSpecProvider) *VirtualServiceSpecProvider { + return &v + }).(VirtualServiceSpecProviderPtrOutput) +} + +// Virtual node associated with a virtual service. +func (o VirtualServiceSpecProviderOutput) VirtualNode() VirtualServiceSpecProviderVirtualNodePtrOutput { + return o.ApplyT(func(v VirtualServiceSpecProvider) *VirtualServiceSpecProviderVirtualNode { return v.VirtualNode }).(VirtualServiceSpecProviderVirtualNodePtrOutput) +} + +// Virtual router associated with a virtual service. +func (o VirtualServiceSpecProviderOutput) VirtualRouter() VirtualServiceSpecProviderVirtualRouterPtrOutput { + return o.ApplyT(func(v VirtualServiceSpecProvider) *VirtualServiceSpecProviderVirtualRouter { return v.VirtualRouter }).(VirtualServiceSpecProviderVirtualRouterPtrOutput) +} + +type VirtualServiceSpecProviderPtrOutput struct{ *pulumi.OutputState } + +func (VirtualServiceSpecProviderPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**VirtualServiceSpecProvider)(nil)).Elem() +} + +func (o VirtualServiceSpecProviderPtrOutput) ToVirtualServiceSpecProviderPtrOutput() VirtualServiceSpecProviderPtrOutput { + return o +} + +func (o VirtualServiceSpecProviderPtrOutput) ToVirtualServiceSpecProviderPtrOutputWithContext(ctx context.Context) VirtualServiceSpecProviderPtrOutput { + return o +} + +func (o VirtualServiceSpecProviderPtrOutput) Elem() VirtualServiceSpecProviderOutput { + return o.ApplyT(func(v *VirtualServiceSpecProvider) VirtualServiceSpecProvider { + if v != nil { + return *v + } + var ret VirtualServiceSpecProvider + return ret + }).(VirtualServiceSpecProviderOutput) +} + +// Virtual node associated with a virtual service. +func (o VirtualServiceSpecProviderPtrOutput) VirtualNode() VirtualServiceSpecProviderVirtualNodePtrOutput { + return o.ApplyT(func(v *VirtualServiceSpecProvider) *VirtualServiceSpecProviderVirtualNode { + if v == nil { + return nil + } + return v.VirtualNode + }).(VirtualServiceSpecProviderVirtualNodePtrOutput) +} + +// Virtual router associated with a virtual service. +func (o VirtualServiceSpecProviderPtrOutput) VirtualRouter() VirtualServiceSpecProviderVirtualRouterPtrOutput { + return o.ApplyT(func(v *VirtualServiceSpecProvider) *VirtualServiceSpecProviderVirtualRouter { + if v == nil { + return nil + } + return v.VirtualRouter + }).(VirtualServiceSpecProviderVirtualRouterPtrOutput) +} + +type VirtualServiceSpecProviderVirtualNode struct { + // Name of the virtual node that is acting as a service provider. Must be between 1 and 255 characters in length. + VirtualNodeName string `pulumi:"virtualNodeName"` +} + +// VirtualServiceSpecProviderVirtualNodeInput is an input type that accepts VirtualServiceSpecProviderVirtualNodeArgs and VirtualServiceSpecProviderVirtualNodeOutput values. +// You can construct a concrete instance of `VirtualServiceSpecProviderVirtualNodeInput` via: +// +// VirtualServiceSpecProviderVirtualNodeArgs{...} +type VirtualServiceSpecProviderVirtualNodeInput interface { + pulumi.Input + + ToVirtualServiceSpecProviderVirtualNodeOutput() VirtualServiceSpecProviderVirtualNodeOutput + ToVirtualServiceSpecProviderVirtualNodeOutputWithContext(context.Context) VirtualServiceSpecProviderVirtualNodeOutput +} + +type VirtualServiceSpecProviderVirtualNodeArgs struct { + // Name of the virtual node that is acting as a service provider. Must be between 1 and 255 characters in length. + VirtualNodeName pulumi.StringInput `pulumi:"virtualNodeName"` +} + +func (VirtualServiceSpecProviderVirtualNodeArgs) ElementType() reflect.Type { + return reflect.TypeOf((*VirtualServiceSpecProviderVirtualNode)(nil)).Elem() +} + +func (i VirtualServiceSpecProviderVirtualNodeArgs) ToVirtualServiceSpecProviderVirtualNodeOutput() VirtualServiceSpecProviderVirtualNodeOutput { + return i.ToVirtualServiceSpecProviderVirtualNodeOutputWithContext(context.Background()) +} + +func (i VirtualServiceSpecProviderVirtualNodeArgs) ToVirtualServiceSpecProviderVirtualNodeOutputWithContext(ctx context.Context) VirtualServiceSpecProviderVirtualNodeOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualServiceSpecProviderVirtualNodeOutput) +} + +func (i VirtualServiceSpecProviderVirtualNodeArgs) ToVirtualServiceSpecProviderVirtualNodePtrOutput() VirtualServiceSpecProviderVirtualNodePtrOutput { + return i.ToVirtualServiceSpecProviderVirtualNodePtrOutputWithContext(context.Background()) +} + +func (i VirtualServiceSpecProviderVirtualNodeArgs) ToVirtualServiceSpecProviderVirtualNodePtrOutputWithContext(ctx context.Context) VirtualServiceSpecProviderVirtualNodePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualServiceSpecProviderVirtualNodeOutput).ToVirtualServiceSpecProviderVirtualNodePtrOutputWithContext(ctx) +} + +// VirtualServiceSpecProviderVirtualNodePtrInput is an input type that accepts VirtualServiceSpecProviderVirtualNodeArgs, VirtualServiceSpecProviderVirtualNodePtr and VirtualServiceSpecProviderVirtualNodePtrOutput values. +// You can construct a concrete instance of `VirtualServiceSpecProviderVirtualNodePtrInput` via: +// +// VirtualServiceSpecProviderVirtualNodeArgs{...} +// +// or: +// +// nil +type VirtualServiceSpecProviderVirtualNodePtrInput interface { + pulumi.Input + + ToVirtualServiceSpecProviderVirtualNodePtrOutput() VirtualServiceSpecProviderVirtualNodePtrOutput + ToVirtualServiceSpecProviderVirtualNodePtrOutputWithContext(context.Context) VirtualServiceSpecProviderVirtualNodePtrOutput +} + +type virtualServiceSpecProviderVirtualNodePtrType VirtualServiceSpecProviderVirtualNodeArgs + +func VirtualServiceSpecProviderVirtualNodePtr(v *VirtualServiceSpecProviderVirtualNodeArgs) VirtualServiceSpecProviderVirtualNodePtrInput { + return (*virtualServiceSpecProviderVirtualNodePtrType)(v) +} + +func (*virtualServiceSpecProviderVirtualNodePtrType) ElementType() reflect.Type { + return reflect.TypeOf((**VirtualServiceSpecProviderVirtualNode)(nil)).Elem() +} + +func (i *virtualServiceSpecProviderVirtualNodePtrType) ToVirtualServiceSpecProviderVirtualNodePtrOutput() VirtualServiceSpecProviderVirtualNodePtrOutput { + return i.ToVirtualServiceSpecProviderVirtualNodePtrOutputWithContext(context.Background()) +} + +func (i *virtualServiceSpecProviderVirtualNodePtrType) ToVirtualServiceSpecProviderVirtualNodePtrOutputWithContext(ctx context.Context) VirtualServiceSpecProviderVirtualNodePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualServiceSpecProviderVirtualNodePtrOutput) +} + +type VirtualServiceSpecProviderVirtualNodeOutput struct{ *pulumi.OutputState } + +func (VirtualServiceSpecProviderVirtualNodeOutput) ElementType() reflect.Type { + return reflect.TypeOf((*VirtualServiceSpecProviderVirtualNode)(nil)).Elem() +} + +func (o VirtualServiceSpecProviderVirtualNodeOutput) ToVirtualServiceSpecProviderVirtualNodeOutput() VirtualServiceSpecProviderVirtualNodeOutput { + return o +} + +func (o VirtualServiceSpecProviderVirtualNodeOutput) ToVirtualServiceSpecProviderVirtualNodeOutputWithContext(ctx context.Context) VirtualServiceSpecProviderVirtualNodeOutput { + return o +} + +func (o VirtualServiceSpecProviderVirtualNodeOutput) ToVirtualServiceSpecProviderVirtualNodePtrOutput() VirtualServiceSpecProviderVirtualNodePtrOutput { + return o.ToVirtualServiceSpecProviderVirtualNodePtrOutputWithContext(context.Background()) +} + +func (o VirtualServiceSpecProviderVirtualNodeOutput) ToVirtualServiceSpecProviderVirtualNodePtrOutputWithContext(ctx context.Context) VirtualServiceSpecProviderVirtualNodePtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v VirtualServiceSpecProviderVirtualNode) *VirtualServiceSpecProviderVirtualNode { + return &v + }).(VirtualServiceSpecProviderVirtualNodePtrOutput) +} + +// Name of the virtual node that is acting as a service provider. Must be between 1 and 255 characters in length. +func (o VirtualServiceSpecProviderVirtualNodeOutput) VirtualNodeName() pulumi.StringOutput { + return o.ApplyT(func(v VirtualServiceSpecProviderVirtualNode) string { return v.VirtualNodeName }).(pulumi.StringOutput) +} + +type VirtualServiceSpecProviderVirtualNodePtrOutput struct{ *pulumi.OutputState } + +func (VirtualServiceSpecProviderVirtualNodePtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**VirtualServiceSpecProviderVirtualNode)(nil)).Elem() +} + +func (o VirtualServiceSpecProviderVirtualNodePtrOutput) ToVirtualServiceSpecProviderVirtualNodePtrOutput() VirtualServiceSpecProviderVirtualNodePtrOutput { + return o +} + +func (o VirtualServiceSpecProviderVirtualNodePtrOutput) ToVirtualServiceSpecProviderVirtualNodePtrOutputWithContext(ctx context.Context) VirtualServiceSpecProviderVirtualNodePtrOutput { + return o +} + +func (o VirtualServiceSpecProviderVirtualNodePtrOutput) Elem() VirtualServiceSpecProviderVirtualNodeOutput { + return o.ApplyT(func(v *VirtualServiceSpecProviderVirtualNode) VirtualServiceSpecProviderVirtualNode { + if v != nil { + return *v + } + var ret VirtualServiceSpecProviderVirtualNode + return ret + }).(VirtualServiceSpecProviderVirtualNodeOutput) +} + +// Name of the virtual node that is acting as a service provider. Must be between 1 and 255 characters in length. +func (o VirtualServiceSpecProviderVirtualNodePtrOutput) VirtualNodeName() pulumi.StringPtrOutput { + return o.ApplyT(func(v *VirtualServiceSpecProviderVirtualNode) *string { + if v == nil { + return nil + } + return &v.VirtualNodeName + }).(pulumi.StringPtrOutput) +} + +type VirtualServiceSpecProviderVirtualRouter struct { + // Name of the virtual router that is acting as a service provider. Must be between 1 and 255 characters in length. + VirtualRouterName string `pulumi:"virtualRouterName"` +} + +// VirtualServiceSpecProviderVirtualRouterInput is an input type that accepts VirtualServiceSpecProviderVirtualRouterArgs and VirtualServiceSpecProviderVirtualRouterOutput values. +// You can construct a concrete instance of `VirtualServiceSpecProviderVirtualRouterInput` via: +// +// VirtualServiceSpecProviderVirtualRouterArgs{...} +type VirtualServiceSpecProviderVirtualRouterInput interface { + pulumi.Input + + ToVirtualServiceSpecProviderVirtualRouterOutput() VirtualServiceSpecProviderVirtualRouterOutput + ToVirtualServiceSpecProviderVirtualRouterOutputWithContext(context.Context) VirtualServiceSpecProviderVirtualRouterOutput +} + +type VirtualServiceSpecProviderVirtualRouterArgs struct { + // Name of the virtual router that is acting as a service provider. Must be between 1 and 255 characters in length. + VirtualRouterName pulumi.StringInput `pulumi:"virtualRouterName"` +} + +func (VirtualServiceSpecProviderVirtualRouterArgs) ElementType() reflect.Type { + return reflect.TypeOf((*VirtualServiceSpecProviderVirtualRouter)(nil)).Elem() +} + +func (i VirtualServiceSpecProviderVirtualRouterArgs) ToVirtualServiceSpecProviderVirtualRouterOutput() VirtualServiceSpecProviderVirtualRouterOutput { + return i.ToVirtualServiceSpecProviderVirtualRouterOutputWithContext(context.Background()) +} + +func (i VirtualServiceSpecProviderVirtualRouterArgs) ToVirtualServiceSpecProviderVirtualRouterOutputWithContext(ctx context.Context) VirtualServiceSpecProviderVirtualRouterOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualServiceSpecProviderVirtualRouterOutput) +} + +func (i VirtualServiceSpecProviderVirtualRouterArgs) ToVirtualServiceSpecProviderVirtualRouterPtrOutput() VirtualServiceSpecProviderVirtualRouterPtrOutput { + return i.ToVirtualServiceSpecProviderVirtualRouterPtrOutputWithContext(context.Background()) +} + +func (i VirtualServiceSpecProviderVirtualRouterArgs) ToVirtualServiceSpecProviderVirtualRouterPtrOutputWithContext(ctx context.Context) VirtualServiceSpecProviderVirtualRouterPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualServiceSpecProviderVirtualRouterOutput).ToVirtualServiceSpecProviderVirtualRouterPtrOutputWithContext(ctx) +} + +// VirtualServiceSpecProviderVirtualRouterPtrInput is an input type that accepts VirtualServiceSpecProviderVirtualRouterArgs, VirtualServiceSpecProviderVirtualRouterPtr and VirtualServiceSpecProviderVirtualRouterPtrOutput values. +// You can construct a concrete instance of `VirtualServiceSpecProviderVirtualRouterPtrInput` via: +// +// VirtualServiceSpecProviderVirtualRouterArgs{...} +// +// or: +// +// nil +type VirtualServiceSpecProviderVirtualRouterPtrInput interface { + pulumi.Input + + ToVirtualServiceSpecProviderVirtualRouterPtrOutput() VirtualServiceSpecProviderVirtualRouterPtrOutput + ToVirtualServiceSpecProviderVirtualRouterPtrOutputWithContext(context.Context) VirtualServiceSpecProviderVirtualRouterPtrOutput +} + +type virtualServiceSpecProviderVirtualRouterPtrType VirtualServiceSpecProviderVirtualRouterArgs + +func VirtualServiceSpecProviderVirtualRouterPtr(v *VirtualServiceSpecProviderVirtualRouterArgs) VirtualServiceSpecProviderVirtualRouterPtrInput { + return (*virtualServiceSpecProviderVirtualRouterPtrType)(v) +} + +func (*virtualServiceSpecProviderVirtualRouterPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**VirtualServiceSpecProviderVirtualRouter)(nil)).Elem() +} + +func (i *virtualServiceSpecProviderVirtualRouterPtrType) ToVirtualServiceSpecProviderVirtualRouterPtrOutput() VirtualServiceSpecProviderVirtualRouterPtrOutput { + return i.ToVirtualServiceSpecProviderVirtualRouterPtrOutputWithContext(context.Background()) +} + +func (i *virtualServiceSpecProviderVirtualRouterPtrType) ToVirtualServiceSpecProviderVirtualRouterPtrOutputWithContext(ctx context.Context) VirtualServiceSpecProviderVirtualRouterPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VirtualServiceSpecProviderVirtualRouterPtrOutput) +} + +type VirtualServiceSpecProviderVirtualRouterOutput struct{ *pulumi.OutputState } + +func (VirtualServiceSpecProviderVirtualRouterOutput) ElementType() reflect.Type { + return reflect.TypeOf((*VirtualServiceSpecProviderVirtualRouter)(nil)).Elem() +} + +func (o VirtualServiceSpecProviderVirtualRouterOutput) ToVirtualServiceSpecProviderVirtualRouterOutput() VirtualServiceSpecProviderVirtualRouterOutput { + return o +} + +func (o VirtualServiceSpecProviderVirtualRouterOutput) ToVirtualServiceSpecProviderVirtualRouterOutputWithContext(ctx context.Context) VirtualServiceSpecProviderVirtualRouterOutput { + return o +} + +func (o VirtualServiceSpecProviderVirtualRouterOutput) ToVirtualServiceSpecProviderVirtualRouterPtrOutput() VirtualServiceSpecProviderVirtualRouterPtrOutput { + return o.ToVirtualServiceSpecProviderVirtualRouterPtrOutputWithContext(context.Background()) +} + +func (o VirtualServiceSpecProviderVirtualRouterOutput) ToVirtualServiceSpecProviderVirtualRouterPtrOutputWithContext(ctx context.Context) VirtualServiceSpecProviderVirtualRouterPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v VirtualServiceSpecProviderVirtualRouter) *VirtualServiceSpecProviderVirtualRouter { + return &v + }).(VirtualServiceSpecProviderVirtualRouterPtrOutput) +} + +// Name of the virtual router that is acting as a service provider. Must be between 1 and 255 characters in length. +func (o VirtualServiceSpecProviderVirtualRouterOutput) VirtualRouterName() pulumi.StringOutput { + return o.ApplyT(func(v VirtualServiceSpecProviderVirtualRouter) string { return v.VirtualRouterName }).(pulumi.StringOutput) +} + +type VirtualServiceSpecProviderVirtualRouterPtrOutput struct{ *pulumi.OutputState } + +func (VirtualServiceSpecProviderVirtualRouterPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**VirtualServiceSpecProviderVirtualRouter)(nil)).Elem() +} + +func (o VirtualServiceSpecProviderVirtualRouterPtrOutput) ToVirtualServiceSpecProviderVirtualRouterPtrOutput() VirtualServiceSpecProviderVirtualRouterPtrOutput { + return o +} + +func (o VirtualServiceSpecProviderVirtualRouterPtrOutput) ToVirtualServiceSpecProviderVirtualRouterPtrOutputWithContext(ctx context.Context) VirtualServiceSpecProviderVirtualRouterPtrOutput { + return o +} + +func (o VirtualServiceSpecProviderVirtualRouterPtrOutput) Elem() VirtualServiceSpecProviderVirtualRouterOutput { + return o.ApplyT(func(v *VirtualServiceSpecProviderVirtualRouter) VirtualServiceSpecProviderVirtualRouter { + if v != nil { + return *v + } + var ret VirtualServiceSpecProviderVirtualRouter + return ret + }).(VirtualServiceSpecProviderVirtualRouterOutput) +} + +// Name of the virtual router that is acting as a service provider. Must be between 1 and 255 characters in length. +func (o VirtualServiceSpecProviderVirtualRouterPtrOutput) VirtualRouterName() pulumi.StringPtrOutput { + return o.ApplyT(func(v *VirtualServiceSpecProviderVirtualRouter) *string { + if v == nil { + return nil + } + return &v.VirtualRouterName + }).(pulumi.StringPtrOutput) +} + +type GetGatewayRouteSpec struct { + GrpcRoutes []GetGatewayRouteSpecGrpcRoute `pulumi:"grpcRoutes"` + Http2Routes []GetGatewayRouteSpecHttp2Route `pulumi:"http2Routes"` + HttpRoutes []GetGatewayRouteSpecHttpRoute `pulumi:"httpRoutes"` + Priority int `pulumi:"priority"` +} + +// GetGatewayRouteSpecInput is an input type that accepts GetGatewayRouteSpecArgs and GetGatewayRouteSpecOutput values. +// You can construct a concrete instance of `GetGatewayRouteSpecInput` via: +// +// GetGatewayRouteSpecArgs{...} +type GetGatewayRouteSpecInput interface { + pulumi.Input + + ToGetGatewayRouteSpecOutput() GetGatewayRouteSpecOutput + ToGetGatewayRouteSpecOutputWithContext(context.Context) GetGatewayRouteSpecOutput +} + +type GetGatewayRouteSpecArgs struct { + GrpcRoutes GetGatewayRouteSpecGrpcRouteArrayInput `pulumi:"grpcRoutes"` + Http2Routes GetGatewayRouteSpecHttp2RouteArrayInput `pulumi:"http2Routes"` + HttpRoutes GetGatewayRouteSpecHttpRouteArrayInput `pulumi:"httpRoutes"` + Priority pulumi.IntInput `pulumi:"priority"` +} + +func (GetGatewayRouteSpecArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetGatewayRouteSpec)(nil)).Elem() +} + +func (i GetGatewayRouteSpecArgs) ToGetGatewayRouteSpecOutput() GetGatewayRouteSpecOutput { + return i.ToGetGatewayRouteSpecOutputWithContext(context.Background()) +} + +func (i GetGatewayRouteSpecArgs) ToGetGatewayRouteSpecOutputWithContext(ctx context.Context) GetGatewayRouteSpecOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetGatewayRouteSpecOutput) +} + +// GetGatewayRouteSpecArrayInput is an input type that accepts GetGatewayRouteSpecArray and GetGatewayRouteSpecArrayOutput values. +// You can construct a concrete instance of `GetGatewayRouteSpecArrayInput` via: +// +// GetGatewayRouteSpecArray{ GetGatewayRouteSpecArgs{...} } +type GetGatewayRouteSpecArrayInput interface { + pulumi.Input + + ToGetGatewayRouteSpecArrayOutput() GetGatewayRouteSpecArrayOutput + ToGetGatewayRouteSpecArrayOutputWithContext(context.Context) GetGatewayRouteSpecArrayOutput +} + +type GetGatewayRouteSpecArray []GetGatewayRouteSpecInput + +func (GetGatewayRouteSpecArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetGatewayRouteSpec)(nil)).Elem() +} + +func (i GetGatewayRouteSpecArray) ToGetGatewayRouteSpecArrayOutput() GetGatewayRouteSpecArrayOutput { + return i.ToGetGatewayRouteSpecArrayOutputWithContext(context.Background()) +} + +func (i GetGatewayRouteSpecArray) ToGetGatewayRouteSpecArrayOutputWithContext(ctx context.Context) GetGatewayRouteSpecArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetGatewayRouteSpecArrayOutput) +} + +type GetGatewayRouteSpecOutput struct{ *pulumi.OutputState } + +func (GetGatewayRouteSpecOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetGatewayRouteSpec)(nil)).Elem() +} + +func (o GetGatewayRouteSpecOutput) ToGetGatewayRouteSpecOutput() GetGatewayRouteSpecOutput { + return o +} + +func (o GetGatewayRouteSpecOutput) ToGetGatewayRouteSpecOutputWithContext(ctx context.Context) GetGatewayRouteSpecOutput { + return o +} + +func (o GetGatewayRouteSpecOutput) GrpcRoutes() GetGatewayRouteSpecGrpcRouteArrayOutput { + return o.ApplyT(func(v GetGatewayRouteSpec) []GetGatewayRouteSpecGrpcRoute { return v.GrpcRoutes }).(GetGatewayRouteSpecGrpcRouteArrayOutput) +} + +func (o GetGatewayRouteSpecOutput) Http2Routes() GetGatewayRouteSpecHttp2RouteArrayOutput { + return o.ApplyT(func(v GetGatewayRouteSpec) []GetGatewayRouteSpecHttp2Route { return v.Http2Routes }).(GetGatewayRouteSpecHttp2RouteArrayOutput) +} + +func (o GetGatewayRouteSpecOutput) HttpRoutes() GetGatewayRouteSpecHttpRouteArrayOutput { + return o.ApplyT(func(v GetGatewayRouteSpec) []GetGatewayRouteSpecHttpRoute { return v.HttpRoutes }).(GetGatewayRouteSpecHttpRouteArrayOutput) +} + +func (o GetGatewayRouteSpecOutput) Priority() pulumi.IntOutput { + return o.ApplyT(func(v GetGatewayRouteSpec) int { return v.Priority }).(pulumi.IntOutput) +} + +type GetGatewayRouteSpecArrayOutput struct{ *pulumi.OutputState } + +func (GetGatewayRouteSpecArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetGatewayRouteSpec)(nil)).Elem() +} + +func (o GetGatewayRouteSpecArrayOutput) ToGetGatewayRouteSpecArrayOutput() GetGatewayRouteSpecArrayOutput { + return o +} + +func (o GetGatewayRouteSpecArrayOutput) ToGetGatewayRouteSpecArrayOutputWithContext(ctx context.Context) GetGatewayRouteSpecArrayOutput { + return o +} + +func (o GetGatewayRouteSpecArrayOutput) Index(i pulumi.IntInput) GetGatewayRouteSpecOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetGatewayRouteSpec { + return vs[0].([]GetGatewayRouteSpec)[vs[1].(int)] + }).(GetGatewayRouteSpecOutput) +} + +type GetGatewayRouteSpecGrpcRoute struct { + Actions []GetGatewayRouteSpecGrpcRouteAction `pulumi:"actions"` + Matches []GetGatewayRouteSpecGrpcRouteMatch `pulumi:"matches"` +} + +// GetGatewayRouteSpecGrpcRouteInput is an input type that accepts GetGatewayRouteSpecGrpcRouteArgs and GetGatewayRouteSpecGrpcRouteOutput values. +// You can construct a concrete instance of `GetGatewayRouteSpecGrpcRouteInput` via: +// +// GetGatewayRouteSpecGrpcRouteArgs{...} +type GetGatewayRouteSpecGrpcRouteInput interface { + pulumi.Input + + ToGetGatewayRouteSpecGrpcRouteOutput() GetGatewayRouteSpecGrpcRouteOutput + ToGetGatewayRouteSpecGrpcRouteOutputWithContext(context.Context) GetGatewayRouteSpecGrpcRouteOutput +} + +type GetGatewayRouteSpecGrpcRouteArgs struct { + Actions GetGatewayRouteSpecGrpcRouteActionArrayInput `pulumi:"actions"` + Matches GetGatewayRouteSpecGrpcRouteMatchArrayInput `pulumi:"matches"` +} + +func (GetGatewayRouteSpecGrpcRouteArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetGatewayRouteSpecGrpcRoute)(nil)).Elem() +} + +func (i GetGatewayRouteSpecGrpcRouteArgs) ToGetGatewayRouteSpecGrpcRouteOutput() GetGatewayRouteSpecGrpcRouteOutput { + return i.ToGetGatewayRouteSpecGrpcRouteOutputWithContext(context.Background()) +} + +func (i GetGatewayRouteSpecGrpcRouteArgs) ToGetGatewayRouteSpecGrpcRouteOutputWithContext(ctx context.Context) GetGatewayRouteSpecGrpcRouteOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetGatewayRouteSpecGrpcRouteOutput) +} + +// GetGatewayRouteSpecGrpcRouteArrayInput is an input type that accepts GetGatewayRouteSpecGrpcRouteArray and GetGatewayRouteSpecGrpcRouteArrayOutput values. +// You can construct a concrete instance of `GetGatewayRouteSpecGrpcRouteArrayInput` via: +// +// GetGatewayRouteSpecGrpcRouteArray{ GetGatewayRouteSpecGrpcRouteArgs{...} } +type GetGatewayRouteSpecGrpcRouteArrayInput interface { + pulumi.Input + + ToGetGatewayRouteSpecGrpcRouteArrayOutput() GetGatewayRouteSpecGrpcRouteArrayOutput + ToGetGatewayRouteSpecGrpcRouteArrayOutputWithContext(context.Context) GetGatewayRouteSpecGrpcRouteArrayOutput +} + +type GetGatewayRouteSpecGrpcRouteArray []GetGatewayRouteSpecGrpcRouteInput + +func (GetGatewayRouteSpecGrpcRouteArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetGatewayRouteSpecGrpcRoute)(nil)).Elem() +} + +func (i GetGatewayRouteSpecGrpcRouteArray) ToGetGatewayRouteSpecGrpcRouteArrayOutput() GetGatewayRouteSpecGrpcRouteArrayOutput { + return i.ToGetGatewayRouteSpecGrpcRouteArrayOutputWithContext(context.Background()) +} + +func (i GetGatewayRouteSpecGrpcRouteArray) ToGetGatewayRouteSpecGrpcRouteArrayOutputWithContext(ctx context.Context) GetGatewayRouteSpecGrpcRouteArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetGatewayRouteSpecGrpcRouteArrayOutput) +} + +type GetGatewayRouteSpecGrpcRouteOutput struct{ *pulumi.OutputState } + +func (GetGatewayRouteSpecGrpcRouteOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetGatewayRouteSpecGrpcRoute)(nil)).Elem() +} + +func (o GetGatewayRouteSpecGrpcRouteOutput) ToGetGatewayRouteSpecGrpcRouteOutput() GetGatewayRouteSpecGrpcRouteOutput { + return o +} + +func (o GetGatewayRouteSpecGrpcRouteOutput) ToGetGatewayRouteSpecGrpcRouteOutputWithContext(ctx context.Context) GetGatewayRouteSpecGrpcRouteOutput { + return o +} + +func (o GetGatewayRouteSpecGrpcRouteOutput) Actions() GetGatewayRouteSpecGrpcRouteActionArrayOutput { + return o.ApplyT(func(v GetGatewayRouteSpecGrpcRoute) []GetGatewayRouteSpecGrpcRouteAction { return v.Actions }).(GetGatewayRouteSpecGrpcRouteActionArrayOutput) +} + +func (o GetGatewayRouteSpecGrpcRouteOutput) Matches() GetGatewayRouteSpecGrpcRouteMatchArrayOutput { + return o.ApplyT(func(v GetGatewayRouteSpecGrpcRoute) []GetGatewayRouteSpecGrpcRouteMatch { return v.Matches }).(GetGatewayRouteSpecGrpcRouteMatchArrayOutput) +} + +type GetGatewayRouteSpecGrpcRouteArrayOutput struct{ *pulumi.OutputState } + +func (GetGatewayRouteSpecGrpcRouteArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetGatewayRouteSpecGrpcRoute)(nil)).Elem() +} + +func (o GetGatewayRouteSpecGrpcRouteArrayOutput) ToGetGatewayRouteSpecGrpcRouteArrayOutput() GetGatewayRouteSpecGrpcRouteArrayOutput { + return o +} + +func (o GetGatewayRouteSpecGrpcRouteArrayOutput) ToGetGatewayRouteSpecGrpcRouteArrayOutputWithContext(ctx context.Context) GetGatewayRouteSpecGrpcRouteArrayOutput { + return o +} + +func (o GetGatewayRouteSpecGrpcRouteArrayOutput) Index(i pulumi.IntInput) GetGatewayRouteSpecGrpcRouteOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetGatewayRouteSpecGrpcRoute { + return vs[0].([]GetGatewayRouteSpecGrpcRoute)[vs[1].(int)] + }).(GetGatewayRouteSpecGrpcRouteOutput) +} + +type GetGatewayRouteSpecGrpcRouteAction struct { + Targets []GetGatewayRouteSpecGrpcRouteActionTarget `pulumi:"targets"` +} + +// GetGatewayRouteSpecGrpcRouteActionInput is an input type that accepts GetGatewayRouteSpecGrpcRouteActionArgs and GetGatewayRouteSpecGrpcRouteActionOutput values. +// You can construct a concrete instance of `GetGatewayRouteSpecGrpcRouteActionInput` via: +// +// GetGatewayRouteSpecGrpcRouteActionArgs{...} +type GetGatewayRouteSpecGrpcRouteActionInput interface { + pulumi.Input + + ToGetGatewayRouteSpecGrpcRouteActionOutput() GetGatewayRouteSpecGrpcRouteActionOutput + ToGetGatewayRouteSpecGrpcRouteActionOutputWithContext(context.Context) GetGatewayRouteSpecGrpcRouteActionOutput +} + +type GetGatewayRouteSpecGrpcRouteActionArgs struct { + Targets GetGatewayRouteSpecGrpcRouteActionTargetArrayInput `pulumi:"targets"` +} + +func (GetGatewayRouteSpecGrpcRouteActionArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetGatewayRouteSpecGrpcRouteAction)(nil)).Elem() +} + +func (i GetGatewayRouteSpecGrpcRouteActionArgs) ToGetGatewayRouteSpecGrpcRouteActionOutput() GetGatewayRouteSpecGrpcRouteActionOutput { + return i.ToGetGatewayRouteSpecGrpcRouteActionOutputWithContext(context.Background()) +} + +func (i GetGatewayRouteSpecGrpcRouteActionArgs) ToGetGatewayRouteSpecGrpcRouteActionOutputWithContext(ctx context.Context) GetGatewayRouteSpecGrpcRouteActionOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetGatewayRouteSpecGrpcRouteActionOutput) +} + +// GetGatewayRouteSpecGrpcRouteActionArrayInput is an input type that accepts GetGatewayRouteSpecGrpcRouteActionArray and GetGatewayRouteSpecGrpcRouteActionArrayOutput values. +// You can construct a concrete instance of `GetGatewayRouteSpecGrpcRouteActionArrayInput` via: +// +// GetGatewayRouteSpecGrpcRouteActionArray{ GetGatewayRouteSpecGrpcRouteActionArgs{...} } +type GetGatewayRouteSpecGrpcRouteActionArrayInput interface { + pulumi.Input + + ToGetGatewayRouteSpecGrpcRouteActionArrayOutput() GetGatewayRouteSpecGrpcRouteActionArrayOutput + ToGetGatewayRouteSpecGrpcRouteActionArrayOutputWithContext(context.Context) GetGatewayRouteSpecGrpcRouteActionArrayOutput +} + +type GetGatewayRouteSpecGrpcRouteActionArray []GetGatewayRouteSpecGrpcRouteActionInput + +func (GetGatewayRouteSpecGrpcRouteActionArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetGatewayRouteSpecGrpcRouteAction)(nil)).Elem() +} + +func (i GetGatewayRouteSpecGrpcRouteActionArray) ToGetGatewayRouteSpecGrpcRouteActionArrayOutput() GetGatewayRouteSpecGrpcRouteActionArrayOutput { + return i.ToGetGatewayRouteSpecGrpcRouteActionArrayOutputWithContext(context.Background()) +} + +func (i GetGatewayRouteSpecGrpcRouteActionArray) ToGetGatewayRouteSpecGrpcRouteActionArrayOutputWithContext(ctx context.Context) GetGatewayRouteSpecGrpcRouteActionArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetGatewayRouteSpecGrpcRouteActionArrayOutput) +} + +type GetGatewayRouteSpecGrpcRouteActionOutput struct{ *pulumi.OutputState } + +func (GetGatewayRouteSpecGrpcRouteActionOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetGatewayRouteSpecGrpcRouteAction)(nil)).Elem() +} + +func (o GetGatewayRouteSpecGrpcRouteActionOutput) ToGetGatewayRouteSpecGrpcRouteActionOutput() GetGatewayRouteSpecGrpcRouteActionOutput { + return o +} + +func (o GetGatewayRouteSpecGrpcRouteActionOutput) ToGetGatewayRouteSpecGrpcRouteActionOutputWithContext(ctx context.Context) GetGatewayRouteSpecGrpcRouteActionOutput { + return o +} + +func (o GetGatewayRouteSpecGrpcRouteActionOutput) Targets() GetGatewayRouteSpecGrpcRouteActionTargetArrayOutput { + return o.ApplyT(func(v GetGatewayRouteSpecGrpcRouteAction) []GetGatewayRouteSpecGrpcRouteActionTarget { + return v.Targets + }).(GetGatewayRouteSpecGrpcRouteActionTargetArrayOutput) +} + +type GetGatewayRouteSpecGrpcRouteActionArrayOutput struct{ *pulumi.OutputState } + +func (GetGatewayRouteSpecGrpcRouteActionArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetGatewayRouteSpecGrpcRouteAction)(nil)).Elem() +} + +func (o GetGatewayRouteSpecGrpcRouteActionArrayOutput) ToGetGatewayRouteSpecGrpcRouteActionArrayOutput() GetGatewayRouteSpecGrpcRouteActionArrayOutput { + return o +} + +func (o GetGatewayRouteSpecGrpcRouteActionArrayOutput) ToGetGatewayRouteSpecGrpcRouteActionArrayOutputWithContext(ctx context.Context) GetGatewayRouteSpecGrpcRouteActionArrayOutput { + return o +} + +func (o GetGatewayRouteSpecGrpcRouteActionArrayOutput) Index(i pulumi.IntInput) GetGatewayRouteSpecGrpcRouteActionOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetGatewayRouteSpecGrpcRouteAction { + return vs[0].([]GetGatewayRouteSpecGrpcRouteAction)[vs[1].(int)] + }).(GetGatewayRouteSpecGrpcRouteActionOutput) +} + +type GetGatewayRouteSpecGrpcRouteActionTarget struct { + Port int `pulumi:"port"` + VirtualServices []GetGatewayRouteSpecGrpcRouteActionTargetVirtualService `pulumi:"virtualServices"` +} + +// GetGatewayRouteSpecGrpcRouteActionTargetInput is an input type that accepts GetGatewayRouteSpecGrpcRouteActionTargetArgs and GetGatewayRouteSpecGrpcRouteActionTargetOutput values. +// You can construct a concrete instance of `GetGatewayRouteSpecGrpcRouteActionTargetInput` via: +// +// GetGatewayRouteSpecGrpcRouteActionTargetArgs{...} +type GetGatewayRouteSpecGrpcRouteActionTargetInput interface { + pulumi.Input + + ToGetGatewayRouteSpecGrpcRouteActionTargetOutput() GetGatewayRouteSpecGrpcRouteActionTargetOutput + ToGetGatewayRouteSpecGrpcRouteActionTargetOutputWithContext(context.Context) GetGatewayRouteSpecGrpcRouteActionTargetOutput +} + +type GetGatewayRouteSpecGrpcRouteActionTargetArgs struct { + Port pulumi.IntInput `pulumi:"port"` + VirtualServices GetGatewayRouteSpecGrpcRouteActionTargetVirtualServiceArrayInput `pulumi:"virtualServices"` +} + +func (GetGatewayRouteSpecGrpcRouteActionTargetArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetGatewayRouteSpecGrpcRouteActionTarget)(nil)).Elem() +} + +func (i GetGatewayRouteSpecGrpcRouteActionTargetArgs) ToGetGatewayRouteSpecGrpcRouteActionTargetOutput() GetGatewayRouteSpecGrpcRouteActionTargetOutput { + return i.ToGetGatewayRouteSpecGrpcRouteActionTargetOutputWithContext(context.Background()) +} + +func (i GetGatewayRouteSpecGrpcRouteActionTargetArgs) ToGetGatewayRouteSpecGrpcRouteActionTargetOutputWithContext(ctx context.Context) GetGatewayRouteSpecGrpcRouteActionTargetOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetGatewayRouteSpecGrpcRouteActionTargetOutput) +} + +// GetGatewayRouteSpecGrpcRouteActionTargetArrayInput is an input type that accepts GetGatewayRouteSpecGrpcRouteActionTargetArray and GetGatewayRouteSpecGrpcRouteActionTargetArrayOutput values. +// You can construct a concrete instance of `GetGatewayRouteSpecGrpcRouteActionTargetArrayInput` via: +// +// GetGatewayRouteSpecGrpcRouteActionTargetArray{ GetGatewayRouteSpecGrpcRouteActionTargetArgs{...} } +type GetGatewayRouteSpecGrpcRouteActionTargetArrayInput interface { + pulumi.Input + + ToGetGatewayRouteSpecGrpcRouteActionTargetArrayOutput() GetGatewayRouteSpecGrpcRouteActionTargetArrayOutput + ToGetGatewayRouteSpecGrpcRouteActionTargetArrayOutputWithContext(context.Context) GetGatewayRouteSpecGrpcRouteActionTargetArrayOutput +} + +type GetGatewayRouteSpecGrpcRouteActionTargetArray []GetGatewayRouteSpecGrpcRouteActionTargetInput + +func (GetGatewayRouteSpecGrpcRouteActionTargetArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetGatewayRouteSpecGrpcRouteActionTarget)(nil)).Elem() +} + +func (i GetGatewayRouteSpecGrpcRouteActionTargetArray) ToGetGatewayRouteSpecGrpcRouteActionTargetArrayOutput() GetGatewayRouteSpecGrpcRouteActionTargetArrayOutput { + return i.ToGetGatewayRouteSpecGrpcRouteActionTargetArrayOutputWithContext(context.Background()) +} + +func (i GetGatewayRouteSpecGrpcRouteActionTargetArray) ToGetGatewayRouteSpecGrpcRouteActionTargetArrayOutputWithContext(ctx context.Context) GetGatewayRouteSpecGrpcRouteActionTargetArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetGatewayRouteSpecGrpcRouteActionTargetArrayOutput) +} + +type GetGatewayRouteSpecGrpcRouteActionTargetOutput struct{ *pulumi.OutputState } + +func (GetGatewayRouteSpecGrpcRouteActionTargetOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetGatewayRouteSpecGrpcRouteActionTarget)(nil)).Elem() +} + +func (o GetGatewayRouteSpecGrpcRouteActionTargetOutput) ToGetGatewayRouteSpecGrpcRouteActionTargetOutput() GetGatewayRouteSpecGrpcRouteActionTargetOutput { + return o +} + +func (o GetGatewayRouteSpecGrpcRouteActionTargetOutput) ToGetGatewayRouteSpecGrpcRouteActionTargetOutputWithContext(ctx context.Context) GetGatewayRouteSpecGrpcRouteActionTargetOutput { + return o +} + +func (o GetGatewayRouteSpecGrpcRouteActionTargetOutput) Port() pulumi.IntOutput { + return o.ApplyT(func(v GetGatewayRouteSpecGrpcRouteActionTarget) int { return v.Port }).(pulumi.IntOutput) +} + +func (o GetGatewayRouteSpecGrpcRouteActionTargetOutput) VirtualServices() GetGatewayRouteSpecGrpcRouteActionTargetVirtualServiceArrayOutput { + return o.ApplyT(func(v GetGatewayRouteSpecGrpcRouteActionTarget) []GetGatewayRouteSpecGrpcRouteActionTargetVirtualService { + return v.VirtualServices + }).(GetGatewayRouteSpecGrpcRouteActionTargetVirtualServiceArrayOutput) +} + +type GetGatewayRouteSpecGrpcRouteActionTargetArrayOutput struct{ *pulumi.OutputState } + +func (GetGatewayRouteSpecGrpcRouteActionTargetArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetGatewayRouteSpecGrpcRouteActionTarget)(nil)).Elem() +} + +func (o GetGatewayRouteSpecGrpcRouteActionTargetArrayOutput) ToGetGatewayRouteSpecGrpcRouteActionTargetArrayOutput() GetGatewayRouteSpecGrpcRouteActionTargetArrayOutput { + return o +} + +func (o GetGatewayRouteSpecGrpcRouteActionTargetArrayOutput) ToGetGatewayRouteSpecGrpcRouteActionTargetArrayOutputWithContext(ctx context.Context) GetGatewayRouteSpecGrpcRouteActionTargetArrayOutput { + return o +} + +func (o GetGatewayRouteSpecGrpcRouteActionTargetArrayOutput) Index(i pulumi.IntInput) GetGatewayRouteSpecGrpcRouteActionTargetOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetGatewayRouteSpecGrpcRouteActionTarget { + return vs[0].([]GetGatewayRouteSpecGrpcRouteActionTarget)[vs[1].(int)] + }).(GetGatewayRouteSpecGrpcRouteActionTargetOutput) +} + +type GetGatewayRouteSpecGrpcRouteActionTargetVirtualService struct { + VirtualServiceName string `pulumi:"virtualServiceName"` +} + +// GetGatewayRouteSpecGrpcRouteActionTargetVirtualServiceInput is an input type that accepts GetGatewayRouteSpecGrpcRouteActionTargetVirtualServiceArgs and GetGatewayRouteSpecGrpcRouteActionTargetVirtualServiceOutput values. +// You can construct a concrete instance of `GetGatewayRouteSpecGrpcRouteActionTargetVirtualServiceInput` via: +// +// GetGatewayRouteSpecGrpcRouteActionTargetVirtualServiceArgs{...} +type GetGatewayRouteSpecGrpcRouteActionTargetVirtualServiceInput interface { + pulumi.Input + + ToGetGatewayRouteSpecGrpcRouteActionTargetVirtualServiceOutput() GetGatewayRouteSpecGrpcRouteActionTargetVirtualServiceOutput + ToGetGatewayRouteSpecGrpcRouteActionTargetVirtualServiceOutputWithContext(context.Context) GetGatewayRouteSpecGrpcRouteActionTargetVirtualServiceOutput +} + +type GetGatewayRouteSpecGrpcRouteActionTargetVirtualServiceArgs struct { + VirtualServiceName pulumi.StringInput `pulumi:"virtualServiceName"` +} + +func (GetGatewayRouteSpecGrpcRouteActionTargetVirtualServiceArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetGatewayRouteSpecGrpcRouteActionTargetVirtualService)(nil)).Elem() +} + +func (i GetGatewayRouteSpecGrpcRouteActionTargetVirtualServiceArgs) ToGetGatewayRouteSpecGrpcRouteActionTargetVirtualServiceOutput() GetGatewayRouteSpecGrpcRouteActionTargetVirtualServiceOutput { + return i.ToGetGatewayRouteSpecGrpcRouteActionTargetVirtualServiceOutputWithContext(context.Background()) +} + +func (i GetGatewayRouteSpecGrpcRouteActionTargetVirtualServiceArgs) ToGetGatewayRouteSpecGrpcRouteActionTargetVirtualServiceOutputWithContext(ctx context.Context) GetGatewayRouteSpecGrpcRouteActionTargetVirtualServiceOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetGatewayRouteSpecGrpcRouteActionTargetVirtualServiceOutput) +} + +// GetGatewayRouteSpecGrpcRouteActionTargetVirtualServiceArrayInput is an input type that accepts GetGatewayRouteSpecGrpcRouteActionTargetVirtualServiceArray and GetGatewayRouteSpecGrpcRouteActionTargetVirtualServiceArrayOutput values. +// You can construct a concrete instance of `GetGatewayRouteSpecGrpcRouteActionTargetVirtualServiceArrayInput` via: +// +// GetGatewayRouteSpecGrpcRouteActionTargetVirtualServiceArray{ GetGatewayRouteSpecGrpcRouteActionTargetVirtualServiceArgs{...} } +type GetGatewayRouteSpecGrpcRouteActionTargetVirtualServiceArrayInput interface { + pulumi.Input + + ToGetGatewayRouteSpecGrpcRouteActionTargetVirtualServiceArrayOutput() GetGatewayRouteSpecGrpcRouteActionTargetVirtualServiceArrayOutput + ToGetGatewayRouteSpecGrpcRouteActionTargetVirtualServiceArrayOutputWithContext(context.Context) GetGatewayRouteSpecGrpcRouteActionTargetVirtualServiceArrayOutput +} + +type GetGatewayRouteSpecGrpcRouteActionTargetVirtualServiceArray []GetGatewayRouteSpecGrpcRouteActionTargetVirtualServiceInput + +func (GetGatewayRouteSpecGrpcRouteActionTargetVirtualServiceArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetGatewayRouteSpecGrpcRouteActionTargetVirtualService)(nil)).Elem() +} + +func (i GetGatewayRouteSpecGrpcRouteActionTargetVirtualServiceArray) ToGetGatewayRouteSpecGrpcRouteActionTargetVirtualServiceArrayOutput() GetGatewayRouteSpecGrpcRouteActionTargetVirtualServiceArrayOutput { + return i.ToGetGatewayRouteSpecGrpcRouteActionTargetVirtualServiceArrayOutputWithContext(context.Background()) +} + +func (i GetGatewayRouteSpecGrpcRouteActionTargetVirtualServiceArray) ToGetGatewayRouteSpecGrpcRouteActionTargetVirtualServiceArrayOutputWithContext(ctx context.Context) GetGatewayRouteSpecGrpcRouteActionTargetVirtualServiceArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetGatewayRouteSpecGrpcRouteActionTargetVirtualServiceArrayOutput) +} + +type GetGatewayRouteSpecGrpcRouteActionTargetVirtualServiceOutput struct{ *pulumi.OutputState } + +func (GetGatewayRouteSpecGrpcRouteActionTargetVirtualServiceOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetGatewayRouteSpecGrpcRouteActionTargetVirtualService)(nil)).Elem() +} + +func (o GetGatewayRouteSpecGrpcRouteActionTargetVirtualServiceOutput) ToGetGatewayRouteSpecGrpcRouteActionTargetVirtualServiceOutput() GetGatewayRouteSpecGrpcRouteActionTargetVirtualServiceOutput { + return o +} + +func (o GetGatewayRouteSpecGrpcRouteActionTargetVirtualServiceOutput) ToGetGatewayRouteSpecGrpcRouteActionTargetVirtualServiceOutputWithContext(ctx context.Context) GetGatewayRouteSpecGrpcRouteActionTargetVirtualServiceOutput { + return o +} + +func (o GetGatewayRouteSpecGrpcRouteActionTargetVirtualServiceOutput) VirtualServiceName() pulumi.StringOutput { + return o.ApplyT(func(v GetGatewayRouteSpecGrpcRouteActionTargetVirtualService) string { return v.VirtualServiceName }).(pulumi.StringOutput) +} + +type GetGatewayRouteSpecGrpcRouteActionTargetVirtualServiceArrayOutput struct{ *pulumi.OutputState } + +func (GetGatewayRouteSpecGrpcRouteActionTargetVirtualServiceArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetGatewayRouteSpecGrpcRouteActionTargetVirtualService)(nil)).Elem() +} + +func (o GetGatewayRouteSpecGrpcRouteActionTargetVirtualServiceArrayOutput) ToGetGatewayRouteSpecGrpcRouteActionTargetVirtualServiceArrayOutput() GetGatewayRouteSpecGrpcRouteActionTargetVirtualServiceArrayOutput { + return o +} + +func (o GetGatewayRouteSpecGrpcRouteActionTargetVirtualServiceArrayOutput) ToGetGatewayRouteSpecGrpcRouteActionTargetVirtualServiceArrayOutputWithContext(ctx context.Context) GetGatewayRouteSpecGrpcRouteActionTargetVirtualServiceArrayOutput { + return o +} + +func (o GetGatewayRouteSpecGrpcRouteActionTargetVirtualServiceArrayOutput) Index(i pulumi.IntInput) GetGatewayRouteSpecGrpcRouteActionTargetVirtualServiceOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetGatewayRouteSpecGrpcRouteActionTargetVirtualService { + return vs[0].([]GetGatewayRouteSpecGrpcRouteActionTargetVirtualService)[vs[1].(int)] + }).(GetGatewayRouteSpecGrpcRouteActionTargetVirtualServiceOutput) +} + +type GetGatewayRouteSpecGrpcRouteMatch struct { + Port int `pulumi:"port"` + ServiceName string `pulumi:"serviceName"` +} + +// GetGatewayRouteSpecGrpcRouteMatchInput is an input type that accepts GetGatewayRouteSpecGrpcRouteMatchArgs and GetGatewayRouteSpecGrpcRouteMatchOutput values. +// You can construct a concrete instance of `GetGatewayRouteSpecGrpcRouteMatchInput` via: +// +// GetGatewayRouteSpecGrpcRouteMatchArgs{...} +type GetGatewayRouteSpecGrpcRouteMatchInput interface { + pulumi.Input + + ToGetGatewayRouteSpecGrpcRouteMatchOutput() GetGatewayRouteSpecGrpcRouteMatchOutput + ToGetGatewayRouteSpecGrpcRouteMatchOutputWithContext(context.Context) GetGatewayRouteSpecGrpcRouteMatchOutput +} + +type GetGatewayRouteSpecGrpcRouteMatchArgs struct { + Port pulumi.IntInput `pulumi:"port"` + ServiceName pulumi.StringInput `pulumi:"serviceName"` +} + +func (GetGatewayRouteSpecGrpcRouteMatchArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetGatewayRouteSpecGrpcRouteMatch)(nil)).Elem() +} + +func (i GetGatewayRouteSpecGrpcRouteMatchArgs) ToGetGatewayRouteSpecGrpcRouteMatchOutput() GetGatewayRouteSpecGrpcRouteMatchOutput { + return i.ToGetGatewayRouteSpecGrpcRouteMatchOutputWithContext(context.Background()) +} + +func (i GetGatewayRouteSpecGrpcRouteMatchArgs) ToGetGatewayRouteSpecGrpcRouteMatchOutputWithContext(ctx context.Context) GetGatewayRouteSpecGrpcRouteMatchOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetGatewayRouteSpecGrpcRouteMatchOutput) +} + +// GetGatewayRouteSpecGrpcRouteMatchArrayInput is an input type that accepts GetGatewayRouteSpecGrpcRouteMatchArray and GetGatewayRouteSpecGrpcRouteMatchArrayOutput values. +// You can construct a concrete instance of `GetGatewayRouteSpecGrpcRouteMatchArrayInput` via: +// +// GetGatewayRouteSpecGrpcRouteMatchArray{ GetGatewayRouteSpecGrpcRouteMatchArgs{...} } +type GetGatewayRouteSpecGrpcRouteMatchArrayInput interface { + pulumi.Input + + ToGetGatewayRouteSpecGrpcRouteMatchArrayOutput() GetGatewayRouteSpecGrpcRouteMatchArrayOutput + ToGetGatewayRouteSpecGrpcRouteMatchArrayOutputWithContext(context.Context) GetGatewayRouteSpecGrpcRouteMatchArrayOutput +} + +type GetGatewayRouteSpecGrpcRouteMatchArray []GetGatewayRouteSpecGrpcRouteMatchInput + +func (GetGatewayRouteSpecGrpcRouteMatchArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetGatewayRouteSpecGrpcRouteMatch)(nil)).Elem() +} + +func (i GetGatewayRouteSpecGrpcRouteMatchArray) ToGetGatewayRouteSpecGrpcRouteMatchArrayOutput() GetGatewayRouteSpecGrpcRouteMatchArrayOutput { + return i.ToGetGatewayRouteSpecGrpcRouteMatchArrayOutputWithContext(context.Background()) +} + +func (i GetGatewayRouteSpecGrpcRouteMatchArray) ToGetGatewayRouteSpecGrpcRouteMatchArrayOutputWithContext(ctx context.Context) GetGatewayRouteSpecGrpcRouteMatchArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetGatewayRouteSpecGrpcRouteMatchArrayOutput) +} + +type GetGatewayRouteSpecGrpcRouteMatchOutput struct{ *pulumi.OutputState } + +func (GetGatewayRouteSpecGrpcRouteMatchOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetGatewayRouteSpecGrpcRouteMatch)(nil)).Elem() +} + +func (o GetGatewayRouteSpecGrpcRouteMatchOutput) ToGetGatewayRouteSpecGrpcRouteMatchOutput() GetGatewayRouteSpecGrpcRouteMatchOutput { + return o +} + +func (o GetGatewayRouteSpecGrpcRouteMatchOutput) ToGetGatewayRouteSpecGrpcRouteMatchOutputWithContext(ctx context.Context) GetGatewayRouteSpecGrpcRouteMatchOutput { + return o +} + +func (o GetGatewayRouteSpecGrpcRouteMatchOutput) Port() pulumi.IntOutput { + return o.ApplyT(func(v GetGatewayRouteSpecGrpcRouteMatch) int { return v.Port }).(pulumi.IntOutput) +} + +func (o GetGatewayRouteSpecGrpcRouteMatchOutput) ServiceName() pulumi.StringOutput { + return o.ApplyT(func(v GetGatewayRouteSpecGrpcRouteMatch) string { return v.ServiceName }).(pulumi.StringOutput) +} + +type GetGatewayRouteSpecGrpcRouteMatchArrayOutput struct{ *pulumi.OutputState } + +func (GetGatewayRouteSpecGrpcRouteMatchArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetGatewayRouteSpecGrpcRouteMatch)(nil)).Elem() +} + +func (o GetGatewayRouteSpecGrpcRouteMatchArrayOutput) ToGetGatewayRouteSpecGrpcRouteMatchArrayOutput() GetGatewayRouteSpecGrpcRouteMatchArrayOutput { + return o +} + +func (o GetGatewayRouteSpecGrpcRouteMatchArrayOutput) ToGetGatewayRouteSpecGrpcRouteMatchArrayOutputWithContext(ctx context.Context) GetGatewayRouteSpecGrpcRouteMatchArrayOutput { + return o +} + +func (o GetGatewayRouteSpecGrpcRouteMatchArrayOutput) Index(i pulumi.IntInput) GetGatewayRouteSpecGrpcRouteMatchOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetGatewayRouteSpecGrpcRouteMatch { + return vs[0].([]GetGatewayRouteSpecGrpcRouteMatch)[vs[1].(int)] + }).(GetGatewayRouteSpecGrpcRouteMatchOutput) +} + +type GetGatewayRouteSpecHttp2Route struct { + Actions []GetGatewayRouteSpecHttp2RouteAction `pulumi:"actions"` + Matches []GetGatewayRouteSpecHttp2RouteMatch `pulumi:"matches"` +} + +// GetGatewayRouteSpecHttp2RouteInput is an input type that accepts GetGatewayRouteSpecHttp2RouteArgs and GetGatewayRouteSpecHttp2RouteOutput values. +// You can construct a concrete instance of `GetGatewayRouteSpecHttp2RouteInput` via: +// +// GetGatewayRouteSpecHttp2RouteArgs{...} +type GetGatewayRouteSpecHttp2RouteInput interface { + pulumi.Input + + ToGetGatewayRouteSpecHttp2RouteOutput() GetGatewayRouteSpecHttp2RouteOutput + ToGetGatewayRouteSpecHttp2RouteOutputWithContext(context.Context) GetGatewayRouteSpecHttp2RouteOutput +} + +type GetGatewayRouteSpecHttp2RouteArgs struct { + Actions GetGatewayRouteSpecHttp2RouteActionArrayInput `pulumi:"actions"` + Matches GetGatewayRouteSpecHttp2RouteMatchArrayInput `pulumi:"matches"` +} + +func (GetGatewayRouteSpecHttp2RouteArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetGatewayRouteSpecHttp2Route)(nil)).Elem() +} + +func (i GetGatewayRouteSpecHttp2RouteArgs) ToGetGatewayRouteSpecHttp2RouteOutput() GetGatewayRouteSpecHttp2RouteOutput { + return i.ToGetGatewayRouteSpecHttp2RouteOutputWithContext(context.Background()) +} + +func (i GetGatewayRouteSpecHttp2RouteArgs) ToGetGatewayRouteSpecHttp2RouteOutputWithContext(ctx context.Context) GetGatewayRouteSpecHttp2RouteOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetGatewayRouteSpecHttp2RouteOutput) +} + +// GetGatewayRouteSpecHttp2RouteArrayInput is an input type that accepts GetGatewayRouteSpecHttp2RouteArray and GetGatewayRouteSpecHttp2RouteArrayOutput values. +// You can construct a concrete instance of `GetGatewayRouteSpecHttp2RouteArrayInput` via: +// +// GetGatewayRouteSpecHttp2RouteArray{ GetGatewayRouteSpecHttp2RouteArgs{...} } +type GetGatewayRouteSpecHttp2RouteArrayInput interface { + pulumi.Input + + ToGetGatewayRouteSpecHttp2RouteArrayOutput() GetGatewayRouteSpecHttp2RouteArrayOutput + ToGetGatewayRouteSpecHttp2RouteArrayOutputWithContext(context.Context) GetGatewayRouteSpecHttp2RouteArrayOutput +} + +type GetGatewayRouteSpecHttp2RouteArray []GetGatewayRouteSpecHttp2RouteInput + +func (GetGatewayRouteSpecHttp2RouteArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetGatewayRouteSpecHttp2Route)(nil)).Elem() +} + +func (i GetGatewayRouteSpecHttp2RouteArray) ToGetGatewayRouteSpecHttp2RouteArrayOutput() GetGatewayRouteSpecHttp2RouteArrayOutput { + return i.ToGetGatewayRouteSpecHttp2RouteArrayOutputWithContext(context.Background()) +} + +func (i GetGatewayRouteSpecHttp2RouteArray) ToGetGatewayRouteSpecHttp2RouteArrayOutputWithContext(ctx context.Context) GetGatewayRouteSpecHttp2RouteArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetGatewayRouteSpecHttp2RouteArrayOutput) +} + +type GetGatewayRouteSpecHttp2RouteOutput struct{ *pulumi.OutputState } + +func (GetGatewayRouteSpecHttp2RouteOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetGatewayRouteSpecHttp2Route)(nil)).Elem() +} + +func (o GetGatewayRouteSpecHttp2RouteOutput) ToGetGatewayRouteSpecHttp2RouteOutput() GetGatewayRouteSpecHttp2RouteOutput { + return o +} + +func (o GetGatewayRouteSpecHttp2RouteOutput) ToGetGatewayRouteSpecHttp2RouteOutputWithContext(ctx context.Context) GetGatewayRouteSpecHttp2RouteOutput { + return o +} + +func (o GetGatewayRouteSpecHttp2RouteOutput) Actions() GetGatewayRouteSpecHttp2RouteActionArrayOutput { + return o.ApplyT(func(v GetGatewayRouteSpecHttp2Route) []GetGatewayRouteSpecHttp2RouteAction { return v.Actions }).(GetGatewayRouteSpecHttp2RouteActionArrayOutput) +} + +func (o GetGatewayRouteSpecHttp2RouteOutput) Matches() GetGatewayRouteSpecHttp2RouteMatchArrayOutput { + return o.ApplyT(func(v GetGatewayRouteSpecHttp2Route) []GetGatewayRouteSpecHttp2RouteMatch { return v.Matches }).(GetGatewayRouteSpecHttp2RouteMatchArrayOutput) +} + +type GetGatewayRouteSpecHttp2RouteArrayOutput struct{ *pulumi.OutputState } + +func (GetGatewayRouteSpecHttp2RouteArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetGatewayRouteSpecHttp2Route)(nil)).Elem() +} + +func (o GetGatewayRouteSpecHttp2RouteArrayOutput) ToGetGatewayRouteSpecHttp2RouteArrayOutput() GetGatewayRouteSpecHttp2RouteArrayOutput { + return o +} + +func (o GetGatewayRouteSpecHttp2RouteArrayOutput) ToGetGatewayRouteSpecHttp2RouteArrayOutputWithContext(ctx context.Context) GetGatewayRouteSpecHttp2RouteArrayOutput { + return o +} + +func (o GetGatewayRouteSpecHttp2RouteArrayOutput) Index(i pulumi.IntInput) GetGatewayRouteSpecHttp2RouteOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetGatewayRouteSpecHttp2Route { + return vs[0].([]GetGatewayRouteSpecHttp2Route)[vs[1].(int)] + }).(GetGatewayRouteSpecHttp2RouteOutput) +} + +type GetGatewayRouteSpecHttp2RouteAction struct { + Rewrites []GetGatewayRouteSpecHttp2RouteActionRewrite `pulumi:"rewrites"` + Targets []GetGatewayRouteSpecHttp2RouteActionTarget `pulumi:"targets"` +} + +// GetGatewayRouteSpecHttp2RouteActionInput is an input type that accepts GetGatewayRouteSpecHttp2RouteActionArgs and GetGatewayRouteSpecHttp2RouteActionOutput values. +// You can construct a concrete instance of `GetGatewayRouteSpecHttp2RouteActionInput` via: +// +// GetGatewayRouteSpecHttp2RouteActionArgs{...} +type GetGatewayRouteSpecHttp2RouteActionInput interface { + pulumi.Input + + ToGetGatewayRouteSpecHttp2RouteActionOutput() GetGatewayRouteSpecHttp2RouteActionOutput + ToGetGatewayRouteSpecHttp2RouteActionOutputWithContext(context.Context) GetGatewayRouteSpecHttp2RouteActionOutput +} + +type GetGatewayRouteSpecHttp2RouteActionArgs struct { + Rewrites GetGatewayRouteSpecHttp2RouteActionRewriteArrayInput `pulumi:"rewrites"` + Targets GetGatewayRouteSpecHttp2RouteActionTargetArrayInput `pulumi:"targets"` +} + +func (GetGatewayRouteSpecHttp2RouteActionArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetGatewayRouteSpecHttp2RouteAction)(nil)).Elem() +} + +func (i GetGatewayRouteSpecHttp2RouteActionArgs) ToGetGatewayRouteSpecHttp2RouteActionOutput() GetGatewayRouteSpecHttp2RouteActionOutput { + return i.ToGetGatewayRouteSpecHttp2RouteActionOutputWithContext(context.Background()) +} + +func (i GetGatewayRouteSpecHttp2RouteActionArgs) ToGetGatewayRouteSpecHttp2RouteActionOutputWithContext(ctx context.Context) GetGatewayRouteSpecHttp2RouteActionOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetGatewayRouteSpecHttp2RouteActionOutput) +} + +// GetGatewayRouteSpecHttp2RouteActionArrayInput is an input type that accepts GetGatewayRouteSpecHttp2RouteActionArray and GetGatewayRouteSpecHttp2RouteActionArrayOutput values. +// You can construct a concrete instance of `GetGatewayRouteSpecHttp2RouteActionArrayInput` via: +// +// GetGatewayRouteSpecHttp2RouteActionArray{ GetGatewayRouteSpecHttp2RouteActionArgs{...} } +type GetGatewayRouteSpecHttp2RouteActionArrayInput interface { + pulumi.Input + + ToGetGatewayRouteSpecHttp2RouteActionArrayOutput() GetGatewayRouteSpecHttp2RouteActionArrayOutput + ToGetGatewayRouteSpecHttp2RouteActionArrayOutputWithContext(context.Context) GetGatewayRouteSpecHttp2RouteActionArrayOutput +} + +type GetGatewayRouteSpecHttp2RouteActionArray []GetGatewayRouteSpecHttp2RouteActionInput + +func (GetGatewayRouteSpecHttp2RouteActionArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetGatewayRouteSpecHttp2RouteAction)(nil)).Elem() +} + +func (i GetGatewayRouteSpecHttp2RouteActionArray) ToGetGatewayRouteSpecHttp2RouteActionArrayOutput() GetGatewayRouteSpecHttp2RouteActionArrayOutput { + return i.ToGetGatewayRouteSpecHttp2RouteActionArrayOutputWithContext(context.Background()) +} + +func (i GetGatewayRouteSpecHttp2RouteActionArray) ToGetGatewayRouteSpecHttp2RouteActionArrayOutputWithContext(ctx context.Context) GetGatewayRouteSpecHttp2RouteActionArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetGatewayRouteSpecHttp2RouteActionArrayOutput) +} + +type GetGatewayRouteSpecHttp2RouteActionOutput struct{ *pulumi.OutputState } + +func (GetGatewayRouteSpecHttp2RouteActionOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetGatewayRouteSpecHttp2RouteAction)(nil)).Elem() +} + +func (o GetGatewayRouteSpecHttp2RouteActionOutput) ToGetGatewayRouteSpecHttp2RouteActionOutput() GetGatewayRouteSpecHttp2RouteActionOutput { + return o +} + +func (o GetGatewayRouteSpecHttp2RouteActionOutput) ToGetGatewayRouteSpecHttp2RouteActionOutputWithContext(ctx context.Context) GetGatewayRouteSpecHttp2RouteActionOutput { + return o +} + +func (o GetGatewayRouteSpecHttp2RouteActionOutput) Rewrites() GetGatewayRouteSpecHttp2RouteActionRewriteArrayOutput { + return o.ApplyT(func(v GetGatewayRouteSpecHttp2RouteAction) []GetGatewayRouteSpecHttp2RouteActionRewrite { + return v.Rewrites + }).(GetGatewayRouteSpecHttp2RouteActionRewriteArrayOutput) +} + +func (o GetGatewayRouteSpecHttp2RouteActionOutput) Targets() GetGatewayRouteSpecHttp2RouteActionTargetArrayOutput { + return o.ApplyT(func(v GetGatewayRouteSpecHttp2RouteAction) []GetGatewayRouteSpecHttp2RouteActionTarget { + return v.Targets + }).(GetGatewayRouteSpecHttp2RouteActionTargetArrayOutput) +} + +type GetGatewayRouteSpecHttp2RouteActionArrayOutput struct{ *pulumi.OutputState } + +func (GetGatewayRouteSpecHttp2RouteActionArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetGatewayRouteSpecHttp2RouteAction)(nil)).Elem() +} + +func (o GetGatewayRouteSpecHttp2RouteActionArrayOutput) ToGetGatewayRouteSpecHttp2RouteActionArrayOutput() GetGatewayRouteSpecHttp2RouteActionArrayOutput { + return o +} + +func (o GetGatewayRouteSpecHttp2RouteActionArrayOutput) ToGetGatewayRouteSpecHttp2RouteActionArrayOutputWithContext(ctx context.Context) GetGatewayRouteSpecHttp2RouteActionArrayOutput { + return o +} + +func (o GetGatewayRouteSpecHttp2RouteActionArrayOutput) Index(i pulumi.IntInput) GetGatewayRouteSpecHttp2RouteActionOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetGatewayRouteSpecHttp2RouteAction { + return vs[0].([]GetGatewayRouteSpecHttp2RouteAction)[vs[1].(int)] + }).(GetGatewayRouteSpecHttp2RouteActionOutput) +} + +type GetGatewayRouteSpecHttp2RouteActionRewrite struct { + Hostnames []GetGatewayRouteSpecHttp2RouteActionRewriteHostname `pulumi:"hostnames"` + Prefixes []GetGatewayRouteSpecHttp2RouteActionRewritePrefix `pulumi:"prefixes"` +} + +// GetGatewayRouteSpecHttp2RouteActionRewriteInput is an input type that accepts GetGatewayRouteSpecHttp2RouteActionRewriteArgs and GetGatewayRouteSpecHttp2RouteActionRewriteOutput values. +// You can construct a concrete instance of `GetGatewayRouteSpecHttp2RouteActionRewriteInput` via: +// +// GetGatewayRouteSpecHttp2RouteActionRewriteArgs{...} +type GetGatewayRouteSpecHttp2RouteActionRewriteInput interface { + pulumi.Input + + ToGetGatewayRouteSpecHttp2RouteActionRewriteOutput() GetGatewayRouteSpecHttp2RouteActionRewriteOutput + ToGetGatewayRouteSpecHttp2RouteActionRewriteOutputWithContext(context.Context) GetGatewayRouteSpecHttp2RouteActionRewriteOutput +} + +type GetGatewayRouteSpecHttp2RouteActionRewriteArgs struct { + Hostnames GetGatewayRouteSpecHttp2RouteActionRewriteHostnameArrayInput `pulumi:"hostnames"` + Prefixes GetGatewayRouteSpecHttp2RouteActionRewritePrefixArrayInput `pulumi:"prefixes"` +} + +func (GetGatewayRouteSpecHttp2RouteActionRewriteArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetGatewayRouteSpecHttp2RouteActionRewrite)(nil)).Elem() +} + +func (i GetGatewayRouteSpecHttp2RouteActionRewriteArgs) ToGetGatewayRouteSpecHttp2RouteActionRewriteOutput() GetGatewayRouteSpecHttp2RouteActionRewriteOutput { + return i.ToGetGatewayRouteSpecHttp2RouteActionRewriteOutputWithContext(context.Background()) +} + +func (i GetGatewayRouteSpecHttp2RouteActionRewriteArgs) ToGetGatewayRouteSpecHttp2RouteActionRewriteOutputWithContext(ctx context.Context) GetGatewayRouteSpecHttp2RouteActionRewriteOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetGatewayRouteSpecHttp2RouteActionRewriteOutput) +} + +// GetGatewayRouteSpecHttp2RouteActionRewriteArrayInput is an input type that accepts GetGatewayRouteSpecHttp2RouteActionRewriteArray and GetGatewayRouteSpecHttp2RouteActionRewriteArrayOutput values. +// You can construct a concrete instance of `GetGatewayRouteSpecHttp2RouteActionRewriteArrayInput` via: +// +// GetGatewayRouteSpecHttp2RouteActionRewriteArray{ GetGatewayRouteSpecHttp2RouteActionRewriteArgs{...} } +type GetGatewayRouteSpecHttp2RouteActionRewriteArrayInput interface { + pulumi.Input + + ToGetGatewayRouteSpecHttp2RouteActionRewriteArrayOutput() GetGatewayRouteSpecHttp2RouteActionRewriteArrayOutput + ToGetGatewayRouteSpecHttp2RouteActionRewriteArrayOutputWithContext(context.Context) GetGatewayRouteSpecHttp2RouteActionRewriteArrayOutput +} + +type GetGatewayRouteSpecHttp2RouteActionRewriteArray []GetGatewayRouteSpecHttp2RouteActionRewriteInput + +func (GetGatewayRouteSpecHttp2RouteActionRewriteArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetGatewayRouteSpecHttp2RouteActionRewrite)(nil)).Elem() +} + +func (i GetGatewayRouteSpecHttp2RouteActionRewriteArray) ToGetGatewayRouteSpecHttp2RouteActionRewriteArrayOutput() GetGatewayRouteSpecHttp2RouteActionRewriteArrayOutput { + return i.ToGetGatewayRouteSpecHttp2RouteActionRewriteArrayOutputWithContext(context.Background()) +} + +func (i GetGatewayRouteSpecHttp2RouteActionRewriteArray) ToGetGatewayRouteSpecHttp2RouteActionRewriteArrayOutputWithContext(ctx context.Context) GetGatewayRouteSpecHttp2RouteActionRewriteArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetGatewayRouteSpecHttp2RouteActionRewriteArrayOutput) +} + +type GetGatewayRouteSpecHttp2RouteActionRewriteOutput struct{ *pulumi.OutputState } + +func (GetGatewayRouteSpecHttp2RouteActionRewriteOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetGatewayRouteSpecHttp2RouteActionRewrite)(nil)).Elem() +} + +func (o GetGatewayRouteSpecHttp2RouteActionRewriteOutput) ToGetGatewayRouteSpecHttp2RouteActionRewriteOutput() GetGatewayRouteSpecHttp2RouteActionRewriteOutput { + return o +} + +func (o GetGatewayRouteSpecHttp2RouteActionRewriteOutput) ToGetGatewayRouteSpecHttp2RouteActionRewriteOutputWithContext(ctx context.Context) GetGatewayRouteSpecHttp2RouteActionRewriteOutput { + return o +} + +func (o GetGatewayRouteSpecHttp2RouteActionRewriteOutput) Hostnames() GetGatewayRouteSpecHttp2RouteActionRewriteHostnameArrayOutput { + return o.ApplyT(func(v GetGatewayRouteSpecHttp2RouteActionRewrite) []GetGatewayRouteSpecHttp2RouteActionRewriteHostname { + return v.Hostnames + }).(GetGatewayRouteSpecHttp2RouteActionRewriteHostnameArrayOutput) +} + +func (o GetGatewayRouteSpecHttp2RouteActionRewriteOutput) Prefixes() GetGatewayRouteSpecHttp2RouteActionRewritePrefixArrayOutput { + return o.ApplyT(func(v GetGatewayRouteSpecHttp2RouteActionRewrite) []GetGatewayRouteSpecHttp2RouteActionRewritePrefix { + return v.Prefixes + }).(GetGatewayRouteSpecHttp2RouteActionRewritePrefixArrayOutput) +} + +type GetGatewayRouteSpecHttp2RouteActionRewriteArrayOutput struct{ *pulumi.OutputState } + +func (GetGatewayRouteSpecHttp2RouteActionRewriteArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetGatewayRouteSpecHttp2RouteActionRewrite)(nil)).Elem() +} + +func (o GetGatewayRouteSpecHttp2RouteActionRewriteArrayOutput) ToGetGatewayRouteSpecHttp2RouteActionRewriteArrayOutput() GetGatewayRouteSpecHttp2RouteActionRewriteArrayOutput { + return o +} + +func (o GetGatewayRouteSpecHttp2RouteActionRewriteArrayOutput) ToGetGatewayRouteSpecHttp2RouteActionRewriteArrayOutputWithContext(ctx context.Context) GetGatewayRouteSpecHttp2RouteActionRewriteArrayOutput { + return o +} + +func (o GetGatewayRouteSpecHttp2RouteActionRewriteArrayOutput) Index(i pulumi.IntInput) GetGatewayRouteSpecHttp2RouteActionRewriteOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetGatewayRouteSpecHttp2RouteActionRewrite { + return vs[0].([]GetGatewayRouteSpecHttp2RouteActionRewrite)[vs[1].(int)] + }).(GetGatewayRouteSpecHttp2RouteActionRewriteOutput) +} + +type GetGatewayRouteSpecHttp2RouteActionRewriteHostname struct { + DefaultTargetHostname string `pulumi:"defaultTargetHostname"` +} + +// GetGatewayRouteSpecHttp2RouteActionRewriteHostnameInput is an input type that accepts GetGatewayRouteSpecHttp2RouteActionRewriteHostnameArgs and GetGatewayRouteSpecHttp2RouteActionRewriteHostnameOutput values. +// You can construct a concrete instance of `GetGatewayRouteSpecHttp2RouteActionRewriteHostnameInput` via: +// +// GetGatewayRouteSpecHttp2RouteActionRewriteHostnameArgs{...} +type GetGatewayRouteSpecHttp2RouteActionRewriteHostnameInput interface { + pulumi.Input + + ToGetGatewayRouteSpecHttp2RouteActionRewriteHostnameOutput() GetGatewayRouteSpecHttp2RouteActionRewriteHostnameOutput + ToGetGatewayRouteSpecHttp2RouteActionRewriteHostnameOutputWithContext(context.Context) GetGatewayRouteSpecHttp2RouteActionRewriteHostnameOutput +} + +type GetGatewayRouteSpecHttp2RouteActionRewriteHostnameArgs struct { + DefaultTargetHostname pulumi.StringInput `pulumi:"defaultTargetHostname"` +} + +func (GetGatewayRouteSpecHttp2RouteActionRewriteHostnameArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetGatewayRouteSpecHttp2RouteActionRewriteHostname)(nil)).Elem() +} + +func (i GetGatewayRouteSpecHttp2RouteActionRewriteHostnameArgs) ToGetGatewayRouteSpecHttp2RouteActionRewriteHostnameOutput() GetGatewayRouteSpecHttp2RouteActionRewriteHostnameOutput { + return i.ToGetGatewayRouteSpecHttp2RouteActionRewriteHostnameOutputWithContext(context.Background()) +} + +func (i GetGatewayRouteSpecHttp2RouteActionRewriteHostnameArgs) ToGetGatewayRouteSpecHttp2RouteActionRewriteHostnameOutputWithContext(ctx context.Context) GetGatewayRouteSpecHttp2RouteActionRewriteHostnameOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetGatewayRouteSpecHttp2RouteActionRewriteHostnameOutput) +} + +// GetGatewayRouteSpecHttp2RouteActionRewriteHostnameArrayInput is an input type that accepts GetGatewayRouteSpecHttp2RouteActionRewriteHostnameArray and GetGatewayRouteSpecHttp2RouteActionRewriteHostnameArrayOutput values. +// You can construct a concrete instance of `GetGatewayRouteSpecHttp2RouteActionRewriteHostnameArrayInput` via: +// +// GetGatewayRouteSpecHttp2RouteActionRewriteHostnameArray{ GetGatewayRouteSpecHttp2RouteActionRewriteHostnameArgs{...} } +type GetGatewayRouteSpecHttp2RouteActionRewriteHostnameArrayInput interface { + pulumi.Input + + ToGetGatewayRouteSpecHttp2RouteActionRewriteHostnameArrayOutput() GetGatewayRouteSpecHttp2RouteActionRewriteHostnameArrayOutput + ToGetGatewayRouteSpecHttp2RouteActionRewriteHostnameArrayOutputWithContext(context.Context) GetGatewayRouteSpecHttp2RouteActionRewriteHostnameArrayOutput +} + +type GetGatewayRouteSpecHttp2RouteActionRewriteHostnameArray []GetGatewayRouteSpecHttp2RouteActionRewriteHostnameInput + +func (GetGatewayRouteSpecHttp2RouteActionRewriteHostnameArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetGatewayRouteSpecHttp2RouteActionRewriteHostname)(nil)).Elem() +} + +func (i GetGatewayRouteSpecHttp2RouteActionRewriteHostnameArray) ToGetGatewayRouteSpecHttp2RouteActionRewriteHostnameArrayOutput() GetGatewayRouteSpecHttp2RouteActionRewriteHostnameArrayOutput { + return i.ToGetGatewayRouteSpecHttp2RouteActionRewriteHostnameArrayOutputWithContext(context.Background()) +} + +func (i GetGatewayRouteSpecHttp2RouteActionRewriteHostnameArray) ToGetGatewayRouteSpecHttp2RouteActionRewriteHostnameArrayOutputWithContext(ctx context.Context) GetGatewayRouteSpecHttp2RouteActionRewriteHostnameArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetGatewayRouteSpecHttp2RouteActionRewriteHostnameArrayOutput) +} + +type GetGatewayRouteSpecHttp2RouteActionRewriteHostnameOutput struct{ *pulumi.OutputState } + +func (GetGatewayRouteSpecHttp2RouteActionRewriteHostnameOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetGatewayRouteSpecHttp2RouteActionRewriteHostname)(nil)).Elem() +} + +func (o GetGatewayRouteSpecHttp2RouteActionRewriteHostnameOutput) ToGetGatewayRouteSpecHttp2RouteActionRewriteHostnameOutput() GetGatewayRouteSpecHttp2RouteActionRewriteHostnameOutput { + return o +} + +func (o GetGatewayRouteSpecHttp2RouteActionRewriteHostnameOutput) ToGetGatewayRouteSpecHttp2RouteActionRewriteHostnameOutputWithContext(ctx context.Context) GetGatewayRouteSpecHttp2RouteActionRewriteHostnameOutput { + return o +} + +func (o GetGatewayRouteSpecHttp2RouteActionRewriteHostnameOutput) DefaultTargetHostname() pulumi.StringOutput { + return o.ApplyT(func(v GetGatewayRouteSpecHttp2RouteActionRewriteHostname) string { return v.DefaultTargetHostname }).(pulumi.StringOutput) +} + +type GetGatewayRouteSpecHttp2RouteActionRewriteHostnameArrayOutput struct{ *pulumi.OutputState } + +func (GetGatewayRouteSpecHttp2RouteActionRewriteHostnameArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetGatewayRouteSpecHttp2RouteActionRewriteHostname)(nil)).Elem() +} + +func (o GetGatewayRouteSpecHttp2RouteActionRewriteHostnameArrayOutput) ToGetGatewayRouteSpecHttp2RouteActionRewriteHostnameArrayOutput() GetGatewayRouteSpecHttp2RouteActionRewriteHostnameArrayOutput { + return o +} + +func (o GetGatewayRouteSpecHttp2RouteActionRewriteHostnameArrayOutput) ToGetGatewayRouteSpecHttp2RouteActionRewriteHostnameArrayOutputWithContext(ctx context.Context) GetGatewayRouteSpecHttp2RouteActionRewriteHostnameArrayOutput { + return o +} + +func (o GetGatewayRouteSpecHttp2RouteActionRewriteHostnameArrayOutput) Index(i pulumi.IntInput) GetGatewayRouteSpecHttp2RouteActionRewriteHostnameOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetGatewayRouteSpecHttp2RouteActionRewriteHostname { + return vs[0].([]GetGatewayRouteSpecHttp2RouteActionRewriteHostname)[vs[1].(int)] + }).(GetGatewayRouteSpecHttp2RouteActionRewriteHostnameOutput) +} + +type GetGatewayRouteSpecHttp2RouteActionRewritePrefix struct { + DefaultPrefix string `pulumi:"defaultPrefix"` + Value string `pulumi:"value"` +} + +// GetGatewayRouteSpecHttp2RouteActionRewritePrefixInput is an input type that accepts GetGatewayRouteSpecHttp2RouteActionRewritePrefixArgs and GetGatewayRouteSpecHttp2RouteActionRewritePrefixOutput values. +// You can construct a concrete instance of `GetGatewayRouteSpecHttp2RouteActionRewritePrefixInput` via: +// +// GetGatewayRouteSpecHttp2RouteActionRewritePrefixArgs{...} +type GetGatewayRouteSpecHttp2RouteActionRewritePrefixInput interface { + pulumi.Input + + ToGetGatewayRouteSpecHttp2RouteActionRewritePrefixOutput() GetGatewayRouteSpecHttp2RouteActionRewritePrefixOutput + ToGetGatewayRouteSpecHttp2RouteActionRewritePrefixOutputWithContext(context.Context) GetGatewayRouteSpecHttp2RouteActionRewritePrefixOutput +} + +type GetGatewayRouteSpecHttp2RouteActionRewritePrefixArgs struct { + DefaultPrefix pulumi.StringInput `pulumi:"defaultPrefix"` + Value pulumi.StringInput `pulumi:"value"` +} + +func (GetGatewayRouteSpecHttp2RouteActionRewritePrefixArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetGatewayRouteSpecHttp2RouteActionRewritePrefix)(nil)).Elem() +} + +func (i GetGatewayRouteSpecHttp2RouteActionRewritePrefixArgs) ToGetGatewayRouteSpecHttp2RouteActionRewritePrefixOutput() GetGatewayRouteSpecHttp2RouteActionRewritePrefixOutput { + return i.ToGetGatewayRouteSpecHttp2RouteActionRewritePrefixOutputWithContext(context.Background()) +} + +func (i GetGatewayRouteSpecHttp2RouteActionRewritePrefixArgs) ToGetGatewayRouteSpecHttp2RouteActionRewritePrefixOutputWithContext(ctx context.Context) GetGatewayRouteSpecHttp2RouteActionRewritePrefixOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetGatewayRouteSpecHttp2RouteActionRewritePrefixOutput) +} + +// GetGatewayRouteSpecHttp2RouteActionRewritePrefixArrayInput is an input type that accepts GetGatewayRouteSpecHttp2RouteActionRewritePrefixArray and GetGatewayRouteSpecHttp2RouteActionRewritePrefixArrayOutput values. +// You can construct a concrete instance of `GetGatewayRouteSpecHttp2RouteActionRewritePrefixArrayInput` via: +// +// GetGatewayRouteSpecHttp2RouteActionRewritePrefixArray{ GetGatewayRouteSpecHttp2RouteActionRewritePrefixArgs{...} } +type GetGatewayRouteSpecHttp2RouteActionRewritePrefixArrayInput interface { + pulumi.Input + + ToGetGatewayRouteSpecHttp2RouteActionRewritePrefixArrayOutput() GetGatewayRouteSpecHttp2RouteActionRewritePrefixArrayOutput + ToGetGatewayRouteSpecHttp2RouteActionRewritePrefixArrayOutputWithContext(context.Context) GetGatewayRouteSpecHttp2RouteActionRewritePrefixArrayOutput +} + +type GetGatewayRouteSpecHttp2RouteActionRewritePrefixArray []GetGatewayRouteSpecHttp2RouteActionRewritePrefixInput + +func (GetGatewayRouteSpecHttp2RouteActionRewritePrefixArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetGatewayRouteSpecHttp2RouteActionRewritePrefix)(nil)).Elem() +} + +func (i GetGatewayRouteSpecHttp2RouteActionRewritePrefixArray) ToGetGatewayRouteSpecHttp2RouteActionRewritePrefixArrayOutput() GetGatewayRouteSpecHttp2RouteActionRewritePrefixArrayOutput { + return i.ToGetGatewayRouteSpecHttp2RouteActionRewritePrefixArrayOutputWithContext(context.Background()) +} + +func (i GetGatewayRouteSpecHttp2RouteActionRewritePrefixArray) ToGetGatewayRouteSpecHttp2RouteActionRewritePrefixArrayOutputWithContext(ctx context.Context) GetGatewayRouteSpecHttp2RouteActionRewritePrefixArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetGatewayRouteSpecHttp2RouteActionRewritePrefixArrayOutput) +} + +type GetGatewayRouteSpecHttp2RouteActionRewritePrefixOutput struct{ *pulumi.OutputState } + +func (GetGatewayRouteSpecHttp2RouteActionRewritePrefixOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetGatewayRouteSpecHttp2RouteActionRewritePrefix)(nil)).Elem() +} + +func (o GetGatewayRouteSpecHttp2RouteActionRewritePrefixOutput) ToGetGatewayRouteSpecHttp2RouteActionRewritePrefixOutput() GetGatewayRouteSpecHttp2RouteActionRewritePrefixOutput { + return o +} + +func (o GetGatewayRouteSpecHttp2RouteActionRewritePrefixOutput) ToGetGatewayRouteSpecHttp2RouteActionRewritePrefixOutputWithContext(ctx context.Context) GetGatewayRouteSpecHttp2RouteActionRewritePrefixOutput { + return o +} + +func (o GetGatewayRouteSpecHttp2RouteActionRewritePrefixOutput) DefaultPrefix() pulumi.StringOutput { + return o.ApplyT(func(v GetGatewayRouteSpecHttp2RouteActionRewritePrefix) string { return v.DefaultPrefix }).(pulumi.StringOutput) +} + +func (o GetGatewayRouteSpecHttp2RouteActionRewritePrefixOutput) Value() pulumi.StringOutput { + return o.ApplyT(func(v GetGatewayRouteSpecHttp2RouteActionRewritePrefix) string { return v.Value }).(pulumi.StringOutput) +} + +type GetGatewayRouteSpecHttp2RouteActionRewritePrefixArrayOutput struct{ *pulumi.OutputState } + +func (GetGatewayRouteSpecHttp2RouteActionRewritePrefixArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetGatewayRouteSpecHttp2RouteActionRewritePrefix)(nil)).Elem() +} + +func (o GetGatewayRouteSpecHttp2RouteActionRewritePrefixArrayOutput) ToGetGatewayRouteSpecHttp2RouteActionRewritePrefixArrayOutput() GetGatewayRouteSpecHttp2RouteActionRewritePrefixArrayOutput { + return o +} + +func (o GetGatewayRouteSpecHttp2RouteActionRewritePrefixArrayOutput) ToGetGatewayRouteSpecHttp2RouteActionRewritePrefixArrayOutputWithContext(ctx context.Context) GetGatewayRouteSpecHttp2RouteActionRewritePrefixArrayOutput { + return o +} + +func (o GetGatewayRouteSpecHttp2RouteActionRewritePrefixArrayOutput) Index(i pulumi.IntInput) GetGatewayRouteSpecHttp2RouteActionRewritePrefixOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetGatewayRouteSpecHttp2RouteActionRewritePrefix { + return vs[0].([]GetGatewayRouteSpecHttp2RouteActionRewritePrefix)[vs[1].(int)] + }).(GetGatewayRouteSpecHttp2RouteActionRewritePrefixOutput) +} + +type GetGatewayRouteSpecHttp2RouteActionTarget struct { + Port int `pulumi:"port"` + VirtualServices []GetGatewayRouteSpecHttp2RouteActionTargetVirtualService `pulumi:"virtualServices"` +} + +// GetGatewayRouteSpecHttp2RouteActionTargetInput is an input type that accepts GetGatewayRouteSpecHttp2RouteActionTargetArgs and GetGatewayRouteSpecHttp2RouteActionTargetOutput values. +// You can construct a concrete instance of `GetGatewayRouteSpecHttp2RouteActionTargetInput` via: +// +// GetGatewayRouteSpecHttp2RouteActionTargetArgs{...} +type GetGatewayRouteSpecHttp2RouteActionTargetInput interface { + pulumi.Input + + ToGetGatewayRouteSpecHttp2RouteActionTargetOutput() GetGatewayRouteSpecHttp2RouteActionTargetOutput + ToGetGatewayRouteSpecHttp2RouteActionTargetOutputWithContext(context.Context) GetGatewayRouteSpecHttp2RouteActionTargetOutput +} + +type GetGatewayRouteSpecHttp2RouteActionTargetArgs struct { + Port pulumi.IntInput `pulumi:"port"` + VirtualServices GetGatewayRouteSpecHttp2RouteActionTargetVirtualServiceArrayInput `pulumi:"virtualServices"` +} + +func (GetGatewayRouteSpecHttp2RouteActionTargetArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetGatewayRouteSpecHttp2RouteActionTarget)(nil)).Elem() +} + +func (i GetGatewayRouteSpecHttp2RouteActionTargetArgs) ToGetGatewayRouteSpecHttp2RouteActionTargetOutput() GetGatewayRouteSpecHttp2RouteActionTargetOutput { + return i.ToGetGatewayRouteSpecHttp2RouteActionTargetOutputWithContext(context.Background()) +} + +func (i GetGatewayRouteSpecHttp2RouteActionTargetArgs) ToGetGatewayRouteSpecHttp2RouteActionTargetOutputWithContext(ctx context.Context) GetGatewayRouteSpecHttp2RouteActionTargetOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetGatewayRouteSpecHttp2RouteActionTargetOutput) +} + +// GetGatewayRouteSpecHttp2RouteActionTargetArrayInput is an input type that accepts GetGatewayRouteSpecHttp2RouteActionTargetArray and GetGatewayRouteSpecHttp2RouteActionTargetArrayOutput values. +// You can construct a concrete instance of `GetGatewayRouteSpecHttp2RouteActionTargetArrayInput` via: +// +// GetGatewayRouteSpecHttp2RouteActionTargetArray{ GetGatewayRouteSpecHttp2RouteActionTargetArgs{...} } +type GetGatewayRouteSpecHttp2RouteActionTargetArrayInput interface { + pulumi.Input + + ToGetGatewayRouteSpecHttp2RouteActionTargetArrayOutput() GetGatewayRouteSpecHttp2RouteActionTargetArrayOutput + ToGetGatewayRouteSpecHttp2RouteActionTargetArrayOutputWithContext(context.Context) GetGatewayRouteSpecHttp2RouteActionTargetArrayOutput +} + +type GetGatewayRouteSpecHttp2RouteActionTargetArray []GetGatewayRouteSpecHttp2RouteActionTargetInput + +func (GetGatewayRouteSpecHttp2RouteActionTargetArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetGatewayRouteSpecHttp2RouteActionTarget)(nil)).Elem() +} + +func (i GetGatewayRouteSpecHttp2RouteActionTargetArray) ToGetGatewayRouteSpecHttp2RouteActionTargetArrayOutput() GetGatewayRouteSpecHttp2RouteActionTargetArrayOutput { + return i.ToGetGatewayRouteSpecHttp2RouteActionTargetArrayOutputWithContext(context.Background()) +} + +func (i GetGatewayRouteSpecHttp2RouteActionTargetArray) ToGetGatewayRouteSpecHttp2RouteActionTargetArrayOutputWithContext(ctx context.Context) GetGatewayRouteSpecHttp2RouteActionTargetArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetGatewayRouteSpecHttp2RouteActionTargetArrayOutput) +} + +type GetGatewayRouteSpecHttp2RouteActionTargetOutput struct{ *pulumi.OutputState } + +func (GetGatewayRouteSpecHttp2RouteActionTargetOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetGatewayRouteSpecHttp2RouteActionTarget)(nil)).Elem() +} + +func (o GetGatewayRouteSpecHttp2RouteActionTargetOutput) ToGetGatewayRouteSpecHttp2RouteActionTargetOutput() GetGatewayRouteSpecHttp2RouteActionTargetOutput { + return o +} + +func (o GetGatewayRouteSpecHttp2RouteActionTargetOutput) ToGetGatewayRouteSpecHttp2RouteActionTargetOutputWithContext(ctx context.Context) GetGatewayRouteSpecHttp2RouteActionTargetOutput { + return o +} + +func (o GetGatewayRouteSpecHttp2RouteActionTargetOutput) Port() pulumi.IntOutput { + return o.ApplyT(func(v GetGatewayRouteSpecHttp2RouteActionTarget) int { return v.Port }).(pulumi.IntOutput) +} + +func (o GetGatewayRouteSpecHttp2RouteActionTargetOutput) VirtualServices() GetGatewayRouteSpecHttp2RouteActionTargetVirtualServiceArrayOutput { + return o.ApplyT(func(v GetGatewayRouteSpecHttp2RouteActionTarget) []GetGatewayRouteSpecHttp2RouteActionTargetVirtualService { + return v.VirtualServices + }).(GetGatewayRouteSpecHttp2RouteActionTargetVirtualServiceArrayOutput) +} + +type GetGatewayRouteSpecHttp2RouteActionTargetArrayOutput struct{ *pulumi.OutputState } + +func (GetGatewayRouteSpecHttp2RouteActionTargetArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetGatewayRouteSpecHttp2RouteActionTarget)(nil)).Elem() +} + +func (o GetGatewayRouteSpecHttp2RouteActionTargetArrayOutput) ToGetGatewayRouteSpecHttp2RouteActionTargetArrayOutput() GetGatewayRouteSpecHttp2RouteActionTargetArrayOutput { + return o +} + +func (o GetGatewayRouteSpecHttp2RouteActionTargetArrayOutput) ToGetGatewayRouteSpecHttp2RouteActionTargetArrayOutputWithContext(ctx context.Context) GetGatewayRouteSpecHttp2RouteActionTargetArrayOutput { + return o +} + +func (o GetGatewayRouteSpecHttp2RouteActionTargetArrayOutput) Index(i pulumi.IntInput) GetGatewayRouteSpecHttp2RouteActionTargetOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetGatewayRouteSpecHttp2RouteActionTarget { + return vs[0].([]GetGatewayRouteSpecHttp2RouteActionTarget)[vs[1].(int)] + }).(GetGatewayRouteSpecHttp2RouteActionTargetOutput) +} + +type GetGatewayRouteSpecHttp2RouteActionTargetVirtualService struct { + VirtualServiceName string `pulumi:"virtualServiceName"` +} + +// GetGatewayRouteSpecHttp2RouteActionTargetVirtualServiceInput is an input type that accepts GetGatewayRouteSpecHttp2RouteActionTargetVirtualServiceArgs and GetGatewayRouteSpecHttp2RouteActionTargetVirtualServiceOutput values. +// You can construct a concrete instance of `GetGatewayRouteSpecHttp2RouteActionTargetVirtualServiceInput` via: +// +// GetGatewayRouteSpecHttp2RouteActionTargetVirtualServiceArgs{...} +type GetGatewayRouteSpecHttp2RouteActionTargetVirtualServiceInput interface { + pulumi.Input + + ToGetGatewayRouteSpecHttp2RouteActionTargetVirtualServiceOutput() GetGatewayRouteSpecHttp2RouteActionTargetVirtualServiceOutput + ToGetGatewayRouteSpecHttp2RouteActionTargetVirtualServiceOutputWithContext(context.Context) GetGatewayRouteSpecHttp2RouteActionTargetVirtualServiceOutput +} + +type GetGatewayRouteSpecHttp2RouteActionTargetVirtualServiceArgs struct { + VirtualServiceName pulumi.StringInput `pulumi:"virtualServiceName"` +} + +func (GetGatewayRouteSpecHttp2RouteActionTargetVirtualServiceArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetGatewayRouteSpecHttp2RouteActionTargetVirtualService)(nil)).Elem() +} + +func (i GetGatewayRouteSpecHttp2RouteActionTargetVirtualServiceArgs) ToGetGatewayRouteSpecHttp2RouteActionTargetVirtualServiceOutput() GetGatewayRouteSpecHttp2RouteActionTargetVirtualServiceOutput { + return i.ToGetGatewayRouteSpecHttp2RouteActionTargetVirtualServiceOutputWithContext(context.Background()) +} + +func (i GetGatewayRouteSpecHttp2RouteActionTargetVirtualServiceArgs) ToGetGatewayRouteSpecHttp2RouteActionTargetVirtualServiceOutputWithContext(ctx context.Context) GetGatewayRouteSpecHttp2RouteActionTargetVirtualServiceOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetGatewayRouteSpecHttp2RouteActionTargetVirtualServiceOutput) +} + +// GetGatewayRouteSpecHttp2RouteActionTargetVirtualServiceArrayInput is an input type that accepts GetGatewayRouteSpecHttp2RouteActionTargetVirtualServiceArray and GetGatewayRouteSpecHttp2RouteActionTargetVirtualServiceArrayOutput values. +// You can construct a concrete instance of `GetGatewayRouteSpecHttp2RouteActionTargetVirtualServiceArrayInput` via: +// +// GetGatewayRouteSpecHttp2RouteActionTargetVirtualServiceArray{ GetGatewayRouteSpecHttp2RouteActionTargetVirtualServiceArgs{...} } +type GetGatewayRouteSpecHttp2RouteActionTargetVirtualServiceArrayInput interface { + pulumi.Input + + ToGetGatewayRouteSpecHttp2RouteActionTargetVirtualServiceArrayOutput() GetGatewayRouteSpecHttp2RouteActionTargetVirtualServiceArrayOutput + ToGetGatewayRouteSpecHttp2RouteActionTargetVirtualServiceArrayOutputWithContext(context.Context) GetGatewayRouteSpecHttp2RouteActionTargetVirtualServiceArrayOutput +} + +type GetGatewayRouteSpecHttp2RouteActionTargetVirtualServiceArray []GetGatewayRouteSpecHttp2RouteActionTargetVirtualServiceInput + +func (GetGatewayRouteSpecHttp2RouteActionTargetVirtualServiceArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetGatewayRouteSpecHttp2RouteActionTargetVirtualService)(nil)).Elem() +} + +func (i GetGatewayRouteSpecHttp2RouteActionTargetVirtualServiceArray) ToGetGatewayRouteSpecHttp2RouteActionTargetVirtualServiceArrayOutput() GetGatewayRouteSpecHttp2RouteActionTargetVirtualServiceArrayOutput { + return i.ToGetGatewayRouteSpecHttp2RouteActionTargetVirtualServiceArrayOutputWithContext(context.Background()) +} + +func (i GetGatewayRouteSpecHttp2RouteActionTargetVirtualServiceArray) ToGetGatewayRouteSpecHttp2RouteActionTargetVirtualServiceArrayOutputWithContext(ctx context.Context) GetGatewayRouteSpecHttp2RouteActionTargetVirtualServiceArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetGatewayRouteSpecHttp2RouteActionTargetVirtualServiceArrayOutput) +} + +type GetGatewayRouteSpecHttp2RouteActionTargetVirtualServiceOutput struct{ *pulumi.OutputState } + +func (GetGatewayRouteSpecHttp2RouteActionTargetVirtualServiceOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetGatewayRouteSpecHttp2RouteActionTargetVirtualService)(nil)).Elem() +} + +func (o GetGatewayRouteSpecHttp2RouteActionTargetVirtualServiceOutput) ToGetGatewayRouteSpecHttp2RouteActionTargetVirtualServiceOutput() GetGatewayRouteSpecHttp2RouteActionTargetVirtualServiceOutput { + return o +} + +func (o GetGatewayRouteSpecHttp2RouteActionTargetVirtualServiceOutput) ToGetGatewayRouteSpecHttp2RouteActionTargetVirtualServiceOutputWithContext(ctx context.Context) GetGatewayRouteSpecHttp2RouteActionTargetVirtualServiceOutput { + return o +} + +func (o GetGatewayRouteSpecHttp2RouteActionTargetVirtualServiceOutput) VirtualServiceName() pulumi.StringOutput { + return o.ApplyT(func(v GetGatewayRouteSpecHttp2RouteActionTargetVirtualService) string { return v.VirtualServiceName }).(pulumi.StringOutput) +} + +type GetGatewayRouteSpecHttp2RouteActionTargetVirtualServiceArrayOutput struct{ *pulumi.OutputState } + +func (GetGatewayRouteSpecHttp2RouteActionTargetVirtualServiceArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetGatewayRouteSpecHttp2RouteActionTargetVirtualService)(nil)).Elem() +} + +func (o GetGatewayRouteSpecHttp2RouteActionTargetVirtualServiceArrayOutput) ToGetGatewayRouteSpecHttp2RouteActionTargetVirtualServiceArrayOutput() GetGatewayRouteSpecHttp2RouteActionTargetVirtualServiceArrayOutput { + return o +} + +func (o GetGatewayRouteSpecHttp2RouteActionTargetVirtualServiceArrayOutput) ToGetGatewayRouteSpecHttp2RouteActionTargetVirtualServiceArrayOutputWithContext(ctx context.Context) GetGatewayRouteSpecHttp2RouteActionTargetVirtualServiceArrayOutput { + return o +} + +func (o GetGatewayRouteSpecHttp2RouteActionTargetVirtualServiceArrayOutput) Index(i pulumi.IntInput) GetGatewayRouteSpecHttp2RouteActionTargetVirtualServiceOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetGatewayRouteSpecHttp2RouteActionTargetVirtualService { + return vs[0].([]GetGatewayRouteSpecHttp2RouteActionTargetVirtualService)[vs[1].(int)] + }).(GetGatewayRouteSpecHttp2RouteActionTargetVirtualServiceOutput) +} + +type GetGatewayRouteSpecHttp2RouteMatch struct { + Headers []GetGatewayRouteSpecHttp2RouteMatchHeader `pulumi:"headers"` + Hostnames []GetGatewayRouteSpecHttp2RouteMatchHostname `pulumi:"hostnames"` + Paths []GetGatewayRouteSpecHttp2RouteMatchPath `pulumi:"paths"` + Port int `pulumi:"port"` + Prefix string `pulumi:"prefix"` + QueryParameters []GetGatewayRouteSpecHttp2RouteMatchQueryParameter `pulumi:"queryParameters"` +} + +// GetGatewayRouteSpecHttp2RouteMatchInput is an input type that accepts GetGatewayRouteSpecHttp2RouteMatchArgs and GetGatewayRouteSpecHttp2RouteMatchOutput values. +// You can construct a concrete instance of `GetGatewayRouteSpecHttp2RouteMatchInput` via: +// +// GetGatewayRouteSpecHttp2RouteMatchArgs{...} +type GetGatewayRouteSpecHttp2RouteMatchInput interface { + pulumi.Input + + ToGetGatewayRouteSpecHttp2RouteMatchOutput() GetGatewayRouteSpecHttp2RouteMatchOutput + ToGetGatewayRouteSpecHttp2RouteMatchOutputWithContext(context.Context) GetGatewayRouteSpecHttp2RouteMatchOutput +} + +type GetGatewayRouteSpecHttp2RouteMatchArgs struct { + Headers GetGatewayRouteSpecHttp2RouteMatchHeaderArrayInput `pulumi:"headers"` + Hostnames GetGatewayRouteSpecHttp2RouteMatchHostnameArrayInput `pulumi:"hostnames"` + Paths GetGatewayRouteSpecHttp2RouteMatchPathArrayInput `pulumi:"paths"` + Port pulumi.IntInput `pulumi:"port"` + Prefix pulumi.StringInput `pulumi:"prefix"` + QueryParameters GetGatewayRouteSpecHttp2RouteMatchQueryParameterArrayInput `pulumi:"queryParameters"` +} + +func (GetGatewayRouteSpecHttp2RouteMatchArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetGatewayRouteSpecHttp2RouteMatch)(nil)).Elem() +} + +func (i GetGatewayRouteSpecHttp2RouteMatchArgs) ToGetGatewayRouteSpecHttp2RouteMatchOutput() GetGatewayRouteSpecHttp2RouteMatchOutput { + return i.ToGetGatewayRouteSpecHttp2RouteMatchOutputWithContext(context.Background()) +} + +func (i GetGatewayRouteSpecHttp2RouteMatchArgs) ToGetGatewayRouteSpecHttp2RouteMatchOutputWithContext(ctx context.Context) GetGatewayRouteSpecHttp2RouteMatchOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetGatewayRouteSpecHttp2RouteMatchOutput) +} + +// GetGatewayRouteSpecHttp2RouteMatchArrayInput is an input type that accepts GetGatewayRouteSpecHttp2RouteMatchArray and GetGatewayRouteSpecHttp2RouteMatchArrayOutput values. +// You can construct a concrete instance of `GetGatewayRouteSpecHttp2RouteMatchArrayInput` via: +// +// GetGatewayRouteSpecHttp2RouteMatchArray{ GetGatewayRouteSpecHttp2RouteMatchArgs{...} } +type GetGatewayRouteSpecHttp2RouteMatchArrayInput interface { + pulumi.Input + + ToGetGatewayRouteSpecHttp2RouteMatchArrayOutput() GetGatewayRouteSpecHttp2RouteMatchArrayOutput + ToGetGatewayRouteSpecHttp2RouteMatchArrayOutputWithContext(context.Context) GetGatewayRouteSpecHttp2RouteMatchArrayOutput +} + +type GetGatewayRouteSpecHttp2RouteMatchArray []GetGatewayRouteSpecHttp2RouteMatchInput + +func (GetGatewayRouteSpecHttp2RouteMatchArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetGatewayRouteSpecHttp2RouteMatch)(nil)).Elem() +} + +func (i GetGatewayRouteSpecHttp2RouteMatchArray) ToGetGatewayRouteSpecHttp2RouteMatchArrayOutput() GetGatewayRouteSpecHttp2RouteMatchArrayOutput { + return i.ToGetGatewayRouteSpecHttp2RouteMatchArrayOutputWithContext(context.Background()) +} + +func (i GetGatewayRouteSpecHttp2RouteMatchArray) ToGetGatewayRouteSpecHttp2RouteMatchArrayOutputWithContext(ctx context.Context) GetGatewayRouteSpecHttp2RouteMatchArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetGatewayRouteSpecHttp2RouteMatchArrayOutput) +} + +type GetGatewayRouteSpecHttp2RouteMatchOutput struct{ *pulumi.OutputState } + +func (GetGatewayRouteSpecHttp2RouteMatchOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetGatewayRouteSpecHttp2RouteMatch)(nil)).Elem() +} + +func (o GetGatewayRouteSpecHttp2RouteMatchOutput) ToGetGatewayRouteSpecHttp2RouteMatchOutput() GetGatewayRouteSpecHttp2RouteMatchOutput { + return o +} + +func (o GetGatewayRouteSpecHttp2RouteMatchOutput) ToGetGatewayRouteSpecHttp2RouteMatchOutputWithContext(ctx context.Context) GetGatewayRouteSpecHttp2RouteMatchOutput { + return o +} + +func (o GetGatewayRouteSpecHttp2RouteMatchOutput) Headers() GetGatewayRouteSpecHttp2RouteMatchHeaderArrayOutput { + return o.ApplyT(func(v GetGatewayRouteSpecHttp2RouteMatch) []GetGatewayRouteSpecHttp2RouteMatchHeader { + return v.Headers + }).(GetGatewayRouteSpecHttp2RouteMatchHeaderArrayOutput) +} + +func (o GetGatewayRouteSpecHttp2RouteMatchOutput) Hostnames() GetGatewayRouteSpecHttp2RouteMatchHostnameArrayOutput { + return o.ApplyT(func(v GetGatewayRouteSpecHttp2RouteMatch) []GetGatewayRouteSpecHttp2RouteMatchHostname { + return v.Hostnames + }).(GetGatewayRouteSpecHttp2RouteMatchHostnameArrayOutput) +} + +func (o GetGatewayRouteSpecHttp2RouteMatchOutput) Paths() GetGatewayRouteSpecHttp2RouteMatchPathArrayOutput { + return o.ApplyT(func(v GetGatewayRouteSpecHttp2RouteMatch) []GetGatewayRouteSpecHttp2RouteMatchPath { return v.Paths }).(GetGatewayRouteSpecHttp2RouteMatchPathArrayOutput) +} + +func (o GetGatewayRouteSpecHttp2RouteMatchOutput) Port() pulumi.IntOutput { + return o.ApplyT(func(v GetGatewayRouteSpecHttp2RouteMatch) int { return v.Port }).(pulumi.IntOutput) +} + +func (o GetGatewayRouteSpecHttp2RouteMatchOutput) Prefix() pulumi.StringOutput { + return o.ApplyT(func(v GetGatewayRouteSpecHttp2RouteMatch) string { return v.Prefix }).(pulumi.StringOutput) +} + +func (o GetGatewayRouteSpecHttp2RouteMatchOutput) QueryParameters() GetGatewayRouteSpecHttp2RouteMatchQueryParameterArrayOutput { + return o.ApplyT(func(v GetGatewayRouteSpecHttp2RouteMatch) []GetGatewayRouteSpecHttp2RouteMatchQueryParameter { + return v.QueryParameters + }).(GetGatewayRouteSpecHttp2RouteMatchQueryParameterArrayOutput) +} + +type GetGatewayRouteSpecHttp2RouteMatchArrayOutput struct{ *pulumi.OutputState } + +func (GetGatewayRouteSpecHttp2RouteMatchArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetGatewayRouteSpecHttp2RouteMatch)(nil)).Elem() +} + +func (o GetGatewayRouteSpecHttp2RouteMatchArrayOutput) ToGetGatewayRouteSpecHttp2RouteMatchArrayOutput() GetGatewayRouteSpecHttp2RouteMatchArrayOutput { + return o +} + +func (o GetGatewayRouteSpecHttp2RouteMatchArrayOutput) ToGetGatewayRouteSpecHttp2RouteMatchArrayOutputWithContext(ctx context.Context) GetGatewayRouteSpecHttp2RouteMatchArrayOutput { + return o +} + +func (o GetGatewayRouteSpecHttp2RouteMatchArrayOutput) Index(i pulumi.IntInput) GetGatewayRouteSpecHttp2RouteMatchOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetGatewayRouteSpecHttp2RouteMatch { + return vs[0].([]GetGatewayRouteSpecHttp2RouteMatch)[vs[1].(int)] + }).(GetGatewayRouteSpecHttp2RouteMatchOutput) +} + +type GetGatewayRouteSpecHttp2RouteMatchHeader struct { + Invert bool `pulumi:"invert"` + Matches []GetGatewayRouteSpecHttp2RouteMatchHeaderMatch `pulumi:"matches"` + // Name of the gateway route. + Name string `pulumi:"name"` +} + +// GetGatewayRouteSpecHttp2RouteMatchHeaderInput is an input type that accepts GetGatewayRouteSpecHttp2RouteMatchHeaderArgs and GetGatewayRouteSpecHttp2RouteMatchHeaderOutput values. +// You can construct a concrete instance of `GetGatewayRouteSpecHttp2RouteMatchHeaderInput` via: +// +// GetGatewayRouteSpecHttp2RouteMatchHeaderArgs{...} +type GetGatewayRouteSpecHttp2RouteMatchHeaderInput interface { + pulumi.Input + + ToGetGatewayRouteSpecHttp2RouteMatchHeaderOutput() GetGatewayRouteSpecHttp2RouteMatchHeaderOutput + ToGetGatewayRouteSpecHttp2RouteMatchHeaderOutputWithContext(context.Context) GetGatewayRouteSpecHttp2RouteMatchHeaderOutput +} + +type GetGatewayRouteSpecHttp2RouteMatchHeaderArgs struct { + Invert pulumi.BoolInput `pulumi:"invert"` + Matches GetGatewayRouteSpecHttp2RouteMatchHeaderMatchArrayInput `pulumi:"matches"` + // Name of the gateway route. + Name pulumi.StringInput `pulumi:"name"` +} + +func (GetGatewayRouteSpecHttp2RouteMatchHeaderArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetGatewayRouteSpecHttp2RouteMatchHeader)(nil)).Elem() +} + +func (i GetGatewayRouteSpecHttp2RouteMatchHeaderArgs) ToGetGatewayRouteSpecHttp2RouteMatchHeaderOutput() GetGatewayRouteSpecHttp2RouteMatchHeaderOutput { + return i.ToGetGatewayRouteSpecHttp2RouteMatchHeaderOutputWithContext(context.Background()) +} + +func (i GetGatewayRouteSpecHttp2RouteMatchHeaderArgs) ToGetGatewayRouteSpecHttp2RouteMatchHeaderOutputWithContext(ctx context.Context) GetGatewayRouteSpecHttp2RouteMatchHeaderOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetGatewayRouteSpecHttp2RouteMatchHeaderOutput) +} + +// GetGatewayRouteSpecHttp2RouteMatchHeaderArrayInput is an input type that accepts GetGatewayRouteSpecHttp2RouteMatchHeaderArray and GetGatewayRouteSpecHttp2RouteMatchHeaderArrayOutput values. +// You can construct a concrete instance of `GetGatewayRouteSpecHttp2RouteMatchHeaderArrayInput` via: +// +// GetGatewayRouteSpecHttp2RouteMatchHeaderArray{ GetGatewayRouteSpecHttp2RouteMatchHeaderArgs{...} } +type GetGatewayRouteSpecHttp2RouteMatchHeaderArrayInput interface { + pulumi.Input + + ToGetGatewayRouteSpecHttp2RouteMatchHeaderArrayOutput() GetGatewayRouteSpecHttp2RouteMatchHeaderArrayOutput + ToGetGatewayRouteSpecHttp2RouteMatchHeaderArrayOutputWithContext(context.Context) GetGatewayRouteSpecHttp2RouteMatchHeaderArrayOutput +} + +type GetGatewayRouteSpecHttp2RouteMatchHeaderArray []GetGatewayRouteSpecHttp2RouteMatchHeaderInput + +func (GetGatewayRouteSpecHttp2RouteMatchHeaderArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetGatewayRouteSpecHttp2RouteMatchHeader)(nil)).Elem() +} + +func (i GetGatewayRouteSpecHttp2RouteMatchHeaderArray) ToGetGatewayRouteSpecHttp2RouteMatchHeaderArrayOutput() GetGatewayRouteSpecHttp2RouteMatchHeaderArrayOutput { + return i.ToGetGatewayRouteSpecHttp2RouteMatchHeaderArrayOutputWithContext(context.Background()) +} + +func (i GetGatewayRouteSpecHttp2RouteMatchHeaderArray) ToGetGatewayRouteSpecHttp2RouteMatchHeaderArrayOutputWithContext(ctx context.Context) GetGatewayRouteSpecHttp2RouteMatchHeaderArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetGatewayRouteSpecHttp2RouteMatchHeaderArrayOutput) +} + +type GetGatewayRouteSpecHttp2RouteMatchHeaderOutput struct{ *pulumi.OutputState } + +func (GetGatewayRouteSpecHttp2RouteMatchHeaderOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetGatewayRouteSpecHttp2RouteMatchHeader)(nil)).Elem() +} + +func (o GetGatewayRouteSpecHttp2RouteMatchHeaderOutput) ToGetGatewayRouteSpecHttp2RouteMatchHeaderOutput() GetGatewayRouteSpecHttp2RouteMatchHeaderOutput { + return o +} + +func (o GetGatewayRouteSpecHttp2RouteMatchHeaderOutput) ToGetGatewayRouteSpecHttp2RouteMatchHeaderOutputWithContext(ctx context.Context) GetGatewayRouteSpecHttp2RouteMatchHeaderOutput { + return o +} + +func (o GetGatewayRouteSpecHttp2RouteMatchHeaderOutput) Invert() pulumi.BoolOutput { + return o.ApplyT(func(v GetGatewayRouteSpecHttp2RouteMatchHeader) bool { return v.Invert }).(pulumi.BoolOutput) +} + +func (o GetGatewayRouteSpecHttp2RouteMatchHeaderOutput) Matches() GetGatewayRouteSpecHttp2RouteMatchHeaderMatchArrayOutput { + return o.ApplyT(func(v GetGatewayRouteSpecHttp2RouteMatchHeader) []GetGatewayRouteSpecHttp2RouteMatchHeaderMatch { + return v.Matches + }).(GetGatewayRouteSpecHttp2RouteMatchHeaderMatchArrayOutput) +} + +// Name of the gateway route. +func (o GetGatewayRouteSpecHttp2RouteMatchHeaderOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetGatewayRouteSpecHttp2RouteMatchHeader) string { return v.Name }).(pulumi.StringOutput) +} + +type GetGatewayRouteSpecHttp2RouteMatchHeaderArrayOutput struct{ *pulumi.OutputState } + +func (GetGatewayRouteSpecHttp2RouteMatchHeaderArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetGatewayRouteSpecHttp2RouteMatchHeader)(nil)).Elem() +} + +func (o GetGatewayRouteSpecHttp2RouteMatchHeaderArrayOutput) ToGetGatewayRouteSpecHttp2RouteMatchHeaderArrayOutput() GetGatewayRouteSpecHttp2RouteMatchHeaderArrayOutput { + return o +} + +func (o GetGatewayRouteSpecHttp2RouteMatchHeaderArrayOutput) ToGetGatewayRouteSpecHttp2RouteMatchHeaderArrayOutputWithContext(ctx context.Context) GetGatewayRouteSpecHttp2RouteMatchHeaderArrayOutput { + return o +} + +func (o GetGatewayRouteSpecHttp2RouteMatchHeaderArrayOutput) Index(i pulumi.IntInput) GetGatewayRouteSpecHttp2RouteMatchHeaderOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetGatewayRouteSpecHttp2RouteMatchHeader { + return vs[0].([]GetGatewayRouteSpecHttp2RouteMatchHeader)[vs[1].(int)] + }).(GetGatewayRouteSpecHttp2RouteMatchHeaderOutput) +} + +type GetGatewayRouteSpecHttp2RouteMatchHeaderMatch struct { + Exact string `pulumi:"exact"` + Prefix string `pulumi:"prefix"` + Ranges []GetGatewayRouteSpecHttp2RouteMatchHeaderMatchRange `pulumi:"ranges"` + Regex string `pulumi:"regex"` + Suffix string `pulumi:"suffix"` +} + +// GetGatewayRouteSpecHttp2RouteMatchHeaderMatchInput is an input type that accepts GetGatewayRouteSpecHttp2RouteMatchHeaderMatchArgs and GetGatewayRouteSpecHttp2RouteMatchHeaderMatchOutput values. +// You can construct a concrete instance of `GetGatewayRouteSpecHttp2RouteMatchHeaderMatchInput` via: +// +// GetGatewayRouteSpecHttp2RouteMatchHeaderMatchArgs{...} +type GetGatewayRouteSpecHttp2RouteMatchHeaderMatchInput interface { + pulumi.Input + + ToGetGatewayRouteSpecHttp2RouteMatchHeaderMatchOutput() GetGatewayRouteSpecHttp2RouteMatchHeaderMatchOutput + ToGetGatewayRouteSpecHttp2RouteMatchHeaderMatchOutputWithContext(context.Context) GetGatewayRouteSpecHttp2RouteMatchHeaderMatchOutput +} + +type GetGatewayRouteSpecHttp2RouteMatchHeaderMatchArgs struct { + Exact pulumi.StringInput `pulumi:"exact"` + Prefix pulumi.StringInput `pulumi:"prefix"` + Ranges GetGatewayRouteSpecHttp2RouteMatchHeaderMatchRangeArrayInput `pulumi:"ranges"` + Regex pulumi.StringInput `pulumi:"regex"` + Suffix pulumi.StringInput `pulumi:"suffix"` +} + +func (GetGatewayRouteSpecHttp2RouteMatchHeaderMatchArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetGatewayRouteSpecHttp2RouteMatchHeaderMatch)(nil)).Elem() +} + +func (i GetGatewayRouteSpecHttp2RouteMatchHeaderMatchArgs) ToGetGatewayRouteSpecHttp2RouteMatchHeaderMatchOutput() GetGatewayRouteSpecHttp2RouteMatchHeaderMatchOutput { + return i.ToGetGatewayRouteSpecHttp2RouteMatchHeaderMatchOutputWithContext(context.Background()) +} + +func (i GetGatewayRouteSpecHttp2RouteMatchHeaderMatchArgs) ToGetGatewayRouteSpecHttp2RouteMatchHeaderMatchOutputWithContext(ctx context.Context) GetGatewayRouteSpecHttp2RouteMatchHeaderMatchOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetGatewayRouteSpecHttp2RouteMatchHeaderMatchOutput) +} + +// GetGatewayRouteSpecHttp2RouteMatchHeaderMatchArrayInput is an input type that accepts GetGatewayRouteSpecHttp2RouteMatchHeaderMatchArray and GetGatewayRouteSpecHttp2RouteMatchHeaderMatchArrayOutput values. +// You can construct a concrete instance of `GetGatewayRouteSpecHttp2RouteMatchHeaderMatchArrayInput` via: +// +// GetGatewayRouteSpecHttp2RouteMatchHeaderMatchArray{ GetGatewayRouteSpecHttp2RouteMatchHeaderMatchArgs{...} } +type GetGatewayRouteSpecHttp2RouteMatchHeaderMatchArrayInput interface { + pulumi.Input + + ToGetGatewayRouteSpecHttp2RouteMatchHeaderMatchArrayOutput() GetGatewayRouteSpecHttp2RouteMatchHeaderMatchArrayOutput + ToGetGatewayRouteSpecHttp2RouteMatchHeaderMatchArrayOutputWithContext(context.Context) GetGatewayRouteSpecHttp2RouteMatchHeaderMatchArrayOutput +} + +type GetGatewayRouteSpecHttp2RouteMatchHeaderMatchArray []GetGatewayRouteSpecHttp2RouteMatchHeaderMatchInput + +func (GetGatewayRouteSpecHttp2RouteMatchHeaderMatchArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetGatewayRouteSpecHttp2RouteMatchHeaderMatch)(nil)).Elem() +} + +func (i GetGatewayRouteSpecHttp2RouteMatchHeaderMatchArray) ToGetGatewayRouteSpecHttp2RouteMatchHeaderMatchArrayOutput() GetGatewayRouteSpecHttp2RouteMatchHeaderMatchArrayOutput { + return i.ToGetGatewayRouteSpecHttp2RouteMatchHeaderMatchArrayOutputWithContext(context.Background()) +} + +func (i GetGatewayRouteSpecHttp2RouteMatchHeaderMatchArray) ToGetGatewayRouteSpecHttp2RouteMatchHeaderMatchArrayOutputWithContext(ctx context.Context) GetGatewayRouteSpecHttp2RouteMatchHeaderMatchArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetGatewayRouteSpecHttp2RouteMatchHeaderMatchArrayOutput) +} + +type GetGatewayRouteSpecHttp2RouteMatchHeaderMatchOutput struct{ *pulumi.OutputState } + +func (GetGatewayRouteSpecHttp2RouteMatchHeaderMatchOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetGatewayRouteSpecHttp2RouteMatchHeaderMatch)(nil)).Elem() +} + +func (o GetGatewayRouteSpecHttp2RouteMatchHeaderMatchOutput) ToGetGatewayRouteSpecHttp2RouteMatchHeaderMatchOutput() GetGatewayRouteSpecHttp2RouteMatchHeaderMatchOutput { + return o +} + +func (o GetGatewayRouteSpecHttp2RouteMatchHeaderMatchOutput) ToGetGatewayRouteSpecHttp2RouteMatchHeaderMatchOutputWithContext(ctx context.Context) GetGatewayRouteSpecHttp2RouteMatchHeaderMatchOutput { + return o +} + +func (o GetGatewayRouteSpecHttp2RouteMatchHeaderMatchOutput) Exact() pulumi.StringOutput { + return o.ApplyT(func(v GetGatewayRouteSpecHttp2RouteMatchHeaderMatch) string { return v.Exact }).(pulumi.StringOutput) +} + +func (o GetGatewayRouteSpecHttp2RouteMatchHeaderMatchOutput) Prefix() pulumi.StringOutput { + return o.ApplyT(func(v GetGatewayRouteSpecHttp2RouteMatchHeaderMatch) string { return v.Prefix }).(pulumi.StringOutput) +} + +func (o GetGatewayRouteSpecHttp2RouteMatchHeaderMatchOutput) Ranges() GetGatewayRouteSpecHttp2RouteMatchHeaderMatchRangeArrayOutput { + return o.ApplyT(func(v GetGatewayRouteSpecHttp2RouteMatchHeaderMatch) []GetGatewayRouteSpecHttp2RouteMatchHeaderMatchRange { + return v.Ranges + }).(GetGatewayRouteSpecHttp2RouteMatchHeaderMatchRangeArrayOutput) +} + +func (o GetGatewayRouteSpecHttp2RouteMatchHeaderMatchOutput) Regex() pulumi.StringOutput { + return o.ApplyT(func(v GetGatewayRouteSpecHttp2RouteMatchHeaderMatch) string { return v.Regex }).(pulumi.StringOutput) +} + +func (o GetGatewayRouteSpecHttp2RouteMatchHeaderMatchOutput) Suffix() pulumi.StringOutput { + return o.ApplyT(func(v GetGatewayRouteSpecHttp2RouteMatchHeaderMatch) string { return v.Suffix }).(pulumi.StringOutput) +} + +type GetGatewayRouteSpecHttp2RouteMatchHeaderMatchArrayOutput struct{ *pulumi.OutputState } + +func (GetGatewayRouteSpecHttp2RouteMatchHeaderMatchArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetGatewayRouteSpecHttp2RouteMatchHeaderMatch)(nil)).Elem() +} + +func (o GetGatewayRouteSpecHttp2RouteMatchHeaderMatchArrayOutput) ToGetGatewayRouteSpecHttp2RouteMatchHeaderMatchArrayOutput() GetGatewayRouteSpecHttp2RouteMatchHeaderMatchArrayOutput { + return o +} + +func (o GetGatewayRouteSpecHttp2RouteMatchHeaderMatchArrayOutput) ToGetGatewayRouteSpecHttp2RouteMatchHeaderMatchArrayOutputWithContext(ctx context.Context) GetGatewayRouteSpecHttp2RouteMatchHeaderMatchArrayOutput { + return o +} + +func (o GetGatewayRouteSpecHttp2RouteMatchHeaderMatchArrayOutput) Index(i pulumi.IntInput) GetGatewayRouteSpecHttp2RouteMatchHeaderMatchOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetGatewayRouteSpecHttp2RouteMatchHeaderMatch { + return vs[0].([]GetGatewayRouteSpecHttp2RouteMatchHeaderMatch)[vs[1].(int)] + }).(GetGatewayRouteSpecHttp2RouteMatchHeaderMatchOutput) +} + +type GetGatewayRouteSpecHttp2RouteMatchHeaderMatchRange struct { + End int `pulumi:"end"` + Start int `pulumi:"start"` +} + +// GetGatewayRouteSpecHttp2RouteMatchHeaderMatchRangeInput is an input type that accepts GetGatewayRouteSpecHttp2RouteMatchHeaderMatchRangeArgs and GetGatewayRouteSpecHttp2RouteMatchHeaderMatchRangeOutput values. +// You can construct a concrete instance of `GetGatewayRouteSpecHttp2RouteMatchHeaderMatchRangeInput` via: +// +// GetGatewayRouteSpecHttp2RouteMatchHeaderMatchRangeArgs{...} +type GetGatewayRouteSpecHttp2RouteMatchHeaderMatchRangeInput interface { + pulumi.Input + + ToGetGatewayRouteSpecHttp2RouteMatchHeaderMatchRangeOutput() GetGatewayRouteSpecHttp2RouteMatchHeaderMatchRangeOutput + ToGetGatewayRouteSpecHttp2RouteMatchHeaderMatchRangeOutputWithContext(context.Context) GetGatewayRouteSpecHttp2RouteMatchHeaderMatchRangeOutput +} + +type GetGatewayRouteSpecHttp2RouteMatchHeaderMatchRangeArgs struct { + End pulumi.IntInput `pulumi:"end"` + Start pulumi.IntInput `pulumi:"start"` +} + +func (GetGatewayRouteSpecHttp2RouteMatchHeaderMatchRangeArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetGatewayRouteSpecHttp2RouteMatchHeaderMatchRange)(nil)).Elem() +} + +func (i GetGatewayRouteSpecHttp2RouteMatchHeaderMatchRangeArgs) ToGetGatewayRouteSpecHttp2RouteMatchHeaderMatchRangeOutput() GetGatewayRouteSpecHttp2RouteMatchHeaderMatchRangeOutput { + return i.ToGetGatewayRouteSpecHttp2RouteMatchHeaderMatchRangeOutputWithContext(context.Background()) +} + +func (i GetGatewayRouteSpecHttp2RouteMatchHeaderMatchRangeArgs) ToGetGatewayRouteSpecHttp2RouteMatchHeaderMatchRangeOutputWithContext(ctx context.Context) GetGatewayRouteSpecHttp2RouteMatchHeaderMatchRangeOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetGatewayRouteSpecHttp2RouteMatchHeaderMatchRangeOutput) +} + +// GetGatewayRouteSpecHttp2RouteMatchHeaderMatchRangeArrayInput is an input type that accepts GetGatewayRouteSpecHttp2RouteMatchHeaderMatchRangeArray and GetGatewayRouteSpecHttp2RouteMatchHeaderMatchRangeArrayOutput values. +// You can construct a concrete instance of `GetGatewayRouteSpecHttp2RouteMatchHeaderMatchRangeArrayInput` via: +// +// GetGatewayRouteSpecHttp2RouteMatchHeaderMatchRangeArray{ GetGatewayRouteSpecHttp2RouteMatchHeaderMatchRangeArgs{...} } +type GetGatewayRouteSpecHttp2RouteMatchHeaderMatchRangeArrayInput interface { + pulumi.Input + + ToGetGatewayRouteSpecHttp2RouteMatchHeaderMatchRangeArrayOutput() GetGatewayRouteSpecHttp2RouteMatchHeaderMatchRangeArrayOutput + ToGetGatewayRouteSpecHttp2RouteMatchHeaderMatchRangeArrayOutputWithContext(context.Context) GetGatewayRouteSpecHttp2RouteMatchHeaderMatchRangeArrayOutput +} + +type GetGatewayRouteSpecHttp2RouteMatchHeaderMatchRangeArray []GetGatewayRouteSpecHttp2RouteMatchHeaderMatchRangeInput + +func (GetGatewayRouteSpecHttp2RouteMatchHeaderMatchRangeArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetGatewayRouteSpecHttp2RouteMatchHeaderMatchRange)(nil)).Elem() +} + +func (i GetGatewayRouteSpecHttp2RouteMatchHeaderMatchRangeArray) ToGetGatewayRouteSpecHttp2RouteMatchHeaderMatchRangeArrayOutput() GetGatewayRouteSpecHttp2RouteMatchHeaderMatchRangeArrayOutput { + return i.ToGetGatewayRouteSpecHttp2RouteMatchHeaderMatchRangeArrayOutputWithContext(context.Background()) +} + +func (i GetGatewayRouteSpecHttp2RouteMatchHeaderMatchRangeArray) ToGetGatewayRouteSpecHttp2RouteMatchHeaderMatchRangeArrayOutputWithContext(ctx context.Context) GetGatewayRouteSpecHttp2RouteMatchHeaderMatchRangeArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetGatewayRouteSpecHttp2RouteMatchHeaderMatchRangeArrayOutput) +} + +type GetGatewayRouteSpecHttp2RouteMatchHeaderMatchRangeOutput struct{ *pulumi.OutputState } + +func (GetGatewayRouteSpecHttp2RouteMatchHeaderMatchRangeOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetGatewayRouteSpecHttp2RouteMatchHeaderMatchRange)(nil)).Elem() +} + +func (o GetGatewayRouteSpecHttp2RouteMatchHeaderMatchRangeOutput) ToGetGatewayRouteSpecHttp2RouteMatchHeaderMatchRangeOutput() GetGatewayRouteSpecHttp2RouteMatchHeaderMatchRangeOutput { + return o +} + +func (o GetGatewayRouteSpecHttp2RouteMatchHeaderMatchRangeOutput) ToGetGatewayRouteSpecHttp2RouteMatchHeaderMatchRangeOutputWithContext(ctx context.Context) GetGatewayRouteSpecHttp2RouteMatchHeaderMatchRangeOutput { + return o +} + +func (o GetGatewayRouteSpecHttp2RouteMatchHeaderMatchRangeOutput) End() pulumi.IntOutput { + return o.ApplyT(func(v GetGatewayRouteSpecHttp2RouteMatchHeaderMatchRange) int { return v.End }).(pulumi.IntOutput) +} + +func (o GetGatewayRouteSpecHttp2RouteMatchHeaderMatchRangeOutput) Start() pulumi.IntOutput { + return o.ApplyT(func(v GetGatewayRouteSpecHttp2RouteMatchHeaderMatchRange) int { return v.Start }).(pulumi.IntOutput) +} + +type GetGatewayRouteSpecHttp2RouteMatchHeaderMatchRangeArrayOutput struct{ *pulumi.OutputState } + +func (GetGatewayRouteSpecHttp2RouteMatchHeaderMatchRangeArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetGatewayRouteSpecHttp2RouteMatchHeaderMatchRange)(nil)).Elem() +} + +func (o GetGatewayRouteSpecHttp2RouteMatchHeaderMatchRangeArrayOutput) ToGetGatewayRouteSpecHttp2RouteMatchHeaderMatchRangeArrayOutput() GetGatewayRouteSpecHttp2RouteMatchHeaderMatchRangeArrayOutput { + return o +} + +func (o GetGatewayRouteSpecHttp2RouteMatchHeaderMatchRangeArrayOutput) ToGetGatewayRouteSpecHttp2RouteMatchHeaderMatchRangeArrayOutputWithContext(ctx context.Context) GetGatewayRouteSpecHttp2RouteMatchHeaderMatchRangeArrayOutput { + return o +} + +func (o GetGatewayRouteSpecHttp2RouteMatchHeaderMatchRangeArrayOutput) Index(i pulumi.IntInput) GetGatewayRouteSpecHttp2RouteMatchHeaderMatchRangeOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetGatewayRouteSpecHttp2RouteMatchHeaderMatchRange { + return vs[0].([]GetGatewayRouteSpecHttp2RouteMatchHeaderMatchRange)[vs[1].(int)] + }).(GetGatewayRouteSpecHttp2RouteMatchHeaderMatchRangeOutput) +} + +type GetGatewayRouteSpecHttp2RouteMatchHostname struct { + Exact string `pulumi:"exact"` + Suffix string `pulumi:"suffix"` +} + +// GetGatewayRouteSpecHttp2RouteMatchHostnameInput is an input type that accepts GetGatewayRouteSpecHttp2RouteMatchHostnameArgs and GetGatewayRouteSpecHttp2RouteMatchHostnameOutput values. +// You can construct a concrete instance of `GetGatewayRouteSpecHttp2RouteMatchHostnameInput` via: +// +// GetGatewayRouteSpecHttp2RouteMatchHostnameArgs{...} +type GetGatewayRouteSpecHttp2RouteMatchHostnameInput interface { + pulumi.Input + + ToGetGatewayRouteSpecHttp2RouteMatchHostnameOutput() GetGatewayRouteSpecHttp2RouteMatchHostnameOutput + ToGetGatewayRouteSpecHttp2RouteMatchHostnameOutputWithContext(context.Context) GetGatewayRouteSpecHttp2RouteMatchHostnameOutput +} + +type GetGatewayRouteSpecHttp2RouteMatchHostnameArgs struct { + Exact pulumi.StringInput `pulumi:"exact"` + Suffix pulumi.StringInput `pulumi:"suffix"` +} + +func (GetGatewayRouteSpecHttp2RouteMatchHostnameArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetGatewayRouteSpecHttp2RouteMatchHostname)(nil)).Elem() +} + +func (i GetGatewayRouteSpecHttp2RouteMatchHostnameArgs) ToGetGatewayRouteSpecHttp2RouteMatchHostnameOutput() GetGatewayRouteSpecHttp2RouteMatchHostnameOutput { + return i.ToGetGatewayRouteSpecHttp2RouteMatchHostnameOutputWithContext(context.Background()) +} + +func (i GetGatewayRouteSpecHttp2RouteMatchHostnameArgs) ToGetGatewayRouteSpecHttp2RouteMatchHostnameOutputWithContext(ctx context.Context) GetGatewayRouteSpecHttp2RouteMatchHostnameOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetGatewayRouteSpecHttp2RouteMatchHostnameOutput) +} + +// GetGatewayRouteSpecHttp2RouteMatchHostnameArrayInput is an input type that accepts GetGatewayRouteSpecHttp2RouteMatchHostnameArray and GetGatewayRouteSpecHttp2RouteMatchHostnameArrayOutput values. +// You can construct a concrete instance of `GetGatewayRouteSpecHttp2RouteMatchHostnameArrayInput` via: +// +// GetGatewayRouteSpecHttp2RouteMatchHostnameArray{ GetGatewayRouteSpecHttp2RouteMatchHostnameArgs{...} } +type GetGatewayRouteSpecHttp2RouteMatchHostnameArrayInput interface { + pulumi.Input + + ToGetGatewayRouteSpecHttp2RouteMatchHostnameArrayOutput() GetGatewayRouteSpecHttp2RouteMatchHostnameArrayOutput + ToGetGatewayRouteSpecHttp2RouteMatchHostnameArrayOutputWithContext(context.Context) GetGatewayRouteSpecHttp2RouteMatchHostnameArrayOutput +} + +type GetGatewayRouteSpecHttp2RouteMatchHostnameArray []GetGatewayRouteSpecHttp2RouteMatchHostnameInput + +func (GetGatewayRouteSpecHttp2RouteMatchHostnameArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetGatewayRouteSpecHttp2RouteMatchHostname)(nil)).Elem() +} + +func (i GetGatewayRouteSpecHttp2RouteMatchHostnameArray) ToGetGatewayRouteSpecHttp2RouteMatchHostnameArrayOutput() GetGatewayRouteSpecHttp2RouteMatchHostnameArrayOutput { + return i.ToGetGatewayRouteSpecHttp2RouteMatchHostnameArrayOutputWithContext(context.Background()) +} + +func (i GetGatewayRouteSpecHttp2RouteMatchHostnameArray) ToGetGatewayRouteSpecHttp2RouteMatchHostnameArrayOutputWithContext(ctx context.Context) GetGatewayRouteSpecHttp2RouteMatchHostnameArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetGatewayRouteSpecHttp2RouteMatchHostnameArrayOutput) +} + +type GetGatewayRouteSpecHttp2RouteMatchHostnameOutput struct{ *pulumi.OutputState } + +func (GetGatewayRouteSpecHttp2RouteMatchHostnameOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetGatewayRouteSpecHttp2RouteMatchHostname)(nil)).Elem() +} + +func (o GetGatewayRouteSpecHttp2RouteMatchHostnameOutput) ToGetGatewayRouteSpecHttp2RouteMatchHostnameOutput() GetGatewayRouteSpecHttp2RouteMatchHostnameOutput { + return o +} + +func (o GetGatewayRouteSpecHttp2RouteMatchHostnameOutput) ToGetGatewayRouteSpecHttp2RouteMatchHostnameOutputWithContext(ctx context.Context) GetGatewayRouteSpecHttp2RouteMatchHostnameOutput { + return o +} + +func (o GetGatewayRouteSpecHttp2RouteMatchHostnameOutput) Exact() pulumi.StringOutput { + return o.ApplyT(func(v GetGatewayRouteSpecHttp2RouteMatchHostname) string { return v.Exact }).(pulumi.StringOutput) +} + +func (o GetGatewayRouteSpecHttp2RouteMatchHostnameOutput) Suffix() pulumi.StringOutput { + return o.ApplyT(func(v GetGatewayRouteSpecHttp2RouteMatchHostname) string { return v.Suffix }).(pulumi.StringOutput) +} + +type GetGatewayRouteSpecHttp2RouteMatchHostnameArrayOutput struct{ *pulumi.OutputState } + +func (GetGatewayRouteSpecHttp2RouteMatchHostnameArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetGatewayRouteSpecHttp2RouteMatchHostname)(nil)).Elem() +} + +func (o GetGatewayRouteSpecHttp2RouteMatchHostnameArrayOutput) ToGetGatewayRouteSpecHttp2RouteMatchHostnameArrayOutput() GetGatewayRouteSpecHttp2RouteMatchHostnameArrayOutput { + return o +} + +func (o GetGatewayRouteSpecHttp2RouteMatchHostnameArrayOutput) ToGetGatewayRouteSpecHttp2RouteMatchHostnameArrayOutputWithContext(ctx context.Context) GetGatewayRouteSpecHttp2RouteMatchHostnameArrayOutput { + return o +} + +func (o GetGatewayRouteSpecHttp2RouteMatchHostnameArrayOutput) Index(i pulumi.IntInput) GetGatewayRouteSpecHttp2RouteMatchHostnameOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetGatewayRouteSpecHttp2RouteMatchHostname { + return vs[0].([]GetGatewayRouteSpecHttp2RouteMatchHostname)[vs[1].(int)] + }).(GetGatewayRouteSpecHttp2RouteMatchHostnameOutput) +} + +type GetGatewayRouteSpecHttp2RouteMatchPath struct { + Exact string `pulumi:"exact"` + Regex string `pulumi:"regex"` +} + +// GetGatewayRouteSpecHttp2RouteMatchPathInput is an input type that accepts GetGatewayRouteSpecHttp2RouteMatchPathArgs and GetGatewayRouteSpecHttp2RouteMatchPathOutput values. +// You can construct a concrete instance of `GetGatewayRouteSpecHttp2RouteMatchPathInput` via: +// +// GetGatewayRouteSpecHttp2RouteMatchPathArgs{...} +type GetGatewayRouteSpecHttp2RouteMatchPathInput interface { + pulumi.Input + + ToGetGatewayRouteSpecHttp2RouteMatchPathOutput() GetGatewayRouteSpecHttp2RouteMatchPathOutput + ToGetGatewayRouteSpecHttp2RouteMatchPathOutputWithContext(context.Context) GetGatewayRouteSpecHttp2RouteMatchPathOutput +} + +type GetGatewayRouteSpecHttp2RouteMatchPathArgs struct { + Exact pulumi.StringInput `pulumi:"exact"` + Regex pulumi.StringInput `pulumi:"regex"` +} + +func (GetGatewayRouteSpecHttp2RouteMatchPathArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetGatewayRouteSpecHttp2RouteMatchPath)(nil)).Elem() +} + +func (i GetGatewayRouteSpecHttp2RouteMatchPathArgs) ToGetGatewayRouteSpecHttp2RouteMatchPathOutput() GetGatewayRouteSpecHttp2RouteMatchPathOutput { + return i.ToGetGatewayRouteSpecHttp2RouteMatchPathOutputWithContext(context.Background()) +} + +func (i GetGatewayRouteSpecHttp2RouteMatchPathArgs) ToGetGatewayRouteSpecHttp2RouteMatchPathOutputWithContext(ctx context.Context) GetGatewayRouteSpecHttp2RouteMatchPathOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetGatewayRouteSpecHttp2RouteMatchPathOutput) +} + +// GetGatewayRouteSpecHttp2RouteMatchPathArrayInput is an input type that accepts GetGatewayRouteSpecHttp2RouteMatchPathArray and GetGatewayRouteSpecHttp2RouteMatchPathArrayOutput values. +// You can construct a concrete instance of `GetGatewayRouteSpecHttp2RouteMatchPathArrayInput` via: +// +// GetGatewayRouteSpecHttp2RouteMatchPathArray{ GetGatewayRouteSpecHttp2RouteMatchPathArgs{...} } +type GetGatewayRouteSpecHttp2RouteMatchPathArrayInput interface { + pulumi.Input + + ToGetGatewayRouteSpecHttp2RouteMatchPathArrayOutput() GetGatewayRouteSpecHttp2RouteMatchPathArrayOutput + ToGetGatewayRouteSpecHttp2RouteMatchPathArrayOutputWithContext(context.Context) GetGatewayRouteSpecHttp2RouteMatchPathArrayOutput +} + +type GetGatewayRouteSpecHttp2RouteMatchPathArray []GetGatewayRouteSpecHttp2RouteMatchPathInput + +func (GetGatewayRouteSpecHttp2RouteMatchPathArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetGatewayRouteSpecHttp2RouteMatchPath)(nil)).Elem() +} + +func (i GetGatewayRouteSpecHttp2RouteMatchPathArray) ToGetGatewayRouteSpecHttp2RouteMatchPathArrayOutput() GetGatewayRouteSpecHttp2RouteMatchPathArrayOutput { + return i.ToGetGatewayRouteSpecHttp2RouteMatchPathArrayOutputWithContext(context.Background()) +} + +func (i GetGatewayRouteSpecHttp2RouteMatchPathArray) ToGetGatewayRouteSpecHttp2RouteMatchPathArrayOutputWithContext(ctx context.Context) GetGatewayRouteSpecHttp2RouteMatchPathArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetGatewayRouteSpecHttp2RouteMatchPathArrayOutput) +} + +type GetGatewayRouteSpecHttp2RouteMatchPathOutput struct{ *pulumi.OutputState } + +func (GetGatewayRouteSpecHttp2RouteMatchPathOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetGatewayRouteSpecHttp2RouteMatchPath)(nil)).Elem() +} + +func (o GetGatewayRouteSpecHttp2RouteMatchPathOutput) ToGetGatewayRouteSpecHttp2RouteMatchPathOutput() GetGatewayRouteSpecHttp2RouteMatchPathOutput { + return o +} + +func (o GetGatewayRouteSpecHttp2RouteMatchPathOutput) ToGetGatewayRouteSpecHttp2RouteMatchPathOutputWithContext(ctx context.Context) GetGatewayRouteSpecHttp2RouteMatchPathOutput { + return o +} + +func (o GetGatewayRouteSpecHttp2RouteMatchPathOutput) Exact() pulumi.StringOutput { + return o.ApplyT(func(v GetGatewayRouteSpecHttp2RouteMatchPath) string { return v.Exact }).(pulumi.StringOutput) +} + +func (o GetGatewayRouteSpecHttp2RouteMatchPathOutput) Regex() pulumi.StringOutput { + return o.ApplyT(func(v GetGatewayRouteSpecHttp2RouteMatchPath) string { return v.Regex }).(pulumi.StringOutput) +} + +type GetGatewayRouteSpecHttp2RouteMatchPathArrayOutput struct{ *pulumi.OutputState } + +func (GetGatewayRouteSpecHttp2RouteMatchPathArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetGatewayRouteSpecHttp2RouteMatchPath)(nil)).Elem() +} + +func (o GetGatewayRouteSpecHttp2RouteMatchPathArrayOutput) ToGetGatewayRouteSpecHttp2RouteMatchPathArrayOutput() GetGatewayRouteSpecHttp2RouteMatchPathArrayOutput { + return o +} + +func (o GetGatewayRouteSpecHttp2RouteMatchPathArrayOutput) ToGetGatewayRouteSpecHttp2RouteMatchPathArrayOutputWithContext(ctx context.Context) GetGatewayRouteSpecHttp2RouteMatchPathArrayOutput { + return o +} + +func (o GetGatewayRouteSpecHttp2RouteMatchPathArrayOutput) Index(i pulumi.IntInput) GetGatewayRouteSpecHttp2RouteMatchPathOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetGatewayRouteSpecHttp2RouteMatchPath { + return vs[0].([]GetGatewayRouteSpecHttp2RouteMatchPath)[vs[1].(int)] + }).(GetGatewayRouteSpecHttp2RouteMatchPathOutput) +} + +type GetGatewayRouteSpecHttp2RouteMatchQueryParameter struct { + Matches []GetGatewayRouteSpecHttp2RouteMatchQueryParameterMatch `pulumi:"matches"` + // Name of the gateway route. + Name string `pulumi:"name"` +} + +// GetGatewayRouteSpecHttp2RouteMatchQueryParameterInput is an input type that accepts GetGatewayRouteSpecHttp2RouteMatchQueryParameterArgs and GetGatewayRouteSpecHttp2RouteMatchQueryParameterOutput values. +// You can construct a concrete instance of `GetGatewayRouteSpecHttp2RouteMatchQueryParameterInput` via: +// +// GetGatewayRouteSpecHttp2RouteMatchQueryParameterArgs{...} +type GetGatewayRouteSpecHttp2RouteMatchQueryParameterInput interface { + pulumi.Input + + ToGetGatewayRouteSpecHttp2RouteMatchQueryParameterOutput() GetGatewayRouteSpecHttp2RouteMatchQueryParameterOutput + ToGetGatewayRouteSpecHttp2RouteMatchQueryParameterOutputWithContext(context.Context) GetGatewayRouteSpecHttp2RouteMatchQueryParameterOutput +} + +type GetGatewayRouteSpecHttp2RouteMatchQueryParameterArgs struct { + Matches GetGatewayRouteSpecHttp2RouteMatchQueryParameterMatchArrayInput `pulumi:"matches"` + // Name of the gateway route. + Name pulumi.StringInput `pulumi:"name"` +} + +func (GetGatewayRouteSpecHttp2RouteMatchQueryParameterArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetGatewayRouteSpecHttp2RouteMatchQueryParameter)(nil)).Elem() +} + +func (i GetGatewayRouteSpecHttp2RouteMatchQueryParameterArgs) ToGetGatewayRouteSpecHttp2RouteMatchQueryParameterOutput() GetGatewayRouteSpecHttp2RouteMatchQueryParameterOutput { + return i.ToGetGatewayRouteSpecHttp2RouteMatchQueryParameterOutputWithContext(context.Background()) +} + +func (i GetGatewayRouteSpecHttp2RouteMatchQueryParameterArgs) ToGetGatewayRouteSpecHttp2RouteMatchQueryParameterOutputWithContext(ctx context.Context) GetGatewayRouteSpecHttp2RouteMatchQueryParameterOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetGatewayRouteSpecHttp2RouteMatchQueryParameterOutput) +} + +// GetGatewayRouteSpecHttp2RouteMatchQueryParameterArrayInput is an input type that accepts GetGatewayRouteSpecHttp2RouteMatchQueryParameterArray and GetGatewayRouteSpecHttp2RouteMatchQueryParameterArrayOutput values. +// You can construct a concrete instance of `GetGatewayRouteSpecHttp2RouteMatchQueryParameterArrayInput` via: +// +// GetGatewayRouteSpecHttp2RouteMatchQueryParameterArray{ GetGatewayRouteSpecHttp2RouteMatchQueryParameterArgs{...} } +type GetGatewayRouteSpecHttp2RouteMatchQueryParameterArrayInput interface { + pulumi.Input + + ToGetGatewayRouteSpecHttp2RouteMatchQueryParameterArrayOutput() GetGatewayRouteSpecHttp2RouteMatchQueryParameterArrayOutput + ToGetGatewayRouteSpecHttp2RouteMatchQueryParameterArrayOutputWithContext(context.Context) GetGatewayRouteSpecHttp2RouteMatchQueryParameterArrayOutput +} + +type GetGatewayRouteSpecHttp2RouteMatchQueryParameterArray []GetGatewayRouteSpecHttp2RouteMatchQueryParameterInput + +func (GetGatewayRouteSpecHttp2RouteMatchQueryParameterArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetGatewayRouteSpecHttp2RouteMatchQueryParameter)(nil)).Elem() +} + +func (i GetGatewayRouteSpecHttp2RouteMatchQueryParameterArray) ToGetGatewayRouteSpecHttp2RouteMatchQueryParameterArrayOutput() GetGatewayRouteSpecHttp2RouteMatchQueryParameterArrayOutput { + return i.ToGetGatewayRouteSpecHttp2RouteMatchQueryParameterArrayOutputWithContext(context.Background()) +} + +func (i GetGatewayRouteSpecHttp2RouteMatchQueryParameterArray) ToGetGatewayRouteSpecHttp2RouteMatchQueryParameterArrayOutputWithContext(ctx context.Context) GetGatewayRouteSpecHttp2RouteMatchQueryParameterArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetGatewayRouteSpecHttp2RouteMatchQueryParameterArrayOutput) +} + +type GetGatewayRouteSpecHttp2RouteMatchQueryParameterOutput struct{ *pulumi.OutputState } + +func (GetGatewayRouteSpecHttp2RouteMatchQueryParameterOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetGatewayRouteSpecHttp2RouteMatchQueryParameter)(nil)).Elem() +} + +func (o GetGatewayRouteSpecHttp2RouteMatchQueryParameterOutput) ToGetGatewayRouteSpecHttp2RouteMatchQueryParameterOutput() GetGatewayRouteSpecHttp2RouteMatchQueryParameterOutput { + return o +} + +func (o GetGatewayRouteSpecHttp2RouteMatchQueryParameterOutput) ToGetGatewayRouteSpecHttp2RouteMatchQueryParameterOutputWithContext(ctx context.Context) GetGatewayRouteSpecHttp2RouteMatchQueryParameterOutput { + return o +} + +func (o GetGatewayRouteSpecHttp2RouteMatchQueryParameterOutput) Matches() GetGatewayRouteSpecHttp2RouteMatchQueryParameterMatchArrayOutput { + return o.ApplyT(func(v GetGatewayRouteSpecHttp2RouteMatchQueryParameter) []GetGatewayRouteSpecHttp2RouteMatchQueryParameterMatch { + return v.Matches + }).(GetGatewayRouteSpecHttp2RouteMatchQueryParameterMatchArrayOutput) +} + +// Name of the gateway route. +func (o GetGatewayRouteSpecHttp2RouteMatchQueryParameterOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetGatewayRouteSpecHttp2RouteMatchQueryParameter) string { return v.Name }).(pulumi.StringOutput) +} + +type GetGatewayRouteSpecHttp2RouteMatchQueryParameterArrayOutput struct{ *pulumi.OutputState } + +func (GetGatewayRouteSpecHttp2RouteMatchQueryParameterArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetGatewayRouteSpecHttp2RouteMatchQueryParameter)(nil)).Elem() +} + +func (o GetGatewayRouteSpecHttp2RouteMatchQueryParameterArrayOutput) ToGetGatewayRouteSpecHttp2RouteMatchQueryParameterArrayOutput() GetGatewayRouteSpecHttp2RouteMatchQueryParameterArrayOutput { + return o +} + +func (o GetGatewayRouteSpecHttp2RouteMatchQueryParameterArrayOutput) ToGetGatewayRouteSpecHttp2RouteMatchQueryParameterArrayOutputWithContext(ctx context.Context) GetGatewayRouteSpecHttp2RouteMatchQueryParameterArrayOutput { + return o +} + +func (o GetGatewayRouteSpecHttp2RouteMatchQueryParameterArrayOutput) Index(i pulumi.IntInput) GetGatewayRouteSpecHttp2RouteMatchQueryParameterOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetGatewayRouteSpecHttp2RouteMatchQueryParameter { + return vs[0].([]GetGatewayRouteSpecHttp2RouteMatchQueryParameter)[vs[1].(int)] + }).(GetGatewayRouteSpecHttp2RouteMatchQueryParameterOutput) +} + +type GetGatewayRouteSpecHttp2RouteMatchQueryParameterMatch struct { + Exact string `pulumi:"exact"` +} + +// GetGatewayRouteSpecHttp2RouteMatchQueryParameterMatchInput is an input type that accepts GetGatewayRouteSpecHttp2RouteMatchQueryParameterMatchArgs and GetGatewayRouteSpecHttp2RouteMatchQueryParameterMatchOutput values. +// You can construct a concrete instance of `GetGatewayRouteSpecHttp2RouteMatchQueryParameterMatchInput` via: +// +// GetGatewayRouteSpecHttp2RouteMatchQueryParameterMatchArgs{...} +type GetGatewayRouteSpecHttp2RouteMatchQueryParameterMatchInput interface { + pulumi.Input + + ToGetGatewayRouteSpecHttp2RouteMatchQueryParameterMatchOutput() GetGatewayRouteSpecHttp2RouteMatchQueryParameterMatchOutput + ToGetGatewayRouteSpecHttp2RouteMatchQueryParameterMatchOutputWithContext(context.Context) GetGatewayRouteSpecHttp2RouteMatchQueryParameterMatchOutput +} + +type GetGatewayRouteSpecHttp2RouteMatchQueryParameterMatchArgs struct { + Exact pulumi.StringInput `pulumi:"exact"` +} + +func (GetGatewayRouteSpecHttp2RouteMatchQueryParameterMatchArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetGatewayRouteSpecHttp2RouteMatchQueryParameterMatch)(nil)).Elem() +} + +func (i GetGatewayRouteSpecHttp2RouteMatchQueryParameterMatchArgs) ToGetGatewayRouteSpecHttp2RouteMatchQueryParameterMatchOutput() GetGatewayRouteSpecHttp2RouteMatchQueryParameterMatchOutput { + return i.ToGetGatewayRouteSpecHttp2RouteMatchQueryParameterMatchOutputWithContext(context.Background()) +} + +func (i GetGatewayRouteSpecHttp2RouteMatchQueryParameterMatchArgs) ToGetGatewayRouteSpecHttp2RouteMatchQueryParameterMatchOutputWithContext(ctx context.Context) GetGatewayRouteSpecHttp2RouteMatchQueryParameterMatchOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetGatewayRouteSpecHttp2RouteMatchQueryParameterMatchOutput) +} + +// GetGatewayRouteSpecHttp2RouteMatchQueryParameterMatchArrayInput is an input type that accepts GetGatewayRouteSpecHttp2RouteMatchQueryParameterMatchArray and GetGatewayRouteSpecHttp2RouteMatchQueryParameterMatchArrayOutput values. +// You can construct a concrete instance of `GetGatewayRouteSpecHttp2RouteMatchQueryParameterMatchArrayInput` via: +// +// GetGatewayRouteSpecHttp2RouteMatchQueryParameterMatchArray{ GetGatewayRouteSpecHttp2RouteMatchQueryParameterMatchArgs{...} } +type GetGatewayRouteSpecHttp2RouteMatchQueryParameterMatchArrayInput interface { + pulumi.Input + + ToGetGatewayRouteSpecHttp2RouteMatchQueryParameterMatchArrayOutput() GetGatewayRouteSpecHttp2RouteMatchQueryParameterMatchArrayOutput + ToGetGatewayRouteSpecHttp2RouteMatchQueryParameterMatchArrayOutputWithContext(context.Context) GetGatewayRouteSpecHttp2RouteMatchQueryParameterMatchArrayOutput +} + +type GetGatewayRouteSpecHttp2RouteMatchQueryParameterMatchArray []GetGatewayRouteSpecHttp2RouteMatchQueryParameterMatchInput + +func (GetGatewayRouteSpecHttp2RouteMatchQueryParameterMatchArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetGatewayRouteSpecHttp2RouteMatchQueryParameterMatch)(nil)).Elem() +} + +func (i GetGatewayRouteSpecHttp2RouteMatchQueryParameterMatchArray) ToGetGatewayRouteSpecHttp2RouteMatchQueryParameterMatchArrayOutput() GetGatewayRouteSpecHttp2RouteMatchQueryParameterMatchArrayOutput { + return i.ToGetGatewayRouteSpecHttp2RouteMatchQueryParameterMatchArrayOutputWithContext(context.Background()) +} + +func (i GetGatewayRouteSpecHttp2RouteMatchQueryParameterMatchArray) ToGetGatewayRouteSpecHttp2RouteMatchQueryParameterMatchArrayOutputWithContext(ctx context.Context) GetGatewayRouteSpecHttp2RouteMatchQueryParameterMatchArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetGatewayRouteSpecHttp2RouteMatchQueryParameterMatchArrayOutput) +} + +type GetGatewayRouteSpecHttp2RouteMatchQueryParameterMatchOutput struct{ *pulumi.OutputState } + +func (GetGatewayRouteSpecHttp2RouteMatchQueryParameterMatchOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetGatewayRouteSpecHttp2RouteMatchQueryParameterMatch)(nil)).Elem() +} + +func (o GetGatewayRouteSpecHttp2RouteMatchQueryParameterMatchOutput) ToGetGatewayRouteSpecHttp2RouteMatchQueryParameterMatchOutput() GetGatewayRouteSpecHttp2RouteMatchQueryParameterMatchOutput { + return o +} + +func (o GetGatewayRouteSpecHttp2RouteMatchQueryParameterMatchOutput) ToGetGatewayRouteSpecHttp2RouteMatchQueryParameterMatchOutputWithContext(ctx context.Context) GetGatewayRouteSpecHttp2RouteMatchQueryParameterMatchOutput { + return o +} + +func (o GetGatewayRouteSpecHttp2RouteMatchQueryParameterMatchOutput) Exact() pulumi.StringOutput { + return o.ApplyT(func(v GetGatewayRouteSpecHttp2RouteMatchQueryParameterMatch) string { return v.Exact }).(pulumi.StringOutput) +} + +type GetGatewayRouteSpecHttp2RouteMatchQueryParameterMatchArrayOutput struct{ *pulumi.OutputState } + +func (GetGatewayRouteSpecHttp2RouteMatchQueryParameterMatchArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetGatewayRouteSpecHttp2RouteMatchQueryParameterMatch)(nil)).Elem() +} + +func (o GetGatewayRouteSpecHttp2RouteMatchQueryParameterMatchArrayOutput) ToGetGatewayRouteSpecHttp2RouteMatchQueryParameterMatchArrayOutput() GetGatewayRouteSpecHttp2RouteMatchQueryParameterMatchArrayOutput { + return o +} + +func (o GetGatewayRouteSpecHttp2RouteMatchQueryParameterMatchArrayOutput) ToGetGatewayRouteSpecHttp2RouteMatchQueryParameterMatchArrayOutputWithContext(ctx context.Context) GetGatewayRouteSpecHttp2RouteMatchQueryParameterMatchArrayOutput { + return o +} + +func (o GetGatewayRouteSpecHttp2RouteMatchQueryParameterMatchArrayOutput) Index(i pulumi.IntInput) GetGatewayRouteSpecHttp2RouteMatchQueryParameterMatchOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetGatewayRouteSpecHttp2RouteMatchQueryParameterMatch { + return vs[0].([]GetGatewayRouteSpecHttp2RouteMatchQueryParameterMatch)[vs[1].(int)] + }).(GetGatewayRouteSpecHttp2RouteMatchQueryParameterMatchOutput) +} + +type GetGatewayRouteSpecHttpRoute struct { + Actions []GetGatewayRouteSpecHttpRouteAction `pulumi:"actions"` + Matches []GetGatewayRouteSpecHttpRouteMatch `pulumi:"matches"` +} + +// GetGatewayRouteSpecHttpRouteInput is an input type that accepts GetGatewayRouteSpecHttpRouteArgs and GetGatewayRouteSpecHttpRouteOutput values. +// You can construct a concrete instance of `GetGatewayRouteSpecHttpRouteInput` via: +// +// GetGatewayRouteSpecHttpRouteArgs{...} +type GetGatewayRouteSpecHttpRouteInput interface { + pulumi.Input + + ToGetGatewayRouteSpecHttpRouteOutput() GetGatewayRouteSpecHttpRouteOutput + ToGetGatewayRouteSpecHttpRouteOutputWithContext(context.Context) GetGatewayRouteSpecHttpRouteOutput +} + +type GetGatewayRouteSpecHttpRouteArgs struct { + Actions GetGatewayRouteSpecHttpRouteActionArrayInput `pulumi:"actions"` + Matches GetGatewayRouteSpecHttpRouteMatchArrayInput `pulumi:"matches"` +} + +func (GetGatewayRouteSpecHttpRouteArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetGatewayRouteSpecHttpRoute)(nil)).Elem() +} + +func (i GetGatewayRouteSpecHttpRouteArgs) ToGetGatewayRouteSpecHttpRouteOutput() GetGatewayRouteSpecHttpRouteOutput { + return i.ToGetGatewayRouteSpecHttpRouteOutputWithContext(context.Background()) +} + +func (i GetGatewayRouteSpecHttpRouteArgs) ToGetGatewayRouteSpecHttpRouteOutputWithContext(ctx context.Context) GetGatewayRouteSpecHttpRouteOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetGatewayRouteSpecHttpRouteOutput) +} + +// GetGatewayRouteSpecHttpRouteArrayInput is an input type that accepts GetGatewayRouteSpecHttpRouteArray and GetGatewayRouteSpecHttpRouteArrayOutput values. +// You can construct a concrete instance of `GetGatewayRouteSpecHttpRouteArrayInput` via: +// +// GetGatewayRouteSpecHttpRouteArray{ GetGatewayRouteSpecHttpRouteArgs{...} } +type GetGatewayRouteSpecHttpRouteArrayInput interface { + pulumi.Input + + ToGetGatewayRouteSpecHttpRouteArrayOutput() GetGatewayRouteSpecHttpRouteArrayOutput + ToGetGatewayRouteSpecHttpRouteArrayOutputWithContext(context.Context) GetGatewayRouteSpecHttpRouteArrayOutput +} + +type GetGatewayRouteSpecHttpRouteArray []GetGatewayRouteSpecHttpRouteInput + +func (GetGatewayRouteSpecHttpRouteArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetGatewayRouteSpecHttpRoute)(nil)).Elem() +} + +func (i GetGatewayRouteSpecHttpRouteArray) ToGetGatewayRouteSpecHttpRouteArrayOutput() GetGatewayRouteSpecHttpRouteArrayOutput { + return i.ToGetGatewayRouteSpecHttpRouteArrayOutputWithContext(context.Background()) +} + +func (i GetGatewayRouteSpecHttpRouteArray) ToGetGatewayRouteSpecHttpRouteArrayOutputWithContext(ctx context.Context) GetGatewayRouteSpecHttpRouteArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetGatewayRouteSpecHttpRouteArrayOutput) +} + +type GetGatewayRouteSpecHttpRouteOutput struct{ *pulumi.OutputState } + +func (GetGatewayRouteSpecHttpRouteOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetGatewayRouteSpecHttpRoute)(nil)).Elem() +} + +func (o GetGatewayRouteSpecHttpRouteOutput) ToGetGatewayRouteSpecHttpRouteOutput() GetGatewayRouteSpecHttpRouteOutput { + return o +} + +func (o GetGatewayRouteSpecHttpRouteOutput) ToGetGatewayRouteSpecHttpRouteOutputWithContext(ctx context.Context) GetGatewayRouteSpecHttpRouteOutput { + return o +} + +func (o GetGatewayRouteSpecHttpRouteOutput) Actions() GetGatewayRouteSpecHttpRouteActionArrayOutput { + return o.ApplyT(func(v GetGatewayRouteSpecHttpRoute) []GetGatewayRouteSpecHttpRouteAction { return v.Actions }).(GetGatewayRouteSpecHttpRouteActionArrayOutput) +} + +func (o GetGatewayRouteSpecHttpRouteOutput) Matches() GetGatewayRouteSpecHttpRouteMatchArrayOutput { + return o.ApplyT(func(v GetGatewayRouteSpecHttpRoute) []GetGatewayRouteSpecHttpRouteMatch { return v.Matches }).(GetGatewayRouteSpecHttpRouteMatchArrayOutput) +} + +type GetGatewayRouteSpecHttpRouteArrayOutput struct{ *pulumi.OutputState } + +func (GetGatewayRouteSpecHttpRouteArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetGatewayRouteSpecHttpRoute)(nil)).Elem() +} + +func (o GetGatewayRouteSpecHttpRouteArrayOutput) ToGetGatewayRouteSpecHttpRouteArrayOutput() GetGatewayRouteSpecHttpRouteArrayOutput { + return o +} + +func (o GetGatewayRouteSpecHttpRouteArrayOutput) ToGetGatewayRouteSpecHttpRouteArrayOutputWithContext(ctx context.Context) GetGatewayRouteSpecHttpRouteArrayOutput { + return o +} + +func (o GetGatewayRouteSpecHttpRouteArrayOutput) Index(i pulumi.IntInput) GetGatewayRouteSpecHttpRouteOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetGatewayRouteSpecHttpRoute { + return vs[0].([]GetGatewayRouteSpecHttpRoute)[vs[1].(int)] + }).(GetGatewayRouteSpecHttpRouteOutput) +} + +type GetGatewayRouteSpecHttpRouteAction struct { + Rewrites []GetGatewayRouteSpecHttpRouteActionRewrite `pulumi:"rewrites"` + Targets []GetGatewayRouteSpecHttpRouteActionTarget `pulumi:"targets"` +} + +// GetGatewayRouteSpecHttpRouteActionInput is an input type that accepts GetGatewayRouteSpecHttpRouteActionArgs and GetGatewayRouteSpecHttpRouteActionOutput values. +// You can construct a concrete instance of `GetGatewayRouteSpecHttpRouteActionInput` via: +// +// GetGatewayRouteSpecHttpRouteActionArgs{...} +type GetGatewayRouteSpecHttpRouteActionInput interface { + pulumi.Input + + ToGetGatewayRouteSpecHttpRouteActionOutput() GetGatewayRouteSpecHttpRouteActionOutput + ToGetGatewayRouteSpecHttpRouteActionOutputWithContext(context.Context) GetGatewayRouteSpecHttpRouteActionOutput +} + +type GetGatewayRouteSpecHttpRouteActionArgs struct { + Rewrites GetGatewayRouteSpecHttpRouteActionRewriteArrayInput `pulumi:"rewrites"` + Targets GetGatewayRouteSpecHttpRouteActionTargetArrayInput `pulumi:"targets"` +} + +func (GetGatewayRouteSpecHttpRouteActionArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetGatewayRouteSpecHttpRouteAction)(nil)).Elem() +} + +func (i GetGatewayRouteSpecHttpRouteActionArgs) ToGetGatewayRouteSpecHttpRouteActionOutput() GetGatewayRouteSpecHttpRouteActionOutput { + return i.ToGetGatewayRouteSpecHttpRouteActionOutputWithContext(context.Background()) +} + +func (i GetGatewayRouteSpecHttpRouteActionArgs) ToGetGatewayRouteSpecHttpRouteActionOutputWithContext(ctx context.Context) GetGatewayRouteSpecHttpRouteActionOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetGatewayRouteSpecHttpRouteActionOutput) +} + +// GetGatewayRouteSpecHttpRouteActionArrayInput is an input type that accepts GetGatewayRouteSpecHttpRouteActionArray and GetGatewayRouteSpecHttpRouteActionArrayOutput values. +// You can construct a concrete instance of `GetGatewayRouteSpecHttpRouteActionArrayInput` via: +// +// GetGatewayRouteSpecHttpRouteActionArray{ GetGatewayRouteSpecHttpRouteActionArgs{...} } +type GetGatewayRouteSpecHttpRouteActionArrayInput interface { + pulumi.Input + + ToGetGatewayRouteSpecHttpRouteActionArrayOutput() GetGatewayRouteSpecHttpRouteActionArrayOutput + ToGetGatewayRouteSpecHttpRouteActionArrayOutputWithContext(context.Context) GetGatewayRouteSpecHttpRouteActionArrayOutput +} + +type GetGatewayRouteSpecHttpRouteActionArray []GetGatewayRouteSpecHttpRouteActionInput + +func (GetGatewayRouteSpecHttpRouteActionArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetGatewayRouteSpecHttpRouteAction)(nil)).Elem() +} + +func (i GetGatewayRouteSpecHttpRouteActionArray) ToGetGatewayRouteSpecHttpRouteActionArrayOutput() GetGatewayRouteSpecHttpRouteActionArrayOutput { + return i.ToGetGatewayRouteSpecHttpRouteActionArrayOutputWithContext(context.Background()) +} + +func (i GetGatewayRouteSpecHttpRouteActionArray) ToGetGatewayRouteSpecHttpRouteActionArrayOutputWithContext(ctx context.Context) GetGatewayRouteSpecHttpRouteActionArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetGatewayRouteSpecHttpRouteActionArrayOutput) +} + +type GetGatewayRouteSpecHttpRouteActionOutput struct{ *pulumi.OutputState } + +func (GetGatewayRouteSpecHttpRouteActionOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetGatewayRouteSpecHttpRouteAction)(nil)).Elem() +} + +func (o GetGatewayRouteSpecHttpRouteActionOutput) ToGetGatewayRouteSpecHttpRouteActionOutput() GetGatewayRouteSpecHttpRouteActionOutput { + return o +} + +func (o GetGatewayRouteSpecHttpRouteActionOutput) ToGetGatewayRouteSpecHttpRouteActionOutputWithContext(ctx context.Context) GetGatewayRouteSpecHttpRouteActionOutput { + return o +} + +func (o GetGatewayRouteSpecHttpRouteActionOutput) Rewrites() GetGatewayRouteSpecHttpRouteActionRewriteArrayOutput { + return o.ApplyT(func(v GetGatewayRouteSpecHttpRouteAction) []GetGatewayRouteSpecHttpRouteActionRewrite { + return v.Rewrites + }).(GetGatewayRouteSpecHttpRouteActionRewriteArrayOutput) +} + +func (o GetGatewayRouteSpecHttpRouteActionOutput) Targets() GetGatewayRouteSpecHttpRouteActionTargetArrayOutput { + return o.ApplyT(func(v GetGatewayRouteSpecHttpRouteAction) []GetGatewayRouteSpecHttpRouteActionTarget { + return v.Targets + }).(GetGatewayRouteSpecHttpRouteActionTargetArrayOutput) +} + +type GetGatewayRouteSpecHttpRouteActionArrayOutput struct{ *pulumi.OutputState } + +func (GetGatewayRouteSpecHttpRouteActionArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetGatewayRouteSpecHttpRouteAction)(nil)).Elem() +} + +func (o GetGatewayRouteSpecHttpRouteActionArrayOutput) ToGetGatewayRouteSpecHttpRouteActionArrayOutput() GetGatewayRouteSpecHttpRouteActionArrayOutput { + return o +} + +func (o GetGatewayRouteSpecHttpRouteActionArrayOutput) ToGetGatewayRouteSpecHttpRouteActionArrayOutputWithContext(ctx context.Context) GetGatewayRouteSpecHttpRouteActionArrayOutput { + return o +} + +func (o GetGatewayRouteSpecHttpRouteActionArrayOutput) Index(i pulumi.IntInput) GetGatewayRouteSpecHttpRouteActionOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetGatewayRouteSpecHttpRouteAction { + return vs[0].([]GetGatewayRouteSpecHttpRouteAction)[vs[1].(int)] + }).(GetGatewayRouteSpecHttpRouteActionOutput) +} + +type GetGatewayRouteSpecHttpRouteActionRewrite struct { + Hostnames []GetGatewayRouteSpecHttpRouteActionRewriteHostname `pulumi:"hostnames"` + Prefixes []GetGatewayRouteSpecHttpRouteActionRewritePrefix `pulumi:"prefixes"` +} + +// GetGatewayRouteSpecHttpRouteActionRewriteInput is an input type that accepts GetGatewayRouteSpecHttpRouteActionRewriteArgs and GetGatewayRouteSpecHttpRouteActionRewriteOutput values. +// You can construct a concrete instance of `GetGatewayRouteSpecHttpRouteActionRewriteInput` via: +// +// GetGatewayRouteSpecHttpRouteActionRewriteArgs{...} +type GetGatewayRouteSpecHttpRouteActionRewriteInput interface { + pulumi.Input + + ToGetGatewayRouteSpecHttpRouteActionRewriteOutput() GetGatewayRouteSpecHttpRouteActionRewriteOutput + ToGetGatewayRouteSpecHttpRouteActionRewriteOutputWithContext(context.Context) GetGatewayRouteSpecHttpRouteActionRewriteOutput +} + +type GetGatewayRouteSpecHttpRouteActionRewriteArgs struct { + Hostnames GetGatewayRouteSpecHttpRouteActionRewriteHostnameArrayInput `pulumi:"hostnames"` + Prefixes GetGatewayRouteSpecHttpRouteActionRewritePrefixArrayInput `pulumi:"prefixes"` +} + +func (GetGatewayRouteSpecHttpRouteActionRewriteArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetGatewayRouteSpecHttpRouteActionRewrite)(nil)).Elem() +} + +func (i GetGatewayRouteSpecHttpRouteActionRewriteArgs) ToGetGatewayRouteSpecHttpRouteActionRewriteOutput() GetGatewayRouteSpecHttpRouteActionRewriteOutput { + return i.ToGetGatewayRouteSpecHttpRouteActionRewriteOutputWithContext(context.Background()) +} + +func (i GetGatewayRouteSpecHttpRouteActionRewriteArgs) ToGetGatewayRouteSpecHttpRouteActionRewriteOutputWithContext(ctx context.Context) GetGatewayRouteSpecHttpRouteActionRewriteOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetGatewayRouteSpecHttpRouteActionRewriteOutput) +} + +// GetGatewayRouteSpecHttpRouteActionRewriteArrayInput is an input type that accepts GetGatewayRouteSpecHttpRouteActionRewriteArray and GetGatewayRouteSpecHttpRouteActionRewriteArrayOutput values. +// You can construct a concrete instance of `GetGatewayRouteSpecHttpRouteActionRewriteArrayInput` via: +// +// GetGatewayRouteSpecHttpRouteActionRewriteArray{ GetGatewayRouteSpecHttpRouteActionRewriteArgs{...} } +type GetGatewayRouteSpecHttpRouteActionRewriteArrayInput interface { + pulumi.Input + + ToGetGatewayRouteSpecHttpRouteActionRewriteArrayOutput() GetGatewayRouteSpecHttpRouteActionRewriteArrayOutput + ToGetGatewayRouteSpecHttpRouteActionRewriteArrayOutputWithContext(context.Context) GetGatewayRouteSpecHttpRouteActionRewriteArrayOutput +} + +type GetGatewayRouteSpecHttpRouteActionRewriteArray []GetGatewayRouteSpecHttpRouteActionRewriteInput + +func (GetGatewayRouteSpecHttpRouteActionRewriteArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetGatewayRouteSpecHttpRouteActionRewrite)(nil)).Elem() +} + +func (i GetGatewayRouteSpecHttpRouteActionRewriteArray) ToGetGatewayRouteSpecHttpRouteActionRewriteArrayOutput() GetGatewayRouteSpecHttpRouteActionRewriteArrayOutput { + return i.ToGetGatewayRouteSpecHttpRouteActionRewriteArrayOutputWithContext(context.Background()) +} + +func (i GetGatewayRouteSpecHttpRouteActionRewriteArray) ToGetGatewayRouteSpecHttpRouteActionRewriteArrayOutputWithContext(ctx context.Context) GetGatewayRouteSpecHttpRouteActionRewriteArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetGatewayRouteSpecHttpRouteActionRewriteArrayOutput) +} + +type GetGatewayRouteSpecHttpRouteActionRewriteOutput struct{ *pulumi.OutputState } + +func (GetGatewayRouteSpecHttpRouteActionRewriteOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetGatewayRouteSpecHttpRouteActionRewrite)(nil)).Elem() +} + +func (o GetGatewayRouteSpecHttpRouteActionRewriteOutput) ToGetGatewayRouteSpecHttpRouteActionRewriteOutput() GetGatewayRouteSpecHttpRouteActionRewriteOutput { + return o +} + +func (o GetGatewayRouteSpecHttpRouteActionRewriteOutput) ToGetGatewayRouteSpecHttpRouteActionRewriteOutputWithContext(ctx context.Context) GetGatewayRouteSpecHttpRouteActionRewriteOutput { + return o +} + +func (o GetGatewayRouteSpecHttpRouteActionRewriteOutput) Hostnames() GetGatewayRouteSpecHttpRouteActionRewriteHostnameArrayOutput { + return o.ApplyT(func(v GetGatewayRouteSpecHttpRouteActionRewrite) []GetGatewayRouteSpecHttpRouteActionRewriteHostname { + return v.Hostnames + }).(GetGatewayRouteSpecHttpRouteActionRewriteHostnameArrayOutput) +} + +func (o GetGatewayRouteSpecHttpRouteActionRewriteOutput) Prefixes() GetGatewayRouteSpecHttpRouteActionRewritePrefixArrayOutput { + return o.ApplyT(func(v GetGatewayRouteSpecHttpRouteActionRewrite) []GetGatewayRouteSpecHttpRouteActionRewritePrefix { + return v.Prefixes + }).(GetGatewayRouteSpecHttpRouteActionRewritePrefixArrayOutput) +} + +type GetGatewayRouteSpecHttpRouteActionRewriteArrayOutput struct{ *pulumi.OutputState } + +func (GetGatewayRouteSpecHttpRouteActionRewriteArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetGatewayRouteSpecHttpRouteActionRewrite)(nil)).Elem() +} + +func (o GetGatewayRouteSpecHttpRouteActionRewriteArrayOutput) ToGetGatewayRouteSpecHttpRouteActionRewriteArrayOutput() GetGatewayRouteSpecHttpRouteActionRewriteArrayOutput { + return o +} + +func (o GetGatewayRouteSpecHttpRouteActionRewriteArrayOutput) ToGetGatewayRouteSpecHttpRouteActionRewriteArrayOutputWithContext(ctx context.Context) GetGatewayRouteSpecHttpRouteActionRewriteArrayOutput { + return o +} + +func (o GetGatewayRouteSpecHttpRouteActionRewriteArrayOutput) Index(i pulumi.IntInput) GetGatewayRouteSpecHttpRouteActionRewriteOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetGatewayRouteSpecHttpRouteActionRewrite { + return vs[0].([]GetGatewayRouteSpecHttpRouteActionRewrite)[vs[1].(int)] + }).(GetGatewayRouteSpecHttpRouteActionRewriteOutput) +} + +type GetGatewayRouteSpecHttpRouteActionRewriteHostname struct { + DefaultTargetHostname string `pulumi:"defaultTargetHostname"` +} + +// GetGatewayRouteSpecHttpRouteActionRewriteHostnameInput is an input type that accepts GetGatewayRouteSpecHttpRouteActionRewriteHostnameArgs and GetGatewayRouteSpecHttpRouteActionRewriteHostnameOutput values. +// You can construct a concrete instance of `GetGatewayRouteSpecHttpRouteActionRewriteHostnameInput` via: +// +// GetGatewayRouteSpecHttpRouteActionRewriteHostnameArgs{...} +type GetGatewayRouteSpecHttpRouteActionRewriteHostnameInput interface { + pulumi.Input + + ToGetGatewayRouteSpecHttpRouteActionRewriteHostnameOutput() GetGatewayRouteSpecHttpRouteActionRewriteHostnameOutput + ToGetGatewayRouteSpecHttpRouteActionRewriteHostnameOutputWithContext(context.Context) GetGatewayRouteSpecHttpRouteActionRewriteHostnameOutput +} + +type GetGatewayRouteSpecHttpRouteActionRewriteHostnameArgs struct { + DefaultTargetHostname pulumi.StringInput `pulumi:"defaultTargetHostname"` +} + +func (GetGatewayRouteSpecHttpRouteActionRewriteHostnameArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetGatewayRouteSpecHttpRouteActionRewriteHostname)(nil)).Elem() +} + +func (i GetGatewayRouteSpecHttpRouteActionRewriteHostnameArgs) ToGetGatewayRouteSpecHttpRouteActionRewriteHostnameOutput() GetGatewayRouteSpecHttpRouteActionRewriteHostnameOutput { + return i.ToGetGatewayRouteSpecHttpRouteActionRewriteHostnameOutputWithContext(context.Background()) +} + +func (i GetGatewayRouteSpecHttpRouteActionRewriteHostnameArgs) ToGetGatewayRouteSpecHttpRouteActionRewriteHostnameOutputWithContext(ctx context.Context) GetGatewayRouteSpecHttpRouteActionRewriteHostnameOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetGatewayRouteSpecHttpRouteActionRewriteHostnameOutput) +} + +// GetGatewayRouteSpecHttpRouteActionRewriteHostnameArrayInput is an input type that accepts GetGatewayRouteSpecHttpRouteActionRewriteHostnameArray and GetGatewayRouteSpecHttpRouteActionRewriteHostnameArrayOutput values. +// You can construct a concrete instance of `GetGatewayRouteSpecHttpRouteActionRewriteHostnameArrayInput` via: +// +// GetGatewayRouteSpecHttpRouteActionRewriteHostnameArray{ GetGatewayRouteSpecHttpRouteActionRewriteHostnameArgs{...} } +type GetGatewayRouteSpecHttpRouteActionRewriteHostnameArrayInput interface { + pulumi.Input + + ToGetGatewayRouteSpecHttpRouteActionRewriteHostnameArrayOutput() GetGatewayRouteSpecHttpRouteActionRewriteHostnameArrayOutput + ToGetGatewayRouteSpecHttpRouteActionRewriteHostnameArrayOutputWithContext(context.Context) GetGatewayRouteSpecHttpRouteActionRewriteHostnameArrayOutput +} + +type GetGatewayRouteSpecHttpRouteActionRewriteHostnameArray []GetGatewayRouteSpecHttpRouteActionRewriteHostnameInput + +func (GetGatewayRouteSpecHttpRouteActionRewriteHostnameArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetGatewayRouteSpecHttpRouteActionRewriteHostname)(nil)).Elem() +} + +func (i GetGatewayRouteSpecHttpRouteActionRewriteHostnameArray) ToGetGatewayRouteSpecHttpRouteActionRewriteHostnameArrayOutput() GetGatewayRouteSpecHttpRouteActionRewriteHostnameArrayOutput { + return i.ToGetGatewayRouteSpecHttpRouteActionRewriteHostnameArrayOutputWithContext(context.Background()) +} + +func (i GetGatewayRouteSpecHttpRouteActionRewriteHostnameArray) ToGetGatewayRouteSpecHttpRouteActionRewriteHostnameArrayOutputWithContext(ctx context.Context) GetGatewayRouteSpecHttpRouteActionRewriteHostnameArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetGatewayRouteSpecHttpRouteActionRewriteHostnameArrayOutput) +} + +type GetGatewayRouteSpecHttpRouteActionRewriteHostnameOutput struct{ *pulumi.OutputState } + +func (GetGatewayRouteSpecHttpRouteActionRewriteHostnameOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetGatewayRouteSpecHttpRouteActionRewriteHostname)(nil)).Elem() +} + +func (o GetGatewayRouteSpecHttpRouteActionRewriteHostnameOutput) ToGetGatewayRouteSpecHttpRouteActionRewriteHostnameOutput() GetGatewayRouteSpecHttpRouteActionRewriteHostnameOutput { + return o +} + +func (o GetGatewayRouteSpecHttpRouteActionRewriteHostnameOutput) ToGetGatewayRouteSpecHttpRouteActionRewriteHostnameOutputWithContext(ctx context.Context) GetGatewayRouteSpecHttpRouteActionRewriteHostnameOutput { + return o +} + +func (o GetGatewayRouteSpecHttpRouteActionRewriteHostnameOutput) DefaultTargetHostname() pulumi.StringOutput { + return o.ApplyT(func(v GetGatewayRouteSpecHttpRouteActionRewriteHostname) string { return v.DefaultTargetHostname }).(pulumi.StringOutput) +} + +type GetGatewayRouteSpecHttpRouteActionRewriteHostnameArrayOutput struct{ *pulumi.OutputState } + +func (GetGatewayRouteSpecHttpRouteActionRewriteHostnameArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetGatewayRouteSpecHttpRouteActionRewriteHostname)(nil)).Elem() +} + +func (o GetGatewayRouteSpecHttpRouteActionRewriteHostnameArrayOutput) ToGetGatewayRouteSpecHttpRouteActionRewriteHostnameArrayOutput() GetGatewayRouteSpecHttpRouteActionRewriteHostnameArrayOutput { + return o +} + +func (o GetGatewayRouteSpecHttpRouteActionRewriteHostnameArrayOutput) ToGetGatewayRouteSpecHttpRouteActionRewriteHostnameArrayOutputWithContext(ctx context.Context) GetGatewayRouteSpecHttpRouteActionRewriteHostnameArrayOutput { + return o +} + +func (o GetGatewayRouteSpecHttpRouteActionRewriteHostnameArrayOutput) Index(i pulumi.IntInput) GetGatewayRouteSpecHttpRouteActionRewriteHostnameOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetGatewayRouteSpecHttpRouteActionRewriteHostname { + return vs[0].([]GetGatewayRouteSpecHttpRouteActionRewriteHostname)[vs[1].(int)] + }).(GetGatewayRouteSpecHttpRouteActionRewriteHostnameOutput) +} + +type GetGatewayRouteSpecHttpRouteActionRewritePrefix struct { + DefaultPrefix string `pulumi:"defaultPrefix"` + Value string `pulumi:"value"` +} + +// GetGatewayRouteSpecHttpRouteActionRewritePrefixInput is an input type that accepts GetGatewayRouteSpecHttpRouteActionRewritePrefixArgs and GetGatewayRouteSpecHttpRouteActionRewritePrefixOutput values. +// You can construct a concrete instance of `GetGatewayRouteSpecHttpRouteActionRewritePrefixInput` via: +// +// GetGatewayRouteSpecHttpRouteActionRewritePrefixArgs{...} +type GetGatewayRouteSpecHttpRouteActionRewritePrefixInput interface { + pulumi.Input + + ToGetGatewayRouteSpecHttpRouteActionRewritePrefixOutput() GetGatewayRouteSpecHttpRouteActionRewritePrefixOutput + ToGetGatewayRouteSpecHttpRouteActionRewritePrefixOutputWithContext(context.Context) GetGatewayRouteSpecHttpRouteActionRewritePrefixOutput +} + +type GetGatewayRouteSpecHttpRouteActionRewritePrefixArgs struct { + DefaultPrefix pulumi.StringInput `pulumi:"defaultPrefix"` + Value pulumi.StringInput `pulumi:"value"` +} + +func (GetGatewayRouteSpecHttpRouteActionRewritePrefixArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetGatewayRouteSpecHttpRouteActionRewritePrefix)(nil)).Elem() +} + +func (i GetGatewayRouteSpecHttpRouteActionRewritePrefixArgs) ToGetGatewayRouteSpecHttpRouteActionRewritePrefixOutput() GetGatewayRouteSpecHttpRouteActionRewritePrefixOutput { + return i.ToGetGatewayRouteSpecHttpRouteActionRewritePrefixOutputWithContext(context.Background()) +} + +func (i GetGatewayRouteSpecHttpRouteActionRewritePrefixArgs) ToGetGatewayRouteSpecHttpRouteActionRewritePrefixOutputWithContext(ctx context.Context) GetGatewayRouteSpecHttpRouteActionRewritePrefixOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetGatewayRouteSpecHttpRouteActionRewritePrefixOutput) +} + +// GetGatewayRouteSpecHttpRouteActionRewritePrefixArrayInput is an input type that accepts GetGatewayRouteSpecHttpRouteActionRewritePrefixArray and GetGatewayRouteSpecHttpRouteActionRewritePrefixArrayOutput values. +// You can construct a concrete instance of `GetGatewayRouteSpecHttpRouteActionRewritePrefixArrayInput` via: +// +// GetGatewayRouteSpecHttpRouteActionRewritePrefixArray{ GetGatewayRouteSpecHttpRouteActionRewritePrefixArgs{...} } +type GetGatewayRouteSpecHttpRouteActionRewritePrefixArrayInput interface { + pulumi.Input + + ToGetGatewayRouteSpecHttpRouteActionRewritePrefixArrayOutput() GetGatewayRouteSpecHttpRouteActionRewritePrefixArrayOutput + ToGetGatewayRouteSpecHttpRouteActionRewritePrefixArrayOutputWithContext(context.Context) GetGatewayRouteSpecHttpRouteActionRewritePrefixArrayOutput +} + +type GetGatewayRouteSpecHttpRouteActionRewritePrefixArray []GetGatewayRouteSpecHttpRouteActionRewritePrefixInput + +func (GetGatewayRouteSpecHttpRouteActionRewritePrefixArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetGatewayRouteSpecHttpRouteActionRewritePrefix)(nil)).Elem() +} + +func (i GetGatewayRouteSpecHttpRouteActionRewritePrefixArray) ToGetGatewayRouteSpecHttpRouteActionRewritePrefixArrayOutput() GetGatewayRouteSpecHttpRouteActionRewritePrefixArrayOutput { + return i.ToGetGatewayRouteSpecHttpRouteActionRewritePrefixArrayOutputWithContext(context.Background()) +} + +func (i GetGatewayRouteSpecHttpRouteActionRewritePrefixArray) ToGetGatewayRouteSpecHttpRouteActionRewritePrefixArrayOutputWithContext(ctx context.Context) GetGatewayRouteSpecHttpRouteActionRewritePrefixArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetGatewayRouteSpecHttpRouteActionRewritePrefixArrayOutput) +} + +type GetGatewayRouteSpecHttpRouteActionRewritePrefixOutput struct{ *pulumi.OutputState } + +func (GetGatewayRouteSpecHttpRouteActionRewritePrefixOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetGatewayRouteSpecHttpRouteActionRewritePrefix)(nil)).Elem() +} + +func (o GetGatewayRouteSpecHttpRouteActionRewritePrefixOutput) ToGetGatewayRouteSpecHttpRouteActionRewritePrefixOutput() GetGatewayRouteSpecHttpRouteActionRewritePrefixOutput { + return o +} + +func (o GetGatewayRouteSpecHttpRouteActionRewritePrefixOutput) ToGetGatewayRouteSpecHttpRouteActionRewritePrefixOutputWithContext(ctx context.Context) GetGatewayRouteSpecHttpRouteActionRewritePrefixOutput { + return o +} + +func (o GetGatewayRouteSpecHttpRouteActionRewritePrefixOutput) DefaultPrefix() pulumi.StringOutput { + return o.ApplyT(func(v GetGatewayRouteSpecHttpRouteActionRewritePrefix) string { return v.DefaultPrefix }).(pulumi.StringOutput) +} + +func (o GetGatewayRouteSpecHttpRouteActionRewritePrefixOutput) Value() pulumi.StringOutput { + return o.ApplyT(func(v GetGatewayRouteSpecHttpRouteActionRewritePrefix) string { return v.Value }).(pulumi.StringOutput) +} + +type GetGatewayRouteSpecHttpRouteActionRewritePrefixArrayOutput struct{ *pulumi.OutputState } + +func (GetGatewayRouteSpecHttpRouteActionRewritePrefixArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetGatewayRouteSpecHttpRouteActionRewritePrefix)(nil)).Elem() +} + +func (o GetGatewayRouteSpecHttpRouteActionRewritePrefixArrayOutput) ToGetGatewayRouteSpecHttpRouteActionRewritePrefixArrayOutput() GetGatewayRouteSpecHttpRouteActionRewritePrefixArrayOutput { + return o +} + +func (o GetGatewayRouteSpecHttpRouteActionRewritePrefixArrayOutput) ToGetGatewayRouteSpecHttpRouteActionRewritePrefixArrayOutputWithContext(ctx context.Context) GetGatewayRouteSpecHttpRouteActionRewritePrefixArrayOutput { + return o +} + +func (o GetGatewayRouteSpecHttpRouteActionRewritePrefixArrayOutput) Index(i pulumi.IntInput) GetGatewayRouteSpecHttpRouteActionRewritePrefixOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetGatewayRouteSpecHttpRouteActionRewritePrefix { + return vs[0].([]GetGatewayRouteSpecHttpRouteActionRewritePrefix)[vs[1].(int)] + }).(GetGatewayRouteSpecHttpRouteActionRewritePrefixOutput) +} + +type GetGatewayRouteSpecHttpRouteActionTarget struct { + Port int `pulumi:"port"` + VirtualServices []GetGatewayRouteSpecHttpRouteActionTargetVirtualService `pulumi:"virtualServices"` +} + +// GetGatewayRouteSpecHttpRouteActionTargetInput is an input type that accepts GetGatewayRouteSpecHttpRouteActionTargetArgs and GetGatewayRouteSpecHttpRouteActionTargetOutput values. +// You can construct a concrete instance of `GetGatewayRouteSpecHttpRouteActionTargetInput` via: +// +// GetGatewayRouteSpecHttpRouteActionTargetArgs{...} +type GetGatewayRouteSpecHttpRouteActionTargetInput interface { + pulumi.Input + + ToGetGatewayRouteSpecHttpRouteActionTargetOutput() GetGatewayRouteSpecHttpRouteActionTargetOutput + ToGetGatewayRouteSpecHttpRouteActionTargetOutputWithContext(context.Context) GetGatewayRouteSpecHttpRouteActionTargetOutput +} + +type GetGatewayRouteSpecHttpRouteActionTargetArgs struct { + Port pulumi.IntInput `pulumi:"port"` + VirtualServices GetGatewayRouteSpecHttpRouteActionTargetVirtualServiceArrayInput `pulumi:"virtualServices"` +} + +func (GetGatewayRouteSpecHttpRouteActionTargetArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetGatewayRouteSpecHttpRouteActionTarget)(nil)).Elem() +} + +func (i GetGatewayRouteSpecHttpRouteActionTargetArgs) ToGetGatewayRouteSpecHttpRouteActionTargetOutput() GetGatewayRouteSpecHttpRouteActionTargetOutput { + return i.ToGetGatewayRouteSpecHttpRouteActionTargetOutputWithContext(context.Background()) +} + +func (i GetGatewayRouteSpecHttpRouteActionTargetArgs) ToGetGatewayRouteSpecHttpRouteActionTargetOutputWithContext(ctx context.Context) GetGatewayRouteSpecHttpRouteActionTargetOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetGatewayRouteSpecHttpRouteActionTargetOutput) +} + +// GetGatewayRouteSpecHttpRouteActionTargetArrayInput is an input type that accepts GetGatewayRouteSpecHttpRouteActionTargetArray and GetGatewayRouteSpecHttpRouteActionTargetArrayOutput values. +// You can construct a concrete instance of `GetGatewayRouteSpecHttpRouteActionTargetArrayInput` via: +// +// GetGatewayRouteSpecHttpRouteActionTargetArray{ GetGatewayRouteSpecHttpRouteActionTargetArgs{...} } +type GetGatewayRouteSpecHttpRouteActionTargetArrayInput interface { + pulumi.Input + + ToGetGatewayRouteSpecHttpRouteActionTargetArrayOutput() GetGatewayRouteSpecHttpRouteActionTargetArrayOutput + ToGetGatewayRouteSpecHttpRouteActionTargetArrayOutputWithContext(context.Context) GetGatewayRouteSpecHttpRouteActionTargetArrayOutput +} + +type GetGatewayRouteSpecHttpRouteActionTargetArray []GetGatewayRouteSpecHttpRouteActionTargetInput + +func (GetGatewayRouteSpecHttpRouteActionTargetArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetGatewayRouteSpecHttpRouteActionTarget)(nil)).Elem() +} + +func (i GetGatewayRouteSpecHttpRouteActionTargetArray) ToGetGatewayRouteSpecHttpRouteActionTargetArrayOutput() GetGatewayRouteSpecHttpRouteActionTargetArrayOutput { + return i.ToGetGatewayRouteSpecHttpRouteActionTargetArrayOutputWithContext(context.Background()) +} + +func (i GetGatewayRouteSpecHttpRouteActionTargetArray) ToGetGatewayRouteSpecHttpRouteActionTargetArrayOutputWithContext(ctx context.Context) GetGatewayRouteSpecHttpRouteActionTargetArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetGatewayRouteSpecHttpRouteActionTargetArrayOutput) +} + +type GetGatewayRouteSpecHttpRouteActionTargetOutput struct{ *pulumi.OutputState } + +func (GetGatewayRouteSpecHttpRouteActionTargetOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetGatewayRouteSpecHttpRouteActionTarget)(nil)).Elem() +} + +func (o GetGatewayRouteSpecHttpRouteActionTargetOutput) ToGetGatewayRouteSpecHttpRouteActionTargetOutput() GetGatewayRouteSpecHttpRouteActionTargetOutput { + return o +} + +func (o GetGatewayRouteSpecHttpRouteActionTargetOutput) ToGetGatewayRouteSpecHttpRouteActionTargetOutputWithContext(ctx context.Context) GetGatewayRouteSpecHttpRouteActionTargetOutput { + return o +} + +func (o GetGatewayRouteSpecHttpRouteActionTargetOutput) Port() pulumi.IntOutput { + return o.ApplyT(func(v GetGatewayRouteSpecHttpRouteActionTarget) int { return v.Port }).(pulumi.IntOutput) +} + +func (o GetGatewayRouteSpecHttpRouteActionTargetOutput) VirtualServices() GetGatewayRouteSpecHttpRouteActionTargetVirtualServiceArrayOutput { + return o.ApplyT(func(v GetGatewayRouteSpecHttpRouteActionTarget) []GetGatewayRouteSpecHttpRouteActionTargetVirtualService { + return v.VirtualServices + }).(GetGatewayRouteSpecHttpRouteActionTargetVirtualServiceArrayOutput) +} + +type GetGatewayRouteSpecHttpRouteActionTargetArrayOutput struct{ *pulumi.OutputState } + +func (GetGatewayRouteSpecHttpRouteActionTargetArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetGatewayRouteSpecHttpRouteActionTarget)(nil)).Elem() +} + +func (o GetGatewayRouteSpecHttpRouteActionTargetArrayOutput) ToGetGatewayRouteSpecHttpRouteActionTargetArrayOutput() GetGatewayRouteSpecHttpRouteActionTargetArrayOutput { + return o +} + +func (o GetGatewayRouteSpecHttpRouteActionTargetArrayOutput) ToGetGatewayRouteSpecHttpRouteActionTargetArrayOutputWithContext(ctx context.Context) GetGatewayRouteSpecHttpRouteActionTargetArrayOutput { + return o +} + +func (o GetGatewayRouteSpecHttpRouteActionTargetArrayOutput) Index(i pulumi.IntInput) GetGatewayRouteSpecHttpRouteActionTargetOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetGatewayRouteSpecHttpRouteActionTarget { + return vs[0].([]GetGatewayRouteSpecHttpRouteActionTarget)[vs[1].(int)] + }).(GetGatewayRouteSpecHttpRouteActionTargetOutput) +} + +type GetGatewayRouteSpecHttpRouteActionTargetVirtualService struct { + VirtualServiceName string `pulumi:"virtualServiceName"` +} + +// GetGatewayRouteSpecHttpRouteActionTargetVirtualServiceInput is an input type that accepts GetGatewayRouteSpecHttpRouteActionTargetVirtualServiceArgs and GetGatewayRouteSpecHttpRouteActionTargetVirtualServiceOutput values. +// You can construct a concrete instance of `GetGatewayRouteSpecHttpRouteActionTargetVirtualServiceInput` via: +// +// GetGatewayRouteSpecHttpRouteActionTargetVirtualServiceArgs{...} +type GetGatewayRouteSpecHttpRouteActionTargetVirtualServiceInput interface { + pulumi.Input + + ToGetGatewayRouteSpecHttpRouteActionTargetVirtualServiceOutput() GetGatewayRouteSpecHttpRouteActionTargetVirtualServiceOutput + ToGetGatewayRouteSpecHttpRouteActionTargetVirtualServiceOutputWithContext(context.Context) GetGatewayRouteSpecHttpRouteActionTargetVirtualServiceOutput +} + +type GetGatewayRouteSpecHttpRouteActionTargetVirtualServiceArgs struct { + VirtualServiceName pulumi.StringInput `pulumi:"virtualServiceName"` +} + +func (GetGatewayRouteSpecHttpRouteActionTargetVirtualServiceArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetGatewayRouteSpecHttpRouteActionTargetVirtualService)(nil)).Elem() +} + +func (i GetGatewayRouteSpecHttpRouteActionTargetVirtualServiceArgs) ToGetGatewayRouteSpecHttpRouteActionTargetVirtualServiceOutput() GetGatewayRouteSpecHttpRouteActionTargetVirtualServiceOutput { + return i.ToGetGatewayRouteSpecHttpRouteActionTargetVirtualServiceOutputWithContext(context.Background()) +} + +func (i GetGatewayRouteSpecHttpRouteActionTargetVirtualServiceArgs) ToGetGatewayRouteSpecHttpRouteActionTargetVirtualServiceOutputWithContext(ctx context.Context) GetGatewayRouteSpecHttpRouteActionTargetVirtualServiceOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetGatewayRouteSpecHttpRouteActionTargetVirtualServiceOutput) +} + +// GetGatewayRouteSpecHttpRouteActionTargetVirtualServiceArrayInput is an input type that accepts GetGatewayRouteSpecHttpRouteActionTargetVirtualServiceArray and GetGatewayRouteSpecHttpRouteActionTargetVirtualServiceArrayOutput values. +// You can construct a concrete instance of `GetGatewayRouteSpecHttpRouteActionTargetVirtualServiceArrayInput` via: +// +// GetGatewayRouteSpecHttpRouteActionTargetVirtualServiceArray{ GetGatewayRouteSpecHttpRouteActionTargetVirtualServiceArgs{...} } +type GetGatewayRouteSpecHttpRouteActionTargetVirtualServiceArrayInput interface { + pulumi.Input + + ToGetGatewayRouteSpecHttpRouteActionTargetVirtualServiceArrayOutput() GetGatewayRouteSpecHttpRouteActionTargetVirtualServiceArrayOutput + ToGetGatewayRouteSpecHttpRouteActionTargetVirtualServiceArrayOutputWithContext(context.Context) GetGatewayRouteSpecHttpRouteActionTargetVirtualServiceArrayOutput +} + +type GetGatewayRouteSpecHttpRouteActionTargetVirtualServiceArray []GetGatewayRouteSpecHttpRouteActionTargetVirtualServiceInput + +func (GetGatewayRouteSpecHttpRouteActionTargetVirtualServiceArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetGatewayRouteSpecHttpRouteActionTargetVirtualService)(nil)).Elem() +} + +func (i GetGatewayRouteSpecHttpRouteActionTargetVirtualServiceArray) ToGetGatewayRouteSpecHttpRouteActionTargetVirtualServiceArrayOutput() GetGatewayRouteSpecHttpRouteActionTargetVirtualServiceArrayOutput { + return i.ToGetGatewayRouteSpecHttpRouteActionTargetVirtualServiceArrayOutputWithContext(context.Background()) +} + +func (i GetGatewayRouteSpecHttpRouteActionTargetVirtualServiceArray) ToGetGatewayRouteSpecHttpRouteActionTargetVirtualServiceArrayOutputWithContext(ctx context.Context) GetGatewayRouteSpecHttpRouteActionTargetVirtualServiceArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetGatewayRouteSpecHttpRouteActionTargetVirtualServiceArrayOutput) +} + +type GetGatewayRouteSpecHttpRouteActionTargetVirtualServiceOutput struct{ *pulumi.OutputState } + +func (GetGatewayRouteSpecHttpRouteActionTargetVirtualServiceOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetGatewayRouteSpecHttpRouteActionTargetVirtualService)(nil)).Elem() +} + +func (o GetGatewayRouteSpecHttpRouteActionTargetVirtualServiceOutput) ToGetGatewayRouteSpecHttpRouteActionTargetVirtualServiceOutput() GetGatewayRouteSpecHttpRouteActionTargetVirtualServiceOutput { + return o +} + +func (o GetGatewayRouteSpecHttpRouteActionTargetVirtualServiceOutput) ToGetGatewayRouteSpecHttpRouteActionTargetVirtualServiceOutputWithContext(ctx context.Context) GetGatewayRouteSpecHttpRouteActionTargetVirtualServiceOutput { + return o +} + +func (o GetGatewayRouteSpecHttpRouteActionTargetVirtualServiceOutput) VirtualServiceName() pulumi.StringOutput { + return o.ApplyT(func(v GetGatewayRouteSpecHttpRouteActionTargetVirtualService) string { return v.VirtualServiceName }).(pulumi.StringOutput) +} + +type GetGatewayRouteSpecHttpRouteActionTargetVirtualServiceArrayOutput struct{ *pulumi.OutputState } + +func (GetGatewayRouteSpecHttpRouteActionTargetVirtualServiceArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetGatewayRouteSpecHttpRouteActionTargetVirtualService)(nil)).Elem() +} + +func (o GetGatewayRouteSpecHttpRouteActionTargetVirtualServiceArrayOutput) ToGetGatewayRouteSpecHttpRouteActionTargetVirtualServiceArrayOutput() GetGatewayRouteSpecHttpRouteActionTargetVirtualServiceArrayOutput { + return o +} + +func (o GetGatewayRouteSpecHttpRouteActionTargetVirtualServiceArrayOutput) ToGetGatewayRouteSpecHttpRouteActionTargetVirtualServiceArrayOutputWithContext(ctx context.Context) GetGatewayRouteSpecHttpRouteActionTargetVirtualServiceArrayOutput { + return o +} + +func (o GetGatewayRouteSpecHttpRouteActionTargetVirtualServiceArrayOutput) Index(i pulumi.IntInput) GetGatewayRouteSpecHttpRouteActionTargetVirtualServiceOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetGatewayRouteSpecHttpRouteActionTargetVirtualService { + return vs[0].([]GetGatewayRouteSpecHttpRouteActionTargetVirtualService)[vs[1].(int)] + }).(GetGatewayRouteSpecHttpRouteActionTargetVirtualServiceOutput) +} + +type GetGatewayRouteSpecHttpRouteMatch struct { + Headers []GetGatewayRouteSpecHttpRouteMatchHeader `pulumi:"headers"` + Hostnames []GetGatewayRouteSpecHttpRouteMatchHostname `pulumi:"hostnames"` + Paths []GetGatewayRouteSpecHttpRouteMatchPath `pulumi:"paths"` + Port int `pulumi:"port"` + Prefix string `pulumi:"prefix"` + QueryParameters []GetGatewayRouteSpecHttpRouteMatchQueryParameter `pulumi:"queryParameters"` +} + +// GetGatewayRouteSpecHttpRouteMatchInput is an input type that accepts GetGatewayRouteSpecHttpRouteMatchArgs and GetGatewayRouteSpecHttpRouteMatchOutput values. +// You can construct a concrete instance of `GetGatewayRouteSpecHttpRouteMatchInput` via: +// +// GetGatewayRouteSpecHttpRouteMatchArgs{...} +type GetGatewayRouteSpecHttpRouteMatchInput interface { + pulumi.Input + + ToGetGatewayRouteSpecHttpRouteMatchOutput() GetGatewayRouteSpecHttpRouteMatchOutput + ToGetGatewayRouteSpecHttpRouteMatchOutputWithContext(context.Context) GetGatewayRouteSpecHttpRouteMatchOutput +} + +type GetGatewayRouteSpecHttpRouteMatchArgs struct { + Headers GetGatewayRouteSpecHttpRouteMatchHeaderArrayInput `pulumi:"headers"` + Hostnames GetGatewayRouteSpecHttpRouteMatchHostnameArrayInput `pulumi:"hostnames"` + Paths GetGatewayRouteSpecHttpRouteMatchPathArrayInput `pulumi:"paths"` + Port pulumi.IntInput `pulumi:"port"` + Prefix pulumi.StringInput `pulumi:"prefix"` + QueryParameters GetGatewayRouteSpecHttpRouteMatchQueryParameterArrayInput `pulumi:"queryParameters"` +} + +func (GetGatewayRouteSpecHttpRouteMatchArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetGatewayRouteSpecHttpRouteMatch)(nil)).Elem() +} + +func (i GetGatewayRouteSpecHttpRouteMatchArgs) ToGetGatewayRouteSpecHttpRouteMatchOutput() GetGatewayRouteSpecHttpRouteMatchOutput { + return i.ToGetGatewayRouteSpecHttpRouteMatchOutputWithContext(context.Background()) +} + +func (i GetGatewayRouteSpecHttpRouteMatchArgs) ToGetGatewayRouteSpecHttpRouteMatchOutputWithContext(ctx context.Context) GetGatewayRouteSpecHttpRouteMatchOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetGatewayRouteSpecHttpRouteMatchOutput) +} + +// GetGatewayRouteSpecHttpRouteMatchArrayInput is an input type that accepts GetGatewayRouteSpecHttpRouteMatchArray and GetGatewayRouteSpecHttpRouteMatchArrayOutput values. +// You can construct a concrete instance of `GetGatewayRouteSpecHttpRouteMatchArrayInput` via: +// +// GetGatewayRouteSpecHttpRouteMatchArray{ GetGatewayRouteSpecHttpRouteMatchArgs{...} } +type GetGatewayRouteSpecHttpRouteMatchArrayInput interface { + pulumi.Input + + ToGetGatewayRouteSpecHttpRouteMatchArrayOutput() GetGatewayRouteSpecHttpRouteMatchArrayOutput + ToGetGatewayRouteSpecHttpRouteMatchArrayOutputWithContext(context.Context) GetGatewayRouteSpecHttpRouteMatchArrayOutput +} + +type GetGatewayRouteSpecHttpRouteMatchArray []GetGatewayRouteSpecHttpRouteMatchInput + +func (GetGatewayRouteSpecHttpRouteMatchArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetGatewayRouteSpecHttpRouteMatch)(nil)).Elem() +} + +func (i GetGatewayRouteSpecHttpRouteMatchArray) ToGetGatewayRouteSpecHttpRouteMatchArrayOutput() GetGatewayRouteSpecHttpRouteMatchArrayOutput { + return i.ToGetGatewayRouteSpecHttpRouteMatchArrayOutputWithContext(context.Background()) +} + +func (i GetGatewayRouteSpecHttpRouteMatchArray) ToGetGatewayRouteSpecHttpRouteMatchArrayOutputWithContext(ctx context.Context) GetGatewayRouteSpecHttpRouteMatchArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetGatewayRouteSpecHttpRouteMatchArrayOutput) +} + +type GetGatewayRouteSpecHttpRouteMatchOutput struct{ *pulumi.OutputState } + +func (GetGatewayRouteSpecHttpRouteMatchOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetGatewayRouteSpecHttpRouteMatch)(nil)).Elem() +} + +func (o GetGatewayRouteSpecHttpRouteMatchOutput) ToGetGatewayRouteSpecHttpRouteMatchOutput() GetGatewayRouteSpecHttpRouteMatchOutput { + return o +} + +func (o GetGatewayRouteSpecHttpRouteMatchOutput) ToGetGatewayRouteSpecHttpRouteMatchOutputWithContext(ctx context.Context) GetGatewayRouteSpecHttpRouteMatchOutput { + return o +} + +func (o GetGatewayRouteSpecHttpRouteMatchOutput) Headers() GetGatewayRouteSpecHttpRouteMatchHeaderArrayOutput { + return o.ApplyT(func(v GetGatewayRouteSpecHttpRouteMatch) []GetGatewayRouteSpecHttpRouteMatchHeader { return v.Headers }).(GetGatewayRouteSpecHttpRouteMatchHeaderArrayOutput) +} + +func (o GetGatewayRouteSpecHttpRouteMatchOutput) Hostnames() GetGatewayRouteSpecHttpRouteMatchHostnameArrayOutput { + return o.ApplyT(func(v GetGatewayRouteSpecHttpRouteMatch) []GetGatewayRouteSpecHttpRouteMatchHostname { + return v.Hostnames + }).(GetGatewayRouteSpecHttpRouteMatchHostnameArrayOutput) +} + +func (o GetGatewayRouteSpecHttpRouteMatchOutput) Paths() GetGatewayRouteSpecHttpRouteMatchPathArrayOutput { + return o.ApplyT(func(v GetGatewayRouteSpecHttpRouteMatch) []GetGatewayRouteSpecHttpRouteMatchPath { return v.Paths }).(GetGatewayRouteSpecHttpRouteMatchPathArrayOutput) +} + +func (o GetGatewayRouteSpecHttpRouteMatchOutput) Port() pulumi.IntOutput { + return o.ApplyT(func(v GetGatewayRouteSpecHttpRouteMatch) int { return v.Port }).(pulumi.IntOutput) +} + +func (o GetGatewayRouteSpecHttpRouteMatchOutput) Prefix() pulumi.StringOutput { + return o.ApplyT(func(v GetGatewayRouteSpecHttpRouteMatch) string { return v.Prefix }).(pulumi.StringOutput) +} + +func (o GetGatewayRouteSpecHttpRouteMatchOutput) QueryParameters() GetGatewayRouteSpecHttpRouteMatchQueryParameterArrayOutput { + return o.ApplyT(func(v GetGatewayRouteSpecHttpRouteMatch) []GetGatewayRouteSpecHttpRouteMatchQueryParameter { + return v.QueryParameters + }).(GetGatewayRouteSpecHttpRouteMatchQueryParameterArrayOutput) +} + +type GetGatewayRouteSpecHttpRouteMatchArrayOutput struct{ *pulumi.OutputState } + +func (GetGatewayRouteSpecHttpRouteMatchArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetGatewayRouteSpecHttpRouteMatch)(nil)).Elem() +} + +func (o GetGatewayRouteSpecHttpRouteMatchArrayOutput) ToGetGatewayRouteSpecHttpRouteMatchArrayOutput() GetGatewayRouteSpecHttpRouteMatchArrayOutput { + return o +} + +func (o GetGatewayRouteSpecHttpRouteMatchArrayOutput) ToGetGatewayRouteSpecHttpRouteMatchArrayOutputWithContext(ctx context.Context) GetGatewayRouteSpecHttpRouteMatchArrayOutput { + return o +} + +func (o GetGatewayRouteSpecHttpRouteMatchArrayOutput) Index(i pulumi.IntInput) GetGatewayRouteSpecHttpRouteMatchOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetGatewayRouteSpecHttpRouteMatch { + return vs[0].([]GetGatewayRouteSpecHttpRouteMatch)[vs[1].(int)] + }).(GetGatewayRouteSpecHttpRouteMatchOutput) +} + +type GetGatewayRouteSpecHttpRouteMatchHeader struct { + Invert bool `pulumi:"invert"` + Matches []GetGatewayRouteSpecHttpRouteMatchHeaderMatch `pulumi:"matches"` + // Name of the gateway route. + Name string `pulumi:"name"` +} + +// GetGatewayRouteSpecHttpRouteMatchHeaderInput is an input type that accepts GetGatewayRouteSpecHttpRouteMatchHeaderArgs and GetGatewayRouteSpecHttpRouteMatchHeaderOutput values. +// You can construct a concrete instance of `GetGatewayRouteSpecHttpRouteMatchHeaderInput` via: +// +// GetGatewayRouteSpecHttpRouteMatchHeaderArgs{...} +type GetGatewayRouteSpecHttpRouteMatchHeaderInput interface { + pulumi.Input + + ToGetGatewayRouteSpecHttpRouteMatchHeaderOutput() GetGatewayRouteSpecHttpRouteMatchHeaderOutput + ToGetGatewayRouteSpecHttpRouteMatchHeaderOutputWithContext(context.Context) GetGatewayRouteSpecHttpRouteMatchHeaderOutput +} + +type GetGatewayRouteSpecHttpRouteMatchHeaderArgs struct { + Invert pulumi.BoolInput `pulumi:"invert"` + Matches GetGatewayRouteSpecHttpRouteMatchHeaderMatchArrayInput `pulumi:"matches"` + // Name of the gateway route. + Name pulumi.StringInput `pulumi:"name"` +} + +func (GetGatewayRouteSpecHttpRouteMatchHeaderArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetGatewayRouteSpecHttpRouteMatchHeader)(nil)).Elem() +} + +func (i GetGatewayRouteSpecHttpRouteMatchHeaderArgs) ToGetGatewayRouteSpecHttpRouteMatchHeaderOutput() GetGatewayRouteSpecHttpRouteMatchHeaderOutput { + return i.ToGetGatewayRouteSpecHttpRouteMatchHeaderOutputWithContext(context.Background()) +} + +func (i GetGatewayRouteSpecHttpRouteMatchHeaderArgs) ToGetGatewayRouteSpecHttpRouteMatchHeaderOutputWithContext(ctx context.Context) GetGatewayRouteSpecHttpRouteMatchHeaderOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetGatewayRouteSpecHttpRouteMatchHeaderOutput) +} + +// GetGatewayRouteSpecHttpRouteMatchHeaderArrayInput is an input type that accepts GetGatewayRouteSpecHttpRouteMatchHeaderArray and GetGatewayRouteSpecHttpRouteMatchHeaderArrayOutput values. +// You can construct a concrete instance of `GetGatewayRouteSpecHttpRouteMatchHeaderArrayInput` via: +// +// GetGatewayRouteSpecHttpRouteMatchHeaderArray{ GetGatewayRouteSpecHttpRouteMatchHeaderArgs{...} } +type GetGatewayRouteSpecHttpRouteMatchHeaderArrayInput interface { + pulumi.Input + + ToGetGatewayRouteSpecHttpRouteMatchHeaderArrayOutput() GetGatewayRouteSpecHttpRouteMatchHeaderArrayOutput + ToGetGatewayRouteSpecHttpRouteMatchHeaderArrayOutputWithContext(context.Context) GetGatewayRouteSpecHttpRouteMatchHeaderArrayOutput +} + +type GetGatewayRouteSpecHttpRouteMatchHeaderArray []GetGatewayRouteSpecHttpRouteMatchHeaderInput + +func (GetGatewayRouteSpecHttpRouteMatchHeaderArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetGatewayRouteSpecHttpRouteMatchHeader)(nil)).Elem() +} + +func (i GetGatewayRouteSpecHttpRouteMatchHeaderArray) ToGetGatewayRouteSpecHttpRouteMatchHeaderArrayOutput() GetGatewayRouteSpecHttpRouteMatchHeaderArrayOutput { + return i.ToGetGatewayRouteSpecHttpRouteMatchHeaderArrayOutputWithContext(context.Background()) +} + +func (i GetGatewayRouteSpecHttpRouteMatchHeaderArray) ToGetGatewayRouteSpecHttpRouteMatchHeaderArrayOutputWithContext(ctx context.Context) GetGatewayRouteSpecHttpRouteMatchHeaderArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetGatewayRouteSpecHttpRouteMatchHeaderArrayOutput) +} + +type GetGatewayRouteSpecHttpRouteMatchHeaderOutput struct{ *pulumi.OutputState } + +func (GetGatewayRouteSpecHttpRouteMatchHeaderOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetGatewayRouteSpecHttpRouteMatchHeader)(nil)).Elem() +} + +func (o GetGatewayRouteSpecHttpRouteMatchHeaderOutput) ToGetGatewayRouteSpecHttpRouteMatchHeaderOutput() GetGatewayRouteSpecHttpRouteMatchHeaderOutput { + return o +} + +func (o GetGatewayRouteSpecHttpRouteMatchHeaderOutput) ToGetGatewayRouteSpecHttpRouteMatchHeaderOutputWithContext(ctx context.Context) GetGatewayRouteSpecHttpRouteMatchHeaderOutput { + return o +} + +func (o GetGatewayRouteSpecHttpRouteMatchHeaderOutput) Invert() pulumi.BoolOutput { + return o.ApplyT(func(v GetGatewayRouteSpecHttpRouteMatchHeader) bool { return v.Invert }).(pulumi.BoolOutput) +} + +func (o GetGatewayRouteSpecHttpRouteMatchHeaderOutput) Matches() GetGatewayRouteSpecHttpRouteMatchHeaderMatchArrayOutput { + return o.ApplyT(func(v GetGatewayRouteSpecHttpRouteMatchHeader) []GetGatewayRouteSpecHttpRouteMatchHeaderMatch { + return v.Matches + }).(GetGatewayRouteSpecHttpRouteMatchHeaderMatchArrayOutput) +} + +// Name of the gateway route. +func (o GetGatewayRouteSpecHttpRouteMatchHeaderOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetGatewayRouteSpecHttpRouteMatchHeader) string { return v.Name }).(pulumi.StringOutput) +} + +type GetGatewayRouteSpecHttpRouteMatchHeaderArrayOutput struct{ *pulumi.OutputState } + +func (GetGatewayRouteSpecHttpRouteMatchHeaderArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetGatewayRouteSpecHttpRouteMatchHeader)(nil)).Elem() +} + +func (o GetGatewayRouteSpecHttpRouteMatchHeaderArrayOutput) ToGetGatewayRouteSpecHttpRouteMatchHeaderArrayOutput() GetGatewayRouteSpecHttpRouteMatchHeaderArrayOutput { + return o +} + +func (o GetGatewayRouteSpecHttpRouteMatchHeaderArrayOutput) ToGetGatewayRouteSpecHttpRouteMatchHeaderArrayOutputWithContext(ctx context.Context) GetGatewayRouteSpecHttpRouteMatchHeaderArrayOutput { + return o +} + +func (o GetGatewayRouteSpecHttpRouteMatchHeaderArrayOutput) Index(i pulumi.IntInput) GetGatewayRouteSpecHttpRouteMatchHeaderOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetGatewayRouteSpecHttpRouteMatchHeader { + return vs[0].([]GetGatewayRouteSpecHttpRouteMatchHeader)[vs[1].(int)] + }).(GetGatewayRouteSpecHttpRouteMatchHeaderOutput) +} + +type GetGatewayRouteSpecHttpRouteMatchHeaderMatch struct { + Exact string `pulumi:"exact"` + Prefix string `pulumi:"prefix"` + Ranges []GetGatewayRouteSpecHttpRouteMatchHeaderMatchRange `pulumi:"ranges"` + Regex string `pulumi:"regex"` + Suffix string `pulumi:"suffix"` +} + +// GetGatewayRouteSpecHttpRouteMatchHeaderMatchInput is an input type that accepts GetGatewayRouteSpecHttpRouteMatchHeaderMatchArgs and GetGatewayRouteSpecHttpRouteMatchHeaderMatchOutput values. +// You can construct a concrete instance of `GetGatewayRouteSpecHttpRouteMatchHeaderMatchInput` via: +// +// GetGatewayRouteSpecHttpRouteMatchHeaderMatchArgs{...} +type GetGatewayRouteSpecHttpRouteMatchHeaderMatchInput interface { + pulumi.Input + + ToGetGatewayRouteSpecHttpRouteMatchHeaderMatchOutput() GetGatewayRouteSpecHttpRouteMatchHeaderMatchOutput + ToGetGatewayRouteSpecHttpRouteMatchHeaderMatchOutputWithContext(context.Context) GetGatewayRouteSpecHttpRouteMatchHeaderMatchOutput +} + +type GetGatewayRouteSpecHttpRouteMatchHeaderMatchArgs struct { + Exact pulumi.StringInput `pulumi:"exact"` + Prefix pulumi.StringInput `pulumi:"prefix"` + Ranges GetGatewayRouteSpecHttpRouteMatchHeaderMatchRangeArrayInput `pulumi:"ranges"` + Regex pulumi.StringInput `pulumi:"regex"` + Suffix pulumi.StringInput `pulumi:"suffix"` +} + +func (GetGatewayRouteSpecHttpRouteMatchHeaderMatchArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetGatewayRouteSpecHttpRouteMatchHeaderMatch)(nil)).Elem() +} + +func (i GetGatewayRouteSpecHttpRouteMatchHeaderMatchArgs) ToGetGatewayRouteSpecHttpRouteMatchHeaderMatchOutput() GetGatewayRouteSpecHttpRouteMatchHeaderMatchOutput { + return i.ToGetGatewayRouteSpecHttpRouteMatchHeaderMatchOutputWithContext(context.Background()) +} + +func (i GetGatewayRouteSpecHttpRouteMatchHeaderMatchArgs) ToGetGatewayRouteSpecHttpRouteMatchHeaderMatchOutputWithContext(ctx context.Context) GetGatewayRouteSpecHttpRouteMatchHeaderMatchOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetGatewayRouteSpecHttpRouteMatchHeaderMatchOutput) +} + +// GetGatewayRouteSpecHttpRouteMatchHeaderMatchArrayInput is an input type that accepts GetGatewayRouteSpecHttpRouteMatchHeaderMatchArray and GetGatewayRouteSpecHttpRouteMatchHeaderMatchArrayOutput values. +// You can construct a concrete instance of `GetGatewayRouteSpecHttpRouteMatchHeaderMatchArrayInput` via: +// +// GetGatewayRouteSpecHttpRouteMatchHeaderMatchArray{ GetGatewayRouteSpecHttpRouteMatchHeaderMatchArgs{...} } +type GetGatewayRouteSpecHttpRouteMatchHeaderMatchArrayInput interface { + pulumi.Input + + ToGetGatewayRouteSpecHttpRouteMatchHeaderMatchArrayOutput() GetGatewayRouteSpecHttpRouteMatchHeaderMatchArrayOutput + ToGetGatewayRouteSpecHttpRouteMatchHeaderMatchArrayOutputWithContext(context.Context) GetGatewayRouteSpecHttpRouteMatchHeaderMatchArrayOutput +} + +type GetGatewayRouteSpecHttpRouteMatchHeaderMatchArray []GetGatewayRouteSpecHttpRouteMatchHeaderMatchInput + +func (GetGatewayRouteSpecHttpRouteMatchHeaderMatchArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetGatewayRouteSpecHttpRouteMatchHeaderMatch)(nil)).Elem() +} + +func (i GetGatewayRouteSpecHttpRouteMatchHeaderMatchArray) ToGetGatewayRouteSpecHttpRouteMatchHeaderMatchArrayOutput() GetGatewayRouteSpecHttpRouteMatchHeaderMatchArrayOutput { + return i.ToGetGatewayRouteSpecHttpRouteMatchHeaderMatchArrayOutputWithContext(context.Background()) +} + +func (i GetGatewayRouteSpecHttpRouteMatchHeaderMatchArray) ToGetGatewayRouteSpecHttpRouteMatchHeaderMatchArrayOutputWithContext(ctx context.Context) GetGatewayRouteSpecHttpRouteMatchHeaderMatchArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetGatewayRouteSpecHttpRouteMatchHeaderMatchArrayOutput) +} + +type GetGatewayRouteSpecHttpRouteMatchHeaderMatchOutput struct{ *pulumi.OutputState } + +func (GetGatewayRouteSpecHttpRouteMatchHeaderMatchOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetGatewayRouteSpecHttpRouteMatchHeaderMatch)(nil)).Elem() +} + +func (o GetGatewayRouteSpecHttpRouteMatchHeaderMatchOutput) ToGetGatewayRouteSpecHttpRouteMatchHeaderMatchOutput() GetGatewayRouteSpecHttpRouteMatchHeaderMatchOutput { + return o +} + +func (o GetGatewayRouteSpecHttpRouteMatchHeaderMatchOutput) ToGetGatewayRouteSpecHttpRouteMatchHeaderMatchOutputWithContext(ctx context.Context) GetGatewayRouteSpecHttpRouteMatchHeaderMatchOutput { + return o +} + +func (o GetGatewayRouteSpecHttpRouteMatchHeaderMatchOutput) Exact() pulumi.StringOutput { + return o.ApplyT(func(v GetGatewayRouteSpecHttpRouteMatchHeaderMatch) string { return v.Exact }).(pulumi.StringOutput) +} + +func (o GetGatewayRouteSpecHttpRouteMatchHeaderMatchOutput) Prefix() pulumi.StringOutput { + return o.ApplyT(func(v GetGatewayRouteSpecHttpRouteMatchHeaderMatch) string { return v.Prefix }).(pulumi.StringOutput) +} + +func (o GetGatewayRouteSpecHttpRouteMatchHeaderMatchOutput) Ranges() GetGatewayRouteSpecHttpRouteMatchHeaderMatchRangeArrayOutput { + return o.ApplyT(func(v GetGatewayRouteSpecHttpRouteMatchHeaderMatch) []GetGatewayRouteSpecHttpRouteMatchHeaderMatchRange { + return v.Ranges + }).(GetGatewayRouteSpecHttpRouteMatchHeaderMatchRangeArrayOutput) +} + +func (o GetGatewayRouteSpecHttpRouteMatchHeaderMatchOutput) Regex() pulumi.StringOutput { + return o.ApplyT(func(v GetGatewayRouteSpecHttpRouteMatchHeaderMatch) string { return v.Regex }).(pulumi.StringOutput) +} + +func (o GetGatewayRouteSpecHttpRouteMatchHeaderMatchOutput) Suffix() pulumi.StringOutput { + return o.ApplyT(func(v GetGatewayRouteSpecHttpRouteMatchHeaderMatch) string { return v.Suffix }).(pulumi.StringOutput) +} + +type GetGatewayRouteSpecHttpRouteMatchHeaderMatchArrayOutput struct{ *pulumi.OutputState } + +func (GetGatewayRouteSpecHttpRouteMatchHeaderMatchArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetGatewayRouteSpecHttpRouteMatchHeaderMatch)(nil)).Elem() +} + +func (o GetGatewayRouteSpecHttpRouteMatchHeaderMatchArrayOutput) ToGetGatewayRouteSpecHttpRouteMatchHeaderMatchArrayOutput() GetGatewayRouteSpecHttpRouteMatchHeaderMatchArrayOutput { + return o +} + +func (o GetGatewayRouteSpecHttpRouteMatchHeaderMatchArrayOutput) ToGetGatewayRouteSpecHttpRouteMatchHeaderMatchArrayOutputWithContext(ctx context.Context) GetGatewayRouteSpecHttpRouteMatchHeaderMatchArrayOutput { + return o +} + +func (o GetGatewayRouteSpecHttpRouteMatchHeaderMatchArrayOutput) Index(i pulumi.IntInput) GetGatewayRouteSpecHttpRouteMatchHeaderMatchOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetGatewayRouteSpecHttpRouteMatchHeaderMatch { + return vs[0].([]GetGatewayRouteSpecHttpRouteMatchHeaderMatch)[vs[1].(int)] + }).(GetGatewayRouteSpecHttpRouteMatchHeaderMatchOutput) +} + +type GetGatewayRouteSpecHttpRouteMatchHeaderMatchRange struct { + End int `pulumi:"end"` + Start int `pulumi:"start"` +} + +// GetGatewayRouteSpecHttpRouteMatchHeaderMatchRangeInput is an input type that accepts GetGatewayRouteSpecHttpRouteMatchHeaderMatchRangeArgs and GetGatewayRouteSpecHttpRouteMatchHeaderMatchRangeOutput values. +// You can construct a concrete instance of `GetGatewayRouteSpecHttpRouteMatchHeaderMatchRangeInput` via: +// +// GetGatewayRouteSpecHttpRouteMatchHeaderMatchRangeArgs{...} +type GetGatewayRouteSpecHttpRouteMatchHeaderMatchRangeInput interface { + pulumi.Input + + ToGetGatewayRouteSpecHttpRouteMatchHeaderMatchRangeOutput() GetGatewayRouteSpecHttpRouteMatchHeaderMatchRangeOutput + ToGetGatewayRouteSpecHttpRouteMatchHeaderMatchRangeOutputWithContext(context.Context) GetGatewayRouteSpecHttpRouteMatchHeaderMatchRangeOutput +} + +type GetGatewayRouteSpecHttpRouteMatchHeaderMatchRangeArgs struct { + End pulumi.IntInput `pulumi:"end"` + Start pulumi.IntInput `pulumi:"start"` +} + +func (GetGatewayRouteSpecHttpRouteMatchHeaderMatchRangeArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetGatewayRouteSpecHttpRouteMatchHeaderMatchRange)(nil)).Elem() +} + +func (i GetGatewayRouteSpecHttpRouteMatchHeaderMatchRangeArgs) ToGetGatewayRouteSpecHttpRouteMatchHeaderMatchRangeOutput() GetGatewayRouteSpecHttpRouteMatchHeaderMatchRangeOutput { + return i.ToGetGatewayRouteSpecHttpRouteMatchHeaderMatchRangeOutputWithContext(context.Background()) +} + +func (i GetGatewayRouteSpecHttpRouteMatchHeaderMatchRangeArgs) ToGetGatewayRouteSpecHttpRouteMatchHeaderMatchRangeOutputWithContext(ctx context.Context) GetGatewayRouteSpecHttpRouteMatchHeaderMatchRangeOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetGatewayRouteSpecHttpRouteMatchHeaderMatchRangeOutput) +} + +// GetGatewayRouteSpecHttpRouteMatchHeaderMatchRangeArrayInput is an input type that accepts GetGatewayRouteSpecHttpRouteMatchHeaderMatchRangeArray and GetGatewayRouteSpecHttpRouteMatchHeaderMatchRangeArrayOutput values. +// You can construct a concrete instance of `GetGatewayRouteSpecHttpRouteMatchHeaderMatchRangeArrayInput` via: +// +// GetGatewayRouteSpecHttpRouteMatchHeaderMatchRangeArray{ GetGatewayRouteSpecHttpRouteMatchHeaderMatchRangeArgs{...} } +type GetGatewayRouteSpecHttpRouteMatchHeaderMatchRangeArrayInput interface { + pulumi.Input + + ToGetGatewayRouteSpecHttpRouteMatchHeaderMatchRangeArrayOutput() GetGatewayRouteSpecHttpRouteMatchHeaderMatchRangeArrayOutput + ToGetGatewayRouteSpecHttpRouteMatchHeaderMatchRangeArrayOutputWithContext(context.Context) GetGatewayRouteSpecHttpRouteMatchHeaderMatchRangeArrayOutput +} + +type GetGatewayRouteSpecHttpRouteMatchHeaderMatchRangeArray []GetGatewayRouteSpecHttpRouteMatchHeaderMatchRangeInput + +func (GetGatewayRouteSpecHttpRouteMatchHeaderMatchRangeArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetGatewayRouteSpecHttpRouteMatchHeaderMatchRange)(nil)).Elem() +} + +func (i GetGatewayRouteSpecHttpRouteMatchHeaderMatchRangeArray) ToGetGatewayRouteSpecHttpRouteMatchHeaderMatchRangeArrayOutput() GetGatewayRouteSpecHttpRouteMatchHeaderMatchRangeArrayOutput { + return i.ToGetGatewayRouteSpecHttpRouteMatchHeaderMatchRangeArrayOutputWithContext(context.Background()) +} + +func (i GetGatewayRouteSpecHttpRouteMatchHeaderMatchRangeArray) ToGetGatewayRouteSpecHttpRouteMatchHeaderMatchRangeArrayOutputWithContext(ctx context.Context) GetGatewayRouteSpecHttpRouteMatchHeaderMatchRangeArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetGatewayRouteSpecHttpRouteMatchHeaderMatchRangeArrayOutput) +} + +type GetGatewayRouteSpecHttpRouteMatchHeaderMatchRangeOutput struct{ *pulumi.OutputState } + +func (GetGatewayRouteSpecHttpRouteMatchHeaderMatchRangeOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetGatewayRouteSpecHttpRouteMatchHeaderMatchRange)(nil)).Elem() +} + +func (o GetGatewayRouteSpecHttpRouteMatchHeaderMatchRangeOutput) ToGetGatewayRouteSpecHttpRouteMatchHeaderMatchRangeOutput() GetGatewayRouteSpecHttpRouteMatchHeaderMatchRangeOutput { + return o +} + +func (o GetGatewayRouteSpecHttpRouteMatchHeaderMatchRangeOutput) ToGetGatewayRouteSpecHttpRouteMatchHeaderMatchRangeOutputWithContext(ctx context.Context) GetGatewayRouteSpecHttpRouteMatchHeaderMatchRangeOutput { + return o +} + +func (o GetGatewayRouteSpecHttpRouteMatchHeaderMatchRangeOutput) End() pulumi.IntOutput { + return o.ApplyT(func(v GetGatewayRouteSpecHttpRouteMatchHeaderMatchRange) int { return v.End }).(pulumi.IntOutput) +} + +func (o GetGatewayRouteSpecHttpRouteMatchHeaderMatchRangeOutput) Start() pulumi.IntOutput { + return o.ApplyT(func(v GetGatewayRouteSpecHttpRouteMatchHeaderMatchRange) int { return v.Start }).(pulumi.IntOutput) +} + +type GetGatewayRouteSpecHttpRouteMatchHeaderMatchRangeArrayOutput struct{ *pulumi.OutputState } + +func (GetGatewayRouteSpecHttpRouteMatchHeaderMatchRangeArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetGatewayRouteSpecHttpRouteMatchHeaderMatchRange)(nil)).Elem() +} + +func (o GetGatewayRouteSpecHttpRouteMatchHeaderMatchRangeArrayOutput) ToGetGatewayRouteSpecHttpRouteMatchHeaderMatchRangeArrayOutput() GetGatewayRouteSpecHttpRouteMatchHeaderMatchRangeArrayOutput { + return o +} + +func (o GetGatewayRouteSpecHttpRouteMatchHeaderMatchRangeArrayOutput) ToGetGatewayRouteSpecHttpRouteMatchHeaderMatchRangeArrayOutputWithContext(ctx context.Context) GetGatewayRouteSpecHttpRouteMatchHeaderMatchRangeArrayOutput { + return o +} + +func (o GetGatewayRouteSpecHttpRouteMatchHeaderMatchRangeArrayOutput) Index(i pulumi.IntInput) GetGatewayRouteSpecHttpRouteMatchHeaderMatchRangeOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetGatewayRouteSpecHttpRouteMatchHeaderMatchRange { + return vs[0].([]GetGatewayRouteSpecHttpRouteMatchHeaderMatchRange)[vs[1].(int)] + }).(GetGatewayRouteSpecHttpRouteMatchHeaderMatchRangeOutput) +} + +type GetGatewayRouteSpecHttpRouteMatchHostname struct { + Exact string `pulumi:"exact"` + Suffix string `pulumi:"suffix"` +} + +// GetGatewayRouteSpecHttpRouteMatchHostnameInput is an input type that accepts GetGatewayRouteSpecHttpRouteMatchHostnameArgs and GetGatewayRouteSpecHttpRouteMatchHostnameOutput values. +// You can construct a concrete instance of `GetGatewayRouteSpecHttpRouteMatchHostnameInput` via: +// +// GetGatewayRouteSpecHttpRouteMatchHostnameArgs{...} +type GetGatewayRouteSpecHttpRouteMatchHostnameInput interface { + pulumi.Input + + ToGetGatewayRouteSpecHttpRouteMatchHostnameOutput() GetGatewayRouteSpecHttpRouteMatchHostnameOutput + ToGetGatewayRouteSpecHttpRouteMatchHostnameOutputWithContext(context.Context) GetGatewayRouteSpecHttpRouteMatchHostnameOutput +} + +type GetGatewayRouteSpecHttpRouteMatchHostnameArgs struct { + Exact pulumi.StringInput `pulumi:"exact"` + Suffix pulumi.StringInput `pulumi:"suffix"` +} + +func (GetGatewayRouteSpecHttpRouteMatchHostnameArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetGatewayRouteSpecHttpRouteMatchHostname)(nil)).Elem() +} + +func (i GetGatewayRouteSpecHttpRouteMatchHostnameArgs) ToGetGatewayRouteSpecHttpRouteMatchHostnameOutput() GetGatewayRouteSpecHttpRouteMatchHostnameOutput { + return i.ToGetGatewayRouteSpecHttpRouteMatchHostnameOutputWithContext(context.Background()) +} + +func (i GetGatewayRouteSpecHttpRouteMatchHostnameArgs) ToGetGatewayRouteSpecHttpRouteMatchHostnameOutputWithContext(ctx context.Context) GetGatewayRouteSpecHttpRouteMatchHostnameOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetGatewayRouteSpecHttpRouteMatchHostnameOutput) +} + +// GetGatewayRouteSpecHttpRouteMatchHostnameArrayInput is an input type that accepts GetGatewayRouteSpecHttpRouteMatchHostnameArray and GetGatewayRouteSpecHttpRouteMatchHostnameArrayOutput values. +// You can construct a concrete instance of `GetGatewayRouteSpecHttpRouteMatchHostnameArrayInput` via: +// +// GetGatewayRouteSpecHttpRouteMatchHostnameArray{ GetGatewayRouteSpecHttpRouteMatchHostnameArgs{...} } +type GetGatewayRouteSpecHttpRouteMatchHostnameArrayInput interface { + pulumi.Input + + ToGetGatewayRouteSpecHttpRouteMatchHostnameArrayOutput() GetGatewayRouteSpecHttpRouteMatchHostnameArrayOutput + ToGetGatewayRouteSpecHttpRouteMatchHostnameArrayOutputWithContext(context.Context) GetGatewayRouteSpecHttpRouteMatchHostnameArrayOutput +} + +type GetGatewayRouteSpecHttpRouteMatchHostnameArray []GetGatewayRouteSpecHttpRouteMatchHostnameInput + +func (GetGatewayRouteSpecHttpRouteMatchHostnameArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetGatewayRouteSpecHttpRouteMatchHostname)(nil)).Elem() +} + +func (i GetGatewayRouteSpecHttpRouteMatchHostnameArray) ToGetGatewayRouteSpecHttpRouteMatchHostnameArrayOutput() GetGatewayRouteSpecHttpRouteMatchHostnameArrayOutput { + return i.ToGetGatewayRouteSpecHttpRouteMatchHostnameArrayOutputWithContext(context.Background()) +} + +func (i GetGatewayRouteSpecHttpRouteMatchHostnameArray) ToGetGatewayRouteSpecHttpRouteMatchHostnameArrayOutputWithContext(ctx context.Context) GetGatewayRouteSpecHttpRouteMatchHostnameArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetGatewayRouteSpecHttpRouteMatchHostnameArrayOutput) +} + +type GetGatewayRouteSpecHttpRouteMatchHostnameOutput struct{ *pulumi.OutputState } + +func (GetGatewayRouteSpecHttpRouteMatchHostnameOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetGatewayRouteSpecHttpRouteMatchHostname)(nil)).Elem() +} + +func (o GetGatewayRouteSpecHttpRouteMatchHostnameOutput) ToGetGatewayRouteSpecHttpRouteMatchHostnameOutput() GetGatewayRouteSpecHttpRouteMatchHostnameOutput { + return o +} + +func (o GetGatewayRouteSpecHttpRouteMatchHostnameOutput) ToGetGatewayRouteSpecHttpRouteMatchHostnameOutputWithContext(ctx context.Context) GetGatewayRouteSpecHttpRouteMatchHostnameOutput { + return o +} + +func (o GetGatewayRouteSpecHttpRouteMatchHostnameOutput) Exact() pulumi.StringOutput { + return o.ApplyT(func(v GetGatewayRouteSpecHttpRouteMatchHostname) string { return v.Exact }).(pulumi.StringOutput) +} + +func (o GetGatewayRouteSpecHttpRouteMatchHostnameOutput) Suffix() pulumi.StringOutput { + return o.ApplyT(func(v GetGatewayRouteSpecHttpRouteMatchHostname) string { return v.Suffix }).(pulumi.StringOutput) +} + +type GetGatewayRouteSpecHttpRouteMatchHostnameArrayOutput struct{ *pulumi.OutputState } + +func (GetGatewayRouteSpecHttpRouteMatchHostnameArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetGatewayRouteSpecHttpRouteMatchHostname)(nil)).Elem() +} + +func (o GetGatewayRouteSpecHttpRouteMatchHostnameArrayOutput) ToGetGatewayRouteSpecHttpRouteMatchHostnameArrayOutput() GetGatewayRouteSpecHttpRouteMatchHostnameArrayOutput { + return o +} + +func (o GetGatewayRouteSpecHttpRouteMatchHostnameArrayOutput) ToGetGatewayRouteSpecHttpRouteMatchHostnameArrayOutputWithContext(ctx context.Context) GetGatewayRouteSpecHttpRouteMatchHostnameArrayOutput { + return o +} + +func (o GetGatewayRouteSpecHttpRouteMatchHostnameArrayOutput) Index(i pulumi.IntInput) GetGatewayRouteSpecHttpRouteMatchHostnameOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetGatewayRouteSpecHttpRouteMatchHostname { + return vs[0].([]GetGatewayRouteSpecHttpRouteMatchHostname)[vs[1].(int)] + }).(GetGatewayRouteSpecHttpRouteMatchHostnameOutput) +} + +type GetGatewayRouteSpecHttpRouteMatchPath struct { + Exact string `pulumi:"exact"` + Regex string `pulumi:"regex"` +} + +// GetGatewayRouteSpecHttpRouteMatchPathInput is an input type that accepts GetGatewayRouteSpecHttpRouteMatchPathArgs and GetGatewayRouteSpecHttpRouteMatchPathOutput values. +// You can construct a concrete instance of `GetGatewayRouteSpecHttpRouteMatchPathInput` via: +// +// GetGatewayRouteSpecHttpRouteMatchPathArgs{...} +type GetGatewayRouteSpecHttpRouteMatchPathInput interface { + pulumi.Input + + ToGetGatewayRouteSpecHttpRouteMatchPathOutput() GetGatewayRouteSpecHttpRouteMatchPathOutput + ToGetGatewayRouteSpecHttpRouteMatchPathOutputWithContext(context.Context) GetGatewayRouteSpecHttpRouteMatchPathOutput +} + +type GetGatewayRouteSpecHttpRouteMatchPathArgs struct { + Exact pulumi.StringInput `pulumi:"exact"` + Regex pulumi.StringInput `pulumi:"regex"` +} + +func (GetGatewayRouteSpecHttpRouteMatchPathArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetGatewayRouteSpecHttpRouteMatchPath)(nil)).Elem() +} + +func (i GetGatewayRouteSpecHttpRouteMatchPathArgs) ToGetGatewayRouteSpecHttpRouteMatchPathOutput() GetGatewayRouteSpecHttpRouteMatchPathOutput { + return i.ToGetGatewayRouteSpecHttpRouteMatchPathOutputWithContext(context.Background()) +} + +func (i GetGatewayRouteSpecHttpRouteMatchPathArgs) ToGetGatewayRouteSpecHttpRouteMatchPathOutputWithContext(ctx context.Context) GetGatewayRouteSpecHttpRouteMatchPathOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetGatewayRouteSpecHttpRouteMatchPathOutput) +} + +// GetGatewayRouteSpecHttpRouteMatchPathArrayInput is an input type that accepts GetGatewayRouteSpecHttpRouteMatchPathArray and GetGatewayRouteSpecHttpRouteMatchPathArrayOutput values. +// You can construct a concrete instance of `GetGatewayRouteSpecHttpRouteMatchPathArrayInput` via: +// +// GetGatewayRouteSpecHttpRouteMatchPathArray{ GetGatewayRouteSpecHttpRouteMatchPathArgs{...} } +type GetGatewayRouteSpecHttpRouteMatchPathArrayInput interface { + pulumi.Input + + ToGetGatewayRouteSpecHttpRouteMatchPathArrayOutput() GetGatewayRouteSpecHttpRouteMatchPathArrayOutput + ToGetGatewayRouteSpecHttpRouteMatchPathArrayOutputWithContext(context.Context) GetGatewayRouteSpecHttpRouteMatchPathArrayOutput +} + +type GetGatewayRouteSpecHttpRouteMatchPathArray []GetGatewayRouteSpecHttpRouteMatchPathInput + +func (GetGatewayRouteSpecHttpRouteMatchPathArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetGatewayRouteSpecHttpRouteMatchPath)(nil)).Elem() +} + +func (i GetGatewayRouteSpecHttpRouteMatchPathArray) ToGetGatewayRouteSpecHttpRouteMatchPathArrayOutput() GetGatewayRouteSpecHttpRouteMatchPathArrayOutput { + return i.ToGetGatewayRouteSpecHttpRouteMatchPathArrayOutputWithContext(context.Background()) +} + +func (i GetGatewayRouteSpecHttpRouteMatchPathArray) ToGetGatewayRouteSpecHttpRouteMatchPathArrayOutputWithContext(ctx context.Context) GetGatewayRouteSpecHttpRouteMatchPathArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetGatewayRouteSpecHttpRouteMatchPathArrayOutput) +} + +type GetGatewayRouteSpecHttpRouteMatchPathOutput struct{ *pulumi.OutputState } + +func (GetGatewayRouteSpecHttpRouteMatchPathOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetGatewayRouteSpecHttpRouteMatchPath)(nil)).Elem() +} + +func (o GetGatewayRouteSpecHttpRouteMatchPathOutput) ToGetGatewayRouteSpecHttpRouteMatchPathOutput() GetGatewayRouteSpecHttpRouteMatchPathOutput { + return o +} + +func (o GetGatewayRouteSpecHttpRouteMatchPathOutput) ToGetGatewayRouteSpecHttpRouteMatchPathOutputWithContext(ctx context.Context) GetGatewayRouteSpecHttpRouteMatchPathOutput { + return o +} + +func (o GetGatewayRouteSpecHttpRouteMatchPathOutput) Exact() pulumi.StringOutput { + return o.ApplyT(func(v GetGatewayRouteSpecHttpRouteMatchPath) string { return v.Exact }).(pulumi.StringOutput) +} + +func (o GetGatewayRouteSpecHttpRouteMatchPathOutput) Regex() pulumi.StringOutput { + return o.ApplyT(func(v GetGatewayRouteSpecHttpRouteMatchPath) string { return v.Regex }).(pulumi.StringOutput) +} + +type GetGatewayRouteSpecHttpRouteMatchPathArrayOutput struct{ *pulumi.OutputState } + +func (GetGatewayRouteSpecHttpRouteMatchPathArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetGatewayRouteSpecHttpRouteMatchPath)(nil)).Elem() +} + +func (o GetGatewayRouteSpecHttpRouteMatchPathArrayOutput) ToGetGatewayRouteSpecHttpRouteMatchPathArrayOutput() GetGatewayRouteSpecHttpRouteMatchPathArrayOutput { + return o +} + +func (o GetGatewayRouteSpecHttpRouteMatchPathArrayOutput) ToGetGatewayRouteSpecHttpRouteMatchPathArrayOutputWithContext(ctx context.Context) GetGatewayRouteSpecHttpRouteMatchPathArrayOutput { + return o +} + +func (o GetGatewayRouteSpecHttpRouteMatchPathArrayOutput) Index(i pulumi.IntInput) GetGatewayRouteSpecHttpRouteMatchPathOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetGatewayRouteSpecHttpRouteMatchPath { + return vs[0].([]GetGatewayRouteSpecHttpRouteMatchPath)[vs[1].(int)] + }).(GetGatewayRouteSpecHttpRouteMatchPathOutput) +} + +type GetGatewayRouteSpecHttpRouteMatchQueryParameter struct { + Matches []GetGatewayRouteSpecHttpRouteMatchQueryParameterMatch `pulumi:"matches"` + // Name of the gateway route. + Name string `pulumi:"name"` +} + +// GetGatewayRouteSpecHttpRouteMatchQueryParameterInput is an input type that accepts GetGatewayRouteSpecHttpRouteMatchQueryParameterArgs and GetGatewayRouteSpecHttpRouteMatchQueryParameterOutput values. +// You can construct a concrete instance of `GetGatewayRouteSpecHttpRouteMatchQueryParameterInput` via: +// +// GetGatewayRouteSpecHttpRouteMatchQueryParameterArgs{...} +type GetGatewayRouteSpecHttpRouteMatchQueryParameterInput interface { + pulumi.Input + + ToGetGatewayRouteSpecHttpRouteMatchQueryParameterOutput() GetGatewayRouteSpecHttpRouteMatchQueryParameterOutput + ToGetGatewayRouteSpecHttpRouteMatchQueryParameterOutputWithContext(context.Context) GetGatewayRouteSpecHttpRouteMatchQueryParameterOutput +} + +type GetGatewayRouteSpecHttpRouteMatchQueryParameterArgs struct { + Matches GetGatewayRouteSpecHttpRouteMatchQueryParameterMatchArrayInput `pulumi:"matches"` + // Name of the gateway route. + Name pulumi.StringInput `pulumi:"name"` +} + +func (GetGatewayRouteSpecHttpRouteMatchQueryParameterArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetGatewayRouteSpecHttpRouteMatchQueryParameter)(nil)).Elem() +} + +func (i GetGatewayRouteSpecHttpRouteMatchQueryParameterArgs) ToGetGatewayRouteSpecHttpRouteMatchQueryParameterOutput() GetGatewayRouteSpecHttpRouteMatchQueryParameterOutput { + return i.ToGetGatewayRouteSpecHttpRouteMatchQueryParameterOutputWithContext(context.Background()) +} + +func (i GetGatewayRouteSpecHttpRouteMatchQueryParameterArgs) ToGetGatewayRouteSpecHttpRouteMatchQueryParameterOutputWithContext(ctx context.Context) GetGatewayRouteSpecHttpRouteMatchQueryParameterOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetGatewayRouteSpecHttpRouteMatchQueryParameterOutput) +} + +// GetGatewayRouteSpecHttpRouteMatchQueryParameterArrayInput is an input type that accepts GetGatewayRouteSpecHttpRouteMatchQueryParameterArray and GetGatewayRouteSpecHttpRouteMatchQueryParameterArrayOutput values. +// You can construct a concrete instance of `GetGatewayRouteSpecHttpRouteMatchQueryParameterArrayInput` via: +// +// GetGatewayRouteSpecHttpRouteMatchQueryParameterArray{ GetGatewayRouteSpecHttpRouteMatchQueryParameterArgs{...} } +type GetGatewayRouteSpecHttpRouteMatchQueryParameterArrayInput interface { + pulumi.Input + + ToGetGatewayRouteSpecHttpRouteMatchQueryParameterArrayOutput() GetGatewayRouteSpecHttpRouteMatchQueryParameterArrayOutput + ToGetGatewayRouteSpecHttpRouteMatchQueryParameterArrayOutputWithContext(context.Context) GetGatewayRouteSpecHttpRouteMatchQueryParameterArrayOutput +} + +type GetGatewayRouteSpecHttpRouteMatchQueryParameterArray []GetGatewayRouteSpecHttpRouteMatchQueryParameterInput + +func (GetGatewayRouteSpecHttpRouteMatchQueryParameterArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetGatewayRouteSpecHttpRouteMatchQueryParameter)(nil)).Elem() +} + +func (i GetGatewayRouteSpecHttpRouteMatchQueryParameterArray) ToGetGatewayRouteSpecHttpRouteMatchQueryParameterArrayOutput() GetGatewayRouteSpecHttpRouteMatchQueryParameterArrayOutput { + return i.ToGetGatewayRouteSpecHttpRouteMatchQueryParameterArrayOutputWithContext(context.Background()) +} + +func (i GetGatewayRouteSpecHttpRouteMatchQueryParameterArray) ToGetGatewayRouteSpecHttpRouteMatchQueryParameterArrayOutputWithContext(ctx context.Context) GetGatewayRouteSpecHttpRouteMatchQueryParameterArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetGatewayRouteSpecHttpRouteMatchQueryParameterArrayOutput) +} + +type GetGatewayRouteSpecHttpRouteMatchQueryParameterOutput struct{ *pulumi.OutputState } + +func (GetGatewayRouteSpecHttpRouteMatchQueryParameterOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetGatewayRouteSpecHttpRouteMatchQueryParameter)(nil)).Elem() +} + +func (o GetGatewayRouteSpecHttpRouteMatchQueryParameterOutput) ToGetGatewayRouteSpecHttpRouteMatchQueryParameterOutput() GetGatewayRouteSpecHttpRouteMatchQueryParameterOutput { + return o +} + +func (o GetGatewayRouteSpecHttpRouteMatchQueryParameterOutput) ToGetGatewayRouteSpecHttpRouteMatchQueryParameterOutputWithContext(ctx context.Context) GetGatewayRouteSpecHttpRouteMatchQueryParameterOutput { + return o +} + +func (o GetGatewayRouteSpecHttpRouteMatchQueryParameterOutput) Matches() GetGatewayRouteSpecHttpRouteMatchQueryParameterMatchArrayOutput { + return o.ApplyT(func(v GetGatewayRouteSpecHttpRouteMatchQueryParameter) []GetGatewayRouteSpecHttpRouteMatchQueryParameterMatch { + return v.Matches + }).(GetGatewayRouteSpecHttpRouteMatchQueryParameterMatchArrayOutput) +} + +// Name of the gateway route. +func (o GetGatewayRouteSpecHttpRouteMatchQueryParameterOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetGatewayRouteSpecHttpRouteMatchQueryParameter) string { return v.Name }).(pulumi.StringOutput) +} + +type GetGatewayRouteSpecHttpRouteMatchQueryParameterArrayOutput struct{ *pulumi.OutputState } + +func (GetGatewayRouteSpecHttpRouteMatchQueryParameterArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetGatewayRouteSpecHttpRouteMatchQueryParameter)(nil)).Elem() +} + +func (o GetGatewayRouteSpecHttpRouteMatchQueryParameterArrayOutput) ToGetGatewayRouteSpecHttpRouteMatchQueryParameterArrayOutput() GetGatewayRouteSpecHttpRouteMatchQueryParameterArrayOutput { + return o +} + +func (o GetGatewayRouteSpecHttpRouteMatchQueryParameterArrayOutput) ToGetGatewayRouteSpecHttpRouteMatchQueryParameterArrayOutputWithContext(ctx context.Context) GetGatewayRouteSpecHttpRouteMatchQueryParameterArrayOutput { + return o +} + +func (o GetGatewayRouteSpecHttpRouteMatchQueryParameterArrayOutput) Index(i pulumi.IntInput) GetGatewayRouteSpecHttpRouteMatchQueryParameterOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetGatewayRouteSpecHttpRouteMatchQueryParameter { + return vs[0].([]GetGatewayRouteSpecHttpRouteMatchQueryParameter)[vs[1].(int)] + }).(GetGatewayRouteSpecHttpRouteMatchQueryParameterOutput) +} + +type GetGatewayRouteSpecHttpRouteMatchQueryParameterMatch struct { + Exact string `pulumi:"exact"` +} + +// GetGatewayRouteSpecHttpRouteMatchQueryParameterMatchInput is an input type that accepts GetGatewayRouteSpecHttpRouteMatchQueryParameterMatchArgs and GetGatewayRouteSpecHttpRouteMatchQueryParameterMatchOutput values. +// You can construct a concrete instance of `GetGatewayRouteSpecHttpRouteMatchQueryParameterMatchInput` via: +// +// GetGatewayRouteSpecHttpRouteMatchQueryParameterMatchArgs{...} +type GetGatewayRouteSpecHttpRouteMatchQueryParameterMatchInput interface { + pulumi.Input + + ToGetGatewayRouteSpecHttpRouteMatchQueryParameterMatchOutput() GetGatewayRouteSpecHttpRouteMatchQueryParameterMatchOutput + ToGetGatewayRouteSpecHttpRouteMatchQueryParameterMatchOutputWithContext(context.Context) GetGatewayRouteSpecHttpRouteMatchQueryParameterMatchOutput +} + +type GetGatewayRouteSpecHttpRouteMatchQueryParameterMatchArgs struct { + Exact pulumi.StringInput `pulumi:"exact"` +} + +func (GetGatewayRouteSpecHttpRouteMatchQueryParameterMatchArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetGatewayRouteSpecHttpRouteMatchQueryParameterMatch)(nil)).Elem() +} + +func (i GetGatewayRouteSpecHttpRouteMatchQueryParameterMatchArgs) ToGetGatewayRouteSpecHttpRouteMatchQueryParameterMatchOutput() GetGatewayRouteSpecHttpRouteMatchQueryParameterMatchOutput { + return i.ToGetGatewayRouteSpecHttpRouteMatchQueryParameterMatchOutputWithContext(context.Background()) +} + +func (i GetGatewayRouteSpecHttpRouteMatchQueryParameterMatchArgs) ToGetGatewayRouteSpecHttpRouteMatchQueryParameterMatchOutputWithContext(ctx context.Context) GetGatewayRouteSpecHttpRouteMatchQueryParameterMatchOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetGatewayRouteSpecHttpRouteMatchQueryParameterMatchOutput) +} + +// GetGatewayRouteSpecHttpRouteMatchQueryParameterMatchArrayInput is an input type that accepts GetGatewayRouteSpecHttpRouteMatchQueryParameterMatchArray and GetGatewayRouteSpecHttpRouteMatchQueryParameterMatchArrayOutput values. +// You can construct a concrete instance of `GetGatewayRouteSpecHttpRouteMatchQueryParameterMatchArrayInput` via: +// +// GetGatewayRouteSpecHttpRouteMatchQueryParameterMatchArray{ GetGatewayRouteSpecHttpRouteMatchQueryParameterMatchArgs{...} } +type GetGatewayRouteSpecHttpRouteMatchQueryParameterMatchArrayInput interface { + pulumi.Input + + ToGetGatewayRouteSpecHttpRouteMatchQueryParameterMatchArrayOutput() GetGatewayRouteSpecHttpRouteMatchQueryParameterMatchArrayOutput + ToGetGatewayRouteSpecHttpRouteMatchQueryParameterMatchArrayOutputWithContext(context.Context) GetGatewayRouteSpecHttpRouteMatchQueryParameterMatchArrayOutput +} + +type GetGatewayRouteSpecHttpRouteMatchQueryParameterMatchArray []GetGatewayRouteSpecHttpRouteMatchQueryParameterMatchInput + +func (GetGatewayRouteSpecHttpRouteMatchQueryParameterMatchArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetGatewayRouteSpecHttpRouteMatchQueryParameterMatch)(nil)).Elem() +} + +func (i GetGatewayRouteSpecHttpRouteMatchQueryParameterMatchArray) ToGetGatewayRouteSpecHttpRouteMatchQueryParameterMatchArrayOutput() GetGatewayRouteSpecHttpRouteMatchQueryParameterMatchArrayOutput { + return i.ToGetGatewayRouteSpecHttpRouteMatchQueryParameterMatchArrayOutputWithContext(context.Background()) +} + +func (i GetGatewayRouteSpecHttpRouteMatchQueryParameterMatchArray) ToGetGatewayRouteSpecHttpRouteMatchQueryParameterMatchArrayOutputWithContext(ctx context.Context) GetGatewayRouteSpecHttpRouteMatchQueryParameterMatchArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetGatewayRouteSpecHttpRouteMatchQueryParameterMatchArrayOutput) +} + +type GetGatewayRouteSpecHttpRouteMatchQueryParameterMatchOutput struct{ *pulumi.OutputState } + +func (GetGatewayRouteSpecHttpRouteMatchQueryParameterMatchOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetGatewayRouteSpecHttpRouteMatchQueryParameterMatch)(nil)).Elem() +} + +func (o GetGatewayRouteSpecHttpRouteMatchQueryParameterMatchOutput) ToGetGatewayRouteSpecHttpRouteMatchQueryParameterMatchOutput() GetGatewayRouteSpecHttpRouteMatchQueryParameterMatchOutput { + return o +} + +func (o GetGatewayRouteSpecHttpRouteMatchQueryParameterMatchOutput) ToGetGatewayRouteSpecHttpRouteMatchQueryParameterMatchOutputWithContext(ctx context.Context) GetGatewayRouteSpecHttpRouteMatchQueryParameterMatchOutput { + return o +} + +func (o GetGatewayRouteSpecHttpRouteMatchQueryParameterMatchOutput) Exact() pulumi.StringOutput { + return o.ApplyT(func(v GetGatewayRouteSpecHttpRouteMatchQueryParameterMatch) string { return v.Exact }).(pulumi.StringOutput) +} + +type GetGatewayRouteSpecHttpRouteMatchQueryParameterMatchArrayOutput struct{ *pulumi.OutputState } + +func (GetGatewayRouteSpecHttpRouteMatchQueryParameterMatchArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetGatewayRouteSpecHttpRouteMatchQueryParameterMatch)(nil)).Elem() +} + +func (o GetGatewayRouteSpecHttpRouteMatchQueryParameterMatchArrayOutput) ToGetGatewayRouteSpecHttpRouteMatchQueryParameterMatchArrayOutput() GetGatewayRouteSpecHttpRouteMatchQueryParameterMatchArrayOutput { + return o +} + +func (o GetGatewayRouteSpecHttpRouteMatchQueryParameterMatchArrayOutput) ToGetGatewayRouteSpecHttpRouteMatchQueryParameterMatchArrayOutputWithContext(ctx context.Context) GetGatewayRouteSpecHttpRouteMatchQueryParameterMatchArrayOutput { + return o +} + +func (o GetGatewayRouteSpecHttpRouteMatchQueryParameterMatchArrayOutput) Index(i pulumi.IntInput) GetGatewayRouteSpecHttpRouteMatchQueryParameterMatchOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetGatewayRouteSpecHttpRouteMatchQueryParameterMatch { + return vs[0].([]GetGatewayRouteSpecHttpRouteMatchQueryParameterMatch)[vs[1].(int)] + }).(GetGatewayRouteSpecHttpRouteMatchQueryParameterMatchOutput) +} + +type GetMeshSpec struct { + EgressFilters []GetMeshSpecEgressFilter `pulumi:"egressFilters"` +} + +// GetMeshSpecInput is an input type that accepts GetMeshSpecArgs and GetMeshSpecOutput values. +// You can construct a concrete instance of `GetMeshSpecInput` via: +// +// GetMeshSpecArgs{...} +type GetMeshSpecInput interface { + pulumi.Input + + ToGetMeshSpecOutput() GetMeshSpecOutput + ToGetMeshSpecOutputWithContext(context.Context) GetMeshSpecOutput +} + +type GetMeshSpecArgs struct { + EgressFilters GetMeshSpecEgressFilterArrayInput `pulumi:"egressFilters"` +} + +func (GetMeshSpecArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetMeshSpec)(nil)).Elem() +} + +func (i GetMeshSpecArgs) ToGetMeshSpecOutput() GetMeshSpecOutput { + return i.ToGetMeshSpecOutputWithContext(context.Background()) +} + +func (i GetMeshSpecArgs) ToGetMeshSpecOutputWithContext(ctx context.Context) GetMeshSpecOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetMeshSpecOutput) +} + +// GetMeshSpecArrayInput is an input type that accepts GetMeshSpecArray and GetMeshSpecArrayOutput values. +// You can construct a concrete instance of `GetMeshSpecArrayInput` via: +// +// GetMeshSpecArray{ GetMeshSpecArgs{...} } +type GetMeshSpecArrayInput interface { + pulumi.Input + + ToGetMeshSpecArrayOutput() GetMeshSpecArrayOutput + ToGetMeshSpecArrayOutputWithContext(context.Context) GetMeshSpecArrayOutput +} + +type GetMeshSpecArray []GetMeshSpecInput + +func (GetMeshSpecArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetMeshSpec)(nil)).Elem() +} + +func (i GetMeshSpecArray) ToGetMeshSpecArrayOutput() GetMeshSpecArrayOutput { + return i.ToGetMeshSpecArrayOutputWithContext(context.Background()) +} + +func (i GetMeshSpecArray) ToGetMeshSpecArrayOutputWithContext(ctx context.Context) GetMeshSpecArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetMeshSpecArrayOutput) +} + +type GetMeshSpecOutput struct{ *pulumi.OutputState } + +func (GetMeshSpecOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetMeshSpec)(nil)).Elem() +} + +func (o GetMeshSpecOutput) ToGetMeshSpecOutput() GetMeshSpecOutput { + return o +} + +func (o GetMeshSpecOutput) ToGetMeshSpecOutputWithContext(ctx context.Context) GetMeshSpecOutput { + return o +} + +func (o GetMeshSpecOutput) EgressFilters() GetMeshSpecEgressFilterArrayOutput { + return o.ApplyT(func(v GetMeshSpec) []GetMeshSpecEgressFilter { return v.EgressFilters }).(GetMeshSpecEgressFilterArrayOutput) +} + +type GetMeshSpecArrayOutput struct{ *pulumi.OutputState } + +func (GetMeshSpecArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetMeshSpec)(nil)).Elem() +} + +func (o GetMeshSpecArrayOutput) ToGetMeshSpecArrayOutput() GetMeshSpecArrayOutput { + return o +} + +func (o GetMeshSpecArrayOutput) ToGetMeshSpecArrayOutputWithContext(ctx context.Context) GetMeshSpecArrayOutput { + return o +} + +func (o GetMeshSpecArrayOutput) Index(i pulumi.IntInput) GetMeshSpecOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetMeshSpec { + return vs[0].([]GetMeshSpec)[vs[1].(int)] + }).(GetMeshSpecOutput) +} + +type GetMeshSpecEgressFilter struct { + Type string `pulumi:"type"` +} + +// GetMeshSpecEgressFilterInput is an input type that accepts GetMeshSpecEgressFilterArgs and GetMeshSpecEgressFilterOutput values. +// You can construct a concrete instance of `GetMeshSpecEgressFilterInput` via: +// +// GetMeshSpecEgressFilterArgs{...} +type GetMeshSpecEgressFilterInput interface { + pulumi.Input + + ToGetMeshSpecEgressFilterOutput() GetMeshSpecEgressFilterOutput + ToGetMeshSpecEgressFilterOutputWithContext(context.Context) GetMeshSpecEgressFilterOutput +} + +type GetMeshSpecEgressFilterArgs struct { + Type pulumi.StringInput `pulumi:"type"` +} + +func (GetMeshSpecEgressFilterArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetMeshSpecEgressFilter)(nil)).Elem() +} + +func (i GetMeshSpecEgressFilterArgs) ToGetMeshSpecEgressFilterOutput() GetMeshSpecEgressFilterOutput { + return i.ToGetMeshSpecEgressFilterOutputWithContext(context.Background()) +} + +func (i GetMeshSpecEgressFilterArgs) ToGetMeshSpecEgressFilterOutputWithContext(ctx context.Context) GetMeshSpecEgressFilterOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetMeshSpecEgressFilterOutput) +} + +// GetMeshSpecEgressFilterArrayInput is an input type that accepts GetMeshSpecEgressFilterArray and GetMeshSpecEgressFilterArrayOutput values. +// You can construct a concrete instance of `GetMeshSpecEgressFilterArrayInput` via: +// +// GetMeshSpecEgressFilterArray{ GetMeshSpecEgressFilterArgs{...} } +type GetMeshSpecEgressFilterArrayInput interface { + pulumi.Input + + ToGetMeshSpecEgressFilterArrayOutput() GetMeshSpecEgressFilterArrayOutput + ToGetMeshSpecEgressFilterArrayOutputWithContext(context.Context) GetMeshSpecEgressFilterArrayOutput +} + +type GetMeshSpecEgressFilterArray []GetMeshSpecEgressFilterInput + +func (GetMeshSpecEgressFilterArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetMeshSpecEgressFilter)(nil)).Elem() +} + +func (i GetMeshSpecEgressFilterArray) ToGetMeshSpecEgressFilterArrayOutput() GetMeshSpecEgressFilterArrayOutput { + return i.ToGetMeshSpecEgressFilterArrayOutputWithContext(context.Background()) +} + +func (i GetMeshSpecEgressFilterArray) ToGetMeshSpecEgressFilterArrayOutputWithContext(ctx context.Context) GetMeshSpecEgressFilterArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetMeshSpecEgressFilterArrayOutput) +} + +type GetMeshSpecEgressFilterOutput struct{ *pulumi.OutputState } + +func (GetMeshSpecEgressFilterOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetMeshSpecEgressFilter)(nil)).Elem() +} + +func (o GetMeshSpecEgressFilterOutput) ToGetMeshSpecEgressFilterOutput() GetMeshSpecEgressFilterOutput { + return o +} + +func (o GetMeshSpecEgressFilterOutput) ToGetMeshSpecEgressFilterOutputWithContext(ctx context.Context) GetMeshSpecEgressFilterOutput { + return o +} + +func (o GetMeshSpecEgressFilterOutput) Type() pulumi.StringOutput { + return o.ApplyT(func(v GetMeshSpecEgressFilter) string { return v.Type }).(pulumi.StringOutput) +} + +type GetMeshSpecEgressFilterArrayOutput struct{ *pulumi.OutputState } + +func (GetMeshSpecEgressFilterArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetMeshSpecEgressFilter)(nil)).Elem() +} + +func (o GetMeshSpecEgressFilterArrayOutput) ToGetMeshSpecEgressFilterArrayOutput() GetMeshSpecEgressFilterArrayOutput { + return o +} + +func (o GetMeshSpecEgressFilterArrayOutput) ToGetMeshSpecEgressFilterArrayOutputWithContext(ctx context.Context) GetMeshSpecEgressFilterArrayOutput { + return o +} + +func (o GetMeshSpecEgressFilterArrayOutput) Index(i pulumi.IntInput) GetMeshSpecEgressFilterOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetMeshSpecEgressFilter { + return vs[0].([]GetMeshSpecEgressFilter)[vs[1].(int)] + }).(GetMeshSpecEgressFilterOutput) +} + +type GetRouteSpec struct { + GrpcRoutes []GetRouteSpecGrpcRoute `pulumi:"grpcRoutes"` + Http2Routes []GetRouteSpecHttp2Route `pulumi:"http2Routes"` + HttpRoutes []GetRouteSpecHttpRoute `pulumi:"httpRoutes"` + Priority int `pulumi:"priority"` + TcpRoutes []GetRouteSpecTcpRoute `pulumi:"tcpRoutes"` +} + +// GetRouteSpecInput is an input type that accepts GetRouteSpecArgs and GetRouteSpecOutput values. +// You can construct a concrete instance of `GetRouteSpecInput` via: +// +// GetRouteSpecArgs{...} +type GetRouteSpecInput interface { + pulumi.Input + + ToGetRouteSpecOutput() GetRouteSpecOutput + ToGetRouteSpecOutputWithContext(context.Context) GetRouteSpecOutput +} + +type GetRouteSpecArgs struct { + GrpcRoutes GetRouteSpecGrpcRouteArrayInput `pulumi:"grpcRoutes"` + Http2Routes GetRouteSpecHttp2RouteArrayInput `pulumi:"http2Routes"` + HttpRoutes GetRouteSpecHttpRouteArrayInput `pulumi:"httpRoutes"` + Priority pulumi.IntInput `pulumi:"priority"` + TcpRoutes GetRouteSpecTcpRouteArrayInput `pulumi:"tcpRoutes"` +} + +func (GetRouteSpecArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetRouteSpec)(nil)).Elem() +} + +func (i GetRouteSpecArgs) ToGetRouteSpecOutput() GetRouteSpecOutput { + return i.ToGetRouteSpecOutputWithContext(context.Background()) +} + +func (i GetRouteSpecArgs) ToGetRouteSpecOutputWithContext(ctx context.Context) GetRouteSpecOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetRouteSpecOutput) +} + +// GetRouteSpecArrayInput is an input type that accepts GetRouteSpecArray and GetRouteSpecArrayOutput values. +// You can construct a concrete instance of `GetRouteSpecArrayInput` via: +// +// GetRouteSpecArray{ GetRouteSpecArgs{...} } +type GetRouteSpecArrayInput interface { + pulumi.Input + + ToGetRouteSpecArrayOutput() GetRouteSpecArrayOutput + ToGetRouteSpecArrayOutputWithContext(context.Context) GetRouteSpecArrayOutput +} + +type GetRouteSpecArray []GetRouteSpecInput + +func (GetRouteSpecArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetRouteSpec)(nil)).Elem() +} + +func (i GetRouteSpecArray) ToGetRouteSpecArrayOutput() GetRouteSpecArrayOutput { + return i.ToGetRouteSpecArrayOutputWithContext(context.Background()) +} + +func (i GetRouteSpecArray) ToGetRouteSpecArrayOutputWithContext(ctx context.Context) GetRouteSpecArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetRouteSpecArrayOutput) +} + +type GetRouteSpecOutput struct{ *pulumi.OutputState } + +func (GetRouteSpecOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetRouteSpec)(nil)).Elem() +} + +func (o GetRouteSpecOutput) ToGetRouteSpecOutput() GetRouteSpecOutput { + return o +} + +func (o GetRouteSpecOutput) ToGetRouteSpecOutputWithContext(ctx context.Context) GetRouteSpecOutput { + return o +} + +func (o GetRouteSpecOutput) GrpcRoutes() GetRouteSpecGrpcRouteArrayOutput { + return o.ApplyT(func(v GetRouteSpec) []GetRouteSpecGrpcRoute { return v.GrpcRoutes }).(GetRouteSpecGrpcRouteArrayOutput) +} + +func (o GetRouteSpecOutput) Http2Routes() GetRouteSpecHttp2RouteArrayOutput { + return o.ApplyT(func(v GetRouteSpec) []GetRouteSpecHttp2Route { return v.Http2Routes }).(GetRouteSpecHttp2RouteArrayOutput) +} + +func (o GetRouteSpecOutput) HttpRoutes() GetRouteSpecHttpRouteArrayOutput { + return o.ApplyT(func(v GetRouteSpec) []GetRouteSpecHttpRoute { return v.HttpRoutes }).(GetRouteSpecHttpRouteArrayOutput) +} + +func (o GetRouteSpecOutput) Priority() pulumi.IntOutput { + return o.ApplyT(func(v GetRouteSpec) int { return v.Priority }).(pulumi.IntOutput) +} + +func (o GetRouteSpecOutput) TcpRoutes() GetRouteSpecTcpRouteArrayOutput { + return o.ApplyT(func(v GetRouteSpec) []GetRouteSpecTcpRoute { return v.TcpRoutes }).(GetRouteSpecTcpRouteArrayOutput) +} + +type GetRouteSpecArrayOutput struct{ *pulumi.OutputState } + +func (GetRouteSpecArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetRouteSpec)(nil)).Elem() +} + +func (o GetRouteSpecArrayOutput) ToGetRouteSpecArrayOutput() GetRouteSpecArrayOutput { + return o +} + +func (o GetRouteSpecArrayOutput) ToGetRouteSpecArrayOutputWithContext(ctx context.Context) GetRouteSpecArrayOutput { + return o +} + +func (o GetRouteSpecArrayOutput) Index(i pulumi.IntInput) GetRouteSpecOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetRouteSpec { + return vs[0].([]GetRouteSpec)[vs[1].(int)] + }).(GetRouteSpecOutput) +} + +type GetRouteSpecGrpcRoute struct { + Actions []GetRouteSpecGrpcRouteAction `pulumi:"actions"` + Matches []GetRouteSpecGrpcRouteMatch `pulumi:"matches"` + RetryPolicies []GetRouteSpecGrpcRouteRetryPolicy `pulumi:"retryPolicies"` + Timeouts []GetRouteSpecGrpcRouteTimeout `pulumi:"timeouts"` +} + +// GetRouteSpecGrpcRouteInput is an input type that accepts GetRouteSpecGrpcRouteArgs and GetRouteSpecGrpcRouteOutput values. +// You can construct a concrete instance of `GetRouteSpecGrpcRouteInput` via: +// +// GetRouteSpecGrpcRouteArgs{...} +type GetRouteSpecGrpcRouteInput interface { + pulumi.Input + + ToGetRouteSpecGrpcRouteOutput() GetRouteSpecGrpcRouteOutput + ToGetRouteSpecGrpcRouteOutputWithContext(context.Context) GetRouteSpecGrpcRouteOutput +} + +type GetRouteSpecGrpcRouteArgs struct { + Actions GetRouteSpecGrpcRouteActionArrayInput `pulumi:"actions"` + Matches GetRouteSpecGrpcRouteMatchArrayInput `pulumi:"matches"` + RetryPolicies GetRouteSpecGrpcRouteRetryPolicyArrayInput `pulumi:"retryPolicies"` + Timeouts GetRouteSpecGrpcRouteTimeoutArrayInput `pulumi:"timeouts"` +} + +func (GetRouteSpecGrpcRouteArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetRouteSpecGrpcRoute)(nil)).Elem() +} + +func (i GetRouteSpecGrpcRouteArgs) ToGetRouteSpecGrpcRouteOutput() GetRouteSpecGrpcRouteOutput { + return i.ToGetRouteSpecGrpcRouteOutputWithContext(context.Background()) +} + +func (i GetRouteSpecGrpcRouteArgs) ToGetRouteSpecGrpcRouteOutputWithContext(ctx context.Context) GetRouteSpecGrpcRouteOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetRouteSpecGrpcRouteOutput) +} + +// GetRouteSpecGrpcRouteArrayInput is an input type that accepts GetRouteSpecGrpcRouteArray and GetRouteSpecGrpcRouteArrayOutput values. +// You can construct a concrete instance of `GetRouteSpecGrpcRouteArrayInput` via: +// +// GetRouteSpecGrpcRouteArray{ GetRouteSpecGrpcRouteArgs{...} } +type GetRouteSpecGrpcRouteArrayInput interface { + pulumi.Input + + ToGetRouteSpecGrpcRouteArrayOutput() GetRouteSpecGrpcRouteArrayOutput + ToGetRouteSpecGrpcRouteArrayOutputWithContext(context.Context) GetRouteSpecGrpcRouteArrayOutput +} + +type GetRouteSpecGrpcRouteArray []GetRouteSpecGrpcRouteInput + +func (GetRouteSpecGrpcRouteArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetRouteSpecGrpcRoute)(nil)).Elem() +} + +func (i GetRouteSpecGrpcRouteArray) ToGetRouteSpecGrpcRouteArrayOutput() GetRouteSpecGrpcRouteArrayOutput { + return i.ToGetRouteSpecGrpcRouteArrayOutputWithContext(context.Background()) +} + +func (i GetRouteSpecGrpcRouteArray) ToGetRouteSpecGrpcRouteArrayOutputWithContext(ctx context.Context) GetRouteSpecGrpcRouteArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetRouteSpecGrpcRouteArrayOutput) +} + +type GetRouteSpecGrpcRouteOutput struct{ *pulumi.OutputState } + +func (GetRouteSpecGrpcRouteOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetRouteSpecGrpcRoute)(nil)).Elem() +} + +func (o GetRouteSpecGrpcRouteOutput) ToGetRouteSpecGrpcRouteOutput() GetRouteSpecGrpcRouteOutput { + return o +} + +func (o GetRouteSpecGrpcRouteOutput) ToGetRouteSpecGrpcRouteOutputWithContext(ctx context.Context) GetRouteSpecGrpcRouteOutput { + return o +} + +func (o GetRouteSpecGrpcRouteOutput) Actions() GetRouteSpecGrpcRouteActionArrayOutput { + return o.ApplyT(func(v GetRouteSpecGrpcRoute) []GetRouteSpecGrpcRouteAction { return v.Actions }).(GetRouteSpecGrpcRouteActionArrayOutput) +} + +func (o GetRouteSpecGrpcRouteOutput) Matches() GetRouteSpecGrpcRouteMatchArrayOutput { + return o.ApplyT(func(v GetRouteSpecGrpcRoute) []GetRouteSpecGrpcRouteMatch { return v.Matches }).(GetRouteSpecGrpcRouteMatchArrayOutput) +} + +func (o GetRouteSpecGrpcRouteOutput) RetryPolicies() GetRouteSpecGrpcRouteRetryPolicyArrayOutput { + return o.ApplyT(func(v GetRouteSpecGrpcRoute) []GetRouteSpecGrpcRouteRetryPolicy { return v.RetryPolicies }).(GetRouteSpecGrpcRouteRetryPolicyArrayOutput) +} + +func (o GetRouteSpecGrpcRouteOutput) Timeouts() GetRouteSpecGrpcRouteTimeoutArrayOutput { + return o.ApplyT(func(v GetRouteSpecGrpcRoute) []GetRouteSpecGrpcRouteTimeout { return v.Timeouts }).(GetRouteSpecGrpcRouteTimeoutArrayOutput) +} + +type GetRouteSpecGrpcRouteArrayOutput struct{ *pulumi.OutputState } + +func (GetRouteSpecGrpcRouteArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetRouteSpecGrpcRoute)(nil)).Elem() +} + +func (o GetRouteSpecGrpcRouteArrayOutput) ToGetRouteSpecGrpcRouteArrayOutput() GetRouteSpecGrpcRouteArrayOutput { + return o +} + +func (o GetRouteSpecGrpcRouteArrayOutput) ToGetRouteSpecGrpcRouteArrayOutputWithContext(ctx context.Context) GetRouteSpecGrpcRouteArrayOutput { + return o +} + +func (o GetRouteSpecGrpcRouteArrayOutput) Index(i pulumi.IntInput) GetRouteSpecGrpcRouteOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetRouteSpecGrpcRoute { + return vs[0].([]GetRouteSpecGrpcRoute)[vs[1].(int)] + }).(GetRouteSpecGrpcRouteOutput) +} + +type GetRouteSpecGrpcRouteAction struct { + WeightedTargets []GetRouteSpecGrpcRouteActionWeightedTarget `pulumi:"weightedTargets"` +} + +// GetRouteSpecGrpcRouteActionInput is an input type that accepts GetRouteSpecGrpcRouteActionArgs and GetRouteSpecGrpcRouteActionOutput values. +// You can construct a concrete instance of `GetRouteSpecGrpcRouteActionInput` via: +// +// GetRouteSpecGrpcRouteActionArgs{...} +type GetRouteSpecGrpcRouteActionInput interface { + pulumi.Input + + ToGetRouteSpecGrpcRouteActionOutput() GetRouteSpecGrpcRouteActionOutput + ToGetRouteSpecGrpcRouteActionOutputWithContext(context.Context) GetRouteSpecGrpcRouteActionOutput +} + +type GetRouteSpecGrpcRouteActionArgs struct { + WeightedTargets GetRouteSpecGrpcRouteActionWeightedTargetArrayInput `pulumi:"weightedTargets"` +} + +func (GetRouteSpecGrpcRouteActionArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetRouteSpecGrpcRouteAction)(nil)).Elem() +} + +func (i GetRouteSpecGrpcRouteActionArgs) ToGetRouteSpecGrpcRouteActionOutput() GetRouteSpecGrpcRouteActionOutput { + return i.ToGetRouteSpecGrpcRouteActionOutputWithContext(context.Background()) +} + +func (i GetRouteSpecGrpcRouteActionArgs) ToGetRouteSpecGrpcRouteActionOutputWithContext(ctx context.Context) GetRouteSpecGrpcRouteActionOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetRouteSpecGrpcRouteActionOutput) +} + +// GetRouteSpecGrpcRouteActionArrayInput is an input type that accepts GetRouteSpecGrpcRouteActionArray and GetRouteSpecGrpcRouteActionArrayOutput values. +// You can construct a concrete instance of `GetRouteSpecGrpcRouteActionArrayInput` via: +// +// GetRouteSpecGrpcRouteActionArray{ GetRouteSpecGrpcRouteActionArgs{...} } +type GetRouteSpecGrpcRouteActionArrayInput interface { + pulumi.Input + + ToGetRouteSpecGrpcRouteActionArrayOutput() GetRouteSpecGrpcRouteActionArrayOutput + ToGetRouteSpecGrpcRouteActionArrayOutputWithContext(context.Context) GetRouteSpecGrpcRouteActionArrayOutput +} + +type GetRouteSpecGrpcRouteActionArray []GetRouteSpecGrpcRouteActionInput + +func (GetRouteSpecGrpcRouteActionArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetRouteSpecGrpcRouteAction)(nil)).Elem() +} + +func (i GetRouteSpecGrpcRouteActionArray) ToGetRouteSpecGrpcRouteActionArrayOutput() GetRouteSpecGrpcRouteActionArrayOutput { + return i.ToGetRouteSpecGrpcRouteActionArrayOutputWithContext(context.Background()) +} + +func (i GetRouteSpecGrpcRouteActionArray) ToGetRouteSpecGrpcRouteActionArrayOutputWithContext(ctx context.Context) GetRouteSpecGrpcRouteActionArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetRouteSpecGrpcRouteActionArrayOutput) +} + +type GetRouteSpecGrpcRouteActionOutput struct{ *pulumi.OutputState } + +func (GetRouteSpecGrpcRouteActionOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetRouteSpecGrpcRouteAction)(nil)).Elem() +} + +func (o GetRouteSpecGrpcRouteActionOutput) ToGetRouteSpecGrpcRouteActionOutput() GetRouteSpecGrpcRouteActionOutput { + return o +} + +func (o GetRouteSpecGrpcRouteActionOutput) ToGetRouteSpecGrpcRouteActionOutputWithContext(ctx context.Context) GetRouteSpecGrpcRouteActionOutput { + return o +} + +func (o GetRouteSpecGrpcRouteActionOutput) WeightedTargets() GetRouteSpecGrpcRouteActionWeightedTargetArrayOutput { + return o.ApplyT(func(v GetRouteSpecGrpcRouteAction) []GetRouteSpecGrpcRouteActionWeightedTarget { + return v.WeightedTargets + }).(GetRouteSpecGrpcRouteActionWeightedTargetArrayOutput) +} + +type GetRouteSpecGrpcRouteActionArrayOutput struct{ *pulumi.OutputState } + +func (GetRouteSpecGrpcRouteActionArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetRouteSpecGrpcRouteAction)(nil)).Elem() +} + +func (o GetRouteSpecGrpcRouteActionArrayOutput) ToGetRouteSpecGrpcRouteActionArrayOutput() GetRouteSpecGrpcRouteActionArrayOutput { + return o +} + +func (o GetRouteSpecGrpcRouteActionArrayOutput) ToGetRouteSpecGrpcRouteActionArrayOutputWithContext(ctx context.Context) GetRouteSpecGrpcRouteActionArrayOutput { + return o +} + +func (o GetRouteSpecGrpcRouteActionArrayOutput) Index(i pulumi.IntInput) GetRouteSpecGrpcRouteActionOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetRouteSpecGrpcRouteAction { + return vs[0].([]GetRouteSpecGrpcRouteAction)[vs[1].(int)] + }).(GetRouteSpecGrpcRouteActionOutput) +} + +type GetRouteSpecGrpcRouteActionWeightedTarget struct { + Port int `pulumi:"port"` + VirtualNode string `pulumi:"virtualNode"` + Weight int `pulumi:"weight"` +} + +// GetRouteSpecGrpcRouteActionWeightedTargetInput is an input type that accepts GetRouteSpecGrpcRouteActionWeightedTargetArgs and GetRouteSpecGrpcRouteActionWeightedTargetOutput values. +// You can construct a concrete instance of `GetRouteSpecGrpcRouteActionWeightedTargetInput` via: +// +// GetRouteSpecGrpcRouteActionWeightedTargetArgs{...} +type GetRouteSpecGrpcRouteActionWeightedTargetInput interface { + pulumi.Input + + ToGetRouteSpecGrpcRouteActionWeightedTargetOutput() GetRouteSpecGrpcRouteActionWeightedTargetOutput + ToGetRouteSpecGrpcRouteActionWeightedTargetOutputWithContext(context.Context) GetRouteSpecGrpcRouteActionWeightedTargetOutput +} + +type GetRouteSpecGrpcRouteActionWeightedTargetArgs struct { + Port pulumi.IntInput `pulumi:"port"` + VirtualNode pulumi.StringInput `pulumi:"virtualNode"` + Weight pulumi.IntInput `pulumi:"weight"` +} + +func (GetRouteSpecGrpcRouteActionWeightedTargetArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetRouteSpecGrpcRouteActionWeightedTarget)(nil)).Elem() +} + +func (i GetRouteSpecGrpcRouteActionWeightedTargetArgs) ToGetRouteSpecGrpcRouteActionWeightedTargetOutput() GetRouteSpecGrpcRouteActionWeightedTargetOutput { + return i.ToGetRouteSpecGrpcRouteActionWeightedTargetOutputWithContext(context.Background()) +} + +func (i GetRouteSpecGrpcRouteActionWeightedTargetArgs) ToGetRouteSpecGrpcRouteActionWeightedTargetOutputWithContext(ctx context.Context) GetRouteSpecGrpcRouteActionWeightedTargetOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetRouteSpecGrpcRouteActionWeightedTargetOutput) +} + +// GetRouteSpecGrpcRouteActionWeightedTargetArrayInput is an input type that accepts GetRouteSpecGrpcRouteActionWeightedTargetArray and GetRouteSpecGrpcRouteActionWeightedTargetArrayOutput values. +// You can construct a concrete instance of `GetRouteSpecGrpcRouteActionWeightedTargetArrayInput` via: +// +// GetRouteSpecGrpcRouteActionWeightedTargetArray{ GetRouteSpecGrpcRouteActionWeightedTargetArgs{...} } +type GetRouteSpecGrpcRouteActionWeightedTargetArrayInput interface { + pulumi.Input + + ToGetRouteSpecGrpcRouteActionWeightedTargetArrayOutput() GetRouteSpecGrpcRouteActionWeightedTargetArrayOutput + ToGetRouteSpecGrpcRouteActionWeightedTargetArrayOutputWithContext(context.Context) GetRouteSpecGrpcRouteActionWeightedTargetArrayOutput +} + +type GetRouteSpecGrpcRouteActionWeightedTargetArray []GetRouteSpecGrpcRouteActionWeightedTargetInput + +func (GetRouteSpecGrpcRouteActionWeightedTargetArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetRouteSpecGrpcRouteActionWeightedTarget)(nil)).Elem() +} + +func (i GetRouteSpecGrpcRouteActionWeightedTargetArray) ToGetRouteSpecGrpcRouteActionWeightedTargetArrayOutput() GetRouteSpecGrpcRouteActionWeightedTargetArrayOutput { + return i.ToGetRouteSpecGrpcRouteActionWeightedTargetArrayOutputWithContext(context.Background()) +} + +func (i GetRouteSpecGrpcRouteActionWeightedTargetArray) ToGetRouteSpecGrpcRouteActionWeightedTargetArrayOutputWithContext(ctx context.Context) GetRouteSpecGrpcRouteActionWeightedTargetArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetRouteSpecGrpcRouteActionWeightedTargetArrayOutput) +} + +type GetRouteSpecGrpcRouteActionWeightedTargetOutput struct{ *pulumi.OutputState } + +func (GetRouteSpecGrpcRouteActionWeightedTargetOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetRouteSpecGrpcRouteActionWeightedTarget)(nil)).Elem() +} + +func (o GetRouteSpecGrpcRouteActionWeightedTargetOutput) ToGetRouteSpecGrpcRouteActionWeightedTargetOutput() GetRouteSpecGrpcRouteActionWeightedTargetOutput { + return o +} + +func (o GetRouteSpecGrpcRouteActionWeightedTargetOutput) ToGetRouteSpecGrpcRouteActionWeightedTargetOutputWithContext(ctx context.Context) GetRouteSpecGrpcRouteActionWeightedTargetOutput { + return o +} + +func (o GetRouteSpecGrpcRouteActionWeightedTargetOutput) Port() pulumi.IntOutput { + return o.ApplyT(func(v GetRouteSpecGrpcRouteActionWeightedTarget) int { return v.Port }).(pulumi.IntOutput) +} + +func (o GetRouteSpecGrpcRouteActionWeightedTargetOutput) VirtualNode() pulumi.StringOutput { + return o.ApplyT(func(v GetRouteSpecGrpcRouteActionWeightedTarget) string { return v.VirtualNode }).(pulumi.StringOutput) +} + +func (o GetRouteSpecGrpcRouteActionWeightedTargetOutput) Weight() pulumi.IntOutput { + return o.ApplyT(func(v GetRouteSpecGrpcRouteActionWeightedTarget) int { return v.Weight }).(pulumi.IntOutput) +} + +type GetRouteSpecGrpcRouteActionWeightedTargetArrayOutput struct{ *pulumi.OutputState } + +func (GetRouteSpecGrpcRouteActionWeightedTargetArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetRouteSpecGrpcRouteActionWeightedTarget)(nil)).Elem() +} + +func (o GetRouteSpecGrpcRouteActionWeightedTargetArrayOutput) ToGetRouteSpecGrpcRouteActionWeightedTargetArrayOutput() GetRouteSpecGrpcRouteActionWeightedTargetArrayOutput { + return o +} + +func (o GetRouteSpecGrpcRouteActionWeightedTargetArrayOutput) ToGetRouteSpecGrpcRouteActionWeightedTargetArrayOutputWithContext(ctx context.Context) GetRouteSpecGrpcRouteActionWeightedTargetArrayOutput { + return o +} + +func (o GetRouteSpecGrpcRouteActionWeightedTargetArrayOutput) Index(i pulumi.IntInput) GetRouteSpecGrpcRouteActionWeightedTargetOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetRouteSpecGrpcRouteActionWeightedTarget { + return vs[0].([]GetRouteSpecGrpcRouteActionWeightedTarget)[vs[1].(int)] + }).(GetRouteSpecGrpcRouteActionWeightedTargetOutput) +} + +type GetRouteSpecGrpcRouteMatch struct { + Metadatas []GetRouteSpecGrpcRouteMatchMetadata `pulumi:"metadatas"` + MethodName string `pulumi:"methodName"` + Port int `pulumi:"port"` + Prefix string `pulumi:"prefix"` + ServiceName string `pulumi:"serviceName"` +} + +// GetRouteSpecGrpcRouteMatchInput is an input type that accepts GetRouteSpecGrpcRouteMatchArgs and GetRouteSpecGrpcRouteMatchOutput values. +// You can construct a concrete instance of `GetRouteSpecGrpcRouteMatchInput` via: +// +// GetRouteSpecGrpcRouteMatchArgs{...} +type GetRouteSpecGrpcRouteMatchInput interface { + pulumi.Input + + ToGetRouteSpecGrpcRouteMatchOutput() GetRouteSpecGrpcRouteMatchOutput + ToGetRouteSpecGrpcRouteMatchOutputWithContext(context.Context) GetRouteSpecGrpcRouteMatchOutput +} + +type GetRouteSpecGrpcRouteMatchArgs struct { + Metadatas GetRouteSpecGrpcRouteMatchMetadataArrayInput `pulumi:"metadatas"` + MethodName pulumi.StringInput `pulumi:"methodName"` + Port pulumi.IntInput `pulumi:"port"` + Prefix pulumi.StringInput `pulumi:"prefix"` + ServiceName pulumi.StringInput `pulumi:"serviceName"` +} + +func (GetRouteSpecGrpcRouteMatchArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetRouteSpecGrpcRouteMatch)(nil)).Elem() +} + +func (i GetRouteSpecGrpcRouteMatchArgs) ToGetRouteSpecGrpcRouteMatchOutput() GetRouteSpecGrpcRouteMatchOutput { + return i.ToGetRouteSpecGrpcRouteMatchOutputWithContext(context.Background()) +} + +func (i GetRouteSpecGrpcRouteMatchArgs) ToGetRouteSpecGrpcRouteMatchOutputWithContext(ctx context.Context) GetRouteSpecGrpcRouteMatchOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetRouteSpecGrpcRouteMatchOutput) +} + +// GetRouteSpecGrpcRouteMatchArrayInput is an input type that accepts GetRouteSpecGrpcRouteMatchArray and GetRouteSpecGrpcRouteMatchArrayOutput values. +// You can construct a concrete instance of `GetRouteSpecGrpcRouteMatchArrayInput` via: +// +// GetRouteSpecGrpcRouteMatchArray{ GetRouteSpecGrpcRouteMatchArgs{...} } +type GetRouteSpecGrpcRouteMatchArrayInput interface { + pulumi.Input + + ToGetRouteSpecGrpcRouteMatchArrayOutput() GetRouteSpecGrpcRouteMatchArrayOutput + ToGetRouteSpecGrpcRouteMatchArrayOutputWithContext(context.Context) GetRouteSpecGrpcRouteMatchArrayOutput +} + +type GetRouteSpecGrpcRouteMatchArray []GetRouteSpecGrpcRouteMatchInput + +func (GetRouteSpecGrpcRouteMatchArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetRouteSpecGrpcRouteMatch)(nil)).Elem() +} + +func (i GetRouteSpecGrpcRouteMatchArray) ToGetRouteSpecGrpcRouteMatchArrayOutput() GetRouteSpecGrpcRouteMatchArrayOutput { + return i.ToGetRouteSpecGrpcRouteMatchArrayOutputWithContext(context.Background()) +} + +func (i GetRouteSpecGrpcRouteMatchArray) ToGetRouteSpecGrpcRouteMatchArrayOutputWithContext(ctx context.Context) GetRouteSpecGrpcRouteMatchArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetRouteSpecGrpcRouteMatchArrayOutput) +} + +type GetRouteSpecGrpcRouteMatchOutput struct{ *pulumi.OutputState } + +func (GetRouteSpecGrpcRouteMatchOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetRouteSpecGrpcRouteMatch)(nil)).Elem() +} + +func (o GetRouteSpecGrpcRouteMatchOutput) ToGetRouteSpecGrpcRouteMatchOutput() GetRouteSpecGrpcRouteMatchOutput { + return o +} + +func (o GetRouteSpecGrpcRouteMatchOutput) ToGetRouteSpecGrpcRouteMatchOutputWithContext(ctx context.Context) GetRouteSpecGrpcRouteMatchOutput { + return o +} + +func (o GetRouteSpecGrpcRouteMatchOutput) Metadatas() GetRouteSpecGrpcRouteMatchMetadataArrayOutput { + return o.ApplyT(func(v GetRouteSpecGrpcRouteMatch) []GetRouteSpecGrpcRouteMatchMetadata { return v.Metadatas }).(GetRouteSpecGrpcRouteMatchMetadataArrayOutput) +} + +func (o GetRouteSpecGrpcRouteMatchOutput) MethodName() pulumi.StringOutput { + return o.ApplyT(func(v GetRouteSpecGrpcRouteMatch) string { return v.MethodName }).(pulumi.StringOutput) +} + +func (o GetRouteSpecGrpcRouteMatchOutput) Port() pulumi.IntOutput { + return o.ApplyT(func(v GetRouteSpecGrpcRouteMatch) int { return v.Port }).(pulumi.IntOutput) +} + +func (o GetRouteSpecGrpcRouteMatchOutput) Prefix() pulumi.StringOutput { + return o.ApplyT(func(v GetRouteSpecGrpcRouteMatch) string { return v.Prefix }).(pulumi.StringOutput) +} + +func (o GetRouteSpecGrpcRouteMatchOutput) ServiceName() pulumi.StringOutput { + return o.ApplyT(func(v GetRouteSpecGrpcRouteMatch) string { return v.ServiceName }).(pulumi.StringOutput) +} + +type GetRouteSpecGrpcRouteMatchArrayOutput struct{ *pulumi.OutputState } + +func (GetRouteSpecGrpcRouteMatchArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetRouteSpecGrpcRouteMatch)(nil)).Elem() +} + +func (o GetRouteSpecGrpcRouteMatchArrayOutput) ToGetRouteSpecGrpcRouteMatchArrayOutput() GetRouteSpecGrpcRouteMatchArrayOutput { + return o +} + +func (o GetRouteSpecGrpcRouteMatchArrayOutput) ToGetRouteSpecGrpcRouteMatchArrayOutputWithContext(ctx context.Context) GetRouteSpecGrpcRouteMatchArrayOutput { + return o +} + +func (o GetRouteSpecGrpcRouteMatchArrayOutput) Index(i pulumi.IntInput) GetRouteSpecGrpcRouteMatchOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetRouteSpecGrpcRouteMatch { + return vs[0].([]GetRouteSpecGrpcRouteMatch)[vs[1].(int)] + }).(GetRouteSpecGrpcRouteMatchOutput) +} + +type GetRouteSpecGrpcRouteMatchMetadata struct { + Invert bool `pulumi:"invert"` + Matches []GetRouteSpecGrpcRouteMatchMetadataMatch `pulumi:"matches"` + // Name of the route. + Name string `pulumi:"name"` +} + +// GetRouteSpecGrpcRouteMatchMetadataInput is an input type that accepts GetRouteSpecGrpcRouteMatchMetadataArgs and GetRouteSpecGrpcRouteMatchMetadataOutput values. +// You can construct a concrete instance of `GetRouteSpecGrpcRouteMatchMetadataInput` via: +// +// GetRouteSpecGrpcRouteMatchMetadataArgs{...} +type GetRouteSpecGrpcRouteMatchMetadataInput interface { + pulumi.Input + + ToGetRouteSpecGrpcRouteMatchMetadataOutput() GetRouteSpecGrpcRouteMatchMetadataOutput + ToGetRouteSpecGrpcRouteMatchMetadataOutputWithContext(context.Context) GetRouteSpecGrpcRouteMatchMetadataOutput +} + +type GetRouteSpecGrpcRouteMatchMetadataArgs struct { + Invert pulumi.BoolInput `pulumi:"invert"` + Matches GetRouteSpecGrpcRouteMatchMetadataMatchArrayInput `pulumi:"matches"` + // Name of the route. + Name pulumi.StringInput `pulumi:"name"` +} + +func (GetRouteSpecGrpcRouteMatchMetadataArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetRouteSpecGrpcRouteMatchMetadata)(nil)).Elem() +} + +func (i GetRouteSpecGrpcRouteMatchMetadataArgs) ToGetRouteSpecGrpcRouteMatchMetadataOutput() GetRouteSpecGrpcRouteMatchMetadataOutput { + return i.ToGetRouteSpecGrpcRouteMatchMetadataOutputWithContext(context.Background()) +} + +func (i GetRouteSpecGrpcRouteMatchMetadataArgs) ToGetRouteSpecGrpcRouteMatchMetadataOutputWithContext(ctx context.Context) GetRouteSpecGrpcRouteMatchMetadataOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetRouteSpecGrpcRouteMatchMetadataOutput) +} + +// GetRouteSpecGrpcRouteMatchMetadataArrayInput is an input type that accepts GetRouteSpecGrpcRouteMatchMetadataArray and GetRouteSpecGrpcRouteMatchMetadataArrayOutput values. +// You can construct a concrete instance of `GetRouteSpecGrpcRouteMatchMetadataArrayInput` via: +// +// GetRouteSpecGrpcRouteMatchMetadataArray{ GetRouteSpecGrpcRouteMatchMetadataArgs{...} } +type GetRouteSpecGrpcRouteMatchMetadataArrayInput interface { + pulumi.Input + + ToGetRouteSpecGrpcRouteMatchMetadataArrayOutput() GetRouteSpecGrpcRouteMatchMetadataArrayOutput + ToGetRouteSpecGrpcRouteMatchMetadataArrayOutputWithContext(context.Context) GetRouteSpecGrpcRouteMatchMetadataArrayOutput +} + +type GetRouteSpecGrpcRouteMatchMetadataArray []GetRouteSpecGrpcRouteMatchMetadataInput + +func (GetRouteSpecGrpcRouteMatchMetadataArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetRouteSpecGrpcRouteMatchMetadata)(nil)).Elem() +} + +func (i GetRouteSpecGrpcRouteMatchMetadataArray) ToGetRouteSpecGrpcRouteMatchMetadataArrayOutput() GetRouteSpecGrpcRouteMatchMetadataArrayOutput { + return i.ToGetRouteSpecGrpcRouteMatchMetadataArrayOutputWithContext(context.Background()) +} + +func (i GetRouteSpecGrpcRouteMatchMetadataArray) ToGetRouteSpecGrpcRouteMatchMetadataArrayOutputWithContext(ctx context.Context) GetRouteSpecGrpcRouteMatchMetadataArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetRouteSpecGrpcRouteMatchMetadataArrayOutput) +} + +type GetRouteSpecGrpcRouteMatchMetadataOutput struct{ *pulumi.OutputState } + +func (GetRouteSpecGrpcRouteMatchMetadataOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetRouteSpecGrpcRouteMatchMetadata)(nil)).Elem() +} + +func (o GetRouteSpecGrpcRouteMatchMetadataOutput) ToGetRouteSpecGrpcRouteMatchMetadataOutput() GetRouteSpecGrpcRouteMatchMetadataOutput { + return o +} + +func (o GetRouteSpecGrpcRouteMatchMetadataOutput) ToGetRouteSpecGrpcRouteMatchMetadataOutputWithContext(ctx context.Context) GetRouteSpecGrpcRouteMatchMetadataOutput { + return o +} + +func (o GetRouteSpecGrpcRouteMatchMetadataOutput) Invert() pulumi.BoolOutput { + return o.ApplyT(func(v GetRouteSpecGrpcRouteMatchMetadata) bool { return v.Invert }).(pulumi.BoolOutput) +} + +func (o GetRouteSpecGrpcRouteMatchMetadataOutput) Matches() GetRouteSpecGrpcRouteMatchMetadataMatchArrayOutput { + return o.ApplyT(func(v GetRouteSpecGrpcRouteMatchMetadata) []GetRouteSpecGrpcRouteMatchMetadataMatch { return v.Matches }).(GetRouteSpecGrpcRouteMatchMetadataMatchArrayOutput) +} + +// Name of the route. +func (o GetRouteSpecGrpcRouteMatchMetadataOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetRouteSpecGrpcRouteMatchMetadata) string { return v.Name }).(pulumi.StringOutput) +} + +type GetRouteSpecGrpcRouteMatchMetadataArrayOutput struct{ *pulumi.OutputState } + +func (GetRouteSpecGrpcRouteMatchMetadataArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetRouteSpecGrpcRouteMatchMetadata)(nil)).Elem() +} + +func (o GetRouteSpecGrpcRouteMatchMetadataArrayOutput) ToGetRouteSpecGrpcRouteMatchMetadataArrayOutput() GetRouteSpecGrpcRouteMatchMetadataArrayOutput { + return o +} + +func (o GetRouteSpecGrpcRouteMatchMetadataArrayOutput) ToGetRouteSpecGrpcRouteMatchMetadataArrayOutputWithContext(ctx context.Context) GetRouteSpecGrpcRouteMatchMetadataArrayOutput { + return o +} + +func (o GetRouteSpecGrpcRouteMatchMetadataArrayOutput) Index(i pulumi.IntInput) GetRouteSpecGrpcRouteMatchMetadataOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetRouteSpecGrpcRouteMatchMetadata { + return vs[0].([]GetRouteSpecGrpcRouteMatchMetadata)[vs[1].(int)] + }).(GetRouteSpecGrpcRouteMatchMetadataOutput) +} + +type GetRouteSpecGrpcRouteMatchMetadataMatch struct { + Exact string `pulumi:"exact"` + Prefix string `pulumi:"prefix"` + Ranges []GetRouteSpecGrpcRouteMatchMetadataMatchRange `pulumi:"ranges"` + Regex string `pulumi:"regex"` + Suffix string `pulumi:"suffix"` +} + +// GetRouteSpecGrpcRouteMatchMetadataMatchInput is an input type that accepts GetRouteSpecGrpcRouteMatchMetadataMatchArgs and GetRouteSpecGrpcRouteMatchMetadataMatchOutput values. +// You can construct a concrete instance of `GetRouteSpecGrpcRouteMatchMetadataMatchInput` via: +// +// GetRouteSpecGrpcRouteMatchMetadataMatchArgs{...} +type GetRouteSpecGrpcRouteMatchMetadataMatchInput interface { + pulumi.Input + + ToGetRouteSpecGrpcRouteMatchMetadataMatchOutput() GetRouteSpecGrpcRouteMatchMetadataMatchOutput + ToGetRouteSpecGrpcRouteMatchMetadataMatchOutputWithContext(context.Context) GetRouteSpecGrpcRouteMatchMetadataMatchOutput +} + +type GetRouteSpecGrpcRouteMatchMetadataMatchArgs struct { + Exact pulumi.StringInput `pulumi:"exact"` + Prefix pulumi.StringInput `pulumi:"prefix"` + Ranges GetRouteSpecGrpcRouteMatchMetadataMatchRangeArrayInput `pulumi:"ranges"` + Regex pulumi.StringInput `pulumi:"regex"` + Suffix pulumi.StringInput `pulumi:"suffix"` +} + +func (GetRouteSpecGrpcRouteMatchMetadataMatchArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetRouteSpecGrpcRouteMatchMetadataMatch)(nil)).Elem() +} + +func (i GetRouteSpecGrpcRouteMatchMetadataMatchArgs) ToGetRouteSpecGrpcRouteMatchMetadataMatchOutput() GetRouteSpecGrpcRouteMatchMetadataMatchOutput { + return i.ToGetRouteSpecGrpcRouteMatchMetadataMatchOutputWithContext(context.Background()) +} + +func (i GetRouteSpecGrpcRouteMatchMetadataMatchArgs) ToGetRouteSpecGrpcRouteMatchMetadataMatchOutputWithContext(ctx context.Context) GetRouteSpecGrpcRouteMatchMetadataMatchOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetRouteSpecGrpcRouteMatchMetadataMatchOutput) +} + +// GetRouteSpecGrpcRouteMatchMetadataMatchArrayInput is an input type that accepts GetRouteSpecGrpcRouteMatchMetadataMatchArray and GetRouteSpecGrpcRouteMatchMetadataMatchArrayOutput values. +// You can construct a concrete instance of `GetRouteSpecGrpcRouteMatchMetadataMatchArrayInput` via: +// +// GetRouteSpecGrpcRouteMatchMetadataMatchArray{ GetRouteSpecGrpcRouteMatchMetadataMatchArgs{...} } +type GetRouteSpecGrpcRouteMatchMetadataMatchArrayInput interface { + pulumi.Input + + ToGetRouteSpecGrpcRouteMatchMetadataMatchArrayOutput() GetRouteSpecGrpcRouteMatchMetadataMatchArrayOutput + ToGetRouteSpecGrpcRouteMatchMetadataMatchArrayOutputWithContext(context.Context) GetRouteSpecGrpcRouteMatchMetadataMatchArrayOutput +} + +type GetRouteSpecGrpcRouteMatchMetadataMatchArray []GetRouteSpecGrpcRouteMatchMetadataMatchInput + +func (GetRouteSpecGrpcRouteMatchMetadataMatchArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetRouteSpecGrpcRouteMatchMetadataMatch)(nil)).Elem() +} + +func (i GetRouteSpecGrpcRouteMatchMetadataMatchArray) ToGetRouteSpecGrpcRouteMatchMetadataMatchArrayOutput() GetRouteSpecGrpcRouteMatchMetadataMatchArrayOutput { + return i.ToGetRouteSpecGrpcRouteMatchMetadataMatchArrayOutputWithContext(context.Background()) +} + +func (i GetRouteSpecGrpcRouteMatchMetadataMatchArray) ToGetRouteSpecGrpcRouteMatchMetadataMatchArrayOutputWithContext(ctx context.Context) GetRouteSpecGrpcRouteMatchMetadataMatchArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetRouteSpecGrpcRouteMatchMetadataMatchArrayOutput) +} + +type GetRouteSpecGrpcRouteMatchMetadataMatchOutput struct{ *pulumi.OutputState } + +func (GetRouteSpecGrpcRouteMatchMetadataMatchOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetRouteSpecGrpcRouteMatchMetadataMatch)(nil)).Elem() +} + +func (o GetRouteSpecGrpcRouteMatchMetadataMatchOutput) ToGetRouteSpecGrpcRouteMatchMetadataMatchOutput() GetRouteSpecGrpcRouteMatchMetadataMatchOutput { + return o +} + +func (o GetRouteSpecGrpcRouteMatchMetadataMatchOutput) ToGetRouteSpecGrpcRouteMatchMetadataMatchOutputWithContext(ctx context.Context) GetRouteSpecGrpcRouteMatchMetadataMatchOutput { + return o +} + +func (o GetRouteSpecGrpcRouteMatchMetadataMatchOutput) Exact() pulumi.StringOutput { + return o.ApplyT(func(v GetRouteSpecGrpcRouteMatchMetadataMatch) string { return v.Exact }).(pulumi.StringOutput) +} + +func (o GetRouteSpecGrpcRouteMatchMetadataMatchOutput) Prefix() pulumi.StringOutput { + return o.ApplyT(func(v GetRouteSpecGrpcRouteMatchMetadataMatch) string { return v.Prefix }).(pulumi.StringOutput) +} + +func (o GetRouteSpecGrpcRouteMatchMetadataMatchOutput) Ranges() GetRouteSpecGrpcRouteMatchMetadataMatchRangeArrayOutput { + return o.ApplyT(func(v GetRouteSpecGrpcRouteMatchMetadataMatch) []GetRouteSpecGrpcRouteMatchMetadataMatchRange { + return v.Ranges + }).(GetRouteSpecGrpcRouteMatchMetadataMatchRangeArrayOutput) +} + +func (o GetRouteSpecGrpcRouteMatchMetadataMatchOutput) Regex() pulumi.StringOutput { + return o.ApplyT(func(v GetRouteSpecGrpcRouteMatchMetadataMatch) string { return v.Regex }).(pulumi.StringOutput) +} + +func (o GetRouteSpecGrpcRouteMatchMetadataMatchOutput) Suffix() pulumi.StringOutput { + return o.ApplyT(func(v GetRouteSpecGrpcRouteMatchMetadataMatch) string { return v.Suffix }).(pulumi.StringOutput) +} + +type GetRouteSpecGrpcRouteMatchMetadataMatchArrayOutput struct{ *pulumi.OutputState } + +func (GetRouteSpecGrpcRouteMatchMetadataMatchArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetRouteSpecGrpcRouteMatchMetadataMatch)(nil)).Elem() +} + +func (o GetRouteSpecGrpcRouteMatchMetadataMatchArrayOutput) ToGetRouteSpecGrpcRouteMatchMetadataMatchArrayOutput() GetRouteSpecGrpcRouteMatchMetadataMatchArrayOutput { + return o +} + +func (o GetRouteSpecGrpcRouteMatchMetadataMatchArrayOutput) ToGetRouteSpecGrpcRouteMatchMetadataMatchArrayOutputWithContext(ctx context.Context) GetRouteSpecGrpcRouteMatchMetadataMatchArrayOutput { + return o +} + +func (o GetRouteSpecGrpcRouteMatchMetadataMatchArrayOutput) Index(i pulumi.IntInput) GetRouteSpecGrpcRouteMatchMetadataMatchOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetRouteSpecGrpcRouteMatchMetadataMatch { + return vs[0].([]GetRouteSpecGrpcRouteMatchMetadataMatch)[vs[1].(int)] + }).(GetRouteSpecGrpcRouteMatchMetadataMatchOutput) +} + +type GetRouteSpecGrpcRouteMatchMetadataMatchRange struct { + End int `pulumi:"end"` + Start int `pulumi:"start"` +} + +// GetRouteSpecGrpcRouteMatchMetadataMatchRangeInput is an input type that accepts GetRouteSpecGrpcRouteMatchMetadataMatchRangeArgs and GetRouteSpecGrpcRouteMatchMetadataMatchRangeOutput values. +// You can construct a concrete instance of `GetRouteSpecGrpcRouteMatchMetadataMatchRangeInput` via: +// +// GetRouteSpecGrpcRouteMatchMetadataMatchRangeArgs{...} +type GetRouteSpecGrpcRouteMatchMetadataMatchRangeInput interface { + pulumi.Input + + ToGetRouteSpecGrpcRouteMatchMetadataMatchRangeOutput() GetRouteSpecGrpcRouteMatchMetadataMatchRangeOutput + ToGetRouteSpecGrpcRouteMatchMetadataMatchRangeOutputWithContext(context.Context) GetRouteSpecGrpcRouteMatchMetadataMatchRangeOutput +} + +type GetRouteSpecGrpcRouteMatchMetadataMatchRangeArgs struct { + End pulumi.IntInput `pulumi:"end"` + Start pulumi.IntInput `pulumi:"start"` +} + +func (GetRouteSpecGrpcRouteMatchMetadataMatchRangeArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetRouteSpecGrpcRouteMatchMetadataMatchRange)(nil)).Elem() +} + +func (i GetRouteSpecGrpcRouteMatchMetadataMatchRangeArgs) ToGetRouteSpecGrpcRouteMatchMetadataMatchRangeOutput() GetRouteSpecGrpcRouteMatchMetadataMatchRangeOutput { + return i.ToGetRouteSpecGrpcRouteMatchMetadataMatchRangeOutputWithContext(context.Background()) +} + +func (i GetRouteSpecGrpcRouteMatchMetadataMatchRangeArgs) ToGetRouteSpecGrpcRouteMatchMetadataMatchRangeOutputWithContext(ctx context.Context) GetRouteSpecGrpcRouteMatchMetadataMatchRangeOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetRouteSpecGrpcRouteMatchMetadataMatchRangeOutput) +} + +// GetRouteSpecGrpcRouteMatchMetadataMatchRangeArrayInput is an input type that accepts GetRouteSpecGrpcRouteMatchMetadataMatchRangeArray and GetRouteSpecGrpcRouteMatchMetadataMatchRangeArrayOutput values. +// You can construct a concrete instance of `GetRouteSpecGrpcRouteMatchMetadataMatchRangeArrayInput` via: +// +// GetRouteSpecGrpcRouteMatchMetadataMatchRangeArray{ GetRouteSpecGrpcRouteMatchMetadataMatchRangeArgs{...} } +type GetRouteSpecGrpcRouteMatchMetadataMatchRangeArrayInput interface { + pulumi.Input + + ToGetRouteSpecGrpcRouteMatchMetadataMatchRangeArrayOutput() GetRouteSpecGrpcRouteMatchMetadataMatchRangeArrayOutput + ToGetRouteSpecGrpcRouteMatchMetadataMatchRangeArrayOutputWithContext(context.Context) GetRouteSpecGrpcRouteMatchMetadataMatchRangeArrayOutput +} + +type GetRouteSpecGrpcRouteMatchMetadataMatchRangeArray []GetRouteSpecGrpcRouteMatchMetadataMatchRangeInput + +func (GetRouteSpecGrpcRouteMatchMetadataMatchRangeArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetRouteSpecGrpcRouteMatchMetadataMatchRange)(nil)).Elem() +} + +func (i GetRouteSpecGrpcRouteMatchMetadataMatchRangeArray) ToGetRouteSpecGrpcRouteMatchMetadataMatchRangeArrayOutput() GetRouteSpecGrpcRouteMatchMetadataMatchRangeArrayOutput { + return i.ToGetRouteSpecGrpcRouteMatchMetadataMatchRangeArrayOutputWithContext(context.Background()) +} + +func (i GetRouteSpecGrpcRouteMatchMetadataMatchRangeArray) ToGetRouteSpecGrpcRouteMatchMetadataMatchRangeArrayOutputWithContext(ctx context.Context) GetRouteSpecGrpcRouteMatchMetadataMatchRangeArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetRouteSpecGrpcRouteMatchMetadataMatchRangeArrayOutput) +} + +type GetRouteSpecGrpcRouteMatchMetadataMatchRangeOutput struct{ *pulumi.OutputState } + +func (GetRouteSpecGrpcRouteMatchMetadataMatchRangeOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetRouteSpecGrpcRouteMatchMetadataMatchRange)(nil)).Elem() +} + +func (o GetRouteSpecGrpcRouteMatchMetadataMatchRangeOutput) ToGetRouteSpecGrpcRouteMatchMetadataMatchRangeOutput() GetRouteSpecGrpcRouteMatchMetadataMatchRangeOutput { + return o +} + +func (o GetRouteSpecGrpcRouteMatchMetadataMatchRangeOutput) ToGetRouteSpecGrpcRouteMatchMetadataMatchRangeOutputWithContext(ctx context.Context) GetRouteSpecGrpcRouteMatchMetadataMatchRangeOutput { + return o +} + +func (o GetRouteSpecGrpcRouteMatchMetadataMatchRangeOutput) End() pulumi.IntOutput { + return o.ApplyT(func(v GetRouteSpecGrpcRouteMatchMetadataMatchRange) int { return v.End }).(pulumi.IntOutput) +} + +func (o GetRouteSpecGrpcRouteMatchMetadataMatchRangeOutput) Start() pulumi.IntOutput { + return o.ApplyT(func(v GetRouteSpecGrpcRouteMatchMetadataMatchRange) int { return v.Start }).(pulumi.IntOutput) +} + +type GetRouteSpecGrpcRouteMatchMetadataMatchRangeArrayOutput struct{ *pulumi.OutputState } + +func (GetRouteSpecGrpcRouteMatchMetadataMatchRangeArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetRouteSpecGrpcRouteMatchMetadataMatchRange)(nil)).Elem() +} + +func (o GetRouteSpecGrpcRouteMatchMetadataMatchRangeArrayOutput) ToGetRouteSpecGrpcRouteMatchMetadataMatchRangeArrayOutput() GetRouteSpecGrpcRouteMatchMetadataMatchRangeArrayOutput { + return o +} + +func (o GetRouteSpecGrpcRouteMatchMetadataMatchRangeArrayOutput) ToGetRouteSpecGrpcRouteMatchMetadataMatchRangeArrayOutputWithContext(ctx context.Context) GetRouteSpecGrpcRouteMatchMetadataMatchRangeArrayOutput { + return o +} + +func (o GetRouteSpecGrpcRouteMatchMetadataMatchRangeArrayOutput) Index(i pulumi.IntInput) GetRouteSpecGrpcRouteMatchMetadataMatchRangeOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetRouteSpecGrpcRouteMatchMetadataMatchRange { + return vs[0].([]GetRouteSpecGrpcRouteMatchMetadataMatchRange)[vs[1].(int)] + }).(GetRouteSpecGrpcRouteMatchMetadataMatchRangeOutput) +} + +type GetRouteSpecGrpcRouteRetryPolicy struct { + GrpcRetryEvents []string `pulumi:"grpcRetryEvents"` + HttpRetryEvents []string `pulumi:"httpRetryEvents"` + MaxRetries int `pulumi:"maxRetries"` + PerRetryTimeouts []GetRouteSpecGrpcRouteRetryPolicyPerRetryTimeout `pulumi:"perRetryTimeouts"` + TcpRetryEvents []string `pulumi:"tcpRetryEvents"` +} + +// GetRouteSpecGrpcRouteRetryPolicyInput is an input type that accepts GetRouteSpecGrpcRouteRetryPolicyArgs and GetRouteSpecGrpcRouteRetryPolicyOutput values. +// You can construct a concrete instance of `GetRouteSpecGrpcRouteRetryPolicyInput` via: +// +// GetRouteSpecGrpcRouteRetryPolicyArgs{...} +type GetRouteSpecGrpcRouteRetryPolicyInput interface { + pulumi.Input + + ToGetRouteSpecGrpcRouteRetryPolicyOutput() GetRouteSpecGrpcRouteRetryPolicyOutput + ToGetRouteSpecGrpcRouteRetryPolicyOutputWithContext(context.Context) GetRouteSpecGrpcRouteRetryPolicyOutput +} + +type GetRouteSpecGrpcRouteRetryPolicyArgs struct { + GrpcRetryEvents pulumi.StringArrayInput `pulumi:"grpcRetryEvents"` + HttpRetryEvents pulumi.StringArrayInput `pulumi:"httpRetryEvents"` + MaxRetries pulumi.IntInput `pulumi:"maxRetries"` + PerRetryTimeouts GetRouteSpecGrpcRouteRetryPolicyPerRetryTimeoutArrayInput `pulumi:"perRetryTimeouts"` + TcpRetryEvents pulumi.StringArrayInput `pulumi:"tcpRetryEvents"` +} + +func (GetRouteSpecGrpcRouteRetryPolicyArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetRouteSpecGrpcRouteRetryPolicy)(nil)).Elem() +} + +func (i GetRouteSpecGrpcRouteRetryPolicyArgs) ToGetRouteSpecGrpcRouteRetryPolicyOutput() GetRouteSpecGrpcRouteRetryPolicyOutput { + return i.ToGetRouteSpecGrpcRouteRetryPolicyOutputWithContext(context.Background()) +} + +func (i GetRouteSpecGrpcRouteRetryPolicyArgs) ToGetRouteSpecGrpcRouteRetryPolicyOutputWithContext(ctx context.Context) GetRouteSpecGrpcRouteRetryPolicyOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetRouteSpecGrpcRouteRetryPolicyOutput) +} + +// GetRouteSpecGrpcRouteRetryPolicyArrayInput is an input type that accepts GetRouteSpecGrpcRouteRetryPolicyArray and GetRouteSpecGrpcRouteRetryPolicyArrayOutput values. +// You can construct a concrete instance of `GetRouteSpecGrpcRouteRetryPolicyArrayInput` via: +// +// GetRouteSpecGrpcRouteRetryPolicyArray{ GetRouteSpecGrpcRouteRetryPolicyArgs{...} } +type GetRouteSpecGrpcRouteRetryPolicyArrayInput interface { + pulumi.Input + + ToGetRouteSpecGrpcRouteRetryPolicyArrayOutput() GetRouteSpecGrpcRouteRetryPolicyArrayOutput + ToGetRouteSpecGrpcRouteRetryPolicyArrayOutputWithContext(context.Context) GetRouteSpecGrpcRouteRetryPolicyArrayOutput +} + +type GetRouteSpecGrpcRouteRetryPolicyArray []GetRouteSpecGrpcRouteRetryPolicyInput + +func (GetRouteSpecGrpcRouteRetryPolicyArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetRouteSpecGrpcRouteRetryPolicy)(nil)).Elem() +} + +func (i GetRouteSpecGrpcRouteRetryPolicyArray) ToGetRouteSpecGrpcRouteRetryPolicyArrayOutput() GetRouteSpecGrpcRouteRetryPolicyArrayOutput { + return i.ToGetRouteSpecGrpcRouteRetryPolicyArrayOutputWithContext(context.Background()) +} + +func (i GetRouteSpecGrpcRouteRetryPolicyArray) ToGetRouteSpecGrpcRouteRetryPolicyArrayOutputWithContext(ctx context.Context) GetRouteSpecGrpcRouteRetryPolicyArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetRouteSpecGrpcRouteRetryPolicyArrayOutput) +} + +type GetRouteSpecGrpcRouteRetryPolicyOutput struct{ *pulumi.OutputState } + +func (GetRouteSpecGrpcRouteRetryPolicyOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetRouteSpecGrpcRouteRetryPolicy)(nil)).Elem() +} + +func (o GetRouteSpecGrpcRouteRetryPolicyOutput) ToGetRouteSpecGrpcRouteRetryPolicyOutput() GetRouteSpecGrpcRouteRetryPolicyOutput { + return o +} + +func (o GetRouteSpecGrpcRouteRetryPolicyOutput) ToGetRouteSpecGrpcRouteRetryPolicyOutputWithContext(ctx context.Context) GetRouteSpecGrpcRouteRetryPolicyOutput { + return o +} + +func (o GetRouteSpecGrpcRouteRetryPolicyOutput) GrpcRetryEvents() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetRouteSpecGrpcRouteRetryPolicy) []string { return v.GrpcRetryEvents }).(pulumi.StringArrayOutput) +} + +func (o GetRouteSpecGrpcRouteRetryPolicyOutput) HttpRetryEvents() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetRouteSpecGrpcRouteRetryPolicy) []string { return v.HttpRetryEvents }).(pulumi.StringArrayOutput) +} + +func (o GetRouteSpecGrpcRouteRetryPolicyOutput) MaxRetries() pulumi.IntOutput { + return o.ApplyT(func(v GetRouteSpecGrpcRouteRetryPolicy) int { return v.MaxRetries }).(pulumi.IntOutput) +} + +func (o GetRouteSpecGrpcRouteRetryPolicyOutput) PerRetryTimeouts() GetRouteSpecGrpcRouteRetryPolicyPerRetryTimeoutArrayOutput { + return o.ApplyT(func(v GetRouteSpecGrpcRouteRetryPolicy) []GetRouteSpecGrpcRouteRetryPolicyPerRetryTimeout { + return v.PerRetryTimeouts + }).(GetRouteSpecGrpcRouteRetryPolicyPerRetryTimeoutArrayOutput) +} + +func (o GetRouteSpecGrpcRouteRetryPolicyOutput) TcpRetryEvents() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetRouteSpecGrpcRouteRetryPolicy) []string { return v.TcpRetryEvents }).(pulumi.StringArrayOutput) +} + +type GetRouteSpecGrpcRouteRetryPolicyArrayOutput struct{ *pulumi.OutputState } + +func (GetRouteSpecGrpcRouteRetryPolicyArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetRouteSpecGrpcRouteRetryPolicy)(nil)).Elem() +} + +func (o GetRouteSpecGrpcRouteRetryPolicyArrayOutput) ToGetRouteSpecGrpcRouteRetryPolicyArrayOutput() GetRouteSpecGrpcRouteRetryPolicyArrayOutput { + return o +} + +func (o GetRouteSpecGrpcRouteRetryPolicyArrayOutput) ToGetRouteSpecGrpcRouteRetryPolicyArrayOutputWithContext(ctx context.Context) GetRouteSpecGrpcRouteRetryPolicyArrayOutput { + return o +} + +func (o GetRouteSpecGrpcRouteRetryPolicyArrayOutput) Index(i pulumi.IntInput) GetRouteSpecGrpcRouteRetryPolicyOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetRouteSpecGrpcRouteRetryPolicy { + return vs[0].([]GetRouteSpecGrpcRouteRetryPolicy)[vs[1].(int)] + }).(GetRouteSpecGrpcRouteRetryPolicyOutput) +} + +type GetRouteSpecGrpcRouteRetryPolicyPerRetryTimeout struct { + Unit string `pulumi:"unit"` + Value int `pulumi:"value"` +} + +// GetRouteSpecGrpcRouteRetryPolicyPerRetryTimeoutInput is an input type that accepts GetRouteSpecGrpcRouteRetryPolicyPerRetryTimeoutArgs and GetRouteSpecGrpcRouteRetryPolicyPerRetryTimeoutOutput values. +// You can construct a concrete instance of `GetRouteSpecGrpcRouteRetryPolicyPerRetryTimeoutInput` via: +// +// GetRouteSpecGrpcRouteRetryPolicyPerRetryTimeoutArgs{...} +type GetRouteSpecGrpcRouteRetryPolicyPerRetryTimeoutInput interface { + pulumi.Input + + ToGetRouteSpecGrpcRouteRetryPolicyPerRetryTimeoutOutput() GetRouteSpecGrpcRouteRetryPolicyPerRetryTimeoutOutput + ToGetRouteSpecGrpcRouteRetryPolicyPerRetryTimeoutOutputWithContext(context.Context) GetRouteSpecGrpcRouteRetryPolicyPerRetryTimeoutOutput +} + +type GetRouteSpecGrpcRouteRetryPolicyPerRetryTimeoutArgs struct { + Unit pulumi.StringInput `pulumi:"unit"` + Value pulumi.IntInput `pulumi:"value"` +} + +func (GetRouteSpecGrpcRouteRetryPolicyPerRetryTimeoutArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetRouteSpecGrpcRouteRetryPolicyPerRetryTimeout)(nil)).Elem() +} + +func (i GetRouteSpecGrpcRouteRetryPolicyPerRetryTimeoutArgs) ToGetRouteSpecGrpcRouteRetryPolicyPerRetryTimeoutOutput() GetRouteSpecGrpcRouteRetryPolicyPerRetryTimeoutOutput { + return i.ToGetRouteSpecGrpcRouteRetryPolicyPerRetryTimeoutOutputWithContext(context.Background()) +} + +func (i GetRouteSpecGrpcRouteRetryPolicyPerRetryTimeoutArgs) ToGetRouteSpecGrpcRouteRetryPolicyPerRetryTimeoutOutputWithContext(ctx context.Context) GetRouteSpecGrpcRouteRetryPolicyPerRetryTimeoutOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetRouteSpecGrpcRouteRetryPolicyPerRetryTimeoutOutput) +} + +// GetRouteSpecGrpcRouteRetryPolicyPerRetryTimeoutArrayInput is an input type that accepts GetRouteSpecGrpcRouteRetryPolicyPerRetryTimeoutArray and GetRouteSpecGrpcRouteRetryPolicyPerRetryTimeoutArrayOutput values. +// You can construct a concrete instance of `GetRouteSpecGrpcRouteRetryPolicyPerRetryTimeoutArrayInput` via: +// +// GetRouteSpecGrpcRouteRetryPolicyPerRetryTimeoutArray{ GetRouteSpecGrpcRouteRetryPolicyPerRetryTimeoutArgs{...} } +type GetRouteSpecGrpcRouteRetryPolicyPerRetryTimeoutArrayInput interface { + pulumi.Input + + ToGetRouteSpecGrpcRouteRetryPolicyPerRetryTimeoutArrayOutput() GetRouteSpecGrpcRouteRetryPolicyPerRetryTimeoutArrayOutput + ToGetRouteSpecGrpcRouteRetryPolicyPerRetryTimeoutArrayOutputWithContext(context.Context) GetRouteSpecGrpcRouteRetryPolicyPerRetryTimeoutArrayOutput +} + +type GetRouteSpecGrpcRouteRetryPolicyPerRetryTimeoutArray []GetRouteSpecGrpcRouteRetryPolicyPerRetryTimeoutInput + +func (GetRouteSpecGrpcRouteRetryPolicyPerRetryTimeoutArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetRouteSpecGrpcRouteRetryPolicyPerRetryTimeout)(nil)).Elem() +} + +func (i GetRouteSpecGrpcRouteRetryPolicyPerRetryTimeoutArray) ToGetRouteSpecGrpcRouteRetryPolicyPerRetryTimeoutArrayOutput() GetRouteSpecGrpcRouteRetryPolicyPerRetryTimeoutArrayOutput { + return i.ToGetRouteSpecGrpcRouteRetryPolicyPerRetryTimeoutArrayOutputWithContext(context.Background()) +} + +func (i GetRouteSpecGrpcRouteRetryPolicyPerRetryTimeoutArray) ToGetRouteSpecGrpcRouteRetryPolicyPerRetryTimeoutArrayOutputWithContext(ctx context.Context) GetRouteSpecGrpcRouteRetryPolicyPerRetryTimeoutArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetRouteSpecGrpcRouteRetryPolicyPerRetryTimeoutArrayOutput) +} + +type GetRouteSpecGrpcRouteRetryPolicyPerRetryTimeoutOutput struct{ *pulumi.OutputState } + +func (GetRouteSpecGrpcRouteRetryPolicyPerRetryTimeoutOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetRouteSpecGrpcRouteRetryPolicyPerRetryTimeout)(nil)).Elem() +} + +func (o GetRouteSpecGrpcRouteRetryPolicyPerRetryTimeoutOutput) ToGetRouteSpecGrpcRouteRetryPolicyPerRetryTimeoutOutput() GetRouteSpecGrpcRouteRetryPolicyPerRetryTimeoutOutput { + return o +} + +func (o GetRouteSpecGrpcRouteRetryPolicyPerRetryTimeoutOutput) ToGetRouteSpecGrpcRouteRetryPolicyPerRetryTimeoutOutputWithContext(ctx context.Context) GetRouteSpecGrpcRouteRetryPolicyPerRetryTimeoutOutput { + return o +} + +func (o GetRouteSpecGrpcRouteRetryPolicyPerRetryTimeoutOutput) Unit() pulumi.StringOutput { + return o.ApplyT(func(v GetRouteSpecGrpcRouteRetryPolicyPerRetryTimeout) string { return v.Unit }).(pulumi.StringOutput) +} + +func (o GetRouteSpecGrpcRouteRetryPolicyPerRetryTimeoutOutput) Value() pulumi.IntOutput { + return o.ApplyT(func(v GetRouteSpecGrpcRouteRetryPolicyPerRetryTimeout) int { return v.Value }).(pulumi.IntOutput) +} + +type GetRouteSpecGrpcRouteRetryPolicyPerRetryTimeoutArrayOutput struct{ *pulumi.OutputState } + +func (GetRouteSpecGrpcRouteRetryPolicyPerRetryTimeoutArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetRouteSpecGrpcRouteRetryPolicyPerRetryTimeout)(nil)).Elem() +} + +func (o GetRouteSpecGrpcRouteRetryPolicyPerRetryTimeoutArrayOutput) ToGetRouteSpecGrpcRouteRetryPolicyPerRetryTimeoutArrayOutput() GetRouteSpecGrpcRouteRetryPolicyPerRetryTimeoutArrayOutput { + return o +} + +func (o GetRouteSpecGrpcRouteRetryPolicyPerRetryTimeoutArrayOutput) ToGetRouteSpecGrpcRouteRetryPolicyPerRetryTimeoutArrayOutputWithContext(ctx context.Context) GetRouteSpecGrpcRouteRetryPolicyPerRetryTimeoutArrayOutput { + return o +} + +func (o GetRouteSpecGrpcRouteRetryPolicyPerRetryTimeoutArrayOutput) Index(i pulumi.IntInput) GetRouteSpecGrpcRouteRetryPolicyPerRetryTimeoutOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetRouteSpecGrpcRouteRetryPolicyPerRetryTimeout { + return vs[0].([]GetRouteSpecGrpcRouteRetryPolicyPerRetryTimeout)[vs[1].(int)] + }).(GetRouteSpecGrpcRouteRetryPolicyPerRetryTimeoutOutput) +} + +type GetRouteSpecGrpcRouteTimeout struct { + Idles []GetRouteSpecGrpcRouteTimeoutIdle `pulumi:"idles"` + PerRequests []GetRouteSpecGrpcRouteTimeoutPerRequest `pulumi:"perRequests"` +} + +// GetRouteSpecGrpcRouteTimeoutInput is an input type that accepts GetRouteSpecGrpcRouteTimeoutArgs and GetRouteSpecGrpcRouteTimeoutOutput values. +// You can construct a concrete instance of `GetRouteSpecGrpcRouteTimeoutInput` via: +// +// GetRouteSpecGrpcRouteTimeoutArgs{...} +type GetRouteSpecGrpcRouteTimeoutInput interface { + pulumi.Input + + ToGetRouteSpecGrpcRouteTimeoutOutput() GetRouteSpecGrpcRouteTimeoutOutput + ToGetRouteSpecGrpcRouteTimeoutOutputWithContext(context.Context) GetRouteSpecGrpcRouteTimeoutOutput +} + +type GetRouteSpecGrpcRouteTimeoutArgs struct { + Idles GetRouteSpecGrpcRouteTimeoutIdleArrayInput `pulumi:"idles"` + PerRequests GetRouteSpecGrpcRouteTimeoutPerRequestArrayInput `pulumi:"perRequests"` +} + +func (GetRouteSpecGrpcRouteTimeoutArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetRouteSpecGrpcRouteTimeout)(nil)).Elem() +} + +func (i GetRouteSpecGrpcRouteTimeoutArgs) ToGetRouteSpecGrpcRouteTimeoutOutput() GetRouteSpecGrpcRouteTimeoutOutput { + return i.ToGetRouteSpecGrpcRouteTimeoutOutputWithContext(context.Background()) +} + +func (i GetRouteSpecGrpcRouteTimeoutArgs) ToGetRouteSpecGrpcRouteTimeoutOutputWithContext(ctx context.Context) GetRouteSpecGrpcRouteTimeoutOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetRouteSpecGrpcRouteTimeoutOutput) +} + +// GetRouteSpecGrpcRouteTimeoutArrayInput is an input type that accepts GetRouteSpecGrpcRouteTimeoutArray and GetRouteSpecGrpcRouteTimeoutArrayOutput values. +// You can construct a concrete instance of `GetRouteSpecGrpcRouteTimeoutArrayInput` via: +// +// GetRouteSpecGrpcRouteTimeoutArray{ GetRouteSpecGrpcRouteTimeoutArgs{...} } +type GetRouteSpecGrpcRouteTimeoutArrayInput interface { + pulumi.Input + + ToGetRouteSpecGrpcRouteTimeoutArrayOutput() GetRouteSpecGrpcRouteTimeoutArrayOutput + ToGetRouteSpecGrpcRouteTimeoutArrayOutputWithContext(context.Context) GetRouteSpecGrpcRouteTimeoutArrayOutput +} + +type GetRouteSpecGrpcRouteTimeoutArray []GetRouteSpecGrpcRouteTimeoutInput + +func (GetRouteSpecGrpcRouteTimeoutArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetRouteSpecGrpcRouteTimeout)(nil)).Elem() +} + +func (i GetRouteSpecGrpcRouteTimeoutArray) ToGetRouteSpecGrpcRouteTimeoutArrayOutput() GetRouteSpecGrpcRouteTimeoutArrayOutput { + return i.ToGetRouteSpecGrpcRouteTimeoutArrayOutputWithContext(context.Background()) +} + +func (i GetRouteSpecGrpcRouteTimeoutArray) ToGetRouteSpecGrpcRouteTimeoutArrayOutputWithContext(ctx context.Context) GetRouteSpecGrpcRouteTimeoutArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetRouteSpecGrpcRouteTimeoutArrayOutput) +} + +type GetRouteSpecGrpcRouteTimeoutOutput struct{ *pulumi.OutputState } + +func (GetRouteSpecGrpcRouteTimeoutOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetRouteSpecGrpcRouteTimeout)(nil)).Elem() +} + +func (o GetRouteSpecGrpcRouteTimeoutOutput) ToGetRouteSpecGrpcRouteTimeoutOutput() GetRouteSpecGrpcRouteTimeoutOutput { + return o +} + +func (o GetRouteSpecGrpcRouteTimeoutOutput) ToGetRouteSpecGrpcRouteTimeoutOutputWithContext(ctx context.Context) GetRouteSpecGrpcRouteTimeoutOutput { + return o +} + +func (o GetRouteSpecGrpcRouteTimeoutOutput) Idles() GetRouteSpecGrpcRouteTimeoutIdleArrayOutput { + return o.ApplyT(func(v GetRouteSpecGrpcRouteTimeout) []GetRouteSpecGrpcRouteTimeoutIdle { return v.Idles }).(GetRouteSpecGrpcRouteTimeoutIdleArrayOutput) +} + +func (o GetRouteSpecGrpcRouteTimeoutOutput) PerRequests() GetRouteSpecGrpcRouteTimeoutPerRequestArrayOutput { + return o.ApplyT(func(v GetRouteSpecGrpcRouteTimeout) []GetRouteSpecGrpcRouteTimeoutPerRequest { return v.PerRequests }).(GetRouteSpecGrpcRouteTimeoutPerRequestArrayOutput) +} + +type GetRouteSpecGrpcRouteTimeoutArrayOutput struct{ *pulumi.OutputState } + +func (GetRouteSpecGrpcRouteTimeoutArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetRouteSpecGrpcRouteTimeout)(nil)).Elem() +} + +func (o GetRouteSpecGrpcRouteTimeoutArrayOutput) ToGetRouteSpecGrpcRouteTimeoutArrayOutput() GetRouteSpecGrpcRouteTimeoutArrayOutput { + return o +} + +func (o GetRouteSpecGrpcRouteTimeoutArrayOutput) ToGetRouteSpecGrpcRouteTimeoutArrayOutputWithContext(ctx context.Context) GetRouteSpecGrpcRouteTimeoutArrayOutput { + return o +} + +func (o GetRouteSpecGrpcRouteTimeoutArrayOutput) Index(i pulumi.IntInput) GetRouteSpecGrpcRouteTimeoutOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetRouteSpecGrpcRouteTimeout { + return vs[0].([]GetRouteSpecGrpcRouteTimeout)[vs[1].(int)] + }).(GetRouteSpecGrpcRouteTimeoutOutput) +} + +type GetRouteSpecGrpcRouteTimeoutIdle struct { + Unit string `pulumi:"unit"` + Value int `pulumi:"value"` +} + +// GetRouteSpecGrpcRouteTimeoutIdleInput is an input type that accepts GetRouteSpecGrpcRouteTimeoutIdleArgs and GetRouteSpecGrpcRouteTimeoutIdleOutput values. +// You can construct a concrete instance of `GetRouteSpecGrpcRouteTimeoutIdleInput` via: +// +// GetRouteSpecGrpcRouteTimeoutIdleArgs{...} +type GetRouteSpecGrpcRouteTimeoutIdleInput interface { + pulumi.Input + + ToGetRouteSpecGrpcRouteTimeoutIdleOutput() GetRouteSpecGrpcRouteTimeoutIdleOutput + ToGetRouteSpecGrpcRouteTimeoutIdleOutputWithContext(context.Context) GetRouteSpecGrpcRouteTimeoutIdleOutput +} + +type GetRouteSpecGrpcRouteTimeoutIdleArgs struct { + Unit pulumi.StringInput `pulumi:"unit"` + Value pulumi.IntInput `pulumi:"value"` +} + +func (GetRouteSpecGrpcRouteTimeoutIdleArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetRouteSpecGrpcRouteTimeoutIdle)(nil)).Elem() +} + +func (i GetRouteSpecGrpcRouteTimeoutIdleArgs) ToGetRouteSpecGrpcRouteTimeoutIdleOutput() GetRouteSpecGrpcRouteTimeoutIdleOutput { + return i.ToGetRouteSpecGrpcRouteTimeoutIdleOutputWithContext(context.Background()) +} + +func (i GetRouteSpecGrpcRouteTimeoutIdleArgs) ToGetRouteSpecGrpcRouteTimeoutIdleOutputWithContext(ctx context.Context) GetRouteSpecGrpcRouteTimeoutIdleOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetRouteSpecGrpcRouteTimeoutIdleOutput) +} + +// GetRouteSpecGrpcRouteTimeoutIdleArrayInput is an input type that accepts GetRouteSpecGrpcRouteTimeoutIdleArray and GetRouteSpecGrpcRouteTimeoutIdleArrayOutput values. +// You can construct a concrete instance of `GetRouteSpecGrpcRouteTimeoutIdleArrayInput` via: +// +// GetRouteSpecGrpcRouteTimeoutIdleArray{ GetRouteSpecGrpcRouteTimeoutIdleArgs{...} } +type GetRouteSpecGrpcRouteTimeoutIdleArrayInput interface { + pulumi.Input + + ToGetRouteSpecGrpcRouteTimeoutIdleArrayOutput() GetRouteSpecGrpcRouteTimeoutIdleArrayOutput + ToGetRouteSpecGrpcRouteTimeoutIdleArrayOutputWithContext(context.Context) GetRouteSpecGrpcRouteTimeoutIdleArrayOutput +} + +type GetRouteSpecGrpcRouteTimeoutIdleArray []GetRouteSpecGrpcRouteTimeoutIdleInput + +func (GetRouteSpecGrpcRouteTimeoutIdleArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetRouteSpecGrpcRouteTimeoutIdle)(nil)).Elem() +} + +func (i GetRouteSpecGrpcRouteTimeoutIdleArray) ToGetRouteSpecGrpcRouteTimeoutIdleArrayOutput() GetRouteSpecGrpcRouteTimeoutIdleArrayOutput { + return i.ToGetRouteSpecGrpcRouteTimeoutIdleArrayOutputWithContext(context.Background()) +} + +func (i GetRouteSpecGrpcRouteTimeoutIdleArray) ToGetRouteSpecGrpcRouteTimeoutIdleArrayOutputWithContext(ctx context.Context) GetRouteSpecGrpcRouteTimeoutIdleArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetRouteSpecGrpcRouteTimeoutIdleArrayOutput) +} + +type GetRouteSpecGrpcRouteTimeoutIdleOutput struct{ *pulumi.OutputState } + +func (GetRouteSpecGrpcRouteTimeoutIdleOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetRouteSpecGrpcRouteTimeoutIdle)(nil)).Elem() +} + +func (o GetRouteSpecGrpcRouteTimeoutIdleOutput) ToGetRouteSpecGrpcRouteTimeoutIdleOutput() GetRouteSpecGrpcRouteTimeoutIdleOutput { + return o +} + +func (o GetRouteSpecGrpcRouteTimeoutIdleOutput) ToGetRouteSpecGrpcRouteTimeoutIdleOutputWithContext(ctx context.Context) GetRouteSpecGrpcRouteTimeoutIdleOutput { + return o +} + +func (o GetRouteSpecGrpcRouteTimeoutIdleOutput) Unit() pulumi.StringOutput { + return o.ApplyT(func(v GetRouteSpecGrpcRouteTimeoutIdle) string { return v.Unit }).(pulumi.StringOutput) +} + +func (o GetRouteSpecGrpcRouteTimeoutIdleOutput) Value() pulumi.IntOutput { + return o.ApplyT(func(v GetRouteSpecGrpcRouteTimeoutIdle) int { return v.Value }).(pulumi.IntOutput) +} + +type GetRouteSpecGrpcRouteTimeoutIdleArrayOutput struct{ *pulumi.OutputState } + +func (GetRouteSpecGrpcRouteTimeoutIdleArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetRouteSpecGrpcRouteTimeoutIdle)(nil)).Elem() +} + +func (o GetRouteSpecGrpcRouteTimeoutIdleArrayOutput) ToGetRouteSpecGrpcRouteTimeoutIdleArrayOutput() GetRouteSpecGrpcRouteTimeoutIdleArrayOutput { + return o +} + +func (o GetRouteSpecGrpcRouteTimeoutIdleArrayOutput) ToGetRouteSpecGrpcRouteTimeoutIdleArrayOutputWithContext(ctx context.Context) GetRouteSpecGrpcRouteTimeoutIdleArrayOutput { + return o +} + +func (o GetRouteSpecGrpcRouteTimeoutIdleArrayOutput) Index(i pulumi.IntInput) GetRouteSpecGrpcRouteTimeoutIdleOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetRouteSpecGrpcRouteTimeoutIdle { + return vs[0].([]GetRouteSpecGrpcRouteTimeoutIdle)[vs[1].(int)] + }).(GetRouteSpecGrpcRouteTimeoutIdleOutput) +} + +type GetRouteSpecGrpcRouteTimeoutPerRequest struct { + Unit string `pulumi:"unit"` + Value int `pulumi:"value"` +} + +// GetRouteSpecGrpcRouteTimeoutPerRequestInput is an input type that accepts GetRouteSpecGrpcRouteTimeoutPerRequestArgs and GetRouteSpecGrpcRouteTimeoutPerRequestOutput values. +// You can construct a concrete instance of `GetRouteSpecGrpcRouteTimeoutPerRequestInput` via: +// +// GetRouteSpecGrpcRouteTimeoutPerRequestArgs{...} +type GetRouteSpecGrpcRouteTimeoutPerRequestInput interface { + pulumi.Input + + ToGetRouteSpecGrpcRouteTimeoutPerRequestOutput() GetRouteSpecGrpcRouteTimeoutPerRequestOutput + ToGetRouteSpecGrpcRouteTimeoutPerRequestOutputWithContext(context.Context) GetRouteSpecGrpcRouteTimeoutPerRequestOutput +} + +type GetRouteSpecGrpcRouteTimeoutPerRequestArgs struct { + Unit pulumi.StringInput `pulumi:"unit"` + Value pulumi.IntInput `pulumi:"value"` +} + +func (GetRouteSpecGrpcRouteTimeoutPerRequestArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetRouteSpecGrpcRouteTimeoutPerRequest)(nil)).Elem() +} + +func (i GetRouteSpecGrpcRouteTimeoutPerRequestArgs) ToGetRouteSpecGrpcRouteTimeoutPerRequestOutput() GetRouteSpecGrpcRouteTimeoutPerRequestOutput { + return i.ToGetRouteSpecGrpcRouteTimeoutPerRequestOutputWithContext(context.Background()) +} + +func (i GetRouteSpecGrpcRouteTimeoutPerRequestArgs) ToGetRouteSpecGrpcRouteTimeoutPerRequestOutputWithContext(ctx context.Context) GetRouteSpecGrpcRouteTimeoutPerRequestOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetRouteSpecGrpcRouteTimeoutPerRequestOutput) +} + +// GetRouteSpecGrpcRouteTimeoutPerRequestArrayInput is an input type that accepts GetRouteSpecGrpcRouteTimeoutPerRequestArray and GetRouteSpecGrpcRouteTimeoutPerRequestArrayOutput values. +// You can construct a concrete instance of `GetRouteSpecGrpcRouteTimeoutPerRequestArrayInput` via: +// +// GetRouteSpecGrpcRouteTimeoutPerRequestArray{ GetRouteSpecGrpcRouteTimeoutPerRequestArgs{...} } +type GetRouteSpecGrpcRouteTimeoutPerRequestArrayInput interface { + pulumi.Input + + ToGetRouteSpecGrpcRouteTimeoutPerRequestArrayOutput() GetRouteSpecGrpcRouteTimeoutPerRequestArrayOutput + ToGetRouteSpecGrpcRouteTimeoutPerRequestArrayOutputWithContext(context.Context) GetRouteSpecGrpcRouteTimeoutPerRequestArrayOutput +} + +type GetRouteSpecGrpcRouteTimeoutPerRequestArray []GetRouteSpecGrpcRouteTimeoutPerRequestInput + +func (GetRouteSpecGrpcRouteTimeoutPerRequestArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetRouteSpecGrpcRouteTimeoutPerRequest)(nil)).Elem() +} + +func (i GetRouteSpecGrpcRouteTimeoutPerRequestArray) ToGetRouteSpecGrpcRouteTimeoutPerRequestArrayOutput() GetRouteSpecGrpcRouteTimeoutPerRequestArrayOutput { + return i.ToGetRouteSpecGrpcRouteTimeoutPerRequestArrayOutputWithContext(context.Background()) +} + +func (i GetRouteSpecGrpcRouteTimeoutPerRequestArray) ToGetRouteSpecGrpcRouteTimeoutPerRequestArrayOutputWithContext(ctx context.Context) GetRouteSpecGrpcRouteTimeoutPerRequestArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetRouteSpecGrpcRouteTimeoutPerRequestArrayOutput) +} + +type GetRouteSpecGrpcRouteTimeoutPerRequestOutput struct{ *pulumi.OutputState } + +func (GetRouteSpecGrpcRouteTimeoutPerRequestOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetRouteSpecGrpcRouteTimeoutPerRequest)(nil)).Elem() +} + +func (o GetRouteSpecGrpcRouteTimeoutPerRequestOutput) ToGetRouteSpecGrpcRouteTimeoutPerRequestOutput() GetRouteSpecGrpcRouteTimeoutPerRequestOutput { + return o +} + +func (o GetRouteSpecGrpcRouteTimeoutPerRequestOutput) ToGetRouteSpecGrpcRouteTimeoutPerRequestOutputWithContext(ctx context.Context) GetRouteSpecGrpcRouteTimeoutPerRequestOutput { + return o +} + +func (o GetRouteSpecGrpcRouteTimeoutPerRequestOutput) Unit() pulumi.StringOutput { + return o.ApplyT(func(v GetRouteSpecGrpcRouteTimeoutPerRequest) string { return v.Unit }).(pulumi.StringOutput) +} + +func (o GetRouteSpecGrpcRouteTimeoutPerRequestOutput) Value() pulumi.IntOutput { + return o.ApplyT(func(v GetRouteSpecGrpcRouteTimeoutPerRequest) int { return v.Value }).(pulumi.IntOutput) +} + +type GetRouteSpecGrpcRouteTimeoutPerRequestArrayOutput struct{ *pulumi.OutputState } + +func (GetRouteSpecGrpcRouteTimeoutPerRequestArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetRouteSpecGrpcRouteTimeoutPerRequest)(nil)).Elem() +} + +func (o GetRouteSpecGrpcRouteTimeoutPerRequestArrayOutput) ToGetRouteSpecGrpcRouteTimeoutPerRequestArrayOutput() GetRouteSpecGrpcRouteTimeoutPerRequestArrayOutput { + return o +} + +func (o GetRouteSpecGrpcRouteTimeoutPerRequestArrayOutput) ToGetRouteSpecGrpcRouteTimeoutPerRequestArrayOutputWithContext(ctx context.Context) GetRouteSpecGrpcRouteTimeoutPerRequestArrayOutput { + return o +} + +func (o GetRouteSpecGrpcRouteTimeoutPerRequestArrayOutput) Index(i pulumi.IntInput) GetRouteSpecGrpcRouteTimeoutPerRequestOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetRouteSpecGrpcRouteTimeoutPerRequest { + return vs[0].([]GetRouteSpecGrpcRouteTimeoutPerRequest)[vs[1].(int)] + }).(GetRouteSpecGrpcRouteTimeoutPerRequestOutput) +} + +type GetRouteSpecHttp2Route struct { + Actions []GetRouteSpecHttp2RouteAction `pulumi:"actions"` + Matches []GetRouteSpecHttp2RouteMatch `pulumi:"matches"` + RetryPolicies []GetRouteSpecHttp2RouteRetryPolicy `pulumi:"retryPolicies"` + Timeouts []GetRouteSpecHttp2RouteTimeout `pulumi:"timeouts"` +} + +// GetRouteSpecHttp2RouteInput is an input type that accepts GetRouteSpecHttp2RouteArgs and GetRouteSpecHttp2RouteOutput values. +// You can construct a concrete instance of `GetRouteSpecHttp2RouteInput` via: +// +// GetRouteSpecHttp2RouteArgs{...} +type GetRouteSpecHttp2RouteInput interface { + pulumi.Input + + ToGetRouteSpecHttp2RouteOutput() GetRouteSpecHttp2RouteOutput + ToGetRouteSpecHttp2RouteOutputWithContext(context.Context) GetRouteSpecHttp2RouteOutput +} + +type GetRouteSpecHttp2RouteArgs struct { + Actions GetRouteSpecHttp2RouteActionArrayInput `pulumi:"actions"` + Matches GetRouteSpecHttp2RouteMatchArrayInput `pulumi:"matches"` + RetryPolicies GetRouteSpecHttp2RouteRetryPolicyArrayInput `pulumi:"retryPolicies"` + Timeouts GetRouteSpecHttp2RouteTimeoutArrayInput `pulumi:"timeouts"` +} + +func (GetRouteSpecHttp2RouteArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetRouteSpecHttp2Route)(nil)).Elem() +} + +func (i GetRouteSpecHttp2RouteArgs) ToGetRouteSpecHttp2RouteOutput() GetRouteSpecHttp2RouteOutput { + return i.ToGetRouteSpecHttp2RouteOutputWithContext(context.Background()) +} + +func (i GetRouteSpecHttp2RouteArgs) ToGetRouteSpecHttp2RouteOutputWithContext(ctx context.Context) GetRouteSpecHttp2RouteOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetRouteSpecHttp2RouteOutput) +} + +// GetRouteSpecHttp2RouteArrayInput is an input type that accepts GetRouteSpecHttp2RouteArray and GetRouteSpecHttp2RouteArrayOutput values. +// You can construct a concrete instance of `GetRouteSpecHttp2RouteArrayInput` via: +// +// GetRouteSpecHttp2RouteArray{ GetRouteSpecHttp2RouteArgs{...} } +type GetRouteSpecHttp2RouteArrayInput interface { + pulumi.Input + + ToGetRouteSpecHttp2RouteArrayOutput() GetRouteSpecHttp2RouteArrayOutput + ToGetRouteSpecHttp2RouteArrayOutputWithContext(context.Context) GetRouteSpecHttp2RouteArrayOutput +} + +type GetRouteSpecHttp2RouteArray []GetRouteSpecHttp2RouteInput + +func (GetRouteSpecHttp2RouteArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetRouteSpecHttp2Route)(nil)).Elem() +} + +func (i GetRouteSpecHttp2RouteArray) ToGetRouteSpecHttp2RouteArrayOutput() GetRouteSpecHttp2RouteArrayOutput { + return i.ToGetRouteSpecHttp2RouteArrayOutputWithContext(context.Background()) +} + +func (i GetRouteSpecHttp2RouteArray) ToGetRouteSpecHttp2RouteArrayOutputWithContext(ctx context.Context) GetRouteSpecHttp2RouteArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetRouteSpecHttp2RouteArrayOutput) +} + +type GetRouteSpecHttp2RouteOutput struct{ *pulumi.OutputState } + +func (GetRouteSpecHttp2RouteOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetRouteSpecHttp2Route)(nil)).Elem() +} + +func (o GetRouteSpecHttp2RouteOutput) ToGetRouteSpecHttp2RouteOutput() GetRouteSpecHttp2RouteOutput { + return o +} + +func (o GetRouteSpecHttp2RouteOutput) ToGetRouteSpecHttp2RouteOutputWithContext(ctx context.Context) GetRouteSpecHttp2RouteOutput { + return o +} + +func (o GetRouteSpecHttp2RouteOutput) Actions() GetRouteSpecHttp2RouteActionArrayOutput { + return o.ApplyT(func(v GetRouteSpecHttp2Route) []GetRouteSpecHttp2RouteAction { return v.Actions }).(GetRouteSpecHttp2RouteActionArrayOutput) +} + +func (o GetRouteSpecHttp2RouteOutput) Matches() GetRouteSpecHttp2RouteMatchArrayOutput { + return o.ApplyT(func(v GetRouteSpecHttp2Route) []GetRouteSpecHttp2RouteMatch { return v.Matches }).(GetRouteSpecHttp2RouteMatchArrayOutput) +} + +func (o GetRouteSpecHttp2RouteOutput) RetryPolicies() GetRouteSpecHttp2RouteRetryPolicyArrayOutput { + return o.ApplyT(func(v GetRouteSpecHttp2Route) []GetRouteSpecHttp2RouteRetryPolicy { return v.RetryPolicies }).(GetRouteSpecHttp2RouteRetryPolicyArrayOutput) +} + +func (o GetRouteSpecHttp2RouteOutput) Timeouts() GetRouteSpecHttp2RouteTimeoutArrayOutput { + return o.ApplyT(func(v GetRouteSpecHttp2Route) []GetRouteSpecHttp2RouteTimeout { return v.Timeouts }).(GetRouteSpecHttp2RouteTimeoutArrayOutput) +} + +type GetRouteSpecHttp2RouteArrayOutput struct{ *pulumi.OutputState } + +func (GetRouteSpecHttp2RouteArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetRouteSpecHttp2Route)(nil)).Elem() +} + +func (o GetRouteSpecHttp2RouteArrayOutput) ToGetRouteSpecHttp2RouteArrayOutput() GetRouteSpecHttp2RouteArrayOutput { + return o +} + +func (o GetRouteSpecHttp2RouteArrayOutput) ToGetRouteSpecHttp2RouteArrayOutputWithContext(ctx context.Context) GetRouteSpecHttp2RouteArrayOutput { + return o +} + +func (o GetRouteSpecHttp2RouteArrayOutput) Index(i pulumi.IntInput) GetRouteSpecHttp2RouteOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetRouteSpecHttp2Route { + return vs[0].([]GetRouteSpecHttp2Route)[vs[1].(int)] + }).(GetRouteSpecHttp2RouteOutput) +} + +type GetRouteSpecHttp2RouteAction struct { + WeightedTargets []GetRouteSpecHttp2RouteActionWeightedTarget `pulumi:"weightedTargets"` +} + +// GetRouteSpecHttp2RouteActionInput is an input type that accepts GetRouteSpecHttp2RouteActionArgs and GetRouteSpecHttp2RouteActionOutput values. +// You can construct a concrete instance of `GetRouteSpecHttp2RouteActionInput` via: +// +// GetRouteSpecHttp2RouteActionArgs{...} +type GetRouteSpecHttp2RouteActionInput interface { + pulumi.Input + + ToGetRouteSpecHttp2RouteActionOutput() GetRouteSpecHttp2RouteActionOutput + ToGetRouteSpecHttp2RouteActionOutputWithContext(context.Context) GetRouteSpecHttp2RouteActionOutput +} + +type GetRouteSpecHttp2RouteActionArgs struct { + WeightedTargets GetRouteSpecHttp2RouteActionWeightedTargetArrayInput `pulumi:"weightedTargets"` +} + +func (GetRouteSpecHttp2RouteActionArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetRouteSpecHttp2RouteAction)(nil)).Elem() +} + +func (i GetRouteSpecHttp2RouteActionArgs) ToGetRouteSpecHttp2RouteActionOutput() GetRouteSpecHttp2RouteActionOutput { + return i.ToGetRouteSpecHttp2RouteActionOutputWithContext(context.Background()) +} + +func (i GetRouteSpecHttp2RouteActionArgs) ToGetRouteSpecHttp2RouteActionOutputWithContext(ctx context.Context) GetRouteSpecHttp2RouteActionOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetRouteSpecHttp2RouteActionOutput) +} + +// GetRouteSpecHttp2RouteActionArrayInput is an input type that accepts GetRouteSpecHttp2RouteActionArray and GetRouteSpecHttp2RouteActionArrayOutput values. +// You can construct a concrete instance of `GetRouteSpecHttp2RouteActionArrayInput` via: +// +// GetRouteSpecHttp2RouteActionArray{ GetRouteSpecHttp2RouteActionArgs{...} } +type GetRouteSpecHttp2RouteActionArrayInput interface { + pulumi.Input + + ToGetRouteSpecHttp2RouteActionArrayOutput() GetRouteSpecHttp2RouteActionArrayOutput + ToGetRouteSpecHttp2RouteActionArrayOutputWithContext(context.Context) GetRouteSpecHttp2RouteActionArrayOutput +} + +type GetRouteSpecHttp2RouteActionArray []GetRouteSpecHttp2RouteActionInput + +func (GetRouteSpecHttp2RouteActionArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetRouteSpecHttp2RouteAction)(nil)).Elem() +} + +func (i GetRouteSpecHttp2RouteActionArray) ToGetRouteSpecHttp2RouteActionArrayOutput() GetRouteSpecHttp2RouteActionArrayOutput { + return i.ToGetRouteSpecHttp2RouteActionArrayOutputWithContext(context.Background()) +} + +func (i GetRouteSpecHttp2RouteActionArray) ToGetRouteSpecHttp2RouteActionArrayOutputWithContext(ctx context.Context) GetRouteSpecHttp2RouteActionArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetRouteSpecHttp2RouteActionArrayOutput) +} + +type GetRouteSpecHttp2RouteActionOutput struct{ *pulumi.OutputState } + +func (GetRouteSpecHttp2RouteActionOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetRouteSpecHttp2RouteAction)(nil)).Elem() +} + +func (o GetRouteSpecHttp2RouteActionOutput) ToGetRouteSpecHttp2RouteActionOutput() GetRouteSpecHttp2RouteActionOutput { + return o +} + +func (o GetRouteSpecHttp2RouteActionOutput) ToGetRouteSpecHttp2RouteActionOutputWithContext(ctx context.Context) GetRouteSpecHttp2RouteActionOutput { + return o +} + +func (o GetRouteSpecHttp2RouteActionOutput) WeightedTargets() GetRouteSpecHttp2RouteActionWeightedTargetArrayOutput { + return o.ApplyT(func(v GetRouteSpecHttp2RouteAction) []GetRouteSpecHttp2RouteActionWeightedTarget { + return v.WeightedTargets + }).(GetRouteSpecHttp2RouteActionWeightedTargetArrayOutput) +} + +type GetRouteSpecHttp2RouteActionArrayOutput struct{ *pulumi.OutputState } + +func (GetRouteSpecHttp2RouteActionArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetRouteSpecHttp2RouteAction)(nil)).Elem() +} + +func (o GetRouteSpecHttp2RouteActionArrayOutput) ToGetRouteSpecHttp2RouteActionArrayOutput() GetRouteSpecHttp2RouteActionArrayOutput { + return o +} + +func (o GetRouteSpecHttp2RouteActionArrayOutput) ToGetRouteSpecHttp2RouteActionArrayOutputWithContext(ctx context.Context) GetRouteSpecHttp2RouteActionArrayOutput { + return o +} + +func (o GetRouteSpecHttp2RouteActionArrayOutput) Index(i pulumi.IntInput) GetRouteSpecHttp2RouteActionOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetRouteSpecHttp2RouteAction { + return vs[0].([]GetRouteSpecHttp2RouteAction)[vs[1].(int)] + }).(GetRouteSpecHttp2RouteActionOutput) +} + +type GetRouteSpecHttp2RouteActionWeightedTarget struct { + Port int `pulumi:"port"` + VirtualNode string `pulumi:"virtualNode"` + Weight int `pulumi:"weight"` +} + +// GetRouteSpecHttp2RouteActionWeightedTargetInput is an input type that accepts GetRouteSpecHttp2RouteActionWeightedTargetArgs and GetRouteSpecHttp2RouteActionWeightedTargetOutput values. +// You can construct a concrete instance of `GetRouteSpecHttp2RouteActionWeightedTargetInput` via: +// +// GetRouteSpecHttp2RouteActionWeightedTargetArgs{...} +type GetRouteSpecHttp2RouteActionWeightedTargetInput interface { + pulumi.Input + + ToGetRouteSpecHttp2RouteActionWeightedTargetOutput() GetRouteSpecHttp2RouteActionWeightedTargetOutput + ToGetRouteSpecHttp2RouteActionWeightedTargetOutputWithContext(context.Context) GetRouteSpecHttp2RouteActionWeightedTargetOutput +} + +type GetRouteSpecHttp2RouteActionWeightedTargetArgs struct { + Port pulumi.IntInput `pulumi:"port"` + VirtualNode pulumi.StringInput `pulumi:"virtualNode"` + Weight pulumi.IntInput `pulumi:"weight"` +} + +func (GetRouteSpecHttp2RouteActionWeightedTargetArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetRouteSpecHttp2RouteActionWeightedTarget)(nil)).Elem() +} + +func (i GetRouteSpecHttp2RouteActionWeightedTargetArgs) ToGetRouteSpecHttp2RouteActionWeightedTargetOutput() GetRouteSpecHttp2RouteActionWeightedTargetOutput { + return i.ToGetRouteSpecHttp2RouteActionWeightedTargetOutputWithContext(context.Background()) +} + +func (i GetRouteSpecHttp2RouteActionWeightedTargetArgs) ToGetRouteSpecHttp2RouteActionWeightedTargetOutputWithContext(ctx context.Context) GetRouteSpecHttp2RouteActionWeightedTargetOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetRouteSpecHttp2RouteActionWeightedTargetOutput) +} + +// GetRouteSpecHttp2RouteActionWeightedTargetArrayInput is an input type that accepts GetRouteSpecHttp2RouteActionWeightedTargetArray and GetRouteSpecHttp2RouteActionWeightedTargetArrayOutput values. +// You can construct a concrete instance of `GetRouteSpecHttp2RouteActionWeightedTargetArrayInput` via: +// +// GetRouteSpecHttp2RouteActionWeightedTargetArray{ GetRouteSpecHttp2RouteActionWeightedTargetArgs{...} } +type GetRouteSpecHttp2RouteActionWeightedTargetArrayInput interface { + pulumi.Input + + ToGetRouteSpecHttp2RouteActionWeightedTargetArrayOutput() GetRouteSpecHttp2RouteActionWeightedTargetArrayOutput + ToGetRouteSpecHttp2RouteActionWeightedTargetArrayOutputWithContext(context.Context) GetRouteSpecHttp2RouteActionWeightedTargetArrayOutput +} + +type GetRouteSpecHttp2RouteActionWeightedTargetArray []GetRouteSpecHttp2RouteActionWeightedTargetInput + +func (GetRouteSpecHttp2RouteActionWeightedTargetArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetRouteSpecHttp2RouteActionWeightedTarget)(nil)).Elem() +} + +func (i GetRouteSpecHttp2RouteActionWeightedTargetArray) ToGetRouteSpecHttp2RouteActionWeightedTargetArrayOutput() GetRouteSpecHttp2RouteActionWeightedTargetArrayOutput { + return i.ToGetRouteSpecHttp2RouteActionWeightedTargetArrayOutputWithContext(context.Background()) +} + +func (i GetRouteSpecHttp2RouteActionWeightedTargetArray) ToGetRouteSpecHttp2RouteActionWeightedTargetArrayOutputWithContext(ctx context.Context) GetRouteSpecHttp2RouteActionWeightedTargetArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetRouteSpecHttp2RouteActionWeightedTargetArrayOutput) +} + +type GetRouteSpecHttp2RouteActionWeightedTargetOutput struct{ *pulumi.OutputState } + +func (GetRouteSpecHttp2RouteActionWeightedTargetOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetRouteSpecHttp2RouteActionWeightedTarget)(nil)).Elem() +} + +func (o GetRouteSpecHttp2RouteActionWeightedTargetOutput) ToGetRouteSpecHttp2RouteActionWeightedTargetOutput() GetRouteSpecHttp2RouteActionWeightedTargetOutput { + return o +} + +func (o GetRouteSpecHttp2RouteActionWeightedTargetOutput) ToGetRouteSpecHttp2RouteActionWeightedTargetOutputWithContext(ctx context.Context) GetRouteSpecHttp2RouteActionWeightedTargetOutput { + return o +} + +func (o GetRouteSpecHttp2RouteActionWeightedTargetOutput) Port() pulumi.IntOutput { + return o.ApplyT(func(v GetRouteSpecHttp2RouteActionWeightedTarget) int { return v.Port }).(pulumi.IntOutput) +} + +func (o GetRouteSpecHttp2RouteActionWeightedTargetOutput) VirtualNode() pulumi.StringOutput { + return o.ApplyT(func(v GetRouteSpecHttp2RouteActionWeightedTarget) string { return v.VirtualNode }).(pulumi.StringOutput) +} + +func (o GetRouteSpecHttp2RouteActionWeightedTargetOutput) Weight() pulumi.IntOutput { + return o.ApplyT(func(v GetRouteSpecHttp2RouteActionWeightedTarget) int { return v.Weight }).(pulumi.IntOutput) +} + +type GetRouteSpecHttp2RouteActionWeightedTargetArrayOutput struct{ *pulumi.OutputState } + +func (GetRouteSpecHttp2RouteActionWeightedTargetArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetRouteSpecHttp2RouteActionWeightedTarget)(nil)).Elem() +} + +func (o GetRouteSpecHttp2RouteActionWeightedTargetArrayOutput) ToGetRouteSpecHttp2RouteActionWeightedTargetArrayOutput() GetRouteSpecHttp2RouteActionWeightedTargetArrayOutput { + return o +} + +func (o GetRouteSpecHttp2RouteActionWeightedTargetArrayOutput) ToGetRouteSpecHttp2RouteActionWeightedTargetArrayOutputWithContext(ctx context.Context) GetRouteSpecHttp2RouteActionWeightedTargetArrayOutput { + return o +} + +func (o GetRouteSpecHttp2RouteActionWeightedTargetArrayOutput) Index(i pulumi.IntInput) GetRouteSpecHttp2RouteActionWeightedTargetOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetRouteSpecHttp2RouteActionWeightedTarget { + return vs[0].([]GetRouteSpecHttp2RouteActionWeightedTarget)[vs[1].(int)] + }).(GetRouteSpecHttp2RouteActionWeightedTargetOutput) +} + +type GetRouteSpecHttp2RouteMatch struct { + Headers []GetRouteSpecHttp2RouteMatchHeader `pulumi:"headers"` + Method string `pulumi:"method"` + Paths []GetRouteSpecHttp2RouteMatchPath `pulumi:"paths"` + Port int `pulumi:"port"` + Prefix string `pulumi:"prefix"` + QueryParameters []GetRouteSpecHttp2RouteMatchQueryParameter `pulumi:"queryParameters"` + Scheme string `pulumi:"scheme"` +} + +// GetRouteSpecHttp2RouteMatchInput is an input type that accepts GetRouteSpecHttp2RouteMatchArgs and GetRouteSpecHttp2RouteMatchOutput values. +// You can construct a concrete instance of `GetRouteSpecHttp2RouteMatchInput` via: +// +// GetRouteSpecHttp2RouteMatchArgs{...} +type GetRouteSpecHttp2RouteMatchInput interface { + pulumi.Input + + ToGetRouteSpecHttp2RouteMatchOutput() GetRouteSpecHttp2RouteMatchOutput + ToGetRouteSpecHttp2RouteMatchOutputWithContext(context.Context) GetRouteSpecHttp2RouteMatchOutput +} + +type GetRouteSpecHttp2RouteMatchArgs struct { + Headers GetRouteSpecHttp2RouteMatchHeaderArrayInput `pulumi:"headers"` + Method pulumi.StringInput `pulumi:"method"` + Paths GetRouteSpecHttp2RouteMatchPathArrayInput `pulumi:"paths"` + Port pulumi.IntInput `pulumi:"port"` + Prefix pulumi.StringInput `pulumi:"prefix"` + QueryParameters GetRouteSpecHttp2RouteMatchQueryParameterArrayInput `pulumi:"queryParameters"` + Scheme pulumi.StringInput `pulumi:"scheme"` +} + +func (GetRouteSpecHttp2RouteMatchArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetRouteSpecHttp2RouteMatch)(nil)).Elem() +} + +func (i GetRouteSpecHttp2RouteMatchArgs) ToGetRouteSpecHttp2RouteMatchOutput() GetRouteSpecHttp2RouteMatchOutput { + return i.ToGetRouteSpecHttp2RouteMatchOutputWithContext(context.Background()) +} + +func (i GetRouteSpecHttp2RouteMatchArgs) ToGetRouteSpecHttp2RouteMatchOutputWithContext(ctx context.Context) GetRouteSpecHttp2RouteMatchOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetRouteSpecHttp2RouteMatchOutput) +} + +// GetRouteSpecHttp2RouteMatchArrayInput is an input type that accepts GetRouteSpecHttp2RouteMatchArray and GetRouteSpecHttp2RouteMatchArrayOutput values. +// You can construct a concrete instance of `GetRouteSpecHttp2RouteMatchArrayInput` via: +// +// GetRouteSpecHttp2RouteMatchArray{ GetRouteSpecHttp2RouteMatchArgs{...} } +type GetRouteSpecHttp2RouteMatchArrayInput interface { + pulumi.Input + + ToGetRouteSpecHttp2RouteMatchArrayOutput() GetRouteSpecHttp2RouteMatchArrayOutput + ToGetRouteSpecHttp2RouteMatchArrayOutputWithContext(context.Context) GetRouteSpecHttp2RouteMatchArrayOutput +} + +type GetRouteSpecHttp2RouteMatchArray []GetRouteSpecHttp2RouteMatchInput + +func (GetRouteSpecHttp2RouteMatchArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetRouteSpecHttp2RouteMatch)(nil)).Elem() +} + +func (i GetRouteSpecHttp2RouteMatchArray) ToGetRouteSpecHttp2RouteMatchArrayOutput() GetRouteSpecHttp2RouteMatchArrayOutput { + return i.ToGetRouteSpecHttp2RouteMatchArrayOutputWithContext(context.Background()) +} + +func (i GetRouteSpecHttp2RouteMatchArray) ToGetRouteSpecHttp2RouteMatchArrayOutputWithContext(ctx context.Context) GetRouteSpecHttp2RouteMatchArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetRouteSpecHttp2RouteMatchArrayOutput) +} + +type GetRouteSpecHttp2RouteMatchOutput struct{ *pulumi.OutputState } + +func (GetRouteSpecHttp2RouteMatchOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetRouteSpecHttp2RouteMatch)(nil)).Elem() +} + +func (o GetRouteSpecHttp2RouteMatchOutput) ToGetRouteSpecHttp2RouteMatchOutput() GetRouteSpecHttp2RouteMatchOutput { + return o +} + +func (o GetRouteSpecHttp2RouteMatchOutput) ToGetRouteSpecHttp2RouteMatchOutputWithContext(ctx context.Context) GetRouteSpecHttp2RouteMatchOutput { + return o +} + +func (o GetRouteSpecHttp2RouteMatchOutput) Headers() GetRouteSpecHttp2RouteMatchHeaderArrayOutput { + return o.ApplyT(func(v GetRouteSpecHttp2RouteMatch) []GetRouteSpecHttp2RouteMatchHeader { return v.Headers }).(GetRouteSpecHttp2RouteMatchHeaderArrayOutput) +} + +func (o GetRouteSpecHttp2RouteMatchOutput) Method() pulumi.StringOutput { + return o.ApplyT(func(v GetRouteSpecHttp2RouteMatch) string { return v.Method }).(pulumi.StringOutput) +} + +func (o GetRouteSpecHttp2RouteMatchOutput) Paths() GetRouteSpecHttp2RouteMatchPathArrayOutput { + return o.ApplyT(func(v GetRouteSpecHttp2RouteMatch) []GetRouteSpecHttp2RouteMatchPath { return v.Paths }).(GetRouteSpecHttp2RouteMatchPathArrayOutput) +} + +func (o GetRouteSpecHttp2RouteMatchOutput) Port() pulumi.IntOutput { + return o.ApplyT(func(v GetRouteSpecHttp2RouteMatch) int { return v.Port }).(pulumi.IntOutput) +} + +func (o GetRouteSpecHttp2RouteMatchOutput) Prefix() pulumi.StringOutput { + return o.ApplyT(func(v GetRouteSpecHttp2RouteMatch) string { return v.Prefix }).(pulumi.StringOutput) +} + +func (o GetRouteSpecHttp2RouteMatchOutput) QueryParameters() GetRouteSpecHttp2RouteMatchQueryParameterArrayOutput { + return o.ApplyT(func(v GetRouteSpecHttp2RouteMatch) []GetRouteSpecHttp2RouteMatchQueryParameter { + return v.QueryParameters + }).(GetRouteSpecHttp2RouteMatchQueryParameterArrayOutput) +} + +func (o GetRouteSpecHttp2RouteMatchOutput) Scheme() pulumi.StringOutput { + return o.ApplyT(func(v GetRouteSpecHttp2RouteMatch) string { return v.Scheme }).(pulumi.StringOutput) +} + +type GetRouteSpecHttp2RouteMatchArrayOutput struct{ *pulumi.OutputState } + +func (GetRouteSpecHttp2RouteMatchArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetRouteSpecHttp2RouteMatch)(nil)).Elem() +} + +func (o GetRouteSpecHttp2RouteMatchArrayOutput) ToGetRouteSpecHttp2RouteMatchArrayOutput() GetRouteSpecHttp2RouteMatchArrayOutput { + return o +} + +func (o GetRouteSpecHttp2RouteMatchArrayOutput) ToGetRouteSpecHttp2RouteMatchArrayOutputWithContext(ctx context.Context) GetRouteSpecHttp2RouteMatchArrayOutput { + return o +} + +func (o GetRouteSpecHttp2RouteMatchArrayOutput) Index(i pulumi.IntInput) GetRouteSpecHttp2RouteMatchOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetRouteSpecHttp2RouteMatch { + return vs[0].([]GetRouteSpecHttp2RouteMatch)[vs[1].(int)] + }).(GetRouteSpecHttp2RouteMatchOutput) +} + +type GetRouteSpecHttp2RouteMatchHeader struct { + Invert bool `pulumi:"invert"` + Matches []GetRouteSpecHttp2RouteMatchHeaderMatch `pulumi:"matches"` + // Name of the route. + Name string `pulumi:"name"` +} + +// GetRouteSpecHttp2RouteMatchHeaderInput is an input type that accepts GetRouteSpecHttp2RouteMatchHeaderArgs and GetRouteSpecHttp2RouteMatchHeaderOutput values. +// You can construct a concrete instance of `GetRouteSpecHttp2RouteMatchHeaderInput` via: +// +// GetRouteSpecHttp2RouteMatchHeaderArgs{...} +type GetRouteSpecHttp2RouteMatchHeaderInput interface { + pulumi.Input + + ToGetRouteSpecHttp2RouteMatchHeaderOutput() GetRouteSpecHttp2RouteMatchHeaderOutput + ToGetRouteSpecHttp2RouteMatchHeaderOutputWithContext(context.Context) GetRouteSpecHttp2RouteMatchHeaderOutput +} + +type GetRouteSpecHttp2RouteMatchHeaderArgs struct { + Invert pulumi.BoolInput `pulumi:"invert"` + Matches GetRouteSpecHttp2RouteMatchHeaderMatchArrayInput `pulumi:"matches"` + // Name of the route. + Name pulumi.StringInput `pulumi:"name"` +} + +func (GetRouteSpecHttp2RouteMatchHeaderArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetRouteSpecHttp2RouteMatchHeader)(nil)).Elem() +} + +func (i GetRouteSpecHttp2RouteMatchHeaderArgs) ToGetRouteSpecHttp2RouteMatchHeaderOutput() GetRouteSpecHttp2RouteMatchHeaderOutput { + return i.ToGetRouteSpecHttp2RouteMatchHeaderOutputWithContext(context.Background()) +} + +func (i GetRouteSpecHttp2RouteMatchHeaderArgs) ToGetRouteSpecHttp2RouteMatchHeaderOutputWithContext(ctx context.Context) GetRouteSpecHttp2RouteMatchHeaderOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetRouteSpecHttp2RouteMatchHeaderOutput) +} + +// GetRouteSpecHttp2RouteMatchHeaderArrayInput is an input type that accepts GetRouteSpecHttp2RouteMatchHeaderArray and GetRouteSpecHttp2RouteMatchHeaderArrayOutput values. +// You can construct a concrete instance of `GetRouteSpecHttp2RouteMatchHeaderArrayInput` via: +// +// GetRouteSpecHttp2RouteMatchHeaderArray{ GetRouteSpecHttp2RouteMatchHeaderArgs{...} } +type GetRouteSpecHttp2RouteMatchHeaderArrayInput interface { + pulumi.Input + + ToGetRouteSpecHttp2RouteMatchHeaderArrayOutput() GetRouteSpecHttp2RouteMatchHeaderArrayOutput + ToGetRouteSpecHttp2RouteMatchHeaderArrayOutputWithContext(context.Context) GetRouteSpecHttp2RouteMatchHeaderArrayOutput +} + +type GetRouteSpecHttp2RouteMatchHeaderArray []GetRouteSpecHttp2RouteMatchHeaderInput + +func (GetRouteSpecHttp2RouteMatchHeaderArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetRouteSpecHttp2RouteMatchHeader)(nil)).Elem() +} + +func (i GetRouteSpecHttp2RouteMatchHeaderArray) ToGetRouteSpecHttp2RouteMatchHeaderArrayOutput() GetRouteSpecHttp2RouteMatchHeaderArrayOutput { + return i.ToGetRouteSpecHttp2RouteMatchHeaderArrayOutputWithContext(context.Background()) +} + +func (i GetRouteSpecHttp2RouteMatchHeaderArray) ToGetRouteSpecHttp2RouteMatchHeaderArrayOutputWithContext(ctx context.Context) GetRouteSpecHttp2RouteMatchHeaderArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetRouteSpecHttp2RouteMatchHeaderArrayOutput) +} + +type GetRouteSpecHttp2RouteMatchHeaderOutput struct{ *pulumi.OutputState } + +func (GetRouteSpecHttp2RouteMatchHeaderOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetRouteSpecHttp2RouteMatchHeader)(nil)).Elem() +} + +func (o GetRouteSpecHttp2RouteMatchHeaderOutput) ToGetRouteSpecHttp2RouteMatchHeaderOutput() GetRouteSpecHttp2RouteMatchHeaderOutput { + return o +} + +func (o GetRouteSpecHttp2RouteMatchHeaderOutput) ToGetRouteSpecHttp2RouteMatchHeaderOutputWithContext(ctx context.Context) GetRouteSpecHttp2RouteMatchHeaderOutput { + return o +} + +func (o GetRouteSpecHttp2RouteMatchHeaderOutput) Invert() pulumi.BoolOutput { + return o.ApplyT(func(v GetRouteSpecHttp2RouteMatchHeader) bool { return v.Invert }).(pulumi.BoolOutput) +} + +func (o GetRouteSpecHttp2RouteMatchHeaderOutput) Matches() GetRouteSpecHttp2RouteMatchHeaderMatchArrayOutput { + return o.ApplyT(func(v GetRouteSpecHttp2RouteMatchHeader) []GetRouteSpecHttp2RouteMatchHeaderMatch { return v.Matches }).(GetRouteSpecHttp2RouteMatchHeaderMatchArrayOutput) +} + +// Name of the route. +func (o GetRouteSpecHttp2RouteMatchHeaderOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetRouteSpecHttp2RouteMatchHeader) string { return v.Name }).(pulumi.StringOutput) +} + +type GetRouteSpecHttp2RouteMatchHeaderArrayOutput struct{ *pulumi.OutputState } + +func (GetRouteSpecHttp2RouteMatchHeaderArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetRouteSpecHttp2RouteMatchHeader)(nil)).Elem() +} + +func (o GetRouteSpecHttp2RouteMatchHeaderArrayOutput) ToGetRouteSpecHttp2RouteMatchHeaderArrayOutput() GetRouteSpecHttp2RouteMatchHeaderArrayOutput { + return o +} + +func (o GetRouteSpecHttp2RouteMatchHeaderArrayOutput) ToGetRouteSpecHttp2RouteMatchHeaderArrayOutputWithContext(ctx context.Context) GetRouteSpecHttp2RouteMatchHeaderArrayOutput { + return o +} + +func (o GetRouteSpecHttp2RouteMatchHeaderArrayOutput) Index(i pulumi.IntInput) GetRouteSpecHttp2RouteMatchHeaderOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetRouteSpecHttp2RouteMatchHeader { + return vs[0].([]GetRouteSpecHttp2RouteMatchHeader)[vs[1].(int)] + }).(GetRouteSpecHttp2RouteMatchHeaderOutput) +} + +type GetRouteSpecHttp2RouteMatchHeaderMatch struct { + Exact string `pulumi:"exact"` + Prefix string `pulumi:"prefix"` + Ranges []GetRouteSpecHttp2RouteMatchHeaderMatchRange `pulumi:"ranges"` + Regex string `pulumi:"regex"` + Suffix string `pulumi:"suffix"` +} + +// GetRouteSpecHttp2RouteMatchHeaderMatchInput is an input type that accepts GetRouteSpecHttp2RouteMatchHeaderMatchArgs and GetRouteSpecHttp2RouteMatchHeaderMatchOutput values. +// You can construct a concrete instance of `GetRouteSpecHttp2RouteMatchHeaderMatchInput` via: +// +// GetRouteSpecHttp2RouteMatchHeaderMatchArgs{...} +type GetRouteSpecHttp2RouteMatchHeaderMatchInput interface { + pulumi.Input + + ToGetRouteSpecHttp2RouteMatchHeaderMatchOutput() GetRouteSpecHttp2RouteMatchHeaderMatchOutput + ToGetRouteSpecHttp2RouteMatchHeaderMatchOutputWithContext(context.Context) GetRouteSpecHttp2RouteMatchHeaderMatchOutput +} + +type GetRouteSpecHttp2RouteMatchHeaderMatchArgs struct { + Exact pulumi.StringInput `pulumi:"exact"` + Prefix pulumi.StringInput `pulumi:"prefix"` + Ranges GetRouteSpecHttp2RouteMatchHeaderMatchRangeArrayInput `pulumi:"ranges"` + Regex pulumi.StringInput `pulumi:"regex"` + Suffix pulumi.StringInput `pulumi:"suffix"` +} + +func (GetRouteSpecHttp2RouteMatchHeaderMatchArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetRouteSpecHttp2RouteMatchHeaderMatch)(nil)).Elem() +} + +func (i GetRouteSpecHttp2RouteMatchHeaderMatchArgs) ToGetRouteSpecHttp2RouteMatchHeaderMatchOutput() GetRouteSpecHttp2RouteMatchHeaderMatchOutput { + return i.ToGetRouteSpecHttp2RouteMatchHeaderMatchOutputWithContext(context.Background()) +} + +func (i GetRouteSpecHttp2RouteMatchHeaderMatchArgs) ToGetRouteSpecHttp2RouteMatchHeaderMatchOutputWithContext(ctx context.Context) GetRouteSpecHttp2RouteMatchHeaderMatchOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetRouteSpecHttp2RouteMatchHeaderMatchOutput) +} + +// GetRouteSpecHttp2RouteMatchHeaderMatchArrayInput is an input type that accepts GetRouteSpecHttp2RouteMatchHeaderMatchArray and GetRouteSpecHttp2RouteMatchHeaderMatchArrayOutput values. +// You can construct a concrete instance of `GetRouteSpecHttp2RouteMatchHeaderMatchArrayInput` via: +// +// GetRouteSpecHttp2RouteMatchHeaderMatchArray{ GetRouteSpecHttp2RouteMatchHeaderMatchArgs{...} } +type GetRouteSpecHttp2RouteMatchHeaderMatchArrayInput interface { + pulumi.Input + + ToGetRouteSpecHttp2RouteMatchHeaderMatchArrayOutput() GetRouteSpecHttp2RouteMatchHeaderMatchArrayOutput + ToGetRouteSpecHttp2RouteMatchHeaderMatchArrayOutputWithContext(context.Context) GetRouteSpecHttp2RouteMatchHeaderMatchArrayOutput +} + +type GetRouteSpecHttp2RouteMatchHeaderMatchArray []GetRouteSpecHttp2RouteMatchHeaderMatchInput + +func (GetRouteSpecHttp2RouteMatchHeaderMatchArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetRouteSpecHttp2RouteMatchHeaderMatch)(nil)).Elem() +} + +func (i GetRouteSpecHttp2RouteMatchHeaderMatchArray) ToGetRouteSpecHttp2RouteMatchHeaderMatchArrayOutput() GetRouteSpecHttp2RouteMatchHeaderMatchArrayOutput { + return i.ToGetRouteSpecHttp2RouteMatchHeaderMatchArrayOutputWithContext(context.Background()) +} + +func (i GetRouteSpecHttp2RouteMatchHeaderMatchArray) ToGetRouteSpecHttp2RouteMatchHeaderMatchArrayOutputWithContext(ctx context.Context) GetRouteSpecHttp2RouteMatchHeaderMatchArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetRouteSpecHttp2RouteMatchHeaderMatchArrayOutput) +} + +type GetRouteSpecHttp2RouteMatchHeaderMatchOutput struct{ *pulumi.OutputState } + +func (GetRouteSpecHttp2RouteMatchHeaderMatchOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetRouteSpecHttp2RouteMatchHeaderMatch)(nil)).Elem() +} + +func (o GetRouteSpecHttp2RouteMatchHeaderMatchOutput) ToGetRouteSpecHttp2RouteMatchHeaderMatchOutput() GetRouteSpecHttp2RouteMatchHeaderMatchOutput { + return o +} + +func (o GetRouteSpecHttp2RouteMatchHeaderMatchOutput) ToGetRouteSpecHttp2RouteMatchHeaderMatchOutputWithContext(ctx context.Context) GetRouteSpecHttp2RouteMatchHeaderMatchOutput { + return o +} + +func (o GetRouteSpecHttp2RouteMatchHeaderMatchOutput) Exact() pulumi.StringOutput { + return o.ApplyT(func(v GetRouteSpecHttp2RouteMatchHeaderMatch) string { return v.Exact }).(pulumi.StringOutput) +} + +func (o GetRouteSpecHttp2RouteMatchHeaderMatchOutput) Prefix() pulumi.StringOutput { + return o.ApplyT(func(v GetRouteSpecHttp2RouteMatchHeaderMatch) string { return v.Prefix }).(pulumi.StringOutput) +} + +func (o GetRouteSpecHttp2RouteMatchHeaderMatchOutput) Ranges() GetRouteSpecHttp2RouteMatchHeaderMatchRangeArrayOutput { + return o.ApplyT(func(v GetRouteSpecHttp2RouteMatchHeaderMatch) []GetRouteSpecHttp2RouteMatchHeaderMatchRange { + return v.Ranges + }).(GetRouteSpecHttp2RouteMatchHeaderMatchRangeArrayOutput) +} + +func (o GetRouteSpecHttp2RouteMatchHeaderMatchOutput) Regex() pulumi.StringOutput { + return o.ApplyT(func(v GetRouteSpecHttp2RouteMatchHeaderMatch) string { return v.Regex }).(pulumi.StringOutput) +} + +func (o GetRouteSpecHttp2RouteMatchHeaderMatchOutput) Suffix() pulumi.StringOutput { + return o.ApplyT(func(v GetRouteSpecHttp2RouteMatchHeaderMatch) string { return v.Suffix }).(pulumi.StringOutput) +} + +type GetRouteSpecHttp2RouteMatchHeaderMatchArrayOutput struct{ *pulumi.OutputState } + +func (GetRouteSpecHttp2RouteMatchHeaderMatchArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetRouteSpecHttp2RouteMatchHeaderMatch)(nil)).Elem() +} + +func (o GetRouteSpecHttp2RouteMatchHeaderMatchArrayOutput) ToGetRouteSpecHttp2RouteMatchHeaderMatchArrayOutput() GetRouteSpecHttp2RouteMatchHeaderMatchArrayOutput { + return o +} + +func (o GetRouteSpecHttp2RouteMatchHeaderMatchArrayOutput) ToGetRouteSpecHttp2RouteMatchHeaderMatchArrayOutputWithContext(ctx context.Context) GetRouteSpecHttp2RouteMatchHeaderMatchArrayOutput { + return o +} + +func (o GetRouteSpecHttp2RouteMatchHeaderMatchArrayOutput) Index(i pulumi.IntInput) GetRouteSpecHttp2RouteMatchHeaderMatchOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetRouteSpecHttp2RouteMatchHeaderMatch { + return vs[0].([]GetRouteSpecHttp2RouteMatchHeaderMatch)[vs[1].(int)] + }).(GetRouteSpecHttp2RouteMatchHeaderMatchOutput) +} + +type GetRouteSpecHttp2RouteMatchHeaderMatchRange struct { + End int `pulumi:"end"` + Start int `pulumi:"start"` +} + +// GetRouteSpecHttp2RouteMatchHeaderMatchRangeInput is an input type that accepts GetRouteSpecHttp2RouteMatchHeaderMatchRangeArgs and GetRouteSpecHttp2RouteMatchHeaderMatchRangeOutput values. +// You can construct a concrete instance of `GetRouteSpecHttp2RouteMatchHeaderMatchRangeInput` via: +// +// GetRouteSpecHttp2RouteMatchHeaderMatchRangeArgs{...} +type GetRouteSpecHttp2RouteMatchHeaderMatchRangeInput interface { + pulumi.Input + + ToGetRouteSpecHttp2RouteMatchHeaderMatchRangeOutput() GetRouteSpecHttp2RouteMatchHeaderMatchRangeOutput + ToGetRouteSpecHttp2RouteMatchHeaderMatchRangeOutputWithContext(context.Context) GetRouteSpecHttp2RouteMatchHeaderMatchRangeOutput +} + +type GetRouteSpecHttp2RouteMatchHeaderMatchRangeArgs struct { + End pulumi.IntInput `pulumi:"end"` + Start pulumi.IntInput `pulumi:"start"` +} + +func (GetRouteSpecHttp2RouteMatchHeaderMatchRangeArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetRouteSpecHttp2RouteMatchHeaderMatchRange)(nil)).Elem() +} + +func (i GetRouteSpecHttp2RouteMatchHeaderMatchRangeArgs) ToGetRouteSpecHttp2RouteMatchHeaderMatchRangeOutput() GetRouteSpecHttp2RouteMatchHeaderMatchRangeOutput { + return i.ToGetRouteSpecHttp2RouteMatchHeaderMatchRangeOutputWithContext(context.Background()) +} + +func (i GetRouteSpecHttp2RouteMatchHeaderMatchRangeArgs) ToGetRouteSpecHttp2RouteMatchHeaderMatchRangeOutputWithContext(ctx context.Context) GetRouteSpecHttp2RouteMatchHeaderMatchRangeOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetRouteSpecHttp2RouteMatchHeaderMatchRangeOutput) +} + +// GetRouteSpecHttp2RouteMatchHeaderMatchRangeArrayInput is an input type that accepts GetRouteSpecHttp2RouteMatchHeaderMatchRangeArray and GetRouteSpecHttp2RouteMatchHeaderMatchRangeArrayOutput values. +// You can construct a concrete instance of `GetRouteSpecHttp2RouteMatchHeaderMatchRangeArrayInput` via: +// +// GetRouteSpecHttp2RouteMatchHeaderMatchRangeArray{ GetRouteSpecHttp2RouteMatchHeaderMatchRangeArgs{...} } +type GetRouteSpecHttp2RouteMatchHeaderMatchRangeArrayInput interface { + pulumi.Input + + ToGetRouteSpecHttp2RouteMatchHeaderMatchRangeArrayOutput() GetRouteSpecHttp2RouteMatchHeaderMatchRangeArrayOutput + ToGetRouteSpecHttp2RouteMatchHeaderMatchRangeArrayOutputWithContext(context.Context) GetRouteSpecHttp2RouteMatchHeaderMatchRangeArrayOutput +} + +type GetRouteSpecHttp2RouteMatchHeaderMatchRangeArray []GetRouteSpecHttp2RouteMatchHeaderMatchRangeInput + +func (GetRouteSpecHttp2RouteMatchHeaderMatchRangeArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetRouteSpecHttp2RouteMatchHeaderMatchRange)(nil)).Elem() +} + +func (i GetRouteSpecHttp2RouteMatchHeaderMatchRangeArray) ToGetRouteSpecHttp2RouteMatchHeaderMatchRangeArrayOutput() GetRouteSpecHttp2RouteMatchHeaderMatchRangeArrayOutput { + return i.ToGetRouteSpecHttp2RouteMatchHeaderMatchRangeArrayOutputWithContext(context.Background()) +} + +func (i GetRouteSpecHttp2RouteMatchHeaderMatchRangeArray) ToGetRouteSpecHttp2RouteMatchHeaderMatchRangeArrayOutputWithContext(ctx context.Context) GetRouteSpecHttp2RouteMatchHeaderMatchRangeArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetRouteSpecHttp2RouteMatchHeaderMatchRangeArrayOutput) +} + +type GetRouteSpecHttp2RouteMatchHeaderMatchRangeOutput struct{ *pulumi.OutputState } + +func (GetRouteSpecHttp2RouteMatchHeaderMatchRangeOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetRouteSpecHttp2RouteMatchHeaderMatchRange)(nil)).Elem() +} + +func (o GetRouteSpecHttp2RouteMatchHeaderMatchRangeOutput) ToGetRouteSpecHttp2RouteMatchHeaderMatchRangeOutput() GetRouteSpecHttp2RouteMatchHeaderMatchRangeOutput { + return o +} + +func (o GetRouteSpecHttp2RouteMatchHeaderMatchRangeOutput) ToGetRouteSpecHttp2RouteMatchHeaderMatchRangeOutputWithContext(ctx context.Context) GetRouteSpecHttp2RouteMatchHeaderMatchRangeOutput { + return o +} + +func (o GetRouteSpecHttp2RouteMatchHeaderMatchRangeOutput) End() pulumi.IntOutput { + return o.ApplyT(func(v GetRouteSpecHttp2RouteMatchHeaderMatchRange) int { return v.End }).(pulumi.IntOutput) +} + +func (o GetRouteSpecHttp2RouteMatchHeaderMatchRangeOutput) Start() pulumi.IntOutput { + return o.ApplyT(func(v GetRouteSpecHttp2RouteMatchHeaderMatchRange) int { return v.Start }).(pulumi.IntOutput) +} + +type GetRouteSpecHttp2RouteMatchHeaderMatchRangeArrayOutput struct{ *pulumi.OutputState } + +func (GetRouteSpecHttp2RouteMatchHeaderMatchRangeArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetRouteSpecHttp2RouteMatchHeaderMatchRange)(nil)).Elem() +} + +func (o GetRouteSpecHttp2RouteMatchHeaderMatchRangeArrayOutput) ToGetRouteSpecHttp2RouteMatchHeaderMatchRangeArrayOutput() GetRouteSpecHttp2RouteMatchHeaderMatchRangeArrayOutput { + return o +} + +func (o GetRouteSpecHttp2RouteMatchHeaderMatchRangeArrayOutput) ToGetRouteSpecHttp2RouteMatchHeaderMatchRangeArrayOutputWithContext(ctx context.Context) GetRouteSpecHttp2RouteMatchHeaderMatchRangeArrayOutput { + return o +} + +func (o GetRouteSpecHttp2RouteMatchHeaderMatchRangeArrayOutput) Index(i pulumi.IntInput) GetRouteSpecHttp2RouteMatchHeaderMatchRangeOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetRouteSpecHttp2RouteMatchHeaderMatchRange { + return vs[0].([]GetRouteSpecHttp2RouteMatchHeaderMatchRange)[vs[1].(int)] + }).(GetRouteSpecHttp2RouteMatchHeaderMatchRangeOutput) +} + +type GetRouteSpecHttp2RouteMatchPath struct { + Exact string `pulumi:"exact"` + Regex string `pulumi:"regex"` +} + +// GetRouteSpecHttp2RouteMatchPathInput is an input type that accepts GetRouteSpecHttp2RouteMatchPathArgs and GetRouteSpecHttp2RouteMatchPathOutput values. +// You can construct a concrete instance of `GetRouteSpecHttp2RouteMatchPathInput` via: +// +// GetRouteSpecHttp2RouteMatchPathArgs{...} +type GetRouteSpecHttp2RouteMatchPathInput interface { + pulumi.Input + + ToGetRouteSpecHttp2RouteMatchPathOutput() GetRouteSpecHttp2RouteMatchPathOutput + ToGetRouteSpecHttp2RouteMatchPathOutputWithContext(context.Context) GetRouteSpecHttp2RouteMatchPathOutput +} + +type GetRouteSpecHttp2RouteMatchPathArgs struct { + Exact pulumi.StringInput `pulumi:"exact"` + Regex pulumi.StringInput `pulumi:"regex"` +} + +func (GetRouteSpecHttp2RouteMatchPathArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetRouteSpecHttp2RouteMatchPath)(nil)).Elem() +} + +func (i GetRouteSpecHttp2RouteMatchPathArgs) ToGetRouteSpecHttp2RouteMatchPathOutput() GetRouteSpecHttp2RouteMatchPathOutput { + return i.ToGetRouteSpecHttp2RouteMatchPathOutputWithContext(context.Background()) +} + +func (i GetRouteSpecHttp2RouteMatchPathArgs) ToGetRouteSpecHttp2RouteMatchPathOutputWithContext(ctx context.Context) GetRouteSpecHttp2RouteMatchPathOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetRouteSpecHttp2RouteMatchPathOutput) +} + +// GetRouteSpecHttp2RouteMatchPathArrayInput is an input type that accepts GetRouteSpecHttp2RouteMatchPathArray and GetRouteSpecHttp2RouteMatchPathArrayOutput values. +// You can construct a concrete instance of `GetRouteSpecHttp2RouteMatchPathArrayInput` via: +// +// GetRouteSpecHttp2RouteMatchPathArray{ GetRouteSpecHttp2RouteMatchPathArgs{...} } +type GetRouteSpecHttp2RouteMatchPathArrayInput interface { + pulumi.Input + + ToGetRouteSpecHttp2RouteMatchPathArrayOutput() GetRouteSpecHttp2RouteMatchPathArrayOutput + ToGetRouteSpecHttp2RouteMatchPathArrayOutputWithContext(context.Context) GetRouteSpecHttp2RouteMatchPathArrayOutput +} + +type GetRouteSpecHttp2RouteMatchPathArray []GetRouteSpecHttp2RouteMatchPathInput + +func (GetRouteSpecHttp2RouteMatchPathArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetRouteSpecHttp2RouteMatchPath)(nil)).Elem() +} + +func (i GetRouteSpecHttp2RouteMatchPathArray) ToGetRouteSpecHttp2RouteMatchPathArrayOutput() GetRouteSpecHttp2RouteMatchPathArrayOutput { + return i.ToGetRouteSpecHttp2RouteMatchPathArrayOutputWithContext(context.Background()) +} + +func (i GetRouteSpecHttp2RouteMatchPathArray) ToGetRouteSpecHttp2RouteMatchPathArrayOutputWithContext(ctx context.Context) GetRouteSpecHttp2RouteMatchPathArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetRouteSpecHttp2RouteMatchPathArrayOutput) +} + +type GetRouteSpecHttp2RouteMatchPathOutput struct{ *pulumi.OutputState } + +func (GetRouteSpecHttp2RouteMatchPathOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetRouteSpecHttp2RouteMatchPath)(nil)).Elem() +} + +func (o GetRouteSpecHttp2RouteMatchPathOutput) ToGetRouteSpecHttp2RouteMatchPathOutput() GetRouteSpecHttp2RouteMatchPathOutput { + return o +} + +func (o GetRouteSpecHttp2RouteMatchPathOutput) ToGetRouteSpecHttp2RouteMatchPathOutputWithContext(ctx context.Context) GetRouteSpecHttp2RouteMatchPathOutput { + return o +} + +func (o GetRouteSpecHttp2RouteMatchPathOutput) Exact() pulumi.StringOutput { + return o.ApplyT(func(v GetRouteSpecHttp2RouteMatchPath) string { return v.Exact }).(pulumi.StringOutput) +} + +func (o GetRouteSpecHttp2RouteMatchPathOutput) Regex() pulumi.StringOutput { + return o.ApplyT(func(v GetRouteSpecHttp2RouteMatchPath) string { return v.Regex }).(pulumi.StringOutput) +} + +type GetRouteSpecHttp2RouteMatchPathArrayOutput struct{ *pulumi.OutputState } + +func (GetRouteSpecHttp2RouteMatchPathArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetRouteSpecHttp2RouteMatchPath)(nil)).Elem() +} + +func (o GetRouteSpecHttp2RouteMatchPathArrayOutput) ToGetRouteSpecHttp2RouteMatchPathArrayOutput() GetRouteSpecHttp2RouteMatchPathArrayOutput { + return o +} + +func (o GetRouteSpecHttp2RouteMatchPathArrayOutput) ToGetRouteSpecHttp2RouteMatchPathArrayOutputWithContext(ctx context.Context) GetRouteSpecHttp2RouteMatchPathArrayOutput { + return o +} + +func (o GetRouteSpecHttp2RouteMatchPathArrayOutput) Index(i pulumi.IntInput) GetRouteSpecHttp2RouteMatchPathOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetRouteSpecHttp2RouteMatchPath { + return vs[0].([]GetRouteSpecHttp2RouteMatchPath)[vs[1].(int)] + }).(GetRouteSpecHttp2RouteMatchPathOutput) +} + +type GetRouteSpecHttp2RouteMatchQueryParameter struct { + Matches []GetRouteSpecHttp2RouteMatchQueryParameterMatch `pulumi:"matches"` + // Name of the route. + Name string `pulumi:"name"` +} + +// GetRouteSpecHttp2RouteMatchQueryParameterInput is an input type that accepts GetRouteSpecHttp2RouteMatchQueryParameterArgs and GetRouteSpecHttp2RouteMatchQueryParameterOutput values. +// You can construct a concrete instance of `GetRouteSpecHttp2RouteMatchQueryParameterInput` via: +// +// GetRouteSpecHttp2RouteMatchQueryParameterArgs{...} +type GetRouteSpecHttp2RouteMatchQueryParameterInput interface { + pulumi.Input + + ToGetRouteSpecHttp2RouteMatchQueryParameterOutput() GetRouteSpecHttp2RouteMatchQueryParameterOutput + ToGetRouteSpecHttp2RouteMatchQueryParameterOutputWithContext(context.Context) GetRouteSpecHttp2RouteMatchQueryParameterOutput +} + +type GetRouteSpecHttp2RouteMatchQueryParameterArgs struct { + Matches GetRouteSpecHttp2RouteMatchQueryParameterMatchArrayInput `pulumi:"matches"` + // Name of the route. + Name pulumi.StringInput `pulumi:"name"` +} + +func (GetRouteSpecHttp2RouteMatchQueryParameterArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetRouteSpecHttp2RouteMatchQueryParameter)(nil)).Elem() +} + +func (i GetRouteSpecHttp2RouteMatchQueryParameterArgs) ToGetRouteSpecHttp2RouteMatchQueryParameterOutput() GetRouteSpecHttp2RouteMatchQueryParameterOutput { + return i.ToGetRouteSpecHttp2RouteMatchQueryParameterOutputWithContext(context.Background()) +} + +func (i GetRouteSpecHttp2RouteMatchQueryParameterArgs) ToGetRouteSpecHttp2RouteMatchQueryParameterOutputWithContext(ctx context.Context) GetRouteSpecHttp2RouteMatchQueryParameterOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetRouteSpecHttp2RouteMatchQueryParameterOutput) +} + +// GetRouteSpecHttp2RouteMatchQueryParameterArrayInput is an input type that accepts GetRouteSpecHttp2RouteMatchQueryParameterArray and GetRouteSpecHttp2RouteMatchQueryParameterArrayOutput values. +// You can construct a concrete instance of `GetRouteSpecHttp2RouteMatchQueryParameterArrayInput` via: +// +// GetRouteSpecHttp2RouteMatchQueryParameterArray{ GetRouteSpecHttp2RouteMatchQueryParameterArgs{...} } +type GetRouteSpecHttp2RouteMatchQueryParameterArrayInput interface { + pulumi.Input + + ToGetRouteSpecHttp2RouteMatchQueryParameterArrayOutput() GetRouteSpecHttp2RouteMatchQueryParameterArrayOutput + ToGetRouteSpecHttp2RouteMatchQueryParameterArrayOutputWithContext(context.Context) GetRouteSpecHttp2RouteMatchQueryParameterArrayOutput +} + +type GetRouteSpecHttp2RouteMatchQueryParameterArray []GetRouteSpecHttp2RouteMatchQueryParameterInput + +func (GetRouteSpecHttp2RouteMatchQueryParameterArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetRouteSpecHttp2RouteMatchQueryParameter)(nil)).Elem() +} + +func (i GetRouteSpecHttp2RouteMatchQueryParameterArray) ToGetRouteSpecHttp2RouteMatchQueryParameterArrayOutput() GetRouteSpecHttp2RouteMatchQueryParameterArrayOutput { + return i.ToGetRouteSpecHttp2RouteMatchQueryParameterArrayOutputWithContext(context.Background()) +} + +func (i GetRouteSpecHttp2RouteMatchQueryParameterArray) ToGetRouteSpecHttp2RouteMatchQueryParameterArrayOutputWithContext(ctx context.Context) GetRouteSpecHttp2RouteMatchQueryParameterArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetRouteSpecHttp2RouteMatchQueryParameterArrayOutput) +} + +type GetRouteSpecHttp2RouteMatchQueryParameterOutput struct{ *pulumi.OutputState } + +func (GetRouteSpecHttp2RouteMatchQueryParameterOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetRouteSpecHttp2RouteMatchQueryParameter)(nil)).Elem() +} + +func (o GetRouteSpecHttp2RouteMatchQueryParameterOutput) ToGetRouteSpecHttp2RouteMatchQueryParameterOutput() GetRouteSpecHttp2RouteMatchQueryParameterOutput { + return o +} + +func (o GetRouteSpecHttp2RouteMatchQueryParameterOutput) ToGetRouteSpecHttp2RouteMatchQueryParameterOutputWithContext(ctx context.Context) GetRouteSpecHttp2RouteMatchQueryParameterOutput { + return o +} + +func (o GetRouteSpecHttp2RouteMatchQueryParameterOutput) Matches() GetRouteSpecHttp2RouteMatchQueryParameterMatchArrayOutput { + return o.ApplyT(func(v GetRouteSpecHttp2RouteMatchQueryParameter) []GetRouteSpecHttp2RouteMatchQueryParameterMatch { + return v.Matches + }).(GetRouteSpecHttp2RouteMatchQueryParameterMatchArrayOutput) +} + +// Name of the route. +func (o GetRouteSpecHttp2RouteMatchQueryParameterOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetRouteSpecHttp2RouteMatchQueryParameter) string { return v.Name }).(pulumi.StringOutput) +} + +type GetRouteSpecHttp2RouteMatchQueryParameterArrayOutput struct{ *pulumi.OutputState } + +func (GetRouteSpecHttp2RouteMatchQueryParameterArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetRouteSpecHttp2RouteMatchQueryParameter)(nil)).Elem() +} + +func (o GetRouteSpecHttp2RouteMatchQueryParameterArrayOutput) ToGetRouteSpecHttp2RouteMatchQueryParameterArrayOutput() GetRouteSpecHttp2RouteMatchQueryParameterArrayOutput { + return o +} + +func (o GetRouteSpecHttp2RouteMatchQueryParameterArrayOutput) ToGetRouteSpecHttp2RouteMatchQueryParameterArrayOutputWithContext(ctx context.Context) GetRouteSpecHttp2RouteMatchQueryParameterArrayOutput { + return o +} + +func (o GetRouteSpecHttp2RouteMatchQueryParameterArrayOutput) Index(i pulumi.IntInput) GetRouteSpecHttp2RouteMatchQueryParameterOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetRouteSpecHttp2RouteMatchQueryParameter { + return vs[0].([]GetRouteSpecHttp2RouteMatchQueryParameter)[vs[1].(int)] + }).(GetRouteSpecHttp2RouteMatchQueryParameterOutput) +} + +type GetRouteSpecHttp2RouteMatchQueryParameterMatch struct { + Exact string `pulumi:"exact"` +} + +// GetRouteSpecHttp2RouteMatchQueryParameterMatchInput is an input type that accepts GetRouteSpecHttp2RouteMatchQueryParameterMatchArgs and GetRouteSpecHttp2RouteMatchQueryParameterMatchOutput values. +// You can construct a concrete instance of `GetRouteSpecHttp2RouteMatchQueryParameterMatchInput` via: +// +// GetRouteSpecHttp2RouteMatchQueryParameterMatchArgs{...} +type GetRouteSpecHttp2RouteMatchQueryParameterMatchInput interface { + pulumi.Input + + ToGetRouteSpecHttp2RouteMatchQueryParameterMatchOutput() GetRouteSpecHttp2RouteMatchQueryParameterMatchOutput + ToGetRouteSpecHttp2RouteMatchQueryParameterMatchOutputWithContext(context.Context) GetRouteSpecHttp2RouteMatchQueryParameterMatchOutput +} + +type GetRouteSpecHttp2RouteMatchQueryParameterMatchArgs struct { + Exact pulumi.StringInput `pulumi:"exact"` +} + +func (GetRouteSpecHttp2RouteMatchQueryParameterMatchArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetRouteSpecHttp2RouteMatchQueryParameterMatch)(nil)).Elem() +} + +func (i GetRouteSpecHttp2RouteMatchQueryParameterMatchArgs) ToGetRouteSpecHttp2RouteMatchQueryParameterMatchOutput() GetRouteSpecHttp2RouteMatchQueryParameterMatchOutput { + return i.ToGetRouteSpecHttp2RouteMatchQueryParameterMatchOutputWithContext(context.Background()) +} + +func (i GetRouteSpecHttp2RouteMatchQueryParameterMatchArgs) ToGetRouteSpecHttp2RouteMatchQueryParameterMatchOutputWithContext(ctx context.Context) GetRouteSpecHttp2RouteMatchQueryParameterMatchOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetRouteSpecHttp2RouteMatchQueryParameterMatchOutput) +} + +// GetRouteSpecHttp2RouteMatchQueryParameterMatchArrayInput is an input type that accepts GetRouteSpecHttp2RouteMatchQueryParameterMatchArray and GetRouteSpecHttp2RouteMatchQueryParameterMatchArrayOutput values. +// You can construct a concrete instance of `GetRouteSpecHttp2RouteMatchQueryParameterMatchArrayInput` via: +// +// GetRouteSpecHttp2RouteMatchQueryParameterMatchArray{ GetRouteSpecHttp2RouteMatchQueryParameterMatchArgs{...} } +type GetRouteSpecHttp2RouteMatchQueryParameterMatchArrayInput interface { + pulumi.Input + + ToGetRouteSpecHttp2RouteMatchQueryParameterMatchArrayOutput() GetRouteSpecHttp2RouteMatchQueryParameterMatchArrayOutput + ToGetRouteSpecHttp2RouteMatchQueryParameterMatchArrayOutputWithContext(context.Context) GetRouteSpecHttp2RouteMatchQueryParameterMatchArrayOutput +} + +type GetRouteSpecHttp2RouteMatchQueryParameterMatchArray []GetRouteSpecHttp2RouteMatchQueryParameterMatchInput + +func (GetRouteSpecHttp2RouteMatchQueryParameterMatchArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetRouteSpecHttp2RouteMatchQueryParameterMatch)(nil)).Elem() +} + +func (i GetRouteSpecHttp2RouteMatchQueryParameterMatchArray) ToGetRouteSpecHttp2RouteMatchQueryParameterMatchArrayOutput() GetRouteSpecHttp2RouteMatchQueryParameterMatchArrayOutput { + return i.ToGetRouteSpecHttp2RouteMatchQueryParameterMatchArrayOutputWithContext(context.Background()) +} + +func (i GetRouteSpecHttp2RouteMatchQueryParameterMatchArray) ToGetRouteSpecHttp2RouteMatchQueryParameterMatchArrayOutputWithContext(ctx context.Context) GetRouteSpecHttp2RouteMatchQueryParameterMatchArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetRouteSpecHttp2RouteMatchQueryParameterMatchArrayOutput) +} + +type GetRouteSpecHttp2RouteMatchQueryParameterMatchOutput struct{ *pulumi.OutputState } + +func (GetRouteSpecHttp2RouteMatchQueryParameterMatchOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetRouteSpecHttp2RouteMatchQueryParameterMatch)(nil)).Elem() +} + +func (o GetRouteSpecHttp2RouteMatchQueryParameterMatchOutput) ToGetRouteSpecHttp2RouteMatchQueryParameterMatchOutput() GetRouteSpecHttp2RouteMatchQueryParameterMatchOutput { + return o +} + +func (o GetRouteSpecHttp2RouteMatchQueryParameterMatchOutput) ToGetRouteSpecHttp2RouteMatchQueryParameterMatchOutputWithContext(ctx context.Context) GetRouteSpecHttp2RouteMatchQueryParameterMatchOutput { + return o +} + +func (o GetRouteSpecHttp2RouteMatchQueryParameterMatchOutput) Exact() pulumi.StringOutput { + return o.ApplyT(func(v GetRouteSpecHttp2RouteMatchQueryParameterMatch) string { return v.Exact }).(pulumi.StringOutput) +} + +type GetRouteSpecHttp2RouteMatchQueryParameterMatchArrayOutput struct{ *pulumi.OutputState } + +func (GetRouteSpecHttp2RouteMatchQueryParameterMatchArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetRouteSpecHttp2RouteMatchQueryParameterMatch)(nil)).Elem() +} + +func (o GetRouteSpecHttp2RouteMatchQueryParameterMatchArrayOutput) ToGetRouteSpecHttp2RouteMatchQueryParameterMatchArrayOutput() GetRouteSpecHttp2RouteMatchQueryParameterMatchArrayOutput { + return o +} + +func (o GetRouteSpecHttp2RouteMatchQueryParameterMatchArrayOutput) ToGetRouteSpecHttp2RouteMatchQueryParameterMatchArrayOutputWithContext(ctx context.Context) GetRouteSpecHttp2RouteMatchQueryParameterMatchArrayOutput { + return o +} + +func (o GetRouteSpecHttp2RouteMatchQueryParameterMatchArrayOutput) Index(i pulumi.IntInput) GetRouteSpecHttp2RouteMatchQueryParameterMatchOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetRouteSpecHttp2RouteMatchQueryParameterMatch { + return vs[0].([]GetRouteSpecHttp2RouteMatchQueryParameterMatch)[vs[1].(int)] + }).(GetRouteSpecHttp2RouteMatchQueryParameterMatchOutput) +} + +type GetRouteSpecHttp2RouteRetryPolicy struct { + HttpRetryEvents []string `pulumi:"httpRetryEvents"` + MaxRetries int `pulumi:"maxRetries"` + PerRetryTimeouts []GetRouteSpecHttp2RouteRetryPolicyPerRetryTimeout `pulumi:"perRetryTimeouts"` + TcpRetryEvents []string `pulumi:"tcpRetryEvents"` +} + +// GetRouteSpecHttp2RouteRetryPolicyInput is an input type that accepts GetRouteSpecHttp2RouteRetryPolicyArgs and GetRouteSpecHttp2RouteRetryPolicyOutput values. +// You can construct a concrete instance of `GetRouteSpecHttp2RouteRetryPolicyInput` via: +// +// GetRouteSpecHttp2RouteRetryPolicyArgs{...} +type GetRouteSpecHttp2RouteRetryPolicyInput interface { + pulumi.Input + + ToGetRouteSpecHttp2RouteRetryPolicyOutput() GetRouteSpecHttp2RouteRetryPolicyOutput + ToGetRouteSpecHttp2RouteRetryPolicyOutputWithContext(context.Context) GetRouteSpecHttp2RouteRetryPolicyOutput +} + +type GetRouteSpecHttp2RouteRetryPolicyArgs struct { + HttpRetryEvents pulumi.StringArrayInput `pulumi:"httpRetryEvents"` + MaxRetries pulumi.IntInput `pulumi:"maxRetries"` + PerRetryTimeouts GetRouteSpecHttp2RouteRetryPolicyPerRetryTimeoutArrayInput `pulumi:"perRetryTimeouts"` + TcpRetryEvents pulumi.StringArrayInput `pulumi:"tcpRetryEvents"` +} + +func (GetRouteSpecHttp2RouteRetryPolicyArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetRouteSpecHttp2RouteRetryPolicy)(nil)).Elem() +} + +func (i GetRouteSpecHttp2RouteRetryPolicyArgs) ToGetRouteSpecHttp2RouteRetryPolicyOutput() GetRouteSpecHttp2RouteRetryPolicyOutput { + return i.ToGetRouteSpecHttp2RouteRetryPolicyOutputWithContext(context.Background()) +} + +func (i GetRouteSpecHttp2RouteRetryPolicyArgs) ToGetRouteSpecHttp2RouteRetryPolicyOutputWithContext(ctx context.Context) GetRouteSpecHttp2RouteRetryPolicyOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetRouteSpecHttp2RouteRetryPolicyOutput) +} + +// GetRouteSpecHttp2RouteRetryPolicyArrayInput is an input type that accepts GetRouteSpecHttp2RouteRetryPolicyArray and GetRouteSpecHttp2RouteRetryPolicyArrayOutput values. +// You can construct a concrete instance of `GetRouteSpecHttp2RouteRetryPolicyArrayInput` via: +// +// GetRouteSpecHttp2RouteRetryPolicyArray{ GetRouteSpecHttp2RouteRetryPolicyArgs{...} } +type GetRouteSpecHttp2RouteRetryPolicyArrayInput interface { + pulumi.Input + + ToGetRouteSpecHttp2RouteRetryPolicyArrayOutput() GetRouteSpecHttp2RouteRetryPolicyArrayOutput + ToGetRouteSpecHttp2RouteRetryPolicyArrayOutputWithContext(context.Context) GetRouteSpecHttp2RouteRetryPolicyArrayOutput +} + +type GetRouteSpecHttp2RouteRetryPolicyArray []GetRouteSpecHttp2RouteRetryPolicyInput + +func (GetRouteSpecHttp2RouteRetryPolicyArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetRouteSpecHttp2RouteRetryPolicy)(nil)).Elem() +} + +func (i GetRouteSpecHttp2RouteRetryPolicyArray) ToGetRouteSpecHttp2RouteRetryPolicyArrayOutput() GetRouteSpecHttp2RouteRetryPolicyArrayOutput { + return i.ToGetRouteSpecHttp2RouteRetryPolicyArrayOutputWithContext(context.Background()) +} + +func (i GetRouteSpecHttp2RouteRetryPolicyArray) ToGetRouteSpecHttp2RouteRetryPolicyArrayOutputWithContext(ctx context.Context) GetRouteSpecHttp2RouteRetryPolicyArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetRouteSpecHttp2RouteRetryPolicyArrayOutput) +} + +type GetRouteSpecHttp2RouteRetryPolicyOutput struct{ *pulumi.OutputState } + +func (GetRouteSpecHttp2RouteRetryPolicyOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetRouteSpecHttp2RouteRetryPolicy)(nil)).Elem() +} + +func (o GetRouteSpecHttp2RouteRetryPolicyOutput) ToGetRouteSpecHttp2RouteRetryPolicyOutput() GetRouteSpecHttp2RouteRetryPolicyOutput { + return o +} + +func (o GetRouteSpecHttp2RouteRetryPolicyOutput) ToGetRouteSpecHttp2RouteRetryPolicyOutputWithContext(ctx context.Context) GetRouteSpecHttp2RouteRetryPolicyOutput { + return o +} + +func (o GetRouteSpecHttp2RouteRetryPolicyOutput) HttpRetryEvents() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetRouteSpecHttp2RouteRetryPolicy) []string { return v.HttpRetryEvents }).(pulumi.StringArrayOutput) +} + +func (o GetRouteSpecHttp2RouteRetryPolicyOutput) MaxRetries() pulumi.IntOutput { + return o.ApplyT(func(v GetRouteSpecHttp2RouteRetryPolicy) int { return v.MaxRetries }).(pulumi.IntOutput) +} + +func (o GetRouteSpecHttp2RouteRetryPolicyOutput) PerRetryTimeouts() GetRouteSpecHttp2RouteRetryPolicyPerRetryTimeoutArrayOutput { + return o.ApplyT(func(v GetRouteSpecHttp2RouteRetryPolicy) []GetRouteSpecHttp2RouteRetryPolicyPerRetryTimeout { + return v.PerRetryTimeouts + }).(GetRouteSpecHttp2RouteRetryPolicyPerRetryTimeoutArrayOutput) +} + +func (o GetRouteSpecHttp2RouteRetryPolicyOutput) TcpRetryEvents() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetRouteSpecHttp2RouteRetryPolicy) []string { return v.TcpRetryEvents }).(pulumi.StringArrayOutput) +} + +type GetRouteSpecHttp2RouteRetryPolicyArrayOutput struct{ *pulumi.OutputState } + +func (GetRouteSpecHttp2RouteRetryPolicyArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetRouteSpecHttp2RouteRetryPolicy)(nil)).Elem() +} + +func (o GetRouteSpecHttp2RouteRetryPolicyArrayOutput) ToGetRouteSpecHttp2RouteRetryPolicyArrayOutput() GetRouteSpecHttp2RouteRetryPolicyArrayOutput { + return o +} + +func (o GetRouteSpecHttp2RouteRetryPolicyArrayOutput) ToGetRouteSpecHttp2RouteRetryPolicyArrayOutputWithContext(ctx context.Context) GetRouteSpecHttp2RouteRetryPolicyArrayOutput { + return o +} + +func (o GetRouteSpecHttp2RouteRetryPolicyArrayOutput) Index(i pulumi.IntInput) GetRouteSpecHttp2RouteRetryPolicyOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetRouteSpecHttp2RouteRetryPolicy { + return vs[0].([]GetRouteSpecHttp2RouteRetryPolicy)[vs[1].(int)] + }).(GetRouteSpecHttp2RouteRetryPolicyOutput) +} + +type GetRouteSpecHttp2RouteRetryPolicyPerRetryTimeout struct { + Unit string `pulumi:"unit"` + Value int `pulumi:"value"` +} + +// GetRouteSpecHttp2RouteRetryPolicyPerRetryTimeoutInput is an input type that accepts GetRouteSpecHttp2RouteRetryPolicyPerRetryTimeoutArgs and GetRouteSpecHttp2RouteRetryPolicyPerRetryTimeoutOutput values. +// You can construct a concrete instance of `GetRouteSpecHttp2RouteRetryPolicyPerRetryTimeoutInput` via: +// +// GetRouteSpecHttp2RouteRetryPolicyPerRetryTimeoutArgs{...} +type GetRouteSpecHttp2RouteRetryPolicyPerRetryTimeoutInput interface { + pulumi.Input + + ToGetRouteSpecHttp2RouteRetryPolicyPerRetryTimeoutOutput() GetRouteSpecHttp2RouteRetryPolicyPerRetryTimeoutOutput + ToGetRouteSpecHttp2RouteRetryPolicyPerRetryTimeoutOutputWithContext(context.Context) GetRouteSpecHttp2RouteRetryPolicyPerRetryTimeoutOutput +} + +type GetRouteSpecHttp2RouteRetryPolicyPerRetryTimeoutArgs struct { + Unit pulumi.StringInput `pulumi:"unit"` + Value pulumi.IntInput `pulumi:"value"` +} + +func (GetRouteSpecHttp2RouteRetryPolicyPerRetryTimeoutArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetRouteSpecHttp2RouteRetryPolicyPerRetryTimeout)(nil)).Elem() +} + +func (i GetRouteSpecHttp2RouteRetryPolicyPerRetryTimeoutArgs) ToGetRouteSpecHttp2RouteRetryPolicyPerRetryTimeoutOutput() GetRouteSpecHttp2RouteRetryPolicyPerRetryTimeoutOutput { + return i.ToGetRouteSpecHttp2RouteRetryPolicyPerRetryTimeoutOutputWithContext(context.Background()) +} + +func (i GetRouteSpecHttp2RouteRetryPolicyPerRetryTimeoutArgs) ToGetRouteSpecHttp2RouteRetryPolicyPerRetryTimeoutOutputWithContext(ctx context.Context) GetRouteSpecHttp2RouteRetryPolicyPerRetryTimeoutOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetRouteSpecHttp2RouteRetryPolicyPerRetryTimeoutOutput) +} + +// GetRouteSpecHttp2RouteRetryPolicyPerRetryTimeoutArrayInput is an input type that accepts GetRouteSpecHttp2RouteRetryPolicyPerRetryTimeoutArray and GetRouteSpecHttp2RouteRetryPolicyPerRetryTimeoutArrayOutput values. +// You can construct a concrete instance of `GetRouteSpecHttp2RouteRetryPolicyPerRetryTimeoutArrayInput` via: +// +// GetRouteSpecHttp2RouteRetryPolicyPerRetryTimeoutArray{ GetRouteSpecHttp2RouteRetryPolicyPerRetryTimeoutArgs{...} } +type GetRouteSpecHttp2RouteRetryPolicyPerRetryTimeoutArrayInput interface { + pulumi.Input + + ToGetRouteSpecHttp2RouteRetryPolicyPerRetryTimeoutArrayOutput() GetRouteSpecHttp2RouteRetryPolicyPerRetryTimeoutArrayOutput + ToGetRouteSpecHttp2RouteRetryPolicyPerRetryTimeoutArrayOutputWithContext(context.Context) GetRouteSpecHttp2RouteRetryPolicyPerRetryTimeoutArrayOutput +} + +type GetRouteSpecHttp2RouteRetryPolicyPerRetryTimeoutArray []GetRouteSpecHttp2RouteRetryPolicyPerRetryTimeoutInput + +func (GetRouteSpecHttp2RouteRetryPolicyPerRetryTimeoutArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetRouteSpecHttp2RouteRetryPolicyPerRetryTimeout)(nil)).Elem() +} + +func (i GetRouteSpecHttp2RouteRetryPolicyPerRetryTimeoutArray) ToGetRouteSpecHttp2RouteRetryPolicyPerRetryTimeoutArrayOutput() GetRouteSpecHttp2RouteRetryPolicyPerRetryTimeoutArrayOutput { + return i.ToGetRouteSpecHttp2RouteRetryPolicyPerRetryTimeoutArrayOutputWithContext(context.Background()) +} + +func (i GetRouteSpecHttp2RouteRetryPolicyPerRetryTimeoutArray) ToGetRouteSpecHttp2RouteRetryPolicyPerRetryTimeoutArrayOutputWithContext(ctx context.Context) GetRouteSpecHttp2RouteRetryPolicyPerRetryTimeoutArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetRouteSpecHttp2RouteRetryPolicyPerRetryTimeoutArrayOutput) +} + +type GetRouteSpecHttp2RouteRetryPolicyPerRetryTimeoutOutput struct{ *pulumi.OutputState } + +func (GetRouteSpecHttp2RouteRetryPolicyPerRetryTimeoutOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetRouteSpecHttp2RouteRetryPolicyPerRetryTimeout)(nil)).Elem() +} + +func (o GetRouteSpecHttp2RouteRetryPolicyPerRetryTimeoutOutput) ToGetRouteSpecHttp2RouteRetryPolicyPerRetryTimeoutOutput() GetRouteSpecHttp2RouteRetryPolicyPerRetryTimeoutOutput { + return o +} + +func (o GetRouteSpecHttp2RouteRetryPolicyPerRetryTimeoutOutput) ToGetRouteSpecHttp2RouteRetryPolicyPerRetryTimeoutOutputWithContext(ctx context.Context) GetRouteSpecHttp2RouteRetryPolicyPerRetryTimeoutOutput { + return o +} + +func (o GetRouteSpecHttp2RouteRetryPolicyPerRetryTimeoutOutput) Unit() pulumi.StringOutput { + return o.ApplyT(func(v GetRouteSpecHttp2RouteRetryPolicyPerRetryTimeout) string { return v.Unit }).(pulumi.StringOutput) +} + +func (o GetRouteSpecHttp2RouteRetryPolicyPerRetryTimeoutOutput) Value() pulumi.IntOutput { + return o.ApplyT(func(v GetRouteSpecHttp2RouteRetryPolicyPerRetryTimeout) int { return v.Value }).(pulumi.IntOutput) +} + +type GetRouteSpecHttp2RouteRetryPolicyPerRetryTimeoutArrayOutput struct{ *pulumi.OutputState } + +func (GetRouteSpecHttp2RouteRetryPolicyPerRetryTimeoutArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetRouteSpecHttp2RouteRetryPolicyPerRetryTimeout)(nil)).Elem() +} + +func (o GetRouteSpecHttp2RouteRetryPolicyPerRetryTimeoutArrayOutput) ToGetRouteSpecHttp2RouteRetryPolicyPerRetryTimeoutArrayOutput() GetRouteSpecHttp2RouteRetryPolicyPerRetryTimeoutArrayOutput { + return o +} + +func (o GetRouteSpecHttp2RouteRetryPolicyPerRetryTimeoutArrayOutput) ToGetRouteSpecHttp2RouteRetryPolicyPerRetryTimeoutArrayOutputWithContext(ctx context.Context) GetRouteSpecHttp2RouteRetryPolicyPerRetryTimeoutArrayOutput { + return o +} + +func (o GetRouteSpecHttp2RouteRetryPolicyPerRetryTimeoutArrayOutput) Index(i pulumi.IntInput) GetRouteSpecHttp2RouteRetryPolicyPerRetryTimeoutOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetRouteSpecHttp2RouteRetryPolicyPerRetryTimeout { + return vs[0].([]GetRouteSpecHttp2RouteRetryPolicyPerRetryTimeout)[vs[1].(int)] + }).(GetRouteSpecHttp2RouteRetryPolicyPerRetryTimeoutOutput) +} + +type GetRouteSpecHttp2RouteTimeout struct { + Idles []GetRouteSpecHttp2RouteTimeoutIdle `pulumi:"idles"` + PerRequests []GetRouteSpecHttp2RouteTimeoutPerRequest `pulumi:"perRequests"` +} + +// GetRouteSpecHttp2RouteTimeoutInput is an input type that accepts GetRouteSpecHttp2RouteTimeoutArgs and GetRouteSpecHttp2RouteTimeoutOutput values. +// You can construct a concrete instance of `GetRouteSpecHttp2RouteTimeoutInput` via: +// +// GetRouteSpecHttp2RouteTimeoutArgs{...} +type GetRouteSpecHttp2RouteTimeoutInput interface { + pulumi.Input + + ToGetRouteSpecHttp2RouteTimeoutOutput() GetRouteSpecHttp2RouteTimeoutOutput + ToGetRouteSpecHttp2RouteTimeoutOutputWithContext(context.Context) GetRouteSpecHttp2RouteTimeoutOutput +} + +type GetRouteSpecHttp2RouteTimeoutArgs struct { + Idles GetRouteSpecHttp2RouteTimeoutIdleArrayInput `pulumi:"idles"` + PerRequests GetRouteSpecHttp2RouteTimeoutPerRequestArrayInput `pulumi:"perRequests"` +} + +func (GetRouteSpecHttp2RouteTimeoutArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetRouteSpecHttp2RouteTimeout)(nil)).Elem() +} + +func (i GetRouteSpecHttp2RouteTimeoutArgs) ToGetRouteSpecHttp2RouteTimeoutOutput() GetRouteSpecHttp2RouteTimeoutOutput { + return i.ToGetRouteSpecHttp2RouteTimeoutOutputWithContext(context.Background()) +} + +func (i GetRouteSpecHttp2RouteTimeoutArgs) ToGetRouteSpecHttp2RouteTimeoutOutputWithContext(ctx context.Context) GetRouteSpecHttp2RouteTimeoutOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetRouteSpecHttp2RouteTimeoutOutput) +} + +// GetRouteSpecHttp2RouteTimeoutArrayInput is an input type that accepts GetRouteSpecHttp2RouteTimeoutArray and GetRouteSpecHttp2RouteTimeoutArrayOutput values. +// You can construct a concrete instance of `GetRouteSpecHttp2RouteTimeoutArrayInput` via: +// +// GetRouteSpecHttp2RouteTimeoutArray{ GetRouteSpecHttp2RouteTimeoutArgs{...} } +type GetRouteSpecHttp2RouteTimeoutArrayInput interface { + pulumi.Input + + ToGetRouteSpecHttp2RouteTimeoutArrayOutput() GetRouteSpecHttp2RouteTimeoutArrayOutput + ToGetRouteSpecHttp2RouteTimeoutArrayOutputWithContext(context.Context) GetRouteSpecHttp2RouteTimeoutArrayOutput +} + +type GetRouteSpecHttp2RouteTimeoutArray []GetRouteSpecHttp2RouteTimeoutInput + +func (GetRouteSpecHttp2RouteTimeoutArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetRouteSpecHttp2RouteTimeout)(nil)).Elem() +} + +func (i GetRouteSpecHttp2RouteTimeoutArray) ToGetRouteSpecHttp2RouteTimeoutArrayOutput() GetRouteSpecHttp2RouteTimeoutArrayOutput { + return i.ToGetRouteSpecHttp2RouteTimeoutArrayOutputWithContext(context.Background()) +} + +func (i GetRouteSpecHttp2RouteTimeoutArray) ToGetRouteSpecHttp2RouteTimeoutArrayOutputWithContext(ctx context.Context) GetRouteSpecHttp2RouteTimeoutArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetRouteSpecHttp2RouteTimeoutArrayOutput) +} + +type GetRouteSpecHttp2RouteTimeoutOutput struct{ *pulumi.OutputState } + +func (GetRouteSpecHttp2RouteTimeoutOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetRouteSpecHttp2RouteTimeout)(nil)).Elem() +} + +func (o GetRouteSpecHttp2RouteTimeoutOutput) ToGetRouteSpecHttp2RouteTimeoutOutput() GetRouteSpecHttp2RouteTimeoutOutput { + return o +} + +func (o GetRouteSpecHttp2RouteTimeoutOutput) ToGetRouteSpecHttp2RouteTimeoutOutputWithContext(ctx context.Context) GetRouteSpecHttp2RouteTimeoutOutput { + return o +} + +func (o GetRouteSpecHttp2RouteTimeoutOutput) Idles() GetRouteSpecHttp2RouteTimeoutIdleArrayOutput { + return o.ApplyT(func(v GetRouteSpecHttp2RouteTimeout) []GetRouteSpecHttp2RouteTimeoutIdle { return v.Idles }).(GetRouteSpecHttp2RouteTimeoutIdleArrayOutput) +} + +func (o GetRouteSpecHttp2RouteTimeoutOutput) PerRequests() GetRouteSpecHttp2RouteTimeoutPerRequestArrayOutput { + return o.ApplyT(func(v GetRouteSpecHttp2RouteTimeout) []GetRouteSpecHttp2RouteTimeoutPerRequest { return v.PerRequests }).(GetRouteSpecHttp2RouteTimeoutPerRequestArrayOutput) +} + +type GetRouteSpecHttp2RouteTimeoutArrayOutput struct{ *pulumi.OutputState } + +func (GetRouteSpecHttp2RouteTimeoutArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetRouteSpecHttp2RouteTimeout)(nil)).Elem() +} + +func (o GetRouteSpecHttp2RouteTimeoutArrayOutput) ToGetRouteSpecHttp2RouteTimeoutArrayOutput() GetRouteSpecHttp2RouteTimeoutArrayOutput { + return o +} + +func (o GetRouteSpecHttp2RouteTimeoutArrayOutput) ToGetRouteSpecHttp2RouteTimeoutArrayOutputWithContext(ctx context.Context) GetRouteSpecHttp2RouteTimeoutArrayOutput { + return o +} + +func (o GetRouteSpecHttp2RouteTimeoutArrayOutput) Index(i pulumi.IntInput) GetRouteSpecHttp2RouteTimeoutOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetRouteSpecHttp2RouteTimeout { + return vs[0].([]GetRouteSpecHttp2RouteTimeout)[vs[1].(int)] + }).(GetRouteSpecHttp2RouteTimeoutOutput) +} + +type GetRouteSpecHttp2RouteTimeoutIdle struct { + Unit string `pulumi:"unit"` + Value int `pulumi:"value"` +} + +// GetRouteSpecHttp2RouteTimeoutIdleInput is an input type that accepts GetRouteSpecHttp2RouteTimeoutIdleArgs and GetRouteSpecHttp2RouteTimeoutIdleOutput values. +// You can construct a concrete instance of `GetRouteSpecHttp2RouteTimeoutIdleInput` via: +// +// GetRouteSpecHttp2RouteTimeoutIdleArgs{...} +type GetRouteSpecHttp2RouteTimeoutIdleInput interface { + pulumi.Input + + ToGetRouteSpecHttp2RouteTimeoutIdleOutput() GetRouteSpecHttp2RouteTimeoutIdleOutput + ToGetRouteSpecHttp2RouteTimeoutIdleOutputWithContext(context.Context) GetRouteSpecHttp2RouteTimeoutIdleOutput +} + +type GetRouteSpecHttp2RouteTimeoutIdleArgs struct { + Unit pulumi.StringInput `pulumi:"unit"` + Value pulumi.IntInput `pulumi:"value"` +} + +func (GetRouteSpecHttp2RouteTimeoutIdleArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetRouteSpecHttp2RouteTimeoutIdle)(nil)).Elem() +} + +func (i GetRouteSpecHttp2RouteTimeoutIdleArgs) ToGetRouteSpecHttp2RouteTimeoutIdleOutput() GetRouteSpecHttp2RouteTimeoutIdleOutput { + return i.ToGetRouteSpecHttp2RouteTimeoutIdleOutputWithContext(context.Background()) +} + +func (i GetRouteSpecHttp2RouteTimeoutIdleArgs) ToGetRouteSpecHttp2RouteTimeoutIdleOutputWithContext(ctx context.Context) GetRouteSpecHttp2RouteTimeoutIdleOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetRouteSpecHttp2RouteTimeoutIdleOutput) +} + +// GetRouteSpecHttp2RouteTimeoutIdleArrayInput is an input type that accepts GetRouteSpecHttp2RouteTimeoutIdleArray and GetRouteSpecHttp2RouteTimeoutIdleArrayOutput values. +// You can construct a concrete instance of `GetRouteSpecHttp2RouteTimeoutIdleArrayInput` via: +// +// GetRouteSpecHttp2RouteTimeoutIdleArray{ GetRouteSpecHttp2RouteTimeoutIdleArgs{...} } +type GetRouteSpecHttp2RouteTimeoutIdleArrayInput interface { + pulumi.Input + + ToGetRouteSpecHttp2RouteTimeoutIdleArrayOutput() GetRouteSpecHttp2RouteTimeoutIdleArrayOutput + ToGetRouteSpecHttp2RouteTimeoutIdleArrayOutputWithContext(context.Context) GetRouteSpecHttp2RouteTimeoutIdleArrayOutput +} + +type GetRouteSpecHttp2RouteTimeoutIdleArray []GetRouteSpecHttp2RouteTimeoutIdleInput + +func (GetRouteSpecHttp2RouteTimeoutIdleArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetRouteSpecHttp2RouteTimeoutIdle)(nil)).Elem() +} + +func (i GetRouteSpecHttp2RouteTimeoutIdleArray) ToGetRouteSpecHttp2RouteTimeoutIdleArrayOutput() GetRouteSpecHttp2RouteTimeoutIdleArrayOutput { + return i.ToGetRouteSpecHttp2RouteTimeoutIdleArrayOutputWithContext(context.Background()) +} + +func (i GetRouteSpecHttp2RouteTimeoutIdleArray) ToGetRouteSpecHttp2RouteTimeoutIdleArrayOutputWithContext(ctx context.Context) GetRouteSpecHttp2RouteTimeoutIdleArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetRouteSpecHttp2RouteTimeoutIdleArrayOutput) +} + +type GetRouteSpecHttp2RouteTimeoutIdleOutput struct{ *pulumi.OutputState } + +func (GetRouteSpecHttp2RouteTimeoutIdleOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetRouteSpecHttp2RouteTimeoutIdle)(nil)).Elem() +} + +func (o GetRouteSpecHttp2RouteTimeoutIdleOutput) ToGetRouteSpecHttp2RouteTimeoutIdleOutput() GetRouteSpecHttp2RouteTimeoutIdleOutput { + return o +} + +func (o GetRouteSpecHttp2RouteTimeoutIdleOutput) ToGetRouteSpecHttp2RouteTimeoutIdleOutputWithContext(ctx context.Context) GetRouteSpecHttp2RouteTimeoutIdleOutput { + return o +} + +func (o GetRouteSpecHttp2RouteTimeoutIdleOutput) Unit() pulumi.StringOutput { + return o.ApplyT(func(v GetRouteSpecHttp2RouteTimeoutIdle) string { return v.Unit }).(pulumi.StringOutput) +} + +func (o GetRouteSpecHttp2RouteTimeoutIdleOutput) Value() pulumi.IntOutput { + return o.ApplyT(func(v GetRouteSpecHttp2RouteTimeoutIdle) int { return v.Value }).(pulumi.IntOutput) +} + +type GetRouteSpecHttp2RouteTimeoutIdleArrayOutput struct{ *pulumi.OutputState } + +func (GetRouteSpecHttp2RouteTimeoutIdleArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetRouteSpecHttp2RouteTimeoutIdle)(nil)).Elem() +} + +func (o GetRouteSpecHttp2RouteTimeoutIdleArrayOutput) ToGetRouteSpecHttp2RouteTimeoutIdleArrayOutput() GetRouteSpecHttp2RouteTimeoutIdleArrayOutput { + return o +} + +func (o GetRouteSpecHttp2RouteTimeoutIdleArrayOutput) ToGetRouteSpecHttp2RouteTimeoutIdleArrayOutputWithContext(ctx context.Context) GetRouteSpecHttp2RouteTimeoutIdleArrayOutput { + return o +} + +func (o GetRouteSpecHttp2RouteTimeoutIdleArrayOutput) Index(i pulumi.IntInput) GetRouteSpecHttp2RouteTimeoutIdleOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetRouteSpecHttp2RouteTimeoutIdle { + return vs[0].([]GetRouteSpecHttp2RouteTimeoutIdle)[vs[1].(int)] + }).(GetRouteSpecHttp2RouteTimeoutIdleOutput) +} + +type GetRouteSpecHttp2RouteTimeoutPerRequest struct { + Unit string `pulumi:"unit"` + Value int `pulumi:"value"` +} + +// GetRouteSpecHttp2RouteTimeoutPerRequestInput is an input type that accepts GetRouteSpecHttp2RouteTimeoutPerRequestArgs and GetRouteSpecHttp2RouteTimeoutPerRequestOutput values. +// You can construct a concrete instance of `GetRouteSpecHttp2RouteTimeoutPerRequestInput` via: +// +// GetRouteSpecHttp2RouteTimeoutPerRequestArgs{...} +type GetRouteSpecHttp2RouteTimeoutPerRequestInput interface { + pulumi.Input + + ToGetRouteSpecHttp2RouteTimeoutPerRequestOutput() GetRouteSpecHttp2RouteTimeoutPerRequestOutput + ToGetRouteSpecHttp2RouteTimeoutPerRequestOutputWithContext(context.Context) GetRouteSpecHttp2RouteTimeoutPerRequestOutput +} + +type GetRouteSpecHttp2RouteTimeoutPerRequestArgs struct { + Unit pulumi.StringInput `pulumi:"unit"` + Value pulumi.IntInput `pulumi:"value"` +} + +func (GetRouteSpecHttp2RouteTimeoutPerRequestArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetRouteSpecHttp2RouteTimeoutPerRequest)(nil)).Elem() +} + +func (i GetRouteSpecHttp2RouteTimeoutPerRequestArgs) ToGetRouteSpecHttp2RouteTimeoutPerRequestOutput() GetRouteSpecHttp2RouteTimeoutPerRequestOutput { + return i.ToGetRouteSpecHttp2RouteTimeoutPerRequestOutputWithContext(context.Background()) +} + +func (i GetRouteSpecHttp2RouteTimeoutPerRequestArgs) ToGetRouteSpecHttp2RouteTimeoutPerRequestOutputWithContext(ctx context.Context) GetRouteSpecHttp2RouteTimeoutPerRequestOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetRouteSpecHttp2RouteTimeoutPerRequestOutput) +} + +// GetRouteSpecHttp2RouteTimeoutPerRequestArrayInput is an input type that accepts GetRouteSpecHttp2RouteTimeoutPerRequestArray and GetRouteSpecHttp2RouteTimeoutPerRequestArrayOutput values. +// You can construct a concrete instance of `GetRouteSpecHttp2RouteTimeoutPerRequestArrayInput` via: +// +// GetRouteSpecHttp2RouteTimeoutPerRequestArray{ GetRouteSpecHttp2RouteTimeoutPerRequestArgs{...} } +type GetRouteSpecHttp2RouteTimeoutPerRequestArrayInput interface { + pulumi.Input + + ToGetRouteSpecHttp2RouteTimeoutPerRequestArrayOutput() GetRouteSpecHttp2RouteTimeoutPerRequestArrayOutput + ToGetRouteSpecHttp2RouteTimeoutPerRequestArrayOutputWithContext(context.Context) GetRouteSpecHttp2RouteTimeoutPerRequestArrayOutput +} + +type GetRouteSpecHttp2RouteTimeoutPerRequestArray []GetRouteSpecHttp2RouteTimeoutPerRequestInput + +func (GetRouteSpecHttp2RouteTimeoutPerRequestArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetRouteSpecHttp2RouteTimeoutPerRequest)(nil)).Elem() +} + +func (i GetRouteSpecHttp2RouteTimeoutPerRequestArray) ToGetRouteSpecHttp2RouteTimeoutPerRequestArrayOutput() GetRouteSpecHttp2RouteTimeoutPerRequestArrayOutput { + return i.ToGetRouteSpecHttp2RouteTimeoutPerRequestArrayOutputWithContext(context.Background()) +} + +func (i GetRouteSpecHttp2RouteTimeoutPerRequestArray) ToGetRouteSpecHttp2RouteTimeoutPerRequestArrayOutputWithContext(ctx context.Context) GetRouteSpecHttp2RouteTimeoutPerRequestArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetRouteSpecHttp2RouteTimeoutPerRequestArrayOutput) +} + +type GetRouteSpecHttp2RouteTimeoutPerRequestOutput struct{ *pulumi.OutputState } + +func (GetRouteSpecHttp2RouteTimeoutPerRequestOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetRouteSpecHttp2RouteTimeoutPerRequest)(nil)).Elem() +} + +func (o GetRouteSpecHttp2RouteTimeoutPerRequestOutput) ToGetRouteSpecHttp2RouteTimeoutPerRequestOutput() GetRouteSpecHttp2RouteTimeoutPerRequestOutput { + return o +} + +func (o GetRouteSpecHttp2RouteTimeoutPerRequestOutput) ToGetRouteSpecHttp2RouteTimeoutPerRequestOutputWithContext(ctx context.Context) GetRouteSpecHttp2RouteTimeoutPerRequestOutput { + return o +} + +func (o GetRouteSpecHttp2RouteTimeoutPerRequestOutput) Unit() pulumi.StringOutput { + return o.ApplyT(func(v GetRouteSpecHttp2RouteTimeoutPerRequest) string { return v.Unit }).(pulumi.StringOutput) +} + +func (o GetRouteSpecHttp2RouteTimeoutPerRequestOutput) Value() pulumi.IntOutput { + return o.ApplyT(func(v GetRouteSpecHttp2RouteTimeoutPerRequest) int { return v.Value }).(pulumi.IntOutput) +} + +type GetRouteSpecHttp2RouteTimeoutPerRequestArrayOutput struct{ *pulumi.OutputState } + +func (GetRouteSpecHttp2RouteTimeoutPerRequestArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetRouteSpecHttp2RouteTimeoutPerRequest)(nil)).Elem() +} + +func (o GetRouteSpecHttp2RouteTimeoutPerRequestArrayOutput) ToGetRouteSpecHttp2RouteTimeoutPerRequestArrayOutput() GetRouteSpecHttp2RouteTimeoutPerRequestArrayOutput { + return o +} + +func (o GetRouteSpecHttp2RouteTimeoutPerRequestArrayOutput) ToGetRouteSpecHttp2RouteTimeoutPerRequestArrayOutputWithContext(ctx context.Context) GetRouteSpecHttp2RouteTimeoutPerRequestArrayOutput { + return o +} + +func (o GetRouteSpecHttp2RouteTimeoutPerRequestArrayOutput) Index(i pulumi.IntInput) GetRouteSpecHttp2RouteTimeoutPerRequestOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetRouteSpecHttp2RouteTimeoutPerRequest { + return vs[0].([]GetRouteSpecHttp2RouteTimeoutPerRequest)[vs[1].(int)] + }).(GetRouteSpecHttp2RouteTimeoutPerRequestOutput) +} + +type GetRouteSpecHttpRoute struct { + Actions []GetRouteSpecHttpRouteAction `pulumi:"actions"` + Matches []GetRouteSpecHttpRouteMatch `pulumi:"matches"` + RetryPolicies []GetRouteSpecHttpRouteRetryPolicy `pulumi:"retryPolicies"` + Timeouts []GetRouteSpecHttpRouteTimeout `pulumi:"timeouts"` +} + +// GetRouteSpecHttpRouteInput is an input type that accepts GetRouteSpecHttpRouteArgs and GetRouteSpecHttpRouteOutput values. +// You can construct a concrete instance of `GetRouteSpecHttpRouteInput` via: +// +// GetRouteSpecHttpRouteArgs{...} +type GetRouteSpecHttpRouteInput interface { + pulumi.Input + + ToGetRouteSpecHttpRouteOutput() GetRouteSpecHttpRouteOutput + ToGetRouteSpecHttpRouteOutputWithContext(context.Context) GetRouteSpecHttpRouteOutput +} + +type GetRouteSpecHttpRouteArgs struct { + Actions GetRouteSpecHttpRouteActionArrayInput `pulumi:"actions"` + Matches GetRouteSpecHttpRouteMatchArrayInput `pulumi:"matches"` + RetryPolicies GetRouteSpecHttpRouteRetryPolicyArrayInput `pulumi:"retryPolicies"` + Timeouts GetRouteSpecHttpRouteTimeoutArrayInput `pulumi:"timeouts"` +} + +func (GetRouteSpecHttpRouteArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetRouteSpecHttpRoute)(nil)).Elem() +} + +func (i GetRouteSpecHttpRouteArgs) ToGetRouteSpecHttpRouteOutput() GetRouteSpecHttpRouteOutput { + return i.ToGetRouteSpecHttpRouteOutputWithContext(context.Background()) +} + +func (i GetRouteSpecHttpRouteArgs) ToGetRouteSpecHttpRouteOutputWithContext(ctx context.Context) GetRouteSpecHttpRouteOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetRouteSpecHttpRouteOutput) +} + +// GetRouteSpecHttpRouteArrayInput is an input type that accepts GetRouteSpecHttpRouteArray and GetRouteSpecHttpRouteArrayOutput values. +// You can construct a concrete instance of `GetRouteSpecHttpRouteArrayInput` via: +// +// GetRouteSpecHttpRouteArray{ GetRouteSpecHttpRouteArgs{...} } +type GetRouteSpecHttpRouteArrayInput interface { + pulumi.Input + + ToGetRouteSpecHttpRouteArrayOutput() GetRouteSpecHttpRouteArrayOutput + ToGetRouteSpecHttpRouteArrayOutputWithContext(context.Context) GetRouteSpecHttpRouteArrayOutput +} + +type GetRouteSpecHttpRouteArray []GetRouteSpecHttpRouteInput + +func (GetRouteSpecHttpRouteArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetRouteSpecHttpRoute)(nil)).Elem() +} + +func (i GetRouteSpecHttpRouteArray) ToGetRouteSpecHttpRouteArrayOutput() GetRouteSpecHttpRouteArrayOutput { + return i.ToGetRouteSpecHttpRouteArrayOutputWithContext(context.Background()) +} + +func (i GetRouteSpecHttpRouteArray) ToGetRouteSpecHttpRouteArrayOutputWithContext(ctx context.Context) GetRouteSpecHttpRouteArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetRouteSpecHttpRouteArrayOutput) +} + +type GetRouteSpecHttpRouteOutput struct{ *pulumi.OutputState } + +func (GetRouteSpecHttpRouteOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetRouteSpecHttpRoute)(nil)).Elem() +} + +func (o GetRouteSpecHttpRouteOutput) ToGetRouteSpecHttpRouteOutput() GetRouteSpecHttpRouteOutput { + return o +} + +func (o GetRouteSpecHttpRouteOutput) ToGetRouteSpecHttpRouteOutputWithContext(ctx context.Context) GetRouteSpecHttpRouteOutput { + return o +} + +func (o GetRouteSpecHttpRouteOutput) Actions() GetRouteSpecHttpRouteActionArrayOutput { + return o.ApplyT(func(v GetRouteSpecHttpRoute) []GetRouteSpecHttpRouteAction { return v.Actions }).(GetRouteSpecHttpRouteActionArrayOutput) +} + +func (o GetRouteSpecHttpRouteOutput) Matches() GetRouteSpecHttpRouteMatchArrayOutput { + return o.ApplyT(func(v GetRouteSpecHttpRoute) []GetRouteSpecHttpRouteMatch { return v.Matches }).(GetRouteSpecHttpRouteMatchArrayOutput) +} + +func (o GetRouteSpecHttpRouteOutput) RetryPolicies() GetRouteSpecHttpRouteRetryPolicyArrayOutput { + return o.ApplyT(func(v GetRouteSpecHttpRoute) []GetRouteSpecHttpRouteRetryPolicy { return v.RetryPolicies }).(GetRouteSpecHttpRouteRetryPolicyArrayOutput) +} + +func (o GetRouteSpecHttpRouteOutput) Timeouts() GetRouteSpecHttpRouteTimeoutArrayOutput { + return o.ApplyT(func(v GetRouteSpecHttpRoute) []GetRouteSpecHttpRouteTimeout { return v.Timeouts }).(GetRouteSpecHttpRouteTimeoutArrayOutput) } -type virtualNodeSpecListenerOutlierDetectionPtrType VirtualNodeSpecListenerOutlierDetectionArgs +type GetRouteSpecHttpRouteArrayOutput struct{ *pulumi.OutputState } -func VirtualNodeSpecListenerOutlierDetectionPtr(v *VirtualNodeSpecListenerOutlierDetectionArgs) VirtualNodeSpecListenerOutlierDetectionPtrInput { - return (*virtualNodeSpecListenerOutlierDetectionPtrType)(v) +func (GetRouteSpecHttpRouteArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetRouteSpecHttpRoute)(nil)).Elem() } -func (*virtualNodeSpecListenerOutlierDetectionPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**VirtualNodeSpecListenerOutlierDetection)(nil)).Elem() +func (o GetRouteSpecHttpRouteArrayOutput) ToGetRouteSpecHttpRouteArrayOutput() GetRouteSpecHttpRouteArrayOutput { + return o } -func (i *virtualNodeSpecListenerOutlierDetectionPtrType) ToVirtualNodeSpecListenerOutlierDetectionPtrOutput() VirtualNodeSpecListenerOutlierDetectionPtrOutput { - return i.ToVirtualNodeSpecListenerOutlierDetectionPtrOutputWithContext(context.Background()) +func (o GetRouteSpecHttpRouteArrayOutput) ToGetRouteSpecHttpRouteArrayOutputWithContext(ctx context.Context) GetRouteSpecHttpRouteArrayOutput { + return o } -func (i *virtualNodeSpecListenerOutlierDetectionPtrType) ToVirtualNodeSpecListenerOutlierDetectionPtrOutputWithContext(ctx context.Context) VirtualNodeSpecListenerOutlierDetectionPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecListenerOutlierDetectionPtrOutput) +func (o GetRouteSpecHttpRouteArrayOutput) Index(i pulumi.IntInput) GetRouteSpecHttpRouteOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetRouteSpecHttpRoute { + return vs[0].([]GetRouteSpecHttpRoute)[vs[1].(int)] + }).(GetRouteSpecHttpRouteOutput) } -type VirtualNodeSpecListenerOutlierDetectionOutput struct{ *pulumi.OutputState } +type GetRouteSpecHttpRouteAction struct { + WeightedTargets []GetRouteSpecHttpRouteActionWeightedTarget `pulumi:"weightedTargets"` +} -func (VirtualNodeSpecListenerOutlierDetectionOutput) ElementType() reflect.Type { - return reflect.TypeOf((*VirtualNodeSpecListenerOutlierDetection)(nil)).Elem() +// GetRouteSpecHttpRouteActionInput is an input type that accepts GetRouteSpecHttpRouteActionArgs and GetRouteSpecHttpRouteActionOutput values. +// You can construct a concrete instance of `GetRouteSpecHttpRouteActionInput` via: +// +// GetRouteSpecHttpRouteActionArgs{...} +type GetRouteSpecHttpRouteActionInput interface { + pulumi.Input + + ToGetRouteSpecHttpRouteActionOutput() GetRouteSpecHttpRouteActionOutput + ToGetRouteSpecHttpRouteActionOutputWithContext(context.Context) GetRouteSpecHttpRouteActionOutput } -func (o VirtualNodeSpecListenerOutlierDetectionOutput) ToVirtualNodeSpecListenerOutlierDetectionOutput() VirtualNodeSpecListenerOutlierDetectionOutput { - return o +type GetRouteSpecHttpRouteActionArgs struct { + WeightedTargets GetRouteSpecHttpRouteActionWeightedTargetArrayInput `pulumi:"weightedTargets"` } -func (o VirtualNodeSpecListenerOutlierDetectionOutput) ToVirtualNodeSpecListenerOutlierDetectionOutputWithContext(ctx context.Context) VirtualNodeSpecListenerOutlierDetectionOutput { - return o +func (GetRouteSpecHttpRouteActionArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetRouteSpecHttpRouteAction)(nil)).Elem() } -func (o VirtualNodeSpecListenerOutlierDetectionOutput) ToVirtualNodeSpecListenerOutlierDetectionPtrOutput() VirtualNodeSpecListenerOutlierDetectionPtrOutput { - return o.ToVirtualNodeSpecListenerOutlierDetectionPtrOutputWithContext(context.Background()) +func (i GetRouteSpecHttpRouteActionArgs) ToGetRouteSpecHttpRouteActionOutput() GetRouteSpecHttpRouteActionOutput { + return i.ToGetRouteSpecHttpRouteActionOutputWithContext(context.Background()) } -func (o VirtualNodeSpecListenerOutlierDetectionOutput) ToVirtualNodeSpecListenerOutlierDetectionPtrOutputWithContext(ctx context.Context) VirtualNodeSpecListenerOutlierDetectionPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v VirtualNodeSpecListenerOutlierDetection) *VirtualNodeSpecListenerOutlierDetection { - return &v - }).(VirtualNodeSpecListenerOutlierDetectionPtrOutput) +func (i GetRouteSpecHttpRouteActionArgs) ToGetRouteSpecHttpRouteActionOutputWithContext(ctx context.Context) GetRouteSpecHttpRouteActionOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetRouteSpecHttpRouteActionOutput) } -// Base amount of time for which a host is ejected. -func (o VirtualNodeSpecListenerOutlierDetectionOutput) BaseEjectionDuration() VirtualNodeSpecListenerOutlierDetectionBaseEjectionDurationOutput { - return o.ApplyT(func(v VirtualNodeSpecListenerOutlierDetection) VirtualNodeSpecListenerOutlierDetectionBaseEjectionDuration { - return v.BaseEjectionDuration - }).(VirtualNodeSpecListenerOutlierDetectionBaseEjectionDurationOutput) +// GetRouteSpecHttpRouteActionArrayInput is an input type that accepts GetRouteSpecHttpRouteActionArray and GetRouteSpecHttpRouteActionArrayOutput values. +// You can construct a concrete instance of `GetRouteSpecHttpRouteActionArrayInput` via: +// +// GetRouteSpecHttpRouteActionArray{ GetRouteSpecHttpRouteActionArgs{...} } +type GetRouteSpecHttpRouteActionArrayInput interface { + pulumi.Input + + ToGetRouteSpecHttpRouteActionArrayOutput() GetRouteSpecHttpRouteActionArrayOutput + ToGetRouteSpecHttpRouteActionArrayOutputWithContext(context.Context) GetRouteSpecHttpRouteActionArrayOutput } -// Time interval between ejection sweep analysis. -func (o VirtualNodeSpecListenerOutlierDetectionOutput) Interval() VirtualNodeSpecListenerOutlierDetectionIntervalOutput { - return o.ApplyT(func(v VirtualNodeSpecListenerOutlierDetection) VirtualNodeSpecListenerOutlierDetectionInterval { - return v.Interval - }).(VirtualNodeSpecListenerOutlierDetectionIntervalOutput) +type GetRouteSpecHttpRouteActionArray []GetRouteSpecHttpRouteActionInput + +func (GetRouteSpecHttpRouteActionArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetRouteSpecHttpRouteAction)(nil)).Elem() } -// Maximum percentage of hosts in load balancing pool for upstream service that can be ejected. Will eject at least one host regardless of the value. -// Minimum value of `0`. Maximum value of `100`. -func (o VirtualNodeSpecListenerOutlierDetectionOutput) MaxEjectionPercent() pulumi.IntOutput { - return o.ApplyT(func(v VirtualNodeSpecListenerOutlierDetection) int { return v.MaxEjectionPercent }).(pulumi.IntOutput) +func (i GetRouteSpecHttpRouteActionArray) ToGetRouteSpecHttpRouteActionArrayOutput() GetRouteSpecHttpRouteActionArrayOutput { + return i.ToGetRouteSpecHttpRouteActionArrayOutputWithContext(context.Background()) } -// Number of consecutive `5xx` errors required for ejection. Minimum value of `1`. -func (o VirtualNodeSpecListenerOutlierDetectionOutput) MaxServerErrors() pulumi.IntOutput { - return o.ApplyT(func(v VirtualNodeSpecListenerOutlierDetection) int { return v.MaxServerErrors }).(pulumi.IntOutput) +func (i GetRouteSpecHttpRouteActionArray) ToGetRouteSpecHttpRouteActionArrayOutputWithContext(ctx context.Context) GetRouteSpecHttpRouteActionArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetRouteSpecHttpRouteActionArrayOutput) } -type VirtualNodeSpecListenerOutlierDetectionPtrOutput struct{ *pulumi.OutputState } +type GetRouteSpecHttpRouteActionOutput struct{ *pulumi.OutputState } -func (VirtualNodeSpecListenerOutlierDetectionPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**VirtualNodeSpecListenerOutlierDetection)(nil)).Elem() +func (GetRouteSpecHttpRouteActionOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetRouteSpecHttpRouteAction)(nil)).Elem() } -func (o VirtualNodeSpecListenerOutlierDetectionPtrOutput) ToVirtualNodeSpecListenerOutlierDetectionPtrOutput() VirtualNodeSpecListenerOutlierDetectionPtrOutput { +func (o GetRouteSpecHttpRouteActionOutput) ToGetRouteSpecHttpRouteActionOutput() GetRouteSpecHttpRouteActionOutput { return o } -func (o VirtualNodeSpecListenerOutlierDetectionPtrOutput) ToVirtualNodeSpecListenerOutlierDetectionPtrOutputWithContext(ctx context.Context) VirtualNodeSpecListenerOutlierDetectionPtrOutput { +func (o GetRouteSpecHttpRouteActionOutput) ToGetRouteSpecHttpRouteActionOutputWithContext(ctx context.Context) GetRouteSpecHttpRouteActionOutput { return o } -func (o VirtualNodeSpecListenerOutlierDetectionPtrOutput) Elem() VirtualNodeSpecListenerOutlierDetectionOutput { - return o.ApplyT(func(v *VirtualNodeSpecListenerOutlierDetection) VirtualNodeSpecListenerOutlierDetection { - if v != nil { - return *v - } - var ret VirtualNodeSpecListenerOutlierDetection - return ret - }).(VirtualNodeSpecListenerOutlierDetectionOutput) +func (o GetRouteSpecHttpRouteActionOutput) WeightedTargets() GetRouteSpecHttpRouteActionWeightedTargetArrayOutput { + return o.ApplyT(func(v GetRouteSpecHttpRouteAction) []GetRouteSpecHttpRouteActionWeightedTarget { + return v.WeightedTargets + }).(GetRouteSpecHttpRouteActionWeightedTargetArrayOutput) } -// Base amount of time for which a host is ejected. -func (o VirtualNodeSpecListenerOutlierDetectionPtrOutput) BaseEjectionDuration() VirtualNodeSpecListenerOutlierDetectionBaseEjectionDurationPtrOutput { - return o.ApplyT(func(v *VirtualNodeSpecListenerOutlierDetection) *VirtualNodeSpecListenerOutlierDetectionBaseEjectionDuration { - if v == nil { - return nil - } - return &v.BaseEjectionDuration - }).(VirtualNodeSpecListenerOutlierDetectionBaseEjectionDurationPtrOutput) +type GetRouteSpecHttpRouteActionArrayOutput struct{ *pulumi.OutputState } + +func (GetRouteSpecHttpRouteActionArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetRouteSpecHttpRouteAction)(nil)).Elem() } -// Time interval between ejection sweep analysis. -func (o VirtualNodeSpecListenerOutlierDetectionPtrOutput) Interval() VirtualNodeSpecListenerOutlierDetectionIntervalPtrOutput { - return o.ApplyT(func(v *VirtualNodeSpecListenerOutlierDetection) *VirtualNodeSpecListenerOutlierDetectionInterval { - if v == nil { - return nil - } - return &v.Interval - }).(VirtualNodeSpecListenerOutlierDetectionIntervalPtrOutput) +func (o GetRouteSpecHttpRouteActionArrayOutput) ToGetRouteSpecHttpRouteActionArrayOutput() GetRouteSpecHttpRouteActionArrayOutput { + return o } -// Maximum percentage of hosts in load balancing pool for upstream service that can be ejected. Will eject at least one host regardless of the value. -// Minimum value of `0`. Maximum value of `100`. -func (o VirtualNodeSpecListenerOutlierDetectionPtrOutput) MaxEjectionPercent() pulumi.IntPtrOutput { - return o.ApplyT(func(v *VirtualNodeSpecListenerOutlierDetection) *int { - if v == nil { - return nil - } - return &v.MaxEjectionPercent - }).(pulumi.IntPtrOutput) +func (o GetRouteSpecHttpRouteActionArrayOutput) ToGetRouteSpecHttpRouteActionArrayOutputWithContext(ctx context.Context) GetRouteSpecHttpRouteActionArrayOutput { + return o } -// Number of consecutive `5xx` errors required for ejection. Minimum value of `1`. -func (o VirtualNodeSpecListenerOutlierDetectionPtrOutput) MaxServerErrors() pulumi.IntPtrOutput { - return o.ApplyT(func(v *VirtualNodeSpecListenerOutlierDetection) *int { - if v == nil { - return nil - } - return &v.MaxServerErrors - }).(pulumi.IntPtrOutput) +func (o GetRouteSpecHttpRouteActionArrayOutput) Index(i pulumi.IntInput) GetRouteSpecHttpRouteActionOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetRouteSpecHttpRouteAction { + return vs[0].([]GetRouteSpecHttpRouteAction)[vs[1].(int)] + }).(GetRouteSpecHttpRouteActionOutput) } -type VirtualNodeSpecListenerOutlierDetectionBaseEjectionDuration struct { - // Unit of time. Valid values: `ms`, `s`. - Unit string `pulumi:"unit"` - // Number of time units. Minimum value of `0`. - Value int `pulumi:"value"` +type GetRouteSpecHttpRouteActionWeightedTarget struct { + Port int `pulumi:"port"` + VirtualNode string `pulumi:"virtualNode"` + Weight int `pulumi:"weight"` } -// VirtualNodeSpecListenerOutlierDetectionBaseEjectionDurationInput is an input type that accepts VirtualNodeSpecListenerOutlierDetectionBaseEjectionDurationArgs and VirtualNodeSpecListenerOutlierDetectionBaseEjectionDurationOutput values. -// You can construct a concrete instance of `VirtualNodeSpecListenerOutlierDetectionBaseEjectionDurationInput` via: +// GetRouteSpecHttpRouteActionWeightedTargetInput is an input type that accepts GetRouteSpecHttpRouteActionWeightedTargetArgs and GetRouteSpecHttpRouteActionWeightedTargetOutput values. +// You can construct a concrete instance of `GetRouteSpecHttpRouteActionWeightedTargetInput` via: // -// VirtualNodeSpecListenerOutlierDetectionBaseEjectionDurationArgs{...} -type VirtualNodeSpecListenerOutlierDetectionBaseEjectionDurationInput interface { +// GetRouteSpecHttpRouteActionWeightedTargetArgs{...} +type GetRouteSpecHttpRouteActionWeightedTargetInput interface { pulumi.Input - ToVirtualNodeSpecListenerOutlierDetectionBaseEjectionDurationOutput() VirtualNodeSpecListenerOutlierDetectionBaseEjectionDurationOutput - ToVirtualNodeSpecListenerOutlierDetectionBaseEjectionDurationOutputWithContext(context.Context) VirtualNodeSpecListenerOutlierDetectionBaseEjectionDurationOutput -} - -type VirtualNodeSpecListenerOutlierDetectionBaseEjectionDurationArgs struct { - // Unit of time. Valid values: `ms`, `s`. - Unit pulumi.StringInput `pulumi:"unit"` - // Number of time units. Minimum value of `0`. - Value pulumi.IntInput `pulumi:"value"` -} - -func (VirtualNodeSpecListenerOutlierDetectionBaseEjectionDurationArgs) ElementType() reflect.Type { - return reflect.TypeOf((*VirtualNodeSpecListenerOutlierDetectionBaseEjectionDuration)(nil)).Elem() + ToGetRouteSpecHttpRouteActionWeightedTargetOutput() GetRouteSpecHttpRouteActionWeightedTargetOutput + ToGetRouteSpecHttpRouteActionWeightedTargetOutputWithContext(context.Context) GetRouteSpecHttpRouteActionWeightedTargetOutput } -func (i VirtualNodeSpecListenerOutlierDetectionBaseEjectionDurationArgs) ToVirtualNodeSpecListenerOutlierDetectionBaseEjectionDurationOutput() VirtualNodeSpecListenerOutlierDetectionBaseEjectionDurationOutput { - return i.ToVirtualNodeSpecListenerOutlierDetectionBaseEjectionDurationOutputWithContext(context.Background()) +type GetRouteSpecHttpRouteActionWeightedTargetArgs struct { + Port pulumi.IntInput `pulumi:"port"` + VirtualNode pulumi.StringInput `pulumi:"virtualNode"` + Weight pulumi.IntInput `pulumi:"weight"` } -func (i VirtualNodeSpecListenerOutlierDetectionBaseEjectionDurationArgs) ToVirtualNodeSpecListenerOutlierDetectionBaseEjectionDurationOutputWithContext(ctx context.Context) VirtualNodeSpecListenerOutlierDetectionBaseEjectionDurationOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecListenerOutlierDetectionBaseEjectionDurationOutput) +func (GetRouteSpecHttpRouteActionWeightedTargetArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetRouteSpecHttpRouteActionWeightedTarget)(nil)).Elem() } -func (i VirtualNodeSpecListenerOutlierDetectionBaseEjectionDurationArgs) ToVirtualNodeSpecListenerOutlierDetectionBaseEjectionDurationPtrOutput() VirtualNodeSpecListenerOutlierDetectionBaseEjectionDurationPtrOutput { - return i.ToVirtualNodeSpecListenerOutlierDetectionBaseEjectionDurationPtrOutputWithContext(context.Background()) +func (i GetRouteSpecHttpRouteActionWeightedTargetArgs) ToGetRouteSpecHttpRouteActionWeightedTargetOutput() GetRouteSpecHttpRouteActionWeightedTargetOutput { + return i.ToGetRouteSpecHttpRouteActionWeightedTargetOutputWithContext(context.Background()) } -func (i VirtualNodeSpecListenerOutlierDetectionBaseEjectionDurationArgs) ToVirtualNodeSpecListenerOutlierDetectionBaseEjectionDurationPtrOutputWithContext(ctx context.Context) VirtualNodeSpecListenerOutlierDetectionBaseEjectionDurationPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecListenerOutlierDetectionBaseEjectionDurationOutput).ToVirtualNodeSpecListenerOutlierDetectionBaseEjectionDurationPtrOutputWithContext(ctx) +func (i GetRouteSpecHttpRouteActionWeightedTargetArgs) ToGetRouteSpecHttpRouteActionWeightedTargetOutputWithContext(ctx context.Context) GetRouteSpecHttpRouteActionWeightedTargetOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetRouteSpecHttpRouteActionWeightedTargetOutput) } -// VirtualNodeSpecListenerOutlierDetectionBaseEjectionDurationPtrInput is an input type that accepts VirtualNodeSpecListenerOutlierDetectionBaseEjectionDurationArgs, VirtualNodeSpecListenerOutlierDetectionBaseEjectionDurationPtr and VirtualNodeSpecListenerOutlierDetectionBaseEjectionDurationPtrOutput values. -// You can construct a concrete instance of `VirtualNodeSpecListenerOutlierDetectionBaseEjectionDurationPtrInput` via: -// -// VirtualNodeSpecListenerOutlierDetectionBaseEjectionDurationArgs{...} -// -// or: +// GetRouteSpecHttpRouteActionWeightedTargetArrayInput is an input type that accepts GetRouteSpecHttpRouteActionWeightedTargetArray and GetRouteSpecHttpRouteActionWeightedTargetArrayOutput values. +// You can construct a concrete instance of `GetRouteSpecHttpRouteActionWeightedTargetArrayInput` via: // -// nil -type VirtualNodeSpecListenerOutlierDetectionBaseEjectionDurationPtrInput interface { +// GetRouteSpecHttpRouteActionWeightedTargetArray{ GetRouteSpecHttpRouteActionWeightedTargetArgs{...} } +type GetRouteSpecHttpRouteActionWeightedTargetArrayInput interface { pulumi.Input - ToVirtualNodeSpecListenerOutlierDetectionBaseEjectionDurationPtrOutput() VirtualNodeSpecListenerOutlierDetectionBaseEjectionDurationPtrOutput - ToVirtualNodeSpecListenerOutlierDetectionBaseEjectionDurationPtrOutputWithContext(context.Context) VirtualNodeSpecListenerOutlierDetectionBaseEjectionDurationPtrOutput + ToGetRouteSpecHttpRouteActionWeightedTargetArrayOutput() GetRouteSpecHttpRouteActionWeightedTargetArrayOutput + ToGetRouteSpecHttpRouteActionWeightedTargetArrayOutputWithContext(context.Context) GetRouteSpecHttpRouteActionWeightedTargetArrayOutput } -type virtualNodeSpecListenerOutlierDetectionBaseEjectionDurationPtrType VirtualNodeSpecListenerOutlierDetectionBaseEjectionDurationArgs - -func VirtualNodeSpecListenerOutlierDetectionBaseEjectionDurationPtr(v *VirtualNodeSpecListenerOutlierDetectionBaseEjectionDurationArgs) VirtualNodeSpecListenerOutlierDetectionBaseEjectionDurationPtrInput { - return (*virtualNodeSpecListenerOutlierDetectionBaseEjectionDurationPtrType)(v) -} +type GetRouteSpecHttpRouteActionWeightedTargetArray []GetRouteSpecHttpRouteActionWeightedTargetInput -func (*virtualNodeSpecListenerOutlierDetectionBaseEjectionDurationPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**VirtualNodeSpecListenerOutlierDetectionBaseEjectionDuration)(nil)).Elem() +func (GetRouteSpecHttpRouteActionWeightedTargetArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetRouteSpecHttpRouteActionWeightedTarget)(nil)).Elem() } -func (i *virtualNodeSpecListenerOutlierDetectionBaseEjectionDurationPtrType) ToVirtualNodeSpecListenerOutlierDetectionBaseEjectionDurationPtrOutput() VirtualNodeSpecListenerOutlierDetectionBaseEjectionDurationPtrOutput { - return i.ToVirtualNodeSpecListenerOutlierDetectionBaseEjectionDurationPtrOutputWithContext(context.Background()) +func (i GetRouteSpecHttpRouteActionWeightedTargetArray) ToGetRouteSpecHttpRouteActionWeightedTargetArrayOutput() GetRouteSpecHttpRouteActionWeightedTargetArrayOutput { + return i.ToGetRouteSpecHttpRouteActionWeightedTargetArrayOutputWithContext(context.Background()) } -func (i *virtualNodeSpecListenerOutlierDetectionBaseEjectionDurationPtrType) ToVirtualNodeSpecListenerOutlierDetectionBaseEjectionDurationPtrOutputWithContext(ctx context.Context) VirtualNodeSpecListenerOutlierDetectionBaseEjectionDurationPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecListenerOutlierDetectionBaseEjectionDurationPtrOutput) +func (i GetRouteSpecHttpRouteActionWeightedTargetArray) ToGetRouteSpecHttpRouteActionWeightedTargetArrayOutputWithContext(ctx context.Context) GetRouteSpecHttpRouteActionWeightedTargetArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetRouteSpecHttpRouteActionWeightedTargetArrayOutput) } -type VirtualNodeSpecListenerOutlierDetectionBaseEjectionDurationOutput struct{ *pulumi.OutputState } +type GetRouteSpecHttpRouteActionWeightedTargetOutput struct{ *pulumi.OutputState } -func (VirtualNodeSpecListenerOutlierDetectionBaseEjectionDurationOutput) ElementType() reflect.Type { - return reflect.TypeOf((*VirtualNodeSpecListenerOutlierDetectionBaseEjectionDuration)(nil)).Elem() +func (GetRouteSpecHttpRouteActionWeightedTargetOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetRouteSpecHttpRouteActionWeightedTarget)(nil)).Elem() } -func (o VirtualNodeSpecListenerOutlierDetectionBaseEjectionDurationOutput) ToVirtualNodeSpecListenerOutlierDetectionBaseEjectionDurationOutput() VirtualNodeSpecListenerOutlierDetectionBaseEjectionDurationOutput { +func (o GetRouteSpecHttpRouteActionWeightedTargetOutput) ToGetRouteSpecHttpRouteActionWeightedTargetOutput() GetRouteSpecHttpRouteActionWeightedTargetOutput { return o } -func (o VirtualNodeSpecListenerOutlierDetectionBaseEjectionDurationOutput) ToVirtualNodeSpecListenerOutlierDetectionBaseEjectionDurationOutputWithContext(ctx context.Context) VirtualNodeSpecListenerOutlierDetectionBaseEjectionDurationOutput { +func (o GetRouteSpecHttpRouteActionWeightedTargetOutput) ToGetRouteSpecHttpRouteActionWeightedTargetOutputWithContext(ctx context.Context) GetRouteSpecHttpRouteActionWeightedTargetOutput { return o } -func (o VirtualNodeSpecListenerOutlierDetectionBaseEjectionDurationOutput) ToVirtualNodeSpecListenerOutlierDetectionBaseEjectionDurationPtrOutput() VirtualNodeSpecListenerOutlierDetectionBaseEjectionDurationPtrOutput { - return o.ToVirtualNodeSpecListenerOutlierDetectionBaseEjectionDurationPtrOutputWithContext(context.Background()) -} - -func (o VirtualNodeSpecListenerOutlierDetectionBaseEjectionDurationOutput) ToVirtualNodeSpecListenerOutlierDetectionBaseEjectionDurationPtrOutputWithContext(ctx context.Context) VirtualNodeSpecListenerOutlierDetectionBaseEjectionDurationPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v VirtualNodeSpecListenerOutlierDetectionBaseEjectionDuration) *VirtualNodeSpecListenerOutlierDetectionBaseEjectionDuration { - return &v - }).(VirtualNodeSpecListenerOutlierDetectionBaseEjectionDurationPtrOutput) +func (o GetRouteSpecHttpRouteActionWeightedTargetOutput) Port() pulumi.IntOutput { + return o.ApplyT(func(v GetRouteSpecHttpRouteActionWeightedTarget) int { return v.Port }).(pulumi.IntOutput) } -// Unit of time. Valid values: `ms`, `s`. -func (o VirtualNodeSpecListenerOutlierDetectionBaseEjectionDurationOutput) Unit() pulumi.StringOutput { - return o.ApplyT(func(v VirtualNodeSpecListenerOutlierDetectionBaseEjectionDuration) string { return v.Unit }).(pulumi.StringOutput) +func (o GetRouteSpecHttpRouteActionWeightedTargetOutput) VirtualNode() pulumi.StringOutput { + return o.ApplyT(func(v GetRouteSpecHttpRouteActionWeightedTarget) string { return v.VirtualNode }).(pulumi.StringOutput) } -// Number of time units. Minimum value of `0`. -func (o VirtualNodeSpecListenerOutlierDetectionBaseEjectionDurationOutput) Value() pulumi.IntOutput { - return o.ApplyT(func(v VirtualNodeSpecListenerOutlierDetectionBaseEjectionDuration) int { return v.Value }).(pulumi.IntOutput) +func (o GetRouteSpecHttpRouteActionWeightedTargetOutput) Weight() pulumi.IntOutput { + return o.ApplyT(func(v GetRouteSpecHttpRouteActionWeightedTarget) int { return v.Weight }).(pulumi.IntOutput) } -type VirtualNodeSpecListenerOutlierDetectionBaseEjectionDurationPtrOutput struct{ *pulumi.OutputState } +type GetRouteSpecHttpRouteActionWeightedTargetArrayOutput struct{ *pulumi.OutputState } -func (VirtualNodeSpecListenerOutlierDetectionBaseEjectionDurationPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**VirtualNodeSpecListenerOutlierDetectionBaseEjectionDuration)(nil)).Elem() +func (GetRouteSpecHttpRouteActionWeightedTargetArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetRouteSpecHttpRouteActionWeightedTarget)(nil)).Elem() } -func (o VirtualNodeSpecListenerOutlierDetectionBaseEjectionDurationPtrOutput) ToVirtualNodeSpecListenerOutlierDetectionBaseEjectionDurationPtrOutput() VirtualNodeSpecListenerOutlierDetectionBaseEjectionDurationPtrOutput { +func (o GetRouteSpecHttpRouteActionWeightedTargetArrayOutput) ToGetRouteSpecHttpRouteActionWeightedTargetArrayOutput() GetRouteSpecHttpRouteActionWeightedTargetArrayOutput { return o } -func (o VirtualNodeSpecListenerOutlierDetectionBaseEjectionDurationPtrOutput) ToVirtualNodeSpecListenerOutlierDetectionBaseEjectionDurationPtrOutputWithContext(ctx context.Context) VirtualNodeSpecListenerOutlierDetectionBaseEjectionDurationPtrOutput { +func (o GetRouteSpecHttpRouteActionWeightedTargetArrayOutput) ToGetRouteSpecHttpRouteActionWeightedTargetArrayOutputWithContext(ctx context.Context) GetRouteSpecHttpRouteActionWeightedTargetArrayOutput { return o } -func (o VirtualNodeSpecListenerOutlierDetectionBaseEjectionDurationPtrOutput) Elem() VirtualNodeSpecListenerOutlierDetectionBaseEjectionDurationOutput { - return o.ApplyT(func(v *VirtualNodeSpecListenerOutlierDetectionBaseEjectionDuration) VirtualNodeSpecListenerOutlierDetectionBaseEjectionDuration { - if v != nil { - return *v - } - var ret VirtualNodeSpecListenerOutlierDetectionBaseEjectionDuration - return ret - }).(VirtualNodeSpecListenerOutlierDetectionBaseEjectionDurationOutput) -} - -// Unit of time. Valid values: `ms`, `s`. -func (o VirtualNodeSpecListenerOutlierDetectionBaseEjectionDurationPtrOutput) Unit() pulumi.StringPtrOutput { - return o.ApplyT(func(v *VirtualNodeSpecListenerOutlierDetectionBaseEjectionDuration) *string { - if v == nil { - return nil - } - return &v.Unit - }).(pulumi.StringPtrOutput) -} - -// Number of time units. Minimum value of `0`. -func (o VirtualNodeSpecListenerOutlierDetectionBaseEjectionDurationPtrOutput) Value() pulumi.IntPtrOutput { - return o.ApplyT(func(v *VirtualNodeSpecListenerOutlierDetectionBaseEjectionDuration) *int { - if v == nil { - return nil - } - return &v.Value - }).(pulumi.IntPtrOutput) +func (o GetRouteSpecHttpRouteActionWeightedTargetArrayOutput) Index(i pulumi.IntInput) GetRouteSpecHttpRouteActionWeightedTargetOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetRouteSpecHttpRouteActionWeightedTarget { + return vs[0].([]GetRouteSpecHttpRouteActionWeightedTarget)[vs[1].(int)] + }).(GetRouteSpecHttpRouteActionWeightedTargetOutput) } -type VirtualNodeSpecListenerOutlierDetectionInterval struct { - // Unit of time. Valid values: `ms`, `s`. - Unit string `pulumi:"unit"` - // The specified value for the JSON. Must be between 1 and 100 characters in length. - Value int `pulumi:"value"` +type GetRouteSpecHttpRouteMatch struct { + Headers []GetRouteSpecHttpRouteMatchHeader `pulumi:"headers"` + Method string `pulumi:"method"` + Paths []GetRouteSpecHttpRouteMatchPath `pulumi:"paths"` + Port int `pulumi:"port"` + Prefix string `pulumi:"prefix"` + QueryParameters []GetRouteSpecHttpRouteMatchQueryParameter `pulumi:"queryParameters"` + Scheme string `pulumi:"scheme"` } -// VirtualNodeSpecListenerOutlierDetectionIntervalInput is an input type that accepts VirtualNodeSpecListenerOutlierDetectionIntervalArgs and VirtualNodeSpecListenerOutlierDetectionIntervalOutput values. -// You can construct a concrete instance of `VirtualNodeSpecListenerOutlierDetectionIntervalInput` via: +// GetRouteSpecHttpRouteMatchInput is an input type that accepts GetRouteSpecHttpRouteMatchArgs and GetRouteSpecHttpRouteMatchOutput values. +// You can construct a concrete instance of `GetRouteSpecHttpRouteMatchInput` via: // -// VirtualNodeSpecListenerOutlierDetectionIntervalArgs{...} -type VirtualNodeSpecListenerOutlierDetectionIntervalInput interface { +// GetRouteSpecHttpRouteMatchArgs{...} +type GetRouteSpecHttpRouteMatchInput interface { pulumi.Input - ToVirtualNodeSpecListenerOutlierDetectionIntervalOutput() VirtualNodeSpecListenerOutlierDetectionIntervalOutput - ToVirtualNodeSpecListenerOutlierDetectionIntervalOutputWithContext(context.Context) VirtualNodeSpecListenerOutlierDetectionIntervalOutput -} - -type VirtualNodeSpecListenerOutlierDetectionIntervalArgs struct { - // Unit of time. Valid values: `ms`, `s`. - Unit pulumi.StringInput `pulumi:"unit"` - // The specified value for the JSON. Must be between 1 and 100 characters in length. - Value pulumi.IntInput `pulumi:"value"` -} - -func (VirtualNodeSpecListenerOutlierDetectionIntervalArgs) ElementType() reflect.Type { - return reflect.TypeOf((*VirtualNodeSpecListenerOutlierDetectionInterval)(nil)).Elem() + ToGetRouteSpecHttpRouteMatchOutput() GetRouteSpecHttpRouteMatchOutput + ToGetRouteSpecHttpRouteMatchOutputWithContext(context.Context) GetRouteSpecHttpRouteMatchOutput } -func (i VirtualNodeSpecListenerOutlierDetectionIntervalArgs) ToVirtualNodeSpecListenerOutlierDetectionIntervalOutput() VirtualNodeSpecListenerOutlierDetectionIntervalOutput { - return i.ToVirtualNodeSpecListenerOutlierDetectionIntervalOutputWithContext(context.Background()) +type GetRouteSpecHttpRouteMatchArgs struct { + Headers GetRouteSpecHttpRouteMatchHeaderArrayInput `pulumi:"headers"` + Method pulumi.StringInput `pulumi:"method"` + Paths GetRouteSpecHttpRouteMatchPathArrayInput `pulumi:"paths"` + Port pulumi.IntInput `pulumi:"port"` + Prefix pulumi.StringInput `pulumi:"prefix"` + QueryParameters GetRouteSpecHttpRouteMatchQueryParameterArrayInput `pulumi:"queryParameters"` + Scheme pulumi.StringInput `pulumi:"scheme"` } -func (i VirtualNodeSpecListenerOutlierDetectionIntervalArgs) ToVirtualNodeSpecListenerOutlierDetectionIntervalOutputWithContext(ctx context.Context) VirtualNodeSpecListenerOutlierDetectionIntervalOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecListenerOutlierDetectionIntervalOutput) +func (GetRouteSpecHttpRouteMatchArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetRouteSpecHttpRouteMatch)(nil)).Elem() } -func (i VirtualNodeSpecListenerOutlierDetectionIntervalArgs) ToVirtualNodeSpecListenerOutlierDetectionIntervalPtrOutput() VirtualNodeSpecListenerOutlierDetectionIntervalPtrOutput { - return i.ToVirtualNodeSpecListenerOutlierDetectionIntervalPtrOutputWithContext(context.Background()) +func (i GetRouteSpecHttpRouteMatchArgs) ToGetRouteSpecHttpRouteMatchOutput() GetRouteSpecHttpRouteMatchOutput { + return i.ToGetRouteSpecHttpRouteMatchOutputWithContext(context.Background()) } -func (i VirtualNodeSpecListenerOutlierDetectionIntervalArgs) ToVirtualNodeSpecListenerOutlierDetectionIntervalPtrOutputWithContext(ctx context.Context) VirtualNodeSpecListenerOutlierDetectionIntervalPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecListenerOutlierDetectionIntervalOutput).ToVirtualNodeSpecListenerOutlierDetectionIntervalPtrOutputWithContext(ctx) +func (i GetRouteSpecHttpRouteMatchArgs) ToGetRouteSpecHttpRouteMatchOutputWithContext(ctx context.Context) GetRouteSpecHttpRouteMatchOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetRouteSpecHttpRouteMatchOutput) } -// VirtualNodeSpecListenerOutlierDetectionIntervalPtrInput is an input type that accepts VirtualNodeSpecListenerOutlierDetectionIntervalArgs, VirtualNodeSpecListenerOutlierDetectionIntervalPtr and VirtualNodeSpecListenerOutlierDetectionIntervalPtrOutput values. -// You can construct a concrete instance of `VirtualNodeSpecListenerOutlierDetectionIntervalPtrInput` via: -// -// VirtualNodeSpecListenerOutlierDetectionIntervalArgs{...} -// -// or: +// GetRouteSpecHttpRouteMatchArrayInput is an input type that accepts GetRouteSpecHttpRouteMatchArray and GetRouteSpecHttpRouteMatchArrayOutput values. +// You can construct a concrete instance of `GetRouteSpecHttpRouteMatchArrayInput` via: // -// nil -type VirtualNodeSpecListenerOutlierDetectionIntervalPtrInput interface { +// GetRouteSpecHttpRouteMatchArray{ GetRouteSpecHttpRouteMatchArgs{...} } +type GetRouteSpecHttpRouteMatchArrayInput interface { pulumi.Input - ToVirtualNodeSpecListenerOutlierDetectionIntervalPtrOutput() VirtualNodeSpecListenerOutlierDetectionIntervalPtrOutput - ToVirtualNodeSpecListenerOutlierDetectionIntervalPtrOutputWithContext(context.Context) VirtualNodeSpecListenerOutlierDetectionIntervalPtrOutput + ToGetRouteSpecHttpRouteMatchArrayOutput() GetRouteSpecHttpRouteMatchArrayOutput + ToGetRouteSpecHttpRouteMatchArrayOutputWithContext(context.Context) GetRouteSpecHttpRouteMatchArrayOutput } -type virtualNodeSpecListenerOutlierDetectionIntervalPtrType VirtualNodeSpecListenerOutlierDetectionIntervalArgs - -func VirtualNodeSpecListenerOutlierDetectionIntervalPtr(v *VirtualNodeSpecListenerOutlierDetectionIntervalArgs) VirtualNodeSpecListenerOutlierDetectionIntervalPtrInput { - return (*virtualNodeSpecListenerOutlierDetectionIntervalPtrType)(v) -} +type GetRouteSpecHttpRouteMatchArray []GetRouteSpecHttpRouteMatchInput -func (*virtualNodeSpecListenerOutlierDetectionIntervalPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**VirtualNodeSpecListenerOutlierDetectionInterval)(nil)).Elem() +func (GetRouteSpecHttpRouteMatchArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetRouteSpecHttpRouteMatch)(nil)).Elem() } -func (i *virtualNodeSpecListenerOutlierDetectionIntervalPtrType) ToVirtualNodeSpecListenerOutlierDetectionIntervalPtrOutput() VirtualNodeSpecListenerOutlierDetectionIntervalPtrOutput { - return i.ToVirtualNodeSpecListenerOutlierDetectionIntervalPtrOutputWithContext(context.Background()) +func (i GetRouteSpecHttpRouteMatchArray) ToGetRouteSpecHttpRouteMatchArrayOutput() GetRouteSpecHttpRouteMatchArrayOutput { + return i.ToGetRouteSpecHttpRouteMatchArrayOutputWithContext(context.Background()) } -func (i *virtualNodeSpecListenerOutlierDetectionIntervalPtrType) ToVirtualNodeSpecListenerOutlierDetectionIntervalPtrOutputWithContext(ctx context.Context) VirtualNodeSpecListenerOutlierDetectionIntervalPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecListenerOutlierDetectionIntervalPtrOutput) +func (i GetRouteSpecHttpRouteMatchArray) ToGetRouteSpecHttpRouteMatchArrayOutputWithContext(ctx context.Context) GetRouteSpecHttpRouteMatchArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetRouteSpecHttpRouteMatchArrayOutput) } -type VirtualNodeSpecListenerOutlierDetectionIntervalOutput struct{ *pulumi.OutputState } +type GetRouteSpecHttpRouteMatchOutput struct{ *pulumi.OutputState } -func (VirtualNodeSpecListenerOutlierDetectionIntervalOutput) ElementType() reflect.Type { - return reflect.TypeOf((*VirtualNodeSpecListenerOutlierDetectionInterval)(nil)).Elem() +func (GetRouteSpecHttpRouteMatchOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetRouteSpecHttpRouteMatch)(nil)).Elem() } -func (o VirtualNodeSpecListenerOutlierDetectionIntervalOutput) ToVirtualNodeSpecListenerOutlierDetectionIntervalOutput() VirtualNodeSpecListenerOutlierDetectionIntervalOutput { +func (o GetRouteSpecHttpRouteMatchOutput) ToGetRouteSpecHttpRouteMatchOutput() GetRouteSpecHttpRouteMatchOutput { return o } -func (o VirtualNodeSpecListenerOutlierDetectionIntervalOutput) ToVirtualNodeSpecListenerOutlierDetectionIntervalOutputWithContext(ctx context.Context) VirtualNodeSpecListenerOutlierDetectionIntervalOutput { +func (o GetRouteSpecHttpRouteMatchOutput) ToGetRouteSpecHttpRouteMatchOutputWithContext(ctx context.Context) GetRouteSpecHttpRouteMatchOutput { return o } -func (o VirtualNodeSpecListenerOutlierDetectionIntervalOutput) ToVirtualNodeSpecListenerOutlierDetectionIntervalPtrOutput() VirtualNodeSpecListenerOutlierDetectionIntervalPtrOutput { - return o.ToVirtualNodeSpecListenerOutlierDetectionIntervalPtrOutputWithContext(context.Background()) +func (o GetRouteSpecHttpRouteMatchOutput) Headers() GetRouteSpecHttpRouteMatchHeaderArrayOutput { + return o.ApplyT(func(v GetRouteSpecHttpRouteMatch) []GetRouteSpecHttpRouteMatchHeader { return v.Headers }).(GetRouteSpecHttpRouteMatchHeaderArrayOutput) } -func (o VirtualNodeSpecListenerOutlierDetectionIntervalOutput) ToVirtualNodeSpecListenerOutlierDetectionIntervalPtrOutputWithContext(ctx context.Context) VirtualNodeSpecListenerOutlierDetectionIntervalPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v VirtualNodeSpecListenerOutlierDetectionInterval) *VirtualNodeSpecListenerOutlierDetectionInterval { - return &v - }).(VirtualNodeSpecListenerOutlierDetectionIntervalPtrOutput) +func (o GetRouteSpecHttpRouteMatchOutput) Method() pulumi.StringOutput { + return o.ApplyT(func(v GetRouteSpecHttpRouteMatch) string { return v.Method }).(pulumi.StringOutput) } -// Unit of time. Valid values: `ms`, `s`. -func (o VirtualNodeSpecListenerOutlierDetectionIntervalOutput) Unit() pulumi.StringOutput { - return o.ApplyT(func(v VirtualNodeSpecListenerOutlierDetectionInterval) string { return v.Unit }).(pulumi.StringOutput) +func (o GetRouteSpecHttpRouteMatchOutput) Paths() GetRouteSpecHttpRouteMatchPathArrayOutput { + return o.ApplyT(func(v GetRouteSpecHttpRouteMatch) []GetRouteSpecHttpRouteMatchPath { return v.Paths }).(GetRouteSpecHttpRouteMatchPathArrayOutput) } -// The specified value for the JSON. Must be between 1 and 100 characters in length. -func (o VirtualNodeSpecListenerOutlierDetectionIntervalOutput) Value() pulumi.IntOutput { - return o.ApplyT(func(v VirtualNodeSpecListenerOutlierDetectionInterval) int { return v.Value }).(pulumi.IntOutput) +func (o GetRouteSpecHttpRouteMatchOutput) Port() pulumi.IntOutput { + return o.ApplyT(func(v GetRouteSpecHttpRouteMatch) int { return v.Port }).(pulumi.IntOutput) } -type VirtualNodeSpecListenerOutlierDetectionIntervalPtrOutput struct{ *pulumi.OutputState } +func (o GetRouteSpecHttpRouteMatchOutput) Prefix() pulumi.StringOutput { + return o.ApplyT(func(v GetRouteSpecHttpRouteMatch) string { return v.Prefix }).(pulumi.StringOutput) +} -func (VirtualNodeSpecListenerOutlierDetectionIntervalPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**VirtualNodeSpecListenerOutlierDetectionInterval)(nil)).Elem() +func (o GetRouteSpecHttpRouteMatchOutput) QueryParameters() GetRouteSpecHttpRouteMatchQueryParameterArrayOutput { + return o.ApplyT(func(v GetRouteSpecHttpRouteMatch) []GetRouteSpecHttpRouteMatchQueryParameter { + return v.QueryParameters + }).(GetRouteSpecHttpRouteMatchQueryParameterArrayOutput) } -func (o VirtualNodeSpecListenerOutlierDetectionIntervalPtrOutput) ToVirtualNodeSpecListenerOutlierDetectionIntervalPtrOutput() VirtualNodeSpecListenerOutlierDetectionIntervalPtrOutput { - return o +func (o GetRouteSpecHttpRouteMatchOutput) Scheme() pulumi.StringOutput { + return o.ApplyT(func(v GetRouteSpecHttpRouteMatch) string { return v.Scheme }).(pulumi.StringOutput) } -func (o VirtualNodeSpecListenerOutlierDetectionIntervalPtrOutput) ToVirtualNodeSpecListenerOutlierDetectionIntervalPtrOutputWithContext(ctx context.Context) VirtualNodeSpecListenerOutlierDetectionIntervalPtrOutput { - return o +type GetRouteSpecHttpRouteMatchArrayOutput struct{ *pulumi.OutputState } + +func (GetRouteSpecHttpRouteMatchArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetRouteSpecHttpRouteMatch)(nil)).Elem() } -func (o VirtualNodeSpecListenerOutlierDetectionIntervalPtrOutput) Elem() VirtualNodeSpecListenerOutlierDetectionIntervalOutput { - return o.ApplyT(func(v *VirtualNodeSpecListenerOutlierDetectionInterval) VirtualNodeSpecListenerOutlierDetectionInterval { - if v != nil { - return *v - } - var ret VirtualNodeSpecListenerOutlierDetectionInterval - return ret - }).(VirtualNodeSpecListenerOutlierDetectionIntervalOutput) +func (o GetRouteSpecHttpRouteMatchArrayOutput) ToGetRouteSpecHttpRouteMatchArrayOutput() GetRouteSpecHttpRouteMatchArrayOutput { + return o } -// Unit of time. Valid values: `ms`, `s`. -func (o VirtualNodeSpecListenerOutlierDetectionIntervalPtrOutput) Unit() pulumi.StringPtrOutput { - return o.ApplyT(func(v *VirtualNodeSpecListenerOutlierDetectionInterval) *string { - if v == nil { - return nil - } - return &v.Unit - }).(pulumi.StringPtrOutput) +func (o GetRouteSpecHttpRouteMatchArrayOutput) ToGetRouteSpecHttpRouteMatchArrayOutputWithContext(ctx context.Context) GetRouteSpecHttpRouteMatchArrayOutput { + return o } -// The specified value for the JSON. Must be between 1 and 100 characters in length. -func (o VirtualNodeSpecListenerOutlierDetectionIntervalPtrOutput) Value() pulumi.IntPtrOutput { - return o.ApplyT(func(v *VirtualNodeSpecListenerOutlierDetectionInterval) *int { - if v == nil { - return nil - } - return &v.Value - }).(pulumi.IntPtrOutput) +func (o GetRouteSpecHttpRouteMatchArrayOutput) Index(i pulumi.IntInput) GetRouteSpecHttpRouteMatchOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetRouteSpecHttpRouteMatch { + return vs[0].([]GetRouteSpecHttpRouteMatch)[vs[1].(int)] + }).(GetRouteSpecHttpRouteMatchOutput) } -type VirtualNodeSpecListenerPortMapping struct { - // Port used for the port mapping. - Port int `pulumi:"port"` - // Protocol used for the port mapping. Valid values are `http`, `http2`, `tcp` and `grpc`. - Protocol string `pulumi:"protocol"` +type GetRouteSpecHttpRouteMatchHeader struct { + Invert bool `pulumi:"invert"` + Matches []GetRouteSpecHttpRouteMatchHeaderMatch `pulumi:"matches"` + // Name of the route. + Name string `pulumi:"name"` } -// VirtualNodeSpecListenerPortMappingInput is an input type that accepts VirtualNodeSpecListenerPortMappingArgs and VirtualNodeSpecListenerPortMappingOutput values. -// You can construct a concrete instance of `VirtualNodeSpecListenerPortMappingInput` via: +// GetRouteSpecHttpRouteMatchHeaderInput is an input type that accepts GetRouteSpecHttpRouteMatchHeaderArgs and GetRouteSpecHttpRouteMatchHeaderOutput values. +// You can construct a concrete instance of `GetRouteSpecHttpRouteMatchHeaderInput` via: // -// VirtualNodeSpecListenerPortMappingArgs{...} -type VirtualNodeSpecListenerPortMappingInput interface { +// GetRouteSpecHttpRouteMatchHeaderArgs{...} +type GetRouteSpecHttpRouteMatchHeaderInput interface { pulumi.Input - ToVirtualNodeSpecListenerPortMappingOutput() VirtualNodeSpecListenerPortMappingOutput - ToVirtualNodeSpecListenerPortMappingOutputWithContext(context.Context) VirtualNodeSpecListenerPortMappingOutput + ToGetRouteSpecHttpRouteMatchHeaderOutput() GetRouteSpecHttpRouteMatchHeaderOutput + ToGetRouteSpecHttpRouteMatchHeaderOutputWithContext(context.Context) GetRouteSpecHttpRouteMatchHeaderOutput } -type VirtualNodeSpecListenerPortMappingArgs struct { - // Port used for the port mapping. - Port pulumi.IntInput `pulumi:"port"` - // Protocol used for the port mapping. Valid values are `http`, `http2`, `tcp` and `grpc`. - Protocol pulumi.StringInput `pulumi:"protocol"` +type GetRouteSpecHttpRouteMatchHeaderArgs struct { + Invert pulumi.BoolInput `pulumi:"invert"` + Matches GetRouteSpecHttpRouteMatchHeaderMatchArrayInput `pulumi:"matches"` + // Name of the route. + Name pulumi.StringInput `pulumi:"name"` +} + +func (GetRouteSpecHttpRouteMatchHeaderArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetRouteSpecHttpRouteMatchHeader)(nil)).Elem() +} + +func (i GetRouteSpecHttpRouteMatchHeaderArgs) ToGetRouteSpecHttpRouteMatchHeaderOutput() GetRouteSpecHttpRouteMatchHeaderOutput { + return i.ToGetRouteSpecHttpRouteMatchHeaderOutputWithContext(context.Background()) +} + +func (i GetRouteSpecHttpRouteMatchHeaderArgs) ToGetRouteSpecHttpRouteMatchHeaderOutputWithContext(ctx context.Context) GetRouteSpecHttpRouteMatchHeaderOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetRouteSpecHttpRouteMatchHeaderOutput) } -func (VirtualNodeSpecListenerPortMappingArgs) ElementType() reflect.Type { - return reflect.TypeOf((*VirtualNodeSpecListenerPortMapping)(nil)).Elem() -} +// GetRouteSpecHttpRouteMatchHeaderArrayInput is an input type that accepts GetRouteSpecHttpRouteMatchHeaderArray and GetRouteSpecHttpRouteMatchHeaderArrayOutput values. +// You can construct a concrete instance of `GetRouteSpecHttpRouteMatchHeaderArrayInput` via: +// +// GetRouteSpecHttpRouteMatchHeaderArray{ GetRouteSpecHttpRouteMatchHeaderArgs{...} } +type GetRouteSpecHttpRouteMatchHeaderArrayInput interface { + pulumi.Input -func (i VirtualNodeSpecListenerPortMappingArgs) ToVirtualNodeSpecListenerPortMappingOutput() VirtualNodeSpecListenerPortMappingOutput { - return i.ToVirtualNodeSpecListenerPortMappingOutputWithContext(context.Background()) + ToGetRouteSpecHttpRouteMatchHeaderArrayOutput() GetRouteSpecHttpRouteMatchHeaderArrayOutput + ToGetRouteSpecHttpRouteMatchHeaderArrayOutputWithContext(context.Context) GetRouteSpecHttpRouteMatchHeaderArrayOutput } -func (i VirtualNodeSpecListenerPortMappingArgs) ToVirtualNodeSpecListenerPortMappingOutputWithContext(ctx context.Context) VirtualNodeSpecListenerPortMappingOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecListenerPortMappingOutput) +type GetRouteSpecHttpRouteMatchHeaderArray []GetRouteSpecHttpRouteMatchHeaderInput + +func (GetRouteSpecHttpRouteMatchHeaderArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetRouteSpecHttpRouteMatchHeader)(nil)).Elem() } -func (i VirtualNodeSpecListenerPortMappingArgs) ToVirtualNodeSpecListenerPortMappingPtrOutput() VirtualNodeSpecListenerPortMappingPtrOutput { - return i.ToVirtualNodeSpecListenerPortMappingPtrOutputWithContext(context.Background()) +func (i GetRouteSpecHttpRouteMatchHeaderArray) ToGetRouteSpecHttpRouteMatchHeaderArrayOutput() GetRouteSpecHttpRouteMatchHeaderArrayOutput { + return i.ToGetRouteSpecHttpRouteMatchHeaderArrayOutputWithContext(context.Background()) } -func (i VirtualNodeSpecListenerPortMappingArgs) ToVirtualNodeSpecListenerPortMappingPtrOutputWithContext(ctx context.Context) VirtualNodeSpecListenerPortMappingPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecListenerPortMappingOutput).ToVirtualNodeSpecListenerPortMappingPtrOutputWithContext(ctx) +func (i GetRouteSpecHttpRouteMatchHeaderArray) ToGetRouteSpecHttpRouteMatchHeaderArrayOutputWithContext(ctx context.Context) GetRouteSpecHttpRouteMatchHeaderArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetRouteSpecHttpRouteMatchHeaderArrayOutput) } -// VirtualNodeSpecListenerPortMappingPtrInput is an input type that accepts VirtualNodeSpecListenerPortMappingArgs, VirtualNodeSpecListenerPortMappingPtr and VirtualNodeSpecListenerPortMappingPtrOutput values. -// You can construct a concrete instance of `VirtualNodeSpecListenerPortMappingPtrInput` via: -// -// VirtualNodeSpecListenerPortMappingArgs{...} -// -// or: -// -// nil -type VirtualNodeSpecListenerPortMappingPtrInput interface { - pulumi.Input +type GetRouteSpecHttpRouteMatchHeaderOutput struct{ *pulumi.OutputState } - ToVirtualNodeSpecListenerPortMappingPtrOutput() VirtualNodeSpecListenerPortMappingPtrOutput - ToVirtualNodeSpecListenerPortMappingPtrOutputWithContext(context.Context) VirtualNodeSpecListenerPortMappingPtrOutput +func (GetRouteSpecHttpRouteMatchHeaderOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetRouteSpecHttpRouteMatchHeader)(nil)).Elem() } -type virtualNodeSpecListenerPortMappingPtrType VirtualNodeSpecListenerPortMappingArgs +func (o GetRouteSpecHttpRouteMatchHeaderOutput) ToGetRouteSpecHttpRouteMatchHeaderOutput() GetRouteSpecHttpRouteMatchHeaderOutput { + return o +} -func VirtualNodeSpecListenerPortMappingPtr(v *VirtualNodeSpecListenerPortMappingArgs) VirtualNodeSpecListenerPortMappingPtrInput { - return (*virtualNodeSpecListenerPortMappingPtrType)(v) +func (o GetRouteSpecHttpRouteMatchHeaderOutput) ToGetRouteSpecHttpRouteMatchHeaderOutputWithContext(ctx context.Context) GetRouteSpecHttpRouteMatchHeaderOutput { + return o } -func (*virtualNodeSpecListenerPortMappingPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**VirtualNodeSpecListenerPortMapping)(nil)).Elem() +func (o GetRouteSpecHttpRouteMatchHeaderOutput) Invert() pulumi.BoolOutput { + return o.ApplyT(func(v GetRouteSpecHttpRouteMatchHeader) bool { return v.Invert }).(pulumi.BoolOutput) } -func (i *virtualNodeSpecListenerPortMappingPtrType) ToVirtualNodeSpecListenerPortMappingPtrOutput() VirtualNodeSpecListenerPortMappingPtrOutput { - return i.ToVirtualNodeSpecListenerPortMappingPtrOutputWithContext(context.Background()) +func (o GetRouteSpecHttpRouteMatchHeaderOutput) Matches() GetRouteSpecHttpRouteMatchHeaderMatchArrayOutput { + return o.ApplyT(func(v GetRouteSpecHttpRouteMatchHeader) []GetRouteSpecHttpRouteMatchHeaderMatch { return v.Matches }).(GetRouteSpecHttpRouteMatchHeaderMatchArrayOutput) } -func (i *virtualNodeSpecListenerPortMappingPtrType) ToVirtualNodeSpecListenerPortMappingPtrOutputWithContext(ctx context.Context) VirtualNodeSpecListenerPortMappingPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecListenerPortMappingPtrOutput) +// Name of the route. +func (o GetRouteSpecHttpRouteMatchHeaderOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetRouteSpecHttpRouteMatchHeader) string { return v.Name }).(pulumi.StringOutput) } -type VirtualNodeSpecListenerPortMappingOutput struct{ *pulumi.OutputState } +type GetRouteSpecHttpRouteMatchHeaderArrayOutput struct{ *pulumi.OutputState } -func (VirtualNodeSpecListenerPortMappingOutput) ElementType() reflect.Type { - return reflect.TypeOf((*VirtualNodeSpecListenerPortMapping)(nil)).Elem() +func (GetRouteSpecHttpRouteMatchHeaderArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetRouteSpecHttpRouteMatchHeader)(nil)).Elem() } -func (o VirtualNodeSpecListenerPortMappingOutput) ToVirtualNodeSpecListenerPortMappingOutput() VirtualNodeSpecListenerPortMappingOutput { +func (o GetRouteSpecHttpRouteMatchHeaderArrayOutput) ToGetRouteSpecHttpRouteMatchHeaderArrayOutput() GetRouteSpecHttpRouteMatchHeaderArrayOutput { return o } -func (o VirtualNodeSpecListenerPortMappingOutput) ToVirtualNodeSpecListenerPortMappingOutputWithContext(ctx context.Context) VirtualNodeSpecListenerPortMappingOutput { +func (o GetRouteSpecHttpRouteMatchHeaderArrayOutput) ToGetRouteSpecHttpRouteMatchHeaderArrayOutputWithContext(ctx context.Context) GetRouteSpecHttpRouteMatchHeaderArrayOutput { return o } -func (o VirtualNodeSpecListenerPortMappingOutput) ToVirtualNodeSpecListenerPortMappingPtrOutput() VirtualNodeSpecListenerPortMappingPtrOutput { - return o.ToVirtualNodeSpecListenerPortMappingPtrOutputWithContext(context.Background()) +func (o GetRouteSpecHttpRouteMatchHeaderArrayOutput) Index(i pulumi.IntInput) GetRouteSpecHttpRouteMatchHeaderOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetRouteSpecHttpRouteMatchHeader { + return vs[0].([]GetRouteSpecHttpRouteMatchHeader)[vs[1].(int)] + }).(GetRouteSpecHttpRouteMatchHeaderOutput) } -func (o VirtualNodeSpecListenerPortMappingOutput) ToVirtualNodeSpecListenerPortMappingPtrOutputWithContext(ctx context.Context) VirtualNodeSpecListenerPortMappingPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v VirtualNodeSpecListenerPortMapping) *VirtualNodeSpecListenerPortMapping { - return &v - }).(VirtualNodeSpecListenerPortMappingPtrOutput) +type GetRouteSpecHttpRouteMatchHeaderMatch struct { + Exact string `pulumi:"exact"` + Prefix string `pulumi:"prefix"` + Ranges []GetRouteSpecHttpRouteMatchHeaderMatchRange `pulumi:"ranges"` + Regex string `pulumi:"regex"` + Suffix string `pulumi:"suffix"` } -// Port used for the port mapping. -func (o VirtualNodeSpecListenerPortMappingOutput) Port() pulumi.IntOutput { - return o.ApplyT(func(v VirtualNodeSpecListenerPortMapping) int { return v.Port }).(pulumi.IntOutput) -} +// GetRouteSpecHttpRouteMatchHeaderMatchInput is an input type that accepts GetRouteSpecHttpRouteMatchHeaderMatchArgs and GetRouteSpecHttpRouteMatchHeaderMatchOutput values. +// You can construct a concrete instance of `GetRouteSpecHttpRouteMatchHeaderMatchInput` via: +// +// GetRouteSpecHttpRouteMatchHeaderMatchArgs{...} +type GetRouteSpecHttpRouteMatchHeaderMatchInput interface { + pulumi.Input -// Protocol used for the port mapping. Valid values are `http`, `http2`, `tcp` and `grpc`. -func (o VirtualNodeSpecListenerPortMappingOutput) Protocol() pulumi.StringOutput { - return o.ApplyT(func(v VirtualNodeSpecListenerPortMapping) string { return v.Protocol }).(pulumi.StringOutput) + ToGetRouteSpecHttpRouteMatchHeaderMatchOutput() GetRouteSpecHttpRouteMatchHeaderMatchOutput + ToGetRouteSpecHttpRouteMatchHeaderMatchOutputWithContext(context.Context) GetRouteSpecHttpRouteMatchHeaderMatchOutput } -type VirtualNodeSpecListenerPortMappingPtrOutput struct{ *pulumi.OutputState } +type GetRouteSpecHttpRouteMatchHeaderMatchArgs struct { + Exact pulumi.StringInput `pulumi:"exact"` + Prefix pulumi.StringInput `pulumi:"prefix"` + Ranges GetRouteSpecHttpRouteMatchHeaderMatchRangeArrayInput `pulumi:"ranges"` + Regex pulumi.StringInput `pulumi:"regex"` + Suffix pulumi.StringInput `pulumi:"suffix"` +} -func (VirtualNodeSpecListenerPortMappingPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**VirtualNodeSpecListenerPortMapping)(nil)).Elem() +func (GetRouteSpecHttpRouteMatchHeaderMatchArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetRouteSpecHttpRouteMatchHeaderMatch)(nil)).Elem() } -func (o VirtualNodeSpecListenerPortMappingPtrOutput) ToVirtualNodeSpecListenerPortMappingPtrOutput() VirtualNodeSpecListenerPortMappingPtrOutput { - return o +func (i GetRouteSpecHttpRouteMatchHeaderMatchArgs) ToGetRouteSpecHttpRouteMatchHeaderMatchOutput() GetRouteSpecHttpRouteMatchHeaderMatchOutput { + return i.ToGetRouteSpecHttpRouteMatchHeaderMatchOutputWithContext(context.Background()) } -func (o VirtualNodeSpecListenerPortMappingPtrOutput) ToVirtualNodeSpecListenerPortMappingPtrOutputWithContext(ctx context.Context) VirtualNodeSpecListenerPortMappingPtrOutput { - return o +func (i GetRouteSpecHttpRouteMatchHeaderMatchArgs) ToGetRouteSpecHttpRouteMatchHeaderMatchOutputWithContext(ctx context.Context) GetRouteSpecHttpRouteMatchHeaderMatchOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetRouteSpecHttpRouteMatchHeaderMatchOutput) } -func (o VirtualNodeSpecListenerPortMappingPtrOutput) Elem() VirtualNodeSpecListenerPortMappingOutput { - return o.ApplyT(func(v *VirtualNodeSpecListenerPortMapping) VirtualNodeSpecListenerPortMapping { - if v != nil { - return *v - } - var ret VirtualNodeSpecListenerPortMapping - return ret - }).(VirtualNodeSpecListenerPortMappingOutput) +// GetRouteSpecHttpRouteMatchHeaderMatchArrayInput is an input type that accepts GetRouteSpecHttpRouteMatchHeaderMatchArray and GetRouteSpecHttpRouteMatchHeaderMatchArrayOutput values. +// You can construct a concrete instance of `GetRouteSpecHttpRouteMatchHeaderMatchArrayInput` via: +// +// GetRouteSpecHttpRouteMatchHeaderMatchArray{ GetRouteSpecHttpRouteMatchHeaderMatchArgs{...} } +type GetRouteSpecHttpRouteMatchHeaderMatchArrayInput interface { + pulumi.Input + + ToGetRouteSpecHttpRouteMatchHeaderMatchArrayOutput() GetRouteSpecHttpRouteMatchHeaderMatchArrayOutput + ToGetRouteSpecHttpRouteMatchHeaderMatchArrayOutputWithContext(context.Context) GetRouteSpecHttpRouteMatchHeaderMatchArrayOutput } -// Port used for the port mapping. -func (o VirtualNodeSpecListenerPortMappingPtrOutput) Port() pulumi.IntPtrOutput { - return o.ApplyT(func(v *VirtualNodeSpecListenerPortMapping) *int { - if v == nil { - return nil - } - return &v.Port - }).(pulumi.IntPtrOutput) +type GetRouteSpecHttpRouteMatchHeaderMatchArray []GetRouteSpecHttpRouteMatchHeaderMatchInput + +func (GetRouteSpecHttpRouteMatchHeaderMatchArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetRouteSpecHttpRouteMatchHeaderMatch)(nil)).Elem() } -// Protocol used for the port mapping. Valid values are `http`, `http2`, `tcp` and `grpc`. -func (o VirtualNodeSpecListenerPortMappingPtrOutput) Protocol() pulumi.StringPtrOutput { - return o.ApplyT(func(v *VirtualNodeSpecListenerPortMapping) *string { - if v == nil { - return nil - } - return &v.Protocol - }).(pulumi.StringPtrOutput) +func (i GetRouteSpecHttpRouteMatchHeaderMatchArray) ToGetRouteSpecHttpRouteMatchHeaderMatchArrayOutput() GetRouteSpecHttpRouteMatchHeaderMatchArrayOutput { + return i.ToGetRouteSpecHttpRouteMatchHeaderMatchArrayOutputWithContext(context.Background()) } -type VirtualNodeSpecListenerTimeout struct { - // Timeouts for gRPC listeners. - Grpc *VirtualNodeSpecListenerTimeoutGrpc `pulumi:"grpc"` - // Timeouts for HTTP listeners. - Http *VirtualNodeSpecListenerTimeoutHttp `pulumi:"http"` - // Timeouts for HTTP2 listeners. - Http2 *VirtualNodeSpecListenerTimeoutHttp2 `pulumi:"http2"` - // Timeouts for TCP listeners. - Tcp *VirtualNodeSpecListenerTimeoutTcp `pulumi:"tcp"` +func (i GetRouteSpecHttpRouteMatchHeaderMatchArray) ToGetRouteSpecHttpRouteMatchHeaderMatchArrayOutputWithContext(ctx context.Context) GetRouteSpecHttpRouteMatchHeaderMatchArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetRouteSpecHttpRouteMatchHeaderMatchArrayOutput) } -// VirtualNodeSpecListenerTimeoutInput is an input type that accepts VirtualNodeSpecListenerTimeoutArgs and VirtualNodeSpecListenerTimeoutOutput values. -// You can construct a concrete instance of `VirtualNodeSpecListenerTimeoutInput` via: -// -// VirtualNodeSpecListenerTimeoutArgs{...} -type VirtualNodeSpecListenerTimeoutInput interface { - pulumi.Input +type GetRouteSpecHttpRouteMatchHeaderMatchOutput struct{ *pulumi.OutputState } - ToVirtualNodeSpecListenerTimeoutOutput() VirtualNodeSpecListenerTimeoutOutput - ToVirtualNodeSpecListenerTimeoutOutputWithContext(context.Context) VirtualNodeSpecListenerTimeoutOutput +func (GetRouteSpecHttpRouteMatchHeaderMatchOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetRouteSpecHttpRouteMatchHeaderMatch)(nil)).Elem() } -type VirtualNodeSpecListenerTimeoutArgs struct { - // Timeouts for gRPC listeners. - Grpc VirtualNodeSpecListenerTimeoutGrpcPtrInput `pulumi:"grpc"` - // Timeouts for HTTP listeners. - Http VirtualNodeSpecListenerTimeoutHttpPtrInput `pulumi:"http"` - // Timeouts for HTTP2 listeners. - Http2 VirtualNodeSpecListenerTimeoutHttp2PtrInput `pulumi:"http2"` - // Timeouts for TCP listeners. - Tcp VirtualNodeSpecListenerTimeoutTcpPtrInput `pulumi:"tcp"` +func (o GetRouteSpecHttpRouteMatchHeaderMatchOutput) ToGetRouteSpecHttpRouteMatchHeaderMatchOutput() GetRouteSpecHttpRouteMatchHeaderMatchOutput { + return o } -func (VirtualNodeSpecListenerTimeoutArgs) ElementType() reflect.Type { - return reflect.TypeOf((*VirtualNodeSpecListenerTimeout)(nil)).Elem() +func (o GetRouteSpecHttpRouteMatchHeaderMatchOutput) ToGetRouteSpecHttpRouteMatchHeaderMatchOutputWithContext(ctx context.Context) GetRouteSpecHttpRouteMatchHeaderMatchOutput { + return o } -func (i VirtualNodeSpecListenerTimeoutArgs) ToVirtualNodeSpecListenerTimeoutOutput() VirtualNodeSpecListenerTimeoutOutput { - return i.ToVirtualNodeSpecListenerTimeoutOutputWithContext(context.Background()) +func (o GetRouteSpecHttpRouteMatchHeaderMatchOutput) Exact() pulumi.StringOutput { + return o.ApplyT(func(v GetRouteSpecHttpRouteMatchHeaderMatch) string { return v.Exact }).(pulumi.StringOutput) } -func (i VirtualNodeSpecListenerTimeoutArgs) ToVirtualNodeSpecListenerTimeoutOutputWithContext(ctx context.Context) VirtualNodeSpecListenerTimeoutOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecListenerTimeoutOutput) +func (o GetRouteSpecHttpRouteMatchHeaderMatchOutput) Prefix() pulumi.StringOutput { + return o.ApplyT(func(v GetRouteSpecHttpRouteMatchHeaderMatch) string { return v.Prefix }).(pulumi.StringOutput) } -func (i VirtualNodeSpecListenerTimeoutArgs) ToVirtualNodeSpecListenerTimeoutPtrOutput() VirtualNodeSpecListenerTimeoutPtrOutput { - return i.ToVirtualNodeSpecListenerTimeoutPtrOutputWithContext(context.Background()) +func (o GetRouteSpecHttpRouteMatchHeaderMatchOutput) Ranges() GetRouteSpecHttpRouteMatchHeaderMatchRangeArrayOutput { + return o.ApplyT(func(v GetRouteSpecHttpRouteMatchHeaderMatch) []GetRouteSpecHttpRouteMatchHeaderMatchRange { + return v.Ranges + }).(GetRouteSpecHttpRouteMatchHeaderMatchRangeArrayOutput) } -func (i VirtualNodeSpecListenerTimeoutArgs) ToVirtualNodeSpecListenerTimeoutPtrOutputWithContext(ctx context.Context) VirtualNodeSpecListenerTimeoutPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecListenerTimeoutOutput).ToVirtualNodeSpecListenerTimeoutPtrOutputWithContext(ctx) +func (o GetRouteSpecHttpRouteMatchHeaderMatchOutput) Regex() pulumi.StringOutput { + return o.ApplyT(func(v GetRouteSpecHttpRouteMatchHeaderMatch) string { return v.Regex }).(pulumi.StringOutput) } -// VirtualNodeSpecListenerTimeoutPtrInput is an input type that accepts VirtualNodeSpecListenerTimeoutArgs, VirtualNodeSpecListenerTimeoutPtr and VirtualNodeSpecListenerTimeoutPtrOutput values. -// You can construct a concrete instance of `VirtualNodeSpecListenerTimeoutPtrInput` via: -// -// VirtualNodeSpecListenerTimeoutArgs{...} -// -// or: -// -// nil -type VirtualNodeSpecListenerTimeoutPtrInput interface { - pulumi.Input - - ToVirtualNodeSpecListenerTimeoutPtrOutput() VirtualNodeSpecListenerTimeoutPtrOutput - ToVirtualNodeSpecListenerTimeoutPtrOutputWithContext(context.Context) VirtualNodeSpecListenerTimeoutPtrOutput +func (o GetRouteSpecHttpRouteMatchHeaderMatchOutput) Suffix() pulumi.StringOutput { + return o.ApplyT(func(v GetRouteSpecHttpRouteMatchHeaderMatch) string { return v.Suffix }).(pulumi.StringOutput) } -type virtualNodeSpecListenerTimeoutPtrType VirtualNodeSpecListenerTimeoutArgs +type GetRouteSpecHttpRouteMatchHeaderMatchArrayOutput struct{ *pulumi.OutputState } -func VirtualNodeSpecListenerTimeoutPtr(v *VirtualNodeSpecListenerTimeoutArgs) VirtualNodeSpecListenerTimeoutPtrInput { - return (*virtualNodeSpecListenerTimeoutPtrType)(v) +func (GetRouteSpecHttpRouteMatchHeaderMatchArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetRouteSpecHttpRouteMatchHeaderMatch)(nil)).Elem() } -func (*virtualNodeSpecListenerTimeoutPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**VirtualNodeSpecListenerTimeout)(nil)).Elem() +func (o GetRouteSpecHttpRouteMatchHeaderMatchArrayOutput) ToGetRouteSpecHttpRouteMatchHeaderMatchArrayOutput() GetRouteSpecHttpRouteMatchHeaderMatchArrayOutput { + return o } -func (i *virtualNodeSpecListenerTimeoutPtrType) ToVirtualNodeSpecListenerTimeoutPtrOutput() VirtualNodeSpecListenerTimeoutPtrOutput { - return i.ToVirtualNodeSpecListenerTimeoutPtrOutputWithContext(context.Background()) +func (o GetRouteSpecHttpRouteMatchHeaderMatchArrayOutput) ToGetRouteSpecHttpRouteMatchHeaderMatchArrayOutputWithContext(ctx context.Context) GetRouteSpecHttpRouteMatchHeaderMatchArrayOutput { + return o } -func (i *virtualNodeSpecListenerTimeoutPtrType) ToVirtualNodeSpecListenerTimeoutPtrOutputWithContext(ctx context.Context) VirtualNodeSpecListenerTimeoutPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecListenerTimeoutPtrOutput) +func (o GetRouteSpecHttpRouteMatchHeaderMatchArrayOutput) Index(i pulumi.IntInput) GetRouteSpecHttpRouteMatchHeaderMatchOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetRouteSpecHttpRouteMatchHeaderMatch { + return vs[0].([]GetRouteSpecHttpRouteMatchHeaderMatch)[vs[1].(int)] + }).(GetRouteSpecHttpRouteMatchHeaderMatchOutput) } -type VirtualNodeSpecListenerTimeoutOutput struct{ *pulumi.OutputState } +type GetRouteSpecHttpRouteMatchHeaderMatchRange struct { + End int `pulumi:"end"` + Start int `pulumi:"start"` +} -func (VirtualNodeSpecListenerTimeoutOutput) ElementType() reflect.Type { - return reflect.TypeOf((*VirtualNodeSpecListenerTimeout)(nil)).Elem() +// GetRouteSpecHttpRouteMatchHeaderMatchRangeInput is an input type that accepts GetRouteSpecHttpRouteMatchHeaderMatchRangeArgs and GetRouteSpecHttpRouteMatchHeaderMatchRangeOutput values. +// You can construct a concrete instance of `GetRouteSpecHttpRouteMatchHeaderMatchRangeInput` via: +// +// GetRouteSpecHttpRouteMatchHeaderMatchRangeArgs{...} +type GetRouteSpecHttpRouteMatchHeaderMatchRangeInput interface { + pulumi.Input + + ToGetRouteSpecHttpRouteMatchHeaderMatchRangeOutput() GetRouteSpecHttpRouteMatchHeaderMatchRangeOutput + ToGetRouteSpecHttpRouteMatchHeaderMatchRangeOutputWithContext(context.Context) GetRouteSpecHttpRouteMatchHeaderMatchRangeOutput } -func (o VirtualNodeSpecListenerTimeoutOutput) ToVirtualNodeSpecListenerTimeoutOutput() VirtualNodeSpecListenerTimeoutOutput { - return o +type GetRouteSpecHttpRouteMatchHeaderMatchRangeArgs struct { + End pulumi.IntInput `pulumi:"end"` + Start pulumi.IntInput `pulumi:"start"` } -func (o VirtualNodeSpecListenerTimeoutOutput) ToVirtualNodeSpecListenerTimeoutOutputWithContext(ctx context.Context) VirtualNodeSpecListenerTimeoutOutput { - return o +func (GetRouteSpecHttpRouteMatchHeaderMatchRangeArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetRouteSpecHttpRouteMatchHeaderMatchRange)(nil)).Elem() } -func (o VirtualNodeSpecListenerTimeoutOutput) ToVirtualNodeSpecListenerTimeoutPtrOutput() VirtualNodeSpecListenerTimeoutPtrOutput { - return o.ToVirtualNodeSpecListenerTimeoutPtrOutputWithContext(context.Background()) +func (i GetRouteSpecHttpRouteMatchHeaderMatchRangeArgs) ToGetRouteSpecHttpRouteMatchHeaderMatchRangeOutput() GetRouteSpecHttpRouteMatchHeaderMatchRangeOutput { + return i.ToGetRouteSpecHttpRouteMatchHeaderMatchRangeOutputWithContext(context.Background()) } -func (o VirtualNodeSpecListenerTimeoutOutput) ToVirtualNodeSpecListenerTimeoutPtrOutputWithContext(ctx context.Context) VirtualNodeSpecListenerTimeoutPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v VirtualNodeSpecListenerTimeout) *VirtualNodeSpecListenerTimeout { - return &v - }).(VirtualNodeSpecListenerTimeoutPtrOutput) +func (i GetRouteSpecHttpRouteMatchHeaderMatchRangeArgs) ToGetRouteSpecHttpRouteMatchHeaderMatchRangeOutputWithContext(ctx context.Context) GetRouteSpecHttpRouteMatchHeaderMatchRangeOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetRouteSpecHttpRouteMatchHeaderMatchRangeOutput) } -// Timeouts for gRPC listeners. -func (o VirtualNodeSpecListenerTimeoutOutput) Grpc() VirtualNodeSpecListenerTimeoutGrpcPtrOutput { - return o.ApplyT(func(v VirtualNodeSpecListenerTimeout) *VirtualNodeSpecListenerTimeoutGrpc { return v.Grpc }).(VirtualNodeSpecListenerTimeoutGrpcPtrOutput) +// GetRouteSpecHttpRouteMatchHeaderMatchRangeArrayInput is an input type that accepts GetRouteSpecHttpRouteMatchHeaderMatchRangeArray and GetRouteSpecHttpRouteMatchHeaderMatchRangeArrayOutput values. +// You can construct a concrete instance of `GetRouteSpecHttpRouteMatchHeaderMatchRangeArrayInput` via: +// +// GetRouteSpecHttpRouteMatchHeaderMatchRangeArray{ GetRouteSpecHttpRouteMatchHeaderMatchRangeArgs{...} } +type GetRouteSpecHttpRouteMatchHeaderMatchRangeArrayInput interface { + pulumi.Input + + ToGetRouteSpecHttpRouteMatchHeaderMatchRangeArrayOutput() GetRouteSpecHttpRouteMatchHeaderMatchRangeArrayOutput + ToGetRouteSpecHttpRouteMatchHeaderMatchRangeArrayOutputWithContext(context.Context) GetRouteSpecHttpRouteMatchHeaderMatchRangeArrayOutput } -// Timeouts for HTTP listeners. -func (o VirtualNodeSpecListenerTimeoutOutput) Http() VirtualNodeSpecListenerTimeoutHttpPtrOutput { - return o.ApplyT(func(v VirtualNodeSpecListenerTimeout) *VirtualNodeSpecListenerTimeoutHttp { return v.Http }).(VirtualNodeSpecListenerTimeoutHttpPtrOutput) +type GetRouteSpecHttpRouteMatchHeaderMatchRangeArray []GetRouteSpecHttpRouteMatchHeaderMatchRangeInput + +func (GetRouteSpecHttpRouteMatchHeaderMatchRangeArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetRouteSpecHttpRouteMatchHeaderMatchRange)(nil)).Elem() } -// Timeouts for HTTP2 listeners. -func (o VirtualNodeSpecListenerTimeoutOutput) Http2() VirtualNodeSpecListenerTimeoutHttp2PtrOutput { - return o.ApplyT(func(v VirtualNodeSpecListenerTimeout) *VirtualNodeSpecListenerTimeoutHttp2 { return v.Http2 }).(VirtualNodeSpecListenerTimeoutHttp2PtrOutput) +func (i GetRouteSpecHttpRouteMatchHeaderMatchRangeArray) ToGetRouteSpecHttpRouteMatchHeaderMatchRangeArrayOutput() GetRouteSpecHttpRouteMatchHeaderMatchRangeArrayOutput { + return i.ToGetRouteSpecHttpRouteMatchHeaderMatchRangeArrayOutputWithContext(context.Background()) } -// Timeouts for TCP listeners. -func (o VirtualNodeSpecListenerTimeoutOutput) Tcp() VirtualNodeSpecListenerTimeoutTcpPtrOutput { - return o.ApplyT(func(v VirtualNodeSpecListenerTimeout) *VirtualNodeSpecListenerTimeoutTcp { return v.Tcp }).(VirtualNodeSpecListenerTimeoutTcpPtrOutput) +func (i GetRouteSpecHttpRouteMatchHeaderMatchRangeArray) ToGetRouteSpecHttpRouteMatchHeaderMatchRangeArrayOutputWithContext(ctx context.Context) GetRouteSpecHttpRouteMatchHeaderMatchRangeArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetRouteSpecHttpRouteMatchHeaderMatchRangeArrayOutput) } -type VirtualNodeSpecListenerTimeoutPtrOutput struct{ *pulumi.OutputState } +type GetRouteSpecHttpRouteMatchHeaderMatchRangeOutput struct{ *pulumi.OutputState } -func (VirtualNodeSpecListenerTimeoutPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**VirtualNodeSpecListenerTimeout)(nil)).Elem() +func (GetRouteSpecHttpRouteMatchHeaderMatchRangeOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetRouteSpecHttpRouteMatchHeaderMatchRange)(nil)).Elem() } -func (o VirtualNodeSpecListenerTimeoutPtrOutput) ToVirtualNodeSpecListenerTimeoutPtrOutput() VirtualNodeSpecListenerTimeoutPtrOutput { +func (o GetRouteSpecHttpRouteMatchHeaderMatchRangeOutput) ToGetRouteSpecHttpRouteMatchHeaderMatchRangeOutput() GetRouteSpecHttpRouteMatchHeaderMatchRangeOutput { return o } -func (o VirtualNodeSpecListenerTimeoutPtrOutput) ToVirtualNodeSpecListenerTimeoutPtrOutputWithContext(ctx context.Context) VirtualNodeSpecListenerTimeoutPtrOutput { +func (o GetRouteSpecHttpRouteMatchHeaderMatchRangeOutput) ToGetRouteSpecHttpRouteMatchHeaderMatchRangeOutputWithContext(ctx context.Context) GetRouteSpecHttpRouteMatchHeaderMatchRangeOutput { return o } -func (o VirtualNodeSpecListenerTimeoutPtrOutput) Elem() VirtualNodeSpecListenerTimeoutOutput { - return o.ApplyT(func(v *VirtualNodeSpecListenerTimeout) VirtualNodeSpecListenerTimeout { - if v != nil { - return *v - } - var ret VirtualNodeSpecListenerTimeout - return ret - }).(VirtualNodeSpecListenerTimeoutOutput) +func (o GetRouteSpecHttpRouteMatchHeaderMatchRangeOutput) End() pulumi.IntOutput { + return o.ApplyT(func(v GetRouteSpecHttpRouteMatchHeaderMatchRange) int { return v.End }).(pulumi.IntOutput) } -// Timeouts for gRPC listeners. -func (o VirtualNodeSpecListenerTimeoutPtrOutput) Grpc() VirtualNodeSpecListenerTimeoutGrpcPtrOutput { - return o.ApplyT(func(v *VirtualNodeSpecListenerTimeout) *VirtualNodeSpecListenerTimeoutGrpc { - if v == nil { - return nil - } - return v.Grpc - }).(VirtualNodeSpecListenerTimeoutGrpcPtrOutput) +func (o GetRouteSpecHttpRouteMatchHeaderMatchRangeOutput) Start() pulumi.IntOutput { + return o.ApplyT(func(v GetRouteSpecHttpRouteMatchHeaderMatchRange) int { return v.Start }).(pulumi.IntOutput) } -// Timeouts for HTTP listeners. -func (o VirtualNodeSpecListenerTimeoutPtrOutput) Http() VirtualNodeSpecListenerTimeoutHttpPtrOutput { - return o.ApplyT(func(v *VirtualNodeSpecListenerTimeout) *VirtualNodeSpecListenerTimeoutHttp { - if v == nil { - return nil - } - return v.Http - }).(VirtualNodeSpecListenerTimeoutHttpPtrOutput) -} +type GetRouteSpecHttpRouteMatchHeaderMatchRangeArrayOutput struct{ *pulumi.OutputState } -// Timeouts for HTTP2 listeners. -func (o VirtualNodeSpecListenerTimeoutPtrOutput) Http2() VirtualNodeSpecListenerTimeoutHttp2PtrOutput { - return o.ApplyT(func(v *VirtualNodeSpecListenerTimeout) *VirtualNodeSpecListenerTimeoutHttp2 { - if v == nil { - return nil - } - return v.Http2 - }).(VirtualNodeSpecListenerTimeoutHttp2PtrOutput) +func (GetRouteSpecHttpRouteMatchHeaderMatchRangeArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetRouteSpecHttpRouteMatchHeaderMatchRange)(nil)).Elem() } -// Timeouts for TCP listeners. -func (o VirtualNodeSpecListenerTimeoutPtrOutput) Tcp() VirtualNodeSpecListenerTimeoutTcpPtrOutput { - return o.ApplyT(func(v *VirtualNodeSpecListenerTimeout) *VirtualNodeSpecListenerTimeoutTcp { - if v == nil { - return nil - } - return v.Tcp - }).(VirtualNodeSpecListenerTimeoutTcpPtrOutput) +func (o GetRouteSpecHttpRouteMatchHeaderMatchRangeArrayOutput) ToGetRouteSpecHttpRouteMatchHeaderMatchRangeArrayOutput() GetRouteSpecHttpRouteMatchHeaderMatchRangeArrayOutput { + return o } -type VirtualNodeSpecListenerTimeoutGrpc struct { - // Idle timeout. An idle timeout bounds the amount of time that a connection may be idle. - Idle *VirtualNodeSpecListenerTimeoutGrpcIdle `pulumi:"idle"` - // Per request timeout. - PerRequest *VirtualNodeSpecListenerTimeoutGrpcPerRequest `pulumi:"perRequest"` +func (o GetRouteSpecHttpRouteMatchHeaderMatchRangeArrayOutput) ToGetRouteSpecHttpRouteMatchHeaderMatchRangeArrayOutputWithContext(ctx context.Context) GetRouteSpecHttpRouteMatchHeaderMatchRangeArrayOutput { + return o } -// VirtualNodeSpecListenerTimeoutGrpcInput is an input type that accepts VirtualNodeSpecListenerTimeoutGrpcArgs and VirtualNodeSpecListenerTimeoutGrpcOutput values. -// You can construct a concrete instance of `VirtualNodeSpecListenerTimeoutGrpcInput` via: -// -// VirtualNodeSpecListenerTimeoutGrpcArgs{...} -type VirtualNodeSpecListenerTimeoutGrpcInput interface { - pulumi.Input - - ToVirtualNodeSpecListenerTimeoutGrpcOutput() VirtualNodeSpecListenerTimeoutGrpcOutput - ToVirtualNodeSpecListenerTimeoutGrpcOutputWithContext(context.Context) VirtualNodeSpecListenerTimeoutGrpcOutput +func (o GetRouteSpecHttpRouteMatchHeaderMatchRangeArrayOutput) Index(i pulumi.IntInput) GetRouteSpecHttpRouteMatchHeaderMatchRangeOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetRouteSpecHttpRouteMatchHeaderMatchRange { + return vs[0].([]GetRouteSpecHttpRouteMatchHeaderMatchRange)[vs[1].(int)] + }).(GetRouteSpecHttpRouteMatchHeaderMatchRangeOutput) } -type VirtualNodeSpecListenerTimeoutGrpcArgs struct { - // Idle timeout. An idle timeout bounds the amount of time that a connection may be idle. - Idle VirtualNodeSpecListenerTimeoutGrpcIdlePtrInput `pulumi:"idle"` - // Per request timeout. - PerRequest VirtualNodeSpecListenerTimeoutGrpcPerRequestPtrInput `pulumi:"perRequest"` +type GetRouteSpecHttpRouteMatchPath struct { + Exact string `pulumi:"exact"` + Regex string `pulumi:"regex"` } -func (VirtualNodeSpecListenerTimeoutGrpcArgs) ElementType() reflect.Type { - return reflect.TypeOf((*VirtualNodeSpecListenerTimeoutGrpc)(nil)).Elem() +// GetRouteSpecHttpRouteMatchPathInput is an input type that accepts GetRouteSpecHttpRouteMatchPathArgs and GetRouteSpecHttpRouteMatchPathOutput values. +// You can construct a concrete instance of `GetRouteSpecHttpRouteMatchPathInput` via: +// +// GetRouteSpecHttpRouteMatchPathArgs{...} +type GetRouteSpecHttpRouteMatchPathInput interface { + pulumi.Input + + ToGetRouteSpecHttpRouteMatchPathOutput() GetRouteSpecHttpRouteMatchPathOutput + ToGetRouteSpecHttpRouteMatchPathOutputWithContext(context.Context) GetRouteSpecHttpRouteMatchPathOutput } -func (i VirtualNodeSpecListenerTimeoutGrpcArgs) ToVirtualNodeSpecListenerTimeoutGrpcOutput() VirtualNodeSpecListenerTimeoutGrpcOutput { - return i.ToVirtualNodeSpecListenerTimeoutGrpcOutputWithContext(context.Background()) +type GetRouteSpecHttpRouteMatchPathArgs struct { + Exact pulumi.StringInput `pulumi:"exact"` + Regex pulumi.StringInput `pulumi:"regex"` } -func (i VirtualNodeSpecListenerTimeoutGrpcArgs) ToVirtualNodeSpecListenerTimeoutGrpcOutputWithContext(ctx context.Context) VirtualNodeSpecListenerTimeoutGrpcOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecListenerTimeoutGrpcOutput) +func (GetRouteSpecHttpRouteMatchPathArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetRouteSpecHttpRouteMatchPath)(nil)).Elem() } -func (i VirtualNodeSpecListenerTimeoutGrpcArgs) ToVirtualNodeSpecListenerTimeoutGrpcPtrOutput() VirtualNodeSpecListenerTimeoutGrpcPtrOutput { - return i.ToVirtualNodeSpecListenerTimeoutGrpcPtrOutputWithContext(context.Background()) +func (i GetRouteSpecHttpRouteMatchPathArgs) ToGetRouteSpecHttpRouteMatchPathOutput() GetRouteSpecHttpRouteMatchPathOutput { + return i.ToGetRouteSpecHttpRouteMatchPathOutputWithContext(context.Background()) } -func (i VirtualNodeSpecListenerTimeoutGrpcArgs) ToVirtualNodeSpecListenerTimeoutGrpcPtrOutputWithContext(ctx context.Context) VirtualNodeSpecListenerTimeoutGrpcPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecListenerTimeoutGrpcOutput).ToVirtualNodeSpecListenerTimeoutGrpcPtrOutputWithContext(ctx) +func (i GetRouteSpecHttpRouteMatchPathArgs) ToGetRouteSpecHttpRouteMatchPathOutputWithContext(ctx context.Context) GetRouteSpecHttpRouteMatchPathOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetRouteSpecHttpRouteMatchPathOutput) } -// VirtualNodeSpecListenerTimeoutGrpcPtrInput is an input type that accepts VirtualNodeSpecListenerTimeoutGrpcArgs, VirtualNodeSpecListenerTimeoutGrpcPtr and VirtualNodeSpecListenerTimeoutGrpcPtrOutput values. -// You can construct a concrete instance of `VirtualNodeSpecListenerTimeoutGrpcPtrInput` via: -// -// VirtualNodeSpecListenerTimeoutGrpcArgs{...} -// -// or: +// GetRouteSpecHttpRouteMatchPathArrayInput is an input type that accepts GetRouteSpecHttpRouteMatchPathArray and GetRouteSpecHttpRouteMatchPathArrayOutput values. +// You can construct a concrete instance of `GetRouteSpecHttpRouteMatchPathArrayInput` via: // -// nil -type VirtualNodeSpecListenerTimeoutGrpcPtrInput interface { +// GetRouteSpecHttpRouteMatchPathArray{ GetRouteSpecHttpRouteMatchPathArgs{...} } +type GetRouteSpecHttpRouteMatchPathArrayInput interface { pulumi.Input - ToVirtualNodeSpecListenerTimeoutGrpcPtrOutput() VirtualNodeSpecListenerTimeoutGrpcPtrOutput - ToVirtualNodeSpecListenerTimeoutGrpcPtrOutputWithContext(context.Context) VirtualNodeSpecListenerTimeoutGrpcPtrOutput + ToGetRouteSpecHttpRouteMatchPathArrayOutput() GetRouteSpecHttpRouteMatchPathArrayOutput + ToGetRouteSpecHttpRouteMatchPathArrayOutputWithContext(context.Context) GetRouteSpecHttpRouteMatchPathArrayOutput } -type virtualNodeSpecListenerTimeoutGrpcPtrType VirtualNodeSpecListenerTimeoutGrpcArgs - -func VirtualNodeSpecListenerTimeoutGrpcPtr(v *VirtualNodeSpecListenerTimeoutGrpcArgs) VirtualNodeSpecListenerTimeoutGrpcPtrInput { - return (*virtualNodeSpecListenerTimeoutGrpcPtrType)(v) -} +type GetRouteSpecHttpRouteMatchPathArray []GetRouteSpecHttpRouteMatchPathInput -func (*virtualNodeSpecListenerTimeoutGrpcPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**VirtualNodeSpecListenerTimeoutGrpc)(nil)).Elem() +func (GetRouteSpecHttpRouteMatchPathArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetRouteSpecHttpRouteMatchPath)(nil)).Elem() } -func (i *virtualNodeSpecListenerTimeoutGrpcPtrType) ToVirtualNodeSpecListenerTimeoutGrpcPtrOutput() VirtualNodeSpecListenerTimeoutGrpcPtrOutput { - return i.ToVirtualNodeSpecListenerTimeoutGrpcPtrOutputWithContext(context.Background()) +func (i GetRouteSpecHttpRouteMatchPathArray) ToGetRouteSpecHttpRouteMatchPathArrayOutput() GetRouteSpecHttpRouteMatchPathArrayOutput { + return i.ToGetRouteSpecHttpRouteMatchPathArrayOutputWithContext(context.Background()) } -func (i *virtualNodeSpecListenerTimeoutGrpcPtrType) ToVirtualNodeSpecListenerTimeoutGrpcPtrOutputWithContext(ctx context.Context) VirtualNodeSpecListenerTimeoutGrpcPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecListenerTimeoutGrpcPtrOutput) +func (i GetRouteSpecHttpRouteMatchPathArray) ToGetRouteSpecHttpRouteMatchPathArrayOutputWithContext(ctx context.Context) GetRouteSpecHttpRouteMatchPathArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetRouteSpecHttpRouteMatchPathArrayOutput) } -type VirtualNodeSpecListenerTimeoutGrpcOutput struct{ *pulumi.OutputState } +type GetRouteSpecHttpRouteMatchPathOutput struct{ *pulumi.OutputState } -func (VirtualNodeSpecListenerTimeoutGrpcOutput) ElementType() reflect.Type { - return reflect.TypeOf((*VirtualNodeSpecListenerTimeoutGrpc)(nil)).Elem() +func (GetRouteSpecHttpRouteMatchPathOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetRouteSpecHttpRouteMatchPath)(nil)).Elem() } -func (o VirtualNodeSpecListenerTimeoutGrpcOutput) ToVirtualNodeSpecListenerTimeoutGrpcOutput() VirtualNodeSpecListenerTimeoutGrpcOutput { +func (o GetRouteSpecHttpRouteMatchPathOutput) ToGetRouteSpecHttpRouteMatchPathOutput() GetRouteSpecHttpRouteMatchPathOutput { return o } -func (o VirtualNodeSpecListenerTimeoutGrpcOutput) ToVirtualNodeSpecListenerTimeoutGrpcOutputWithContext(ctx context.Context) VirtualNodeSpecListenerTimeoutGrpcOutput { +func (o GetRouteSpecHttpRouteMatchPathOutput) ToGetRouteSpecHttpRouteMatchPathOutputWithContext(ctx context.Context) GetRouteSpecHttpRouteMatchPathOutput { return o } -func (o VirtualNodeSpecListenerTimeoutGrpcOutput) ToVirtualNodeSpecListenerTimeoutGrpcPtrOutput() VirtualNodeSpecListenerTimeoutGrpcPtrOutput { - return o.ToVirtualNodeSpecListenerTimeoutGrpcPtrOutputWithContext(context.Background()) +func (o GetRouteSpecHttpRouteMatchPathOutput) Exact() pulumi.StringOutput { + return o.ApplyT(func(v GetRouteSpecHttpRouteMatchPath) string { return v.Exact }).(pulumi.StringOutput) } -func (o VirtualNodeSpecListenerTimeoutGrpcOutput) ToVirtualNodeSpecListenerTimeoutGrpcPtrOutputWithContext(ctx context.Context) VirtualNodeSpecListenerTimeoutGrpcPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v VirtualNodeSpecListenerTimeoutGrpc) *VirtualNodeSpecListenerTimeoutGrpc { - return &v - }).(VirtualNodeSpecListenerTimeoutGrpcPtrOutput) +func (o GetRouteSpecHttpRouteMatchPathOutput) Regex() pulumi.StringOutput { + return o.ApplyT(func(v GetRouteSpecHttpRouteMatchPath) string { return v.Regex }).(pulumi.StringOutput) } -// Idle timeout. An idle timeout bounds the amount of time that a connection may be idle. -func (o VirtualNodeSpecListenerTimeoutGrpcOutput) Idle() VirtualNodeSpecListenerTimeoutGrpcIdlePtrOutput { - return o.ApplyT(func(v VirtualNodeSpecListenerTimeoutGrpc) *VirtualNodeSpecListenerTimeoutGrpcIdle { return v.Idle }).(VirtualNodeSpecListenerTimeoutGrpcIdlePtrOutput) +type GetRouteSpecHttpRouteMatchPathArrayOutput struct{ *pulumi.OutputState } + +func (GetRouteSpecHttpRouteMatchPathArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetRouteSpecHttpRouteMatchPath)(nil)).Elem() } -// Per request timeout. -func (o VirtualNodeSpecListenerTimeoutGrpcOutput) PerRequest() VirtualNodeSpecListenerTimeoutGrpcPerRequestPtrOutput { - return o.ApplyT(func(v VirtualNodeSpecListenerTimeoutGrpc) *VirtualNodeSpecListenerTimeoutGrpcPerRequest { - return v.PerRequest - }).(VirtualNodeSpecListenerTimeoutGrpcPerRequestPtrOutput) +func (o GetRouteSpecHttpRouteMatchPathArrayOutput) ToGetRouteSpecHttpRouteMatchPathArrayOutput() GetRouteSpecHttpRouteMatchPathArrayOutput { + return o } -type VirtualNodeSpecListenerTimeoutGrpcPtrOutput struct{ *pulumi.OutputState } +func (o GetRouteSpecHttpRouteMatchPathArrayOutput) ToGetRouteSpecHttpRouteMatchPathArrayOutputWithContext(ctx context.Context) GetRouteSpecHttpRouteMatchPathArrayOutput { + return o +} -func (VirtualNodeSpecListenerTimeoutGrpcPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**VirtualNodeSpecListenerTimeoutGrpc)(nil)).Elem() +func (o GetRouteSpecHttpRouteMatchPathArrayOutput) Index(i pulumi.IntInput) GetRouteSpecHttpRouteMatchPathOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetRouteSpecHttpRouteMatchPath { + return vs[0].([]GetRouteSpecHttpRouteMatchPath)[vs[1].(int)] + }).(GetRouteSpecHttpRouteMatchPathOutput) } -func (o VirtualNodeSpecListenerTimeoutGrpcPtrOutput) ToVirtualNodeSpecListenerTimeoutGrpcPtrOutput() VirtualNodeSpecListenerTimeoutGrpcPtrOutput { - return o +type GetRouteSpecHttpRouteMatchQueryParameter struct { + Matches []GetRouteSpecHttpRouteMatchQueryParameterMatch `pulumi:"matches"` + // Name of the route. + Name string `pulumi:"name"` } -func (o VirtualNodeSpecListenerTimeoutGrpcPtrOutput) ToVirtualNodeSpecListenerTimeoutGrpcPtrOutputWithContext(ctx context.Context) VirtualNodeSpecListenerTimeoutGrpcPtrOutput { - return o +// GetRouteSpecHttpRouteMatchQueryParameterInput is an input type that accepts GetRouteSpecHttpRouteMatchQueryParameterArgs and GetRouteSpecHttpRouteMatchQueryParameterOutput values. +// You can construct a concrete instance of `GetRouteSpecHttpRouteMatchQueryParameterInput` via: +// +// GetRouteSpecHttpRouteMatchQueryParameterArgs{...} +type GetRouteSpecHttpRouteMatchQueryParameterInput interface { + pulumi.Input + + ToGetRouteSpecHttpRouteMatchQueryParameterOutput() GetRouteSpecHttpRouteMatchQueryParameterOutput + ToGetRouteSpecHttpRouteMatchQueryParameterOutputWithContext(context.Context) GetRouteSpecHttpRouteMatchQueryParameterOutput } -func (o VirtualNodeSpecListenerTimeoutGrpcPtrOutput) Elem() VirtualNodeSpecListenerTimeoutGrpcOutput { - return o.ApplyT(func(v *VirtualNodeSpecListenerTimeoutGrpc) VirtualNodeSpecListenerTimeoutGrpc { - if v != nil { - return *v - } - var ret VirtualNodeSpecListenerTimeoutGrpc - return ret - }).(VirtualNodeSpecListenerTimeoutGrpcOutput) +type GetRouteSpecHttpRouteMatchQueryParameterArgs struct { + Matches GetRouteSpecHttpRouteMatchQueryParameterMatchArrayInput `pulumi:"matches"` + // Name of the route. + Name pulumi.StringInput `pulumi:"name"` } -// Idle timeout. An idle timeout bounds the amount of time that a connection may be idle. -func (o VirtualNodeSpecListenerTimeoutGrpcPtrOutput) Idle() VirtualNodeSpecListenerTimeoutGrpcIdlePtrOutput { - return o.ApplyT(func(v *VirtualNodeSpecListenerTimeoutGrpc) *VirtualNodeSpecListenerTimeoutGrpcIdle { - if v == nil { - return nil - } - return v.Idle - }).(VirtualNodeSpecListenerTimeoutGrpcIdlePtrOutput) +func (GetRouteSpecHttpRouteMatchQueryParameterArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetRouteSpecHttpRouteMatchQueryParameter)(nil)).Elem() } -// Per request timeout. -func (o VirtualNodeSpecListenerTimeoutGrpcPtrOutput) PerRequest() VirtualNodeSpecListenerTimeoutGrpcPerRequestPtrOutput { - return o.ApplyT(func(v *VirtualNodeSpecListenerTimeoutGrpc) *VirtualNodeSpecListenerTimeoutGrpcPerRequest { - if v == nil { - return nil - } - return v.PerRequest - }).(VirtualNodeSpecListenerTimeoutGrpcPerRequestPtrOutput) +func (i GetRouteSpecHttpRouteMatchQueryParameterArgs) ToGetRouteSpecHttpRouteMatchQueryParameterOutput() GetRouteSpecHttpRouteMatchQueryParameterOutput { + return i.ToGetRouteSpecHttpRouteMatchQueryParameterOutputWithContext(context.Background()) } -type VirtualNodeSpecListenerTimeoutGrpcIdle struct { - // Unit of time. Valid values: `ms`, `s`. - Unit string `pulumi:"unit"` - // Number of time units. Minimum value of `0`. - Value int `pulumi:"value"` +func (i GetRouteSpecHttpRouteMatchQueryParameterArgs) ToGetRouteSpecHttpRouteMatchQueryParameterOutputWithContext(ctx context.Context) GetRouteSpecHttpRouteMatchQueryParameterOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetRouteSpecHttpRouteMatchQueryParameterOutput) } -// VirtualNodeSpecListenerTimeoutGrpcIdleInput is an input type that accepts VirtualNodeSpecListenerTimeoutGrpcIdleArgs and VirtualNodeSpecListenerTimeoutGrpcIdleOutput values. -// You can construct a concrete instance of `VirtualNodeSpecListenerTimeoutGrpcIdleInput` via: +// GetRouteSpecHttpRouteMatchQueryParameterArrayInput is an input type that accepts GetRouteSpecHttpRouteMatchQueryParameterArray and GetRouteSpecHttpRouteMatchQueryParameterArrayOutput values. +// You can construct a concrete instance of `GetRouteSpecHttpRouteMatchQueryParameterArrayInput` via: // -// VirtualNodeSpecListenerTimeoutGrpcIdleArgs{...} -type VirtualNodeSpecListenerTimeoutGrpcIdleInput interface { +// GetRouteSpecHttpRouteMatchQueryParameterArray{ GetRouteSpecHttpRouteMatchQueryParameterArgs{...} } +type GetRouteSpecHttpRouteMatchQueryParameterArrayInput interface { pulumi.Input - ToVirtualNodeSpecListenerTimeoutGrpcIdleOutput() VirtualNodeSpecListenerTimeoutGrpcIdleOutput - ToVirtualNodeSpecListenerTimeoutGrpcIdleOutputWithContext(context.Context) VirtualNodeSpecListenerTimeoutGrpcIdleOutput + ToGetRouteSpecHttpRouteMatchQueryParameterArrayOutput() GetRouteSpecHttpRouteMatchQueryParameterArrayOutput + ToGetRouteSpecHttpRouteMatchQueryParameterArrayOutputWithContext(context.Context) GetRouteSpecHttpRouteMatchQueryParameterArrayOutput +} + +type GetRouteSpecHttpRouteMatchQueryParameterArray []GetRouteSpecHttpRouteMatchQueryParameterInput + +func (GetRouteSpecHttpRouteMatchQueryParameterArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetRouteSpecHttpRouteMatchQueryParameter)(nil)).Elem() +} + +func (i GetRouteSpecHttpRouteMatchQueryParameterArray) ToGetRouteSpecHttpRouteMatchQueryParameterArrayOutput() GetRouteSpecHttpRouteMatchQueryParameterArrayOutput { + return i.ToGetRouteSpecHttpRouteMatchQueryParameterArrayOutputWithContext(context.Background()) } -type VirtualNodeSpecListenerTimeoutGrpcIdleArgs struct { - // Unit of time. Valid values: `ms`, `s`. - Unit pulumi.StringInput `pulumi:"unit"` - // Number of time units. Minimum value of `0`. - Value pulumi.IntInput `pulumi:"value"` +func (i GetRouteSpecHttpRouteMatchQueryParameterArray) ToGetRouteSpecHttpRouteMatchQueryParameterArrayOutputWithContext(ctx context.Context) GetRouteSpecHttpRouteMatchQueryParameterArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetRouteSpecHttpRouteMatchQueryParameterArrayOutput) } -func (VirtualNodeSpecListenerTimeoutGrpcIdleArgs) ElementType() reflect.Type { - return reflect.TypeOf((*VirtualNodeSpecListenerTimeoutGrpcIdle)(nil)).Elem() +type GetRouteSpecHttpRouteMatchQueryParameterOutput struct{ *pulumi.OutputState } + +func (GetRouteSpecHttpRouteMatchQueryParameterOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetRouteSpecHttpRouteMatchQueryParameter)(nil)).Elem() } -func (i VirtualNodeSpecListenerTimeoutGrpcIdleArgs) ToVirtualNodeSpecListenerTimeoutGrpcIdleOutput() VirtualNodeSpecListenerTimeoutGrpcIdleOutput { - return i.ToVirtualNodeSpecListenerTimeoutGrpcIdleOutputWithContext(context.Background()) +func (o GetRouteSpecHttpRouteMatchQueryParameterOutput) ToGetRouteSpecHttpRouteMatchQueryParameterOutput() GetRouteSpecHttpRouteMatchQueryParameterOutput { + return o } -func (i VirtualNodeSpecListenerTimeoutGrpcIdleArgs) ToVirtualNodeSpecListenerTimeoutGrpcIdleOutputWithContext(ctx context.Context) VirtualNodeSpecListenerTimeoutGrpcIdleOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecListenerTimeoutGrpcIdleOutput) +func (o GetRouteSpecHttpRouteMatchQueryParameterOutput) ToGetRouteSpecHttpRouteMatchQueryParameterOutputWithContext(ctx context.Context) GetRouteSpecHttpRouteMatchQueryParameterOutput { + return o } -func (i VirtualNodeSpecListenerTimeoutGrpcIdleArgs) ToVirtualNodeSpecListenerTimeoutGrpcIdlePtrOutput() VirtualNodeSpecListenerTimeoutGrpcIdlePtrOutput { - return i.ToVirtualNodeSpecListenerTimeoutGrpcIdlePtrOutputWithContext(context.Background()) +func (o GetRouteSpecHttpRouteMatchQueryParameterOutput) Matches() GetRouteSpecHttpRouteMatchQueryParameterMatchArrayOutput { + return o.ApplyT(func(v GetRouteSpecHttpRouteMatchQueryParameter) []GetRouteSpecHttpRouteMatchQueryParameterMatch { + return v.Matches + }).(GetRouteSpecHttpRouteMatchQueryParameterMatchArrayOutput) } -func (i VirtualNodeSpecListenerTimeoutGrpcIdleArgs) ToVirtualNodeSpecListenerTimeoutGrpcIdlePtrOutputWithContext(ctx context.Context) VirtualNodeSpecListenerTimeoutGrpcIdlePtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecListenerTimeoutGrpcIdleOutput).ToVirtualNodeSpecListenerTimeoutGrpcIdlePtrOutputWithContext(ctx) +// Name of the route. +func (o GetRouteSpecHttpRouteMatchQueryParameterOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetRouteSpecHttpRouteMatchQueryParameter) string { return v.Name }).(pulumi.StringOutput) } -// VirtualNodeSpecListenerTimeoutGrpcIdlePtrInput is an input type that accepts VirtualNodeSpecListenerTimeoutGrpcIdleArgs, VirtualNodeSpecListenerTimeoutGrpcIdlePtr and VirtualNodeSpecListenerTimeoutGrpcIdlePtrOutput values. -// You can construct a concrete instance of `VirtualNodeSpecListenerTimeoutGrpcIdlePtrInput` via: -// -// VirtualNodeSpecListenerTimeoutGrpcIdleArgs{...} -// -// or: -// -// nil -type VirtualNodeSpecListenerTimeoutGrpcIdlePtrInput interface { - pulumi.Input +type GetRouteSpecHttpRouteMatchQueryParameterArrayOutput struct{ *pulumi.OutputState } - ToVirtualNodeSpecListenerTimeoutGrpcIdlePtrOutput() VirtualNodeSpecListenerTimeoutGrpcIdlePtrOutput - ToVirtualNodeSpecListenerTimeoutGrpcIdlePtrOutputWithContext(context.Context) VirtualNodeSpecListenerTimeoutGrpcIdlePtrOutput +func (GetRouteSpecHttpRouteMatchQueryParameterArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetRouteSpecHttpRouteMatchQueryParameter)(nil)).Elem() } -type virtualNodeSpecListenerTimeoutGrpcIdlePtrType VirtualNodeSpecListenerTimeoutGrpcIdleArgs +func (o GetRouteSpecHttpRouteMatchQueryParameterArrayOutput) ToGetRouteSpecHttpRouteMatchQueryParameterArrayOutput() GetRouteSpecHttpRouteMatchQueryParameterArrayOutput { + return o +} -func VirtualNodeSpecListenerTimeoutGrpcIdlePtr(v *VirtualNodeSpecListenerTimeoutGrpcIdleArgs) VirtualNodeSpecListenerTimeoutGrpcIdlePtrInput { - return (*virtualNodeSpecListenerTimeoutGrpcIdlePtrType)(v) +func (o GetRouteSpecHttpRouteMatchQueryParameterArrayOutput) ToGetRouteSpecHttpRouteMatchQueryParameterArrayOutputWithContext(ctx context.Context) GetRouteSpecHttpRouteMatchQueryParameterArrayOutput { + return o } -func (*virtualNodeSpecListenerTimeoutGrpcIdlePtrType) ElementType() reflect.Type { - return reflect.TypeOf((**VirtualNodeSpecListenerTimeoutGrpcIdle)(nil)).Elem() +func (o GetRouteSpecHttpRouteMatchQueryParameterArrayOutput) Index(i pulumi.IntInput) GetRouteSpecHttpRouteMatchQueryParameterOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetRouteSpecHttpRouteMatchQueryParameter { + return vs[0].([]GetRouteSpecHttpRouteMatchQueryParameter)[vs[1].(int)] + }).(GetRouteSpecHttpRouteMatchQueryParameterOutput) } -func (i *virtualNodeSpecListenerTimeoutGrpcIdlePtrType) ToVirtualNodeSpecListenerTimeoutGrpcIdlePtrOutput() VirtualNodeSpecListenerTimeoutGrpcIdlePtrOutput { - return i.ToVirtualNodeSpecListenerTimeoutGrpcIdlePtrOutputWithContext(context.Background()) +type GetRouteSpecHttpRouteMatchQueryParameterMatch struct { + Exact string `pulumi:"exact"` } -func (i *virtualNodeSpecListenerTimeoutGrpcIdlePtrType) ToVirtualNodeSpecListenerTimeoutGrpcIdlePtrOutputWithContext(ctx context.Context) VirtualNodeSpecListenerTimeoutGrpcIdlePtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecListenerTimeoutGrpcIdlePtrOutput) +// GetRouteSpecHttpRouteMatchQueryParameterMatchInput is an input type that accepts GetRouteSpecHttpRouteMatchQueryParameterMatchArgs and GetRouteSpecHttpRouteMatchQueryParameterMatchOutput values. +// You can construct a concrete instance of `GetRouteSpecHttpRouteMatchQueryParameterMatchInput` via: +// +// GetRouteSpecHttpRouteMatchQueryParameterMatchArgs{...} +type GetRouteSpecHttpRouteMatchQueryParameterMatchInput interface { + pulumi.Input + + ToGetRouteSpecHttpRouteMatchQueryParameterMatchOutput() GetRouteSpecHttpRouteMatchQueryParameterMatchOutput + ToGetRouteSpecHttpRouteMatchQueryParameterMatchOutputWithContext(context.Context) GetRouteSpecHttpRouteMatchQueryParameterMatchOutput } -type VirtualNodeSpecListenerTimeoutGrpcIdleOutput struct{ *pulumi.OutputState } +type GetRouteSpecHttpRouteMatchQueryParameterMatchArgs struct { + Exact pulumi.StringInput `pulumi:"exact"` +} -func (VirtualNodeSpecListenerTimeoutGrpcIdleOutput) ElementType() reflect.Type { - return reflect.TypeOf((*VirtualNodeSpecListenerTimeoutGrpcIdle)(nil)).Elem() +func (GetRouteSpecHttpRouteMatchQueryParameterMatchArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetRouteSpecHttpRouteMatchQueryParameterMatch)(nil)).Elem() } -func (o VirtualNodeSpecListenerTimeoutGrpcIdleOutput) ToVirtualNodeSpecListenerTimeoutGrpcIdleOutput() VirtualNodeSpecListenerTimeoutGrpcIdleOutput { - return o +func (i GetRouteSpecHttpRouteMatchQueryParameterMatchArgs) ToGetRouteSpecHttpRouteMatchQueryParameterMatchOutput() GetRouteSpecHttpRouteMatchQueryParameterMatchOutput { + return i.ToGetRouteSpecHttpRouteMatchQueryParameterMatchOutputWithContext(context.Background()) } -func (o VirtualNodeSpecListenerTimeoutGrpcIdleOutput) ToVirtualNodeSpecListenerTimeoutGrpcIdleOutputWithContext(ctx context.Context) VirtualNodeSpecListenerTimeoutGrpcIdleOutput { - return o +func (i GetRouteSpecHttpRouteMatchQueryParameterMatchArgs) ToGetRouteSpecHttpRouteMatchQueryParameterMatchOutputWithContext(ctx context.Context) GetRouteSpecHttpRouteMatchQueryParameterMatchOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetRouteSpecHttpRouteMatchQueryParameterMatchOutput) } -func (o VirtualNodeSpecListenerTimeoutGrpcIdleOutput) ToVirtualNodeSpecListenerTimeoutGrpcIdlePtrOutput() VirtualNodeSpecListenerTimeoutGrpcIdlePtrOutput { - return o.ToVirtualNodeSpecListenerTimeoutGrpcIdlePtrOutputWithContext(context.Background()) +// GetRouteSpecHttpRouteMatchQueryParameterMatchArrayInput is an input type that accepts GetRouteSpecHttpRouteMatchQueryParameterMatchArray and GetRouteSpecHttpRouteMatchQueryParameterMatchArrayOutput values. +// You can construct a concrete instance of `GetRouteSpecHttpRouteMatchQueryParameterMatchArrayInput` via: +// +// GetRouteSpecHttpRouteMatchQueryParameterMatchArray{ GetRouteSpecHttpRouteMatchQueryParameterMatchArgs{...} } +type GetRouteSpecHttpRouteMatchQueryParameterMatchArrayInput interface { + pulumi.Input + + ToGetRouteSpecHttpRouteMatchQueryParameterMatchArrayOutput() GetRouteSpecHttpRouteMatchQueryParameterMatchArrayOutput + ToGetRouteSpecHttpRouteMatchQueryParameterMatchArrayOutputWithContext(context.Context) GetRouteSpecHttpRouteMatchQueryParameterMatchArrayOutput } -func (o VirtualNodeSpecListenerTimeoutGrpcIdleOutput) ToVirtualNodeSpecListenerTimeoutGrpcIdlePtrOutputWithContext(ctx context.Context) VirtualNodeSpecListenerTimeoutGrpcIdlePtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v VirtualNodeSpecListenerTimeoutGrpcIdle) *VirtualNodeSpecListenerTimeoutGrpcIdle { - return &v - }).(VirtualNodeSpecListenerTimeoutGrpcIdlePtrOutput) +type GetRouteSpecHttpRouteMatchQueryParameterMatchArray []GetRouteSpecHttpRouteMatchQueryParameterMatchInput + +func (GetRouteSpecHttpRouteMatchQueryParameterMatchArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetRouteSpecHttpRouteMatchQueryParameterMatch)(nil)).Elem() } -// Unit of time. Valid values: `ms`, `s`. -func (o VirtualNodeSpecListenerTimeoutGrpcIdleOutput) Unit() pulumi.StringOutput { - return o.ApplyT(func(v VirtualNodeSpecListenerTimeoutGrpcIdle) string { return v.Unit }).(pulumi.StringOutput) +func (i GetRouteSpecHttpRouteMatchQueryParameterMatchArray) ToGetRouteSpecHttpRouteMatchQueryParameterMatchArrayOutput() GetRouteSpecHttpRouteMatchQueryParameterMatchArrayOutput { + return i.ToGetRouteSpecHttpRouteMatchQueryParameterMatchArrayOutputWithContext(context.Background()) } -// Number of time units. Minimum value of `0`. -func (o VirtualNodeSpecListenerTimeoutGrpcIdleOutput) Value() pulumi.IntOutput { - return o.ApplyT(func(v VirtualNodeSpecListenerTimeoutGrpcIdle) int { return v.Value }).(pulumi.IntOutput) +func (i GetRouteSpecHttpRouteMatchQueryParameterMatchArray) ToGetRouteSpecHttpRouteMatchQueryParameterMatchArrayOutputWithContext(ctx context.Context) GetRouteSpecHttpRouteMatchQueryParameterMatchArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetRouteSpecHttpRouteMatchQueryParameterMatchArrayOutput) } -type VirtualNodeSpecListenerTimeoutGrpcIdlePtrOutput struct{ *pulumi.OutputState } +type GetRouteSpecHttpRouteMatchQueryParameterMatchOutput struct{ *pulumi.OutputState } -func (VirtualNodeSpecListenerTimeoutGrpcIdlePtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**VirtualNodeSpecListenerTimeoutGrpcIdle)(nil)).Elem() +func (GetRouteSpecHttpRouteMatchQueryParameterMatchOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetRouteSpecHttpRouteMatchQueryParameterMatch)(nil)).Elem() } -func (o VirtualNodeSpecListenerTimeoutGrpcIdlePtrOutput) ToVirtualNodeSpecListenerTimeoutGrpcIdlePtrOutput() VirtualNodeSpecListenerTimeoutGrpcIdlePtrOutput { +func (o GetRouteSpecHttpRouteMatchQueryParameterMatchOutput) ToGetRouteSpecHttpRouteMatchQueryParameterMatchOutput() GetRouteSpecHttpRouteMatchQueryParameterMatchOutput { return o } -func (o VirtualNodeSpecListenerTimeoutGrpcIdlePtrOutput) ToVirtualNodeSpecListenerTimeoutGrpcIdlePtrOutputWithContext(ctx context.Context) VirtualNodeSpecListenerTimeoutGrpcIdlePtrOutput { +func (o GetRouteSpecHttpRouteMatchQueryParameterMatchOutput) ToGetRouteSpecHttpRouteMatchQueryParameterMatchOutputWithContext(ctx context.Context) GetRouteSpecHttpRouteMatchQueryParameterMatchOutput { return o } -func (o VirtualNodeSpecListenerTimeoutGrpcIdlePtrOutput) Elem() VirtualNodeSpecListenerTimeoutGrpcIdleOutput { - return o.ApplyT(func(v *VirtualNodeSpecListenerTimeoutGrpcIdle) VirtualNodeSpecListenerTimeoutGrpcIdle { - if v != nil { - return *v - } - var ret VirtualNodeSpecListenerTimeoutGrpcIdle - return ret - }).(VirtualNodeSpecListenerTimeoutGrpcIdleOutput) +func (o GetRouteSpecHttpRouteMatchQueryParameterMatchOutput) Exact() pulumi.StringOutput { + return o.ApplyT(func(v GetRouteSpecHttpRouteMatchQueryParameterMatch) string { return v.Exact }).(pulumi.StringOutput) } -// Unit of time. Valid values: `ms`, `s`. -func (o VirtualNodeSpecListenerTimeoutGrpcIdlePtrOutput) Unit() pulumi.StringPtrOutput { - return o.ApplyT(func(v *VirtualNodeSpecListenerTimeoutGrpcIdle) *string { - if v == nil { - return nil - } - return &v.Unit - }).(pulumi.StringPtrOutput) -} +type GetRouteSpecHttpRouteMatchQueryParameterMatchArrayOutput struct{ *pulumi.OutputState } -// Number of time units. Minimum value of `0`. -func (o VirtualNodeSpecListenerTimeoutGrpcIdlePtrOutput) Value() pulumi.IntPtrOutput { - return o.ApplyT(func(v *VirtualNodeSpecListenerTimeoutGrpcIdle) *int { - if v == nil { - return nil - } - return &v.Value - }).(pulumi.IntPtrOutput) +func (GetRouteSpecHttpRouteMatchQueryParameterMatchArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetRouteSpecHttpRouteMatchQueryParameterMatch)(nil)).Elem() } -type VirtualNodeSpecListenerTimeoutGrpcPerRequest struct { - // Unit of time. Valid values: `ms`, `s`. - Unit string `pulumi:"unit"` - // The specified value for the JSON. Must be between 1 and 100 characters in length. - Value int `pulumi:"value"` +func (o GetRouteSpecHttpRouteMatchQueryParameterMatchArrayOutput) ToGetRouteSpecHttpRouteMatchQueryParameterMatchArrayOutput() GetRouteSpecHttpRouteMatchQueryParameterMatchArrayOutput { + return o } -// VirtualNodeSpecListenerTimeoutGrpcPerRequestInput is an input type that accepts VirtualNodeSpecListenerTimeoutGrpcPerRequestArgs and VirtualNodeSpecListenerTimeoutGrpcPerRequestOutput values. -// You can construct a concrete instance of `VirtualNodeSpecListenerTimeoutGrpcPerRequestInput` via: -// -// VirtualNodeSpecListenerTimeoutGrpcPerRequestArgs{...} -type VirtualNodeSpecListenerTimeoutGrpcPerRequestInput interface { - pulumi.Input +func (o GetRouteSpecHttpRouteMatchQueryParameterMatchArrayOutput) ToGetRouteSpecHttpRouteMatchQueryParameterMatchArrayOutputWithContext(ctx context.Context) GetRouteSpecHttpRouteMatchQueryParameterMatchArrayOutput { + return o +} - ToVirtualNodeSpecListenerTimeoutGrpcPerRequestOutput() VirtualNodeSpecListenerTimeoutGrpcPerRequestOutput - ToVirtualNodeSpecListenerTimeoutGrpcPerRequestOutputWithContext(context.Context) VirtualNodeSpecListenerTimeoutGrpcPerRequestOutput +func (o GetRouteSpecHttpRouteMatchQueryParameterMatchArrayOutput) Index(i pulumi.IntInput) GetRouteSpecHttpRouteMatchQueryParameterMatchOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetRouteSpecHttpRouteMatchQueryParameterMatch { + return vs[0].([]GetRouteSpecHttpRouteMatchQueryParameterMatch)[vs[1].(int)] + }).(GetRouteSpecHttpRouteMatchQueryParameterMatchOutput) } -type VirtualNodeSpecListenerTimeoutGrpcPerRequestArgs struct { - // Unit of time. Valid values: `ms`, `s`. - Unit pulumi.StringInput `pulumi:"unit"` - // The specified value for the JSON. Must be between 1 and 100 characters in length. - Value pulumi.IntInput `pulumi:"value"` +type GetRouteSpecHttpRouteRetryPolicy struct { + HttpRetryEvents []string `pulumi:"httpRetryEvents"` + MaxRetries int `pulumi:"maxRetries"` + PerRetryTimeouts []GetRouteSpecHttpRouteRetryPolicyPerRetryTimeout `pulumi:"perRetryTimeouts"` + TcpRetryEvents []string `pulumi:"tcpRetryEvents"` } -func (VirtualNodeSpecListenerTimeoutGrpcPerRequestArgs) ElementType() reflect.Type { - return reflect.TypeOf((*VirtualNodeSpecListenerTimeoutGrpcPerRequest)(nil)).Elem() +// GetRouteSpecHttpRouteRetryPolicyInput is an input type that accepts GetRouteSpecHttpRouteRetryPolicyArgs and GetRouteSpecHttpRouteRetryPolicyOutput values. +// You can construct a concrete instance of `GetRouteSpecHttpRouteRetryPolicyInput` via: +// +// GetRouteSpecHttpRouteRetryPolicyArgs{...} +type GetRouteSpecHttpRouteRetryPolicyInput interface { + pulumi.Input + + ToGetRouteSpecHttpRouteRetryPolicyOutput() GetRouteSpecHttpRouteRetryPolicyOutput + ToGetRouteSpecHttpRouteRetryPolicyOutputWithContext(context.Context) GetRouteSpecHttpRouteRetryPolicyOutput } -func (i VirtualNodeSpecListenerTimeoutGrpcPerRequestArgs) ToVirtualNodeSpecListenerTimeoutGrpcPerRequestOutput() VirtualNodeSpecListenerTimeoutGrpcPerRequestOutput { - return i.ToVirtualNodeSpecListenerTimeoutGrpcPerRequestOutputWithContext(context.Background()) +type GetRouteSpecHttpRouteRetryPolicyArgs struct { + HttpRetryEvents pulumi.StringArrayInput `pulumi:"httpRetryEvents"` + MaxRetries pulumi.IntInput `pulumi:"maxRetries"` + PerRetryTimeouts GetRouteSpecHttpRouteRetryPolicyPerRetryTimeoutArrayInput `pulumi:"perRetryTimeouts"` + TcpRetryEvents pulumi.StringArrayInput `pulumi:"tcpRetryEvents"` } -func (i VirtualNodeSpecListenerTimeoutGrpcPerRequestArgs) ToVirtualNodeSpecListenerTimeoutGrpcPerRequestOutputWithContext(ctx context.Context) VirtualNodeSpecListenerTimeoutGrpcPerRequestOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecListenerTimeoutGrpcPerRequestOutput) +func (GetRouteSpecHttpRouteRetryPolicyArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetRouteSpecHttpRouteRetryPolicy)(nil)).Elem() } -func (i VirtualNodeSpecListenerTimeoutGrpcPerRequestArgs) ToVirtualNodeSpecListenerTimeoutGrpcPerRequestPtrOutput() VirtualNodeSpecListenerTimeoutGrpcPerRequestPtrOutput { - return i.ToVirtualNodeSpecListenerTimeoutGrpcPerRequestPtrOutputWithContext(context.Background()) +func (i GetRouteSpecHttpRouteRetryPolicyArgs) ToGetRouteSpecHttpRouteRetryPolicyOutput() GetRouteSpecHttpRouteRetryPolicyOutput { + return i.ToGetRouteSpecHttpRouteRetryPolicyOutputWithContext(context.Background()) } -func (i VirtualNodeSpecListenerTimeoutGrpcPerRequestArgs) ToVirtualNodeSpecListenerTimeoutGrpcPerRequestPtrOutputWithContext(ctx context.Context) VirtualNodeSpecListenerTimeoutGrpcPerRequestPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecListenerTimeoutGrpcPerRequestOutput).ToVirtualNodeSpecListenerTimeoutGrpcPerRequestPtrOutputWithContext(ctx) +func (i GetRouteSpecHttpRouteRetryPolicyArgs) ToGetRouteSpecHttpRouteRetryPolicyOutputWithContext(ctx context.Context) GetRouteSpecHttpRouteRetryPolicyOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetRouteSpecHttpRouteRetryPolicyOutput) } -// VirtualNodeSpecListenerTimeoutGrpcPerRequestPtrInput is an input type that accepts VirtualNodeSpecListenerTimeoutGrpcPerRequestArgs, VirtualNodeSpecListenerTimeoutGrpcPerRequestPtr and VirtualNodeSpecListenerTimeoutGrpcPerRequestPtrOutput values. -// You can construct a concrete instance of `VirtualNodeSpecListenerTimeoutGrpcPerRequestPtrInput` via: -// -// VirtualNodeSpecListenerTimeoutGrpcPerRequestArgs{...} -// -// or: +// GetRouteSpecHttpRouteRetryPolicyArrayInput is an input type that accepts GetRouteSpecHttpRouteRetryPolicyArray and GetRouteSpecHttpRouteRetryPolicyArrayOutput values. +// You can construct a concrete instance of `GetRouteSpecHttpRouteRetryPolicyArrayInput` via: // -// nil -type VirtualNodeSpecListenerTimeoutGrpcPerRequestPtrInput interface { +// GetRouteSpecHttpRouteRetryPolicyArray{ GetRouteSpecHttpRouteRetryPolicyArgs{...} } +type GetRouteSpecHttpRouteRetryPolicyArrayInput interface { pulumi.Input - ToVirtualNodeSpecListenerTimeoutGrpcPerRequestPtrOutput() VirtualNodeSpecListenerTimeoutGrpcPerRequestPtrOutput - ToVirtualNodeSpecListenerTimeoutGrpcPerRequestPtrOutputWithContext(context.Context) VirtualNodeSpecListenerTimeoutGrpcPerRequestPtrOutput + ToGetRouteSpecHttpRouteRetryPolicyArrayOutput() GetRouteSpecHttpRouteRetryPolicyArrayOutput + ToGetRouteSpecHttpRouteRetryPolicyArrayOutputWithContext(context.Context) GetRouteSpecHttpRouteRetryPolicyArrayOutput } -type virtualNodeSpecListenerTimeoutGrpcPerRequestPtrType VirtualNodeSpecListenerTimeoutGrpcPerRequestArgs - -func VirtualNodeSpecListenerTimeoutGrpcPerRequestPtr(v *VirtualNodeSpecListenerTimeoutGrpcPerRequestArgs) VirtualNodeSpecListenerTimeoutGrpcPerRequestPtrInput { - return (*virtualNodeSpecListenerTimeoutGrpcPerRequestPtrType)(v) -} +type GetRouteSpecHttpRouteRetryPolicyArray []GetRouteSpecHttpRouteRetryPolicyInput -func (*virtualNodeSpecListenerTimeoutGrpcPerRequestPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**VirtualNodeSpecListenerTimeoutGrpcPerRequest)(nil)).Elem() +func (GetRouteSpecHttpRouteRetryPolicyArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetRouteSpecHttpRouteRetryPolicy)(nil)).Elem() } -func (i *virtualNodeSpecListenerTimeoutGrpcPerRequestPtrType) ToVirtualNodeSpecListenerTimeoutGrpcPerRequestPtrOutput() VirtualNodeSpecListenerTimeoutGrpcPerRequestPtrOutput { - return i.ToVirtualNodeSpecListenerTimeoutGrpcPerRequestPtrOutputWithContext(context.Background()) +func (i GetRouteSpecHttpRouteRetryPolicyArray) ToGetRouteSpecHttpRouteRetryPolicyArrayOutput() GetRouteSpecHttpRouteRetryPolicyArrayOutput { + return i.ToGetRouteSpecHttpRouteRetryPolicyArrayOutputWithContext(context.Background()) } -func (i *virtualNodeSpecListenerTimeoutGrpcPerRequestPtrType) ToVirtualNodeSpecListenerTimeoutGrpcPerRequestPtrOutputWithContext(ctx context.Context) VirtualNodeSpecListenerTimeoutGrpcPerRequestPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecListenerTimeoutGrpcPerRequestPtrOutput) +func (i GetRouteSpecHttpRouteRetryPolicyArray) ToGetRouteSpecHttpRouteRetryPolicyArrayOutputWithContext(ctx context.Context) GetRouteSpecHttpRouteRetryPolicyArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetRouteSpecHttpRouteRetryPolicyArrayOutput) } -type VirtualNodeSpecListenerTimeoutGrpcPerRequestOutput struct{ *pulumi.OutputState } +type GetRouteSpecHttpRouteRetryPolicyOutput struct{ *pulumi.OutputState } -func (VirtualNodeSpecListenerTimeoutGrpcPerRequestOutput) ElementType() reflect.Type { - return reflect.TypeOf((*VirtualNodeSpecListenerTimeoutGrpcPerRequest)(nil)).Elem() +func (GetRouteSpecHttpRouteRetryPolicyOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetRouteSpecHttpRouteRetryPolicy)(nil)).Elem() } -func (o VirtualNodeSpecListenerTimeoutGrpcPerRequestOutput) ToVirtualNodeSpecListenerTimeoutGrpcPerRequestOutput() VirtualNodeSpecListenerTimeoutGrpcPerRequestOutput { +func (o GetRouteSpecHttpRouteRetryPolicyOutput) ToGetRouteSpecHttpRouteRetryPolicyOutput() GetRouteSpecHttpRouteRetryPolicyOutput { return o } -func (o VirtualNodeSpecListenerTimeoutGrpcPerRequestOutput) ToVirtualNodeSpecListenerTimeoutGrpcPerRequestOutputWithContext(ctx context.Context) VirtualNodeSpecListenerTimeoutGrpcPerRequestOutput { +func (o GetRouteSpecHttpRouteRetryPolicyOutput) ToGetRouteSpecHttpRouteRetryPolicyOutputWithContext(ctx context.Context) GetRouteSpecHttpRouteRetryPolicyOutput { return o } -func (o VirtualNodeSpecListenerTimeoutGrpcPerRequestOutput) ToVirtualNodeSpecListenerTimeoutGrpcPerRequestPtrOutput() VirtualNodeSpecListenerTimeoutGrpcPerRequestPtrOutput { - return o.ToVirtualNodeSpecListenerTimeoutGrpcPerRequestPtrOutputWithContext(context.Background()) +func (o GetRouteSpecHttpRouteRetryPolicyOutput) HttpRetryEvents() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetRouteSpecHttpRouteRetryPolicy) []string { return v.HttpRetryEvents }).(pulumi.StringArrayOutput) } -func (o VirtualNodeSpecListenerTimeoutGrpcPerRequestOutput) ToVirtualNodeSpecListenerTimeoutGrpcPerRequestPtrOutputWithContext(ctx context.Context) VirtualNodeSpecListenerTimeoutGrpcPerRequestPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v VirtualNodeSpecListenerTimeoutGrpcPerRequest) *VirtualNodeSpecListenerTimeoutGrpcPerRequest { - return &v - }).(VirtualNodeSpecListenerTimeoutGrpcPerRequestPtrOutput) +func (o GetRouteSpecHttpRouteRetryPolicyOutput) MaxRetries() pulumi.IntOutput { + return o.ApplyT(func(v GetRouteSpecHttpRouteRetryPolicy) int { return v.MaxRetries }).(pulumi.IntOutput) } -// Unit of time. Valid values: `ms`, `s`. -func (o VirtualNodeSpecListenerTimeoutGrpcPerRequestOutput) Unit() pulumi.StringOutput { - return o.ApplyT(func(v VirtualNodeSpecListenerTimeoutGrpcPerRequest) string { return v.Unit }).(pulumi.StringOutput) +func (o GetRouteSpecHttpRouteRetryPolicyOutput) PerRetryTimeouts() GetRouteSpecHttpRouteRetryPolicyPerRetryTimeoutArrayOutput { + return o.ApplyT(func(v GetRouteSpecHttpRouteRetryPolicy) []GetRouteSpecHttpRouteRetryPolicyPerRetryTimeout { + return v.PerRetryTimeouts + }).(GetRouteSpecHttpRouteRetryPolicyPerRetryTimeoutArrayOutput) } -// The specified value for the JSON. Must be between 1 and 100 characters in length. -func (o VirtualNodeSpecListenerTimeoutGrpcPerRequestOutput) Value() pulumi.IntOutput { - return o.ApplyT(func(v VirtualNodeSpecListenerTimeoutGrpcPerRequest) int { return v.Value }).(pulumi.IntOutput) +func (o GetRouteSpecHttpRouteRetryPolicyOutput) TcpRetryEvents() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetRouteSpecHttpRouteRetryPolicy) []string { return v.TcpRetryEvents }).(pulumi.StringArrayOutput) } -type VirtualNodeSpecListenerTimeoutGrpcPerRequestPtrOutput struct{ *pulumi.OutputState } +type GetRouteSpecHttpRouteRetryPolicyArrayOutput struct{ *pulumi.OutputState } -func (VirtualNodeSpecListenerTimeoutGrpcPerRequestPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**VirtualNodeSpecListenerTimeoutGrpcPerRequest)(nil)).Elem() +func (GetRouteSpecHttpRouteRetryPolicyArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetRouteSpecHttpRouteRetryPolicy)(nil)).Elem() } -func (o VirtualNodeSpecListenerTimeoutGrpcPerRequestPtrOutput) ToVirtualNodeSpecListenerTimeoutGrpcPerRequestPtrOutput() VirtualNodeSpecListenerTimeoutGrpcPerRequestPtrOutput { +func (o GetRouteSpecHttpRouteRetryPolicyArrayOutput) ToGetRouteSpecHttpRouteRetryPolicyArrayOutput() GetRouteSpecHttpRouteRetryPolicyArrayOutput { return o } -func (o VirtualNodeSpecListenerTimeoutGrpcPerRequestPtrOutput) ToVirtualNodeSpecListenerTimeoutGrpcPerRequestPtrOutputWithContext(ctx context.Context) VirtualNodeSpecListenerTimeoutGrpcPerRequestPtrOutput { +func (o GetRouteSpecHttpRouteRetryPolicyArrayOutput) ToGetRouteSpecHttpRouteRetryPolicyArrayOutputWithContext(ctx context.Context) GetRouteSpecHttpRouteRetryPolicyArrayOutput { return o } -func (o VirtualNodeSpecListenerTimeoutGrpcPerRequestPtrOutput) Elem() VirtualNodeSpecListenerTimeoutGrpcPerRequestOutput { - return o.ApplyT(func(v *VirtualNodeSpecListenerTimeoutGrpcPerRequest) VirtualNodeSpecListenerTimeoutGrpcPerRequest { - if v != nil { - return *v - } - var ret VirtualNodeSpecListenerTimeoutGrpcPerRequest - return ret - }).(VirtualNodeSpecListenerTimeoutGrpcPerRequestOutput) +func (o GetRouteSpecHttpRouteRetryPolicyArrayOutput) Index(i pulumi.IntInput) GetRouteSpecHttpRouteRetryPolicyOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetRouteSpecHttpRouteRetryPolicy { + return vs[0].([]GetRouteSpecHttpRouteRetryPolicy)[vs[1].(int)] + }).(GetRouteSpecHttpRouteRetryPolicyOutput) } -// Unit of time. Valid values: `ms`, `s`. -func (o VirtualNodeSpecListenerTimeoutGrpcPerRequestPtrOutput) Unit() pulumi.StringPtrOutput { - return o.ApplyT(func(v *VirtualNodeSpecListenerTimeoutGrpcPerRequest) *string { - if v == nil { - return nil - } - return &v.Unit - }).(pulumi.StringPtrOutput) +type GetRouteSpecHttpRouteRetryPolicyPerRetryTimeout struct { + Unit string `pulumi:"unit"` + Value int `pulumi:"value"` } -// The specified value for the JSON. Must be between 1 and 100 characters in length. -func (o VirtualNodeSpecListenerTimeoutGrpcPerRequestPtrOutput) Value() pulumi.IntPtrOutput { - return o.ApplyT(func(v *VirtualNodeSpecListenerTimeoutGrpcPerRequest) *int { - if v == nil { - return nil - } - return &v.Value - }).(pulumi.IntPtrOutput) +// GetRouteSpecHttpRouteRetryPolicyPerRetryTimeoutInput is an input type that accepts GetRouteSpecHttpRouteRetryPolicyPerRetryTimeoutArgs and GetRouteSpecHttpRouteRetryPolicyPerRetryTimeoutOutput values. +// You can construct a concrete instance of `GetRouteSpecHttpRouteRetryPolicyPerRetryTimeoutInput` via: +// +// GetRouteSpecHttpRouteRetryPolicyPerRetryTimeoutArgs{...} +type GetRouteSpecHttpRouteRetryPolicyPerRetryTimeoutInput interface { + pulumi.Input + + ToGetRouteSpecHttpRouteRetryPolicyPerRetryTimeoutOutput() GetRouteSpecHttpRouteRetryPolicyPerRetryTimeoutOutput + ToGetRouteSpecHttpRouteRetryPolicyPerRetryTimeoutOutputWithContext(context.Context) GetRouteSpecHttpRouteRetryPolicyPerRetryTimeoutOutput } -type VirtualNodeSpecListenerTimeoutHttp2 struct { - // Idle timeout. An idle timeout bounds the amount of time that a connection may be idle. - Idle *VirtualNodeSpecListenerTimeoutHttp2Idle `pulumi:"idle"` - // Per request timeout. - PerRequest *VirtualNodeSpecListenerTimeoutHttp2PerRequest `pulumi:"perRequest"` +type GetRouteSpecHttpRouteRetryPolicyPerRetryTimeoutArgs struct { + Unit pulumi.StringInput `pulumi:"unit"` + Value pulumi.IntInput `pulumi:"value"` } -// VirtualNodeSpecListenerTimeoutHttp2Input is an input type that accepts VirtualNodeSpecListenerTimeoutHttp2Args and VirtualNodeSpecListenerTimeoutHttp2Output values. -// You can construct a concrete instance of `VirtualNodeSpecListenerTimeoutHttp2Input` via: +func (GetRouteSpecHttpRouteRetryPolicyPerRetryTimeoutArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetRouteSpecHttpRouteRetryPolicyPerRetryTimeout)(nil)).Elem() +} + +func (i GetRouteSpecHttpRouteRetryPolicyPerRetryTimeoutArgs) ToGetRouteSpecHttpRouteRetryPolicyPerRetryTimeoutOutput() GetRouteSpecHttpRouteRetryPolicyPerRetryTimeoutOutput { + return i.ToGetRouteSpecHttpRouteRetryPolicyPerRetryTimeoutOutputWithContext(context.Background()) +} + +func (i GetRouteSpecHttpRouteRetryPolicyPerRetryTimeoutArgs) ToGetRouteSpecHttpRouteRetryPolicyPerRetryTimeoutOutputWithContext(ctx context.Context) GetRouteSpecHttpRouteRetryPolicyPerRetryTimeoutOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetRouteSpecHttpRouteRetryPolicyPerRetryTimeoutOutput) +} + +// GetRouteSpecHttpRouteRetryPolicyPerRetryTimeoutArrayInput is an input type that accepts GetRouteSpecHttpRouteRetryPolicyPerRetryTimeoutArray and GetRouteSpecHttpRouteRetryPolicyPerRetryTimeoutArrayOutput values. +// You can construct a concrete instance of `GetRouteSpecHttpRouteRetryPolicyPerRetryTimeoutArrayInput` via: // -// VirtualNodeSpecListenerTimeoutHttp2Args{...} -type VirtualNodeSpecListenerTimeoutHttp2Input interface { +// GetRouteSpecHttpRouteRetryPolicyPerRetryTimeoutArray{ GetRouteSpecHttpRouteRetryPolicyPerRetryTimeoutArgs{...} } +type GetRouteSpecHttpRouteRetryPolicyPerRetryTimeoutArrayInput interface { pulumi.Input - ToVirtualNodeSpecListenerTimeoutHttp2Output() VirtualNodeSpecListenerTimeoutHttp2Output - ToVirtualNodeSpecListenerTimeoutHttp2OutputWithContext(context.Context) VirtualNodeSpecListenerTimeoutHttp2Output + ToGetRouteSpecHttpRouteRetryPolicyPerRetryTimeoutArrayOutput() GetRouteSpecHttpRouteRetryPolicyPerRetryTimeoutArrayOutput + ToGetRouteSpecHttpRouteRetryPolicyPerRetryTimeoutArrayOutputWithContext(context.Context) GetRouteSpecHttpRouteRetryPolicyPerRetryTimeoutArrayOutput } -type VirtualNodeSpecListenerTimeoutHttp2Args struct { - // Idle timeout. An idle timeout bounds the amount of time that a connection may be idle. - Idle VirtualNodeSpecListenerTimeoutHttp2IdlePtrInput `pulumi:"idle"` - // Per request timeout. - PerRequest VirtualNodeSpecListenerTimeoutHttp2PerRequestPtrInput `pulumi:"perRequest"` +type GetRouteSpecHttpRouteRetryPolicyPerRetryTimeoutArray []GetRouteSpecHttpRouteRetryPolicyPerRetryTimeoutInput + +func (GetRouteSpecHttpRouteRetryPolicyPerRetryTimeoutArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetRouteSpecHttpRouteRetryPolicyPerRetryTimeout)(nil)).Elem() } -func (VirtualNodeSpecListenerTimeoutHttp2Args) ElementType() reflect.Type { - return reflect.TypeOf((*VirtualNodeSpecListenerTimeoutHttp2)(nil)).Elem() +func (i GetRouteSpecHttpRouteRetryPolicyPerRetryTimeoutArray) ToGetRouteSpecHttpRouteRetryPolicyPerRetryTimeoutArrayOutput() GetRouteSpecHttpRouteRetryPolicyPerRetryTimeoutArrayOutput { + return i.ToGetRouteSpecHttpRouteRetryPolicyPerRetryTimeoutArrayOutputWithContext(context.Background()) } -func (i VirtualNodeSpecListenerTimeoutHttp2Args) ToVirtualNodeSpecListenerTimeoutHttp2Output() VirtualNodeSpecListenerTimeoutHttp2Output { - return i.ToVirtualNodeSpecListenerTimeoutHttp2OutputWithContext(context.Background()) +func (i GetRouteSpecHttpRouteRetryPolicyPerRetryTimeoutArray) ToGetRouteSpecHttpRouteRetryPolicyPerRetryTimeoutArrayOutputWithContext(ctx context.Context) GetRouteSpecHttpRouteRetryPolicyPerRetryTimeoutArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetRouteSpecHttpRouteRetryPolicyPerRetryTimeoutArrayOutput) } -func (i VirtualNodeSpecListenerTimeoutHttp2Args) ToVirtualNodeSpecListenerTimeoutHttp2OutputWithContext(ctx context.Context) VirtualNodeSpecListenerTimeoutHttp2Output { - return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecListenerTimeoutHttp2Output) +type GetRouteSpecHttpRouteRetryPolicyPerRetryTimeoutOutput struct{ *pulumi.OutputState } + +func (GetRouteSpecHttpRouteRetryPolicyPerRetryTimeoutOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetRouteSpecHttpRouteRetryPolicyPerRetryTimeout)(nil)).Elem() } -func (i VirtualNodeSpecListenerTimeoutHttp2Args) ToVirtualNodeSpecListenerTimeoutHttp2PtrOutput() VirtualNodeSpecListenerTimeoutHttp2PtrOutput { - return i.ToVirtualNodeSpecListenerTimeoutHttp2PtrOutputWithContext(context.Background()) +func (o GetRouteSpecHttpRouteRetryPolicyPerRetryTimeoutOutput) ToGetRouteSpecHttpRouteRetryPolicyPerRetryTimeoutOutput() GetRouteSpecHttpRouteRetryPolicyPerRetryTimeoutOutput { + return o } -func (i VirtualNodeSpecListenerTimeoutHttp2Args) ToVirtualNodeSpecListenerTimeoutHttp2PtrOutputWithContext(ctx context.Context) VirtualNodeSpecListenerTimeoutHttp2PtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecListenerTimeoutHttp2Output).ToVirtualNodeSpecListenerTimeoutHttp2PtrOutputWithContext(ctx) +func (o GetRouteSpecHttpRouteRetryPolicyPerRetryTimeoutOutput) ToGetRouteSpecHttpRouteRetryPolicyPerRetryTimeoutOutputWithContext(ctx context.Context) GetRouteSpecHttpRouteRetryPolicyPerRetryTimeoutOutput { + return o } -// VirtualNodeSpecListenerTimeoutHttp2PtrInput is an input type that accepts VirtualNodeSpecListenerTimeoutHttp2Args, VirtualNodeSpecListenerTimeoutHttp2Ptr and VirtualNodeSpecListenerTimeoutHttp2PtrOutput values. -// You can construct a concrete instance of `VirtualNodeSpecListenerTimeoutHttp2PtrInput` via: -// -// VirtualNodeSpecListenerTimeoutHttp2Args{...} -// -// or: -// -// nil -type VirtualNodeSpecListenerTimeoutHttp2PtrInput interface { - pulumi.Input +func (o GetRouteSpecHttpRouteRetryPolicyPerRetryTimeoutOutput) Unit() pulumi.StringOutput { + return o.ApplyT(func(v GetRouteSpecHttpRouteRetryPolicyPerRetryTimeout) string { return v.Unit }).(pulumi.StringOutput) +} - ToVirtualNodeSpecListenerTimeoutHttp2PtrOutput() VirtualNodeSpecListenerTimeoutHttp2PtrOutput - ToVirtualNodeSpecListenerTimeoutHttp2PtrOutputWithContext(context.Context) VirtualNodeSpecListenerTimeoutHttp2PtrOutput +func (o GetRouteSpecHttpRouteRetryPolicyPerRetryTimeoutOutput) Value() pulumi.IntOutput { + return o.ApplyT(func(v GetRouteSpecHttpRouteRetryPolicyPerRetryTimeout) int { return v.Value }).(pulumi.IntOutput) } -type virtualNodeSpecListenerTimeoutHttp2PtrType VirtualNodeSpecListenerTimeoutHttp2Args +type GetRouteSpecHttpRouteRetryPolicyPerRetryTimeoutArrayOutput struct{ *pulumi.OutputState } -func VirtualNodeSpecListenerTimeoutHttp2Ptr(v *VirtualNodeSpecListenerTimeoutHttp2Args) VirtualNodeSpecListenerTimeoutHttp2PtrInput { - return (*virtualNodeSpecListenerTimeoutHttp2PtrType)(v) +func (GetRouteSpecHttpRouteRetryPolicyPerRetryTimeoutArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetRouteSpecHttpRouteRetryPolicyPerRetryTimeout)(nil)).Elem() } -func (*virtualNodeSpecListenerTimeoutHttp2PtrType) ElementType() reflect.Type { - return reflect.TypeOf((**VirtualNodeSpecListenerTimeoutHttp2)(nil)).Elem() +func (o GetRouteSpecHttpRouteRetryPolicyPerRetryTimeoutArrayOutput) ToGetRouteSpecHttpRouteRetryPolicyPerRetryTimeoutArrayOutput() GetRouteSpecHttpRouteRetryPolicyPerRetryTimeoutArrayOutput { + return o } -func (i *virtualNodeSpecListenerTimeoutHttp2PtrType) ToVirtualNodeSpecListenerTimeoutHttp2PtrOutput() VirtualNodeSpecListenerTimeoutHttp2PtrOutput { - return i.ToVirtualNodeSpecListenerTimeoutHttp2PtrOutputWithContext(context.Background()) +func (o GetRouteSpecHttpRouteRetryPolicyPerRetryTimeoutArrayOutput) ToGetRouteSpecHttpRouteRetryPolicyPerRetryTimeoutArrayOutputWithContext(ctx context.Context) GetRouteSpecHttpRouteRetryPolicyPerRetryTimeoutArrayOutput { + return o } -func (i *virtualNodeSpecListenerTimeoutHttp2PtrType) ToVirtualNodeSpecListenerTimeoutHttp2PtrOutputWithContext(ctx context.Context) VirtualNodeSpecListenerTimeoutHttp2PtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecListenerTimeoutHttp2PtrOutput) +func (o GetRouteSpecHttpRouteRetryPolicyPerRetryTimeoutArrayOutput) Index(i pulumi.IntInput) GetRouteSpecHttpRouteRetryPolicyPerRetryTimeoutOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetRouteSpecHttpRouteRetryPolicyPerRetryTimeout { + return vs[0].([]GetRouteSpecHttpRouteRetryPolicyPerRetryTimeout)[vs[1].(int)] + }).(GetRouteSpecHttpRouteRetryPolicyPerRetryTimeoutOutput) } -type VirtualNodeSpecListenerTimeoutHttp2Output struct{ *pulumi.OutputState } +type GetRouteSpecHttpRouteTimeout struct { + Idles []GetRouteSpecHttpRouteTimeoutIdle `pulumi:"idles"` + PerRequests []GetRouteSpecHttpRouteTimeoutPerRequest `pulumi:"perRequests"` +} -func (VirtualNodeSpecListenerTimeoutHttp2Output) ElementType() reflect.Type { - return reflect.TypeOf((*VirtualNodeSpecListenerTimeoutHttp2)(nil)).Elem() +// GetRouteSpecHttpRouteTimeoutInput is an input type that accepts GetRouteSpecHttpRouteTimeoutArgs and GetRouteSpecHttpRouteTimeoutOutput values. +// You can construct a concrete instance of `GetRouteSpecHttpRouteTimeoutInput` via: +// +// GetRouteSpecHttpRouteTimeoutArgs{...} +type GetRouteSpecHttpRouteTimeoutInput interface { + pulumi.Input + + ToGetRouteSpecHttpRouteTimeoutOutput() GetRouteSpecHttpRouteTimeoutOutput + ToGetRouteSpecHttpRouteTimeoutOutputWithContext(context.Context) GetRouteSpecHttpRouteTimeoutOutput } -func (o VirtualNodeSpecListenerTimeoutHttp2Output) ToVirtualNodeSpecListenerTimeoutHttp2Output() VirtualNodeSpecListenerTimeoutHttp2Output { - return o +type GetRouteSpecHttpRouteTimeoutArgs struct { + Idles GetRouteSpecHttpRouteTimeoutIdleArrayInput `pulumi:"idles"` + PerRequests GetRouteSpecHttpRouteTimeoutPerRequestArrayInput `pulumi:"perRequests"` } -func (o VirtualNodeSpecListenerTimeoutHttp2Output) ToVirtualNodeSpecListenerTimeoutHttp2OutputWithContext(ctx context.Context) VirtualNodeSpecListenerTimeoutHttp2Output { - return o +func (GetRouteSpecHttpRouteTimeoutArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetRouteSpecHttpRouteTimeout)(nil)).Elem() } -func (o VirtualNodeSpecListenerTimeoutHttp2Output) ToVirtualNodeSpecListenerTimeoutHttp2PtrOutput() VirtualNodeSpecListenerTimeoutHttp2PtrOutput { - return o.ToVirtualNodeSpecListenerTimeoutHttp2PtrOutputWithContext(context.Background()) +func (i GetRouteSpecHttpRouteTimeoutArgs) ToGetRouteSpecHttpRouteTimeoutOutput() GetRouteSpecHttpRouteTimeoutOutput { + return i.ToGetRouteSpecHttpRouteTimeoutOutputWithContext(context.Background()) } -func (o VirtualNodeSpecListenerTimeoutHttp2Output) ToVirtualNodeSpecListenerTimeoutHttp2PtrOutputWithContext(ctx context.Context) VirtualNodeSpecListenerTimeoutHttp2PtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v VirtualNodeSpecListenerTimeoutHttp2) *VirtualNodeSpecListenerTimeoutHttp2 { - return &v - }).(VirtualNodeSpecListenerTimeoutHttp2PtrOutput) +func (i GetRouteSpecHttpRouteTimeoutArgs) ToGetRouteSpecHttpRouteTimeoutOutputWithContext(ctx context.Context) GetRouteSpecHttpRouteTimeoutOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetRouteSpecHttpRouteTimeoutOutput) } -// Idle timeout. An idle timeout bounds the amount of time that a connection may be idle. -func (o VirtualNodeSpecListenerTimeoutHttp2Output) Idle() VirtualNodeSpecListenerTimeoutHttp2IdlePtrOutput { - return o.ApplyT(func(v VirtualNodeSpecListenerTimeoutHttp2) *VirtualNodeSpecListenerTimeoutHttp2Idle { return v.Idle }).(VirtualNodeSpecListenerTimeoutHttp2IdlePtrOutput) +// GetRouteSpecHttpRouteTimeoutArrayInput is an input type that accepts GetRouteSpecHttpRouteTimeoutArray and GetRouteSpecHttpRouteTimeoutArrayOutput values. +// You can construct a concrete instance of `GetRouteSpecHttpRouteTimeoutArrayInput` via: +// +// GetRouteSpecHttpRouteTimeoutArray{ GetRouteSpecHttpRouteTimeoutArgs{...} } +type GetRouteSpecHttpRouteTimeoutArrayInput interface { + pulumi.Input + + ToGetRouteSpecHttpRouteTimeoutArrayOutput() GetRouteSpecHttpRouteTimeoutArrayOutput + ToGetRouteSpecHttpRouteTimeoutArrayOutputWithContext(context.Context) GetRouteSpecHttpRouteTimeoutArrayOutput } -// Per request timeout. -func (o VirtualNodeSpecListenerTimeoutHttp2Output) PerRequest() VirtualNodeSpecListenerTimeoutHttp2PerRequestPtrOutput { - return o.ApplyT(func(v VirtualNodeSpecListenerTimeoutHttp2) *VirtualNodeSpecListenerTimeoutHttp2PerRequest { - return v.PerRequest - }).(VirtualNodeSpecListenerTimeoutHttp2PerRequestPtrOutput) +type GetRouteSpecHttpRouteTimeoutArray []GetRouteSpecHttpRouteTimeoutInput + +func (GetRouteSpecHttpRouteTimeoutArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetRouteSpecHttpRouteTimeout)(nil)).Elem() } -type VirtualNodeSpecListenerTimeoutHttp2PtrOutput struct{ *pulumi.OutputState } +func (i GetRouteSpecHttpRouteTimeoutArray) ToGetRouteSpecHttpRouteTimeoutArrayOutput() GetRouteSpecHttpRouteTimeoutArrayOutput { + return i.ToGetRouteSpecHttpRouteTimeoutArrayOutputWithContext(context.Background()) +} -func (VirtualNodeSpecListenerTimeoutHttp2PtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**VirtualNodeSpecListenerTimeoutHttp2)(nil)).Elem() +func (i GetRouteSpecHttpRouteTimeoutArray) ToGetRouteSpecHttpRouteTimeoutArrayOutputWithContext(ctx context.Context) GetRouteSpecHttpRouteTimeoutArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetRouteSpecHttpRouteTimeoutArrayOutput) } -func (o VirtualNodeSpecListenerTimeoutHttp2PtrOutput) ToVirtualNodeSpecListenerTimeoutHttp2PtrOutput() VirtualNodeSpecListenerTimeoutHttp2PtrOutput { +type GetRouteSpecHttpRouteTimeoutOutput struct{ *pulumi.OutputState } + +func (GetRouteSpecHttpRouteTimeoutOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetRouteSpecHttpRouteTimeout)(nil)).Elem() +} + +func (o GetRouteSpecHttpRouteTimeoutOutput) ToGetRouteSpecHttpRouteTimeoutOutput() GetRouteSpecHttpRouteTimeoutOutput { return o } -func (o VirtualNodeSpecListenerTimeoutHttp2PtrOutput) ToVirtualNodeSpecListenerTimeoutHttp2PtrOutputWithContext(ctx context.Context) VirtualNodeSpecListenerTimeoutHttp2PtrOutput { +func (o GetRouteSpecHttpRouteTimeoutOutput) ToGetRouteSpecHttpRouteTimeoutOutputWithContext(ctx context.Context) GetRouteSpecHttpRouteTimeoutOutput { return o } -func (o VirtualNodeSpecListenerTimeoutHttp2PtrOutput) Elem() VirtualNodeSpecListenerTimeoutHttp2Output { - return o.ApplyT(func(v *VirtualNodeSpecListenerTimeoutHttp2) VirtualNodeSpecListenerTimeoutHttp2 { - if v != nil { - return *v - } - var ret VirtualNodeSpecListenerTimeoutHttp2 - return ret - }).(VirtualNodeSpecListenerTimeoutHttp2Output) +func (o GetRouteSpecHttpRouteTimeoutOutput) Idles() GetRouteSpecHttpRouteTimeoutIdleArrayOutput { + return o.ApplyT(func(v GetRouteSpecHttpRouteTimeout) []GetRouteSpecHttpRouteTimeoutIdle { return v.Idles }).(GetRouteSpecHttpRouteTimeoutIdleArrayOutput) } -// Idle timeout. An idle timeout bounds the amount of time that a connection may be idle. -func (o VirtualNodeSpecListenerTimeoutHttp2PtrOutput) Idle() VirtualNodeSpecListenerTimeoutHttp2IdlePtrOutput { - return o.ApplyT(func(v *VirtualNodeSpecListenerTimeoutHttp2) *VirtualNodeSpecListenerTimeoutHttp2Idle { - if v == nil { - return nil - } - return v.Idle - }).(VirtualNodeSpecListenerTimeoutHttp2IdlePtrOutput) +func (o GetRouteSpecHttpRouteTimeoutOutput) PerRequests() GetRouteSpecHttpRouteTimeoutPerRequestArrayOutput { + return o.ApplyT(func(v GetRouteSpecHttpRouteTimeout) []GetRouteSpecHttpRouteTimeoutPerRequest { return v.PerRequests }).(GetRouteSpecHttpRouteTimeoutPerRequestArrayOutput) } -// Per request timeout. -func (o VirtualNodeSpecListenerTimeoutHttp2PtrOutput) PerRequest() VirtualNodeSpecListenerTimeoutHttp2PerRequestPtrOutput { - return o.ApplyT(func(v *VirtualNodeSpecListenerTimeoutHttp2) *VirtualNodeSpecListenerTimeoutHttp2PerRequest { - if v == nil { - return nil - } - return v.PerRequest - }).(VirtualNodeSpecListenerTimeoutHttp2PerRequestPtrOutput) +type GetRouteSpecHttpRouteTimeoutArrayOutput struct{ *pulumi.OutputState } + +func (GetRouteSpecHttpRouteTimeoutArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetRouteSpecHttpRouteTimeout)(nil)).Elem() } -type VirtualNodeSpecListenerTimeoutHttp2Idle struct { - // Unit of time. Valid values: `ms`, `s`. - Unit string `pulumi:"unit"` - // Number of time units. Minimum value of `0`. - Value int `pulumi:"value"` +func (o GetRouteSpecHttpRouteTimeoutArrayOutput) ToGetRouteSpecHttpRouteTimeoutArrayOutput() GetRouteSpecHttpRouteTimeoutArrayOutput { + return o } -// VirtualNodeSpecListenerTimeoutHttp2IdleInput is an input type that accepts VirtualNodeSpecListenerTimeoutHttp2IdleArgs and VirtualNodeSpecListenerTimeoutHttp2IdleOutput values. -// You can construct a concrete instance of `VirtualNodeSpecListenerTimeoutHttp2IdleInput` via: -// -// VirtualNodeSpecListenerTimeoutHttp2IdleArgs{...} -type VirtualNodeSpecListenerTimeoutHttp2IdleInput interface { - pulumi.Input +func (o GetRouteSpecHttpRouteTimeoutArrayOutput) ToGetRouteSpecHttpRouteTimeoutArrayOutputWithContext(ctx context.Context) GetRouteSpecHttpRouteTimeoutArrayOutput { + return o +} - ToVirtualNodeSpecListenerTimeoutHttp2IdleOutput() VirtualNodeSpecListenerTimeoutHttp2IdleOutput - ToVirtualNodeSpecListenerTimeoutHttp2IdleOutputWithContext(context.Context) VirtualNodeSpecListenerTimeoutHttp2IdleOutput +func (o GetRouteSpecHttpRouteTimeoutArrayOutput) Index(i pulumi.IntInput) GetRouteSpecHttpRouteTimeoutOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetRouteSpecHttpRouteTimeout { + return vs[0].([]GetRouteSpecHttpRouteTimeout)[vs[1].(int)] + }).(GetRouteSpecHttpRouteTimeoutOutput) } -type VirtualNodeSpecListenerTimeoutHttp2IdleArgs struct { - // Unit of time. Valid values: `ms`, `s`. - Unit pulumi.StringInput `pulumi:"unit"` - // Number of time units. Minimum value of `0`. - Value pulumi.IntInput `pulumi:"value"` +type GetRouteSpecHttpRouteTimeoutIdle struct { + Unit string `pulumi:"unit"` + Value int `pulumi:"value"` } -func (VirtualNodeSpecListenerTimeoutHttp2IdleArgs) ElementType() reflect.Type { - return reflect.TypeOf((*VirtualNodeSpecListenerTimeoutHttp2Idle)(nil)).Elem() +// GetRouteSpecHttpRouteTimeoutIdleInput is an input type that accepts GetRouteSpecHttpRouteTimeoutIdleArgs and GetRouteSpecHttpRouteTimeoutIdleOutput values. +// You can construct a concrete instance of `GetRouteSpecHttpRouteTimeoutIdleInput` via: +// +// GetRouteSpecHttpRouteTimeoutIdleArgs{...} +type GetRouteSpecHttpRouteTimeoutIdleInput interface { + pulumi.Input + + ToGetRouteSpecHttpRouteTimeoutIdleOutput() GetRouteSpecHttpRouteTimeoutIdleOutput + ToGetRouteSpecHttpRouteTimeoutIdleOutputWithContext(context.Context) GetRouteSpecHttpRouteTimeoutIdleOutput } -func (i VirtualNodeSpecListenerTimeoutHttp2IdleArgs) ToVirtualNodeSpecListenerTimeoutHttp2IdleOutput() VirtualNodeSpecListenerTimeoutHttp2IdleOutput { - return i.ToVirtualNodeSpecListenerTimeoutHttp2IdleOutputWithContext(context.Background()) +type GetRouteSpecHttpRouteTimeoutIdleArgs struct { + Unit pulumi.StringInput `pulumi:"unit"` + Value pulumi.IntInput `pulumi:"value"` } -func (i VirtualNodeSpecListenerTimeoutHttp2IdleArgs) ToVirtualNodeSpecListenerTimeoutHttp2IdleOutputWithContext(ctx context.Context) VirtualNodeSpecListenerTimeoutHttp2IdleOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecListenerTimeoutHttp2IdleOutput) +func (GetRouteSpecHttpRouteTimeoutIdleArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetRouteSpecHttpRouteTimeoutIdle)(nil)).Elem() } -func (i VirtualNodeSpecListenerTimeoutHttp2IdleArgs) ToVirtualNodeSpecListenerTimeoutHttp2IdlePtrOutput() VirtualNodeSpecListenerTimeoutHttp2IdlePtrOutput { - return i.ToVirtualNodeSpecListenerTimeoutHttp2IdlePtrOutputWithContext(context.Background()) +func (i GetRouteSpecHttpRouteTimeoutIdleArgs) ToGetRouteSpecHttpRouteTimeoutIdleOutput() GetRouteSpecHttpRouteTimeoutIdleOutput { + return i.ToGetRouteSpecHttpRouteTimeoutIdleOutputWithContext(context.Background()) } -func (i VirtualNodeSpecListenerTimeoutHttp2IdleArgs) ToVirtualNodeSpecListenerTimeoutHttp2IdlePtrOutputWithContext(ctx context.Context) VirtualNodeSpecListenerTimeoutHttp2IdlePtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecListenerTimeoutHttp2IdleOutput).ToVirtualNodeSpecListenerTimeoutHttp2IdlePtrOutputWithContext(ctx) +func (i GetRouteSpecHttpRouteTimeoutIdleArgs) ToGetRouteSpecHttpRouteTimeoutIdleOutputWithContext(ctx context.Context) GetRouteSpecHttpRouteTimeoutIdleOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetRouteSpecHttpRouteTimeoutIdleOutput) } -// VirtualNodeSpecListenerTimeoutHttp2IdlePtrInput is an input type that accepts VirtualNodeSpecListenerTimeoutHttp2IdleArgs, VirtualNodeSpecListenerTimeoutHttp2IdlePtr and VirtualNodeSpecListenerTimeoutHttp2IdlePtrOutput values. -// You can construct a concrete instance of `VirtualNodeSpecListenerTimeoutHttp2IdlePtrInput` via: -// -// VirtualNodeSpecListenerTimeoutHttp2IdleArgs{...} -// -// or: +// GetRouteSpecHttpRouteTimeoutIdleArrayInput is an input type that accepts GetRouteSpecHttpRouteTimeoutIdleArray and GetRouteSpecHttpRouteTimeoutIdleArrayOutput values. +// You can construct a concrete instance of `GetRouteSpecHttpRouteTimeoutIdleArrayInput` via: // -// nil -type VirtualNodeSpecListenerTimeoutHttp2IdlePtrInput interface { +// GetRouteSpecHttpRouteTimeoutIdleArray{ GetRouteSpecHttpRouteTimeoutIdleArgs{...} } +type GetRouteSpecHttpRouteTimeoutIdleArrayInput interface { pulumi.Input - ToVirtualNodeSpecListenerTimeoutHttp2IdlePtrOutput() VirtualNodeSpecListenerTimeoutHttp2IdlePtrOutput - ToVirtualNodeSpecListenerTimeoutHttp2IdlePtrOutputWithContext(context.Context) VirtualNodeSpecListenerTimeoutHttp2IdlePtrOutput + ToGetRouteSpecHttpRouteTimeoutIdleArrayOutput() GetRouteSpecHttpRouteTimeoutIdleArrayOutput + ToGetRouteSpecHttpRouteTimeoutIdleArrayOutputWithContext(context.Context) GetRouteSpecHttpRouteTimeoutIdleArrayOutput } -type virtualNodeSpecListenerTimeoutHttp2IdlePtrType VirtualNodeSpecListenerTimeoutHttp2IdleArgs - -func VirtualNodeSpecListenerTimeoutHttp2IdlePtr(v *VirtualNodeSpecListenerTimeoutHttp2IdleArgs) VirtualNodeSpecListenerTimeoutHttp2IdlePtrInput { - return (*virtualNodeSpecListenerTimeoutHttp2IdlePtrType)(v) -} +type GetRouteSpecHttpRouteTimeoutIdleArray []GetRouteSpecHttpRouteTimeoutIdleInput -func (*virtualNodeSpecListenerTimeoutHttp2IdlePtrType) ElementType() reflect.Type { - return reflect.TypeOf((**VirtualNodeSpecListenerTimeoutHttp2Idle)(nil)).Elem() +func (GetRouteSpecHttpRouteTimeoutIdleArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetRouteSpecHttpRouteTimeoutIdle)(nil)).Elem() } -func (i *virtualNodeSpecListenerTimeoutHttp2IdlePtrType) ToVirtualNodeSpecListenerTimeoutHttp2IdlePtrOutput() VirtualNodeSpecListenerTimeoutHttp2IdlePtrOutput { - return i.ToVirtualNodeSpecListenerTimeoutHttp2IdlePtrOutputWithContext(context.Background()) +func (i GetRouteSpecHttpRouteTimeoutIdleArray) ToGetRouteSpecHttpRouteTimeoutIdleArrayOutput() GetRouteSpecHttpRouteTimeoutIdleArrayOutput { + return i.ToGetRouteSpecHttpRouteTimeoutIdleArrayOutputWithContext(context.Background()) } -func (i *virtualNodeSpecListenerTimeoutHttp2IdlePtrType) ToVirtualNodeSpecListenerTimeoutHttp2IdlePtrOutputWithContext(ctx context.Context) VirtualNodeSpecListenerTimeoutHttp2IdlePtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecListenerTimeoutHttp2IdlePtrOutput) +func (i GetRouteSpecHttpRouteTimeoutIdleArray) ToGetRouteSpecHttpRouteTimeoutIdleArrayOutputWithContext(ctx context.Context) GetRouteSpecHttpRouteTimeoutIdleArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetRouteSpecHttpRouteTimeoutIdleArrayOutput) } -type VirtualNodeSpecListenerTimeoutHttp2IdleOutput struct{ *pulumi.OutputState } +type GetRouteSpecHttpRouteTimeoutIdleOutput struct{ *pulumi.OutputState } -func (VirtualNodeSpecListenerTimeoutHttp2IdleOutput) ElementType() reflect.Type { - return reflect.TypeOf((*VirtualNodeSpecListenerTimeoutHttp2Idle)(nil)).Elem() +func (GetRouteSpecHttpRouteTimeoutIdleOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetRouteSpecHttpRouteTimeoutIdle)(nil)).Elem() } -func (o VirtualNodeSpecListenerTimeoutHttp2IdleOutput) ToVirtualNodeSpecListenerTimeoutHttp2IdleOutput() VirtualNodeSpecListenerTimeoutHttp2IdleOutput { +func (o GetRouteSpecHttpRouteTimeoutIdleOutput) ToGetRouteSpecHttpRouteTimeoutIdleOutput() GetRouteSpecHttpRouteTimeoutIdleOutput { return o } -func (o VirtualNodeSpecListenerTimeoutHttp2IdleOutput) ToVirtualNodeSpecListenerTimeoutHttp2IdleOutputWithContext(ctx context.Context) VirtualNodeSpecListenerTimeoutHttp2IdleOutput { +func (o GetRouteSpecHttpRouteTimeoutIdleOutput) ToGetRouteSpecHttpRouteTimeoutIdleOutputWithContext(ctx context.Context) GetRouteSpecHttpRouteTimeoutIdleOutput { return o } -func (o VirtualNodeSpecListenerTimeoutHttp2IdleOutput) ToVirtualNodeSpecListenerTimeoutHttp2IdlePtrOutput() VirtualNodeSpecListenerTimeoutHttp2IdlePtrOutput { - return o.ToVirtualNodeSpecListenerTimeoutHttp2IdlePtrOutputWithContext(context.Background()) -} - -func (o VirtualNodeSpecListenerTimeoutHttp2IdleOutput) ToVirtualNodeSpecListenerTimeoutHttp2IdlePtrOutputWithContext(ctx context.Context) VirtualNodeSpecListenerTimeoutHttp2IdlePtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v VirtualNodeSpecListenerTimeoutHttp2Idle) *VirtualNodeSpecListenerTimeoutHttp2Idle { - return &v - }).(VirtualNodeSpecListenerTimeoutHttp2IdlePtrOutput) -} - -// Unit of time. Valid values: `ms`, `s`. -func (o VirtualNodeSpecListenerTimeoutHttp2IdleOutput) Unit() pulumi.StringOutput { - return o.ApplyT(func(v VirtualNodeSpecListenerTimeoutHttp2Idle) string { return v.Unit }).(pulumi.StringOutput) +func (o GetRouteSpecHttpRouteTimeoutIdleOutput) Unit() pulumi.StringOutput { + return o.ApplyT(func(v GetRouteSpecHttpRouteTimeoutIdle) string { return v.Unit }).(pulumi.StringOutput) } -// Number of time units. Minimum value of `0`. -func (o VirtualNodeSpecListenerTimeoutHttp2IdleOutput) Value() pulumi.IntOutput { - return o.ApplyT(func(v VirtualNodeSpecListenerTimeoutHttp2Idle) int { return v.Value }).(pulumi.IntOutput) +func (o GetRouteSpecHttpRouteTimeoutIdleOutput) Value() pulumi.IntOutput { + return o.ApplyT(func(v GetRouteSpecHttpRouteTimeoutIdle) int { return v.Value }).(pulumi.IntOutput) } -type VirtualNodeSpecListenerTimeoutHttp2IdlePtrOutput struct{ *pulumi.OutputState } +type GetRouteSpecHttpRouteTimeoutIdleArrayOutput struct{ *pulumi.OutputState } -func (VirtualNodeSpecListenerTimeoutHttp2IdlePtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**VirtualNodeSpecListenerTimeoutHttp2Idle)(nil)).Elem() +func (GetRouteSpecHttpRouteTimeoutIdleArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetRouteSpecHttpRouteTimeoutIdle)(nil)).Elem() } -func (o VirtualNodeSpecListenerTimeoutHttp2IdlePtrOutput) ToVirtualNodeSpecListenerTimeoutHttp2IdlePtrOutput() VirtualNodeSpecListenerTimeoutHttp2IdlePtrOutput { +func (o GetRouteSpecHttpRouteTimeoutIdleArrayOutput) ToGetRouteSpecHttpRouteTimeoutIdleArrayOutput() GetRouteSpecHttpRouteTimeoutIdleArrayOutput { return o } -func (o VirtualNodeSpecListenerTimeoutHttp2IdlePtrOutput) ToVirtualNodeSpecListenerTimeoutHttp2IdlePtrOutputWithContext(ctx context.Context) VirtualNodeSpecListenerTimeoutHttp2IdlePtrOutput { +func (o GetRouteSpecHttpRouteTimeoutIdleArrayOutput) ToGetRouteSpecHttpRouteTimeoutIdleArrayOutputWithContext(ctx context.Context) GetRouteSpecHttpRouteTimeoutIdleArrayOutput { return o } -func (o VirtualNodeSpecListenerTimeoutHttp2IdlePtrOutput) Elem() VirtualNodeSpecListenerTimeoutHttp2IdleOutput { - return o.ApplyT(func(v *VirtualNodeSpecListenerTimeoutHttp2Idle) VirtualNodeSpecListenerTimeoutHttp2Idle { - if v != nil { - return *v - } - var ret VirtualNodeSpecListenerTimeoutHttp2Idle - return ret - }).(VirtualNodeSpecListenerTimeoutHttp2IdleOutput) -} - -// Unit of time. Valid values: `ms`, `s`. -func (o VirtualNodeSpecListenerTimeoutHttp2IdlePtrOutput) Unit() pulumi.StringPtrOutput { - return o.ApplyT(func(v *VirtualNodeSpecListenerTimeoutHttp2Idle) *string { - if v == nil { - return nil - } - return &v.Unit - }).(pulumi.StringPtrOutput) -} - -// Number of time units. Minimum value of `0`. -func (o VirtualNodeSpecListenerTimeoutHttp2IdlePtrOutput) Value() pulumi.IntPtrOutput { - return o.ApplyT(func(v *VirtualNodeSpecListenerTimeoutHttp2Idle) *int { - if v == nil { - return nil - } - return &v.Value - }).(pulumi.IntPtrOutput) +func (o GetRouteSpecHttpRouteTimeoutIdleArrayOutput) Index(i pulumi.IntInput) GetRouteSpecHttpRouteTimeoutIdleOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetRouteSpecHttpRouteTimeoutIdle { + return vs[0].([]GetRouteSpecHttpRouteTimeoutIdle)[vs[1].(int)] + }).(GetRouteSpecHttpRouteTimeoutIdleOutput) } -type VirtualNodeSpecListenerTimeoutHttp2PerRequest struct { - // Unit of time. Valid values: `ms`, `s`. - Unit string `pulumi:"unit"` - // The specified value for the JSON. Must be between 1 and 100 characters in length. - Value int `pulumi:"value"` +type GetRouteSpecHttpRouteTimeoutPerRequest struct { + Unit string `pulumi:"unit"` + Value int `pulumi:"value"` } -// VirtualNodeSpecListenerTimeoutHttp2PerRequestInput is an input type that accepts VirtualNodeSpecListenerTimeoutHttp2PerRequestArgs and VirtualNodeSpecListenerTimeoutHttp2PerRequestOutput values. -// You can construct a concrete instance of `VirtualNodeSpecListenerTimeoutHttp2PerRequestInput` via: +// GetRouteSpecHttpRouteTimeoutPerRequestInput is an input type that accepts GetRouteSpecHttpRouteTimeoutPerRequestArgs and GetRouteSpecHttpRouteTimeoutPerRequestOutput values. +// You can construct a concrete instance of `GetRouteSpecHttpRouteTimeoutPerRequestInput` via: // -// VirtualNodeSpecListenerTimeoutHttp2PerRequestArgs{...} -type VirtualNodeSpecListenerTimeoutHttp2PerRequestInput interface { +// GetRouteSpecHttpRouteTimeoutPerRequestArgs{...} +type GetRouteSpecHttpRouteTimeoutPerRequestInput interface { pulumi.Input - ToVirtualNodeSpecListenerTimeoutHttp2PerRequestOutput() VirtualNodeSpecListenerTimeoutHttp2PerRequestOutput - ToVirtualNodeSpecListenerTimeoutHttp2PerRequestOutputWithContext(context.Context) VirtualNodeSpecListenerTimeoutHttp2PerRequestOutput -} - -type VirtualNodeSpecListenerTimeoutHttp2PerRequestArgs struct { - // Unit of time. Valid values: `ms`, `s`. - Unit pulumi.StringInput `pulumi:"unit"` - // The specified value for the JSON. Must be between 1 and 100 characters in length. - Value pulumi.IntInput `pulumi:"value"` -} - -func (VirtualNodeSpecListenerTimeoutHttp2PerRequestArgs) ElementType() reflect.Type { - return reflect.TypeOf((*VirtualNodeSpecListenerTimeoutHttp2PerRequest)(nil)).Elem() + ToGetRouteSpecHttpRouteTimeoutPerRequestOutput() GetRouteSpecHttpRouteTimeoutPerRequestOutput + ToGetRouteSpecHttpRouteTimeoutPerRequestOutputWithContext(context.Context) GetRouteSpecHttpRouteTimeoutPerRequestOutput } -func (i VirtualNodeSpecListenerTimeoutHttp2PerRequestArgs) ToVirtualNodeSpecListenerTimeoutHttp2PerRequestOutput() VirtualNodeSpecListenerTimeoutHttp2PerRequestOutput { - return i.ToVirtualNodeSpecListenerTimeoutHttp2PerRequestOutputWithContext(context.Background()) +type GetRouteSpecHttpRouteTimeoutPerRequestArgs struct { + Unit pulumi.StringInput `pulumi:"unit"` + Value pulumi.IntInput `pulumi:"value"` } -func (i VirtualNodeSpecListenerTimeoutHttp2PerRequestArgs) ToVirtualNodeSpecListenerTimeoutHttp2PerRequestOutputWithContext(ctx context.Context) VirtualNodeSpecListenerTimeoutHttp2PerRequestOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecListenerTimeoutHttp2PerRequestOutput) +func (GetRouteSpecHttpRouteTimeoutPerRequestArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetRouteSpecHttpRouteTimeoutPerRequest)(nil)).Elem() } -func (i VirtualNodeSpecListenerTimeoutHttp2PerRequestArgs) ToVirtualNodeSpecListenerTimeoutHttp2PerRequestPtrOutput() VirtualNodeSpecListenerTimeoutHttp2PerRequestPtrOutput { - return i.ToVirtualNodeSpecListenerTimeoutHttp2PerRequestPtrOutputWithContext(context.Background()) +func (i GetRouteSpecHttpRouteTimeoutPerRequestArgs) ToGetRouteSpecHttpRouteTimeoutPerRequestOutput() GetRouteSpecHttpRouteTimeoutPerRequestOutput { + return i.ToGetRouteSpecHttpRouteTimeoutPerRequestOutputWithContext(context.Background()) } -func (i VirtualNodeSpecListenerTimeoutHttp2PerRequestArgs) ToVirtualNodeSpecListenerTimeoutHttp2PerRequestPtrOutputWithContext(ctx context.Context) VirtualNodeSpecListenerTimeoutHttp2PerRequestPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecListenerTimeoutHttp2PerRequestOutput).ToVirtualNodeSpecListenerTimeoutHttp2PerRequestPtrOutputWithContext(ctx) +func (i GetRouteSpecHttpRouteTimeoutPerRequestArgs) ToGetRouteSpecHttpRouteTimeoutPerRequestOutputWithContext(ctx context.Context) GetRouteSpecHttpRouteTimeoutPerRequestOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetRouteSpecHttpRouteTimeoutPerRequestOutput) } -// VirtualNodeSpecListenerTimeoutHttp2PerRequestPtrInput is an input type that accepts VirtualNodeSpecListenerTimeoutHttp2PerRequestArgs, VirtualNodeSpecListenerTimeoutHttp2PerRequestPtr and VirtualNodeSpecListenerTimeoutHttp2PerRequestPtrOutput values. -// You can construct a concrete instance of `VirtualNodeSpecListenerTimeoutHttp2PerRequestPtrInput` via: -// -// VirtualNodeSpecListenerTimeoutHttp2PerRequestArgs{...} -// -// or: +// GetRouteSpecHttpRouteTimeoutPerRequestArrayInput is an input type that accepts GetRouteSpecHttpRouteTimeoutPerRequestArray and GetRouteSpecHttpRouteTimeoutPerRequestArrayOutput values. +// You can construct a concrete instance of `GetRouteSpecHttpRouteTimeoutPerRequestArrayInput` via: // -// nil -type VirtualNodeSpecListenerTimeoutHttp2PerRequestPtrInput interface { +// GetRouteSpecHttpRouteTimeoutPerRequestArray{ GetRouteSpecHttpRouteTimeoutPerRequestArgs{...} } +type GetRouteSpecHttpRouteTimeoutPerRequestArrayInput interface { pulumi.Input - ToVirtualNodeSpecListenerTimeoutHttp2PerRequestPtrOutput() VirtualNodeSpecListenerTimeoutHttp2PerRequestPtrOutput - ToVirtualNodeSpecListenerTimeoutHttp2PerRequestPtrOutputWithContext(context.Context) VirtualNodeSpecListenerTimeoutHttp2PerRequestPtrOutput + ToGetRouteSpecHttpRouteTimeoutPerRequestArrayOutput() GetRouteSpecHttpRouteTimeoutPerRequestArrayOutput + ToGetRouteSpecHttpRouteTimeoutPerRequestArrayOutputWithContext(context.Context) GetRouteSpecHttpRouteTimeoutPerRequestArrayOutput } -type virtualNodeSpecListenerTimeoutHttp2PerRequestPtrType VirtualNodeSpecListenerTimeoutHttp2PerRequestArgs - -func VirtualNodeSpecListenerTimeoutHttp2PerRequestPtr(v *VirtualNodeSpecListenerTimeoutHttp2PerRequestArgs) VirtualNodeSpecListenerTimeoutHttp2PerRequestPtrInput { - return (*virtualNodeSpecListenerTimeoutHttp2PerRequestPtrType)(v) -} +type GetRouteSpecHttpRouteTimeoutPerRequestArray []GetRouteSpecHttpRouteTimeoutPerRequestInput -func (*virtualNodeSpecListenerTimeoutHttp2PerRequestPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**VirtualNodeSpecListenerTimeoutHttp2PerRequest)(nil)).Elem() +func (GetRouteSpecHttpRouteTimeoutPerRequestArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetRouteSpecHttpRouteTimeoutPerRequest)(nil)).Elem() } -func (i *virtualNodeSpecListenerTimeoutHttp2PerRequestPtrType) ToVirtualNodeSpecListenerTimeoutHttp2PerRequestPtrOutput() VirtualNodeSpecListenerTimeoutHttp2PerRequestPtrOutput { - return i.ToVirtualNodeSpecListenerTimeoutHttp2PerRequestPtrOutputWithContext(context.Background()) +func (i GetRouteSpecHttpRouteTimeoutPerRequestArray) ToGetRouteSpecHttpRouteTimeoutPerRequestArrayOutput() GetRouteSpecHttpRouteTimeoutPerRequestArrayOutput { + return i.ToGetRouteSpecHttpRouteTimeoutPerRequestArrayOutputWithContext(context.Background()) } -func (i *virtualNodeSpecListenerTimeoutHttp2PerRequestPtrType) ToVirtualNodeSpecListenerTimeoutHttp2PerRequestPtrOutputWithContext(ctx context.Context) VirtualNodeSpecListenerTimeoutHttp2PerRequestPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecListenerTimeoutHttp2PerRequestPtrOutput) +func (i GetRouteSpecHttpRouteTimeoutPerRequestArray) ToGetRouteSpecHttpRouteTimeoutPerRequestArrayOutputWithContext(ctx context.Context) GetRouteSpecHttpRouteTimeoutPerRequestArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetRouteSpecHttpRouteTimeoutPerRequestArrayOutput) } -type VirtualNodeSpecListenerTimeoutHttp2PerRequestOutput struct{ *pulumi.OutputState } +type GetRouteSpecHttpRouteTimeoutPerRequestOutput struct{ *pulumi.OutputState } -func (VirtualNodeSpecListenerTimeoutHttp2PerRequestOutput) ElementType() reflect.Type { - return reflect.TypeOf((*VirtualNodeSpecListenerTimeoutHttp2PerRequest)(nil)).Elem() +func (GetRouteSpecHttpRouteTimeoutPerRequestOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetRouteSpecHttpRouteTimeoutPerRequest)(nil)).Elem() } -func (o VirtualNodeSpecListenerTimeoutHttp2PerRequestOutput) ToVirtualNodeSpecListenerTimeoutHttp2PerRequestOutput() VirtualNodeSpecListenerTimeoutHttp2PerRequestOutput { +func (o GetRouteSpecHttpRouteTimeoutPerRequestOutput) ToGetRouteSpecHttpRouteTimeoutPerRequestOutput() GetRouteSpecHttpRouteTimeoutPerRequestOutput { return o } -func (o VirtualNodeSpecListenerTimeoutHttp2PerRequestOutput) ToVirtualNodeSpecListenerTimeoutHttp2PerRequestOutputWithContext(ctx context.Context) VirtualNodeSpecListenerTimeoutHttp2PerRequestOutput { +func (o GetRouteSpecHttpRouteTimeoutPerRequestOutput) ToGetRouteSpecHttpRouteTimeoutPerRequestOutputWithContext(ctx context.Context) GetRouteSpecHttpRouteTimeoutPerRequestOutput { return o } -func (o VirtualNodeSpecListenerTimeoutHttp2PerRequestOutput) ToVirtualNodeSpecListenerTimeoutHttp2PerRequestPtrOutput() VirtualNodeSpecListenerTimeoutHttp2PerRequestPtrOutput { - return o.ToVirtualNodeSpecListenerTimeoutHttp2PerRequestPtrOutputWithContext(context.Background()) +func (o GetRouteSpecHttpRouteTimeoutPerRequestOutput) Unit() pulumi.StringOutput { + return o.ApplyT(func(v GetRouteSpecHttpRouteTimeoutPerRequest) string { return v.Unit }).(pulumi.StringOutput) } -func (o VirtualNodeSpecListenerTimeoutHttp2PerRequestOutput) ToVirtualNodeSpecListenerTimeoutHttp2PerRequestPtrOutputWithContext(ctx context.Context) VirtualNodeSpecListenerTimeoutHttp2PerRequestPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v VirtualNodeSpecListenerTimeoutHttp2PerRequest) *VirtualNodeSpecListenerTimeoutHttp2PerRequest { - return &v - }).(VirtualNodeSpecListenerTimeoutHttp2PerRequestPtrOutput) +func (o GetRouteSpecHttpRouteTimeoutPerRequestOutput) Value() pulumi.IntOutput { + return o.ApplyT(func(v GetRouteSpecHttpRouteTimeoutPerRequest) int { return v.Value }).(pulumi.IntOutput) } -// Unit of time. Valid values: `ms`, `s`. -func (o VirtualNodeSpecListenerTimeoutHttp2PerRequestOutput) Unit() pulumi.StringOutput { - return o.ApplyT(func(v VirtualNodeSpecListenerTimeoutHttp2PerRequest) string { return v.Unit }).(pulumi.StringOutput) +type GetRouteSpecHttpRouteTimeoutPerRequestArrayOutput struct{ *pulumi.OutputState } + +func (GetRouteSpecHttpRouteTimeoutPerRequestArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetRouteSpecHttpRouteTimeoutPerRequest)(nil)).Elem() } -// The specified value for the JSON. Must be between 1 and 100 characters in length. -func (o VirtualNodeSpecListenerTimeoutHttp2PerRequestOutput) Value() pulumi.IntOutput { - return o.ApplyT(func(v VirtualNodeSpecListenerTimeoutHttp2PerRequest) int { return v.Value }).(pulumi.IntOutput) +func (o GetRouteSpecHttpRouteTimeoutPerRequestArrayOutput) ToGetRouteSpecHttpRouteTimeoutPerRequestArrayOutput() GetRouteSpecHttpRouteTimeoutPerRequestArrayOutput { + return o } -type VirtualNodeSpecListenerTimeoutHttp2PerRequestPtrOutput struct{ *pulumi.OutputState } +func (o GetRouteSpecHttpRouteTimeoutPerRequestArrayOutput) ToGetRouteSpecHttpRouteTimeoutPerRequestArrayOutputWithContext(ctx context.Context) GetRouteSpecHttpRouteTimeoutPerRequestArrayOutput { + return o +} -func (VirtualNodeSpecListenerTimeoutHttp2PerRequestPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**VirtualNodeSpecListenerTimeoutHttp2PerRequest)(nil)).Elem() +func (o GetRouteSpecHttpRouteTimeoutPerRequestArrayOutput) Index(i pulumi.IntInput) GetRouteSpecHttpRouteTimeoutPerRequestOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetRouteSpecHttpRouteTimeoutPerRequest { + return vs[0].([]GetRouteSpecHttpRouteTimeoutPerRequest)[vs[1].(int)] + }).(GetRouteSpecHttpRouteTimeoutPerRequestOutput) } -func (o VirtualNodeSpecListenerTimeoutHttp2PerRequestPtrOutput) ToVirtualNodeSpecListenerTimeoutHttp2PerRequestPtrOutput() VirtualNodeSpecListenerTimeoutHttp2PerRequestPtrOutput { - return o +type GetRouteSpecTcpRoute struct { + Actions []GetRouteSpecTcpRouteAction `pulumi:"actions"` + Matches []GetRouteSpecTcpRouteMatch `pulumi:"matches"` + Timeouts []GetRouteSpecTcpRouteTimeout `pulumi:"timeouts"` } -func (o VirtualNodeSpecListenerTimeoutHttp2PerRequestPtrOutput) ToVirtualNodeSpecListenerTimeoutHttp2PerRequestPtrOutputWithContext(ctx context.Context) VirtualNodeSpecListenerTimeoutHttp2PerRequestPtrOutput { - return o +// GetRouteSpecTcpRouteInput is an input type that accepts GetRouteSpecTcpRouteArgs and GetRouteSpecTcpRouteOutput values. +// You can construct a concrete instance of `GetRouteSpecTcpRouteInput` via: +// +// GetRouteSpecTcpRouteArgs{...} +type GetRouteSpecTcpRouteInput interface { + pulumi.Input + + ToGetRouteSpecTcpRouteOutput() GetRouteSpecTcpRouteOutput + ToGetRouteSpecTcpRouteOutputWithContext(context.Context) GetRouteSpecTcpRouteOutput } -func (o VirtualNodeSpecListenerTimeoutHttp2PerRequestPtrOutput) Elem() VirtualNodeSpecListenerTimeoutHttp2PerRequestOutput { - return o.ApplyT(func(v *VirtualNodeSpecListenerTimeoutHttp2PerRequest) VirtualNodeSpecListenerTimeoutHttp2PerRequest { - if v != nil { - return *v - } - var ret VirtualNodeSpecListenerTimeoutHttp2PerRequest - return ret - }).(VirtualNodeSpecListenerTimeoutHttp2PerRequestOutput) +type GetRouteSpecTcpRouteArgs struct { + Actions GetRouteSpecTcpRouteActionArrayInput `pulumi:"actions"` + Matches GetRouteSpecTcpRouteMatchArrayInput `pulumi:"matches"` + Timeouts GetRouteSpecTcpRouteTimeoutArrayInput `pulumi:"timeouts"` } -// Unit of time. Valid values: `ms`, `s`. -func (o VirtualNodeSpecListenerTimeoutHttp2PerRequestPtrOutput) Unit() pulumi.StringPtrOutput { - return o.ApplyT(func(v *VirtualNodeSpecListenerTimeoutHttp2PerRequest) *string { - if v == nil { - return nil - } - return &v.Unit - }).(pulumi.StringPtrOutput) +func (GetRouteSpecTcpRouteArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetRouteSpecTcpRoute)(nil)).Elem() } -// The specified value for the JSON. Must be between 1 and 100 characters in length. -func (o VirtualNodeSpecListenerTimeoutHttp2PerRequestPtrOutput) Value() pulumi.IntPtrOutput { - return o.ApplyT(func(v *VirtualNodeSpecListenerTimeoutHttp2PerRequest) *int { - if v == nil { - return nil - } - return &v.Value - }).(pulumi.IntPtrOutput) +func (i GetRouteSpecTcpRouteArgs) ToGetRouteSpecTcpRouteOutput() GetRouteSpecTcpRouteOutput { + return i.ToGetRouteSpecTcpRouteOutputWithContext(context.Background()) } -type VirtualNodeSpecListenerTimeoutHttp struct { - // Idle timeout. An idle timeout bounds the amount of time that a connection may be idle. - Idle *VirtualNodeSpecListenerTimeoutHttpIdle `pulumi:"idle"` - // Per request timeout. - PerRequest *VirtualNodeSpecListenerTimeoutHttpPerRequest `pulumi:"perRequest"` +func (i GetRouteSpecTcpRouteArgs) ToGetRouteSpecTcpRouteOutputWithContext(ctx context.Context) GetRouteSpecTcpRouteOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetRouteSpecTcpRouteOutput) } -// VirtualNodeSpecListenerTimeoutHttpInput is an input type that accepts VirtualNodeSpecListenerTimeoutHttpArgs and VirtualNodeSpecListenerTimeoutHttpOutput values. -// You can construct a concrete instance of `VirtualNodeSpecListenerTimeoutHttpInput` via: +// GetRouteSpecTcpRouteArrayInput is an input type that accepts GetRouteSpecTcpRouteArray and GetRouteSpecTcpRouteArrayOutput values. +// You can construct a concrete instance of `GetRouteSpecTcpRouteArrayInput` via: // -// VirtualNodeSpecListenerTimeoutHttpArgs{...} -type VirtualNodeSpecListenerTimeoutHttpInput interface { +// GetRouteSpecTcpRouteArray{ GetRouteSpecTcpRouteArgs{...} } +type GetRouteSpecTcpRouteArrayInput interface { pulumi.Input - ToVirtualNodeSpecListenerTimeoutHttpOutput() VirtualNodeSpecListenerTimeoutHttpOutput - ToVirtualNodeSpecListenerTimeoutHttpOutputWithContext(context.Context) VirtualNodeSpecListenerTimeoutHttpOutput + ToGetRouteSpecTcpRouteArrayOutput() GetRouteSpecTcpRouteArrayOutput + ToGetRouteSpecTcpRouteArrayOutputWithContext(context.Context) GetRouteSpecTcpRouteArrayOutput } -type VirtualNodeSpecListenerTimeoutHttpArgs struct { - // Idle timeout. An idle timeout bounds the amount of time that a connection may be idle. - Idle VirtualNodeSpecListenerTimeoutHttpIdlePtrInput `pulumi:"idle"` - // Per request timeout. - PerRequest VirtualNodeSpecListenerTimeoutHttpPerRequestPtrInput `pulumi:"perRequest"` +type GetRouteSpecTcpRouteArray []GetRouteSpecTcpRouteInput + +func (GetRouteSpecTcpRouteArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetRouteSpecTcpRoute)(nil)).Elem() } -func (VirtualNodeSpecListenerTimeoutHttpArgs) ElementType() reflect.Type { - return reflect.TypeOf((*VirtualNodeSpecListenerTimeoutHttp)(nil)).Elem() +func (i GetRouteSpecTcpRouteArray) ToGetRouteSpecTcpRouteArrayOutput() GetRouteSpecTcpRouteArrayOutput { + return i.ToGetRouteSpecTcpRouteArrayOutputWithContext(context.Background()) } -func (i VirtualNodeSpecListenerTimeoutHttpArgs) ToVirtualNodeSpecListenerTimeoutHttpOutput() VirtualNodeSpecListenerTimeoutHttpOutput { - return i.ToVirtualNodeSpecListenerTimeoutHttpOutputWithContext(context.Background()) +func (i GetRouteSpecTcpRouteArray) ToGetRouteSpecTcpRouteArrayOutputWithContext(ctx context.Context) GetRouteSpecTcpRouteArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetRouteSpecTcpRouteArrayOutput) } -func (i VirtualNodeSpecListenerTimeoutHttpArgs) ToVirtualNodeSpecListenerTimeoutHttpOutputWithContext(ctx context.Context) VirtualNodeSpecListenerTimeoutHttpOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecListenerTimeoutHttpOutput) +type GetRouteSpecTcpRouteOutput struct{ *pulumi.OutputState } + +func (GetRouteSpecTcpRouteOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetRouteSpecTcpRoute)(nil)).Elem() } -func (i VirtualNodeSpecListenerTimeoutHttpArgs) ToVirtualNodeSpecListenerTimeoutHttpPtrOutput() VirtualNodeSpecListenerTimeoutHttpPtrOutput { - return i.ToVirtualNodeSpecListenerTimeoutHttpPtrOutputWithContext(context.Background()) +func (o GetRouteSpecTcpRouteOutput) ToGetRouteSpecTcpRouteOutput() GetRouteSpecTcpRouteOutput { + return o } -func (i VirtualNodeSpecListenerTimeoutHttpArgs) ToVirtualNodeSpecListenerTimeoutHttpPtrOutputWithContext(ctx context.Context) VirtualNodeSpecListenerTimeoutHttpPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecListenerTimeoutHttpOutput).ToVirtualNodeSpecListenerTimeoutHttpPtrOutputWithContext(ctx) +func (o GetRouteSpecTcpRouteOutput) ToGetRouteSpecTcpRouteOutputWithContext(ctx context.Context) GetRouteSpecTcpRouteOutput { + return o } -// VirtualNodeSpecListenerTimeoutHttpPtrInput is an input type that accepts VirtualNodeSpecListenerTimeoutHttpArgs, VirtualNodeSpecListenerTimeoutHttpPtr and VirtualNodeSpecListenerTimeoutHttpPtrOutput values. -// You can construct a concrete instance of `VirtualNodeSpecListenerTimeoutHttpPtrInput` via: -// -// VirtualNodeSpecListenerTimeoutHttpArgs{...} -// -// or: -// -// nil -type VirtualNodeSpecListenerTimeoutHttpPtrInput interface { - pulumi.Input +func (o GetRouteSpecTcpRouteOutput) Actions() GetRouteSpecTcpRouteActionArrayOutput { + return o.ApplyT(func(v GetRouteSpecTcpRoute) []GetRouteSpecTcpRouteAction { return v.Actions }).(GetRouteSpecTcpRouteActionArrayOutput) +} - ToVirtualNodeSpecListenerTimeoutHttpPtrOutput() VirtualNodeSpecListenerTimeoutHttpPtrOutput - ToVirtualNodeSpecListenerTimeoutHttpPtrOutputWithContext(context.Context) VirtualNodeSpecListenerTimeoutHttpPtrOutput +func (o GetRouteSpecTcpRouteOutput) Matches() GetRouteSpecTcpRouteMatchArrayOutput { + return o.ApplyT(func(v GetRouteSpecTcpRoute) []GetRouteSpecTcpRouteMatch { return v.Matches }).(GetRouteSpecTcpRouteMatchArrayOutput) } -type virtualNodeSpecListenerTimeoutHttpPtrType VirtualNodeSpecListenerTimeoutHttpArgs +func (o GetRouteSpecTcpRouteOutput) Timeouts() GetRouteSpecTcpRouteTimeoutArrayOutput { + return o.ApplyT(func(v GetRouteSpecTcpRoute) []GetRouteSpecTcpRouteTimeout { return v.Timeouts }).(GetRouteSpecTcpRouteTimeoutArrayOutput) +} -func VirtualNodeSpecListenerTimeoutHttpPtr(v *VirtualNodeSpecListenerTimeoutHttpArgs) VirtualNodeSpecListenerTimeoutHttpPtrInput { - return (*virtualNodeSpecListenerTimeoutHttpPtrType)(v) +type GetRouteSpecTcpRouteArrayOutput struct{ *pulumi.OutputState } + +func (GetRouteSpecTcpRouteArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetRouteSpecTcpRoute)(nil)).Elem() } -func (*virtualNodeSpecListenerTimeoutHttpPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**VirtualNodeSpecListenerTimeoutHttp)(nil)).Elem() +func (o GetRouteSpecTcpRouteArrayOutput) ToGetRouteSpecTcpRouteArrayOutput() GetRouteSpecTcpRouteArrayOutput { + return o } -func (i *virtualNodeSpecListenerTimeoutHttpPtrType) ToVirtualNodeSpecListenerTimeoutHttpPtrOutput() VirtualNodeSpecListenerTimeoutHttpPtrOutput { - return i.ToVirtualNodeSpecListenerTimeoutHttpPtrOutputWithContext(context.Background()) +func (o GetRouteSpecTcpRouteArrayOutput) ToGetRouteSpecTcpRouteArrayOutputWithContext(ctx context.Context) GetRouteSpecTcpRouteArrayOutput { + return o } -func (i *virtualNodeSpecListenerTimeoutHttpPtrType) ToVirtualNodeSpecListenerTimeoutHttpPtrOutputWithContext(ctx context.Context) VirtualNodeSpecListenerTimeoutHttpPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecListenerTimeoutHttpPtrOutput) +func (o GetRouteSpecTcpRouteArrayOutput) Index(i pulumi.IntInput) GetRouteSpecTcpRouteOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetRouteSpecTcpRoute { + return vs[0].([]GetRouteSpecTcpRoute)[vs[1].(int)] + }).(GetRouteSpecTcpRouteOutput) } -type VirtualNodeSpecListenerTimeoutHttpOutput struct{ *pulumi.OutputState } +type GetRouteSpecTcpRouteAction struct { + WeightedTargets []GetRouteSpecTcpRouteActionWeightedTarget `pulumi:"weightedTargets"` +} -func (VirtualNodeSpecListenerTimeoutHttpOutput) ElementType() reflect.Type { - return reflect.TypeOf((*VirtualNodeSpecListenerTimeoutHttp)(nil)).Elem() +// GetRouteSpecTcpRouteActionInput is an input type that accepts GetRouteSpecTcpRouteActionArgs and GetRouteSpecTcpRouteActionOutput values. +// You can construct a concrete instance of `GetRouteSpecTcpRouteActionInput` via: +// +// GetRouteSpecTcpRouteActionArgs{...} +type GetRouteSpecTcpRouteActionInput interface { + pulumi.Input + + ToGetRouteSpecTcpRouteActionOutput() GetRouteSpecTcpRouteActionOutput + ToGetRouteSpecTcpRouteActionOutputWithContext(context.Context) GetRouteSpecTcpRouteActionOutput } -func (o VirtualNodeSpecListenerTimeoutHttpOutput) ToVirtualNodeSpecListenerTimeoutHttpOutput() VirtualNodeSpecListenerTimeoutHttpOutput { - return o +type GetRouteSpecTcpRouteActionArgs struct { + WeightedTargets GetRouteSpecTcpRouteActionWeightedTargetArrayInput `pulumi:"weightedTargets"` } -func (o VirtualNodeSpecListenerTimeoutHttpOutput) ToVirtualNodeSpecListenerTimeoutHttpOutputWithContext(ctx context.Context) VirtualNodeSpecListenerTimeoutHttpOutput { - return o +func (GetRouteSpecTcpRouteActionArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetRouteSpecTcpRouteAction)(nil)).Elem() } -func (o VirtualNodeSpecListenerTimeoutHttpOutput) ToVirtualNodeSpecListenerTimeoutHttpPtrOutput() VirtualNodeSpecListenerTimeoutHttpPtrOutput { - return o.ToVirtualNodeSpecListenerTimeoutHttpPtrOutputWithContext(context.Background()) +func (i GetRouteSpecTcpRouteActionArgs) ToGetRouteSpecTcpRouteActionOutput() GetRouteSpecTcpRouteActionOutput { + return i.ToGetRouteSpecTcpRouteActionOutputWithContext(context.Background()) } -func (o VirtualNodeSpecListenerTimeoutHttpOutput) ToVirtualNodeSpecListenerTimeoutHttpPtrOutputWithContext(ctx context.Context) VirtualNodeSpecListenerTimeoutHttpPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v VirtualNodeSpecListenerTimeoutHttp) *VirtualNodeSpecListenerTimeoutHttp { - return &v - }).(VirtualNodeSpecListenerTimeoutHttpPtrOutput) +func (i GetRouteSpecTcpRouteActionArgs) ToGetRouteSpecTcpRouteActionOutputWithContext(ctx context.Context) GetRouteSpecTcpRouteActionOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetRouteSpecTcpRouteActionOutput) } -// Idle timeout. An idle timeout bounds the amount of time that a connection may be idle. -func (o VirtualNodeSpecListenerTimeoutHttpOutput) Idle() VirtualNodeSpecListenerTimeoutHttpIdlePtrOutput { - return o.ApplyT(func(v VirtualNodeSpecListenerTimeoutHttp) *VirtualNodeSpecListenerTimeoutHttpIdle { return v.Idle }).(VirtualNodeSpecListenerTimeoutHttpIdlePtrOutput) +// GetRouteSpecTcpRouteActionArrayInput is an input type that accepts GetRouteSpecTcpRouteActionArray and GetRouteSpecTcpRouteActionArrayOutput values. +// You can construct a concrete instance of `GetRouteSpecTcpRouteActionArrayInput` via: +// +// GetRouteSpecTcpRouteActionArray{ GetRouteSpecTcpRouteActionArgs{...} } +type GetRouteSpecTcpRouteActionArrayInput interface { + pulumi.Input + + ToGetRouteSpecTcpRouteActionArrayOutput() GetRouteSpecTcpRouteActionArrayOutput + ToGetRouteSpecTcpRouteActionArrayOutputWithContext(context.Context) GetRouteSpecTcpRouteActionArrayOutput } -// Per request timeout. -func (o VirtualNodeSpecListenerTimeoutHttpOutput) PerRequest() VirtualNodeSpecListenerTimeoutHttpPerRequestPtrOutput { - return o.ApplyT(func(v VirtualNodeSpecListenerTimeoutHttp) *VirtualNodeSpecListenerTimeoutHttpPerRequest { - return v.PerRequest - }).(VirtualNodeSpecListenerTimeoutHttpPerRequestPtrOutput) +type GetRouteSpecTcpRouteActionArray []GetRouteSpecTcpRouteActionInput + +func (GetRouteSpecTcpRouteActionArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetRouteSpecTcpRouteAction)(nil)).Elem() } -type VirtualNodeSpecListenerTimeoutHttpPtrOutput struct{ *pulumi.OutputState } +func (i GetRouteSpecTcpRouteActionArray) ToGetRouteSpecTcpRouteActionArrayOutput() GetRouteSpecTcpRouteActionArrayOutput { + return i.ToGetRouteSpecTcpRouteActionArrayOutputWithContext(context.Background()) +} -func (VirtualNodeSpecListenerTimeoutHttpPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**VirtualNodeSpecListenerTimeoutHttp)(nil)).Elem() +func (i GetRouteSpecTcpRouteActionArray) ToGetRouteSpecTcpRouteActionArrayOutputWithContext(ctx context.Context) GetRouteSpecTcpRouteActionArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetRouteSpecTcpRouteActionArrayOutput) } -func (o VirtualNodeSpecListenerTimeoutHttpPtrOutput) ToVirtualNodeSpecListenerTimeoutHttpPtrOutput() VirtualNodeSpecListenerTimeoutHttpPtrOutput { - return o +type GetRouteSpecTcpRouteActionOutput struct{ *pulumi.OutputState } + +func (GetRouteSpecTcpRouteActionOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetRouteSpecTcpRouteAction)(nil)).Elem() } -func (o VirtualNodeSpecListenerTimeoutHttpPtrOutput) ToVirtualNodeSpecListenerTimeoutHttpPtrOutputWithContext(ctx context.Context) VirtualNodeSpecListenerTimeoutHttpPtrOutput { +func (o GetRouteSpecTcpRouteActionOutput) ToGetRouteSpecTcpRouteActionOutput() GetRouteSpecTcpRouteActionOutput { return o } -func (o VirtualNodeSpecListenerTimeoutHttpPtrOutput) Elem() VirtualNodeSpecListenerTimeoutHttpOutput { - return o.ApplyT(func(v *VirtualNodeSpecListenerTimeoutHttp) VirtualNodeSpecListenerTimeoutHttp { - if v != nil { - return *v - } - var ret VirtualNodeSpecListenerTimeoutHttp - return ret - }).(VirtualNodeSpecListenerTimeoutHttpOutput) +func (o GetRouteSpecTcpRouteActionOutput) ToGetRouteSpecTcpRouteActionOutputWithContext(ctx context.Context) GetRouteSpecTcpRouteActionOutput { + return o } -// Idle timeout. An idle timeout bounds the amount of time that a connection may be idle. -func (o VirtualNodeSpecListenerTimeoutHttpPtrOutput) Idle() VirtualNodeSpecListenerTimeoutHttpIdlePtrOutput { - return o.ApplyT(func(v *VirtualNodeSpecListenerTimeoutHttp) *VirtualNodeSpecListenerTimeoutHttpIdle { - if v == nil { - return nil - } - return v.Idle - }).(VirtualNodeSpecListenerTimeoutHttpIdlePtrOutput) +func (o GetRouteSpecTcpRouteActionOutput) WeightedTargets() GetRouteSpecTcpRouteActionWeightedTargetArrayOutput { + return o.ApplyT(func(v GetRouteSpecTcpRouteAction) []GetRouteSpecTcpRouteActionWeightedTarget { + return v.WeightedTargets + }).(GetRouteSpecTcpRouteActionWeightedTargetArrayOutput) } -// Per request timeout. -func (o VirtualNodeSpecListenerTimeoutHttpPtrOutput) PerRequest() VirtualNodeSpecListenerTimeoutHttpPerRequestPtrOutput { - return o.ApplyT(func(v *VirtualNodeSpecListenerTimeoutHttp) *VirtualNodeSpecListenerTimeoutHttpPerRequest { - if v == nil { - return nil - } - return v.PerRequest - }).(VirtualNodeSpecListenerTimeoutHttpPerRequestPtrOutput) +type GetRouteSpecTcpRouteActionArrayOutput struct{ *pulumi.OutputState } + +func (GetRouteSpecTcpRouteActionArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetRouteSpecTcpRouteAction)(nil)).Elem() } -type VirtualNodeSpecListenerTimeoutHttpIdle struct { - // Unit of time. Valid values: `ms`, `s`. - Unit string `pulumi:"unit"` - // Number of time units. Minimum value of `0`. - Value int `pulumi:"value"` +func (o GetRouteSpecTcpRouteActionArrayOutput) ToGetRouteSpecTcpRouteActionArrayOutput() GetRouteSpecTcpRouteActionArrayOutput { + return o } -// VirtualNodeSpecListenerTimeoutHttpIdleInput is an input type that accepts VirtualNodeSpecListenerTimeoutHttpIdleArgs and VirtualNodeSpecListenerTimeoutHttpIdleOutput values. -// You can construct a concrete instance of `VirtualNodeSpecListenerTimeoutHttpIdleInput` via: -// -// VirtualNodeSpecListenerTimeoutHttpIdleArgs{...} -type VirtualNodeSpecListenerTimeoutHttpIdleInput interface { - pulumi.Input +func (o GetRouteSpecTcpRouteActionArrayOutput) ToGetRouteSpecTcpRouteActionArrayOutputWithContext(ctx context.Context) GetRouteSpecTcpRouteActionArrayOutput { + return o +} - ToVirtualNodeSpecListenerTimeoutHttpIdleOutput() VirtualNodeSpecListenerTimeoutHttpIdleOutput - ToVirtualNodeSpecListenerTimeoutHttpIdleOutputWithContext(context.Context) VirtualNodeSpecListenerTimeoutHttpIdleOutput +func (o GetRouteSpecTcpRouteActionArrayOutput) Index(i pulumi.IntInput) GetRouteSpecTcpRouteActionOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetRouteSpecTcpRouteAction { + return vs[0].([]GetRouteSpecTcpRouteAction)[vs[1].(int)] + }).(GetRouteSpecTcpRouteActionOutput) } -type VirtualNodeSpecListenerTimeoutHttpIdleArgs struct { - // Unit of time. Valid values: `ms`, `s`. - Unit pulumi.StringInput `pulumi:"unit"` - // Number of time units. Minimum value of `0`. - Value pulumi.IntInput `pulumi:"value"` +type GetRouteSpecTcpRouteActionWeightedTarget struct { + Port int `pulumi:"port"` + VirtualNode string `pulumi:"virtualNode"` + Weight int `pulumi:"weight"` } -func (VirtualNodeSpecListenerTimeoutHttpIdleArgs) ElementType() reflect.Type { - return reflect.TypeOf((*VirtualNodeSpecListenerTimeoutHttpIdle)(nil)).Elem() +// GetRouteSpecTcpRouteActionWeightedTargetInput is an input type that accepts GetRouteSpecTcpRouteActionWeightedTargetArgs and GetRouteSpecTcpRouteActionWeightedTargetOutput values. +// You can construct a concrete instance of `GetRouteSpecTcpRouteActionWeightedTargetInput` via: +// +// GetRouteSpecTcpRouteActionWeightedTargetArgs{...} +type GetRouteSpecTcpRouteActionWeightedTargetInput interface { + pulumi.Input + + ToGetRouteSpecTcpRouteActionWeightedTargetOutput() GetRouteSpecTcpRouteActionWeightedTargetOutput + ToGetRouteSpecTcpRouteActionWeightedTargetOutputWithContext(context.Context) GetRouteSpecTcpRouteActionWeightedTargetOutput } -func (i VirtualNodeSpecListenerTimeoutHttpIdleArgs) ToVirtualNodeSpecListenerTimeoutHttpIdleOutput() VirtualNodeSpecListenerTimeoutHttpIdleOutput { - return i.ToVirtualNodeSpecListenerTimeoutHttpIdleOutputWithContext(context.Background()) +type GetRouteSpecTcpRouteActionWeightedTargetArgs struct { + Port pulumi.IntInput `pulumi:"port"` + VirtualNode pulumi.StringInput `pulumi:"virtualNode"` + Weight pulumi.IntInput `pulumi:"weight"` } -func (i VirtualNodeSpecListenerTimeoutHttpIdleArgs) ToVirtualNodeSpecListenerTimeoutHttpIdleOutputWithContext(ctx context.Context) VirtualNodeSpecListenerTimeoutHttpIdleOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecListenerTimeoutHttpIdleOutput) +func (GetRouteSpecTcpRouteActionWeightedTargetArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetRouteSpecTcpRouteActionWeightedTarget)(nil)).Elem() } -func (i VirtualNodeSpecListenerTimeoutHttpIdleArgs) ToVirtualNodeSpecListenerTimeoutHttpIdlePtrOutput() VirtualNodeSpecListenerTimeoutHttpIdlePtrOutput { - return i.ToVirtualNodeSpecListenerTimeoutHttpIdlePtrOutputWithContext(context.Background()) +func (i GetRouteSpecTcpRouteActionWeightedTargetArgs) ToGetRouteSpecTcpRouteActionWeightedTargetOutput() GetRouteSpecTcpRouteActionWeightedTargetOutput { + return i.ToGetRouteSpecTcpRouteActionWeightedTargetOutputWithContext(context.Background()) } -func (i VirtualNodeSpecListenerTimeoutHttpIdleArgs) ToVirtualNodeSpecListenerTimeoutHttpIdlePtrOutputWithContext(ctx context.Context) VirtualNodeSpecListenerTimeoutHttpIdlePtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecListenerTimeoutHttpIdleOutput).ToVirtualNodeSpecListenerTimeoutHttpIdlePtrOutputWithContext(ctx) +func (i GetRouteSpecTcpRouteActionWeightedTargetArgs) ToGetRouteSpecTcpRouteActionWeightedTargetOutputWithContext(ctx context.Context) GetRouteSpecTcpRouteActionWeightedTargetOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetRouteSpecTcpRouteActionWeightedTargetOutput) } -// VirtualNodeSpecListenerTimeoutHttpIdlePtrInput is an input type that accepts VirtualNodeSpecListenerTimeoutHttpIdleArgs, VirtualNodeSpecListenerTimeoutHttpIdlePtr and VirtualNodeSpecListenerTimeoutHttpIdlePtrOutput values. -// You can construct a concrete instance of `VirtualNodeSpecListenerTimeoutHttpIdlePtrInput` via: -// -// VirtualNodeSpecListenerTimeoutHttpIdleArgs{...} -// -// or: +// GetRouteSpecTcpRouteActionWeightedTargetArrayInput is an input type that accepts GetRouteSpecTcpRouteActionWeightedTargetArray and GetRouteSpecTcpRouteActionWeightedTargetArrayOutput values. +// You can construct a concrete instance of `GetRouteSpecTcpRouteActionWeightedTargetArrayInput` via: // -// nil -type VirtualNodeSpecListenerTimeoutHttpIdlePtrInput interface { +// GetRouteSpecTcpRouteActionWeightedTargetArray{ GetRouteSpecTcpRouteActionWeightedTargetArgs{...} } +type GetRouteSpecTcpRouteActionWeightedTargetArrayInput interface { pulumi.Input - ToVirtualNodeSpecListenerTimeoutHttpIdlePtrOutput() VirtualNodeSpecListenerTimeoutHttpIdlePtrOutput - ToVirtualNodeSpecListenerTimeoutHttpIdlePtrOutputWithContext(context.Context) VirtualNodeSpecListenerTimeoutHttpIdlePtrOutput + ToGetRouteSpecTcpRouteActionWeightedTargetArrayOutput() GetRouteSpecTcpRouteActionWeightedTargetArrayOutput + ToGetRouteSpecTcpRouteActionWeightedTargetArrayOutputWithContext(context.Context) GetRouteSpecTcpRouteActionWeightedTargetArrayOutput } -type virtualNodeSpecListenerTimeoutHttpIdlePtrType VirtualNodeSpecListenerTimeoutHttpIdleArgs - -func VirtualNodeSpecListenerTimeoutHttpIdlePtr(v *VirtualNodeSpecListenerTimeoutHttpIdleArgs) VirtualNodeSpecListenerTimeoutHttpIdlePtrInput { - return (*virtualNodeSpecListenerTimeoutHttpIdlePtrType)(v) -} +type GetRouteSpecTcpRouteActionWeightedTargetArray []GetRouteSpecTcpRouteActionWeightedTargetInput -func (*virtualNodeSpecListenerTimeoutHttpIdlePtrType) ElementType() reflect.Type { - return reflect.TypeOf((**VirtualNodeSpecListenerTimeoutHttpIdle)(nil)).Elem() +func (GetRouteSpecTcpRouteActionWeightedTargetArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetRouteSpecTcpRouteActionWeightedTarget)(nil)).Elem() } -func (i *virtualNodeSpecListenerTimeoutHttpIdlePtrType) ToVirtualNodeSpecListenerTimeoutHttpIdlePtrOutput() VirtualNodeSpecListenerTimeoutHttpIdlePtrOutput { - return i.ToVirtualNodeSpecListenerTimeoutHttpIdlePtrOutputWithContext(context.Background()) +func (i GetRouteSpecTcpRouteActionWeightedTargetArray) ToGetRouteSpecTcpRouteActionWeightedTargetArrayOutput() GetRouteSpecTcpRouteActionWeightedTargetArrayOutput { + return i.ToGetRouteSpecTcpRouteActionWeightedTargetArrayOutputWithContext(context.Background()) } -func (i *virtualNodeSpecListenerTimeoutHttpIdlePtrType) ToVirtualNodeSpecListenerTimeoutHttpIdlePtrOutputWithContext(ctx context.Context) VirtualNodeSpecListenerTimeoutHttpIdlePtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecListenerTimeoutHttpIdlePtrOutput) +func (i GetRouteSpecTcpRouteActionWeightedTargetArray) ToGetRouteSpecTcpRouteActionWeightedTargetArrayOutputWithContext(ctx context.Context) GetRouteSpecTcpRouteActionWeightedTargetArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetRouteSpecTcpRouteActionWeightedTargetArrayOutput) } -type VirtualNodeSpecListenerTimeoutHttpIdleOutput struct{ *pulumi.OutputState } +type GetRouteSpecTcpRouteActionWeightedTargetOutput struct{ *pulumi.OutputState } -func (VirtualNodeSpecListenerTimeoutHttpIdleOutput) ElementType() reflect.Type { - return reflect.TypeOf((*VirtualNodeSpecListenerTimeoutHttpIdle)(nil)).Elem() +func (GetRouteSpecTcpRouteActionWeightedTargetOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetRouteSpecTcpRouteActionWeightedTarget)(nil)).Elem() } -func (o VirtualNodeSpecListenerTimeoutHttpIdleOutput) ToVirtualNodeSpecListenerTimeoutHttpIdleOutput() VirtualNodeSpecListenerTimeoutHttpIdleOutput { +func (o GetRouteSpecTcpRouteActionWeightedTargetOutput) ToGetRouteSpecTcpRouteActionWeightedTargetOutput() GetRouteSpecTcpRouteActionWeightedTargetOutput { return o } -func (o VirtualNodeSpecListenerTimeoutHttpIdleOutput) ToVirtualNodeSpecListenerTimeoutHttpIdleOutputWithContext(ctx context.Context) VirtualNodeSpecListenerTimeoutHttpIdleOutput { +func (o GetRouteSpecTcpRouteActionWeightedTargetOutput) ToGetRouteSpecTcpRouteActionWeightedTargetOutputWithContext(ctx context.Context) GetRouteSpecTcpRouteActionWeightedTargetOutput { return o } -func (o VirtualNodeSpecListenerTimeoutHttpIdleOutput) ToVirtualNodeSpecListenerTimeoutHttpIdlePtrOutput() VirtualNodeSpecListenerTimeoutHttpIdlePtrOutput { - return o.ToVirtualNodeSpecListenerTimeoutHttpIdlePtrOutputWithContext(context.Background()) -} - -func (o VirtualNodeSpecListenerTimeoutHttpIdleOutput) ToVirtualNodeSpecListenerTimeoutHttpIdlePtrOutputWithContext(ctx context.Context) VirtualNodeSpecListenerTimeoutHttpIdlePtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v VirtualNodeSpecListenerTimeoutHttpIdle) *VirtualNodeSpecListenerTimeoutHttpIdle { - return &v - }).(VirtualNodeSpecListenerTimeoutHttpIdlePtrOutput) +func (o GetRouteSpecTcpRouteActionWeightedTargetOutput) Port() pulumi.IntOutput { + return o.ApplyT(func(v GetRouteSpecTcpRouteActionWeightedTarget) int { return v.Port }).(pulumi.IntOutput) } -// Unit of time. Valid values: `ms`, `s`. -func (o VirtualNodeSpecListenerTimeoutHttpIdleOutput) Unit() pulumi.StringOutput { - return o.ApplyT(func(v VirtualNodeSpecListenerTimeoutHttpIdle) string { return v.Unit }).(pulumi.StringOutput) +func (o GetRouteSpecTcpRouteActionWeightedTargetOutput) VirtualNode() pulumi.StringOutput { + return o.ApplyT(func(v GetRouteSpecTcpRouteActionWeightedTarget) string { return v.VirtualNode }).(pulumi.StringOutput) } -// Number of time units. Minimum value of `0`. -func (o VirtualNodeSpecListenerTimeoutHttpIdleOutput) Value() pulumi.IntOutput { - return o.ApplyT(func(v VirtualNodeSpecListenerTimeoutHttpIdle) int { return v.Value }).(pulumi.IntOutput) +func (o GetRouteSpecTcpRouteActionWeightedTargetOutput) Weight() pulumi.IntOutput { + return o.ApplyT(func(v GetRouteSpecTcpRouteActionWeightedTarget) int { return v.Weight }).(pulumi.IntOutput) } -type VirtualNodeSpecListenerTimeoutHttpIdlePtrOutput struct{ *pulumi.OutputState } +type GetRouteSpecTcpRouteActionWeightedTargetArrayOutput struct{ *pulumi.OutputState } -func (VirtualNodeSpecListenerTimeoutHttpIdlePtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**VirtualNodeSpecListenerTimeoutHttpIdle)(nil)).Elem() +func (GetRouteSpecTcpRouteActionWeightedTargetArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetRouteSpecTcpRouteActionWeightedTarget)(nil)).Elem() } -func (o VirtualNodeSpecListenerTimeoutHttpIdlePtrOutput) ToVirtualNodeSpecListenerTimeoutHttpIdlePtrOutput() VirtualNodeSpecListenerTimeoutHttpIdlePtrOutput { +func (o GetRouteSpecTcpRouteActionWeightedTargetArrayOutput) ToGetRouteSpecTcpRouteActionWeightedTargetArrayOutput() GetRouteSpecTcpRouteActionWeightedTargetArrayOutput { return o } -func (o VirtualNodeSpecListenerTimeoutHttpIdlePtrOutput) ToVirtualNodeSpecListenerTimeoutHttpIdlePtrOutputWithContext(ctx context.Context) VirtualNodeSpecListenerTimeoutHttpIdlePtrOutput { +func (o GetRouteSpecTcpRouteActionWeightedTargetArrayOutput) ToGetRouteSpecTcpRouteActionWeightedTargetArrayOutputWithContext(ctx context.Context) GetRouteSpecTcpRouteActionWeightedTargetArrayOutput { return o } -func (o VirtualNodeSpecListenerTimeoutHttpIdlePtrOutput) Elem() VirtualNodeSpecListenerTimeoutHttpIdleOutput { - return o.ApplyT(func(v *VirtualNodeSpecListenerTimeoutHttpIdle) VirtualNodeSpecListenerTimeoutHttpIdle { - if v != nil { - return *v - } - var ret VirtualNodeSpecListenerTimeoutHttpIdle - return ret - }).(VirtualNodeSpecListenerTimeoutHttpIdleOutput) -} - -// Unit of time. Valid values: `ms`, `s`. -func (o VirtualNodeSpecListenerTimeoutHttpIdlePtrOutput) Unit() pulumi.StringPtrOutput { - return o.ApplyT(func(v *VirtualNodeSpecListenerTimeoutHttpIdle) *string { - if v == nil { - return nil - } - return &v.Unit - }).(pulumi.StringPtrOutput) -} - -// Number of time units. Minimum value of `0`. -func (o VirtualNodeSpecListenerTimeoutHttpIdlePtrOutput) Value() pulumi.IntPtrOutput { - return o.ApplyT(func(v *VirtualNodeSpecListenerTimeoutHttpIdle) *int { - if v == nil { - return nil - } - return &v.Value - }).(pulumi.IntPtrOutput) +func (o GetRouteSpecTcpRouteActionWeightedTargetArrayOutput) Index(i pulumi.IntInput) GetRouteSpecTcpRouteActionWeightedTargetOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetRouteSpecTcpRouteActionWeightedTarget { + return vs[0].([]GetRouteSpecTcpRouteActionWeightedTarget)[vs[1].(int)] + }).(GetRouteSpecTcpRouteActionWeightedTargetOutput) } -type VirtualNodeSpecListenerTimeoutHttpPerRequest struct { - // Unit of time. Valid values: `ms`, `s`. - Unit string `pulumi:"unit"` - // The specified value for the JSON. Must be between 1 and 100 characters in length. - Value int `pulumi:"value"` +type GetRouteSpecTcpRouteMatch struct { + Port int `pulumi:"port"` } -// VirtualNodeSpecListenerTimeoutHttpPerRequestInput is an input type that accepts VirtualNodeSpecListenerTimeoutHttpPerRequestArgs and VirtualNodeSpecListenerTimeoutHttpPerRequestOutput values. -// You can construct a concrete instance of `VirtualNodeSpecListenerTimeoutHttpPerRequestInput` via: +// GetRouteSpecTcpRouteMatchInput is an input type that accepts GetRouteSpecTcpRouteMatchArgs and GetRouteSpecTcpRouteMatchOutput values. +// You can construct a concrete instance of `GetRouteSpecTcpRouteMatchInput` via: // -// VirtualNodeSpecListenerTimeoutHttpPerRequestArgs{...} -type VirtualNodeSpecListenerTimeoutHttpPerRequestInput interface { +// GetRouteSpecTcpRouteMatchArgs{...} +type GetRouteSpecTcpRouteMatchInput interface { pulumi.Input - ToVirtualNodeSpecListenerTimeoutHttpPerRequestOutput() VirtualNodeSpecListenerTimeoutHttpPerRequestOutput - ToVirtualNodeSpecListenerTimeoutHttpPerRequestOutputWithContext(context.Context) VirtualNodeSpecListenerTimeoutHttpPerRequestOutput -} - -type VirtualNodeSpecListenerTimeoutHttpPerRequestArgs struct { - // Unit of time. Valid values: `ms`, `s`. - Unit pulumi.StringInput `pulumi:"unit"` - // The specified value for the JSON. Must be between 1 and 100 characters in length. - Value pulumi.IntInput `pulumi:"value"` -} - -func (VirtualNodeSpecListenerTimeoutHttpPerRequestArgs) ElementType() reflect.Type { - return reflect.TypeOf((*VirtualNodeSpecListenerTimeoutHttpPerRequest)(nil)).Elem() + ToGetRouteSpecTcpRouteMatchOutput() GetRouteSpecTcpRouteMatchOutput + ToGetRouteSpecTcpRouteMatchOutputWithContext(context.Context) GetRouteSpecTcpRouteMatchOutput } -func (i VirtualNodeSpecListenerTimeoutHttpPerRequestArgs) ToVirtualNodeSpecListenerTimeoutHttpPerRequestOutput() VirtualNodeSpecListenerTimeoutHttpPerRequestOutput { - return i.ToVirtualNodeSpecListenerTimeoutHttpPerRequestOutputWithContext(context.Background()) +type GetRouteSpecTcpRouteMatchArgs struct { + Port pulumi.IntInput `pulumi:"port"` } -func (i VirtualNodeSpecListenerTimeoutHttpPerRequestArgs) ToVirtualNodeSpecListenerTimeoutHttpPerRequestOutputWithContext(ctx context.Context) VirtualNodeSpecListenerTimeoutHttpPerRequestOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecListenerTimeoutHttpPerRequestOutput) +func (GetRouteSpecTcpRouteMatchArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetRouteSpecTcpRouteMatch)(nil)).Elem() } -func (i VirtualNodeSpecListenerTimeoutHttpPerRequestArgs) ToVirtualNodeSpecListenerTimeoutHttpPerRequestPtrOutput() VirtualNodeSpecListenerTimeoutHttpPerRequestPtrOutput { - return i.ToVirtualNodeSpecListenerTimeoutHttpPerRequestPtrOutputWithContext(context.Background()) +func (i GetRouteSpecTcpRouteMatchArgs) ToGetRouteSpecTcpRouteMatchOutput() GetRouteSpecTcpRouteMatchOutput { + return i.ToGetRouteSpecTcpRouteMatchOutputWithContext(context.Background()) } -func (i VirtualNodeSpecListenerTimeoutHttpPerRequestArgs) ToVirtualNodeSpecListenerTimeoutHttpPerRequestPtrOutputWithContext(ctx context.Context) VirtualNodeSpecListenerTimeoutHttpPerRequestPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecListenerTimeoutHttpPerRequestOutput).ToVirtualNodeSpecListenerTimeoutHttpPerRequestPtrOutputWithContext(ctx) +func (i GetRouteSpecTcpRouteMatchArgs) ToGetRouteSpecTcpRouteMatchOutputWithContext(ctx context.Context) GetRouteSpecTcpRouteMatchOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetRouteSpecTcpRouteMatchOutput) } -// VirtualNodeSpecListenerTimeoutHttpPerRequestPtrInput is an input type that accepts VirtualNodeSpecListenerTimeoutHttpPerRequestArgs, VirtualNodeSpecListenerTimeoutHttpPerRequestPtr and VirtualNodeSpecListenerTimeoutHttpPerRequestPtrOutput values. -// You can construct a concrete instance of `VirtualNodeSpecListenerTimeoutHttpPerRequestPtrInput` via: -// -// VirtualNodeSpecListenerTimeoutHttpPerRequestArgs{...} -// -// or: +// GetRouteSpecTcpRouteMatchArrayInput is an input type that accepts GetRouteSpecTcpRouteMatchArray and GetRouteSpecTcpRouteMatchArrayOutput values. +// You can construct a concrete instance of `GetRouteSpecTcpRouteMatchArrayInput` via: // -// nil -type VirtualNodeSpecListenerTimeoutHttpPerRequestPtrInput interface { +// GetRouteSpecTcpRouteMatchArray{ GetRouteSpecTcpRouteMatchArgs{...} } +type GetRouteSpecTcpRouteMatchArrayInput interface { pulumi.Input - ToVirtualNodeSpecListenerTimeoutHttpPerRequestPtrOutput() VirtualNodeSpecListenerTimeoutHttpPerRequestPtrOutput - ToVirtualNodeSpecListenerTimeoutHttpPerRequestPtrOutputWithContext(context.Context) VirtualNodeSpecListenerTimeoutHttpPerRequestPtrOutput + ToGetRouteSpecTcpRouteMatchArrayOutput() GetRouteSpecTcpRouteMatchArrayOutput + ToGetRouteSpecTcpRouteMatchArrayOutputWithContext(context.Context) GetRouteSpecTcpRouteMatchArrayOutput } -type virtualNodeSpecListenerTimeoutHttpPerRequestPtrType VirtualNodeSpecListenerTimeoutHttpPerRequestArgs - -func VirtualNodeSpecListenerTimeoutHttpPerRequestPtr(v *VirtualNodeSpecListenerTimeoutHttpPerRequestArgs) VirtualNodeSpecListenerTimeoutHttpPerRequestPtrInput { - return (*virtualNodeSpecListenerTimeoutHttpPerRequestPtrType)(v) -} +type GetRouteSpecTcpRouteMatchArray []GetRouteSpecTcpRouteMatchInput -func (*virtualNodeSpecListenerTimeoutHttpPerRequestPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**VirtualNodeSpecListenerTimeoutHttpPerRequest)(nil)).Elem() +func (GetRouteSpecTcpRouteMatchArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetRouteSpecTcpRouteMatch)(nil)).Elem() } -func (i *virtualNodeSpecListenerTimeoutHttpPerRequestPtrType) ToVirtualNodeSpecListenerTimeoutHttpPerRequestPtrOutput() VirtualNodeSpecListenerTimeoutHttpPerRequestPtrOutput { - return i.ToVirtualNodeSpecListenerTimeoutHttpPerRequestPtrOutputWithContext(context.Background()) +func (i GetRouteSpecTcpRouteMatchArray) ToGetRouteSpecTcpRouteMatchArrayOutput() GetRouteSpecTcpRouteMatchArrayOutput { + return i.ToGetRouteSpecTcpRouteMatchArrayOutputWithContext(context.Background()) } -func (i *virtualNodeSpecListenerTimeoutHttpPerRequestPtrType) ToVirtualNodeSpecListenerTimeoutHttpPerRequestPtrOutputWithContext(ctx context.Context) VirtualNodeSpecListenerTimeoutHttpPerRequestPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecListenerTimeoutHttpPerRequestPtrOutput) +func (i GetRouteSpecTcpRouteMatchArray) ToGetRouteSpecTcpRouteMatchArrayOutputWithContext(ctx context.Context) GetRouteSpecTcpRouteMatchArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetRouteSpecTcpRouteMatchArrayOutput) } -type VirtualNodeSpecListenerTimeoutHttpPerRequestOutput struct{ *pulumi.OutputState } +type GetRouteSpecTcpRouteMatchOutput struct{ *pulumi.OutputState } -func (VirtualNodeSpecListenerTimeoutHttpPerRequestOutput) ElementType() reflect.Type { - return reflect.TypeOf((*VirtualNodeSpecListenerTimeoutHttpPerRequest)(nil)).Elem() +func (GetRouteSpecTcpRouteMatchOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetRouteSpecTcpRouteMatch)(nil)).Elem() } -func (o VirtualNodeSpecListenerTimeoutHttpPerRequestOutput) ToVirtualNodeSpecListenerTimeoutHttpPerRequestOutput() VirtualNodeSpecListenerTimeoutHttpPerRequestOutput { +func (o GetRouteSpecTcpRouteMatchOutput) ToGetRouteSpecTcpRouteMatchOutput() GetRouteSpecTcpRouteMatchOutput { return o } -func (o VirtualNodeSpecListenerTimeoutHttpPerRequestOutput) ToVirtualNodeSpecListenerTimeoutHttpPerRequestOutputWithContext(ctx context.Context) VirtualNodeSpecListenerTimeoutHttpPerRequestOutput { +func (o GetRouteSpecTcpRouteMatchOutput) ToGetRouteSpecTcpRouteMatchOutputWithContext(ctx context.Context) GetRouteSpecTcpRouteMatchOutput { return o } -func (o VirtualNodeSpecListenerTimeoutHttpPerRequestOutput) ToVirtualNodeSpecListenerTimeoutHttpPerRequestPtrOutput() VirtualNodeSpecListenerTimeoutHttpPerRequestPtrOutput { - return o.ToVirtualNodeSpecListenerTimeoutHttpPerRequestPtrOutputWithContext(context.Background()) -} - -func (o VirtualNodeSpecListenerTimeoutHttpPerRequestOutput) ToVirtualNodeSpecListenerTimeoutHttpPerRequestPtrOutputWithContext(ctx context.Context) VirtualNodeSpecListenerTimeoutHttpPerRequestPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v VirtualNodeSpecListenerTimeoutHttpPerRequest) *VirtualNodeSpecListenerTimeoutHttpPerRequest { - return &v - }).(VirtualNodeSpecListenerTimeoutHttpPerRequestPtrOutput) -} - -// Unit of time. Valid values: `ms`, `s`. -func (o VirtualNodeSpecListenerTimeoutHttpPerRequestOutput) Unit() pulumi.StringOutput { - return o.ApplyT(func(v VirtualNodeSpecListenerTimeoutHttpPerRequest) string { return v.Unit }).(pulumi.StringOutput) -} - -// The specified value for the JSON. Must be between 1 and 100 characters in length. -func (o VirtualNodeSpecListenerTimeoutHttpPerRequestOutput) Value() pulumi.IntOutput { - return o.ApplyT(func(v VirtualNodeSpecListenerTimeoutHttpPerRequest) int { return v.Value }).(pulumi.IntOutput) +func (o GetRouteSpecTcpRouteMatchOutput) Port() pulumi.IntOutput { + return o.ApplyT(func(v GetRouteSpecTcpRouteMatch) int { return v.Port }).(pulumi.IntOutput) } -type VirtualNodeSpecListenerTimeoutHttpPerRequestPtrOutput struct{ *pulumi.OutputState } +type GetRouteSpecTcpRouteMatchArrayOutput struct{ *pulumi.OutputState } -func (VirtualNodeSpecListenerTimeoutHttpPerRequestPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**VirtualNodeSpecListenerTimeoutHttpPerRequest)(nil)).Elem() +func (GetRouteSpecTcpRouteMatchArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetRouteSpecTcpRouteMatch)(nil)).Elem() } -func (o VirtualNodeSpecListenerTimeoutHttpPerRequestPtrOutput) ToVirtualNodeSpecListenerTimeoutHttpPerRequestPtrOutput() VirtualNodeSpecListenerTimeoutHttpPerRequestPtrOutput { +func (o GetRouteSpecTcpRouteMatchArrayOutput) ToGetRouteSpecTcpRouteMatchArrayOutput() GetRouteSpecTcpRouteMatchArrayOutput { return o } -func (o VirtualNodeSpecListenerTimeoutHttpPerRequestPtrOutput) ToVirtualNodeSpecListenerTimeoutHttpPerRequestPtrOutputWithContext(ctx context.Context) VirtualNodeSpecListenerTimeoutHttpPerRequestPtrOutput { +func (o GetRouteSpecTcpRouteMatchArrayOutput) ToGetRouteSpecTcpRouteMatchArrayOutputWithContext(ctx context.Context) GetRouteSpecTcpRouteMatchArrayOutput { return o } -func (o VirtualNodeSpecListenerTimeoutHttpPerRequestPtrOutput) Elem() VirtualNodeSpecListenerTimeoutHttpPerRequestOutput { - return o.ApplyT(func(v *VirtualNodeSpecListenerTimeoutHttpPerRequest) VirtualNodeSpecListenerTimeoutHttpPerRequest { - if v != nil { - return *v - } - var ret VirtualNodeSpecListenerTimeoutHttpPerRequest - return ret - }).(VirtualNodeSpecListenerTimeoutHttpPerRequestOutput) -} - -// Unit of time. Valid values: `ms`, `s`. -func (o VirtualNodeSpecListenerTimeoutHttpPerRequestPtrOutput) Unit() pulumi.StringPtrOutput { - return o.ApplyT(func(v *VirtualNodeSpecListenerTimeoutHttpPerRequest) *string { - if v == nil { - return nil - } - return &v.Unit - }).(pulumi.StringPtrOutput) -} - -// The specified value for the JSON. Must be between 1 and 100 characters in length. -func (o VirtualNodeSpecListenerTimeoutHttpPerRequestPtrOutput) Value() pulumi.IntPtrOutput { - return o.ApplyT(func(v *VirtualNodeSpecListenerTimeoutHttpPerRequest) *int { - if v == nil { - return nil - } - return &v.Value - }).(pulumi.IntPtrOutput) +func (o GetRouteSpecTcpRouteMatchArrayOutput) Index(i pulumi.IntInput) GetRouteSpecTcpRouteMatchOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetRouteSpecTcpRouteMatch { + return vs[0].([]GetRouteSpecTcpRouteMatch)[vs[1].(int)] + }).(GetRouteSpecTcpRouteMatchOutput) } -type VirtualNodeSpecListenerTimeoutTcp struct { - // Idle timeout. An idle timeout bounds the amount of time that a connection may be idle. - Idle *VirtualNodeSpecListenerTimeoutTcpIdle `pulumi:"idle"` +type GetRouteSpecTcpRouteTimeout struct { + Idles []GetRouteSpecTcpRouteTimeoutIdle `pulumi:"idles"` } -// VirtualNodeSpecListenerTimeoutTcpInput is an input type that accepts VirtualNodeSpecListenerTimeoutTcpArgs and VirtualNodeSpecListenerTimeoutTcpOutput values. -// You can construct a concrete instance of `VirtualNodeSpecListenerTimeoutTcpInput` via: +// GetRouteSpecTcpRouteTimeoutInput is an input type that accepts GetRouteSpecTcpRouteTimeoutArgs and GetRouteSpecTcpRouteTimeoutOutput values. +// You can construct a concrete instance of `GetRouteSpecTcpRouteTimeoutInput` via: // -// VirtualNodeSpecListenerTimeoutTcpArgs{...} -type VirtualNodeSpecListenerTimeoutTcpInput interface { +// GetRouteSpecTcpRouteTimeoutArgs{...} +type GetRouteSpecTcpRouteTimeoutInput interface { pulumi.Input - ToVirtualNodeSpecListenerTimeoutTcpOutput() VirtualNodeSpecListenerTimeoutTcpOutput - ToVirtualNodeSpecListenerTimeoutTcpOutputWithContext(context.Context) VirtualNodeSpecListenerTimeoutTcpOutput -} - -type VirtualNodeSpecListenerTimeoutTcpArgs struct { - // Idle timeout. An idle timeout bounds the amount of time that a connection may be idle. - Idle VirtualNodeSpecListenerTimeoutTcpIdlePtrInput `pulumi:"idle"` -} - -func (VirtualNodeSpecListenerTimeoutTcpArgs) ElementType() reflect.Type { - return reflect.TypeOf((*VirtualNodeSpecListenerTimeoutTcp)(nil)).Elem() + ToGetRouteSpecTcpRouteTimeoutOutput() GetRouteSpecTcpRouteTimeoutOutput + ToGetRouteSpecTcpRouteTimeoutOutputWithContext(context.Context) GetRouteSpecTcpRouteTimeoutOutput } -func (i VirtualNodeSpecListenerTimeoutTcpArgs) ToVirtualNodeSpecListenerTimeoutTcpOutput() VirtualNodeSpecListenerTimeoutTcpOutput { - return i.ToVirtualNodeSpecListenerTimeoutTcpOutputWithContext(context.Background()) +type GetRouteSpecTcpRouteTimeoutArgs struct { + Idles GetRouteSpecTcpRouteTimeoutIdleArrayInput `pulumi:"idles"` } -func (i VirtualNodeSpecListenerTimeoutTcpArgs) ToVirtualNodeSpecListenerTimeoutTcpOutputWithContext(ctx context.Context) VirtualNodeSpecListenerTimeoutTcpOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecListenerTimeoutTcpOutput) +func (GetRouteSpecTcpRouteTimeoutArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetRouteSpecTcpRouteTimeout)(nil)).Elem() } -func (i VirtualNodeSpecListenerTimeoutTcpArgs) ToVirtualNodeSpecListenerTimeoutTcpPtrOutput() VirtualNodeSpecListenerTimeoutTcpPtrOutput { - return i.ToVirtualNodeSpecListenerTimeoutTcpPtrOutputWithContext(context.Background()) +func (i GetRouteSpecTcpRouteTimeoutArgs) ToGetRouteSpecTcpRouteTimeoutOutput() GetRouteSpecTcpRouteTimeoutOutput { + return i.ToGetRouteSpecTcpRouteTimeoutOutputWithContext(context.Background()) } -func (i VirtualNodeSpecListenerTimeoutTcpArgs) ToVirtualNodeSpecListenerTimeoutTcpPtrOutputWithContext(ctx context.Context) VirtualNodeSpecListenerTimeoutTcpPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecListenerTimeoutTcpOutput).ToVirtualNodeSpecListenerTimeoutTcpPtrOutputWithContext(ctx) +func (i GetRouteSpecTcpRouteTimeoutArgs) ToGetRouteSpecTcpRouteTimeoutOutputWithContext(ctx context.Context) GetRouteSpecTcpRouteTimeoutOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetRouteSpecTcpRouteTimeoutOutput) } -// VirtualNodeSpecListenerTimeoutTcpPtrInput is an input type that accepts VirtualNodeSpecListenerTimeoutTcpArgs, VirtualNodeSpecListenerTimeoutTcpPtr and VirtualNodeSpecListenerTimeoutTcpPtrOutput values. -// You can construct a concrete instance of `VirtualNodeSpecListenerTimeoutTcpPtrInput` via: -// -// VirtualNodeSpecListenerTimeoutTcpArgs{...} -// -// or: +// GetRouteSpecTcpRouteTimeoutArrayInput is an input type that accepts GetRouteSpecTcpRouteTimeoutArray and GetRouteSpecTcpRouteTimeoutArrayOutput values. +// You can construct a concrete instance of `GetRouteSpecTcpRouteTimeoutArrayInput` via: // -// nil -type VirtualNodeSpecListenerTimeoutTcpPtrInput interface { +// GetRouteSpecTcpRouteTimeoutArray{ GetRouteSpecTcpRouteTimeoutArgs{...} } +type GetRouteSpecTcpRouteTimeoutArrayInput interface { pulumi.Input - ToVirtualNodeSpecListenerTimeoutTcpPtrOutput() VirtualNodeSpecListenerTimeoutTcpPtrOutput - ToVirtualNodeSpecListenerTimeoutTcpPtrOutputWithContext(context.Context) VirtualNodeSpecListenerTimeoutTcpPtrOutput + ToGetRouteSpecTcpRouteTimeoutArrayOutput() GetRouteSpecTcpRouteTimeoutArrayOutput + ToGetRouteSpecTcpRouteTimeoutArrayOutputWithContext(context.Context) GetRouteSpecTcpRouteTimeoutArrayOutput } -type virtualNodeSpecListenerTimeoutTcpPtrType VirtualNodeSpecListenerTimeoutTcpArgs - -func VirtualNodeSpecListenerTimeoutTcpPtr(v *VirtualNodeSpecListenerTimeoutTcpArgs) VirtualNodeSpecListenerTimeoutTcpPtrInput { - return (*virtualNodeSpecListenerTimeoutTcpPtrType)(v) -} +type GetRouteSpecTcpRouteTimeoutArray []GetRouteSpecTcpRouteTimeoutInput -func (*virtualNodeSpecListenerTimeoutTcpPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**VirtualNodeSpecListenerTimeoutTcp)(nil)).Elem() +func (GetRouteSpecTcpRouteTimeoutArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetRouteSpecTcpRouteTimeout)(nil)).Elem() } -func (i *virtualNodeSpecListenerTimeoutTcpPtrType) ToVirtualNodeSpecListenerTimeoutTcpPtrOutput() VirtualNodeSpecListenerTimeoutTcpPtrOutput { - return i.ToVirtualNodeSpecListenerTimeoutTcpPtrOutputWithContext(context.Background()) +func (i GetRouteSpecTcpRouteTimeoutArray) ToGetRouteSpecTcpRouteTimeoutArrayOutput() GetRouteSpecTcpRouteTimeoutArrayOutput { + return i.ToGetRouteSpecTcpRouteTimeoutArrayOutputWithContext(context.Background()) } -func (i *virtualNodeSpecListenerTimeoutTcpPtrType) ToVirtualNodeSpecListenerTimeoutTcpPtrOutputWithContext(ctx context.Context) VirtualNodeSpecListenerTimeoutTcpPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecListenerTimeoutTcpPtrOutput) +func (i GetRouteSpecTcpRouteTimeoutArray) ToGetRouteSpecTcpRouteTimeoutArrayOutputWithContext(ctx context.Context) GetRouteSpecTcpRouteTimeoutArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetRouteSpecTcpRouteTimeoutArrayOutput) } -type VirtualNodeSpecListenerTimeoutTcpOutput struct{ *pulumi.OutputState } +type GetRouteSpecTcpRouteTimeoutOutput struct{ *pulumi.OutputState } -func (VirtualNodeSpecListenerTimeoutTcpOutput) ElementType() reflect.Type { - return reflect.TypeOf((*VirtualNodeSpecListenerTimeoutTcp)(nil)).Elem() +func (GetRouteSpecTcpRouteTimeoutOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetRouteSpecTcpRouteTimeout)(nil)).Elem() } -func (o VirtualNodeSpecListenerTimeoutTcpOutput) ToVirtualNodeSpecListenerTimeoutTcpOutput() VirtualNodeSpecListenerTimeoutTcpOutput { +func (o GetRouteSpecTcpRouteTimeoutOutput) ToGetRouteSpecTcpRouteTimeoutOutput() GetRouteSpecTcpRouteTimeoutOutput { return o } -func (o VirtualNodeSpecListenerTimeoutTcpOutput) ToVirtualNodeSpecListenerTimeoutTcpOutputWithContext(ctx context.Context) VirtualNodeSpecListenerTimeoutTcpOutput { +func (o GetRouteSpecTcpRouteTimeoutOutput) ToGetRouteSpecTcpRouteTimeoutOutputWithContext(ctx context.Context) GetRouteSpecTcpRouteTimeoutOutput { return o } -func (o VirtualNodeSpecListenerTimeoutTcpOutput) ToVirtualNodeSpecListenerTimeoutTcpPtrOutput() VirtualNodeSpecListenerTimeoutTcpPtrOutput { - return o.ToVirtualNodeSpecListenerTimeoutTcpPtrOutputWithContext(context.Background()) -} - -func (o VirtualNodeSpecListenerTimeoutTcpOutput) ToVirtualNodeSpecListenerTimeoutTcpPtrOutputWithContext(ctx context.Context) VirtualNodeSpecListenerTimeoutTcpPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v VirtualNodeSpecListenerTimeoutTcp) *VirtualNodeSpecListenerTimeoutTcp { - return &v - }).(VirtualNodeSpecListenerTimeoutTcpPtrOutput) -} - -// Idle timeout. An idle timeout bounds the amount of time that a connection may be idle. -func (o VirtualNodeSpecListenerTimeoutTcpOutput) Idle() VirtualNodeSpecListenerTimeoutTcpIdlePtrOutput { - return o.ApplyT(func(v VirtualNodeSpecListenerTimeoutTcp) *VirtualNodeSpecListenerTimeoutTcpIdle { return v.Idle }).(VirtualNodeSpecListenerTimeoutTcpIdlePtrOutput) +func (o GetRouteSpecTcpRouteTimeoutOutput) Idles() GetRouteSpecTcpRouteTimeoutIdleArrayOutput { + return o.ApplyT(func(v GetRouteSpecTcpRouteTimeout) []GetRouteSpecTcpRouteTimeoutIdle { return v.Idles }).(GetRouteSpecTcpRouteTimeoutIdleArrayOutput) } -type VirtualNodeSpecListenerTimeoutTcpPtrOutput struct{ *pulumi.OutputState } +type GetRouteSpecTcpRouteTimeoutArrayOutput struct{ *pulumi.OutputState } -func (VirtualNodeSpecListenerTimeoutTcpPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**VirtualNodeSpecListenerTimeoutTcp)(nil)).Elem() +func (GetRouteSpecTcpRouteTimeoutArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetRouteSpecTcpRouteTimeout)(nil)).Elem() } -func (o VirtualNodeSpecListenerTimeoutTcpPtrOutput) ToVirtualNodeSpecListenerTimeoutTcpPtrOutput() VirtualNodeSpecListenerTimeoutTcpPtrOutput { +func (o GetRouteSpecTcpRouteTimeoutArrayOutput) ToGetRouteSpecTcpRouteTimeoutArrayOutput() GetRouteSpecTcpRouteTimeoutArrayOutput { return o } -func (o VirtualNodeSpecListenerTimeoutTcpPtrOutput) ToVirtualNodeSpecListenerTimeoutTcpPtrOutputWithContext(ctx context.Context) VirtualNodeSpecListenerTimeoutTcpPtrOutput { +func (o GetRouteSpecTcpRouteTimeoutArrayOutput) ToGetRouteSpecTcpRouteTimeoutArrayOutputWithContext(ctx context.Context) GetRouteSpecTcpRouteTimeoutArrayOutput { return o } -func (o VirtualNodeSpecListenerTimeoutTcpPtrOutput) Elem() VirtualNodeSpecListenerTimeoutTcpOutput { - return o.ApplyT(func(v *VirtualNodeSpecListenerTimeoutTcp) VirtualNodeSpecListenerTimeoutTcp { - if v != nil { - return *v - } - var ret VirtualNodeSpecListenerTimeoutTcp - return ret - }).(VirtualNodeSpecListenerTimeoutTcpOutput) -} - -// Idle timeout. An idle timeout bounds the amount of time that a connection may be idle. -func (o VirtualNodeSpecListenerTimeoutTcpPtrOutput) Idle() VirtualNodeSpecListenerTimeoutTcpIdlePtrOutput { - return o.ApplyT(func(v *VirtualNodeSpecListenerTimeoutTcp) *VirtualNodeSpecListenerTimeoutTcpIdle { - if v == nil { - return nil - } - return v.Idle - }).(VirtualNodeSpecListenerTimeoutTcpIdlePtrOutput) +func (o GetRouteSpecTcpRouteTimeoutArrayOutput) Index(i pulumi.IntInput) GetRouteSpecTcpRouteTimeoutOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetRouteSpecTcpRouteTimeout { + return vs[0].([]GetRouteSpecTcpRouteTimeout)[vs[1].(int)] + }).(GetRouteSpecTcpRouteTimeoutOutput) } -type VirtualNodeSpecListenerTimeoutTcpIdle struct { - // Unit of time. Valid values: `ms`, `s`. - Unit string `pulumi:"unit"` - // Number of time units. Minimum value of `0`. - Value int `pulumi:"value"` +type GetRouteSpecTcpRouteTimeoutIdle struct { + Unit string `pulumi:"unit"` + Value int `pulumi:"value"` } -// VirtualNodeSpecListenerTimeoutTcpIdleInput is an input type that accepts VirtualNodeSpecListenerTimeoutTcpIdleArgs and VirtualNodeSpecListenerTimeoutTcpIdleOutput values. -// You can construct a concrete instance of `VirtualNodeSpecListenerTimeoutTcpIdleInput` via: +// GetRouteSpecTcpRouteTimeoutIdleInput is an input type that accepts GetRouteSpecTcpRouteTimeoutIdleArgs and GetRouteSpecTcpRouteTimeoutIdleOutput values. +// You can construct a concrete instance of `GetRouteSpecTcpRouteTimeoutIdleInput` via: // -// VirtualNodeSpecListenerTimeoutTcpIdleArgs{...} -type VirtualNodeSpecListenerTimeoutTcpIdleInput interface { +// GetRouteSpecTcpRouteTimeoutIdleArgs{...} +type GetRouteSpecTcpRouteTimeoutIdleInput interface { pulumi.Input - ToVirtualNodeSpecListenerTimeoutTcpIdleOutput() VirtualNodeSpecListenerTimeoutTcpIdleOutput - ToVirtualNodeSpecListenerTimeoutTcpIdleOutputWithContext(context.Context) VirtualNodeSpecListenerTimeoutTcpIdleOutput -} - -type VirtualNodeSpecListenerTimeoutTcpIdleArgs struct { - // Unit of time. Valid values: `ms`, `s`. - Unit pulumi.StringInput `pulumi:"unit"` - // Number of time units. Minimum value of `0`. - Value pulumi.IntInput `pulumi:"value"` -} - -func (VirtualNodeSpecListenerTimeoutTcpIdleArgs) ElementType() reflect.Type { - return reflect.TypeOf((*VirtualNodeSpecListenerTimeoutTcpIdle)(nil)).Elem() + ToGetRouteSpecTcpRouteTimeoutIdleOutput() GetRouteSpecTcpRouteTimeoutIdleOutput + ToGetRouteSpecTcpRouteTimeoutIdleOutputWithContext(context.Context) GetRouteSpecTcpRouteTimeoutIdleOutput } -func (i VirtualNodeSpecListenerTimeoutTcpIdleArgs) ToVirtualNodeSpecListenerTimeoutTcpIdleOutput() VirtualNodeSpecListenerTimeoutTcpIdleOutput { - return i.ToVirtualNodeSpecListenerTimeoutTcpIdleOutputWithContext(context.Background()) +type GetRouteSpecTcpRouteTimeoutIdleArgs struct { + Unit pulumi.StringInput `pulumi:"unit"` + Value pulumi.IntInput `pulumi:"value"` } -func (i VirtualNodeSpecListenerTimeoutTcpIdleArgs) ToVirtualNodeSpecListenerTimeoutTcpIdleOutputWithContext(ctx context.Context) VirtualNodeSpecListenerTimeoutTcpIdleOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecListenerTimeoutTcpIdleOutput) +func (GetRouteSpecTcpRouteTimeoutIdleArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetRouteSpecTcpRouteTimeoutIdle)(nil)).Elem() } -func (i VirtualNodeSpecListenerTimeoutTcpIdleArgs) ToVirtualNodeSpecListenerTimeoutTcpIdlePtrOutput() VirtualNodeSpecListenerTimeoutTcpIdlePtrOutput { - return i.ToVirtualNodeSpecListenerTimeoutTcpIdlePtrOutputWithContext(context.Background()) +func (i GetRouteSpecTcpRouteTimeoutIdleArgs) ToGetRouteSpecTcpRouteTimeoutIdleOutput() GetRouteSpecTcpRouteTimeoutIdleOutput { + return i.ToGetRouteSpecTcpRouteTimeoutIdleOutputWithContext(context.Background()) } -func (i VirtualNodeSpecListenerTimeoutTcpIdleArgs) ToVirtualNodeSpecListenerTimeoutTcpIdlePtrOutputWithContext(ctx context.Context) VirtualNodeSpecListenerTimeoutTcpIdlePtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecListenerTimeoutTcpIdleOutput).ToVirtualNodeSpecListenerTimeoutTcpIdlePtrOutputWithContext(ctx) +func (i GetRouteSpecTcpRouteTimeoutIdleArgs) ToGetRouteSpecTcpRouteTimeoutIdleOutputWithContext(ctx context.Context) GetRouteSpecTcpRouteTimeoutIdleOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetRouteSpecTcpRouteTimeoutIdleOutput) } -// VirtualNodeSpecListenerTimeoutTcpIdlePtrInput is an input type that accepts VirtualNodeSpecListenerTimeoutTcpIdleArgs, VirtualNodeSpecListenerTimeoutTcpIdlePtr and VirtualNodeSpecListenerTimeoutTcpIdlePtrOutput values. -// You can construct a concrete instance of `VirtualNodeSpecListenerTimeoutTcpIdlePtrInput` via: -// -// VirtualNodeSpecListenerTimeoutTcpIdleArgs{...} -// -// or: +// GetRouteSpecTcpRouteTimeoutIdleArrayInput is an input type that accepts GetRouteSpecTcpRouteTimeoutIdleArray and GetRouteSpecTcpRouteTimeoutIdleArrayOutput values. +// You can construct a concrete instance of `GetRouteSpecTcpRouteTimeoutIdleArrayInput` via: // -// nil -type VirtualNodeSpecListenerTimeoutTcpIdlePtrInput interface { +// GetRouteSpecTcpRouteTimeoutIdleArray{ GetRouteSpecTcpRouteTimeoutIdleArgs{...} } +type GetRouteSpecTcpRouteTimeoutIdleArrayInput interface { pulumi.Input - ToVirtualNodeSpecListenerTimeoutTcpIdlePtrOutput() VirtualNodeSpecListenerTimeoutTcpIdlePtrOutput - ToVirtualNodeSpecListenerTimeoutTcpIdlePtrOutputWithContext(context.Context) VirtualNodeSpecListenerTimeoutTcpIdlePtrOutput + ToGetRouteSpecTcpRouteTimeoutIdleArrayOutput() GetRouteSpecTcpRouteTimeoutIdleArrayOutput + ToGetRouteSpecTcpRouteTimeoutIdleArrayOutputWithContext(context.Context) GetRouteSpecTcpRouteTimeoutIdleArrayOutput } -type virtualNodeSpecListenerTimeoutTcpIdlePtrType VirtualNodeSpecListenerTimeoutTcpIdleArgs - -func VirtualNodeSpecListenerTimeoutTcpIdlePtr(v *VirtualNodeSpecListenerTimeoutTcpIdleArgs) VirtualNodeSpecListenerTimeoutTcpIdlePtrInput { - return (*virtualNodeSpecListenerTimeoutTcpIdlePtrType)(v) -} +type GetRouteSpecTcpRouteTimeoutIdleArray []GetRouteSpecTcpRouteTimeoutIdleInput -func (*virtualNodeSpecListenerTimeoutTcpIdlePtrType) ElementType() reflect.Type { - return reflect.TypeOf((**VirtualNodeSpecListenerTimeoutTcpIdle)(nil)).Elem() +func (GetRouteSpecTcpRouteTimeoutIdleArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetRouteSpecTcpRouteTimeoutIdle)(nil)).Elem() } -func (i *virtualNodeSpecListenerTimeoutTcpIdlePtrType) ToVirtualNodeSpecListenerTimeoutTcpIdlePtrOutput() VirtualNodeSpecListenerTimeoutTcpIdlePtrOutput { - return i.ToVirtualNodeSpecListenerTimeoutTcpIdlePtrOutputWithContext(context.Background()) +func (i GetRouteSpecTcpRouteTimeoutIdleArray) ToGetRouteSpecTcpRouteTimeoutIdleArrayOutput() GetRouteSpecTcpRouteTimeoutIdleArrayOutput { + return i.ToGetRouteSpecTcpRouteTimeoutIdleArrayOutputWithContext(context.Background()) } -func (i *virtualNodeSpecListenerTimeoutTcpIdlePtrType) ToVirtualNodeSpecListenerTimeoutTcpIdlePtrOutputWithContext(ctx context.Context) VirtualNodeSpecListenerTimeoutTcpIdlePtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecListenerTimeoutTcpIdlePtrOutput) +func (i GetRouteSpecTcpRouteTimeoutIdleArray) ToGetRouteSpecTcpRouteTimeoutIdleArrayOutputWithContext(ctx context.Context) GetRouteSpecTcpRouteTimeoutIdleArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetRouteSpecTcpRouteTimeoutIdleArrayOutput) } -type VirtualNodeSpecListenerTimeoutTcpIdleOutput struct{ *pulumi.OutputState } +type GetRouteSpecTcpRouteTimeoutIdleOutput struct{ *pulumi.OutputState } -func (VirtualNodeSpecListenerTimeoutTcpIdleOutput) ElementType() reflect.Type { - return reflect.TypeOf((*VirtualNodeSpecListenerTimeoutTcpIdle)(nil)).Elem() +func (GetRouteSpecTcpRouteTimeoutIdleOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetRouteSpecTcpRouteTimeoutIdle)(nil)).Elem() } -func (o VirtualNodeSpecListenerTimeoutTcpIdleOutput) ToVirtualNodeSpecListenerTimeoutTcpIdleOutput() VirtualNodeSpecListenerTimeoutTcpIdleOutput { +func (o GetRouteSpecTcpRouteTimeoutIdleOutput) ToGetRouteSpecTcpRouteTimeoutIdleOutput() GetRouteSpecTcpRouteTimeoutIdleOutput { return o } -func (o VirtualNodeSpecListenerTimeoutTcpIdleOutput) ToVirtualNodeSpecListenerTimeoutTcpIdleOutputWithContext(ctx context.Context) VirtualNodeSpecListenerTimeoutTcpIdleOutput { +func (o GetRouteSpecTcpRouteTimeoutIdleOutput) ToGetRouteSpecTcpRouteTimeoutIdleOutputWithContext(ctx context.Context) GetRouteSpecTcpRouteTimeoutIdleOutput { return o } -func (o VirtualNodeSpecListenerTimeoutTcpIdleOutput) ToVirtualNodeSpecListenerTimeoutTcpIdlePtrOutput() VirtualNodeSpecListenerTimeoutTcpIdlePtrOutput { - return o.ToVirtualNodeSpecListenerTimeoutTcpIdlePtrOutputWithContext(context.Background()) -} - -func (o VirtualNodeSpecListenerTimeoutTcpIdleOutput) ToVirtualNodeSpecListenerTimeoutTcpIdlePtrOutputWithContext(ctx context.Context) VirtualNodeSpecListenerTimeoutTcpIdlePtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v VirtualNodeSpecListenerTimeoutTcpIdle) *VirtualNodeSpecListenerTimeoutTcpIdle { - return &v - }).(VirtualNodeSpecListenerTimeoutTcpIdlePtrOutput) -} - -// Unit of time. Valid values: `ms`, `s`. -func (o VirtualNodeSpecListenerTimeoutTcpIdleOutput) Unit() pulumi.StringOutput { - return o.ApplyT(func(v VirtualNodeSpecListenerTimeoutTcpIdle) string { return v.Unit }).(pulumi.StringOutput) +func (o GetRouteSpecTcpRouteTimeoutIdleOutput) Unit() pulumi.StringOutput { + return o.ApplyT(func(v GetRouteSpecTcpRouteTimeoutIdle) string { return v.Unit }).(pulumi.StringOutput) } -// Number of time units. Minimum value of `0`. -func (o VirtualNodeSpecListenerTimeoutTcpIdleOutput) Value() pulumi.IntOutput { - return o.ApplyT(func(v VirtualNodeSpecListenerTimeoutTcpIdle) int { return v.Value }).(pulumi.IntOutput) +func (o GetRouteSpecTcpRouteTimeoutIdleOutput) Value() pulumi.IntOutput { + return o.ApplyT(func(v GetRouteSpecTcpRouteTimeoutIdle) int { return v.Value }).(pulumi.IntOutput) } -type VirtualNodeSpecListenerTimeoutTcpIdlePtrOutput struct{ *pulumi.OutputState } +type GetRouteSpecTcpRouteTimeoutIdleArrayOutput struct{ *pulumi.OutputState } -func (VirtualNodeSpecListenerTimeoutTcpIdlePtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**VirtualNodeSpecListenerTimeoutTcpIdle)(nil)).Elem() +func (GetRouteSpecTcpRouteTimeoutIdleArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetRouteSpecTcpRouteTimeoutIdle)(nil)).Elem() } -func (o VirtualNodeSpecListenerTimeoutTcpIdlePtrOutput) ToVirtualNodeSpecListenerTimeoutTcpIdlePtrOutput() VirtualNodeSpecListenerTimeoutTcpIdlePtrOutput { +func (o GetRouteSpecTcpRouteTimeoutIdleArrayOutput) ToGetRouteSpecTcpRouteTimeoutIdleArrayOutput() GetRouteSpecTcpRouteTimeoutIdleArrayOutput { return o } -func (o VirtualNodeSpecListenerTimeoutTcpIdlePtrOutput) ToVirtualNodeSpecListenerTimeoutTcpIdlePtrOutputWithContext(ctx context.Context) VirtualNodeSpecListenerTimeoutTcpIdlePtrOutput { +func (o GetRouteSpecTcpRouteTimeoutIdleArrayOutput) ToGetRouteSpecTcpRouteTimeoutIdleArrayOutputWithContext(ctx context.Context) GetRouteSpecTcpRouteTimeoutIdleArrayOutput { return o } -func (o VirtualNodeSpecListenerTimeoutTcpIdlePtrOutput) Elem() VirtualNodeSpecListenerTimeoutTcpIdleOutput { - return o.ApplyT(func(v *VirtualNodeSpecListenerTimeoutTcpIdle) VirtualNodeSpecListenerTimeoutTcpIdle { - if v != nil { - return *v - } - var ret VirtualNodeSpecListenerTimeoutTcpIdle - return ret - }).(VirtualNodeSpecListenerTimeoutTcpIdleOutput) -} - -// Unit of time. Valid values: `ms`, `s`. -func (o VirtualNodeSpecListenerTimeoutTcpIdlePtrOutput) Unit() pulumi.StringPtrOutput { - return o.ApplyT(func(v *VirtualNodeSpecListenerTimeoutTcpIdle) *string { - if v == nil { - return nil - } - return &v.Unit - }).(pulumi.StringPtrOutput) -} - -// Number of time units. Minimum value of `0`. -func (o VirtualNodeSpecListenerTimeoutTcpIdlePtrOutput) Value() pulumi.IntPtrOutput { - return o.ApplyT(func(v *VirtualNodeSpecListenerTimeoutTcpIdle) *int { - if v == nil { - return nil - } - return &v.Value - }).(pulumi.IntPtrOutput) +func (o GetRouteSpecTcpRouteTimeoutIdleArrayOutput) Index(i pulumi.IntInput) GetRouteSpecTcpRouteTimeoutIdleOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetRouteSpecTcpRouteTimeoutIdle { + return vs[0].([]GetRouteSpecTcpRouteTimeoutIdle)[vs[1].(int)] + }).(GetRouteSpecTcpRouteTimeoutIdleOutput) } -type VirtualNodeSpecListenerTls struct { - // Listener's TLS certificate. - Certificate VirtualNodeSpecListenerTlsCertificate `pulumi:"certificate"` - // Listener's TLS mode. Valid values: `DISABLED`, `PERMISSIVE`, `STRICT`. - Mode string `pulumi:"mode"` - // Listener's Transport Layer Security (TLS) validation context. - Validation *VirtualNodeSpecListenerTlsValidation `pulumi:"validation"` +type GetVirtualGatewaySpec struct { + BackendDefaults []GetVirtualGatewaySpecBackendDefault `pulumi:"backendDefaults"` + Listeners []GetVirtualGatewaySpecListener `pulumi:"listeners"` + Loggings []GetVirtualGatewaySpecLogging `pulumi:"loggings"` } -// VirtualNodeSpecListenerTlsInput is an input type that accepts VirtualNodeSpecListenerTlsArgs and VirtualNodeSpecListenerTlsOutput values. -// You can construct a concrete instance of `VirtualNodeSpecListenerTlsInput` via: +// GetVirtualGatewaySpecInput is an input type that accepts GetVirtualGatewaySpecArgs and GetVirtualGatewaySpecOutput values. +// You can construct a concrete instance of `GetVirtualGatewaySpecInput` via: // -// VirtualNodeSpecListenerTlsArgs{...} -type VirtualNodeSpecListenerTlsInput interface { +// GetVirtualGatewaySpecArgs{...} +type GetVirtualGatewaySpecInput interface { pulumi.Input - ToVirtualNodeSpecListenerTlsOutput() VirtualNodeSpecListenerTlsOutput - ToVirtualNodeSpecListenerTlsOutputWithContext(context.Context) VirtualNodeSpecListenerTlsOutput -} - -type VirtualNodeSpecListenerTlsArgs struct { - // Listener's TLS certificate. - Certificate VirtualNodeSpecListenerTlsCertificateInput `pulumi:"certificate"` - // Listener's TLS mode. Valid values: `DISABLED`, `PERMISSIVE`, `STRICT`. - Mode pulumi.StringInput `pulumi:"mode"` - // Listener's Transport Layer Security (TLS) validation context. - Validation VirtualNodeSpecListenerTlsValidationPtrInput `pulumi:"validation"` -} - -func (VirtualNodeSpecListenerTlsArgs) ElementType() reflect.Type { - return reflect.TypeOf((*VirtualNodeSpecListenerTls)(nil)).Elem() + ToGetVirtualGatewaySpecOutput() GetVirtualGatewaySpecOutput + ToGetVirtualGatewaySpecOutputWithContext(context.Context) GetVirtualGatewaySpecOutput } -func (i VirtualNodeSpecListenerTlsArgs) ToVirtualNodeSpecListenerTlsOutput() VirtualNodeSpecListenerTlsOutput { - return i.ToVirtualNodeSpecListenerTlsOutputWithContext(context.Background()) +type GetVirtualGatewaySpecArgs struct { + BackendDefaults GetVirtualGatewaySpecBackendDefaultArrayInput `pulumi:"backendDefaults"` + Listeners GetVirtualGatewaySpecListenerArrayInput `pulumi:"listeners"` + Loggings GetVirtualGatewaySpecLoggingArrayInput `pulumi:"loggings"` } -func (i VirtualNodeSpecListenerTlsArgs) ToVirtualNodeSpecListenerTlsOutputWithContext(ctx context.Context) VirtualNodeSpecListenerTlsOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecListenerTlsOutput) +func (GetVirtualGatewaySpecArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetVirtualGatewaySpec)(nil)).Elem() } -func (i VirtualNodeSpecListenerTlsArgs) ToVirtualNodeSpecListenerTlsPtrOutput() VirtualNodeSpecListenerTlsPtrOutput { - return i.ToVirtualNodeSpecListenerTlsPtrOutputWithContext(context.Background()) +func (i GetVirtualGatewaySpecArgs) ToGetVirtualGatewaySpecOutput() GetVirtualGatewaySpecOutput { + return i.ToGetVirtualGatewaySpecOutputWithContext(context.Background()) } -func (i VirtualNodeSpecListenerTlsArgs) ToVirtualNodeSpecListenerTlsPtrOutputWithContext(ctx context.Context) VirtualNodeSpecListenerTlsPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecListenerTlsOutput).ToVirtualNodeSpecListenerTlsPtrOutputWithContext(ctx) +func (i GetVirtualGatewaySpecArgs) ToGetVirtualGatewaySpecOutputWithContext(ctx context.Context) GetVirtualGatewaySpecOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetVirtualGatewaySpecOutput) } -// VirtualNodeSpecListenerTlsPtrInput is an input type that accepts VirtualNodeSpecListenerTlsArgs, VirtualNodeSpecListenerTlsPtr and VirtualNodeSpecListenerTlsPtrOutput values. -// You can construct a concrete instance of `VirtualNodeSpecListenerTlsPtrInput` via: -// -// VirtualNodeSpecListenerTlsArgs{...} -// -// or: +// GetVirtualGatewaySpecArrayInput is an input type that accepts GetVirtualGatewaySpecArray and GetVirtualGatewaySpecArrayOutput values. +// You can construct a concrete instance of `GetVirtualGatewaySpecArrayInput` via: // -// nil -type VirtualNodeSpecListenerTlsPtrInput interface { +// GetVirtualGatewaySpecArray{ GetVirtualGatewaySpecArgs{...} } +type GetVirtualGatewaySpecArrayInput interface { pulumi.Input - ToVirtualNodeSpecListenerTlsPtrOutput() VirtualNodeSpecListenerTlsPtrOutput - ToVirtualNodeSpecListenerTlsPtrOutputWithContext(context.Context) VirtualNodeSpecListenerTlsPtrOutput + ToGetVirtualGatewaySpecArrayOutput() GetVirtualGatewaySpecArrayOutput + ToGetVirtualGatewaySpecArrayOutputWithContext(context.Context) GetVirtualGatewaySpecArrayOutput } -type virtualNodeSpecListenerTlsPtrType VirtualNodeSpecListenerTlsArgs - -func VirtualNodeSpecListenerTlsPtr(v *VirtualNodeSpecListenerTlsArgs) VirtualNodeSpecListenerTlsPtrInput { - return (*virtualNodeSpecListenerTlsPtrType)(v) -} +type GetVirtualGatewaySpecArray []GetVirtualGatewaySpecInput -func (*virtualNodeSpecListenerTlsPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**VirtualNodeSpecListenerTls)(nil)).Elem() +func (GetVirtualGatewaySpecArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetVirtualGatewaySpec)(nil)).Elem() } -func (i *virtualNodeSpecListenerTlsPtrType) ToVirtualNodeSpecListenerTlsPtrOutput() VirtualNodeSpecListenerTlsPtrOutput { - return i.ToVirtualNodeSpecListenerTlsPtrOutputWithContext(context.Background()) +func (i GetVirtualGatewaySpecArray) ToGetVirtualGatewaySpecArrayOutput() GetVirtualGatewaySpecArrayOutput { + return i.ToGetVirtualGatewaySpecArrayOutputWithContext(context.Background()) } -func (i *virtualNodeSpecListenerTlsPtrType) ToVirtualNodeSpecListenerTlsPtrOutputWithContext(ctx context.Context) VirtualNodeSpecListenerTlsPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecListenerTlsPtrOutput) +func (i GetVirtualGatewaySpecArray) ToGetVirtualGatewaySpecArrayOutputWithContext(ctx context.Context) GetVirtualGatewaySpecArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetVirtualGatewaySpecArrayOutput) } -type VirtualNodeSpecListenerTlsOutput struct{ *pulumi.OutputState } +type GetVirtualGatewaySpecOutput struct{ *pulumi.OutputState } -func (VirtualNodeSpecListenerTlsOutput) ElementType() reflect.Type { - return reflect.TypeOf((*VirtualNodeSpecListenerTls)(nil)).Elem() +func (GetVirtualGatewaySpecOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetVirtualGatewaySpec)(nil)).Elem() } -func (o VirtualNodeSpecListenerTlsOutput) ToVirtualNodeSpecListenerTlsOutput() VirtualNodeSpecListenerTlsOutput { +func (o GetVirtualGatewaySpecOutput) ToGetVirtualGatewaySpecOutput() GetVirtualGatewaySpecOutput { return o } -func (o VirtualNodeSpecListenerTlsOutput) ToVirtualNodeSpecListenerTlsOutputWithContext(ctx context.Context) VirtualNodeSpecListenerTlsOutput { +func (o GetVirtualGatewaySpecOutput) ToGetVirtualGatewaySpecOutputWithContext(ctx context.Context) GetVirtualGatewaySpecOutput { return o } -func (o VirtualNodeSpecListenerTlsOutput) ToVirtualNodeSpecListenerTlsPtrOutput() VirtualNodeSpecListenerTlsPtrOutput { - return o.ToVirtualNodeSpecListenerTlsPtrOutputWithContext(context.Background()) +func (o GetVirtualGatewaySpecOutput) BackendDefaults() GetVirtualGatewaySpecBackendDefaultArrayOutput { + return o.ApplyT(func(v GetVirtualGatewaySpec) []GetVirtualGatewaySpecBackendDefault { return v.BackendDefaults }).(GetVirtualGatewaySpecBackendDefaultArrayOutput) } -func (o VirtualNodeSpecListenerTlsOutput) ToVirtualNodeSpecListenerTlsPtrOutputWithContext(ctx context.Context) VirtualNodeSpecListenerTlsPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v VirtualNodeSpecListenerTls) *VirtualNodeSpecListenerTls { - return &v - }).(VirtualNodeSpecListenerTlsPtrOutput) +func (o GetVirtualGatewaySpecOutput) Listeners() GetVirtualGatewaySpecListenerArrayOutput { + return o.ApplyT(func(v GetVirtualGatewaySpec) []GetVirtualGatewaySpecListener { return v.Listeners }).(GetVirtualGatewaySpecListenerArrayOutput) } -// Listener's TLS certificate. -func (o VirtualNodeSpecListenerTlsOutput) Certificate() VirtualNodeSpecListenerTlsCertificateOutput { - return o.ApplyT(func(v VirtualNodeSpecListenerTls) VirtualNodeSpecListenerTlsCertificate { return v.Certificate }).(VirtualNodeSpecListenerTlsCertificateOutput) +func (o GetVirtualGatewaySpecOutput) Loggings() GetVirtualGatewaySpecLoggingArrayOutput { + return o.ApplyT(func(v GetVirtualGatewaySpec) []GetVirtualGatewaySpecLogging { return v.Loggings }).(GetVirtualGatewaySpecLoggingArrayOutput) } -// Listener's TLS mode. Valid values: `DISABLED`, `PERMISSIVE`, `STRICT`. -func (o VirtualNodeSpecListenerTlsOutput) Mode() pulumi.StringOutput { - return o.ApplyT(func(v VirtualNodeSpecListenerTls) string { return v.Mode }).(pulumi.StringOutput) -} +type GetVirtualGatewaySpecArrayOutput struct{ *pulumi.OutputState } -// Listener's Transport Layer Security (TLS) validation context. -func (o VirtualNodeSpecListenerTlsOutput) Validation() VirtualNodeSpecListenerTlsValidationPtrOutput { - return o.ApplyT(func(v VirtualNodeSpecListenerTls) *VirtualNodeSpecListenerTlsValidation { return v.Validation }).(VirtualNodeSpecListenerTlsValidationPtrOutput) +func (GetVirtualGatewaySpecArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetVirtualGatewaySpec)(nil)).Elem() } -type VirtualNodeSpecListenerTlsPtrOutput struct{ *pulumi.OutputState } - -func (VirtualNodeSpecListenerTlsPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**VirtualNodeSpecListenerTls)(nil)).Elem() +func (o GetVirtualGatewaySpecArrayOutput) ToGetVirtualGatewaySpecArrayOutput() GetVirtualGatewaySpecArrayOutput { + return o } -func (o VirtualNodeSpecListenerTlsPtrOutput) ToVirtualNodeSpecListenerTlsPtrOutput() VirtualNodeSpecListenerTlsPtrOutput { +func (o GetVirtualGatewaySpecArrayOutput) ToGetVirtualGatewaySpecArrayOutputWithContext(ctx context.Context) GetVirtualGatewaySpecArrayOutput { return o } -func (o VirtualNodeSpecListenerTlsPtrOutput) ToVirtualNodeSpecListenerTlsPtrOutputWithContext(ctx context.Context) VirtualNodeSpecListenerTlsPtrOutput { - return o +func (o GetVirtualGatewaySpecArrayOutput) Index(i pulumi.IntInput) GetVirtualGatewaySpecOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetVirtualGatewaySpec { + return vs[0].([]GetVirtualGatewaySpec)[vs[1].(int)] + }).(GetVirtualGatewaySpecOutput) } -func (o VirtualNodeSpecListenerTlsPtrOutput) Elem() VirtualNodeSpecListenerTlsOutput { - return o.ApplyT(func(v *VirtualNodeSpecListenerTls) VirtualNodeSpecListenerTls { - if v != nil { - return *v - } - var ret VirtualNodeSpecListenerTls - return ret - }).(VirtualNodeSpecListenerTlsOutput) +type GetVirtualGatewaySpecBackendDefault struct { + ClientPolicies []GetVirtualGatewaySpecBackendDefaultClientPolicy `pulumi:"clientPolicies"` } -// Listener's TLS certificate. -func (o VirtualNodeSpecListenerTlsPtrOutput) Certificate() VirtualNodeSpecListenerTlsCertificatePtrOutput { - return o.ApplyT(func(v *VirtualNodeSpecListenerTls) *VirtualNodeSpecListenerTlsCertificate { - if v == nil { - return nil - } - return &v.Certificate - }).(VirtualNodeSpecListenerTlsCertificatePtrOutput) +// GetVirtualGatewaySpecBackendDefaultInput is an input type that accepts GetVirtualGatewaySpecBackendDefaultArgs and GetVirtualGatewaySpecBackendDefaultOutput values. +// You can construct a concrete instance of `GetVirtualGatewaySpecBackendDefaultInput` via: +// +// GetVirtualGatewaySpecBackendDefaultArgs{...} +type GetVirtualGatewaySpecBackendDefaultInput interface { + pulumi.Input + + ToGetVirtualGatewaySpecBackendDefaultOutput() GetVirtualGatewaySpecBackendDefaultOutput + ToGetVirtualGatewaySpecBackendDefaultOutputWithContext(context.Context) GetVirtualGatewaySpecBackendDefaultOutput } -// Listener's TLS mode. Valid values: `DISABLED`, `PERMISSIVE`, `STRICT`. -func (o VirtualNodeSpecListenerTlsPtrOutput) Mode() pulumi.StringPtrOutput { - return o.ApplyT(func(v *VirtualNodeSpecListenerTls) *string { - if v == nil { - return nil - } - return &v.Mode - }).(pulumi.StringPtrOutput) +type GetVirtualGatewaySpecBackendDefaultArgs struct { + ClientPolicies GetVirtualGatewaySpecBackendDefaultClientPolicyArrayInput `pulumi:"clientPolicies"` } -// Listener's Transport Layer Security (TLS) validation context. -func (o VirtualNodeSpecListenerTlsPtrOutput) Validation() VirtualNodeSpecListenerTlsValidationPtrOutput { - return o.ApplyT(func(v *VirtualNodeSpecListenerTls) *VirtualNodeSpecListenerTlsValidation { - if v == nil { - return nil - } - return v.Validation - }).(VirtualNodeSpecListenerTlsValidationPtrOutput) +func (GetVirtualGatewaySpecBackendDefaultArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetVirtualGatewaySpecBackendDefault)(nil)).Elem() } -type VirtualNodeSpecListenerTlsCertificate struct { - // An AWS Certificate Manager (ACM) certificate. - Acm *VirtualNodeSpecListenerTlsCertificateAcm `pulumi:"acm"` - // Local file certificate. - File *VirtualNodeSpecListenerTlsCertificateFile `pulumi:"file"` - // A [Secret Discovery Service](https://www.envoyproxy.io/docs/envoy/latest/configuration/security/secret#secret-discovery-service-sds) certificate. - Sds *VirtualNodeSpecListenerTlsCertificateSds `pulumi:"sds"` +func (i GetVirtualGatewaySpecBackendDefaultArgs) ToGetVirtualGatewaySpecBackendDefaultOutput() GetVirtualGatewaySpecBackendDefaultOutput { + return i.ToGetVirtualGatewaySpecBackendDefaultOutputWithContext(context.Background()) } -// VirtualNodeSpecListenerTlsCertificateInput is an input type that accepts VirtualNodeSpecListenerTlsCertificateArgs and VirtualNodeSpecListenerTlsCertificateOutput values. -// You can construct a concrete instance of `VirtualNodeSpecListenerTlsCertificateInput` via: +func (i GetVirtualGatewaySpecBackendDefaultArgs) ToGetVirtualGatewaySpecBackendDefaultOutputWithContext(ctx context.Context) GetVirtualGatewaySpecBackendDefaultOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetVirtualGatewaySpecBackendDefaultOutput) +} + +// GetVirtualGatewaySpecBackendDefaultArrayInput is an input type that accepts GetVirtualGatewaySpecBackendDefaultArray and GetVirtualGatewaySpecBackendDefaultArrayOutput values. +// You can construct a concrete instance of `GetVirtualGatewaySpecBackendDefaultArrayInput` via: // -// VirtualNodeSpecListenerTlsCertificateArgs{...} -type VirtualNodeSpecListenerTlsCertificateInput interface { +// GetVirtualGatewaySpecBackendDefaultArray{ GetVirtualGatewaySpecBackendDefaultArgs{...} } +type GetVirtualGatewaySpecBackendDefaultArrayInput interface { pulumi.Input - ToVirtualNodeSpecListenerTlsCertificateOutput() VirtualNodeSpecListenerTlsCertificateOutput - ToVirtualNodeSpecListenerTlsCertificateOutputWithContext(context.Context) VirtualNodeSpecListenerTlsCertificateOutput + ToGetVirtualGatewaySpecBackendDefaultArrayOutput() GetVirtualGatewaySpecBackendDefaultArrayOutput + ToGetVirtualGatewaySpecBackendDefaultArrayOutputWithContext(context.Context) GetVirtualGatewaySpecBackendDefaultArrayOutput } -type VirtualNodeSpecListenerTlsCertificateArgs struct { - // An AWS Certificate Manager (ACM) certificate. - Acm VirtualNodeSpecListenerTlsCertificateAcmPtrInput `pulumi:"acm"` - // Local file certificate. - File VirtualNodeSpecListenerTlsCertificateFilePtrInput `pulumi:"file"` - // A [Secret Discovery Service](https://www.envoyproxy.io/docs/envoy/latest/configuration/security/secret#secret-discovery-service-sds) certificate. - Sds VirtualNodeSpecListenerTlsCertificateSdsPtrInput `pulumi:"sds"` -} +type GetVirtualGatewaySpecBackendDefaultArray []GetVirtualGatewaySpecBackendDefaultInput -func (VirtualNodeSpecListenerTlsCertificateArgs) ElementType() reflect.Type { - return reflect.TypeOf((*VirtualNodeSpecListenerTlsCertificate)(nil)).Elem() +func (GetVirtualGatewaySpecBackendDefaultArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetVirtualGatewaySpecBackendDefault)(nil)).Elem() } -func (i VirtualNodeSpecListenerTlsCertificateArgs) ToVirtualNodeSpecListenerTlsCertificateOutput() VirtualNodeSpecListenerTlsCertificateOutput { - return i.ToVirtualNodeSpecListenerTlsCertificateOutputWithContext(context.Background()) +func (i GetVirtualGatewaySpecBackendDefaultArray) ToGetVirtualGatewaySpecBackendDefaultArrayOutput() GetVirtualGatewaySpecBackendDefaultArrayOutput { + return i.ToGetVirtualGatewaySpecBackendDefaultArrayOutputWithContext(context.Background()) } -func (i VirtualNodeSpecListenerTlsCertificateArgs) ToVirtualNodeSpecListenerTlsCertificateOutputWithContext(ctx context.Context) VirtualNodeSpecListenerTlsCertificateOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecListenerTlsCertificateOutput) +func (i GetVirtualGatewaySpecBackendDefaultArray) ToGetVirtualGatewaySpecBackendDefaultArrayOutputWithContext(ctx context.Context) GetVirtualGatewaySpecBackendDefaultArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetVirtualGatewaySpecBackendDefaultArrayOutput) } -func (i VirtualNodeSpecListenerTlsCertificateArgs) ToVirtualNodeSpecListenerTlsCertificatePtrOutput() VirtualNodeSpecListenerTlsCertificatePtrOutput { - return i.ToVirtualNodeSpecListenerTlsCertificatePtrOutputWithContext(context.Background()) +type GetVirtualGatewaySpecBackendDefaultOutput struct{ *pulumi.OutputState } + +func (GetVirtualGatewaySpecBackendDefaultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetVirtualGatewaySpecBackendDefault)(nil)).Elem() } -func (i VirtualNodeSpecListenerTlsCertificateArgs) ToVirtualNodeSpecListenerTlsCertificatePtrOutputWithContext(ctx context.Context) VirtualNodeSpecListenerTlsCertificatePtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecListenerTlsCertificateOutput).ToVirtualNodeSpecListenerTlsCertificatePtrOutputWithContext(ctx) +func (o GetVirtualGatewaySpecBackendDefaultOutput) ToGetVirtualGatewaySpecBackendDefaultOutput() GetVirtualGatewaySpecBackendDefaultOutput { + return o } -// VirtualNodeSpecListenerTlsCertificatePtrInput is an input type that accepts VirtualNodeSpecListenerTlsCertificateArgs, VirtualNodeSpecListenerTlsCertificatePtr and VirtualNodeSpecListenerTlsCertificatePtrOutput values. -// You can construct a concrete instance of `VirtualNodeSpecListenerTlsCertificatePtrInput` via: -// -// VirtualNodeSpecListenerTlsCertificateArgs{...} -// -// or: -// -// nil -type VirtualNodeSpecListenerTlsCertificatePtrInput interface { - pulumi.Input +func (o GetVirtualGatewaySpecBackendDefaultOutput) ToGetVirtualGatewaySpecBackendDefaultOutputWithContext(ctx context.Context) GetVirtualGatewaySpecBackendDefaultOutput { + return o +} - ToVirtualNodeSpecListenerTlsCertificatePtrOutput() VirtualNodeSpecListenerTlsCertificatePtrOutput - ToVirtualNodeSpecListenerTlsCertificatePtrOutputWithContext(context.Context) VirtualNodeSpecListenerTlsCertificatePtrOutput +func (o GetVirtualGatewaySpecBackendDefaultOutput) ClientPolicies() GetVirtualGatewaySpecBackendDefaultClientPolicyArrayOutput { + return o.ApplyT(func(v GetVirtualGatewaySpecBackendDefault) []GetVirtualGatewaySpecBackendDefaultClientPolicy { + return v.ClientPolicies + }).(GetVirtualGatewaySpecBackendDefaultClientPolicyArrayOutput) } -type virtualNodeSpecListenerTlsCertificatePtrType VirtualNodeSpecListenerTlsCertificateArgs +type GetVirtualGatewaySpecBackendDefaultArrayOutput struct{ *pulumi.OutputState } -func VirtualNodeSpecListenerTlsCertificatePtr(v *VirtualNodeSpecListenerTlsCertificateArgs) VirtualNodeSpecListenerTlsCertificatePtrInput { - return (*virtualNodeSpecListenerTlsCertificatePtrType)(v) +func (GetVirtualGatewaySpecBackendDefaultArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetVirtualGatewaySpecBackendDefault)(nil)).Elem() } -func (*virtualNodeSpecListenerTlsCertificatePtrType) ElementType() reflect.Type { - return reflect.TypeOf((**VirtualNodeSpecListenerTlsCertificate)(nil)).Elem() +func (o GetVirtualGatewaySpecBackendDefaultArrayOutput) ToGetVirtualGatewaySpecBackendDefaultArrayOutput() GetVirtualGatewaySpecBackendDefaultArrayOutput { + return o } -func (i *virtualNodeSpecListenerTlsCertificatePtrType) ToVirtualNodeSpecListenerTlsCertificatePtrOutput() VirtualNodeSpecListenerTlsCertificatePtrOutput { - return i.ToVirtualNodeSpecListenerTlsCertificatePtrOutputWithContext(context.Background()) +func (o GetVirtualGatewaySpecBackendDefaultArrayOutput) ToGetVirtualGatewaySpecBackendDefaultArrayOutputWithContext(ctx context.Context) GetVirtualGatewaySpecBackendDefaultArrayOutput { + return o } -func (i *virtualNodeSpecListenerTlsCertificatePtrType) ToVirtualNodeSpecListenerTlsCertificatePtrOutputWithContext(ctx context.Context) VirtualNodeSpecListenerTlsCertificatePtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecListenerTlsCertificatePtrOutput) +func (o GetVirtualGatewaySpecBackendDefaultArrayOutput) Index(i pulumi.IntInput) GetVirtualGatewaySpecBackendDefaultOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetVirtualGatewaySpecBackendDefault { + return vs[0].([]GetVirtualGatewaySpecBackendDefault)[vs[1].(int)] + }).(GetVirtualGatewaySpecBackendDefaultOutput) } -type VirtualNodeSpecListenerTlsCertificateOutput struct{ *pulumi.OutputState } +type GetVirtualGatewaySpecBackendDefaultClientPolicy struct { + Tls []GetVirtualGatewaySpecBackendDefaultClientPolicyTl `pulumi:"tls"` +} -func (VirtualNodeSpecListenerTlsCertificateOutput) ElementType() reflect.Type { - return reflect.TypeOf((*VirtualNodeSpecListenerTlsCertificate)(nil)).Elem() +// GetVirtualGatewaySpecBackendDefaultClientPolicyInput is an input type that accepts GetVirtualGatewaySpecBackendDefaultClientPolicyArgs and GetVirtualGatewaySpecBackendDefaultClientPolicyOutput values. +// You can construct a concrete instance of `GetVirtualGatewaySpecBackendDefaultClientPolicyInput` via: +// +// GetVirtualGatewaySpecBackendDefaultClientPolicyArgs{...} +type GetVirtualGatewaySpecBackendDefaultClientPolicyInput interface { + pulumi.Input + + ToGetVirtualGatewaySpecBackendDefaultClientPolicyOutput() GetVirtualGatewaySpecBackendDefaultClientPolicyOutput + ToGetVirtualGatewaySpecBackendDefaultClientPolicyOutputWithContext(context.Context) GetVirtualGatewaySpecBackendDefaultClientPolicyOutput } -func (o VirtualNodeSpecListenerTlsCertificateOutput) ToVirtualNodeSpecListenerTlsCertificateOutput() VirtualNodeSpecListenerTlsCertificateOutput { - return o +type GetVirtualGatewaySpecBackendDefaultClientPolicyArgs struct { + Tls GetVirtualGatewaySpecBackendDefaultClientPolicyTlArrayInput `pulumi:"tls"` } -func (o VirtualNodeSpecListenerTlsCertificateOutput) ToVirtualNodeSpecListenerTlsCertificateOutputWithContext(ctx context.Context) VirtualNodeSpecListenerTlsCertificateOutput { - return o +func (GetVirtualGatewaySpecBackendDefaultClientPolicyArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetVirtualGatewaySpecBackendDefaultClientPolicy)(nil)).Elem() } -func (o VirtualNodeSpecListenerTlsCertificateOutput) ToVirtualNodeSpecListenerTlsCertificatePtrOutput() VirtualNodeSpecListenerTlsCertificatePtrOutput { - return o.ToVirtualNodeSpecListenerTlsCertificatePtrOutputWithContext(context.Background()) +func (i GetVirtualGatewaySpecBackendDefaultClientPolicyArgs) ToGetVirtualGatewaySpecBackendDefaultClientPolicyOutput() GetVirtualGatewaySpecBackendDefaultClientPolicyOutput { + return i.ToGetVirtualGatewaySpecBackendDefaultClientPolicyOutputWithContext(context.Background()) } -func (o VirtualNodeSpecListenerTlsCertificateOutput) ToVirtualNodeSpecListenerTlsCertificatePtrOutputWithContext(ctx context.Context) VirtualNodeSpecListenerTlsCertificatePtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v VirtualNodeSpecListenerTlsCertificate) *VirtualNodeSpecListenerTlsCertificate { - return &v - }).(VirtualNodeSpecListenerTlsCertificatePtrOutput) +func (i GetVirtualGatewaySpecBackendDefaultClientPolicyArgs) ToGetVirtualGatewaySpecBackendDefaultClientPolicyOutputWithContext(ctx context.Context) GetVirtualGatewaySpecBackendDefaultClientPolicyOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetVirtualGatewaySpecBackendDefaultClientPolicyOutput) } -// An AWS Certificate Manager (ACM) certificate. -func (o VirtualNodeSpecListenerTlsCertificateOutput) Acm() VirtualNodeSpecListenerTlsCertificateAcmPtrOutput { - return o.ApplyT(func(v VirtualNodeSpecListenerTlsCertificate) *VirtualNodeSpecListenerTlsCertificateAcm { return v.Acm }).(VirtualNodeSpecListenerTlsCertificateAcmPtrOutput) +// GetVirtualGatewaySpecBackendDefaultClientPolicyArrayInput is an input type that accepts GetVirtualGatewaySpecBackendDefaultClientPolicyArray and GetVirtualGatewaySpecBackendDefaultClientPolicyArrayOutput values. +// You can construct a concrete instance of `GetVirtualGatewaySpecBackendDefaultClientPolicyArrayInput` via: +// +// GetVirtualGatewaySpecBackendDefaultClientPolicyArray{ GetVirtualGatewaySpecBackendDefaultClientPolicyArgs{...} } +type GetVirtualGatewaySpecBackendDefaultClientPolicyArrayInput interface { + pulumi.Input + + ToGetVirtualGatewaySpecBackendDefaultClientPolicyArrayOutput() GetVirtualGatewaySpecBackendDefaultClientPolicyArrayOutput + ToGetVirtualGatewaySpecBackendDefaultClientPolicyArrayOutputWithContext(context.Context) GetVirtualGatewaySpecBackendDefaultClientPolicyArrayOutput } -// Local file certificate. -func (o VirtualNodeSpecListenerTlsCertificateOutput) File() VirtualNodeSpecListenerTlsCertificateFilePtrOutput { - return o.ApplyT(func(v VirtualNodeSpecListenerTlsCertificate) *VirtualNodeSpecListenerTlsCertificateFile { - return v.File - }).(VirtualNodeSpecListenerTlsCertificateFilePtrOutput) +type GetVirtualGatewaySpecBackendDefaultClientPolicyArray []GetVirtualGatewaySpecBackendDefaultClientPolicyInput + +func (GetVirtualGatewaySpecBackendDefaultClientPolicyArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetVirtualGatewaySpecBackendDefaultClientPolicy)(nil)).Elem() } -// A [Secret Discovery Service](https://www.envoyproxy.io/docs/envoy/latest/configuration/security/secret#secret-discovery-service-sds) certificate. -func (o VirtualNodeSpecListenerTlsCertificateOutput) Sds() VirtualNodeSpecListenerTlsCertificateSdsPtrOutput { - return o.ApplyT(func(v VirtualNodeSpecListenerTlsCertificate) *VirtualNodeSpecListenerTlsCertificateSds { return v.Sds }).(VirtualNodeSpecListenerTlsCertificateSdsPtrOutput) +func (i GetVirtualGatewaySpecBackendDefaultClientPolicyArray) ToGetVirtualGatewaySpecBackendDefaultClientPolicyArrayOutput() GetVirtualGatewaySpecBackendDefaultClientPolicyArrayOutput { + return i.ToGetVirtualGatewaySpecBackendDefaultClientPolicyArrayOutputWithContext(context.Background()) } -type VirtualNodeSpecListenerTlsCertificatePtrOutput struct{ *pulumi.OutputState } +func (i GetVirtualGatewaySpecBackendDefaultClientPolicyArray) ToGetVirtualGatewaySpecBackendDefaultClientPolicyArrayOutputWithContext(ctx context.Context) GetVirtualGatewaySpecBackendDefaultClientPolicyArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetVirtualGatewaySpecBackendDefaultClientPolicyArrayOutput) +} -func (VirtualNodeSpecListenerTlsCertificatePtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**VirtualNodeSpecListenerTlsCertificate)(nil)).Elem() +type GetVirtualGatewaySpecBackendDefaultClientPolicyOutput struct{ *pulumi.OutputState } + +func (GetVirtualGatewaySpecBackendDefaultClientPolicyOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetVirtualGatewaySpecBackendDefaultClientPolicy)(nil)).Elem() } -func (o VirtualNodeSpecListenerTlsCertificatePtrOutput) ToVirtualNodeSpecListenerTlsCertificatePtrOutput() VirtualNodeSpecListenerTlsCertificatePtrOutput { +func (o GetVirtualGatewaySpecBackendDefaultClientPolicyOutput) ToGetVirtualGatewaySpecBackendDefaultClientPolicyOutput() GetVirtualGatewaySpecBackendDefaultClientPolicyOutput { return o } -func (o VirtualNodeSpecListenerTlsCertificatePtrOutput) ToVirtualNodeSpecListenerTlsCertificatePtrOutputWithContext(ctx context.Context) VirtualNodeSpecListenerTlsCertificatePtrOutput { +func (o GetVirtualGatewaySpecBackendDefaultClientPolicyOutput) ToGetVirtualGatewaySpecBackendDefaultClientPolicyOutputWithContext(ctx context.Context) GetVirtualGatewaySpecBackendDefaultClientPolicyOutput { return o } -func (o VirtualNodeSpecListenerTlsCertificatePtrOutput) Elem() VirtualNodeSpecListenerTlsCertificateOutput { - return o.ApplyT(func(v *VirtualNodeSpecListenerTlsCertificate) VirtualNodeSpecListenerTlsCertificate { - if v != nil { - return *v - } - var ret VirtualNodeSpecListenerTlsCertificate - return ret - }).(VirtualNodeSpecListenerTlsCertificateOutput) +func (o GetVirtualGatewaySpecBackendDefaultClientPolicyOutput) Tls() GetVirtualGatewaySpecBackendDefaultClientPolicyTlArrayOutput { + return o.ApplyT(func(v GetVirtualGatewaySpecBackendDefaultClientPolicy) []GetVirtualGatewaySpecBackendDefaultClientPolicyTl { + return v.Tls + }).(GetVirtualGatewaySpecBackendDefaultClientPolicyTlArrayOutput) } -// An AWS Certificate Manager (ACM) certificate. -func (o VirtualNodeSpecListenerTlsCertificatePtrOutput) Acm() VirtualNodeSpecListenerTlsCertificateAcmPtrOutput { - return o.ApplyT(func(v *VirtualNodeSpecListenerTlsCertificate) *VirtualNodeSpecListenerTlsCertificateAcm { - if v == nil { - return nil - } - return v.Acm - }).(VirtualNodeSpecListenerTlsCertificateAcmPtrOutput) -} +type GetVirtualGatewaySpecBackendDefaultClientPolicyArrayOutput struct{ *pulumi.OutputState } -// Local file certificate. -func (o VirtualNodeSpecListenerTlsCertificatePtrOutput) File() VirtualNodeSpecListenerTlsCertificateFilePtrOutput { - return o.ApplyT(func(v *VirtualNodeSpecListenerTlsCertificate) *VirtualNodeSpecListenerTlsCertificateFile { - if v == nil { - return nil - } - return v.File - }).(VirtualNodeSpecListenerTlsCertificateFilePtrOutput) +func (GetVirtualGatewaySpecBackendDefaultClientPolicyArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetVirtualGatewaySpecBackendDefaultClientPolicy)(nil)).Elem() } -// A [Secret Discovery Service](https://www.envoyproxy.io/docs/envoy/latest/configuration/security/secret#secret-discovery-service-sds) certificate. -func (o VirtualNodeSpecListenerTlsCertificatePtrOutput) Sds() VirtualNodeSpecListenerTlsCertificateSdsPtrOutput { - return o.ApplyT(func(v *VirtualNodeSpecListenerTlsCertificate) *VirtualNodeSpecListenerTlsCertificateSds { - if v == nil { - return nil - } - return v.Sds - }).(VirtualNodeSpecListenerTlsCertificateSdsPtrOutput) +func (o GetVirtualGatewaySpecBackendDefaultClientPolicyArrayOutput) ToGetVirtualGatewaySpecBackendDefaultClientPolicyArrayOutput() GetVirtualGatewaySpecBackendDefaultClientPolicyArrayOutput { + return o } -type VirtualNodeSpecListenerTlsCertificateAcm struct { - // ARN for the certificate. - CertificateArn string `pulumi:"certificateArn"` +func (o GetVirtualGatewaySpecBackendDefaultClientPolicyArrayOutput) ToGetVirtualGatewaySpecBackendDefaultClientPolicyArrayOutputWithContext(ctx context.Context) GetVirtualGatewaySpecBackendDefaultClientPolicyArrayOutput { + return o } -// VirtualNodeSpecListenerTlsCertificateAcmInput is an input type that accepts VirtualNodeSpecListenerTlsCertificateAcmArgs and VirtualNodeSpecListenerTlsCertificateAcmOutput values. -// You can construct a concrete instance of `VirtualNodeSpecListenerTlsCertificateAcmInput` via: -// -// VirtualNodeSpecListenerTlsCertificateAcmArgs{...} -type VirtualNodeSpecListenerTlsCertificateAcmInput interface { - pulumi.Input - - ToVirtualNodeSpecListenerTlsCertificateAcmOutput() VirtualNodeSpecListenerTlsCertificateAcmOutput - ToVirtualNodeSpecListenerTlsCertificateAcmOutputWithContext(context.Context) VirtualNodeSpecListenerTlsCertificateAcmOutput +func (o GetVirtualGatewaySpecBackendDefaultClientPolicyArrayOutput) Index(i pulumi.IntInput) GetVirtualGatewaySpecBackendDefaultClientPolicyOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetVirtualGatewaySpecBackendDefaultClientPolicy { + return vs[0].([]GetVirtualGatewaySpecBackendDefaultClientPolicy)[vs[1].(int)] + }).(GetVirtualGatewaySpecBackendDefaultClientPolicyOutput) } -type VirtualNodeSpecListenerTlsCertificateAcmArgs struct { - // ARN for the certificate. - CertificateArn pulumi.StringInput `pulumi:"certificateArn"` +type GetVirtualGatewaySpecBackendDefaultClientPolicyTl struct { + Certificates []GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificate `pulumi:"certificates"` + Enforce bool `pulumi:"enforce"` + Ports []int `pulumi:"ports"` + Validations []GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidation `pulumi:"validations"` } -func (VirtualNodeSpecListenerTlsCertificateAcmArgs) ElementType() reflect.Type { - return reflect.TypeOf((*VirtualNodeSpecListenerTlsCertificateAcm)(nil)).Elem() +// GetVirtualGatewaySpecBackendDefaultClientPolicyTlInput is an input type that accepts GetVirtualGatewaySpecBackendDefaultClientPolicyTlArgs and GetVirtualGatewaySpecBackendDefaultClientPolicyTlOutput values. +// You can construct a concrete instance of `GetVirtualGatewaySpecBackendDefaultClientPolicyTlInput` via: +// +// GetVirtualGatewaySpecBackendDefaultClientPolicyTlArgs{...} +type GetVirtualGatewaySpecBackendDefaultClientPolicyTlInput interface { + pulumi.Input + + ToGetVirtualGatewaySpecBackendDefaultClientPolicyTlOutput() GetVirtualGatewaySpecBackendDefaultClientPolicyTlOutput + ToGetVirtualGatewaySpecBackendDefaultClientPolicyTlOutputWithContext(context.Context) GetVirtualGatewaySpecBackendDefaultClientPolicyTlOutput } -func (i VirtualNodeSpecListenerTlsCertificateAcmArgs) ToVirtualNodeSpecListenerTlsCertificateAcmOutput() VirtualNodeSpecListenerTlsCertificateAcmOutput { - return i.ToVirtualNodeSpecListenerTlsCertificateAcmOutputWithContext(context.Background()) +type GetVirtualGatewaySpecBackendDefaultClientPolicyTlArgs struct { + Certificates GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateArrayInput `pulumi:"certificates"` + Enforce pulumi.BoolInput `pulumi:"enforce"` + Ports pulumi.IntArrayInput `pulumi:"ports"` + Validations GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationArrayInput `pulumi:"validations"` } -func (i VirtualNodeSpecListenerTlsCertificateAcmArgs) ToVirtualNodeSpecListenerTlsCertificateAcmOutputWithContext(ctx context.Context) VirtualNodeSpecListenerTlsCertificateAcmOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecListenerTlsCertificateAcmOutput) +func (GetVirtualGatewaySpecBackendDefaultClientPolicyTlArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetVirtualGatewaySpecBackendDefaultClientPolicyTl)(nil)).Elem() } -func (i VirtualNodeSpecListenerTlsCertificateAcmArgs) ToVirtualNodeSpecListenerTlsCertificateAcmPtrOutput() VirtualNodeSpecListenerTlsCertificateAcmPtrOutput { - return i.ToVirtualNodeSpecListenerTlsCertificateAcmPtrOutputWithContext(context.Background()) +func (i GetVirtualGatewaySpecBackendDefaultClientPolicyTlArgs) ToGetVirtualGatewaySpecBackendDefaultClientPolicyTlOutput() GetVirtualGatewaySpecBackendDefaultClientPolicyTlOutput { + return i.ToGetVirtualGatewaySpecBackendDefaultClientPolicyTlOutputWithContext(context.Background()) } -func (i VirtualNodeSpecListenerTlsCertificateAcmArgs) ToVirtualNodeSpecListenerTlsCertificateAcmPtrOutputWithContext(ctx context.Context) VirtualNodeSpecListenerTlsCertificateAcmPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecListenerTlsCertificateAcmOutput).ToVirtualNodeSpecListenerTlsCertificateAcmPtrOutputWithContext(ctx) +func (i GetVirtualGatewaySpecBackendDefaultClientPolicyTlArgs) ToGetVirtualGatewaySpecBackendDefaultClientPolicyTlOutputWithContext(ctx context.Context) GetVirtualGatewaySpecBackendDefaultClientPolicyTlOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetVirtualGatewaySpecBackendDefaultClientPolicyTlOutput) } -// VirtualNodeSpecListenerTlsCertificateAcmPtrInput is an input type that accepts VirtualNodeSpecListenerTlsCertificateAcmArgs, VirtualNodeSpecListenerTlsCertificateAcmPtr and VirtualNodeSpecListenerTlsCertificateAcmPtrOutput values. -// You can construct a concrete instance of `VirtualNodeSpecListenerTlsCertificateAcmPtrInput` via: -// -// VirtualNodeSpecListenerTlsCertificateAcmArgs{...} -// -// or: +// GetVirtualGatewaySpecBackendDefaultClientPolicyTlArrayInput is an input type that accepts GetVirtualGatewaySpecBackendDefaultClientPolicyTlArray and GetVirtualGatewaySpecBackendDefaultClientPolicyTlArrayOutput values. +// You can construct a concrete instance of `GetVirtualGatewaySpecBackendDefaultClientPolicyTlArrayInput` via: // -// nil -type VirtualNodeSpecListenerTlsCertificateAcmPtrInput interface { +// GetVirtualGatewaySpecBackendDefaultClientPolicyTlArray{ GetVirtualGatewaySpecBackendDefaultClientPolicyTlArgs{...} } +type GetVirtualGatewaySpecBackendDefaultClientPolicyTlArrayInput interface { pulumi.Input - ToVirtualNodeSpecListenerTlsCertificateAcmPtrOutput() VirtualNodeSpecListenerTlsCertificateAcmPtrOutput - ToVirtualNodeSpecListenerTlsCertificateAcmPtrOutputWithContext(context.Context) VirtualNodeSpecListenerTlsCertificateAcmPtrOutput + ToGetVirtualGatewaySpecBackendDefaultClientPolicyTlArrayOutput() GetVirtualGatewaySpecBackendDefaultClientPolicyTlArrayOutput + ToGetVirtualGatewaySpecBackendDefaultClientPolicyTlArrayOutputWithContext(context.Context) GetVirtualGatewaySpecBackendDefaultClientPolicyTlArrayOutput } -type virtualNodeSpecListenerTlsCertificateAcmPtrType VirtualNodeSpecListenerTlsCertificateAcmArgs - -func VirtualNodeSpecListenerTlsCertificateAcmPtr(v *VirtualNodeSpecListenerTlsCertificateAcmArgs) VirtualNodeSpecListenerTlsCertificateAcmPtrInput { - return (*virtualNodeSpecListenerTlsCertificateAcmPtrType)(v) -} +type GetVirtualGatewaySpecBackendDefaultClientPolicyTlArray []GetVirtualGatewaySpecBackendDefaultClientPolicyTlInput -func (*virtualNodeSpecListenerTlsCertificateAcmPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**VirtualNodeSpecListenerTlsCertificateAcm)(nil)).Elem() +func (GetVirtualGatewaySpecBackendDefaultClientPolicyTlArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetVirtualGatewaySpecBackendDefaultClientPolicyTl)(nil)).Elem() } -func (i *virtualNodeSpecListenerTlsCertificateAcmPtrType) ToVirtualNodeSpecListenerTlsCertificateAcmPtrOutput() VirtualNodeSpecListenerTlsCertificateAcmPtrOutput { - return i.ToVirtualNodeSpecListenerTlsCertificateAcmPtrOutputWithContext(context.Background()) +func (i GetVirtualGatewaySpecBackendDefaultClientPolicyTlArray) ToGetVirtualGatewaySpecBackendDefaultClientPolicyTlArrayOutput() GetVirtualGatewaySpecBackendDefaultClientPolicyTlArrayOutput { + return i.ToGetVirtualGatewaySpecBackendDefaultClientPolicyTlArrayOutputWithContext(context.Background()) } -func (i *virtualNodeSpecListenerTlsCertificateAcmPtrType) ToVirtualNodeSpecListenerTlsCertificateAcmPtrOutputWithContext(ctx context.Context) VirtualNodeSpecListenerTlsCertificateAcmPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecListenerTlsCertificateAcmPtrOutput) +func (i GetVirtualGatewaySpecBackendDefaultClientPolicyTlArray) ToGetVirtualGatewaySpecBackendDefaultClientPolicyTlArrayOutputWithContext(ctx context.Context) GetVirtualGatewaySpecBackendDefaultClientPolicyTlArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetVirtualGatewaySpecBackendDefaultClientPolicyTlArrayOutput) } -type VirtualNodeSpecListenerTlsCertificateAcmOutput struct{ *pulumi.OutputState } +type GetVirtualGatewaySpecBackendDefaultClientPolicyTlOutput struct{ *pulumi.OutputState } -func (VirtualNodeSpecListenerTlsCertificateAcmOutput) ElementType() reflect.Type { - return reflect.TypeOf((*VirtualNodeSpecListenerTlsCertificateAcm)(nil)).Elem() +func (GetVirtualGatewaySpecBackendDefaultClientPolicyTlOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetVirtualGatewaySpecBackendDefaultClientPolicyTl)(nil)).Elem() } -func (o VirtualNodeSpecListenerTlsCertificateAcmOutput) ToVirtualNodeSpecListenerTlsCertificateAcmOutput() VirtualNodeSpecListenerTlsCertificateAcmOutput { +func (o GetVirtualGatewaySpecBackendDefaultClientPolicyTlOutput) ToGetVirtualGatewaySpecBackendDefaultClientPolicyTlOutput() GetVirtualGatewaySpecBackendDefaultClientPolicyTlOutput { return o } -func (o VirtualNodeSpecListenerTlsCertificateAcmOutput) ToVirtualNodeSpecListenerTlsCertificateAcmOutputWithContext(ctx context.Context) VirtualNodeSpecListenerTlsCertificateAcmOutput { +func (o GetVirtualGatewaySpecBackendDefaultClientPolicyTlOutput) ToGetVirtualGatewaySpecBackendDefaultClientPolicyTlOutputWithContext(ctx context.Context) GetVirtualGatewaySpecBackendDefaultClientPolicyTlOutput { return o } -func (o VirtualNodeSpecListenerTlsCertificateAcmOutput) ToVirtualNodeSpecListenerTlsCertificateAcmPtrOutput() VirtualNodeSpecListenerTlsCertificateAcmPtrOutput { - return o.ToVirtualNodeSpecListenerTlsCertificateAcmPtrOutputWithContext(context.Background()) +func (o GetVirtualGatewaySpecBackendDefaultClientPolicyTlOutput) Certificates() GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateArrayOutput { + return o.ApplyT(func(v GetVirtualGatewaySpecBackendDefaultClientPolicyTl) []GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificate { + return v.Certificates + }).(GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateArrayOutput) } -func (o VirtualNodeSpecListenerTlsCertificateAcmOutput) ToVirtualNodeSpecListenerTlsCertificateAcmPtrOutputWithContext(ctx context.Context) VirtualNodeSpecListenerTlsCertificateAcmPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v VirtualNodeSpecListenerTlsCertificateAcm) *VirtualNodeSpecListenerTlsCertificateAcm { - return &v - }).(VirtualNodeSpecListenerTlsCertificateAcmPtrOutput) +func (o GetVirtualGatewaySpecBackendDefaultClientPolicyTlOutput) Enforce() pulumi.BoolOutput { + return o.ApplyT(func(v GetVirtualGatewaySpecBackendDefaultClientPolicyTl) bool { return v.Enforce }).(pulumi.BoolOutput) } -// ARN for the certificate. -func (o VirtualNodeSpecListenerTlsCertificateAcmOutput) CertificateArn() pulumi.StringOutput { - return o.ApplyT(func(v VirtualNodeSpecListenerTlsCertificateAcm) string { return v.CertificateArn }).(pulumi.StringOutput) +func (o GetVirtualGatewaySpecBackendDefaultClientPolicyTlOutput) Ports() pulumi.IntArrayOutput { + return o.ApplyT(func(v GetVirtualGatewaySpecBackendDefaultClientPolicyTl) []int { return v.Ports }).(pulumi.IntArrayOutput) } -type VirtualNodeSpecListenerTlsCertificateAcmPtrOutput struct{ *pulumi.OutputState } - -func (VirtualNodeSpecListenerTlsCertificateAcmPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**VirtualNodeSpecListenerTlsCertificateAcm)(nil)).Elem() +func (o GetVirtualGatewaySpecBackendDefaultClientPolicyTlOutput) Validations() GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationArrayOutput { + return o.ApplyT(func(v GetVirtualGatewaySpecBackendDefaultClientPolicyTl) []GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidation { + return v.Validations + }).(GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationArrayOutput) } -func (o VirtualNodeSpecListenerTlsCertificateAcmPtrOutput) ToVirtualNodeSpecListenerTlsCertificateAcmPtrOutput() VirtualNodeSpecListenerTlsCertificateAcmPtrOutput { - return o +type GetVirtualGatewaySpecBackendDefaultClientPolicyTlArrayOutput struct{ *pulumi.OutputState } + +func (GetVirtualGatewaySpecBackendDefaultClientPolicyTlArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetVirtualGatewaySpecBackendDefaultClientPolicyTl)(nil)).Elem() } -func (o VirtualNodeSpecListenerTlsCertificateAcmPtrOutput) ToVirtualNodeSpecListenerTlsCertificateAcmPtrOutputWithContext(ctx context.Context) VirtualNodeSpecListenerTlsCertificateAcmPtrOutput { +func (o GetVirtualGatewaySpecBackendDefaultClientPolicyTlArrayOutput) ToGetVirtualGatewaySpecBackendDefaultClientPolicyTlArrayOutput() GetVirtualGatewaySpecBackendDefaultClientPolicyTlArrayOutput { return o } -func (o VirtualNodeSpecListenerTlsCertificateAcmPtrOutput) Elem() VirtualNodeSpecListenerTlsCertificateAcmOutput { - return o.ApplyT(func(v *VirtualNodeSpecListenerTlsCertificateAcm) VirtualNodeSpecListenerTlsCertificateAcm { - if v != nil { - return *v - } - var ret VirtualNodeSpecListenerTlsCertificateAcm - return ret - }).(VirtualNodeSpecListenerTlsCertificateAcmOutput) +func (o GetVirtualGatewaySpecBackendDefaultClientPolicyTlArrayOutput) ToGetVirtualGatewaySpecBackendDefaultClientPolicyTlArrayOutputWithContext(ctx context.Context) GetVirtualGatewaySpecBackendDefaultClientPolicyTlArrayOutput { + return o } -// ARN for the certificate. -func (o VirtualNodeSpecListenerTlsCertificateAcmPtrOutput) CertificateArn() pulumi.StringPtrOutput { - return o.ApplyT(func(v *VirtualNodeSpecListenerTlsCertificateAcm) *string { - if v == nil { - return nil - } - return &v.CertificateArn - }).(pulumi.StringPtrOutput) +func (o GetVirtualGatewaySpecBackendDefaultClientPolicyTlArrayOutput) Index(i pulumi.IntInput) GetVirtualGatewaySpecBackendDefaultClientPolicyTlOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetVirtualGatewaySpecBackendDefaultClientPolicyTl { + return vs[0].([]GetVirtualGatewaySpecBackendDefaultClientPolicyTl)[vs[1].(int)] + }).(GetVirtualGatewaySpecBackendDefaultClientPolicyTlOutput) } -type VirtualNodeSpecListenerTlsCertificateFile struct { - // Certificate trust chain for a certificate stored on the file system of the mesh endpoint that the proxy is running on. Must be between 1 and 255 characters in length. - CertificateChain string `pulumi:"certificateChain"` - // Private key for a certificate stored on the file system of the virtual node that the proxy is running on. Must be between 1 and 255 characters in length. - PrivateKey string `pulumi:"privateKey"` +type GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificate struct { + Files []GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateFile `pulumi:"files"` + Sds []GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateSd `pulumi:"sds"` } -// VirtualNodeSpecListenerTlsCertificateFileInput is an input type that accepts VirtualNodeSpecListenerTlsCertificateFileArgs and VirtualNodeSpecListenerTlsCertificateFileOutput values. -// You can construct a concrete instance of `VirtualNodeSpecListenerTlsCertificateFileInput` via: +// GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateInput is an input type that accepts GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateArgs and GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateOutput values. +// You can construct a concrete instance of `GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateInput` via: // -// VirtualNodeSpecListenerTlsCertificateFileArgs{...} -type VirtualNodeSpecListenerTlsCertificateFileInput interface { +// GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateArgs{...} +type GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateInput interface { pulumi.Input - ToVirtualNodeSpecListenerTlsCertificateFileOutput() VirtualNodeSpecListenerTlsCertificateFileOutput - ToVirtualNodeSpecListenerTlsCertificateFileOutputWithContext(context.Context) VirtualNodeSpecListenerTlsCertificateFileOutput -} - -type VirtualNodeSpecListenerTlsCertificateFileArgs struct { - // Certificate trust chain for a certificate stored on the file system of the mesh endpoint that the proxy is running on. Must be between 1 and 255 characters in length. - CertificateChain pulumi.StringInput `pulumi:"certificateChain"` - // Private key for a certificate stored on the file system of the virtual node that the proxy is running on. Must be between 1 and 255 characters in length. - PrivateKey pulumi.StringInput `pulumi:"privateKey"` -} - -func (VirtualNodeSpecListenerTlsCertificateFileArgs) ElementType() reflect.Type { - return reflect.TypeOf((*VirtualNodeSpecListenerTlsCertificateFile)(nil)).Elem() + ToGetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateOutput() GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateOutput + ToGetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateOutputWithContext(context.Context) GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateOutput } -func (i VirtualNodeSpecListenerTlsCertificateFileArgs) ToVirtualNodeSpecListenerTlsCertificateFileOutput() VirtualNodeSpecListenerTlsCertificateFileOutput { - return i.ToVirtualNodeSpecListenerTlsCertificateFileOutputWithContext(context.Background()) +type GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateArgs struct { + Files GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateFileArrayInput `pulumi:"files"` + Sds GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateSdArrayInput `pulumi:"sds"` } -func (i VirtualNodeSpecListenerTlsCertificateFileArgs) ToVirtualNodeSpecListenerTlsCertificateFileOutputWithContext(ctx context.Context) VirtualNodeSpecListenerTlsCertificateFileOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecListenerTlsCertificateFileOutput) +func (GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificate)(nil)).Elem() } -func (i VirtualNodeSpecListenerTlsCertificateFileArgs) ToVirtualNodeSpecListenerTlsCertificateFilePtrOutput() VirtualNodeSpecListenerTlsCertificateFilePtrOutput { - return i.ToVirtualNodeSpecListenerTlsCertificateFilePtrOutputWithContext(context.Background()) +func (i GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateArgs) ToGetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateOutput() GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateOutput { + return i.ToGetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateOutputWithContext(context.Background()) } -func (i VirtualNodeSpecListenerTlsCertificateFileArgs) ToVirtualNodeSpecListenerTlsCertificateFilePtrOutputWithContext(ctx context.Context) VirtualNodeSpecListenerTlsCertificateFilePtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecListenerTlsCertificateFileOutput).ToVirtualNodeSpecListenerTlsCertificateFilePtrOutputWithContext(ctx) +func (i GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateArgs) ToGetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateOutputWithContext(ctx context.Context) GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateOutput) } -// VirtualNodeSpecListenerTlsCertificateFilePtrInput is an input type that accepts VirtualNodeSpecListenerTlsCertificateFileArgs, VirtualNodeSpecListenerTlsCertificateFilePtr and VirtualNodeSpecListenerTlsCertificateFilePtrOutput values. -// You can construct a concrete instance of `VirtualNodeSpecListenerTlsCertificateFilePtrInput` via: -// -// VirtualNodeSpecListenerTlsCertificateFileArgs{...} -// -// or: +// GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateArrayInput is an input type that accepts GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateArray and GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateArrayOutput values. +// You can construct a concrete instance of `GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateArrayInput` via: // -// nil -type VirtualNodeSpecListenerTlsCertificateFilePtrInput interface { +// GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateArray{ GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateArgs{...} } +type GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateArrayInput interface { pulumi.Input - ToVirtualNodeSpecListenerTlsCertificateFilePtrOutput() VirtualNodeSpecListenerTlsCertificateFilePtrOutput - ToVirtualNodeSpecListenerTlsCertificateFilePtrOutputWithContext(context.Context) VirtualNodeSpecListenerTlsCertificateFilePtrOutput + ToGetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateArrayOutput() GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateArrayOutput + ToGetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateArrayOutputWithContext(context.Context) GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateArrayOutput } -type virtualNodeSpecListenerTlsCertificateFilePtrType VirtualNodeSpecListenerTlsCertificateFileArgs - -func VirtualNodeSpecListenerTlsCertificateFilePtr(v *VirtualNodeSpecListenerTlsCertificateFileArgs) VirtualNodeSpecListenerTlsCertificateFilePtrInput { - return (*virtualNodeSpecListenerTlsCertificateFilePtrType)(v) -} +type GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateArray []GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateInput -func (*virtualNodeSpecListenerTlsCertificateFilePtrType) ElementType() reflect.Type { - return reflect.TypeOf((**VirtualNodeSpecListenerTlsCertificateFile)(nil)).Elem() +func (GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificate)(nil)).Elem() } -func (i *virtualNodeSpecListenerTlsCertificateFilePtrType) ToVirtualNodeSpecListenerTlsCertificateFilePtrOutput() VirtualNodeSpecListenerTlsCertificateFilePtrOutput { - return i.ToVirtualNodeSpecListenerTlsCertificateFilePtrOutputWithContext(context.Background()) +func (i GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateArray) ToGetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateArrayOutput() GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateArrayOutput { + return i.ToGetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateArrayOutputWithContext(context.Background()) } -func (i *virtualNodeSpecListenerTlsCertificateFilePtrType) ToVirtualNodeSpecListenerTlsCertificateFilePtrOutputWithContext(ctx context.Context) VirtualNodeSpecListenerTlsCertificateFilePtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecListenerTlsCertificateFilePtrOutput) +func (i GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateArray) ToGetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateArrayOutputWithContext(ctx context.Context) GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateArrayOutput) } -type VirtualNodeSpecListenerTlsCertificateFileOutput struct{ *pulumi.OutputState } +type GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateOutput struct{ *pulumi.OutputState } -func (VirtualNodeSpecListenerTlsCertificateFileOutput) ElementType() reflect.Type { - return reflect.TypeOf((*VirtualNodeSpecListenerTlsCertificateFile)(nil)).Elem() +func (GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificate)(nil)).Elem() } -func (o VirtualNodeSpecListenerTlsCertificateFileOutput) ToVirtualNodeSpecListenerTlsCertificateFileOutput() VirtualNodeSpecListenerTlsCertificateFileOutput { +func (o GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateOutput) ToGetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateOutput() GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateOutput { return o } -func (o VirtualNodeSpecListenerTlsCertificateFileOutput) ToVirtualNodeSpecListenerTlsCertificateFileOutputWithContext(ctx context.Context) VirtualNodeSpecListenerTlsCertificateFileOutput { +func (o GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateOutput) ToGetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateOutputWithContext(ctx context.Context) GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateOutput { return o } -func (o VirtualNodeSpecListenerTlsCertificateFileOutput) ToVirtualNodeSpecListenerTlsCertificateFilePtrOutput() VirtualNodeSpecListenerTlsCertificateFilePtrOutput { - return o.ToVirtualNodeSpecListenerTlsCertificateFilePtrOutputWithContext(context.Background()) -} - -func (o VirtualNodeSpecListenerTlsCertificateFileOutput) ToVirtualNodeSpecListenerTlsCertificateFilePtrOutputWithContext(ctx context.Context) VirtualNodeSpecListenerTlsCertificateFilePtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v VirtualNodeSpecListenerTlsCertificateFile) *VirtualNodeSpecListenerTlsCertificateFile { - return &v - }).(VirtualNodeSpecListenerTlsCertificateFilePtrOutput) -} - -// Certificate trust chain for a certificate stored on the file system of the mesh endpoint that the proxy is running on. Must be between 1 and 255 characters in length. -func (o VirtualNodeSpecListenerTlsCertificateFileOutput) CertificateChain() pulumi.StringOutput { - return o.ApplyT(func(v VirtualNodeSpecListenerTlsCertificateFile) string { return v.CertificateChain }).(pulumi.StringOutput) +func (o GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateOutput) Files() GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateFileArrayOutput { + return o.ApplyT(func(v GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificate) []GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateFile { + return v.Files + }).(GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateFileArrayOutput) } -// Private key for a certificate stored on the file system of the virtual node that the proxy is running on. Must be between 1 and 255 characters in length. -func (o VirtualNodeSpecListenerTlsCertificateFileOutput) PrivateKey() pulumi.StringOutput { - return o.ApplyT(func(v VirtualNodeSpecListenerTlsCertificateFile) string { return v.PrivateKey }).(pulumi.StringOutput) +func (o GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateOutput) Sds() GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateSdArrayOutput { + return o.ApplyT(func(v GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificate) []GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateSd { + return v.Sds + }).(GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateSdArrayOutput) } -type VirtualNodeSpecListenerTlsCertificateFilePtrOutput struct{ *pulumi.OutputState } +type GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateArrayOutput struct{ *pulumi.OutputState } -func (VirtualNodeSpecListenerTlsCertificateFilePtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**VirtualNodeSpecListenerTlsCertificateFile)(nil)).Elem() +func (GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificate)(nil)).Elem() } -func (o VirtualNodeSpecListenerTlsCertificateFilePtrOutput) ToVirtualNodeSpecListenerTlsCertificateFilePtrOutput() VirtualNodeSpecListenerTlsCertificateFilePtrOutput { +func (o GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateArrayOutput) ToGetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateArrayOutput() GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateArrayOutput { return o } -func (o VirtualNodeSpecListenerTlsCertificateFilePtrOutput) ToVirtualNodeSpecListenerTlsCertificateFilePtrOutputWithContext(ctx context.Context) VirtualNodeSpecListenerTlsCertificateFilePtrOutput { +func (o GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateArrayOutput) ToGetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateArrayOutputWithContext(ctx context.Context) GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateArrayOutput { return o } -func (o VirtualNodeSpecListenerTlsCertificateFilePtrOutput) Elem() VirtualNodeSpecListenerTlsCertificateFileOutput { - return o.ApplyT(func(v *VirtualNodeSpecListenerTlsCertificateFile) VirtualNodeSpecListenerTlsCertificateFile { - if v != nil { - return *v - } - var ret VirtualNodeSpecListenerTlsCertificateFile - return ret - }).(VirtualNodeSpecListenerTlsCertificateFileOutput) -} - -// Certificate trust chain for a certificate stored on the file system of the mesh endpoint that the proxy is running on. Must be between 1 and 255 characters in length. -func (o VirtualNodeSpecListenerTlsCertificateFilePtrOutput) CertificateChain() pulumi.StringPtrOutput { - return o.ApplyT(func(v *VirtualNodeSpecListenerTlsCertificateFile) *string { - if v == nil { - return nil - } - return &v.CertificateChain - }).(pulumi.StringPtrOutput) -} - -// Private key for a certificate stored on the file system of the virtual node that the proxy is running on. Must be between 1 and 255 characters in length. -func (o VirtualNodeSpecListenerTlsCertificateFilePtrOutput) PrivateKey() pulumi.StringPtrOutput { - return o.ApplyT(func(v *VirtualNodeSpecListenerTlsCertificateFile) *string { - if v == nil { - return nil - } - return &v.PrivateKey - }).(pulumi.StringPtrOutput) +func (o GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateArrayOutput) Index(i pulumi.IntInput) GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificate { + return vs[0].([]GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificate)[vs[1].(int)] + }).(GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateOutput) } -type VirtualNodeSpecListenerTlsCertificateSds struct { - // Name of the secret for a virtual node's Transport Layer Security (TLS) Secret Discovery Service validation context trust. - SecretName string `pulumi:"secretName"` +type GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateFile struct { + CertificateChain string `pulumi:"certificateChain"` + PrivateKey string `pulumi:"privateKey"` } -// VirtualNodeSpecListenerTlsCertificateSdsInput is an input type that accepts VirtualNodeSpecListenerTlsCertificateSdsArgs and VirtualNodeSpecListenerTlsCertificateSdsOutput values. -// You can construct a concrete instance of `VirtualNodeSpecListenerTlsCertificateSdsInput` via: +// GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateFileInput is an input type that accepts GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateFileArgs and GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateFileOutput values. +// You can construct a concrete instance of `GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateFileInput` via: // -// VirtualNodeSpecListenerTlsCertificateSdsArgs{...} -type VirtualNodeSpecListenerTlsCertificateSdsInput interface { +// GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateFileArgs{...} +type GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateFileInput interface { pulumi.Input - ToVirtualNodeSpecListenerTlsCertificateSdsOutput() VirtualNodeSpecListenerTlsCertificateSdsOutput - ToVirtualNodeSpecListenerTlsCertificateSdsOutputWithContext(context.Context) VirtualNodeSpecListenerTlsCertificateSdsOutput -} - -type VirtualNodeSpecListenerTlsCertificateSdsArgs struct { - // Name of the secret for a virtual node's Transport Layer Security (TLS) Secret Discovery Service validation context trust. - SecretName pulumi.StringInput `pulumi:"secretName"` -} - -func (VirtualNodeSpecListenerTlsCertificateSdsArgs) ElementType() reflect.Type { - return reflect.TypeOf((*VirtualNodeSpecListenerTlsCertificateSds)(nil)).Elem() + ToGetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateFileOutput() GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateFileOutput + ToGetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateFileOutputWithContext(context.Context) GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateFileOutput } -func (i VirtualNodeSpecListenerTlsCertificateSdsArgs) ToVirtualNodeSpecListenerTlsCertificateSdsOutput() VirtualNodeSpecListenerTlsCertificateSdsOutput { - return i.ToVirtualNodeSpecListenerTlsCertificateSdsOutputWithContext(context.Background()) +type GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateFileArgs struct { + CertificateChain pulumi.StringInput `pulumi:"certificateChain"` + PrivateKey pulumi.StringInput `pulumi:"privateKey"` } -func (i VirtualNodeSpecListenerTlsCertificateSdsArgs) ToVirtualNodeSpecListenerTlsCertificateSdsOutputWithContext(ctx context.Context) VirtualNodeSpecListenerTlsCertificateSdsOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecListenerTlsCertificateSdsOutput) +func (GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateFileArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateFile)(nil)).Elem() } -func (i VirtualNodeSpecListenerTlsCertificateSdsArgs) ToVirtualNodeSpecListenerTlsCertificateSdsPtrOutput() VirtualNodeSpecListenerTlsCertificateSdsPtrOutput { - return i.ToVirtualNodeSpecListenerTlsCertificateSdsPtrOutputWithContext(context.Background()) +func (i GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateFileArgs) ToGetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateFileOutput() GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateFileOutput { + return i.ToGetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateFileOutputWithContext(context.Background()) } -func (i VirtualNodeSpecListenerTlsCertificateSdsArgs) ToVirtualNodeSpecListenerTlsCertificateSdsPtrOutputWithContext(ctx context.Context) VirtualNodeSpecListenerTlsCertificateSdsPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecListenerTlsCertificateSdsOutput).ToVirtualNodeSpecListenerTlsCertificateSdsPtrOutputWithContext(ctx) +func (i GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateFileArgs) ToGetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateFileOutputWithContext(ctx context.Context) GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateFileOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateFileOutput) } -// VirtualNodeSpecListenerTlsCertificateSdsPtrInput is an input type that accepts VirtualNodeSpecListenerTlsCertificateSdsArgs, VirtualNodeSpecListenerTlsCertificateSdsPtr and VirtualNodeSpecListenerTlsCertificateSdsPtrOutput values. -// You can construct a concrete instance of `VirtualNodeSpecListenerTlsCertificateSdsPtrInput` via: -// -// VirtualNodeSpecListenerTlsCertificateSdsArgs{...} -// -// or: +// GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateFileArrayInput is an input type that accepts GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateFileArray and GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateFileArrayOutput values. +// You can construct a concrete instance of `GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateFileArrayInput` via: // -// nil -type VirtualNodeSpecListenerTlsCertificateSdsPtrInput interface { +// GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateFileArray{ GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateFileArgs{...} } +type GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateFileArrayInput interface { pulumi.Input - ToVirtualNodeSpecListenerTlsCertificateSdsPtrOutput() VirtualNodeSpecListenerTlsCertificateSdsPtrOutput - ToVirtualNodeSpecListenerTlsCertificateSdsPtrOutputWithContext(context.Context) VirtualNodeSpecListenerTlsCertificateSdsPtrOutput + ToGetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateFileArrayOutput() GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateFileArrayOutput + ToGetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateFileArrayOutputWithContext(context.Context) GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateFileArrayOutput } -type virtualNodeSpecListenerTlsCertificateSdsPtrType VirtualNodeSpecListenerTlsCertificateSdsArgs - -func VirtualNodeSpecListenerTlsCertificateSdsPtr(v *VirtualNodeSpecListenerTlsCertificateSdsArgs) VirtualNodeSpecListenerTlsCertificateSdsPtrInput { - return (*virtualNodeSpecListenerTlsCertificateSdsPtrType)(v) -} +type GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateFileArray []GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateFileInput -func (*virtualNodeSpecListenerTlsCertificateSdsPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**VirtualNodeSpecListenerTlsCertificateSds)(nil)).Elem() +func (GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateFileArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateFile)(nil)).Elem() } -func (i *virtualNodeSpecListenerTlsCertificateSdsPtrType) ToVirtualNodeSpecListenerTlsCertificateSdsPtrOutput() VirtualNodeSpecListenerTlsCertificateSdsPtrOutput { - return i.ToVirtualNodeSpecListenerTlsCertificateSdsPtrOutputWithContext(context.Background()) +func (i GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateFileArray) ToGetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateFileArrayOutput() GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateFileArrayOutput { + return i.ToGetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateFileArrayOutputWithContext(context.Background()) } -func (i *virtualNodeSpecListenerTlsCertificateSdsPtrType) ToVirtualNodeSpecListenerTlsCertificateSdsPtrOutputWithContext(ctx context.Context) VirtualNodeSpecListenerTlsCertificateSdsPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecListenerTlsCertificateSdsPtrOutput) +func (i GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateFileArray) ToGetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateFileArrayOutputWithContext(ctx context.Context) GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateFileArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateFileArrayOutput) } -type VirtualNodeSpecListenerTlsCertificateSdsOutput struct{ *pulumi.OutputState } +type GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateFileOutput struct{ *pulumi.OutputState } -func (VirtualNodeSpecListenerTlsCertificateSdsOutput) ElementType() reflect.Type { - return reflect.TypeOf((*VirtualNodeSpecListenerTlsCertificateSds)(nil)).Elem() +func (GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateFileOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateFile)(nil)).Elem() } -func (o VirtualNodeSpecListenerTlsCertificateSdsOutput) ToVirtualNodeSpecListenerTlsCertificateSdsOutput() VirtualNodeSpecListenerTlsCertificateSdsOutput { +func (o GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateFileOutput) ToGetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateFileOutput() GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateFileOutput { return o } -func (o VirtualNodeSpecListenerTlsCertificateSdsOutput) ToVirtualNodeSpecListenerTlsCertificateSdsOutputWithContext(ctx context.Context) VirtualNodeSpecListenerTlsCertificateSdsOutput { +func (o GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateFileOutput) ToGetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateFileOutputWithContext(ctx context.Context) GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateFileOutput { return o } -func (o VirtualNodeSpecListenerTlsCertificateSdsOutput) ToVirtualNodeSpecListenerTlsCertificateSdsPtrOutput() VirtualNodeSpecListenerTlsCertificateSdsPtrOutput { - return o.ToVirtualNodeSpecListenerTlsCertificateSdsPtrOutputWithContext(context.Background()) -} - -func (o VirtualNodeSpecListenerTlsCertificateSdsOutput) ToVirtualNodeSpecListenerTlsCertificateSdsPtrOutputWithContext(ctx context.Context) VirtualNodeSpecListenerTlsCertificateSdsPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v VirtualNodeSpecListenerTlsCertificateSds) *VirtualNodeSpecListenerTlsCertificateSds { - return &v - }).(VirtualNodeSpecListenerTlsCertificateSdsPtrOutput) +func (o GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateFileOutput) CertificateChain() pulumi.StringOutput { + return o.ApplyT(func(v GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateFile) string { + return v.CertificateChain + }).(pulumi.StringOutput) } -// Name of the secret for a virtual node's Transport Layer Security (TLS) Secret Discovery Service validation context trust. -func (o VirtualNodeSpecListenerTlsCertificateSdsOutput) SecretName() pulumi.StringOutput { - return o.ApplyT(func(v VirtualNodeSpecListenerTlsCertificateSds) string { return v.SecretName }).(pulumi.StringOutput) +func (o GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateFileOutput) PrivateKey() pulumi.StringOutput { + return o.ApplyT(func(v GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateFile) string { return v.PrivateKey }).(pulumi.StringOutput) } -type VirtualNodeSpecListenerTlsCertificateSdsPtrOutput struct{ *pulumi.OutputState } +type GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateFileArrayOutput struct{ *pulumi.OutputState } -func (VirtualNodeSpecListenerTlsCertificateSdsPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**VirtualNodeSpecListenerTlsCertificateSds)(nil)).Elem() +func (GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateFileArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateFile)(nil)).Elem() } -func (o VirtualNodeSpecListenerTlsCertificateSdsPtrOutput) ToVirtualNodeSpecListenerTlsCertificateSdsPtrOutput() VirtualNodeSpecListenerTlsCertificateSdsPtrOutput { +func (o GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateFileArrayOutput) ToGetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateFileArrayOutput() GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateFileArrayOutput { return o } -func (o VirtualNodeSpecListenerTlsCertificateSdsPtrOutput) ToVirtualNodeSpecListenerTlsCertificateSdsPtrOutputWithContext(ctx context.Context) VirtualNodeSpecListenerTlsCertificateSdsPtrOutput { +func (o GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateFileArrayOutput) ToGetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateFileArrayOutputWithContext(ctx context.Context) GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateFileArrayOutput { return o } -func (o VirtualNodeSpecListenerTlsCertificateSdsPtrOutput) Elem() VirtualNodeSpecListenerTlsCertificateSdsOutput { - return o.ApplyT(func(v *VirtualNodeSpecListenerTlsCertificateSds) VirtualNodeSpecListenerTlsCertificateSds { - if v != nil { - return *v - } - var ret VirtualNodeSpecListenerTlsCertificateSds - return ret - }).(VirtualNodeSpecListenerTlsCertificateSdsOutput) -} - -// Name of the secret for a virtual node's Transport Layer Security (TLS) Secret Discovery Service validation context trust. -func (o VirtualNodeSpecListenerTlsCertificateSdsPtrOutput) SecretName() pulumi.StringPtrOutput { - return o.ApplyT(func(v *VirtualNodeSpecListenerTlsCertificateSds) *string { - if v == nil { - return nil - } - return &v.SecretName - }).(pulumi.StringPtrOutput) +func (o GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateFileArrayOutput) Index(i pulumi.IntInput) GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateFileOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateFile { + return vs[0].([]GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateFile)[vs[1].(int)] + }).(GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateFileOutput) } -type VirtualNodeSpecListenerTlsValidation struct { - // SANs for a TLS validation context. - SubjectAlternativeNames *VirtualNodeSpecListenerTlsValidationSubjectAlternativeNames `pulumi:"subjectAlternativeNames"` - // TLS validation context trust. - Trust VirtualNodeSpecListenerTlsValidationTrust `pulumi:"trust"` +type GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateSd struct { + SecretName string `pulumi:"secretName"` } -// VirtualNodeSpecListenerTlsValidationInput is an input type that accepts VirtualNodeSpecListenerTlsValidationArgs and VirtualNodeSpecListenerTlsValidationOutput values. -// You can construct a concrete instance of `VirtualNodeSpecListenerTlsValidationInput` via: +// GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateSdInput is an input type that accepts GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateSdArgs and GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateSdOutput values. +// You can construct a concrete instance of `GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateSdInput` via: // -// VirtualNodeSpecListenerTlsValidationArgs{...} -type VirtualNodeSpecListenerTlsValidationInput interface { +// GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateSdArgs{...} +type GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateSdInput interface { pulumi.Input - ToVirtualNodeSpecListenerTlsValidationOutput() VirtualNodeSpecListenerTlsValidationOutput - ToVirtualNodeSpecListenerTlsValidationOutputWithContext(context.Context) VirtualNodeSpecListenerTlsValidationOutput -} - -type VirtualNodeSpecListenerTlsValidationArgs struct { - // SANs for a TLS validation context. - SubjectAlternativeNames VirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesPtrInput `pulumi:"subjectAlternativeNames"` - // TLS validation context trust. - Trust VirtualNodeSpecListenerTlsValidationTrustInput `pulumi:"trust"` -} - -func (VirtualNodeSpecListenerTlsValidationArgs) ElementType() reflect.Type { - return reflect.TypeOf((*VirtualNodeSpecListenerTlsValidation)(nil)).Elem() + ToGetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateSdOutput() GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateSdOutput + ToGetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateSdOutputWithContext(context.Context) GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateSdOutput } -func (i VirtualNodeSpecListenerTlsValidationArgs) ToVirtualNodeSpecListenerTlsValidationOutput() VirtualNodeSpecListenerTlsValidationOutput { - return i.ToVirtualNodeSpecListenerTlsValidationOutputWithContext(context.Background()) +type GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateSdArgs struct { + SecretName pulumi.StringInput `pulumi:"secretName"` } -func (i VirtualNodeSpecListenerTlsValidationArgs) ToVirtualNodeSpecListenerTlsValidationOutputWithContext(ctx context.Context) VirtualNodeSpecListenerTlsValidationOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecListenerTlsValidationOutput) +func (GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateSdArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateSd)(nil)).Elem() } -func (i VirtualNodeSpecListenerTlsValidationArgs) ToVirtualNodeSpecListenerTlsValidationPtrOutput() VirtualNodeSpecListenerTlsValidationPtrOutput { - return i.ToVirtualNodeSpecListenerTlsValidationPtrOutputWithContext(context.Background()) +func (i GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateSdArgs) ToGetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateSdOutput() GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateSdOutput { + return i.ToGetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateSdOutputWithContext(context.Background()) } -func (i VirtualNodeSpecListenerTlsValidationArgs) ToVirtualNodeSpecListenerTlsValidationPtrOutputWithContext(ctx context.Context) VirtualNodeSpecListenerTlsValidationPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecListenerTlsValidationOutput).ToVirtualNodeSpecListenerTlsValidationPtrOutputWithContext(ctx) +func (i GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateSdArgs) ToGetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateSdOutputWithContext(ctx context.Context) GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateSdOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateSdOutput) } -// VirtualNodeSpecListenerTlsValidationPtrInput is an input type that accepts VirtualNodeSpecListenerTlsValidationArgs, VirtualNodeSpecListenerTlsValidationPtr and VirtualNodeSpecListenerTlsValidationPtrOutput values. -// You can construct a concrete instance of `VirtualNodeSpecListenerTlsValidationPtrInput` via: -// -// VirtualNodeSpecListenerTlsValidationArgs{...} -// -// or: +// GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateSdArrayInput is an input type that accepts GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateSdArray and GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateSdArrayOutput values. +// You can construct a concrete instance of `GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateSdArrayInput` via: // -// nil -type VirtualNodeSpecListenerTlsValidationPtrInput interface { +// GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateSdArray{ GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateSdArgs{...} } +type GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateSdArrayInput interface { pulumi.Input - ToVirtualNodeSpecListenerTlsValidationPtrOutput() VirtualNodeSpecListenerTlsValidationPtrOutput - ToVirtualNodeSpecListenerTlsValidationPtrOutputWithContext(context.Context) VirtualNodeSpecListenerTlsValidationPtrOutput + ToGetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateSdArrayOutput() GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateSdArrayOutput + ToGetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateSdArrayOutputWithContext(context.Context) GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateSdArrayOutput } -type virtualNodeSpecListenerTlsValidationPtrType VirtualNodeSpecListenerTlsValidationArgs - -func VirtualNodeSpecListenerTlsValidationPtr(v *VirtualNodeSpecListenerTlsValidationArgs) VirtualNodeSpecListenerTlsValidationPtrInput { - return (*virtualNodeSpecListenerTlsValidationPtrType)(v) -} +type GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateSdArray []GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateSdInput -func (*virtualNodeSpecListenerTlsValidationPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**VirtualNodeSpecListenerTlsValidation)(nil)).Elem() +func (GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateSdArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateSd)(nil)).Elem() } -func (i *virtualNodeSpecListenerTlsValidationPtrType) ToVirtualNodeSpecListenerTlsValidationPtrOutput() VirtualNodeSpecListenerTlsValidationPtrOutput { - return i.ToVirtualNodeSpecListenerTlsValidationPtrOutputWithContext(context.Background()) +func (i GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateSdArray) ToGetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateSdArrayOutput() GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateSdArrayOutput { + return i.ToGetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateSdArrayOutputWithContext(context.Background()) } -func (i *virtualNodeSpecListenerTlsValidationPtrType) ToVirtualNodeSpecListenerTlsValidationPtrOutputWithContext(ctx context.Context) VirtualNodeSpecListenerTlsValidationPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecListenerTlsValidationPtrOutput) +func (i GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateSdArray) ToGetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateSdArrayOutputWithContext(ctx context.Context) GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateSdArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateSdArrayOutput) } -type VirtualNodeSpecListenerTlsValidationOutput struct{ *pulumi.OutputState } +type GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateSdOutput struct{ *pulumi.OutputState } -func (VirtualNodeSpecListenerTlsValidationOutput) ElementType() reflect.Type { - return reflect.TypeOf((*VirtualNodeSpecListenerTlsValidation)(nil)).Elem() +func (GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateSdOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateSd)(nil)).Elem() } -func (o VirtualNodeSpecListenerTlsValidationOutput) ToVirtualNodeSpecListenerTlsValidationOutput() VirtualNodeSpecListenerTlsValidationOutput { +func (o GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateSdOutput) ToGetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateSdOutput() GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateSdOutput { return o } -func (o VirtualNodeSpecListenerTlsValidationOutput) ToVirtualNodeSpecListenerTlsValidationOutputWithContext(ctx context.Context) VirtualNodeSpecListenerTlsValidationOutput { +func (o GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateSdOutput) ToGetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateSdOutputWithContext(ctx context.Context) GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateSdOutput { return o } -func (o VirtualNodeSpecListenerTlsValidationOutput) ToVirtualNodeSpecListenerTlsValidationPtrOutput() VirtualNodeSpecListenerTlsValidationPtrOutput { - return o.ToVirtualNodeSpecListenerTlsValidationPtrOutputWithContext(context.Background()) -} - -func (o VirtualNodeSpecListenerTlsValidationOutput) ToVirtualNodeSpecListenerTlsValidationPtrOutputWithContext(ctx context.Context) VirtualNodeSpecListenerTlsValidationPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v VirtualNodeSpecListenerTlsValidation) *VirtualNodeSpecListenerTlsValidation { - return &v - }).(VirtualNodeSpecListenerTlsValidationPtrOutput) -} - -// SANs for a TLS validation context. -func (o VirtualNodeSpecListenerTlsValidationOutput) SubjectAlternativeNames() VirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesPtrOutput { - return o.ApplyT(func(v VirtualNodeSpecListenerTlsValidation) *VirtualNodeSpecListenerTlsValidationSubjectAlternativeNames { - return v.SubjectAlternativeNames - }).(VirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesPtrOutput) -} - -// TLS validation context trust. -func (o VirtualNodeSpecListenerTlsValidationOutput) Trust() VirtualNodeSpecListenerTlsValidationTrustOutput { - return o.ApplyT(func(v VirtualNodeSpecListenerTlsValidation) VirtualNodeSpecListenerTlsValidationTrust { return v.Trust }).(VirtualNodeSpecListenerTlsValidationTrustOutput) -} - -type VirtualNodeSpecListenerTlsValidationPtrOutput struct{ *pulumi.OutputState } - -func (VirtualNodeSpecListenerTlsValidationPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**VirtualNodeSpecListenerTlsValidation)(nil)).Elem() +func (o GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateSdOutput) SecretName() pulumi.StringOutput { + return o.ApplyT(func(v GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateSd) string { return v.SecretName }).(pulumi.StringOutput) } -func (o VirtualNodeSpecListenerTlsValidationPtrOutput) ToVirtualNodeSpecListenerTlsValidationPtrOutput() VirtualNodeSpecListenerTlsValidationPtrOutput { - return o -} +type GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateSdArrayOutput struct{ *pulumi.OutputState } -func (o VirtualNodeSpecListenerTlsValidationPtrOutput) ToVirtualNodeSpecListenerTlsValidationPtrOutputWithContext(ctx context.Context) VirtualNodeSpecListenerTlsValidationPtrOutput { - return o +func (GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateSdArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateSd)(nil)).Elem() } -func (o VirtualNodeSpecListenerTlsValidationPtrOutput) Elem() VirtualNodeSpecListenerTlsValidationOutput { - return o.ApplyT(func(v *VirtualNodeSpecListenerTlsValidation) VirtualNodeSpecListenerTlsValidation { - if v != nil { - return *v - } - var ret VirtualNodeSpecListenerTlsValidation - return ret - }).(VirtualNodeSpecListenerTlsValidationOutput) +func (o GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateSdArrayOutput) ToGetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateSdArrayOutput() GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateSdArrayOutput { + return o } -// SANs for a TLS validation context. -func (o VirtualNodeSpecListenerTlsValidationPtrOutput) SubjectAlternativeNames() VirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesPtrOutput { - return o.ApplyT(func(v *VirtualNodeSpecListenerTlsValidation) *VirtualNodeSpecListenerTlsValidationSubjectAlternativeNames { - if v == nil { - return nil - } - return v.SubjectAlternativeNames - }).(VirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesPtrOutput) +func (o GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateSdArrayOutput) ToGetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateSdArrayOutputWithContext(ctx context.Context) GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateSdArrayOutput { + return o } -// TLS validation context trust. -func (o VirtualNodeSpecListenerTlsValidationPtrOutput) Trust() VirtualNodeSpecListenerTlsValidationTrustPtrOutput { - return o.ApplyT(func(v *VirtualNodeSpecListenerTlsValidation) *VirtualNodeSpecListenerTlsValidationTrust { - if v == nil { - return nil - } - return &v.Trust - }).(VirtualNodeSpecListenerTlsValidationTrustPtrOutput) +func (o GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateSdArrayOutput) Index(i pulumi.IntInput) GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateSdOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateSd { + return vs[0].([]GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateSd)[vs[1].(int)] + }).(GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateSdOutput) } -type VirtualNodeSpecListenerTlsValidationSubjectAlternativeNames struct { - // Criteria for determining a SAN's match. - Match VirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesMatch `pulumi:"match"` +type GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidation struct { + SubjectAlternativeNames []GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationSubjectAlternativeName `pulumi:"subjectAlternativeNames"` + Trusts []GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrust `pulumi:"trusts"` } -// VirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesInput is an input type that accepts VirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesArgs and VirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesOutput values. -// You can construct a concrete instance of `VirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesInput` via: +// GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationInput is an input type that accepts GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationArgs and GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationOutput values. +// You can construct a concrete instance of `GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationInput` via: // -// VirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesArgs{...} -type VirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesInput interface { +// GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationArgs{...} +type GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationInput interface { pulumi.Input - ToVirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesOutput() VirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesOutput - ToVirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesOutputWithContext(context.Context) VirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesOutput -} - -type VirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesArgs struct { - // Criteria for determining a SAN's match. - Match VirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesMatchInput `pulumi:"match"` -} - -func (VirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesArgs) ElementType() reflect.Type { - return reflect.TypeOf((*VirtualNodeSpecListenerTlsValidationSubjectAlternativeNames)(nil)).Elem() + ToGetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationOutput() GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationOutput + ToGetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationOutputWithContext(context.Context) GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationOutput } -func (i VirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesArgs) ToVirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesOutput() VirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesOutput { - return i.ToVirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesOutputWithContext(context.Background()) +type GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationArgs struct { + SubjectAlternativeNames GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameArrayInput `pulumi:"subjectAlternativeNames"` + Trusts GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustArrayInput `pulumi:"trusts"` } -func (i VirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesArgs) ToVirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesOutputWithContext(ctx context.Context) VirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesOutput) +func (GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidation)(nil)).Elem() } -func (i VirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesArgs) ToVirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesPtrOutput() VirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesPtrOutput { - return i.ToVirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesPtrOutputWithContext(context.Background()) +func (i GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationArgs) ToGetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationOutput() GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationOutput { + return i.ToGetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationOutputWithContext(context.Background()) } -func (i VirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesArgs) ToVirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesPtrOutputWithContext(ctx context.Context) VirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesOutput).ToVirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesPtrOutputWithContext(ctx) +func (i GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationArgs) ToGetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationOutputWithContext(ctx context.Context) GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationOutput) } -// VirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesPtrInput is an input type that accepts VirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesArgs, VirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesPtr and VirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesPtrOutput values. -// You can construct a concrete instance of `VirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesPtrInput` via: -// -// VirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesArgs{...} -// -// or: +// GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationArrayInput is an input type that accepts GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationArray and GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationArrayOutput values. +// You can construct a concrete instance of `GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationArrayInput` via: // -// nil -type VirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesPtrInput interface { +// GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationArray{ GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationArgs{...} } +type GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationArrayInput interface { pulumi.Input - ToVirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesPtrOutput() VirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesPtrOutput - ToVirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesPtrOutputWithContext(context.Context) VirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesPtrOutput + ToGetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationArrayOutput() GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationArrayOutput + ToGetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationArrayOutputWithContext(context.Context) GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationArrayOutput } -type virtualNodeSpecListenerTlsValidationSubjectAlternativeNamesPtrType VirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesArgs - -func VirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesPtr(v *VirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesArgs) VirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesPtrInput { - return (*virtualNodeSpecListenerTlsValidationSubjectAlternativeNamesPtrType)(v) -} +type GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationArray []GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationInput -func (*virtualNodeSpecListenerTlsValidationSubjectAlternativeNamesPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**VirtualNodeSpecListenerTlsValidationSubjectAlternativeNames)(nil)).Elem() +func (GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidation)(nil)).Elem() } -func (i *virtualNodeSpecListenerTlsValidationSubjectAlternativeNamesPtrType) ToVirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesPtrOutput() VirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesPtrOutput { - return i.ToVirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesPtrOutputWithContext(context.Background()) +func (i GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationArray) ToGetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationArrayOutput() GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationArrayOutput { + return i.ToGetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationArrayOutputWithContext(context.Background()) } -func (i *virtualNodeSpecListenerTlsValidationSubjectAlternativeNamesPtrType) ToVirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesPtrOutputWithContext(ctx context.Context) VirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesPtrOutput) +func (i GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationArray) ToGetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationArrayOutputWithContext(ctx context.Context) GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationArrayOutput) } -type VirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesOutput struct{ *pulumi.OutputState } +type GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationOutput struct{ *pulumi.OutputState } -func (VirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesOutput) ElementType() reflect.Type { - return reflect.TypeOf((*VirtualNodeSpecListenerTlsValidationSubjectAlternativeNames)(nil)).Elem() +func (GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidation)(nil)).Elem() } -func (o VirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesOutput) ToVirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesOutput() VirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesOutput { +func (o GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationOutput) ToGetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationOutput() GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationOutput { return o } -func (o VirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesOutput) ToVirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesOutputWithContext(ctx context.Context) VirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesOutput { +func (o GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationOutput) ToGetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationOutputWithContext(ctx context.Context) GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationOutput { return o } -func (o VirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesOutput) ToVirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesPtrOutput() VirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesPtrOutput { - return o.ToVirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesPtrOutputWithContext(context.Background()) -} - -func (o VirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesOutput) ToVirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesPtrOutputWithContext(ctx context.Context) VirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v VirtualNodeSpecListenerTlsValidationSubjectAlternativeNames) *VirtualNodeSpecListenerTlsValidationSubjectAlternativeNames { - return &v - }).(VirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesPtrOutput) +func (o GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationOutput) SubjectAlternativeNames() GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameArrayOutput { + return o.ApplyT(func(v GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidation) []GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationSubjectAlternativeName { + return v.SubjectAlternativeNames + }).(GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameArrayOutput) } -// Criteria for determining a SAN's match. -func (o VirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesOutput) Match() VirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesMatchOutput { - return o.ApplyT(func(v VirtualNodeSpecListenerTlsValidationSubjectAlternativeNames) VirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesMatch { - return v.Match - }).(VirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesMatchOutput) +func (o GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationOutput) Trusts() GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustArrayOutput { + return o.ApplyT(func(v GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidation) []GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrust { + return v.Trusts + }).(GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustArrayOutput) } -type VirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesPtrOutput struct{ *pulumi.OutputState } +type GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationArrayOutput struct{ *pulumi.OutputState } -func (VirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**VirtualNodeSpecListenerTlsValidationSubjectAlternativeNames)(nil)).Elem() +func (GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidation)(nil)).Elem() } -func (o VirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesPtrOutput) ToVirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesPtrOutput() VirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesPtrOutput { +func (o GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationArrayOutput) ToGetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationArrayOutput() GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationArrayOutput { return o } -func (o VirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesPtrOutput) ToVirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesPtrOutputWithContext(ctx context.Context) VirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesPtrOutput { +func (o GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationArrayOutput) ToGetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationArrayOutputWithContext(ctx context.Context) GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationArrayOutput { return o } -func (o VirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesPtrOutput) Elem() VirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesOutput { - return o.ApplyT(func(v *VirtualNodeSpecListenerTlsValidationSubjectAlternativeNames) VirtualNodeSpecListenerTlsValidationSubjectAlternativeNames { - if v != nil { - return *v - } - var ret VirtualNodeSpecListenerTlsValidationSubjectAlternativeNames - return ret - }).(VirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesOutput) -} - -// Criteria for determining a SAN's match. -func (o VirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesPtrOutput) Match() VirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesMatchPtrOutput { - return o.ApplyT(func(v *VirtualNodeSpecListenerTlsValidationSubjectAlternativeNames) *VirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesMatch { - if v == nil { - return nil - } - return &v.Match - }).(VirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesMatchPtrOutput) +func (o GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationArrayOutput) Index(i pulumi.IntInput) GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidation { + return vs[0].([]GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidation)[vs[1].(int)] + }).(GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationOutput) } -type VirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesMatch struct { - // Values sent must match the specified values exactly. - Exacts []string `pulumi:"exacts"` +type GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationSubjectAlternativeName struct { + Matches []GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameMatch `pulumi:"matches"` } -// VirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesMatchInput is an input type that accepts VirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesMatchArgs and VirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesMatchOutput values. -// You can construct a concrete instance of `VirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesMatchInput` via: +// GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameInput is an input type that accepts GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameArgs and GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameOutput values. +// You can construct a concrete instance of `GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameInput` via: // -// VirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesMatchArgs{...} -type VirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesMatchInput interface { +// GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameArgs{...} +type GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameInput interface { pulumi.Input - ToVirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesMatchOutput() VirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesMatchOutput - ToVirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesMatchOutputWithContext(context.Context) VirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesMatchOutput -} - -type VirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesMatchArgs struct { - // Values sent must match the specified values exactly. - Exacts pulumi.StringArrayInput `pulumi:"exacts"` -} - -func (VirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesMatchArgs) ElementType() reflect.Type { - return reflect.TypeOf((*VirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesMatch)(nil)).Elem() + ToGetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameOutput() GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameOutput + ToGetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameOutputWithContext(context.Context) GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameOutput } -func (i VirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesMatchArgs) ToVirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesMatchOutput() VirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesMatchOutput { - return i.ToVirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesMatchOutputWithContext(context.Background()) +type GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameArgs struct { + Matches GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameMatchArrayInput `pulumi:"matches"` } -func (i VirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesMatchArgs) ToVirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesMatchOutputWithContext(ctx context.Context) VirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesMatchOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesMatchOutput) +func (GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationSubjectAlternativeName)(nil)).Elem() } -func (i VirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesMatchArgs) ToVirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesMatchPtrOutput() VirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesMatchPtrOutput { - return i.ToVirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesMatchPtrOutputWithContext(context.Background()) +func (i GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameArgs) ToGetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameOutput() GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameOutput { + return i.ToGetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameOutputWithContext(context.Background()) } -func (i VirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesMatchArgs) ToVirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesMatchPtrOutputWithContext(ctx context.Context) VirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesMatchPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesMatchOutput).ToVirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesMatchPtrOutputWithContext(ctx) +func (i GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameArgs) ToGetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameOutputWithContext(ctx context.Context) GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameOutput) } -// VirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesMatchPtrInput is an input type that accepts VirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesMatchArgs, VirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesMatchPtr and VirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesMatchPtrOutput values. -// You can construct a concrete instance of `VirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesMatchPtrInput` via: -// -// VirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesMatchArgs{...} -// -// or: +// GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameArrayInput is an input type that accepts GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameArray and GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameArrayOutput values. +// You can construct a concrete instance of `GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameArrayInput` via: // -// nil -type VirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesMatchPtrInput interface { +// GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameArray{ GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameArgs{...} } +type GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameArrayInput interface { pulumi.Input - ToVirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesMatchPtrOutput() VirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesMatchPtrOutput - ToVirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesMatchPtrOutputWithContext(context.Context) VirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesMatchPtrOutput + ToGetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameArrayOutput() GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameArrayOutput + ToGetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameArrayOutputWithContext(context.Context) GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameArrayOutput } -type virtualNodeSpecListenerTlsValidationSubjectAlternativeNamesMatchPtrType VirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesMatchArgs - -func VirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesMatchPtr(v *VirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesMatchArgs) VirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesMatchPtrInput { - return (*virtualNodeSpecListenerTlsValidationSubjectAlternativeNamesMatchPtrType)(v) -} +type GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameArray []GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameInput -func (*virtualNodeSpecListenerTlsValidationSubjectAlternativeNamesMatchPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**VirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesMatch)(nil)).Elem() +func (GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationSubjectAlternativeName)(nil)).Elem() } -func (i *virtualNodeSpecListenerTlsValidationSubjectAlternativeNamesMatchPtrType) ToVirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesMatchPtrOutput() VirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesMatchPtrOutput { - return i.ToVirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesMatchPtrOutputWithContext(context.Background()) +func (i GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameArray) ToGetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameArrayOutput() GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameArrayOutput { + return i.ToGetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameArrayOutputWithContext(context.Background()) } -func (i *virtualNodeSpecListenerTlsValidationSubjectAlternativeNamesMatchPtrType) ToVirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesMatchPtrOutputWithContext(ctx context.Context) VirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesMatchPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesMatchPtrOutput) +func (i GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameArray) ToGetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameArrayOutputWithContext(ctx context.Context) GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameArrayOutput) } -type VirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesMatchOutput struct{ *pulumi.OutputState } +type GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameOutput struct{ *pulumi.OutputState } -func (VirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesMatchOutput) ElementType() reflect.Type { - return reflect.TypeOf((*VirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesMatch)(nil)).Elem() +func (GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationSubjectAlternativeName)(nil)).Elem() } -func (o VirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesMatchOutput) ToVirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesMatchOutput() VirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesMatchOutput { +func (o GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameOutput) ToGetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameOutput() GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameOutput { return o } -func (o VirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesMatchOutput) ToVirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesMatchOutputWithContext(ctx context.Context) VirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesMatchOutput { +func (o GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameOutput) ToGetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameOutputWithContext(ctx context.Context) GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameOutput { return o } -func (o VirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesMatchOutput) ToVirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesMatchPtrOutput() VirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesMatchPtrOutput { - return o.ToVirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesMatchPtrOutputWithContext(context.Background()) -} - -func (o VirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesMatchOutput) ToVirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesMatchPtrOutputWithContext(ctx context.Context) VirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesMatchPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v VirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesMatch) *VirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesMatch { - return &v - }).(VirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesMatchPtrOutput) -} - -// Values sent must match the specified values exactly. -func (o VirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesMatchOutput) Exacts() pulumi.StringArrayOutput { - return o.ApplyT(func(v VirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesMatch) []string { return v.Exacts }).(pulumi.StringArrayOutput) +func (o GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameOutput) Matches() GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameMatchArrayOutput { + return o.ApplyT(func(v GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationSubjectAlternativeName) []GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameMatch { + return v.Matches + }).(GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameMatchArrayOutput) } -type VirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesMatchPtrOutput struct{ *pulumi.OutputState } +type GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameArrayOutput struct{ *pulumi.OutputState } -func (VirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesMatchPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**VirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesMatch)(nil)).Elem() +func (GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationSubjectAlternativeName)(nil)).Elem() } -func (o VirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesMatchPtrOutput) ToVirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesMatchPtrOutput() VirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesMatchPtrOutput { +func (o GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameArrayOutput) ToGetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameArrayOutput() GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameArrayOutput { return o } -func (o VirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesMatchPtrOutput) ToVirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesMatchPtrOutputWithContext(ctx context.Context) VirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesMatchPtrOutput { +func (o GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameArrayOutput) ToGetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameArrayOutputWithContext(ctx context.Context) GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameArrayOutput { return o } -func (o VirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesMatchPtrOutput) Elem() VirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesMatchOutput { - return o.ApplyT(func(v *VirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesMatch) VirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesMatch { - if v != nil { - return *v - } - var ret VirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesMatch - return ret - }).(VirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesMatchOutput) -} - -// Values sent must match the specified values exactly. -func (o VirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesMatchPtrOutput) Exacts() pulumi.StringArrayOutput { - return o.ApplyT(func(v *VirtualNodeSpecListenerTlsValidationSubjectAlternativeNamesMatch) []string { - if v == nil { - return nil - } - return v.Exacts - }).(pulumi.StringArrayOutput) +func (o GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameArrayOutput) Index(i pulumi.IntInput) GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationSubjectAlternativeName { + return vs[0].([]GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationSubjectAlternativeName)[vs[1].(int)] + }).(GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameOutput) } -type VirtualNodeSpecListenerTlsValidationTrust struct { - // TLS validation context trust for a local file certificate. - File *VirtualNodeSpecListenerTlsValidationTrustFile `pulumi:"file"` - // TLS validation context trust for a [Secret Discovery Service](https://www.envoyproxy.io/docs/envoy/latest/configuration/security/secret#secret-discovery-service-sds) certificate. - Sds *VirtualNodeSpecListenerTlsValidationTrustSds `pulumi:"sds"` +type GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameMatch struct { + Exacts []string `pulumi:"exacts"` } -// VirtualNodeSpecListenerTlsValidationTrustInput is an input type that accepts VirtualNodeSpecListenerTlsValidationTrustArgs and VirtualNodeSpecListenerTlsValidationTrustOutput values. -// You can construct a concrete instance of `VirtualNodeSpecListenerTlsValidationTrustInput` via: +// GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameMatchInput is an input type that accepts GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameMatchArgs and GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameMatchOutput values. +// You can construct a concrete instance of `GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameMatchInput` via: // -// VirtualNodeSpecListenerTlsValidationTrustArgs{...} -type VirtualNodeSpecListenerTlsValidationTrustInput interface { +// GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameMatchArgs{...} +type GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameMatchInput interface { pulumi.Input - ToVirtualNodeSpecListenerTlsValidationTrustOutput() VirtualNodeSpecListenerTlsValidationTrustOutput - ToVirtualNodeSpecListenerTlsValidationTrustOutputWithContext(context.Context) VirtualNodeSpecListenerTlsValidationTrustOutput + ToGetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameMatchOutput() GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameMatchOutput + ToGetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameMatchOutputWithContext(context.Context) GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameMatchOutput } -type VirtualNodeSpecListenerTlsValidationTrustArgs struct { - // TLS validation context trust for a local file certificate. - File VirtualNodeSpecListenerTlsValidationTrustFilePtrInput `pulumi:"file"` - // TLS validation context trust for a [Secret Discovery Service](https://www.envoyproxy.io/docs/envoy/latest/configuration/security/secret#secret-discovery-service-sds) certificate. - Sds VirtualNodeSpecListenerTlsValidationTrustSdsPtrInput `pulumi:"sds"` +type GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameMatchArgs struct { + Exacts pulumi.StringArrayInput `pulumi:"exacts"` } -func (VirtualNodeSpecListenerTlsValidationTrustArgs) ElementType() reflect.Type { - return reflect.TypeOf((*VirtualNodeSpecListenerTlsValidationTrust)(nil)).Elem() +func (GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameMatchArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameMatch)(nil)).Elem() } -func (i VirtualNodeSpecListenerTlsValidationTrustArgs) ToVirtualNodeSpecListenerTlsValidationTrustOutput() VirtualNodeSpecListenerTlsValidationTrustOutput { - return i.ToVirtualNodeSpecListenerTlsValidationTrustOutputWithContext(context.Background()) +func (i GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameMatchArgs) ToGetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameMatchOutput() GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameMatchOutput { + return i.ToGetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameMatchOutputWithContext(context.Background()) } -func (i VirtualNodeSpecListenerTlsValidationTrustArgs) ToVirtualNodeSpecListenerTlsValidationTrustOutputWithContext(ctx context.Context) VirtualNodeSpecListenerTlsValidationTrustOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecListenerTlsValidationTrustOutput) +func (i GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameMatchArgs) ToGetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameMatchOutputWithContext(ctx context.Context) GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameMatchOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameMatchOutput) } -func (i VirtualNodeSpecListenerTlsValidationTrustArgs) ToVirtualNodeSpecListenerTlsValidationTrustPtrOutput() VirtualNodeSpecListenerTlsValidationTrustPtrOutput { - return i.ToVirtualNodeSpecListenerTlsValidationTrustPtrOutputWithContext(context.Background()) +// GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameMatchArrayInput is an input type that accepts GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameMatchArray and GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameMatchArrayOutput values. +// You can construct a concrete instance of `GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameMatchArrayInput` via: +// +// GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameMatchArray{ GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameMatchArgs{...} } +type GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameMatchArrayInput interface { + pulumi.Input + + ToGetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameMatchArrayOutput() GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameMatchArrayOutput + ToGetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameMatchArrayOutputWithContext(context.Context) GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameMatchArrayOutput } -func (i VirtualNodeSpecListenerTlsValidationTrustArgs) ToVirtualNodeSpecListenerTlsValidationTrustPtrOutputWithContext(ctx context.Context) VirtualNodeSpecListenerTlsValidationTrustPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecListenerTlsValidationTrustOutput).ToVirtualNodeSpecListenerTlsValidationTrustPtrOutputWithContext(ctx) +type GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameMatchArray []GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameMatchInput + +func (GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameMatchArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameMatch)(nil)).Elem() } -// VirtualNodeSpecListenerTlsValidationTrustPtrInput is an input type that accepts VirtualNodeSpecListenerTlsValidationTrustArgs, VirtualNodeSpecListenerTlsValidationTrustPtr and VirtualNodeSpecListenerTlsValidationTrustPtrOutput values. -// You can construct a concrete instance of `VirtualNodeSpecListenerTlsValidationTrustPtrInput` via: -// -// VirtualNodeSpecListenerTlsValidationTrustArgs{...} -// -// or: -// -// nil -type VirtualNodeSpecListenerTlsValidationTrustPtrInput interface { - pulumi.Input +func (i GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameMatchArray) ToGetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameMatchArrayOutput() GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameMatchArrayOutput { + return i.ToGetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameMatchArrayOutputWithContext(context.Background()) +} - ToVirtualNodeSpecListenerTlsValidationTrustPtrOutput() VirtualNodeSpecListenerTlsValidationTrustPtrOutput - ToVirtualNodeSpecListenerTlsValidationTrustPtrOutputWithContext(context.Context) VirtualNodeSpecListenerTlsValidationTrustPtrOutput +func (i GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameMatchArray) ToGetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameMatchArrayOutputWithContext(ctx context.Context) GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameMatchArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameMatchArrayOutput) } -type virtualNodeSpecListenerTlsValidationTrustPtrType VirtualNodeSpecListenerTlsValidationTrustArgs +type GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameMatchOutput struct{ *pulumi.OutputState } -func VirtualNodeSpecListenerTlsValidationTrustPtr(v *VirtualNodeSpecListenerTlsValidationTrustArgs) VirtualNodeSpecListenerTlsValidationTrustPtrInput { - return (*virtualNodeSpecListenerTlsValidationTrustPtrType)(v) +func (GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameMatchOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameMatch)(nil)).Elem() } -func (*virtualNodeSpecListenerTlsValidationTrustPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**VirtualNodeSpecListenerTlsValidationTrust)(nil)).Elem() +func (o GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameMatchOutput) ToGetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameMatchOutput() GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameMatchOutput { + return o } -func (i *virtualNodeSpecListenerTlsValidationTrustPtrType) ToVirtualNodeSpecListenerTlsValidationTrustPtrOutput() VirtualNodeSpecListenerTlsValidationTrustPtrOutput { - return i.ToVirtualNodeSpecListenerTlsValidationTrustPtrOutputWithContext(context.Background()) +func (o GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameMatchOutput) ToGetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameMatchOutputWithContext(ctx context.Context) GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameMatchOutput { + return o } -func (i *virtualNodeSpecListenerTlsValidationTrustPtrType) ToVirtualNodeSpecListenerTlsValidationTrustPtrOutputWithContext(ctx context.Context) VirtualNodeSpecListenerTlsValidationTrustPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecListenerTlsValidationTrustPtrOutput) +func (o GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameMatchOutput) Exacts() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameMatch) []string { + return v.Exacts + }).(pulumi.StringArrayOutput) } -type VirtualNodeSpecListenerTlsValidationTrustOutput struct{ *pulumi.OutputState } +type GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameMatchArrayOutput struct{ *pulumi.OutputState } -func (VirtualNodeSpecListenerTlsValidationTrustOutput) ElementType() reflect.Type { - return reflect.TypeOf((*VirtualNodeSpecListenerTlsValidationTrust)(nil)).Elem() +func (GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameMatchArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameMatch)(nil)).Elem() } -func (o VirtualNodeSpecListenerTlsValidationTrustOutput) ToVirtualNodeSpecListenerTlsValidationTrustOutput() VirtualNodeSpecListenerTlsValidationTrustOutput { +func (o GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameMatchArrayOutput) ToGetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameMatchArrayOutput() GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameMatchArrayOutput { return o } -func (o VirtualNodeSpecListenerTlsValidationTrustOutput) ToVirtualNodeSpecListenerTlsValidationTrustOutputWithContext(ctx context.Context) VirtualNodeSpecListenerTlsValidationTrustOutput { +func (o GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameMatchArrayOutput) ToGetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameMatchArrayOutputWithContext(ctx context.Context) GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameMatchArrayOutput { return o } -func (o VirtualNodeSpecListenerTlsValidationTrustOutput) ToVirtualNodeSpecListenerTlsValidationTrustPtrOutput() VirtualNodeSpecListenerTlsValidationTrustPtrOutput { - return o.ToVirtualNodeSpecListenerTlsValidationTrustPtrOutputWithContext(context.Background()) +func (o GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameMatchArrayOutput) Index(i pulumi.IntInput) GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameMatchOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameMatch { + return vs[0].([]GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameMatch)[vs[1].(int)] + }).(GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameMatchOutput) } -func (o VirtualNodeSpecListenerTlsValidationTrustOutput) ToVirtualNodeSpecListenerTlsValidationTrustPtrOutputWithContext(ctx context.Context) VirtualNodeSpecListenerTlsValidationTrustPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v VirtualNodeSpecListenerTlsValidationTrust) *VirtualNodeSpecListenerTlsValidationTrust { - return &v - }).(VirtualNodeSpecListenerTlsValidationTrustPtrOutput) +type GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrust struct { + Acms []GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustAcm `pulumi:"acms"` + Files []GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustFile `pulumi:"files"` + Sds []GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustSd `pulumi:"sds"` } -// TLS validation context trust for a local file certificate. -func (o VirtualNodeSpecListenerTlsValidationTrustOutput) File() VirtualNodeSpecListenerTlsValidationTrustFilePtrOutput { - return o.ApplyT(func(v VirtualNodeSpecListenerTlsValidationTrust) *VirtualNodeSpecListenerTlsValidationTrustFile { - return v.File - }).(VirtualNodeSpecListenerTlsValidationTrustFilePtrOutput) +// GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustInput is an input type that accepts GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustArgs and GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustOutput values. +// You can construct a concrete instance of `GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustInput` via: +// +// GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustArgs{...} +type GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustInput interface { + pulumi.Input + + ToGetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustOutput() GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustOutput + ToGetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustOutputWithContext(context.Context) GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustOutput } -// TLS validation context trust for a [Secret Discovery Service](https://www.envoyproxy.io/docs/envoy/latest/configuration/security/secret#secret-discovery-service-sds) certificate. -func (o VirtualNodeSpecListenerTlsValidationTrustOutput) Sds() VirtualNodeSpecListenerTlsValidationTrustSdsPtrOutput { - return o.ApplyT(func(v VirtualNodeSpecListenerTlsValidationTrust) *VirtualNodeSpecListenerTlsValidationTrustSds { - return v.Sds - }).(VirtualNodeSpecListenerTlsValidationTrustSdsPtrOutput) +type GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustArgs struct { + Acms GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustAcmArrayInput `pulumi:"acms"` + Files GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustFileArrayInput `pulumi:"files"` + Sds GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustSdArrayInput `pulumi:"sds"` } -type VirtualNodeSpecListenerTlsValidationTrustPtrOutput struct{ *pulumi.OutputState } +func (GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrust)(nil)).Elem() +} -func (VirtualNodeSpecListenerTlsValidationTrustPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**VirtualNodeSpecListenerTlsValidationTrust)(nil)).Elem() +func (i GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustArgs) ToGetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustOutput() GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustOutput { + return i.ToGetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustOutputWithContext(context.Background()) } -func (o VirtualNodeSpecListenerTlsValidationTrustPtrOutput) ToVirtualNodeSpecListenerTlsValidationTrustPtrOutput() VirtualNodeSpecListenerTlsValidationTrustPtrOutput { - return o +func (i GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustArgs) ToGetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustOutputWithContext(ctx context.Context) GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustOutput) } -func (o VirtualNodeSpecListenerTlsValidationTrustPtrOutput) ToVirtualNodeSpecListenerTlsValidationTrustPtrOutputWithContext(ctx context.Context) VirtualNodeSpecListenerTlsValidationTrustPtrOutput { - return o +// GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustArrayInput is an input type that accepts GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustArray and GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustArrayOutput values. +// You can construct a concrete instance of `GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustArrayInput` via: +// +// GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustArray{ GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustArgs{...} } +type GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustArrayInput interface { + pulumi.Input + + ToGetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustArrayOutput() GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustArrayOutput + ToGetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustArrayOutputWithContext(context.Context) GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustArrayOutput } -func (o VirtualNodeSpecListenerTlsValidationTrustPtrOutput) Elem() VirtualNodeSpecListenerTlsValidationTrustOutput { - return o.ApplyT(func(v *VirtualNodeSpecListenerTlsValidationTrust) VirtualNodeSpecListenerTlsValidationTrust { - if v != nil { - return *v - } - var ret VirtualNodeSpecListenerTlsValidationTrust - return ret - }).(VirtualNodeSpecListenerTlsValidationTrustOutput) +type GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustArray []GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustInput + +func (GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrust)(nil)).Elem() } -// TLS validation context trust for a local file certificate. -func (o VirtualNodeSpecListenerTlsValidationTrustPtrOutput) File() VirtualNodeSpecListenerTlsValidationTrustFilePtrOutput { - return o.ApplyT(func(v *VirtualNodeSpecListenerTlsValidationTrust) *VirtualNodeSpecListenerTlsValidationTrustFile { - if v == nil { - return nil - } - return v.File - }).(VirtualNodeSpecListenerTlsValidationTrustFilePtrOutput) +func (i GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustArray) ToGetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustArrayOutput() GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustArrayOutput { + return i.ToGetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustArrayOutputWithContext(context.Background()) } -// TLS validation context trust for a [Secret Discovery Service](https://www.envoyproxy.io/docs/envoy/latest/configuration/security/secret#secret-discovery-service-sds) certificate. -func (o VirtualNodeSpecListenerTlsValidationTrustPtrOutput) Sds() VirtualNodeSpecListenerTlsValidationTrustSdsPtrOutput { - return o.ApplyT(func(v *VirtualNodeSpecListenerTlsValidationTrust) *VirtualNodeSpecListenerTlsValidationTrustSds { - if v == nil { - return nil - } - return v.Sds - }).(VirtualNodeSpecListenerTlsValidationTrustSdsPtrOutput) +func (i GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustArray) ToGetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustArrayOutputWithContext(ctx context.Context) GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustArrayOutput) +} + +type GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustOutput struct{ *pulumi.OutputState } + +func (GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrust)(nil)).Elem() +} + +func (o GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustOutput) ToGetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustOutput() GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustOutput { + return o } -type VirtualNodeSpecListenerTlsValidationTrustFile struct { - // Certificate trust chain for a certificate stored on the file system of the mesh endpoint that the proxy is running on. Must be between 1 and 255 characters in length. - CertificateChain string `pulumi:"certificateChain"` +func (o GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustOutput) ToGetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustOutputWithContext(ctx context.Context) GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustOutput { + return o } -// VirtualNodeSpecListenerTlsValidationTrustFileInput is an input type that accepts VirtualNodeSpecListenerTlsValidationTrustFileArgs and VirtualNodeSpecListenerTlsValidationTrustFileOutput values. -// You can construct a concrete instance of `VirtualNodeSpecListenerTlsValidationTrustFileInput` via: -// -// VirtualNodeSpecListenerTlsValidationTrustFileArgs{...} -type VirtualNodeSpecListenerTlsValidationTrustFileInput interface { - pulumi.Input +func (o GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustOutput) Acms() GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustAcmArrayOutput { + return o.ApplyT(func(v GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrust) []GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustAcm { + return v.Acms + }).(GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustAcmArrayOutput) +} - ToVirtualNodeSpecListenerTlsValidationTrustFileOutput() VirtualNodeSpecListenerTlsValidationTrustFileOutput - ToVirtualNodeSpecListenerTlsValidationTrustFileOutputWithContext(context.Context) VirtualNodeSpecListenerTlsValidationTrustFileOutput +func (o GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustOutput) Files() GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustFileArrayOutput { + return o.ApplyT(func(v GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrust) []GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustFile { + return v.Files + }).(GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustFileArrayOutput) } -type VirtualNodeSpecListenerTlsValidationTrustFileArgs struct { - // Certificate trust chain for a certificate stored on the file system of the mesh endpoint that the proxy is running on. Must be between 1 and 255 characters in length. - CertificateChain pulumi.StringInput `pulumi:"certificateChain"` +func (o GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustOutput) Sds() GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustSdArrayOutput { + return o.ApplyT(func(v GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrust) []GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustSd { + return v.Sds + }).(GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustSdArrayOutput) } -func (VirtualNodeSpecListenerTlsValidationTrustFileArgs) ElementType() reflect.Type { - return reflect.TypeOf((*VirtualNodeSpecListenerTlsValidationTrustFile)(nil)).Elem() +type GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustArrayOutput struct{ *pulumi.OutputState } + +func (GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrust)(nil)).Elem() } -func (i VirtualNodeSpecListenerTlsValidationTrustFileArgs) ToVirtualNodeSpecListenerTlsValidationTrustFileOutput() VirtualNodeSpecListenerTlsValidationTrustFileOutput { - return i.ToVirtualNodeSpecListenerTlsValidationTrustFileOutputWithContext(context.Background()) +func (o GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustArrayOutput) ToGetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustArrayOutput() GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustArrayOutput { + return o } -func (i VirtualNodeSpecListenerTlsValidationTrustFileArgs) ToVirtualNodeSpecListenerTlsValidationTrustFileOutputWithContext(ctx context.Context) VirtualNodeSpecListenerTlsValidationTrustFileOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecListenerTlsValidationTrustFileOutput) +func (o GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustArrayOutput) ToGetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustArrayOutputWithContext(ctx context.Context) GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustArrayOutput { + return o } -func (i VirtualNodeSpecListenerTlsValidationTrustFileArgs) ToVirtualNodeSpecListenerTlsValidationTrustFilePtrOutput() VirtualNodeSpecListenerTlsValidationTrustFilePtrOutput { - return i.ToVirtualNodeSpecListenerTlsValidationTrustFilePtrOutputWithContext(context.Background()) +func (o GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustArrayOutput) Index(i pulumi.IntInput) GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrust { + return vs[0].([]GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrust)[vs[1].(int)] + }).(GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustOutput) } -func (i VirtualNodeSpecListenerTlsValidationTrustFileArgs) ToVirtualNodeSpecListenerTlsValidationTrustFilePtrOutputWithContext(ctx context.Context) VirtualNodeSpecListenerTlsValidationTrustFilePtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecListenerTlsValidationTrustFileOutput).ToVirtualNodeSpecListenerTlsValidationTrustFilePtrOutputWithContext(ctx) +type GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustAcm struct { + CertificateAuthorityArns []string `pulumi:"certificateAuthorityArns"` } -// VirtualNodeSpecListenerTlsValidationTrustFilePtrInput is an input type that accepts VirtualNodeSpecListenerTlsValidationTrustFileArgs, VirtualNodeSpecListenerTlsValidationTrustFilePtr and VirtualNodeSpecListenerTlsValidationTrustFilePtrOutput values. -// You can construct a concrete instance of `VirtualNodeSpecListenerTlsValidationTrustFilePtrInput` via: -// -// VirtualNodeSpecListenerTlsValidationTrustFileArgs{...} -// -// or: +// GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustAcmInput is an input type that accepts GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustAcmArgs and GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustAcmOutput values. +// You can construct a concrete instance of `GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustAcmInput` via: // -// nil -type VirtualNodeSpecListenerTlsValidationTrustFilePtrInput interface { +// GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustAcmArgs{...} +type GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustAcmInput interface { pulumi.Input - ToVirtualNodeSpecListenerTlsValidationTrustFilePtrOutput() VirtualNodeSpecListenerTlsValidationTrustFilePtrOutput - ToVirtualNodeSpecListenerTlsValidationTrustFilePtrOutputWithContext(context.Context) VirtualNodeSpecListenerTlsValidationTrustFilePtrOutput + ToGetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustAcmOutput() GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustAcmOutput + ToGetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustAcmOutputWithContext(context.Context) GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustAcmOutput } -type virtualNodeSpecListenerTlsValidationTrustFilePtrType VirtualNodeSpecListenerTlsValidationTrustFileArgs - -func VirtualNodeSpecListenerTlsValidationTrustFilePtr(v *VirtualNodeSpecListenerTlsValidationTrustFileArgs) VirtualNodeSpecListenerTlsValidationTrustFilePtrInput { - return (*virtualNodeSpecListenerTlsValidationTrustFilePtrType)(v) +type GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustAcmArgs struct { + CertificateAuthorityArns pulumi.StringArrayInput `pulumi:"certificateAuthorityArns"` } -func (*virtualNodeSpecListenerTlsValidationTrustFilePtrType) ElementType() reflect.Type { - return reflect.TypeOf((**VirtualNodeSpecListenerTlsValidationTrustFile)(nil)).Elem() +func (GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustAcmArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustAcm)(nil)).Elem() } -func (i *virtualNodeSpecListenerTlsValidationTrustFilePtrType) ToVirtualNodeSpecListenerTlsValidationTrustFilePtrOutput() VirtualNodeSpecListenerTlsValidationTrustFilePtrOutput { - return i.ToVirtualNodeSpecListenerTlsValidationTrustFilePtrOutputWithContext(context.Background()) +func (i GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustAcmArgs) ToGetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustAcmOutput() GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustAcmOutput { + return i.ToGetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustAcmOutputWithContext(context.Background()) } -func (i *virtualNodeSpecListenerTlsValidationTrustFilePtrType) ToVirtualNodeSpecListenerTlsValidationTrustFilePtrOutputWithContext(ctx context.Context) VirtualNodeSpecListenerTlsValidationTrustFilePtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecListenerTlsValidationTrustFilePtrOutput) +func (i GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustAcmArgs) ToGetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustAcmOutputWithContext(ctx context.Context) GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustAcmOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustAcmOutput) } -type VirtualNodeSpecListenerTlsValidationTrustFileOutput struct{ *pulumi.OutputState } - -func (VirtualNodeSpecListenerTlsValidationTrustFileOutput) ElementType() reflect.Type { - return reflect.TypeOf((*VirtualNodeSpecListenerTlsValidationTrustFile)(nil)).Elem() -} +// GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustAcmArrayInput is an input type that accepts GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustAcmArray and GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustAcmArrayOutput values. +// You can construct a concrete instance of `GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustAcmArrayInput` via: +// +// GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustAcmArray{ GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustAcmArgs{...} } +type GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustAcmArrayInput interface { + pulumi.Input -func (o VirtualNodeSpecListenerTlsValidationTrustFileOutput) ToVirtualNodeSpecListenerTlsValidationTrustFileOutput() VirtualNodeSpecListenerTlsValidationTrustFileOutput { - return o + ToGetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustAcmArrayOutput() GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustAcmArrayOutput + ToGetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustAcmArrayOutputWithContext(context.Context) GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustAcmArrayOutput } -func (o VirtualNodeSpecListenerTlsValidationTrustFileOutput) ToVirtualNodeSpecListenerTlsValidationTrustFileOutputWithContext(ctx context.Context) VirtualNodeSpecListenerTlsValidationTrustFileOutput { - return o -} +type GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustAcmArray []GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustAcmInput -func (o VirtualNodeSpecListenerTlsValidationTrustFileOutput) ToVirtualNodeSpecListenerTlsValidationTrustFilePtrOutput() VirtualNodeSpecListenerTlsValidationTrustFilePtrOutput { - return o.ToVirtualNodeSpecListenerTlsValidationTrustFilePtrOutputWithContext(context.Background()) +func (GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustAcmArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustAcm)(nil)).Elem() } -func (o VirtualNodeSpecListenerTlsValidationTrustFileOutput) ToVirtualNodeSpecListenerTlsValidationTrustFilePtrOutputWithContext(ctx context.Context) VirtualNodeSpecListenerTlsValidationTrustFilePtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v VirtualNodeSpecListenerTlsValidationTrustFile) *VirtualNodeSpecListenerTlsValidationTrustFile { - return &v - }).(VirtualNodeSpecListenerTlsValidationTrustFilePtrOutput) +func (i GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustAcmArray) ToGetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustAcmArrayOutput() GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustAcmArrayOutput { + return i.ToGetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustAcmArrayOutputWithContext(context.Background()) } -// Certificate trust chain for a certificate stored on the file system of the mesh endpoint that the proxy is running on. Must be between 1 and 255 characters in length. -func (o VirtualNodeSpecListenerTlsValidationTrustFileOutput) CertificateChain() pulumi.StringOutput { - return o.ApplyT(func(v VirtualNodeSpecListenerTlsValidationTrustFile) string { return v.CertificateChain }).(pulumi.StringOutput) +func (i GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustAcmArray) ToGetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustAcmArrayOutputWithContext(ctx context.Context) GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustAcmArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustAcmArrayOutput) } -type VirtualNodeSpecListenerTlsValidationTrustFilePtrOutput struct{ *pulumi.OutputState } +type GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustAcmOutput struct{ *pulumi.OutputState } -func (VirtualNodeSpecListenerTlsValidationTrustFilePtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**VirtualNodeSpecListenerTlsValidationTrustFile)(nil)).Elem() +func (GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustAcmOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustAcm)(nil)).Elem() } -func (o VirtualNodeSpecListenerTlsValidationTrustFilePtrOutput) ToVirtualNodeSpecListenerTlsValidationTrustFilePtrOutput() VirtualNodeSpecListenerTlsValidationTrustFilePtrOutput { +func (o GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustAcmOutput) ToGetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustAcmOutput() GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustAcmOutput { return o } -func (o VirtualNodeSpecListenerTlsValidationTrustFilePtrOutput) ToVirtualNodeSpecListenerTlsValidationTrustFilePtrOutputWithContext(ctx context.Context) VirtualNodeSpecListenerTlsValidationTrustFilePtrOutput { +func (o GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustAcmOutput) ToGetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustAcmOutputWithContext(ctx context.Context) GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustAcmOutput { return o } -func (o VirtualNodeSpecListenerTlsValidationTrustFilePtrOutput) Elem() VirtualNodeSpecListenerTlsValidationTrustFileOutput { - return o.ApplyT(func(v *VirtualNodeSpecListenerTlsValidationTrustFile) VirtualNodeSpecListenerTlsValidationTrustFile { - if v != nil { - return *v - } - var ret VirtualNodeSpecListenerTlsValidationTrustFile - return ret - }).(VirtualNodeSpecListenerTlsValidationTrustFileOutput) +func (o GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustAcmOutput) CertificateAuthorityArns() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustAcm) []string { + return v.CertificateAuthorityArns + }).(pulumi.StringArrayOutput) } -// Certificate trust chain for a certificate stored on the file system of the mesh endpoint that the proxy is running on. Must be between 1 and 255 characters in length. -func (o VirtualNodeSpecListenerTlsValidationTrustFilePtrOutput) CertificateChain() pulumi.StringPtrOutput { - return o.ApplyT(func(v *VirtualNodeSpecListenerTlsValidationTrustFile) *string { - if v == nil { - return nil - } - return &v.CertificateChain - }).(pulumi.StringPtrOutput) +type GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustAcmArrayOutput struct{ *pulumi.OutputState } + +func (GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustAcmArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustAcm)(nil)).Elem() } -type VirtualNodeSpecListenerTlsValidationTrustSds struct { - // Name of the secret for a virtual node's Transport Layer Security (TLS) Secret Discovery Service validation context trust. - SecretName string `pulumi:"secretName"` +func (o GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustAcmArrayOutput) ToGetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustAcmArrayOutput() GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustAcmArrayOutput { + return o } -// VirtualNodeSpecListenerTlsValidationTrustSdsInput is an input type that accepts VirtualNodeSpecListenerTlsValidationTrustSdsArgs and VirtualNodeSpecListenerTlsValidationTrustSdsOutput values. -// You can construct a concrete instance of `VirtualNodeSpecListenerTlsValidationTrustSdsInput` via: -// -// VirtualNodeSpecListenerTlsValidationTrustSdsArgs{...} -type VirtualNodeSpecListenerTlsValidationTrustSdsInput interface { - pulumi.Input +func (o GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustAcmArrayOutput) ToGetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustAcmArrayOutputWithContext(ctx context.Context) GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustAcmArrayOutput { + return o +} - ToVirtualNodeSpecListenerTlsValidationTrustSdsOutput() VirtualNodeSpecListenerTlsValidationTrustSdsOutput - ToVirtualNodeSpecListenerTlsValidationTrustSdsOutputWithContext(context.Context) VirtualNodeSpecListenerTlsValidationTrustSdsOutput +func (o GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustAcmArrayOutput) Index(i pulumi.IntInput) GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustAcmOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustAcm { + return vs[0].([]GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustAcm)[vs[1].(int)] + }).(GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustAcmOutput) } -type VirtualNodeSpecListenerTlsValidationTrustSdsArgs struct { - // Name of the secret for a virtual node's Transport Layer Security (TLS) Secret Discovery Service validation context trust. - SecretName pulumi.StringInput `pulumi:"secretName"` +type GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustFile struct { + CertificateChain string `pulumi:"certificateChain"` } -func (VirtualNodeSpecListenerTlsValidationTrustSdsArgs) ElementType() reflect.Type { - return reflect.TypeOf((*VirtualNodeSpecListenerTlsValidationTrustSds)(nil)).Elem() +// GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustFileInput is an input type that accepts GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustFileArgs and GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustFileOutput values. +// You can construct a concrete instance of `GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustFileInput` via: +// +// GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustFileArgs{...} +type GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustFileInput interface { + pulumi.Input + + ToGetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustFileOutput() GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustFileOutput + ToGetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustFileOutputWithContext(context.Context) GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustFileOutput } -func (i VirtualNodeSpecListenerTlsValidationTrustSdsArgs) ToVirtualNodeSpecListenerTlsValidationTrustSdsOutput() VirtualNodeSpecListenerTlsValidationTrustSdsOutput { - return i.ToVirtualNodeSpecListenerTlsValidationTrustSdsOutputWithContext(context.Background()) +type GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustFileArgs struct { + CertificateChain pulumi.StringInput `pulumi:"certificateChain"` } -func (i VirtualNodeSpecListenerTlsValidationTrustSdsArgs) ToVirtualNodeSpecListenerTlsValidationTrustSdsOutputWithContext(ctx context.Context) VirtualNodeSpecListenerTlsValidationTrustSdsOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecListenerTlsValidationTrustSdsOutput) +func (GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustFileArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustFile)(nil)).Elem() } -func (i VirtualNodeSpecListenerTlsValidationTrustSdsArgs) ToVirtualNodeSpecListenerTlsValidationTrustSdsPtrOutput() VirtualNodeSpecListenerTlsValidationTrustSdsPtrOutput { - return i.ToVirtualNodeSpecListenerTlsValidationTrustSdsPtrOutputWithContext(context.Background()) +func (i GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustFileArgs) ToGetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustFileOutput() GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustFileOutput { + return i.ToGetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustFileOutputWithContext(context.Background()) } -func (i VirtualNodeSpecListenerTlsValidationTrustSdsArgs) ToVirtualNodeSpecListenerTlsValidationTrustSdsPtrOutputWithContext(ctx context.Context) VirtualNodeSpecListenerTlsValidationTrustSdsPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecListenerTlsValidationTrustSdsOutput).ToVirtualNodeSpecListenerTlsValidationTrustSdsPtrOutputWithContext(ctx) +func (i GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustFileArgs) ToGetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustFileOutputWithContext(ctx context.Context) GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustFileOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustFileOutput) } -// VirtualNodeSpecListenerTlsValidationTrustSdsPtrInput is an input type that accepts VirtualNodeSpecListenerTlsValidationTrustSdsArgs, VirtualNodeSpecListenerTlsValidationTrustSdsPtr and VirtualNodeSpecListenerTlsValidationTrustSdsPtrOutput values. -// You can construct a concrete instance of `VirtualNodeSpecListenerTlsValidationTrustSdsPtrInput` via: -// -// VirtualNodeSpecListenerTlsValidationTrustSdsArgs{...} -// -// or: +// GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustFileArrayInput is an input type that accepts GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustFileArray and GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustFileArrayOutput values. +// You can construct a concrete instance of `GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustFileArrayInput` via: // -// nil -type VirtualNodeSpecListenerTlsValidationTrustSdsPtrInput interface { +// GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustFileArray{ GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustFileArgs{...} } +type GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustFileArrayInput interface { pulumi.Input - ToVirtualNodeSpecListenerTlsValidationTrustSdsPtrOutput() VirtualNodeSpecListenerTlsValidationTrustSdsPtrOutput - ToVirtualNodeSpecListenerTlsValidationTrustSdsPtrOutputWithContext(context.Context) VirtualNodeSpecListenerTlsValidationTrustSdsPtrOutput + ToGetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustFileArrayOutput() GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustFileArrayOutput + ToGetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustFileArrayOutputWithContext(context.Context) GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustFileArrayOutput } -type virtualNodeSpecListenerTlsValidationTrustSdsPtrType VirtualNodeSpecListenerTlsValidationTrustSdsArgs - -func VirtualNodeSpecListenerTlsValidationTrustSdsPtr(v *VirtualNodeSpecListenerTlsValidationTrustSdsArgs) VirtualNodeSpecListenerTlsValidationTrustSdsPtrInput { - return (*virtualNodeSpecListenerTlsValidationTrustSdsPtrType)(v) -} +type GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustFileArray []GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustFileInput -func (*virtualNodeSpecListenerTlsValidationTrustSdsPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**VirtualNodeSpecListenerTlsValidationTrustSds)(nil)).Elem() +func (GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustFileArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustFile)(nil)).Elem() } -func (i *virtualNodeSpecListenerTlsValidationTrustSdsPtrType) ToVirtualNodeSpecListenerTlsValidationTrustSdsPtrOutput() VirtualNodeSpecListenerTlsValidationTrustSdsPtrOutput { - return i.ToVirtualNodeSpecListenerTlsValidationTrustSdsPtrOutputWithContext(context.Background()) +func (i GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustFileArray) ToGetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustFileArrayOutput() GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustFileArrayOutput { + return i.ToGetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustFileArrayOutputWithContext(context.Background()) } -func (i *virtualNodeSpecListenerTlsValidationTrustSdsPtrType) ToVirtualNodeSpecListenerTlsValidationTrustSdsPtrOutputWithContext(ctx context.Context) VirtualNodeSpecListenerTlsValidationTrustSdsPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecListenerTlsValidationTrustSdsPtrOutput) +func (i GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustFileArray) ToGetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustFileArrayOutputWithContext(ctx context.Context) GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustFileArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustFileArrayOutput) } -type VirtualNodeSpecListenerTlsValidationTrustSdsOutput struct{ *pulumi.OutputState } +type GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustFileOutput struct{ *pulumi.OutputState } -func (VirtualNodeSpecListenerTlsValidationTrustSdsOutput) ElementType() reflect.Type { - return reflect.TypeOf((*VirtualNodeSpecListenerTlsValidationTrustSds)(nil)).Elem() +func (GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustFileOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustFile)(nil)).Elem() } -func (o VirtualNodeSpecListenerTlsValidationTrustSdsOutput) ToVirtualNodeSpecListenerTlsValidationTrustSdsOutput() VirtualNodeSpecListenerTlsValidationTrustSdsOutput { +func (o GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustFileOutput) ToGetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustFileOutput() GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustFileOutput { return o } -func (o VirtualNodeSpecListenerTlsValidationTrustSdsOutput) ToVirtualNodeSpecListenerTlsValidationTrustSdsOutputWithContext(ctx context.Context) VirtualNodeSpecListenerTlsValidationTrustSdsOutput { +func (o GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustFileOutput) ToGetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustFileOutputWithContext(ctx context.Context) GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustFileOutput { return o } -func (o VirtualNodeSpecListenerTlsValidationTrustSdsOutput) ToVirtualNodeSpecListenerTlsValidationTrustSdsPtrOutput() VirtualNodeSpecListenerTlsValidationTrustSdsPtrOutput { - return o.ToVirtualNodeSpecListenerTlsValidationTrustSdsPtrOutputWithContext(context.Background()) -} - -func (o VirtualNodeSpecListenerTlsValidationTrustSdsOutput) ToVirtualNodeSpecListenerTlsValidationTrustSdsPtrOutputWithContext(ctx context.Context) VirtualNodeSpecListenerTlsValidationTrustSdsPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v VirtualNodeSpecListenerTlsValidationTrustSds) *VirtualNodeSpecListenerTlsValidationTrustSds { - return &v - }).(VirtualNodeSpecListenerTlsValidationTrustSdsPtrOutput) -} - -// Name of the secret for a virtual node's Transport Layer Security (TLS) Secret Discovery Service validation context trust. -func (o VirtualNodeSpecListenerTlsValidationTrustSdsOutput) SecretName() pulumi.StringOutput { - return o.ApplyT(func(v VirtualNodeSpecListenerTlsValidationTrustSds) string { return v.SecretName }).(pulumi.StringOutput) +func (o GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustFileOutput) CertificateChain() pulumi.StringOutput { + return o.ApplyT(func(v GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustFile) string { + return v.CertificateChain + }).(pulumi.StringOutput) } -type VirtualNodeSpecListenerTlsValidationTrustSdsPtrOutput struct{ *pulumi.OutputState } +type GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustFileArrayOutput struct{ *pulumi.OutputState } -func (VirtualNodeSpecListenerTlsValidationTrustSdsPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**VirtualNodeSpecListenerTlsValidationTrustSds)(nil)).Elem() +func (GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustFileArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustFile)(nil)).Elem() } -func (o VirtualNodeSpecListenerTlsValidationTrustSdsPtrOutput) ToVirtualNodeSpecListenerTlsValidationTrustSdsPtrOutput() VirtualNodeSpecListenerTlsValidationTrustSdsPtrOutput { +func (o GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustFileArrayOutput) ToGetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustFileArrayOutput() GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustFileArrayOutput { return o } -func (o VirtualNodeSpecListenerTlsValidationTrustSdsPtrOutput) ToVirtualNodeSpecListenerTlsValidationTrustSdsPtrOutputWithContext(ctx context.Context) VirtualNodeSpecListenerTlsValidationTrustSdsPtrOutput { +func (o GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustFileArrayOutput) ToGetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustFileArrayOutputWithContext(ctx context.Context) GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustFileArrayOutput { return o } -func (o VirtualNodeSpecListenerTlsValidationTrustSdsPtrOutput) Elem() VirtualNodeSpecListenerTlsValidationTrustSdsOutput { - return o.ApplyT(func(v *VirtualNodeSpecListenerTlsValidationTrustSds) VirtualNodeSpecListenerTlsValidationTrustSds { - if v != nil { - return *v - } - var ret VirtualNodeSpecListenerTlsValidationTrustSds - return ret - }).(VirtualNodeSpecListenerTlsValidationTrustSdsOutput) -} - -// Name of the secret for a virtual node's Transport Layer Security (TLS) Secret Discovery Service validation context trust. -func (o VirtualNodeSpecListenerTlsValidationTrustSdsPtrOutput) SecretName() pulumi.StringPtrOutput { - return o.ApplyT(func(v *VirtualNodeSpecListenerTlsValidationTrustSds) *string { - if v == nil { - return nil - } - return &v.SecretName - }).(pulumi.StringPtrOutput) +func (o GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustFileArrayOutput) Index(i pulumi.IntInput) GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustFileOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustFile { + return vs[0].([]GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustFile)[vs[1].(int)] + }).(GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustFileOutput) } -type VirtualNodeSpecLogging struct { - // Access log configuration for a virtual node. - AccessLog *VirtualNodeSpecLoggingAccessLog `pulumi:"accessLog"` +type GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustSd struct { + SecretName string `pulumi:"secretName"` } -// VirtualNodeSpecLoggingInput is an input type that accepts VirtualNodeSpecLoggingArgs and VirtualNodeSpecLoggingOutput values. -// You can construct a concrete instance of `VirtualNodeSpecLoggingInput` via: +// GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustSdInput is an input type that accepts GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustSdArgs and GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustSdOutput values. +// You can construct a concrete instance of `GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustSdInput` via: // -// VirtualNodeSpecLoggingArgs{...} -type VirtualNodeSpecLoggingInput interface { +// GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustSdArgs{...} +type GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustSdInput interface { pulumi.Input - ToVirtualNodeSpecLoggingOutput() VirtualNodeSpecLoggingOutput - ToVirtualNodeSpecLoggingOutputWithContext(context.Context) VirtualNodeSpecLoggingOutput -} - -type VirtualNodeSpecLoggingArgs struct { - // Access log configuration for a virtual node. - AccessLog VirtualNodeSpecLoggingAccessLogPtrInput `pulumi:"accessLog"` -} - -func (VirtualNodeSpecLoggingArgs) ElementType() reflect.Type { - return reflect.TypeOf((*VirtualNodeSpecLogging)(nil)).Elem() + ToGetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustSdOutput() GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustSdOutput + ToGetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustSdOutputWithContext(context.Context) GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustSdOutput } -func (i VirtualNodeSpecLoggingArgs) ToVirtualNodeSpecLoggingOutput() VirtualNodeSpecLoggingOutput { - return i.ToVirtualNodeSpecLoggingOutputWithContext(context.Background()) +type GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustSdArgs struct { + SecretName pulumi.StringInput `pulumi:"secretName"` } -func (i VirtualNodeSpecLoggingArgs) ToVirtualNodeSpecLoggingOutputWithContext(ctx context.Context) VirtualNodeSpecLoggingOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecLoggingOutput) +func (GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustSdArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustSd)(nil)).Elem() } -func (i VirtualNodeSpecLoggingArgs) ToVirtualNodeSpecLoggingPtrOutput() VirtualNodeSpecLoggingPtrOutput { - return i.ToVirtualNodeSpecLoggingPtrOutputWithContext(context.Background()) +func (i GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustSdArgs) ToGetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustSdOutput() GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustSdOutput { + return i.ToGetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustSdOutputWithContext(context.Background()) } -func (i VirtualNodeSpecLoggingArgs) ToVirtualNodeSpecLoggingPtrOutputWithContext(ctx context.Context) VirtualNodeSpecLoggingPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecLoggingOutput).ToVirtualNodeSpecLoggingPtrOutputWithContext(ctx) +func (i GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustSdArgs) ToGetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustSdOutputWithContext(ctx context.Context) GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustSdOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustSdOutput) } -// VirtualNodeSpecLoggingPtrInput is an input type that accepts VirtualNodeSpecLoggingArgs, VirtualNodeSpecLoggingPtr and VirtualNodeSpecLoggingPtrOutput values. -// You can construct a concrete instance of `VirtualNodeSpecLoggingPtrInput` via: -// -// VirtualNodeSpecLoggingArgs{...} -// -// or: +// GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustSdArrayInput is an input type that accepts GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustSdArray and GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustSdArrayOutput values. +// You can construct a concrete instance of `GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustSdArrayInput` via: // -// nil -type VirtualNodeSpecLoggingPtrInput interface { +// GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustSdArray{ GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustSdArgs{...} } +type GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustSdArrayInput interface { pulumi.Input - ToVirtualNodeSpecLoggingPtrOutput() VirtualNodeSpecLoggingPtrOutput - ToVirtualNodeSpecLoggingPtrOutputWithContext(context.Context) VirtualNodeSpecLoggingPtrOutput + ToGetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustSdArrayOutput() GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustSdArrayOutput + ToGetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustSdArrayOutputWithContext(context.Context) GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustSdArrayOutput } -type virtualNodeSpecLoggingPtrType VirtualNodeSpecLoggingArgs - -func VirtualNodeSpecLoggingPtr(v *VirtualNodeSpecLoggingArgs) VirtualNodeSpecLoggingPtrInput { - return (*virtualNodeSpecLoggingPtrType)(v) -} +type GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustSdArray []GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustSdInput -func (*virtualNodeSpecLoggingPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**VirtualNodeSpecLogging)(nil)).Elem() +func (GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustSdArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustSd)(nil)).Elem() } -func (i *virtualNodeSpecLoggingPtrType) ToVirtualNodeSpecLoggingPtrOutput() VirtualNodeSpecLoggingPtrOutput { - return i.ToVirtualNodeSpecLoggingPtrOutputWithContext(context.Background()) +func (i GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustSdArray) ToGetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustSdArrayOutput() GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustSdArrayOutput { + return i.ToGetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustSdArrayOutputWithContext(context.Background()) } -func (i *virtualNodeSpecLoggingPtrType) ToVirtualNodeSpecLoggingPtrOutputWithContext(ctx context.Context) VirtualNodeSpecLoggingPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecLoggingPtrOutput) +func (i GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustSdArray) ToGetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustSdArrayOutputWithContext(ctx context.Context) GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustSdArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustSdArrayOutput) } -type VirtualNodeSpecLoggingOutput struct{ *pulumi.OutputState } +type GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustSdOutput struct{ *pulumi.OutputState } -func (VirtualNodeSpecLoggingOutput) ElementType() reflect.Type { - return reflect.TypeOf((*VirtualNodeSpecLogging)(nil)).Elem() +func (GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustSdOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustSd)(nil)).Elem() } -func (o VirtualNodeSpecLoggingOutput) ToVirtualNodeSpecLoggingOutput() VirtualNodeSpecLoggingOutput { +func (o GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustSdOutput) ToGetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustSdOutput() GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustSdOutput { return o } -func (o VirtualNodeSpecLoggingOutput) ToVirtualNodeSpecLoggingOutputWithContext(ctx context.Context) VirtualNodeSpecLoggingOutput { +func (o GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustSdOutput) ToGetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustSdOutputWithContext(ctx context.Context) GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustSdOutput { return o } -func (o VirtualNodeSpecLoggingOutput) ToVirtualNodeSpecLoggingPtrOutput() VirtualNodeSpecLoggingPtrOutput { - return o.ToVirtualNodeSpecLoggingPtrOutputWithContext(context.Background()) -} - -func (o VirtualNodeSpecLoggingOutput) ToVirtualNodeSpecLoggingPtrOutputWithContext(ctx context.Context) VirtualNodeSpecLoggingPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v VirtualNodeSpecLogging) *VirtualNodeSpecLogging { - return &v - }).(VirtualNodeSpecLoggingPtrOutput) -} - -// Access log configuration for a virtual node. -func (o VirtualNodeSpecLoggingOutput) AccessLog() VirtualNodeSpecLoggingAccessLogPtrOutput { - return o.ApplyT(func(v VirtualNodeSpecLogging) *VirtualNodeSpecLoggingAccessLog { return v.AccessLog }).(VirtualNodeSpecLoggingAccessLogPtrOutput) +func (o GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustSdOutput) SecretName() pulumi.StringOutput { + return o.ApplyT(func(v GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustSd) string { return v.SecretName }).(pulumi.StringOutput) } -type VirtualNodeSpecLoggingPtrOutput struct{ *pulumi.OutputState } +type GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustSdArrayOutput struct{ *pulumi.OutputState } -func (VirtualNodeSpecLoggingPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**VirtualNodeSpecLogging)(nil)).Elem() +func (GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustSdArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustSd)(nil)).Elem() } -func (o VirtualNodeSpecLoggingPtrOutput) ToVirtualNodeSpecLoggingPtrOutput() VirtualNodeSpecLoggingPtrOutput { +func (o GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustSdArrayOutput) ToGetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustSdArrayOutput() GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustSdArrayOutput { return o } -func (o VirtualNodeSpecLoggingPtrOutput) ToVirtualNodeSpecLoggingPtrOutputWithContext(ctx context.Context) VirtualNodeSpecLoggingPtrOutput { +func (o GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustSdArrayOutput) ToGetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustSdArrayOutputWithContext(ctx context.Context) GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustSdArrayOutput { return o } -func (o VirtualNodeSpecLoggingPtrOutput) Elem() VirtualNodeSpecLoggingOutput { - return o.ApplyT(func(v *VirtualNodeSpecLogging) VirtualNodeSpecLogging { - if v != nil { - return *v - } - var ret VirtualNodeSpecLogging - return ret - }).(VirtualNodeSpecLoggingOutput) -} - -// Access log configuration for a virtual node. -func (o VirtualNodeSpecLoggingPtrOutput) AccessLog() VirtualNodeSpecLoggingAccessLogPtrOutput { - return o.ApplyT(func(v *VirtualNodeSpecLogging) *VirtualNodeSpecLoggingAccessLog { - if v == nil { - return nil - } - return v.AccessLog - }).(VirtualNodeSpecLoggingAccessLogPtrOutput) +func (o GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustSdArrayOutput) Index(i pulumi.IntInput) GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustSdOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustSd { + return vs[0].([]GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustSd)[vs[1].(int)] + }).(GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustSdOutput) } -type VirtualNodeSpecLoggingAccessLog struct { - // File object to send virtual node access logs to. - File *VirtualNodeSpecLoggingAccessLogFile `pulumi:"file"` +type GetVirtualGatewaySpecListener struct { + ConnectionPools []GetVirtualGatewaySpecListenerConnectionPool `pulumi:"connectionPools"` + HealthChecks []GetVirtualGatewaySpecListenerHealthCheck `pulumi:"healthChecks"` + PortMappings []GetVirtualGatewaySpecListenerPortMapping `pulumi:"portMappings"` + Tls []GetVirtualGatewaySpecListenerTl `pulumi:"tls"` } -// VirtualNodeSpecLoggingAccessLogInput is an input type that accepts VirtualNodeSpecLoggingAccessLogArgs and VirtualNodeSpecLoggingAccessLogOutput values. -// You can construct a concrete instance of `VirtualNodeSpecLoggingAccessLogInput` via: +// GetVirtualGatewaySpecListenerInput is an input type that accepts GetVirtualGatewaySpecListenerArgs and GetVirtualGatewaySpecListenerOutput values. +// You can construct a concrete instance of `GetVirtualGatewaySpecListenerInput` via: // -// VirtualNodeSpecLoggingAccessLogArgs{...} -type VirtualNodeSpecLoggingAccessLogInput interface { +// GetVirtualGatewaySpecListenerArgs{...} +type GetVirtualGatewaySpecListenerInput interface { pulumi.Input - ToVirtualNodeSpecLoggingAccessLogOutput() VirtualNodeSpecLoggingAccessLogOutput - ToVirtualNodeSpecLoggingAccessLogOutputWithContext(context.Context) VirtualNodeSpecLoggingAccessLogOutput -} - -type VirtualNodeSpecLoggingAccessLogArgs struct { - // File object to send virtual node access logs to. - File VirtualNodeSpecLoggingAccessLogFilePtrInput `pulumi:"file"` -} - -func (VirtualNodeSpecLoggingAccessLogArgs) ElementType() reflect.Type { - return reflect.TypeOf((*VirtualNodeSpecLoggingAccessLog)(nil)).Elem() + ToGetVirtualGatewaySpecListenerOutput() GetVirtualGatewaySpecListenerOutput + ToGetVirtualGatewaySpecListenerOutputWithContext(context.Context) GetVirtualGatewaySpecListenerOutput } -func (i VirtualNodeSpecLoggingAccessLogArgs) ToVirtualNodeSpecLoggingAccessLogOutput() VirtualNodeSpecLoggingAccessLogOutput { - return i.ToVirtualNodeSpecLoggingAccessLogOutputWithContext(context.Background()) +type GetVirtualGatewaySpecListenerArgs struct { + ConnectionPools GetVirtualGatewaySpecListenerConnectionPoolArrayInput `pulumi:"connectionPools"` + HealthChecks GetVirtualGatewaySpecListenerHealthCheckArrayInput `pulumi:"healthChecks"` + PortMappings GetVirtualGatewaySpecListenerPortMappingArrayInput `pulumi:"portMappings"` + Tls GetVirtualGatewaySpecListenerTlArrayInput `pulumi:"tls"` } -func (i VirtualNodeSpecLoggingAccessLogArgs) ToVirtualNodeSpecLoggingAccessLogOutputWithContext(ctx context.Context) VirtualNodeSpecLoggingAccessLogOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecLoggingAccessLogOutput) +func (GetVirtualGatewaySpecListenerArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetVirtualGatewaySpecListener)(nil)).Elem() } -func (i VirtualNodeSpecLoggingAccessLogArgs) ToVirtualNodeSpecLoggingAccessLogPtrOutput() VirtualNodeSpecLoggingAccessLogPtrOutput { - return i.ToVirtualNodeSpecLoggingAccessLogPtrOutputWithContext(context.Background()) +func (i GetVirtualGatewaySpecListenerArgs) ToGetVirtualGatewaySpecListenerOutput() GetVirtualGatewaySpecListenerOutput { + return i.ToGetVirtualGatewaySpecListenerOutputWithContext(context.Background()) } -func (i VirtualNodeSpecLoggingAccessLogArgs) ToVirtualNodeSpecLoggingAccessLogPtrOutputWithContext(ctx context.Context) VirtualNodeSpecLoggingAccessLogPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecLoggingAccessLogOutput).ToVirtualNodeSpecLoggingAccessLogPtrOutputWithContext(ctx) +func (i GetVirtualGatewaySpecListenerArgs) ToGetVirtualGatewaySpecListenerOutputWithContext(ctx context.Context) GetVirtualGatewaySpecListenerOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetVirtualGatewaySpecListenerOutput) } -// VirtualNodeSpecLoggingAccessLogPtrInput is an input type that accepts VirtualNodeSpecLoggingAccessLogArgs, VirtualNodeSpecLoggingAccessLogPtr and VirtualNodeSpecLoggingAccessLogPtrOutput values. -// You can construct a concrete instance of `VirtualNodeSpecLoggingAccessLogPtrInput` via: -// -// VirtualNodeSpecLoggingAccessLogArgs{...} -// -// or: +// GetVirtualGatewaySpecListenerArrayInput is an input type that accepts GetVirtualGatewaySpecListenerArray and GetVirtualGatewaySpecListenerArrayOutput values. +// You can construct a concrete instance of `GetVirtualGatewaySpecListenerArrayInput` via: // -// nil -type VirtualNodeSpecLoggingAccessLogPtrInput interface { +// GetVirtualGatewaySpecListenerArray{ GetVirtualGatewaySpecListenerArgs{...} } +type GetVirtualGatewaySpecListenerArrayInput interface { pulumi.Input - ToVirtualNodeSpecLoggingAccessLogPtrOutput() VirtualNodeSpecLoggingAccessLogPtrOutput - ToVirtualNodeSpecLoggingAccessLogPtrOutputWithContext(context.Context) VirtualNodeSpecLoggingAccessLogPtrOutput + ToGetVirtualGatewaySpecListenerArrayOutput() GetVirtualGatewaySpecListenerArrayOutput + ToGetVirtualGatewaySpecListenerArrayOutputWithContext(context.Context) GetVirtualGatewaySpecListenerArrayOutput } -type virtualNodeSpecLoggingAccessLogPtrType VirtualNodeSpecLoggingAccessLogArgs - -func VirtualNodeSpecLoggingAccessLogPtr(v *VirtualNodeSpecLoggingAccessLogArgs) VirtualNodeSpecLoggingAccessLogPtrInput { - return (*virtualNodeSpecLoggingAccessLogPtrType)(v) -} +type GetVirtualGatewaySpecListenerArray []GetVirtualGatewaySpecListenerInput -func (*virtualNodeSpecLoggingAccessLogPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**VirtualNodeSpecLoggingAccessLog)(nil)).Elem() +func (GetVirtualGatewaySpecListenerArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetVirtualGatewaySpecListener)(nil)).Elem() } -func (i *virtualNodeSpecLoggingAccessLogPtrType) ToVirtualNodeSpecLoggingAccessLogPtrOutput() VirtualNodeSpecLoggingAccessLogPtrOutput { - return i.ToVirtualNodeSpecLoggingAccessLogPtrOutputWithContext(context.Background()) +func (i GetVirtualGatewaySpecListenerArray) ToGetVirtualGatewaySpecListenerArrayOutput() GetVirtualGatewaySpecListenerArrayOutput { + return i.ToGetVirtualGatewaySpecListenerArrayOutputWithContext(context.Background()) } -func (i *virtualNodeSpecLoggingAccessLogPtrType) ToVirtualNodeSpecLoggingAccessLogPtrOutputWithContext(ctx context.Context) VirtualNodeSpecLoggingAccessLogPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecLoggingAccessLogPtrOutput) +func (i GetVirtualGatewaySpecListenerArray) ToGetVirtualGatewaySpecListenerArrayOutputWithContext(ctx context.Context) GetVirtualGatewaySpecListenerArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetVirtualGatewaySpecListenerArrayOutput) } -type VirtualNodeSpecLoggingAccessLogOutput struct{ *pulumi.OutputState } +type GetVirtualGatewaySpecListenerOutput struct{ *pulumi.OutputState } -func (VirtualNodeSpecLoggingAccessLogOutput) ElementType() reflect.Type { - return reflect.TypeOf((*VirtualNodeSpecLoggingAccessLog)(nil)).Elem() +func (GetVirtualGatewaySpecListenerOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetVirtualGatewaySpecListener)(nil)).Elem() } -func (o VirtualNodeSpecLoggingAccessLogOutput) ToVirtualNodeSpecLoggingAccessLogOutput() VirtualNodeSpecLoggingAccessLogOutput { +func (o GetVirtualGatewaySpecListenerOutput) ToGetVirtualGatewaySpecListenerOutput() GetVirtualGatewaySpecListenerOutput { return o } -func (o VirtualNodeSpecLoggingAccessLogOutput) ToVirtualNodeSpecLoggingAccessLogOutputWithContext(ctx context.Context) VirtualNodeSpecLoggingAccessLogOutput { +func (o GetVirtualGatewaySpecListenerOutput) ToGetVirtualGatewaySpecListenerOutputWithContext(ctx context.Context) GetVirtualGatewaySpecListenerOutput { return o } -func (o VirtualNodeSpecLoggingAccessLogOutput) ToVirtualNodeSpecLoggingAccessLogPtrOutput() VirtualNodeSpecLoggingAccessLogPtrOutput { - return o.ToVirtualNodeSpecLoggingAccessLogPtrOutputWithContext(context.Background()) +func (o GetVirtualGatewaySpecListenerOutput) ConnectionPools() GetVirtualGatewaySpecListenerConnectionPoolArrayOutput { + return o.ApplyT(func(v GetVirtualGatewaySpecListener) []GetVirtualGatewaySpecListenerConnectionPool { + return v.ConnectionPools + }).(GetVirtualGatewaySpecListenerConnectionPoolArrayOutput) } -func (o VirtualNodeSpecLoggingAccessLogOutput) ToVirtualNodeSpecLoggingAccessLogPtrOutputWithContext(ctx context.Context) VirtualNodeSpecLoggingAccessLogPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v VirtualNodeSpecLoggingAccessLog) *VirtualNodeSpecLoggingAccessLog { - return &v - }).(VirtualNodeSpecLoggingAccessLogPtrOutput) +func (o GetVirtualGatewaySpecListenerOutput) HealthChecks() GetVirtualGatewaySpecListenerHealthCheckArrayOutput { + return o.ApplyT(func(v GetVirtualGatewaySpecListener) []GetVirtualGatewaySpecListenerHealthCheck { + return v.HealthChecks + }).(GetVirtualGatewaySpecListenerHealthCheckArrayOutput) } -// File object to send virtual node access logs to. -func (o VirtualNodeSpecLoggingAccessLogOutput) File() VirtualNodeSpecLoggingAccessLogFilePtrOutput { - return o.ApplyT(func(v VirtualNodeSpecLoggingAccessLog) *VirtualNodeSpecLoggingAccessLogFile { return v.File }).(VirtualNodeSpecLoggingAccessLogFilePtrOutput) +func (o GetVirtualGatewaySpecListenerOutput) PortMappings() GetVirtualGatewaySpecListenerPortMappingArrayOutput { + return o.ApplyT(func(v GetVirtualGatewaySpecListener) []GetVirtualGatewaySpecListenerPortMapping { + return v.PortMappings + }).(GetVirtualGatewaySpecListenerPortMappingArrayOutput) } -type VirtualNodeSpecLoggingAccessLogPtrOutput struct{ *pulumi.OutputState } - -func (VirtualNodeSpecLoggingAccessLogPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**VirtualNodeSpecLoggingAccessLog)(nil)).Elem() +func (o GetVirtualGatewaySpecListenerOutput) Tls() GetVirtualGatewaySpecListenerTlArrayOutput { + return o.ApplyT(func(v GetVirtualGatewaySpecListener) []GetVirtualGatewaySpecListenerTl { return v.Tls }).(GetVirtualGatewaySpecListenerTlArrayOutput) } -func (o VirtualNodeSpecLoggingAccessLogPtrOutput) ToVirtualNodeSpecLoggingAccessLogPtrOutput() VirtualNodeSpecLoggingAccessLogPtrOutput { - return o +type GetVirtualGatewaySpecListenerArrayOutput struct{ *pulumi.OutputState } + +func (GetVirtualGatewaySpecListenerArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetVirtualGatewaySpecListener)(nil)).Elem() } -func (o VirtualNodeSpecLoggingAccessLogPtrOutput) ToVirtualNodeSpecLoggingAccessLogPtrOutputWithContext(ctx context.Context) VirtualNodeSpecLoggingAccessLogPtrOutput { +func (o GetVirtualGatewaySpecListenerArrayOutput) ToGetVirtualGatewaySpecListenerArrayOutput() GetVirtualGatewaySpecListenerArrayOutput { return o } -func (o VirtualNodeSpecLoggingAccessLogPtrOutput) Elem() VirtualNodeSpecLoggingAccessLogOutput { - return o.ApplyT(func(v *VirtualNodeSpecLoggingAccessLog) VirtualNodeSpecLoggingAccessLog { - if v != nil { - return *v - } - var ret VirtualNodeSpecLoggingAccessLog - return ret - }).(VirtualNodeSpecLoggingAccessLogOutput) +func (o GetVirtualGatewaySpecListenerArrayOutput) ToGetVirtualGatewaySpecListenerArrayOutputWithContext(ctx context.Context) GetVirtualGatewaySpecListenerArrayOutput { + return o } -// File object to send virtual node access logs to. -func (o VirtualNodeSpecLoggingAccessLogPtrOutput) File() VirtualNodeSpecLoggingAccessLogFilePtrOutput { - return o.ApplyT(func(v *VirtualNodeSpecLoggingAccessLog) *VirtualNodeSpecLoggingAccessLogFile { - if v == nil { - return nil - } - return v.File - }).(VirtualNodeSpecLoggingAccessLogFilePtrOutput) +func (o GetVirtualGatewaySpecListenerArrayOutput) Index(i pulumi.IntInput) GetVirtualGatewaySpecListenerOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetVirtualGatewaySpecListener { + return vs[0].([]GetVirtualGatewaySpecListener)[vs[1].(int)] + }).(GetVirtualGatewaySpecListenerOutput) } -type VirtualNodeSpecLoggingAccessLogFile struct { - // The specified format for the logs. - Format *VirtualNodeSpecLoggingAccessLogFileFormat `pulumi:"format"` - // File path to write access logs to. You can use `/dev/stdout` to send access logs to standard out. Must be between 1 and 255 characters in length. - Path string `pulumi:"path"` +type GetVirtualGatewaySpecListenerConnectionPool struct { + Grpcs []GetVirtualGatewaySpecListenerConnectionPoolGrpc `pulumi:"grpcs"` + Http2s []GetVirtualGatewaySpecListenerConnectionPoolHttp2 `pulumi:"http2s"` + Https []GetVirtualGatewaySpecListenerConnectionPoolHttp `pulumi:"https"` } -// VirtualNodeSpecLoggingAccessLogFileInput is an input type that accepts VirtualNodeSpecLoggingAccessLogFileArgs and VirtualNodeSpecLoggingAccessLogFileOutput values. -// You can construct a concrete instance of `VirtualNodeSpecLoggingAccessLogFileInput` via: +// GetVirtualGatewaySpecListenerConnectionPoolInput is an input type that accepts GetVirtualGatewaySpecListenerConnectionPoolArgs and GetVirtualGatewaySpecListenerConnectionPoolOutput values. +// You can construct a concrete instance of `GetVirtualGatewaySpecListenerConnectionPoolInput` via: // -// VirtualNodeSpecLoggingAccessLogFileArgs{...} -type VirtualNodeSpecLoggingAccessLogFileInput interface { +// GetVirtualGatewaySpecListenerConnectionPoolArgs{...} +type GetVirtualGatewaySpecListenerConnectionPoolInput interface { pulumi.Input - ToVirtualNodeSpecLoggingAccessLogFileOutput() VirtualNodeSpecLoggingAccessLogFileOutput - ToVirtualNodeSpecLoggingAccessLogFileOutputWithContext(context.Context) VirtualNodeSpecLoggingAccessLogFileOutput -} - -type VirtualNodeSpecLoggingAccessLogFileArgs struct { - // The specified format for the logs. - Format VirtualNodeSpecLoggingAccessLogFileFormatPtrInput `pulumi:"format"` - // File path to write access logs to. You can use `/dev/stdout` to send access logs to standard out. Must be between 1 and 255 characters in length. - Path pulumi.StringInput `pulumi:"path"` -} - -func (VirtualNodeSpecLoggingAccessLogFileArgs) ElementType() reflect.Type { - return reflect.TypeOf((*VirtualNodeSpecLoggingAccessLogFile)(nil)).Elem() + ToGetVirtualGatewaySpecListenerConnectionPoolOutput() GetVirtualGatewaySpecListenerConnectionPoolOutput + ToGetVirtualGatewaySpecListenerConnectionPoolOutputWithContext(context.Context) GetVirtualGatewaySpecListenerConnectionPoolOutput } -func (i VirtualNodeSpecLoggingAccessLogFileArgs) ToVirtualNodeSpecLoggingAccessLogFileOutput() VirtualNodeSpecLoggingAccessLogFileOutput { - return i.ToVirtualNodeSpecLoggingAccessLogFileOutputWithContext(context.Background()) +type GetVirtualGatewaySpecListenerConnectionPoolArgs struct { + Grpcs GetVirtualGatewaySpecListenerConnectionPoolGrpcArrayInput `pulumi:"grpcs"` + Http2s GetVirtualGatewaySpecListenerConnectionPoolHttp2ArrayInput `pulumi:"http2s"` + Https GetVirtualGatewaySpecListenerConnectionPoolHttpArrayInput `pulumi:"https"` } -func (i VirtualNodeSpecLoggingAccessLogFileArgs) ToVirtualNodeSpecLoggingAccessLogFileOutputWithContext(ctx context.Context) VirtualNodeSpecLoggingAccessLogFileOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecLoggingAccessLogFileOutput) +func (GetVirtualGatewaySpecListenerConnectionPoolArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetVirtualGatewaySpecListenerConnectionPool)(nil)).Elem() } -func (i VirtualNodeSpecLoggingAccessLogFileArgs) ToVirtualNodeSpecLoggingAccessLogFilePtrOutput() VirtualNodeSpecLoggingAccessLogFilePtrOutput { - return i.ToVirtualNodeSpecLoggingAccessLogFilePtrOutputWithContext(context.Background()) +func (i GetVirtualGatewaySpecListenerConnectionPoolArgs) ToGetVirtualGatewaySpecListenerConnectionPoolOutput() GetVirtualGatewaySpecListenerConnectionPoolOutput { + return i.ToGetVirtualGatewaySpecListenerConnectionPoolOutputWithContext(context.Background()) } -func (i VirtualNodeSpecLoggingAccessLogFileArgs) ToVirtualNodeSpecLoggingAccessLogFilePtrOutputWithContext(ctx context.Context) VirtualNodeSpecLoggingAccessLogFilePtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecLoggingAccessLogFileOutput).ToVirtualNodeSpecLoggingAccessLogFilePtrOutputWithContext(ctx) +func (i GetVirtualGatewaySpecListenerConnectionPoolArgs) ToGetVirtualGatewaySpecListenerConnectionPoolOutputWithContext(ctx context.Context) GetVirtualGatewaySpecListenerConnectionPoolOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetVirtualGatewaySpecListenerConnectionPoolOutput) } -// VirtualNodeSpecLoggingAccessLogFilePtrInput is an input type that accepts VirtualNodeSpecLoggingAccessLogFileArgs, VirtualNodeSpecLoggingAccessLogFilePtr and VirtualNodeSpecLoggingAccessLogFilePtrOutput values. -// You can construct a concrete instance of `VirtualNodeSpecLoggingAccessLogFilePtrInput` via: -// -// VirtualNodeSpecLoggingAccessLogFileArgs{...} -// -// or: +// GetVirtualGatewaySpecListenerConnectionPoolArrayInput is an input type that accepts GetVirtualGatewaySpecListenerConnectionPoolArray and GetVirtualGatewaySpecListenerConnectionPoolArrayOutput values. +// You can construct a concrete instance of `GetVirtualGatewaySpecListenerConnectionPoolArrayInput` via: // -// nil -type VirtualNodeSpecLoggingAccessLogFilePtrInput interface { +// GetVirtualGatewaySpecListenerConnectionPoolArray{ GetVirtualGatewaySpecListenerConnectionPoolArgs{...} } +type GetVirtualGatewaySpecListenerConnectionPoolArrayInput interface { pulumi.Input - ToVirtualNodeSpecLoggingAccessLogFilePtrOutput() VirtualNodeSpecLoggingAccessLogFilePtrOutput - ToVirtualNodeSpecLoggingAccessLogFilePtrOutputWithContext(context.Context) VirtualNodeSpecLoggingAccessLogFilePtrOutput + ToGetVirtualGatewaySpecListenerConnectionPoolArrayOutput() GetVirtualGatewaySpecListenerConnectionPoolArrayOutput + ToGetVirtualGatewaySpecListenerConnectionPoolArrayOutputWithContext(context.Context) GetVirtualGatewaySpecListenerConnectionPoolArrayOutput } -type virtualNodeSpecLoggingAccessLogFilePtrType VirtualNodeSpecLoggingAccessLogFileArgs - -func VirtualNodeSpecLoggingAccessLogFilePtr(v *VirtualNodeSpecLoggingAccessLogFileArgs) VirtualNodeSpecLoggingAccessLogFilePtrInput { - return (*virtualNodeSpecLoggingAccessLogFilePtrType)(v) -} +type GetVirtualGatewaySpecListenerConnectionPoolArray []GetVirtualGatewaySpecListenerConnectionPoolInput -func (*virtualNodeSpecLoggingAccessLogFilePtrType) ElementType() reflect.Type { - return reflect.TypeOf((**VirtualNodeSpecLoggingAccessLogFile)(nil)).Elem() +func (GetVirtualGatewaySpecListenerConnectionPoolArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetVirtualGatewaySpecListenerConnectionPool)(nil)).Elem() } -func (i *virtualNodeSpecLoggingAccessLogFilePtrType) ToVirtualNodeSpecLoggingAccessLogFilePtrOutput() VirtualNodeSpecLoggingAccessLogFilePtrOutput { - return i.ToVirtualNodeSpecLoggingAccessLogFilePtrOutputWithContext(context.Background()) +func (i GetVirtualGatewaySpecListenerConnectionPoolArray) ToGetVirtualGatewaySpecListenerConnectionPoolArrayOutput() GetVirtualGatewaySpecListenerConnectionPoolArrayOutput { + return i.ToGetVirtualGatewaySpecListenerConnectionPoolArrayOutputWithContext(context.Background()) } -func (i *virtualNodeSpecLoggingAccessLogFilePtrType) ToVirtualNodeSpecLoggingAccessLogFilePtrOutputWithContext(ctx context.Context) VirtualNodeSpecLoggingAccessLogFilePtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecLoggingAccessLogFilePtrOutput) +func (i GetVirtualGatewaySpecListenerConnectionPoolArray) ToGetVirtualGatewaySpecListenerConnectionPoolArrayOutputWithContext(ctx context.Context) GetVirtualGatewaySpecListenerConnectionPoolArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetVirtualGatewaySpecListenerConnectionPoolArrayOutput) } -type VirtualNodeSpecLoggingAccessLogFileOutput struct{ *pulumi.OutputState } +type GetVirtualGatewaySpecListenerConnectionPoolOutput struct{ *pulumi.OutputState } -func (VirtualNodeSpecLoggingAccessLogFileOutput) ElementType() reflect.Type { - return reflect.TypeOf((*VirtualNodeSpecLoggingAccessLogFile)(nil)).Elem() +func (GetVirtualGatewaySpecListenerConnectionPoolOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetVirtualGatewaySpecListenerConnectionPool)(nil)).Elem() } -func (o VirtualNodeSpecLoggingAccessLogFileOutput) ToVirtualNodeSpecLoggingAccessLogFileOutput() VirtualNodeSpecLoggingAccessLogFileOutput { +func (o GetVirtualGatewaySpecListenerConnectionPoolOutput) ToGetVirtualGatewaySpecListenerConnectionPoolOutput() GetVirtualGatewaySpecListenerConnectionPoolOutput { return o } -func (o VirtualNodeSpecLoggingAccessLogFileOutput) ToVirtualNodeSpecLoggingAccessLogFileOutputWithContext(ctx context.Context) VirtualNodeSpecLoggingAccessLogFileOutput { +func (o GetVirtualGatewaySpecListenerConnectionPoolOutput) ToGetVirtualGatewaySpecListenerConnectionPoolOutputWithContext(ctx context.Context) GetVirtualGatewaySpecListenerConnectionPoolOutput { return o } -func (o VirtualNodeSpecLoggingAccessLogFileOutput) ToVirtualNodeSpecLoggingAccessLogFilePtrOutput() VirtualNodeSpecLoggingAccessLogFilePtrOutput { - return o.ToVirtualNodeSpecLoggingAccessLogFilePtrOutputWithContext(context.Background()) -} - -func (o VirtualNodeSpecLoggingAccessLogFileOutput) ToVirtualNodeSpecLoggingAccessLogFilePtrOutputWithContext(ctx context.Context) VirtualNodeSpecLoggingAccessLogFilePtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v VirtualNodeSpecLoggingAccessLogFile) *VirtualNodeSpecLoggingAccessLogFile { - return &v - }).(VirtualNodeSpecLoggingAccessLogFilePtrOutput) +func (o GetVirtualGatewaySpecListenerConnectionPoolOutput) Grpcs() GetVirtualGatewaySpecListenerConnectionPoolGrpcArrayOutput { + return o.ApplyT(func(v GetVirtualGatewaySpecListenerConnectionPool) []GetVirtualGatewaySpecListenerConnectionPoolGrpc { + return v.Grpcs + }).(GetVirtualGatewaySpecListenerConnectionPoolGrpcArrayOutput) } -// The specified format for the logs. -func (o VirtualNodeSpecLoggingAccessLogFileOutput) Format() VirtualNodeSpecLoggingAccessLogFileFormatPtrOutput { - return o.ApplyT(func(v VirtualNodeSpecLoggingAccessLogFile) *VirtualNodeSpecLoggingAccessLogFileFormat { - return v.Format - }).(VirtualNodeSpecLoggingAccessLogFileFormatPtrOutput) +func (o GetVirtualGatewaySpecListenerConnectionPoolOutput) Http2s() GetVirtualGatewaySpecListenerConnectionPoolHttp2ArrayOutput { + return o.ApplyT(func(v GetVirtualGatewaySpecListenerConnectionPool) []GetVirtualGatewaySpecListenerConnectionPoolHttp2 { + return v.Http2s + }).(GetVirtualGatewaySpecListenerConnectionPoolHttp2ArrayOutput) } -// File path to write access logs to. You can use `/dev/stdout` to send access logs to standard out. Must be between 1 and 255 characters in length. -func (o VirtualNodeSpecLoggingAccessLogFileOutput) Path() pulumi.StringOutput { - return o.ApplyT(func(v VirtualNodeSpecLoggingAccessLogFile) string { return v.Path }).(pulumi.StringOutput) +func (o GetVirtualGatewaySpecListenerConnectionPoolOutput) Https() GetVirtualGatewaySpecListenerConnectionPoolHttpArrayOutput { + return o.ApplyT(func(v GetVirtualGatewaySpecListenerConnectionPool) []GetVirtualGatewaySpecListenerConnectionPoolHttp { + return v.Https + }).(GetVirtualGatewaySpecListenerConnectionPoolHttpArrayOutput) } -type VirtualNodeSpecLoggingAccessLogFilePtrOutput struct{ *pulumi.OutputState } +type GetVirtualGatewaySpecListenerConnectionPoolArrayOutput struct{ *pulumi.OutputState } -func (VirtualNodeSpecLoggingAccessLogFilePtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**VirtualNodeSpecLoggingAccessLogFile)(nil)).Elem() +func (GetVirtualGatewaySpecListenerConnectionPoolArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetVirtualGatewaySpecListenerConnectionPool)(nil)).Elem() } -func (o VirtualNodeSpecLoggingAccessLogFilePtrOutput) ToVirtualNodeSpecLoggingAccessLogFilePtrOutput() VirtualNodeSpecLoggingAccessLogFilePtrOutput { +func (o GetVirtualGatewaySpecListenerConnectionPoolArrayOutput) ToGetVirtualGatewaySpecListenerConnectionPoolArrayOutput() GetVirtualGatewaySpecListenerConnectionPoolArrayOutput { return o } -func (o VirtualNodeSpecLoggingAccessLogFilePtrOutput) ToVirtualNodeSpecLoggingAccessLogFilePtrOutputWithContext(ctx context.Context) VirtualNodeSpecLoggingAccessLogFilePtrOutput { +func (o GetVirtualGatewaySpecListenerConnectionPoolArrayOutput) ToGetVirtualGatewaySpecListenerConnectionPoolArrayOutputWithContext(ctx context.Context) GetVirtualGatewaySpecListenerConnectionPoolArrayOutput { return o } -func (o VirtualNodeSpecLoggingAccessLogFilePtrOutput) Elem() VirtualNodeSpecLoggingAccessLogFileOutput { - return o.ApplyT(func(v *VirtualNodeSpecLoggingAccessLogFile) VirtualNodeSpecLoggingAccessLogFile { - if v != nil { - return *v - } - var ret VirtualNodeSpecLoggingAccessLogFile - return ret - }).(VirtualNodeSpecLoggingAccessLogFileOutput) -} - -// The specified format for the logs. -func (o VirtualNodeSpecLoggingAccessLogFilePtrOutput) Format() VirtualNodeSpecLoggingAccessLogFileFormatPtrOutput { - return o.ApplyT(func(v *VirtualNodeSpecLoggingAccessLogFile) *VirtualNodeSpecLoggingAccessLogFileFormat { - if v == nil { - return nil - } - return v.Format - }).(VirtualNodeSpecLoggingAccessLogFileFormatPtrOutput) -} - -// File path to write access logs to. You can use `/dev/stdout` to send access logs to standard out. Must be between 1 and 255 characters in length. -func (o VirtualNodeSpecLoggingAccessLogFilePtrOutput) Path() pulumi.StringPtrOutput { - return o.ApplyT(func(v *VirtualNodeSpecLoggingAccessLogFile) *string { - if v == nil { - return nil - } - return &v.Path - }).(pulumi.StringPtrOutput) +func (o GetVirtualGatewaySpecListenerConnectionPoolArrayOutput) Index(i pulumi.IntInput) GetVirtualGatewaySpecListenerConnectionPoolOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetVirtualGatewaySpecListenerConnectionPool { + return vs[0].([]GetVirtualGatewaySpecListenerConnectionPool)[vs[1].(int)] + }).(GetVirtualGatewaySpecListenerConnectionPoolOutput) } -type VirtualNodeSpecLoggingAccessLogFileFormat struct { - // The logging format for JSON. - Jsons []VirtualNodeSpecLoggingAccessLogFileFormatJson `pulumi:"jsons"` - // The logging format for text. Must be between 1 and 1000 characters in length. - Text *string `pulumi:"text"` +type GetVirtualGatewaySpecListenerConnectionPoolGrpc struct { + MaxRequests int `pulumi:"maxRequests"` } -// VirtualNodeSpecLoggingAccessLogFileFormatInput is an input type that accepts VirtualNodeSpecLoggingAccessLogFileFormatArgs and VirtualNodeSpecLoggingAccessLogFileFormatOutput values. -// You can construct a concrete instance of `VirtualNodeSpecLoggingAccessLogFileFormatInput` via: +// GetVirtualGatewaySpecListenerConnectionPoolGrpcInput is an input type that accepts GetVirtualGatewaySpecListenerConnectionPoolGrpcArgs and GetVirtualGatewaySpecListenerConnectionPoolGrpcOutput values. +// You can construct a concrete instance of `GetVirtualGatewaySpecListenerConnectionPoolGrpcInput` via: // -// VirtualNodeSpecLoggingAccessLogFileFormatArgs{...} -type VirtualNodeSpecLoggingAccessLogFileFormatInput interface { +// GetVirtualGatewaySpecListenerConnectionPoolGrpcArgs{...} +type GetVirtualGatewaySpecListenerConnectionPoolGrpcInput interface { pulumi.Input - ToVirtualNodeSpecLoggingAccessLogFileFormatOutput() VirtualNodeSpecLoggingAccessLogFileFormatOutput - ToVirtualNodeSpecLoggingAccessLogFileFormatOutputWithContext(context.Context) VirtualNodeSpecLoggingAccessLogFileFormatOutput -} - -type VirtualNodeSpecLoggingAccessLogFileFormatArgs struct { - // The logging format for JSON. - Jsons VirtualNodeSpecLoggingAccessLogFileFormatJsonArrayInput `pulumi:"jsons"` - // The logging format for text. Must be between 1 and 1000 characters in length. - Text pulumi.StringPtrInput `pulumi:"text"` -} - -func (VirtualNodeSpecLoggingAccessLogFileFormatArgs) ElementType() reflect.Type { - return reflect.TypeOf((*VirtualNodeSpecLoggingAccessLogFileFormat)(nil)).Elem() + ToGetVirtualGatewaySpecListenerConnectionPoolGrpcOutput() GetVirtualGatewaySpecListenerConnectionPoolGrpcOutput + ToGetVirtualGatewaySpecListenerConnectionPoolGrpcOutputWithContext(context.Context) GetVirtualGatewaySpecListenerConnectionPoolGrpcOutput } -func (i VirtualNodeSpecLoggingAccessLogFileFormatArgs) ToVirtualNodeSpecLoggingAccessLogFileFormatOutput() VirtualNodeSpecLoggingAccessLogFileFormatOutput { - return i.ToVirtualNodeSpecLoggingAccessLogFileFormatOutputWithContext(context.Background()) +type GetVirtualGatewaySpecListenerConnectionPoolGrpcArgs struct { + MaxRequests pulumi.IntInput `pulumi:"maxRequests"` } -func (i VirtualNodeSpecLoggingAccessLogFileFormatArgs) ToVirtualNodeSpecLoggingAccessLogFileFormatOutputWithContext(ctx context.Context) VirtualNodeSpecLoggingAccessLogFileFormatOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecLoggingAccessLogFileFormatOutput) +func (GetVirtualGatewaySpecListenerConnectionPoolGrpcArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetVirtualGatewaySpecListenerConnectionPoolGrpc)(nil)).Elem() } -func (i VirtualNodeSpecLoggingAccessLogFileFormatArgs) ToVirtualNodeSpecLoggingAccessLogFileFormatPtrOutput() VirtualNodeSpecLoggingAccessLogFileFormatPtrOutput { - return i.ToVirtualNodeSpecLoggingAccessLogFileFormatPtrOutputWithContext(context.Background()) +func (i GetVirtualGatewaySpecListenerConnectionPoolGrpcArgs) ToGetVirtualGatewaySpecListenerConnectionPoolGrpcOutput() GetVirtualGatewaySpecListenerConnectionPoolGrpcOutput { + return i.ToGetVirtualGatewaySpecListenerConnectionPoolGrpcOutputWithContext(context.Background()) } -func (i VirtualNodeSpecLoggingAccessLogFileFormatArgs) ToVirtualNodeSpecLoggingAccessLogFileFormatPtrOutputWithContext(ctx context.Context) VirtualNodeSpecLoggingAccessLogFileFormatPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecLoggingAccessLogFileFormatOutput).ToVirtualNodeSpecLoggingAccessLogFileFormatPtrOutputWithContext(ctx) +func (i GetVirtualGatewaySpecListenerConnectionPoolGrpcArgs) ToGetVirtualGatewaySpecListenerConnectionPoolGrpcOutputWithContext(ctx context.Context) GetVirtualGatewaySpecListenerConnectionPoolGrpcOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetVirtualGatewaySpecListenerConnectionPoolGrpcOutput) } -// VirtualNodeSpecLoggingAccessLogFileFormatPtrInput is an input type that accepts VirtualNodeSpecLoggingAccessLogFileFormatArgs, VirtualNodeSpecLoggingAccessLogFileFormatPtr and VirtualNodeSpecLoggingAccessLogFileFormatPtrOutput values. -// You can construct a concrete instance of `VirtualNodeSpecLoggingAccessLogFileFormatPtrInput` via: -// -// VirtualNodeSpecLoggingAccessLogFileFormatArgs{...} -// -// or: +// GetVirtualGatewaySpecListenerConnectionPoolGrpcArrayInput is an input type that accepts GetVirtualGatewaySpecListenerConnectionPoolGrpcArray and GetVirtualGatewaySpecListenerConnectionPoolGrpcArrayOutput values. +// You can construct a concrete instance of `GetVirtualGatewaySpecListenerConnectionPoolGrpcArrayInput` via: // -// nil -type VirtualNodeSpecLoggingAccessLogFileFormatPtrInput interface { +// GetVirtualGatewaySpecListenerConnectionPoolGrpcArray{ GetVirtualGatewaySpecListenerConnectionPoolGrpcArgs{...} } +type GetVirtualGatewaySpecListenerConnectionPoolGrpcArrayInput interface { pulumi.Input - ToVirtualNodeSpecLoggingAccessLogFileFormatPtrOutput() VirtualNodeSpecLoggingAccessLogFileFormatPtrOutput - ToVirtualNodeSpecLoggingAccessLogFileFormatPtrOutputWithContext(context.Context) VirtualNodeSpecLoggingAccessLogFileFormatPtrOutput + ToGetVirtualGatewaySpecListenerConnectionPoolGrpcArrayOutput() GetVirtualGatewaySpecListenerConnectionPoolGrpcArrayOutput + ToGetVirtualGatewaySpecListenerConnectionPoolGrpcArrayOutputWithContext(context.Context) GetVirtualGatewaySpecListenerConnectionPoolGrpcArrayOutput } -type virtualNodeSpecLoggingAccessLogFileFormatPtrType VirtualNodeSpecLoggingAccessLogFileFormatArgs - -func VirtualNodeSpecLoggingAccessLogFileFormatPtr(v *VirtualNodeSpecLoggingAccessLogFileFormatArgs) VirtualNodeSpecLoggingAccessLogFileFormatPtrInput { - return (*virtualNodeSpecLoggingAccessLogFileFormatPtrType)(v) -} +type GetVirtualGatewaySpecListenerConnectionPoolGrpcArray []GetVirtualGatewaySpecListenerConnectionPoolGrpcInput -func (*virtualNodeSpecLoggingAccessLogFileFormatPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**VirtualNodeSpecLoggingAccessLogFileFormat)(nil)).Elem() +func (GetVirtualGatewaySpecListenerConnectionPoolGrpcArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetVirtualGatewaySpecListenerConnectionPoolGrpc)(nil)).Elem() } -func (i *virtualNodeSpecLoggingAccessLogFileFormatPtrType) ToVirtualNodeSpecLoggingAccessLogFileFormatPtrOutput() VirtualNodeSpecLoggingAccessLogFileFormatPtrOutput { - return i.ToVirtualNodeSpecLoggingAccessLogFileFormatPtrOutputWithContext(context.Background()) +func (i GetVirtualGatewaySpecListenerConnectionPoolGrpcArray) ToGetVirtualGatewaySpecListenerConnectionPoolGrpcArrayOutput() GetVirtualGatewaySpecListenerConnectionPoolGrpcArrayOutput { + return i.ToGetVirtualGatewaySpecListenerConnectionPoolGrpcArrayOutputWithContext(context.Background()) } -func (i *virtualNodeSpecLoggingAccessLogFileFormatPtrType) ToVirtualNodeSpecLoggingAccessLogFileFormatPtrOutputWithContext(ctx context.Context) VirtualNodeSpecLoggingAccessLogFileFormatPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecLoggingAccessLogFileFormatPtrOutput) +func (i GetVirtualGatewaySpecListenerConnectionPoolGrpcArray) ToGetVirtualGatewaySpecListenerConnectionPoolGrpcArrayOutputWithContext(ctx context.Context) GetVirtualGatewaySpecListenerConnectionPoolGrpcArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetVirtualGatewaySpecListenerConnectionPoolGrpcArrayOutput) } -type VirtualNodeSpecLoggingAccessLogFileFormatOutput struct{ *pulumi.OutputState } +type GetVirtualGatewaySpecListenerConnectionPoolGrpcOutput struct{ *pulumi.OutputState } -func (VirtualNodeSpecLoggingAccessLogFileFormatOutput) ElementType() reflect.Type { - return reflect.TypeOf((*VirtualNodeSpecLoggingAccessLogFileFormat)(nil)).Elem() +func (GetVirtualGatewaySpecListenerConnectionPoolGrpcOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetVirtualGatewaySpecListenerConnectionPoolGrpc)(nil)).Elem() } -func (o VirtualNodeSpecLoggingAccessLogFileFormatOutput) ToVirtualNodeSpecLoggingAccessLogFileFormatOutput() VirtualNodeSpecLoggingAccessLogFileFormatOutput { +func (o GetVirtualGatewaySpecListenerConnectionPoolGrpcOutput) ToGetVirtualGatewaySpecListenerConnectionPoolGrpcOutput() GetVirtualGatewaySpecListenerConnectionPoolGrpcOutput { return o } -func (o VirtualNodeSpecLoggingAccessLogFileFormatOutput) ToVirtualNodeSpecLoggingAccessLogFileFormatOutputWithContext(ctx context.Context) VirtualNodeSpecLoggingAccessLogFileFormatOutput { +func (o GetVirtualGatewaySpecListenerConnectionPoolGrpcOutput) ToGetVirtualGatewaySpecListenerConnectionPoolGrpcOutputWithContext(ctx context.Context) GetVirtualGatewaySpecListenerConnectionPoolGrpcOutput { return o } -func (o VirtualNodeSpecLoggingAccessLogFileFormatOutput) ToVirtualNodeSpecLoggingAccessLogFileFormatPtrOutput() VirtualNodeSpecLoggingAccessLogFileFormatPtrOutput { - return o.ToVirtualNodeSpecLoggingAccessLogFileFormatPtrOutputWithContext(context.Background()) -} - -func (o VirtualNodeSpecLoggingAccessLogFileFormatOutput) ToVirtualNodeSpecLoggingAccessLogFileFormatPtrOutputWithContext(ctx context.Context) VirtualNodeSpecLoggingAccessLogFileFormatPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v VirtualNodeSpecLoggingAccessLogFileFormat) *VirtualNodeSpecLoggingAccessLogFileFormat { - return &v - }).(VirtualNodeSpecLoggingAccessLogFileFormatPtrOutput) -} - -// The logging format for JSON. -func (o VirtualNodeSpecLoggingAccessLogFileFormatOutput) Jsons() VirtualNodeSpecLoggingAccessLogFileFormatJsonArrayOutput { - return o.ApplyT(func(v VirtualNodeSpecLoggingAccessLogFileFormat) []VirtualNodeSpecLoggingAccessLogFileFormatJson { - return v.Jsons - }).(VirtualNodeSpecLoggingAccessLogFileFormatJsonArrayOutput) -} - -// The logging format for text. Must be between 1 and 1000 characters in length. -func (o VirtualNodeSpecLoggingAccessLogFileFormatOutput) Text() pulumi.StringPtrOutput { - return o.ApplyT(func(v VirtualNodeSpecLoggingAccessLogFileFormat) *string { return v.Text }).(pulumi.StringPtrOutput) +func (o GetVirtualGatewaySpecListenerConnectionPoolGrpcOutput) MaxRequests() pulumi.IntOutput { + return o.ApplyT(func(v GetVirtualGatewaySpecListenerConnectionPoolGrpc) int { return v.MaxRequests }).(pulumi.IntOutput) } -type VirtualNodeSpecLoggingAccessLogFileFormatPtrOutput struct{ *pulumi.OutputState } +type GetVirtualGatewaySpecListenerConnectionPoolGrpcArrayOutput struct{ *pulumi.OutputState } -func (VirtualNodeSpecLoggingAccessLogFileFormatPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**VirtualNodeSpecLoggingAccessLogFileFormat)(nil)).Elem() +func (GetVirtualGatewaySpecListenerConnectionPoolGrpcArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetVirtualGatewaySpecListenerConnectionPoolGrpc)(nil)).Elem() } -func (o VirtualNodeSpecLoggingAccessLogFileFormatPtrOutput) ToVirtualNodeSpecLoggingAccessLogFileFormatPtrOutput() VirtualNodeSpecLoggingAccessLogFileFormatPtrOutput { +func (o GetVirtualGatewaySpecListenerConnectionPoolGrpcArrayOutput) ToGetVirtualGatewaySpecListenerConnectionPoolGrpcArrayOutput() GetVirtualGatewaySpecListenerConnectionPoolGrpcArrayOutput { return o } -func (o VirtualNodeSpecLoggingAccessLogFileFormatPtrOutput) ToVirtualNodeSpecLoggingAccessLogFileFormatPtrOutputWithContext(ctx context.Context) VirtualNodeSpecLoggingAccessLogFileFormatPtrOutput { +func (o GetVirtualGatewaySpecListenerConnectionPoolGrpcArrayOutput) ToGetVirtualGatewaySpecListenerConnectionPoolGrpcArrayOutputWithContext(ctx context.Context) GetVirtualGatewaySpecListenerConnectionPoolGrpcArrayOutput { return o } -func (o VirtualNodeSpecLoggingAccessLogFileFormatPtrOutput) Elem() VirtualNodeSpecLoggingAccessLogFileFormatOutput { - return o.ApplyT(func(v *VirtualNodeSpecLoggingAccessLogFileFormat) VirtualNodeSpecLoggingAccessLogFileFormat { - if v != nil { - return *v - } - var ret VirtualNodeSpecLoggingAccessLogFileFormat - return ret - }).(VirtualNodeSpecLoggingAccessLogFileFormatOutput) -} - -// The logging format for JSON. -func (o VirtualNodeSpecLoggingAccessLogFileFormatPtrOutput) Jsons() VirtualNodeSpecLoggingAccessLogFileFormatJsonArrayOutput { - return o.ApplyT(func(v *VirtualNodeSpecLoggingAccessLogFileFormat) []VirtualNodeSpecLoggingAccessLogFileFormatJson { - if v == nil { - return nil - } - return v.Jsons - }).(VirtualNodeSpecLoggingAccessLogFileFormatJsonArrayOutput) -} - -// The logging format for text. Must be between 1 and 1000 characters in length. -func (o VirtualNodeSpecLoggingAccessLogFileFormatPtrOutput) Text() pulumi.StringPtrOutput { - return o.ApplyT(func(v *VirtualNodeSpecLoggingAccessLogFileFormat) *string { - if v == nil { - return nil - } - return v.Text - }).(pulumi.StringPtrOutput) +func (o GetVirtualGatewaySpecListenerConnectionPoolGrpcArrayOutput) Index(i pulumi.IntInput) GetVirtualGatewaySpecListenerConnectionPoolGrpcOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetVirtualGatewaySpecListenerConnectionPoolGrpc { + return vs[0].([]GetVirtualGatewaySpecListenerConnectionPoolGrpc)[vs[1].(int)] + }).(GetVirtualGatewaySpecListenerConnectionPoolGrpcOutput) } -type VirtualNodeSpecLoggingAccessLogFileFormatJson struct { - // The specified key for the JSON. Must be between 1 and 100 characters in length. - Key string `pulumi:"key"` - // The specified value for the JSON. Must be between 1 and 100 characters in length. - Value string `pulumi:"value"` +type GetVirtualGatewaySpecListenerConnectionPoolHttp2 struct { + MaxRequests int `pulumi:"maxRequests"` } -// VirtualNodeSpecLoggingAccessLogFileFormatJsonInput is an input type that accepts VirtualNodeSpecLoggingAccessLogFileFormatJsonArgs and VirtualNodeSpecLoggingAccessLogFileFormatJsonOutput values. -// You can construct a concrete instance of `VirtualNodeSpecLoggingAccessLogFileFormatJsonInput` via: +// GetVirtualGatewaySpecListenerConnectionPoolHttp2Input is an input type that accepts GetVirtualGatewaySpecListenerConnectionPoolHttp2Args and GetVirtualGatewaySpecListenerConnectionPoolHttp2Output values. +// You can construct a concrete instance of `GetVirtualGatewaySpecListenerConnectionPoolHttp2Input` via: // -// VirtualNodeSpecLoggingAccessLogFileFormatJsonArgs{...} -type VirtualNodeSpecLoggingAccessLogFileFormatJsonInput interface { +// GetVirtualGatewaySpecListenerConnectionPoolHttp2Args{...} +type GetVirtualGatewaySpecListenerConnectionPoolHttp2Input interface { pulumi.Input - ToVirtualNodeSpecLoggingAccessLogFileFormatJsonOutput() VirtualNodeSpecLoggingAccessLogFileFormatJsonOutput - ToVirtualNodeSpecLoggingAccessLogFileFormatJsonOutputWithContext(context.Context) VirtualNodeSpecLoggingAccessLogFileFormatJsonOutput + ToGetVirtualGatewaySpecListenerConnectionPoolHttp2Output() GetVirtualGatewaySpecListenerConnectionPoolHttp2Output + ToGetVirtualGatewaySpecListenerConnectionPoolHttp2OutputWithContext(context.Context) GetVirtualGatewaySpecListenerConnectionPoolHttp2Output } -type VirtualNodeSpecLoggingAccessLogFileFormatJsonArgs struct { - // The specified key for the JSON. Must be between 1 and 100 characters in length. - Key pulumi.StringInput `pulumi:"key"` - // The specified value for the JSON. Must be between 1 and 100 characters in length. - Value pulumi.StringInput `pulumi:"value"` +type GetVirtualGatewaySpecListenerConnectionPoolHttp2Args struct { + MaxRequests pulumi.IntInput `pulumi:"maxRequests"` } -func (VirtualNodeSpecLoggingAccessLogFileFormatJsonArgs) ElementType() reflect.Type { - return reflect.TypeOf((*VirtualNodeSpecLoggingAccessLogFileFormatJson)(nil)).Elem() +func (GetVirtualGatewaySpecListenerConnectionPoolHttp2Args) ElementType() reflect.Type { + return reflect.TypeOf((*GetVirtualGatewaySpecListenerConnectionPoolHttp2)(nil)).Elem() } -func (i VirtualNodeSpecLoggingAccessLogFileFormatJsonArgs) ToVirtualNodeSpecLoggingAccessLogFileFormatJsonOutput() VirtualNodeSpecLoggingAccessLogFileFormatJsonOutput { - return i.ToVirtualNodeSpecLoggingAccessLogFileFormatJsonOutputWithContext(context.Background()) +func (i GetVirtualGatewaySpecListenerConnectionPoolHttp2Args) ToGetVirtualGatewaySpecListenerConnectionPoolHttp2Output() GetVirtualGatewaySpecListenerConnectionPoolHttp2Output { + return i.ToGetVirtualGatewaySpecListenerConnectionPoolHttp2OutputWithContext(context.Background()) } -func (i VirtualNodeSpecLoggingAccessLogFileFormatJsonArgs) ToVirtualNodeSpecLoggingAccessLogFileFormatJsonOutputWithContext(ctx context.Context) VirtualNodeSpecLoggingAccessLogFileFormatJsonOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecLoggingAccessLogFileFormatJsonOutput) +func (i GetVirtualGatewaySpecListenerConnectionPoolHttp2Args) ToGetVirtualGatewaySpecListenerConnectionPoolHttp2OutputWithContext(ctx context.Context) GetVirtualGatewaySpecListenerConnectionPoolHttp2Output { + return pulumi.ToOutputWithContext(ctx, i).(GetVirtualGatewaySpecListenerConnectionPoolHttp2Output) } -// VirtualNodeSpecLoggingAccessLogFileFormatJsonArrayInput is an input type that accepts VirtualNodeSpecLoggingAccessLogFileFormatJsonArray and VirtualNodeSpecLoggingAccessLogFileFormatJsonArrayOutput values. -// You can construct a concrete instance of `VirtualNodeSpecLoggingAccessLogFileFormatJsonArrayInput` via: +// GetVirtualGatewaySpecListenerConnectionPoolHttp2ArrayInput is an input type that accepts GetVirtualGatewaySpecListenerConnectionPoolHttp2Array and GetVirtualGatewaySpecListenerConnectionPoolHttp2ArrayOutput values. +// You can construct a concrete instance of `GetVirtualGatewaySpecListenerConnectionPoolHttp2ArrayInput` via: // -// VirtualNodeSpecLoggingAccessLogFileFormatJsonArray{ VirtualNodeSpecLoggingAccessLogFileFormatJsonArgs{...} } -type VirtualNodeSpecLoggingAccessLogFileFormatJsonArrayInput interface { +// GetVirtualGatewaySpecListenerConnectionPoolHttp2Array{ GetVirtualGatewaySpecListenerConnectionPoolHttp2Args{...} } +type GetVirtualGatewaySpecListenerConnectionPoolHttp2ArrayInput interface { pulumi.Input - ToVirtualNodeSpecLoggingAccessLogFileFormatJsonArrayOutput() VirtualNodeSpecLoggingAccessLogFileFormatJsonArrayOutput - ToVirtualNodeSpecLoggingAccessLogFileFormatJsonArrayOutputWithContext(context.Context) VirtualNodeSpecLoggingAccessLogFileFormatJsonArrayOutput + ToGetVirtualGatewaySpecListenerConnectionPoolHttp2ArrayOutput() GetVirtualGatewaySpecListenerConnectionPoolHttp2ArrayOutput + ToGetVirtualGatewaySpecListenerConnectionPoolHttp2ArrayOutputWithContext(context.Context) GetVirtualGatewaySpecListenerConnectionPoolHttp2ArrayOutput } -type VirtualNodeSpecLoggingAccessLogFileFormatJsonArray []VirtualNodeSpecLoggingAccessLogFileFormatJsonInput +type GetVirtualGatewaySpecListenerConnectionPoolHttp2Array []GetVirtualGatewaySpecListenerConnectionPoolHttp2Input -func (VirtualNodeSpecLoggingAccessLogFileFormatJsonArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]VirtualNodeSpecLoggingAccessLogFileFormatJson)(nil)).Elem() +func (GetVirtualGatewaySpecListenerConnectionPoolHttp2Array) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetVirtualGatewaySpecListenerConnectionPoolHttp2)(nil)).Elem() } -func (i VirtualNodeSpecLoggingAccessLogFileFormatJsonArray) ToVirtualNodeSpecLoggingAccessLogFileFormatJsonArrayOutput() VirtualNodeSpecLoggingAccessLogFileFormatJsonArrayOutput { - return i.ToVirtualNodeSpecLoggingAccessLogFileFormatJsonArrayOutputWithContext(context.Background()) +func (i GetVirtualGatewaySpecListenerConnectionPoolHttp2Array) ToGetVirtualGatewaySpecListenerConnectionPoolHttp2ArrayOutput() GetVirtualGatewaySpecListenerConnectionPoolHttp2ArrayOutput { + return i.ToGetVirtualGatewaySpecListenerConnectionPoolHttp2ArrayOutputWithContext(context.Background()) } -func (i VirtualNodeSpecLoggingAccessLogFileFormatJsonArray) ToVirtualNodeSpecLoggingAccessLogFileFormatJsonArrayOutputWithContext(ctx context.Context) VirtualNodeSpecLoggingAccessLogFileFormatJsonArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecLoggingAccessLogFileFormatJsonArrayOutput) +func (i GetVirtualGatewaySpecListenerConnectionPoolHttp2Array) ToGetVirtualGatewaySpecListenerConnectionPoolHttp2ArrayOutputWithContext(ctx context.Context) GetVirtualGatewaySpecListenerConnectionPoolHttp2ArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetVirtualGatewaySpecListenerConnectionPoolHttp2ArrayOutput) } -type VirtualNodeSpecLoggingAccessLogFileFormatJsonOutput struct{ *pulumi.OutputState } +type GetVirtualGatewaySpecListenerConnectionPoolHttp2Output struct{ *pulumi.OutputState } -func (VirtualNodeSpecLoggingAccessLogFileFormatJsonOutput) ElementType() reflect.Type { - return reflect.TypeOf((*VirtualNodeSpecLoggingAccessLogFileFormatJson)(nil)).Elem() +func (GetVirtualGatewaySpecListenerConnectionPoolHttp2Output) ElementType() reflect.Type { + return reflect.TypeOf((*GetVirtualGatewaySpecListenerConnectionPoolHttp2)(nil)).Elem() } -func (o VirtualNodeSpecLoggingAccessLogFileFormatJsonOutput) ToVirtualNodeSpecLoggingAccessLogFileFormatJsonOutput() VirtualNodeSpecLoggingAccessLogFileFormatJsonOutput { +func (o GetVirtualGatewaySpecListenerConnectionPoolHttp2Output) ToGetVirtualGatewaySpecListenerConnectionPoolHttp2Output() GetVirtualGatewaySpecListenerConnectionPoolHttp2Output { return o } -func (o VirtualNodeSpecLoggingAccessLogFileFormatJsonOutput) ToVirtualNodeSpecLoggingAccessLogFileFormatJsonOutputWithContext(ctx context.Context) VirtualNodeSpecLoggingAccessLogFileFormatJsonOutput { +func (o GetVirtualGatewaySpecListenerConnectionPoolHttp2Output) ToGetVirtualGatewaySpecListenerConnectionPoolHttp2OutputWithContext(ctx context.Context) GetVirtualGatewaySpecListenerConnectionPoolHttp2Output { return o } -// The specified key for the JSON. Must be between 1 and 100 characters in length. -func (o VirtualNodeSpecLoggingAccessLogFileFormatJsonOutput) Key() pulumi.StringOutput { - return o.ApplyT(func(v VirtualNodeSpecLoggingAccessLogFileFormatJson) string { return v.Key }).(pulumi.StringOutput) -} - -// The specified value for the JSON. Must be between 1 and 100 characters in length. -func (o VirtualNodeSpecLoggingAccessLogFileFormatJsonOutput) Value() pulumi.StringOutput { - return o.ApplyT(func(v VirtualNodeSpecLoggingAccessLogFileFormatJson) string { return v.Value }).(pulumi.StringOutput) +func (o GetVirtualGatewaySpecListenerConnectionPoolHttp2Output) MaxRequests() pulumi.IntOutput { + return o.ApplyT(func(v GetVirtualGatewaySpecListenerConnectionPoolHttp2) int { return v.MaxRequests }).(pulumi.IntOutput) } -type VirtualNodeSpecLoggingAccessLogFileFormatJsonArrayOutput struct{ *pulumi.OutputState } +type GetVirtualGatewaySpecListenerConnectionPoolHttp2ArrayOutput struct{ *pulumi.OutputState } -func (VirtualNodeSpecLoggingAccessLogFileFormatJsonArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]VirtualNodeSpecLoggingAccessLogFileFormatJson)(nil)).Elem() +func (GetVirtualGatewaySpecListenerConnectionPoolHttp2ArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetVirtualGatewaySpecListenerConnectionPoolHttp2)(nil)).Elem() } -func (o VirtualNodeSpecLoggingAccessLogFileFormatJsonArrayOutput) ToVirtualNodeSpecLoggingAccessLogFileFormatJsonArrayOutput() VirtualNodeSpecLoggingAccessLogFileFormatJsonArrayOutput { +func (o GetVirtualGatewaySpecListenerConnectionPoolHttp2ArrayOutput) ToGetVirtualGatewaySpecListenerConnectionPoolHttp2ArrayOutput() GetVirtualGatewaySpecListenerConnectionPoolHttp2ArrayOutput { return o } -func (o VirtualNodeSpecLoggingAccessLogFileFormatJsonArrayOutput) ToVirtualNodeSpecLoggingAccessLogFileFormatJsonArrayOutputWithContext(ctx context.Context) VirtualNodeSpecLoggingAccessLogFileFormatJsonArrayOutput { +func (o GetVirtualGatewaySpecListenerConnectionPoolHttp2ArrayOutput) ToGetVirtualGatewaySpecListenerConnectionPoolHttp2ArrayOutputWithContext(ctx context.Context) GetVirtualGatewaySpecListenerConnectionPoolHttp2ArrayOutput { return o } -func (o VirtualNodeSpecLoggingAccessLogFileFormatJsonArrayOutput) Index(i pulumi.IntInput) VirtualNodeSpecLoggingAccessLogFileFormatJsonOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) VirtualNodeSpecLoggingAccessLogFileFormatJson { - return vs[0].([]VirtualNodeSpecLoggingAccessLogFileFormatJson)[vs[1].(int)] - }).(VirtualNodeSpecLoggingAccessLogFileFormatJsonOutput) +func (o GetVirtualGatewaySpecListenerConnectionPoolHttp2ArrayOutput) Index(i pulumi.IntInput) GetVirtualGatewaySpecListenerConnectionPoolHttp2Output { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetVirtualGatewaySpecListenerConnectionPoolHttp2 { + return vs[0].([]GetVirtualGatewaySpecListenerConnectionPoolHttp2)[vs[1].(int)] + }).(GetVirtualGatewaySpecListenerConnectionPoolHttp2Output) } -type VirtualNodeSpecServiceDiscovery struct { - // Any AWS Cloud Map information for the virtual node. - AwsCloudMap *VirtualNodeSpecServiceDiscoveryAwsCloudMap `pulumi:"awsCloudMap"` - // DNS service name for the virtual node. - Dns *VirtualNodeSpecServiceDiscoveryDns `pulumi:"dns"` +type GetVirtualGatewaySpecListenerConnectionPoolHttp struct { + MaxConnections int `pulumi:"maxConnections"` + MaxPendingRequests int `pulumi:"maxPendingRequests"` } -// VirtualNodeSpecServiceDiscoveryInput is an input type that accepts VirtualNodeSpecServiceDiscoveryArgs and VirtualNodeSpecServiceDiscoveryOutput values. -// You can construct a concrete instance of `VirtualNodeSpecServiceDiscoveryInput` via: +// GetVirtualGatewaySpecListenerConnectionPoolHttpInput is an input type that accepts GetVirtualGatewaySpecListenerConnectionPoolHttpArgs and GetVirtualGatewaySpecListenerConnectionPoolHttpOutput values. +// You can construct a concrete instance of `GetVirtualGatewaySpecListenerConnectionPoolHttpInput` via: // -// VirtualNodeSpecServiceDiscoveryArgs{...} -type VirtualNodeSpecServiceDiscoveryInput interface { +// GetVirtualGatewaySpecListenerConnectionPoolHttpArgs{...} +type GetVirtualGatewaySpecListenerConnectionPoolHttpInput interface { pulumi.Input - ToVirtualNodeSpecServiceDiscoveryOutput() VirtualNodeSpecServiceDiscoveryOutput - ToVirtualNodeSpecServiceDiscoveryOutputWithContext(context.Context) VirtualNodeSpecServiceDiscoveryOutput -} - -type VirtualNodeSpecServiceDiscoveryArgs struct { - // Any AWS Cloud Map information for the virtual node. - AwsCloudMap VirtualNodeSpecServiceDiscoveryAwsCloudMapPtrInput `pulumi:"awsCloudMap"` - // DNS service name for the virtual node. - Dns VirtualNodeSpecServiceDiscoveryDnsPtrInput `pulumi:"dns"` -} - -func (VirtualNodeSpecServiceDiscoveryArgs) ElementType() reflect.Type { - return reflect.TypeOf((*VirtualNodeSpecServiceDiscovery)(nil)).Elem() + ToGetVirtualGatewaySpecListenerConnectionPoolHttpOutput() GetVirtualGatewaySpecListenerConnectionPoolHttpOutput + ToGetVirtualGatewaySpecListenerConnectionPoolHttpOutputWithContext(context.Context) GetVirtualGatewaySpecListenerConnectionPoolHttpOutput } -func (i VirtualNodeSpecServiceDiscoveryArgs) ToVirtualNodeSpecServiceDiscoveryOutput() VirtualNodeSpecServiceDiscoveryOutput { - return i.ToVirtualNodeSpecServiceDiscoveryOutputWithContext(context.Background()) +type GetVirtualGatewaySpecListenerConnectionPoolHttpArgs struct { + MaxConnections pulumi.IntInput `pulumi:"maxConnections"` + MaxPendingRequests pulumi.IntInput `pulumi:"maxPendingRequests"` } -func (i VirtualNodeSpecServiceDiscoveryArgs) ToVirtualNodeSpecServiceDiscoveryOutputWithContext(ctx context.Context) VirtualNodeSpecServiceDiscoveryOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecServiceDiscoveryOutput) +func (GetVirtualGatewaySpecListenerConnectionPoolHttpArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetVirtualGatewaySpecListenerConnectionPoolHttp)(nil)).Elem() } -func (i VirtualNodeSpecServiceDiscoveryArgs) ToVirtualNodeSpecServiceDiscoveryPtrOutput() VirtualNodeSpecServiceDiscoveryPtrOutput { - return i.ToVirtualNodeSpecServiceDiscoveryPtrOutputWithContext(context.Background()) +func (i GetVirtualGatewaySpecListenerConnectionPoolHttpArgs) ToGetVirtualGatewaySpecListenerConnectionPoolHttpOutput() GetVirtualGatewaySpecListenerConnectionPoolHttpOutput { + return i.ToGetVirtualGatewaySpecListenerConnectionPoolHttpOutputWithContext(context.Background()) } -func (i VirtualNodeSpecServiceDiscoveryArgs) ToVirtualNodeSpecServiceDiscoveryPtrOutputWithContext(ctx context.Context) VirtualNodeSpecServiceDiscoveryPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecServiceDiscoveryOutput).ToVirtualNodeSpecServiceDiscoveryPtrOutputWithContext(ctx) +func (i GetVirtualGatewaySpecListenerConnectionPoolHttpArgs) ToGetVirtualGatewaySpecListenerConnectionPoolHttpOutputWithContext(ctx context.Context) GetVirtualGatewaySpecListenerConnectionPoolHttpOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetVirtualGatewaySpecListenerConnectionPoolHttpOutput) } -// VirtualNodeSpecServiceDiscoveryPtrInput is an input type that accepts VirtualNodeSpecServiceDiscoveryArgs, VirtualNodeSpecServiceDiscoveryPtr and VirtualNodeSpecServiceDiscoveryPtrOutput values. -// You can construct a concrete instance of `VirtualNodeSpecServiceDiscoveryPtrInput` via: -// -// VirtualNodeSpecServiceDiscoveryArgs{...} -// -// or: +// GetVirtualGatewaySpecListenerConnectionPoolHttpArrayInput is an input type that accepts GetVirtualGatewaySpecListenerConnectionPoolHttpArray and GetVirtualGatewaySpecListenerConnectionPoolHttpArrayOutput values. +// You can construct a concrete instance of `GetVirtualGatewaySpecListenerConnectionPoolHttpArrayInput` via: // -// nil -type VirtualNodeSpecServiceDiscoveryPtrInput interface { +// GetVirtualGatewaySpecListenerConnectionPoolHttpArray{ GetVirtualGatewaySpecListenerConnectionPoolHttpArgs{...} } +type GetVirtualGatewaySpecListenerConnectionPoolHttpArrayInput interface { pulumi.Input - ToVirtualNodeSpecServiceDiscoveryPtrOutput() VirtualNodeSpecServiceDiscoveryPtrOutput - ToVirtualNodeSpecServiceDiscoveryPtrOutputWithContext(context.Context) VirtualNodeSpecServiceDiscoveryPtrOutput + ToGetVirtualGatewaySpecListenerConnectionPoolHttpArrayOutput() GetVirtualGatewaySpecListenerConnectionPoolHttpArrayOutput + ToGetVirtualGatewaySpecListenerConnectionPoolHttpArrayOutputWithContext(context.Context) GetVirtualGatewaySpecListenerConnectionPoolHttpArrayOutput } -type virtualNodeSpecServiceDiscoveryPtrType VirtualNodeSpecServiceDiscoveryArgs - -func VirtualNodeSpecServiceDiscoveryPtr(v *VirtualNodeSpecServiceDiscoveryArgs) VirtualNodeSpecServiceDiscoveryPtrInput { - return (*virtualNodeSpecServiceDiscoveryPtrType)(v) -} +type GetVirtualGatewaySpecListenerConnectionPoolHttpArray []GetVirtualGatewaySpecListenerConnectionPoolHttpInput -func (*virtualNodeSpecServiceDiscoveryPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**VirtualNodeSpecServiceDiscovery)(nil)).Elem() +func (GetVirtualGatewaySpecListenerConnectionPoolHttpArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetVirtualGatewaySpecListenerConnectionPoolHttp)(nil)).Elem() } -func (i *virtualNodeSpecServiceDiscoveryPtrType) ToVirtualNodeSpecServiceDiscoveryPtrOutput() VirtualNodeSpecServiceDiscoveryPtrOutput { - return i.ToVirtualNodeSpecServiceDiscoveryPtrOutputWithContext(context.Background()) +func (i GetVirtualGatewaySpecListenerConnectionPoolHttpArray) ToGetVirtualGatewaySpecListenerConnectionPoolHttpArrayOutput() GetVirtualGatewaySpecListenerConnectionPoolHttpArrayOutput { + return i.ToGetVirtualGatewaySpecListenerConnectionPoolHttpArrayOutputWithContext(context.Background()) } -func (i *virtualNodeSpecServiceDiscoveryPtrType) ToVirtualNodeSpecServiceDiscoveryPtrOutputWithContext(ctx context.Context) VirtualNodeSpecServiceDiscoveryPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecServiceDiscoveryPtrOutput) +func (i GetVirtualGatewaySpecListenerConnectionPoolHttpArray) ToGetVirtualGatewaySpecListenerConnectionPoolHttpArrayOutputWithContext(ctx context.Context) GetVirtualGatewaySpecListenerConnectionPoolHttpArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetVirtualGatewaySpecListenerConnectionPoolHttpArrayOutput) } -type VirtualNodeSpecServiceDiscoveryOutput struct{ *pulumi.OutputState } +type GetVirtualGatewaySpecListenerConnectionPoolHttpOutput struct{ *pulumi.OutputState } -func (VirtualNodeSpecServiceDiscoveryOutput) ElementType() reflect.Type { - return reflect.TypeOf((*VirtualNodeSpecServiceDiscovery)(nil)).Elem() +func (GetVirtualGatewaySpecListenerConnectionPoolHttpOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetVirtualGatewaySpecListenerConnectionPoolHttp)(nil)).Elem() } -func (o VirtualNodeSpecServiceDiscoveryOutput) ToVirtualNodeSpecServiceDiscoveryOutput() VirtualNodeSpecServiceDiscoveryOutput { +func (o GetVirtualGatewaySpecListenerConnectionPoolHttpOutput) ToGetVirtualGatewaySpecListenerConnectionPoolHttpOutput() GetVirtualGatewaySpecListenerConnectionPoolHttpOutput { return o } -func (o VirtualNodeSpecServiceDiscoveryOutput) ToVirtualNodeSpecServiceDiscoveryOutputWithContext(ctx context.Context) VirtualNodeSpecServiceDiscoveryOutput { +func (o GetVirtualGatewaySpecListenerConnectionPoolHttpOutput) ToGetVirtualGatewaySpecListenerConnectionPoolHttpOutputWithContext(ctx context.Context) GetVirtualGatewaySpecListenerConnectionPoolHttpOutput { return o } -func (o VirtualNodeSpecServiceDiscoveryOutput) ToVirtualNodeSpecServiceDiscoveryPtrOutput() VirtualNodeSpecServiceDiscoveryPtrOutput { - return o.ToVirtualNodeSpecServiceDiscoveryPtrOutputWithContext(context.Background()) -} - -func (o VirtualNodeSpecServiceDiscoveryOutput) ToVirtualNodeSpecServiceDiscoveryPtrOutputWithContext(ctx context.Context) VirtualNodeSpecServiceDiscoveryPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v VirtualNodeSpecServiceDiscovery) *VirtualNodeSpecServiceDiscovery { - return &v - }).(VirtualNodeSpecServiceDiscoveryPtrOutput) -} - -// Any AWS Cloud Map information for the virtual node. -func (o VirtualNodeSpecServiceDiscoveryOutput) AwsCloudMap() VirtualNodeSpecServiceDiscoveryAwsCloudMapPtrOutput { - return o.ApplyT(func(v VirtualNodeSpecServiceDiscovery) *VirtualNodeSpecServiceDiscoveryAwsCloudMap { - return v.AwsCloudMap - }).(VirtualNodeSpecServiceDiscoveryAwsCloudMapPtrOutput) +func (o GetVirtualGatewaySpecListenerConnectionPoolHttpOutput) MaxConnections() pulumi.IntOutput { + return o.ApplyT(func(v GetVirtualGatewaySpecListenerConnectionPoolHttp) int { return v.MaxConnections }).(pulumi.IntOutput) } -// DNS service name for the virtual node. -func (o VirtualNodeSpecServiceDiscoveryOutput) Dns() VirtualNodeSpecServiceDiscoveryDnsPtrOutput { - return o.ApplyT(func(v VirtualNodeSpecServiceDiscovery) *VirtualNodeSpecServiceDiscoveryDns { return v.Dns }).(VirtualNodeSpecServiceDiscoveryDnsPtrOutput) +func (o GetVirtualGatewaySpecListenerConnectionPoolHttpOutput) MaxPendingRequests() pulumi.IntOutput { + return o.ApplyT(func(v GetVirtualGatewaySpecListenerConnectionPoolHttp) int { return v.MaxPendingRequests }).(pulumi.IntOutput) } -type VirtualNodeSpecServiceDiscoveryPtrOutput struct{ *pulumi.OutputState } +type GetVirtualGatewaySpecListenerConnectionPoolHttpArrayOutput struct{ *pulumi.OutputState } -func (VirtualNodeSpecServiceDiscoveryPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**VirtualNodeSpecServiceDiscovery)(nil)).Elem() +func (GetVirtualGatewaySpecListenerConnectionPoolHttpArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetVirtualGatewaySpecListenerConnectionPoolHttp)(nil)).Elem() } -func (o VirtualNodeSpecServiceDiscoveryPtrOutput) ToVirtualNodeSpecServiceDiscoveryPtrOutput() VirtualNodeSpecServiceDiscoveryPtrOutput { +func (o GetVirtualGatewaySpecListenerConnectionPoolHttpArrayOutput) ToGetVirtualGatewaySpecListenerConnectionPoolHttpArrayOutput() GetVirtualGatewaySpecListenerConnectionPoolHttpArrayOutput { return o } -func (o VirtualNodeSpecServiceDiscoveryPtrOutput) ToVirtualNodeSpecServiceDiscoveryPtrOutputWithContext(ctx context.Context) VirtualNodeSpecServiceDiscoveryPtrOutput { +func (o GetVirtualGatewaySpecListenerConnectionPoolHttpArrayOutput) ToGetVirtualGatewaySpecListenerConnectionPoolHttpArrayOutputWithContext(ctx context.Context) GetVirtualGatewaySpecListenerConnectionPoolHttpArrayOutput { return o } -func (o VirtualNodeSpecServiceDiscoveryPtrOutput) Elem() VirtualNodeSpecServiceDiscoveryOutput { - return o.ApplyT(func(v *VirtualNodeSpecServiceDiscovery) VirtualNodeSpecServiceDiscovery { - if v != nil { - return *v - } - var ret VirtualNodeSpecServiceDiscovery - return ret - }).(VirtualNodeSpecServiceDiscoveryOutput) -} - -// Any AWS Cloud Map information for the virtual node. -func (o VirtualNodeSpecServiceDiscoveryPtrOutput) AwsCloudMap() VirtualNodeSpecServiceDiscoveryAwsCloudMapPtrOutput { - return o.ApplyT(func(v *VirtualNodeSpecServiceDiscovery) *VirtualNodeSpecServiceDiscoveryAwsCloudMap { - if v == nil { - return nil - } - return v.AwsCloudMap - }).(VirtualNodeSpecServiceDiscoveryAwsCloudMapPtrOutput) -} - -// DNS service name for the virtual node. -func (o VirtualNodeSpecServiceDiscoveryPtrOutput) Dns() VirtualNodeSpecServiceDiscoveryDnsPtrOutput { - return o.ApplyT(func(v *VirtualNodeSpecServiceDiscovery) *VirtualNodeSpecServiceDiscoveryDns { - if v == nil { - return nil - } - return v.Dns - }).(VirtualNodeSpecServiceDiscoveryDnsPtrOutput) +func (o GetVirtualGatewaySpecListenerConnectionPoolHttpArrayOutput) Index(i pulumi.IntInput) GetVirtualGatewaySpecListenerConnectionPoolHttpOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetVirtualGatewaySpecListenerConnectionPoolHttp { + return vs[0].([]GetVirtualGatewaySpecListenerConnectionPoolHttp)[vs[1].(int)] + }).(GetVirtualGatewaySpecListenerConnectionPoolHttpOutput) } -type VirtualNodeSpecServiceDiscoveryAwsCloudMap struct { - // String map that contains attributes with values that you can use to filter instances by any custom attribute that you specified when you registered the instance. Only instances that match all of the specified key/value pairs will be returned. - Attributes map[string]string `pulumi:"attributes"` - // Name of the AWS Cloud Map namespace to use. - // Use the `servicediscovery.HttpNamespace` resource to configure a Cloud Map namespace. Must be between 1 and 1024 characters in length. - NamespaceName string `pulumi:"namespaceName"` - // Name of the AWS Cloud Map service to use. Use the `servicediscovery.Service` resource to configure a Cloud Map service. Must be between 1 and 1024 characters in length. - ServiceName string `pulumi:"serviceName"` +type GetVirtualGatewaySpecListenerHealthCheck struct { + HealthyThreshold int `pulumi:"healthyThreshold"` + IntervalMillis int `pulumi:"intervalMillis"` + Path string `pulumi:"path"` + Port int `pulumi:"port"` + Protocol string `pulumi:"protocol"` + TimeoutMillis int `pulumi:"timeoutMillis"` + UnhealthyThreshold int `pulumi:"unhealthyThreshold"` } -// VirtualNodeSpecServiceDiscoveryAwsCloudMapInput is an input type that accepts VirtualNodeSpecServiceDiscoveryAwsCloudMap and VirtualNodeSpecServiceDiscoveryAwsCloudMapOutput values. -// You can construct a concrete instance of `VirtualNodeSpecServiceDiscoveryAwsCloudMapInput` via: +// GetVirtualGatewaySpecListenerHealthCheckInput is an input type that accepts GetVirtualGatewaySpecListenerHealthCheckArgs and GetVirtualGatewaySpecListenerHealthCheckOutput values. +// You can construct a concrete instance of `GetVirtualGatewaySpecListenerHealthCheckInput` via: // -// VirtualNodeSpecServiceDiscoveryAwsCloudMap{ "key": VirtualNodeSpecServiceDiscoveryAwsCloudArgs{...} } -type VirtualNodeSpecServiceDiscoveryAwsCloudMapInput interface { +// GetVirtualGatewaySpecListenerHealthCheckArgs{...} +type GetVirtualGatewaySpecListenerHealthCheckInput interface { pulumi.Input - ToVirtualNodeSpecServiceDiscoveryAwsCloudMapOutput() VirtualNodeSpecServiceDiscoveryAwsCloudMapOutput - ToVirtualNodeSpecServiceDiscoveryAwsCloudMapOutputWithContext(context.Context) VirtualNodeSpecServiceDiscoveryAwsCloudMapOutput -} - -type VirtualNodeSpecServiceDiscoveryAwsCloudMapArgs struct { - // String map that contains attributes with values that you can use to filter instances by any custom attribute that you specified when you registered the instance. Only instances that match all of the specified key/value pairs will be returned. - Attributes pulumi.StringMapInput `pulumi:"attributes"` - // Name of the AWS Cloud Map namespace to use. - // Use the `servicediscovery.HttpNamespace` resource to configure a Cloud Map namespace. Must be between 1 and 1024 characters in length. - NamespaceName pulumi.StringInput `pulumi:"namespaceName"` - // Name of the AWS Cloud Map service to use. Use the `servicediscovery.Service` resource to configure a Cloud Map service. Must be between 1 and 1024 characters in length. - ServiceName pulumi.StringInput `pulumi:"serviceName"` -} - -func (VirtualNodeSpecServiceDiscoveryAwsCloudMapArgs) ElementType() reflect.Type { - return reflect.TypeOf((*VirtualNodeSpecServiceDiscoveryAwsCloudMap)(nil)).Elem() + ToGetVirtualGatewaySpecListenerHealthCheckOutput() GetVirtualGatewaySpecListenerHealthCheckOutput + ToGetVirtualGatewaySpecListenerHealthCheckOutputWithContext(context.Context) GetVirtualGatewaySpecListenerHealthCheckOutput } -func (i VirtualNodeSpecServiceDiscoveryAwsCloudMapArgs) ToVirtualNodeSpecServiceDiscoveryAwsCloudMapOutput() VirtualNodeSpecServiceDiscoveryAwsCloudMapOutput { - return i.ToVirtualNodeSpecServiceDiscoveryAwsCloudMapOutputWithContext(context.Background()) +type GetVirtualGatewaySpecListenerHealthCheckArgs struct { + HealthyThreshold pulumi.IntInput `pulumi:"healthyThreshold"` + IntervalMillis pulumi.IntInput `pulumi:"intervalMillis"` + Path pulumi.StringInput `pulumi:"path"` + Port pulumi.IntInput `pulumi:"port"` + Protocol pulumi.StringInput `pulumi:"protocol"` + TimeoutMillis pulumi.IntInput `pulumi:"timeoutMillis"` + UnhealthyThreshold pulumi.IntInput `pulumi:"unhealthyThreshold"` } -func (i VirtualNodeSpecServiceDiscoveryAwsCloudMapArgs) ToVirtualNodeSpecServiceDiscoveryAwsCloudMapOutputWithContext(ctx context.Context) VirtualNodeSpecServiceDiscoveryAwsCloudMapOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecServiceDiscoveryAwsCloudMapOutput) +func (GetVirtualGatewaySpecListenerHealthCheckArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetVirtualGatewaySpecListenerHealthCheck)(nil)).Elem() } -func (i VirtualNodeSpecServiceDiscoveryAwsCloudMapArgs) ToVirtualNodeSpecServiceDiscoveryAwsCloudMapPtrOutput() VirtualNodeSpecServiceDiscoveryAwsCloudMapPtrOutput { - return i.ToVirtualNodeSpecServiceDiscoveryAwsCloudMapPtrOutputWithContext(context.Background()) +func (i GetVirtualGatewaySpecListenerHealthCheckArgs) ToGetVirtualGatewaySpecListenerHealthCheckOutput() GetVirtualGatewaySpecListenerHealthCheckOutput { + return i.ToGetVirtualGatewaySpecListenerHealthCheckOutputWithContext(context.Background()) } -func (i VirtualNodeSpecServiceDiscoveryAwsCloudMapArgs) ToVirtualNodeSpecServiceDiscoveryAwsCloudMapPtrOutputWithContext(ctx context.Context) VirtualNodeSpecServiceDiscoveryAwsCloudMapPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecServiceDiscoveryAwsCloudMapOutput).ToVirtualNodeSpecServiceDiscoveryAwsCloudMapPtrOutputWithContext(ctx) +func (i GetVirtualGatewaySpecListenerHealthCheckArgs) ToGetVirtualGatewaySpecListenerHealthCheckOutputWithContext(ctx context.Context) GetVirtualGatewaySpecListenerHealthCheckOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetVirtualGatewaySpecListenerHealthCheckOutput) } -// VirtualNodeSpecServiceDiscoveryAwsCloudMapPtrInput is an input type that accepts VirtualNodeSpecServiceDiscoveryAwsCloudMapArgs, VirtualNodeSpecServiceDiscoveryAwsCloudMapPtr and VirtualNodeSpecServiceDiscoveryAwsCloudMapPtrOutput values. -// You can construct a concrete instance of `VirtualNodeSpecServiceDiscoveryAwsCloudMapPtrInput` via: -// -// VirtualNodeSpecServiceDiscoveryAwsCloudMapArgs{...} -// -// or: +// GetVirtualGatewaySpecListenerHealthCheckArrayInput is an input type that accepts GetVirtualGatewaySpecListenerHealthCheckArray and GetVirtualGatewaySpecListenerHealthCheckArrayOutput values. +// You can construct a concrete instance of `GetVirtualGatewaySpecListenerHealthCheckArrayInput` via: // -// nil -type VirtualNodeSpecServiceDiscoveryAwsCloudMapPtrInput interface { +// GetVirtualGatewaySpecListenerHealthCheckArray{ GetVirtualGatewaySpecListenerHealthCheckArgs{...} } +type GetVirtualGatewaySpecListenerHealthCheckArrayInput interface { pulumi.Input - ToVirtualNodeSpecServiceDiscoveryAwsCloudMapPtrOutput() VirtualNodeSpecServiceDiscoveryAwsCloudMapPtrOutput - ToVirtualNodeSpecServiceDiscoveryAwsCloudMapPtrOutputWithContext(context.Context) VirtualNodeSpecServiceDiscoveryAwsCloudMapPtrOutput + ToGetVirtualGatewaySpecListenerHealthCheckArrayOutput() GetVirtualGatewaySpecListenerHealthCheckArrayOutput + ToGetVirtualGatewaySpecListenerHealthCheckArrayOutputWithContext(context.Context) GetVirtualGatewaySpecListenerHealthCheckArrayOutput } -type virtualNodeSpecServiceDiscoveryAwsCloudMapPtrType VirtualNodeSpecServiceDiscoveryAwsCloudMapArgs - -func VirtualNodeSpecServiceDiscoveryAwsCloudMapPtr(v *VirtualNodeSpecServiceDiscoveryAwsCloudMapArgs) VirtualNodeSpecServiceDiscoveryAwsCloudMapPtrInput { - return (*virtualNodeSpecServiceDiscoveryAwsCloudMapPtrType)(v) -} +type GetVirtualGatewaySpecListenerHealthCheckArray []GetVirtualGatewaySpecListenerHealthCheckInput -func (*virtualNodeSpecServiceDiscoveryAwsCloudMapPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**VirtualNodeSpecServiceDiscoveryAwsCloudMap)(nil)).Elem() +func (GetVirtualGatewaySpecListenerHealthCheckArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetVirtualGatewaySpecListenerHealthCheck)(nil)).Elem() } -func (i *virtualNodeSpecServiceDiscoveryAwsCloudMapPtrType) ToVirtualNodeSpecServiceDiscoveryAwsCloudMapPtrOutput() VirtualNodeSpecServiceDiscoveryAwsCloudMapPtrOutput { - return i.ToVirtualNodeSpecServiceDiscoveryAwsCloudMapPtrOutputWithContext(context.Background()) +func (i GetVirtualGatewaySpecListenerHealthCheckArray) ToGetVirtualGatewaySpecListenerHealthCheckArrayOutput() GetVirtualGatewaySpecListenerHealthCheckArrayOutput { + return i.ToGetVirtualGatewaySpecListenerHealthCheckArrayOutputWithContext(context.Background()) } -func (i *virtualNodeSpecServiceDiscoveryAwsCloudMapPtrType) ToVirtualNodeSpecServiceDiscoveryAwsCloudMapPtrOutputWithContext(ctx context.Context) VirtualNodeSpecServiceDiscoveryAwsCloudMapPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecServiceDiscoveryAwsCloudMapPtrOutput) +func (i GetVirtualGatewaySpecListenerHealthCheckArray) ToGetVirtualGatewaySpecListenerHealthCheckArrayOutputWithContext(ctx context.Context) GetVirtualGatewaySpecListenerHealthCheckArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetVirtualGatewaySpecListenerHealthCheckArrayOutput) } -type VirtualNodeSpecServiceDiscoveryAwsCloudMapOutput struct{ *pulumi.OutputState } +type GetVirtualGatewaySpecListenerHealthCheckOutput struct{ *pulumi.OutputState } -func (VirtualNodeSpecServiceDiscoveryAwsCloudMapOutput) ElementType() reflect.Type { - return reflect.TypeOf((*VirtualNodeSpecServiceDiscoveryAwsCloudMap)(nil)).Elem() +func (GetVirtualGatewaySpecListenerHealthCheckOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetVirtualGatewaySpecListenerHealthCheck)(nil)).Elem() } -func (o VirtualNodeSpecServiceDiscoveryAwsCloudMapOutput) ToVirtualNodeSpecServiceDiscoveryAwsCloudMapOutput() VirtualNodeSpecServiceDiscoveryAwsCloudMapOutput { +func (o GetVirtualGatewaySpecListenerHealthCheckOutput) ToGetVirtualGatewaySpecListenerHealthCheckOutput() GetVirtualGatewaySpecListenerHealthCheckOutput { return o } -func (o VirtualNodeSpecServiceDiscoveryAwsCloudMapOutput) ToVirtualNodeSpecServiceDiscoveryAwsCloudMapOutputWithContext(ctx context.Context) VirtualNodeSpecServiceDiscoveryAwsCloudMapOutput { +func (o GetVirtualGatewaySpecListenerHealthCheckOutput) ToGetVirtualGatewaySpecListenerHealthCheckOutputWithContext(ctx context.Context) GetVirtualGatewaySpecListenerHealthCheckOutput { return o } -func (o VirtualNodeSpecServiceDiscoveryAwsCloudMapOutput) ToVirtualNodeSpecServiceDiscoveryAwsCloudMapPtrOutput() VirtualNodeSpecServiceDiscoveryAwsCloudMapPtrOutput { - return o.ToVirtualNodeSpecServiceDiscoveryAwsCloudMapPtrOutputWithContext(context.Background()) +func (o GetVirtualGatewaySpecListenerHealthCheckOutput) HealthyThreshold() pulumi.IntOutput { + return o.ApplyT(func(v GetVirtualGatewaySpecListenerHealthCheck) int { return v.HealthyThreshold }).(pulumi.IntOutput) } -func (o VirtualNodeSpecServiceDiscoveryAwsCloudMapOutput) ToVirtualNodeSpecServiceDiscoveryAwsCloudMapPtrOutputWithContext(ctx context.Context) VirtualNodeSpecServiceDiscoveryAwsCloudMapPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v VirtualNodeSpecServiceDiscoveryAwsCloudMap) *VirtualNodeSpecServiceDiscoveryAwsCloudMap { - return &v - }).(VirtualNodeSpecServiceDiscoveryAwsCloudMapPtrOutput) +func (o GetVirtualGatewaySpecListenerHealthCheckOutput) IntervalMillis() pulumi.IntOutput { + return o.ApplyT(func(v GetVirtualGatewaySpecListenerHealthCheck) int { return v.IntervalMillis }).(pulumi.IntOutput) } -// String map that contains attributes with values that you can use to filter instances by any custom attribute that you specified when you registered the instance. Only instances that match all of the specified key/value pairs will be returned. -func (o VirtualNodeSpecServiceDiscoveryAwsCloudMapOutput) Attributes() pulumi.StringMapOutput { - return o.ApplyT(func(v VirtualNodeSpecServiceDiscoveryAwsCloudMap) map[string]string { return v.Attributes }).(pulumi.StringMapOutput) +func (o GetVirtualGatewaySpecListenerHealthCheckOutput) Path() pulumi.StringOutput { + return o.ApplyT(func(v GetVirtualGatewaySpecListenerHealthCheck) string { return v.Path }).(pulumi.StringOutput) } -// Name of the AWS Cloud Map namespace to use. -// Use the `servicediscovery.HttpNamespace` resource to configure a Cloud Map namespace. Must be between 1 and 1024 characters in length. -func (o VirtualNodeSpecServiceDiscoveryAwsCloudMapOutput) NamespaceName() pulumi.StringOutput { - return o.ApplyT(func(v VirtualNodeSpecServiceDiscoveryAwsCloudMap) string { return v.NamespaceName }).(pulumi.StringOutput) +func (o GetVirtualGatewaySpecListenerHealthCheckOutput) Port() pulumi.IntOutput { + return o.ApplyT(func(v GetVirtualGatewaySpecListenerHealthCheck) int { return v.Port }).(pulumi.IntOutput) } -// Name of the AWS Cloud Map service to use. Use the `servicediscovery.Service` resource to configure a Cloud Map service. Must be between 1 and 1024 characters in length. -func (o VirtualNodeSpecServiceDiscoveryAwsCloudMapOutput) ServiceName() pulumi.StringOutput { - return o.ApplyT(func(v VirtualNodeSpecServiceDiscoveryAwsCloudMap) string { return v.ServiceName }).(pulumi.StringOutput) +func (o GetVirtualGatewaySpecListenerHealthCheckOutput) Protocol() pulumi.StringOutput { + return o.ApplyT(func(v GetVirtualGatewaySpecListenerHealthCheck) string { return v.Protocol }).(pulumi.StringOutput) } -type VirtualNodeSpecServiceDiscoveryAwsCloudMapPtrOutput struct{ *pulumi.OutputState } - -func (VirtualNodeSpecServiceDiscoveryAwsCloudMapPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**VirtualNodeSpecServiceDiscoveryAwsCloudMap)(nil)).Elem() +func (o GetVirtualGatewaySpecListenerHealthCheckOutput) TimeoutMillis() pulumi.IntOutput { + return o.ApplyT(func(v GetVirtualGatewaySpecListenerHealthCheck) int { return v.TimeoutMillis }).(pulumi.IntOutput) } -func (o VirtualNodeSpecServiceDiscoveryAwsCloudMapPtrOutput) ToVirtualNodeSpecServiceDiscoveryAwsCloudMapPtrOutput() VirtualNodeSpecServiceDiscoveryAwsCloudMapPtrOutput { - return o +func (o GetVirtualGatewaySpecListenerHealthCheckOutput) UnhealthyThreshold() pulumi.IntOutput { + return o.ApplyT(func(v GetVirtualGatewaySpecListenerHealthCheck) int { return v.UnhealthyThreshold }).(pulumi.IntOutput) } -func (o VirtualNodeSpecServiceDiscoveryAwsCloudMapPtrOutput) ToVirtualNodeSpecServiceDiscoveryAwsCloudMapPtrOutputWithContext(ctx context.Context) VirtualNodeSpecServiceDiscoveryAwsCloudMapPtrOutput { - return o -} +type GetVirtualGatewaySpecListenerHealthCheckArrayOutput struct{ *pulumi.OutputState } -func (o VirtualNodeSpecServiceDiscoveryAwsCloudMapPtrOutput) Elem() VirtualNodeSpecServiceDiscoveryAwsCloudMapOutput { - return o.ApplyT(func(v *VirtualNodeSpecServiceDiscoveryAwsCloudMap) VirtualNodeSpecServiceDiscoveryAwsCloudMap { - if v != nil { - return *v - } - var ret VirtualNodeSpecServiceDiscoveryAwsCloudMap - return ret - }).(VirtualNodeSpecServiceDiscoveryAwsCloudMapOutput) +func (GetVirtualGatewaySpecListenerHealthCheckArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetVirtualGatewaySpecListenerHealthCheck)(nil)).Elem() } -// String map that contains attributes with values that you can use to filter instances by any custom attribute that you specified when you registered the instance. Only instances that match all of the specified key/value pairs will be returned. -func (o VirtualNodeSpecServiceDiscoveryAwsCloudMapPtrOutput) Attributes() pulumi.StringMapOutput { - return o.ApplyT(func(v *VirtualNodeSpecServiceDiscoveryAwsCloudMap) map[string]string { - if v == nil { - return nil - } - return v.Attributes - }).(pulumi.StringMapOutput) +func (o GetVirtualGatewaySpecListenerHealthCheckArrayOutput) ToGetVirtualGatewaySpecListenerHealthCheckArrayOutput() GetVirtualGatewaySpecListenerHealthCheckArrayOutput { + return o } -// Name of the AWS Cloud Map namespace to use. -// Use the `servicediscovery.HttpNamespace` resource to configure a Cloud Map namespace. Must be between 1 and 1024 characters in length. -func (o VirtualNodeSpecServiceDiscoveryAwsCloudMapPtrOutput) NamespaceName() pulumi.StringPtrOutput { - return o.ApplyT(func(v *VirtualNodeSpecServiceDiscoveryAwsCloudMap) *string { - if v == nil { - return nil - } - return &v.NamespaceName - }).(pulumi.StringPtrOutput) +func (o GetVirtualGatewaySpecListenerHealthCheckArrayOutput) ToGetVirtualGatewaySpecListenerHealthCheckArrayOutputWithContext(ctx context.Context) GetVirtualGatewaySpecListenerHealthCheckArrayOutput { + return o } -// Name of the AWS Cloud Map service to use. Use the `servicediscovery.Service` resource to configure a Cloud Map service. Must be between 1 and 1024 characters in length. -func (o VirtualNodeSpecServiceDiscoveryAwsCloudMapPtrOutput) ServiceName() pulumi.StringPtrOutput { - return o.ApplyT(func(v *VirtualNodeSpecServiceDiscoveryAwsCloudMap) *string { - if v == nil { - return nil - } - return &v.ServiceName - }).(pulumi.StringPtrOutput) +func (o GetVirtualGatewaySpecListenerHealthCheckArrayOutput) Index(i pulumi.IntInput) GetVirtualGatewaySpecListenerHealthCheckOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetVirtualGatewaySpecListenerHealthCheck { + return vs[0].([]GetVirtualGatewaySpecListenerHealthCheck)[vs[1].(int)] + }).(GetVirtualGatewaySpecListenerHealthCheckOutput) } -type VirtualNodeSpecServiceDiscoveryDns struct { - // DNS host name for your virtual node. - Hostname string `pulumi:"hostname"` +type GetVirtualGatewaySpecListenerPortMapping struct { + Port int `pulumi:"port"` + Protocol string `pulumi:"protocol"` } -// VirtualNodeSpecServiceDiscoveryDnsInput is an input type that accepts VirtualNodeSpecServiceDiscoveryDnsArgs and VirtualNodeSpecServiceDiscoveryDnsOutput values. -// You can construct a concrete instance of `VirtualNodeSpecServiceDiscoveryDnsInput` via: +// GetVirtualGatewaySpecListenerPortMappingInput is an input type that accepts GetVirtualGatewaySpecListenerPortMappingArgs and GetVirtualGatewaySpecListenerPortMappingOutput values. +// You can construct a concrete instance of `GetVirtualGatewaySpecListenerPortMappingInput` via: // -// VirtualNodeSpecServiceDiscoveryDnsArgs{...} -type VirtualNodeSpecServiceDiscoveryDnsInput interface { +// GetVirtualGatewaySpecListenerPortMappingArgs{...} +type GetVirtualGatewaySpecListenerPortMappingInput interface { pulumi.Input - ToVirtualNodeSpecServiceDiscoveryDnsOutput() VirtualNodeSpecServiceDiscoveryDnsOutput - ToVirtualNodeSpecServiceDiscoveryDnsOutputWithContext(context.Context) VirtualNodeSpecServiceDiscoveryDnsOutput -} - -type VirtualNodeSpecServiceDiscoveryDnsArgs struct { - // DNS host name for your virtual node. - Hostname pulumi.StringInput `pulumi:"hostname"` -} - -func (VirtualNodeSpecServiceDiscoveryDnsArgs) ElementType() reflect.Type { - return reflect.TypeOf((*VirtualNodeSpecServiceDiscoveryDns)(nil)).Elem() + ToGetVirtualGatewaySpecListenerPortMappingOutput() GetVirtualGatewaySpecListenerPortMappingOutput + ToGetVirtualGatewaySpecListenerPortMappingOutputWithContext(context.Context) GetVirtualGatewaySpecListenerPortMappingOutput } -func (i VirtualNodeSpecServiceDiscoveryDnsArgs) ToVirtualNodeSpecServiceDiscoveryDnsOutput() VirtualNodeSpecServiceDiscoveryDnsOutput { - return i.ToVirtualNodeSpecServiceDiscoveryDnsOutputWithContext(context.Background()) +type GetVirtualGatewaySpecListenerPortMappingArgs struct { + Port pulumi.IntInput `pulumi:"port"` + Protocol pulumi.StringInput `pulumi:"protocol"` } -func (i VirtualNodeSpecServiceDiscoveryDnsArgs) ToVirtualNodeSpecServiceDiscoveryDnsOutputWithContext(ctx context.Context) VirtualNodeSpecServiceDiscoveryDnsOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecServiceDiscoveryDnsOutput) +func (GetVirtualGatewaySpecListenerPortMappingArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetVirtualGatewaySpecListenerPortMapping)(nil)).Elem() } -func (i VirtualNodeSpecServiceDiscoveryDnsArgs) ToVirtualNodeSpecServiceDiscoveryDnsPtrOutput() VirtualNodeSpecServiceDiscoveryDnsPtrOutput { - return i.ToVirtualNodeSpecServiceDiscoveryDnsPtrOutputWithContext(context.Background()) +func (i GetVirtualGatewaySpecListenerPortMappingArgs) ToGetVirtualGatewaySpecListenerPortMappingOutput() GetVirtualGatewaySpecListenerPortMappingOutput { + return i.ToGetVirtualGatewaySpecListenerPortMappingOutputWithContext(context.Background()) } -func (i VirtualNodeSpecServiceDiscoveryDnsArgs) ToVirtualNodeSpecServiceDiscoveryDnsPtrOutputWithContext(ctx context.Context) VirtualNodeSpecServiceDiscoveryDnsPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecServiceDiscoveryDnsOutput).ToVirtualNodeSpecServiceDiscoveryDnsPtrOutputWithContext(ctx) +func (i GetVirtualGatewaySpecListenerPortMappingArgs) ToGetVirtualGatewaySpecListenerPortMappingOutputWithContext(ctx context.Context) GetVirtualGatewaySpecListenerPortMappingOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetVirtualGatewaySpecListenerPortMappingOutput) } -// VirtualNodeSpecServiceDiscoveryDnsPtrInput is an input type that accepts VirtualNodeSpecServiceDiscoveryDnsArgs, VirtualNodeSpecServiceDiscoveryDnsPtr and VirtualNodeSpecServiceDiscoveryDnsPtrOutput values. -// You can construct a concrete instance of `VirtualNodeSpecServiceDiscoveryDnsPtrInput` via: -// -// VirtualNodeSpecServiceDiscoveryDnsArgs{...} -// -// or: +// GetVirtualGatewaySpecListenerPortMappingArrayInput is an input type that accepts GetVirtualGatewaySpecListenerPortMappingArray and GetVirtualGatewaySpecListenerPortMappingArrayOutput values. +// You can construct a concrete instance of `GetVirtualGatewaySpecListenerPortMappingArrayInput` via: // -// nil -type VirtualNodeSpecServiceDiscoveryDnsPtrInput interface { +// GetVirtualGatewaySpecListenerPortMappingArray{ GetVirtualGatewaySpecListenerPortMappingArgs{...} } +type GetVirtualGatewaySpecListenerPortMappingArrayInput interface { pulumi.Input - ToVirtualNodeSpecServiceDiscoveryDnsPtrOutput() VirtualNodeSpecServiceDiscoveryDnsPtrOutput - ToVirtualNodeSpecServiceDiscoveryDnsPtrOutputWithContext(context.Context) VirtualNodeSpecServiceDiscoveryDnsPtrOutput + ToGetVirtualGatewaySpecListenerPortMappingArrayOutput() GetVirtualGatewaySpecListenerPortMappingArrayOutput + ToGetVirtualGatewaySpecListenerPortMappingArrayOutputWithContext(context.Context) GetVirtualGatewaySpecListenerPortMappingArrayOutput } -type virtualNodeSpecServiceDiscoveryDnsPtrType VirtualNodeSpecServiceDiscoveryDnsArgs - -func VirtualNodeSpecServiceDiscoveryDnsPtr(v *VirtualNodeSpecServiceDiscoveryDnsArgs) VirtualNodeSpecServiceDiscoveryDnsPtrInput { - return (*virtualNodeSpecServiceDiscoveryDnsPtrType)(v) -} +type GetVirtualGatewaySpecListenerPortMappingArray []GetVirtualGatewaySpecListenerPortMappingInput -func (*virtualNodeSpecServiceDiscoveryDnsPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**VirtualNodeSpecServiceDiscoveryDns)(nil)).Elem() +func (GetVirtualGatewaySpecListenerPortMappingArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetVirtualGatewaySpecListenerPortMapping)(nil)).Elem() } -func (i *virtualNodeSpecServiceDiscoveryDnsPtrType) ToVirtualNodeSpecServiceDiscoveryDnsPtrOutput() VirtualNodeSpecServiceDiscoveryDnsPtrOutput { - return i.ToVirtualNodeSpecServiceDiscoveryDnsPtrOutputWithContext(context.Background()) +func (i GetVirtualGatewaySpecListenerPortMappingArray) ToGetVirtualGatewaySpecListenerPortMappingArrayOutput() GetVirtualGatewaySpecListenerPortMappingArrayOutput { + return i.ToGetVirtualGatewaySpecListenerPortMappingArrayOutputWithContext(context.Background()) } -func (i *virtualNodeSpecServiceDiscoveryDnsPtrType) ToVirtualNodeSpecServiceDiscoveryDnsPtrOutputWithContext(ctx context.Context) VirtualNodeSpecServiceDiscoveryDnsPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualNodeSpecServiceDiscoveryDnsPtrOutput) +func (i GetVirtualGatewaySpecListenerPortMappingArray) ToGetVirtualGatewaySpecListenerPortMappingArrayOutputWithContext(ctx context.Context) GetVirtualGatewaySpecListenerPortMappingArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetVirtualGatewaySpecListenerPortMappingArrayOutput) } -type VirtualNodeSpecServiceDiscoveryDnsOutput struct{ *pulumi.OutputState } +type GetVirtualGatewaySpecListenerPortMappingOutput struct{ *pulumi.OutputState } -func (VirtualNodeSpecServiceDiscoveryDnsOutput) ElementType() reflect.Type { - return reflect.TypeOf((*VirtualNodeSpecServiceDiscoveryDns)(nil)).Elem() +func (GetVirtualGatewaySpecListenerPortMappingOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetVirtualGatewaySpecListenerPortMapping)(nil)).Elem() } -func (o VirtualNodeSpecServiceDiscoveryDnsOutput) ToVirtualNodeSpecServiceDiscoveryDnsOutput() VirtualNodeSpecServiceDiscoveryDnsOutput { +func (o GetVirtualGatewaySpecListenerPortMappingOutput) ToGetVirtualGatewaySpecListenerPortMappingOutput() GetVirtualGatewaySpecListenerPortMappingOutput { return o } -func (o VirtualNodeSpecServiceDiscoveryDnsOutput) ToVirtualNodeSpecServiceDiscoveryDnsOutputWithContext(ctx context.Context) VirtualNodeSpecServiceDiscoveryDnsOutput { +func (o GetVirtualGatewaySpecListenerPortMappingOutput) ToGetVirtualGatewaySpecListenerPortMappingOutputWithContext(ctx context.Context) GetVirtualGatewaySpecListenerPortMappingOutput { return o } -func (o VirtualNodeSpecServiceDiscoveryDnsOutput) ToVirtualNodeSpecServiceDiscoveryDnsPtrOutput() VirtualNodeSpecServiceDiscoveryDnsPtrOutput { - return o.ToVirtualNodeSpecServiceDiscoveryDnsPtrOutputWithContext(context.Background()) -} - -func (o VirtualNodeSpecServiceDiscoveryDnsOutput) ToVirtualNodeSpecServiceDiscoveryDnsPtrOutputWithContext(ctx context.Context) VirtualNodeSpecServiceDiscoveryDnsPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v VirtualNodeSpecServiceDiscoveryDns) *VirtualNodeSpecServiceDiscoveryDns { - return &v - }).(VirtualNodeSpecServiceDiscoveryDnsPtrOutput) +func (o GetVirtualGatewaySpecListenerPortMappingOutput) Port() pulumi.IntOutput { + return o.ApplyT(func(v GetVirtualGatewaySpecListenerPortMapping) int { return v.Port }).(pulumi.IntOutput) } -// DNS host name for your virtual node. -func (o VirtualNodeSpecServiceDiscoveryDnsOutput) Hostname() pulumi.StringOutput { - return o.ApplyT(func(v VirtualNodeSpecServiceDiscoveryDns) string { return v.Hostname }).(pulumi.StringOutput) +func (o GetVirtualGatewaySpecListenerPortMappingOutput) Protocol() pulumi.StringOutput { + return o.ApplyT(func(v GetVirtualGatewaySpecListenerPortMapping) string { return v.Protocol }).(pulumi.StringOutput) } -type VirtualNodeSpecServiceDiscoveryDnsPtrOutput struct{ *pulumi.OutputState } +type GetVirtualGatewaySpecListenerPortMappingArrayOutput struct{ *pulumi.OutputState } -func (VirtualNodeSpecServiceDiscoveryDnsPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**VirtualNodeSpecServiceDiscoveryDns)(nil)).Elem() +func (GetVirtualGatewaySpecListenerPortMappingArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetVirtualGatewaySpecListenerPortMapping)(nil)).Elem() } -func (o VirtualNodeSpecServiceDiscoveryDnsPtrOutput) ToVirtualNodeSpecServiceDiscoveryDnsPtrOutput() VirtualNodeSpecServiceDiscoveryDnsPtrOutput { +func (o GetVirtualGatewaySpecListenerPortMappingArrayOutput) ToGetVirtualGatewaySpecListenerPortMappingArrayOutput() GetVirtualGatewaySpecListenerPortMappingArrayOutput { return o } -func (o VirtualNodeSpecServiceDiscoveryDnsPtrOutput) ToVirtualNodeSpecServiceDiscoveryDnsPtrOutputWithContext(ctx context.Context) VirtualNodeSpecServiceDiscoveryDnsPtrOutput { +func (o GetVirtualGatewaySpecListenerPortMappingArrayOutput) ToGetVirtualGatewaySpecListenerPortMappingArrayOutputWithContext(ctx context.Context) GetVirtualGatewaySpecListenerPortMappingArrayOutput { return o } -func (o VirtualNodeSpecServiceDiscoveryDnsPtrOutput) Elem() VirtualNodeSpecServiceDiscoveryDnsOutput { - return o.ApplyT(func(v *VirtualNodeSpecServiceDiscoveryDns) VirtualNodeSpecServiceDiscoveryDns { - if v != nil { - return *v - } - var ret VirtualNodeSpecServiceDiscoveryDns - return ret - }).(VirtualNodeSpecServiceDiscoveryDnsOutput) -} - -// DNS host name for your virtual node. -func (o VirtualNodeSpecServiceDiscoveryDnsPtrOutput) Hostname() pulumi.StringPtrOutput { - return o.ApplyT(func(v *VirtualNodeSpecServiceDiscoveryDns) *string { - if v == nil { - return nil - } - return &v.Hostname - }).(pulumi.StringPtrOutput) +func (o GetVirtualGatewaySpecListenerPortMappingArrayOutput) Index(i pulumi.IntInput) GetVirtualGatewaySpecListenerPortMappingOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetVirtualGatewaySpecListenerPortMapping { + return vs[0].([]GetVirtualGatewaySpecListenerPortMapping)[vs[1].(int)] + }).(GetVirtualGatewaySpecListenerPortMappingOutput) } -type VirtualRouterSpec struct { - // Listeners that the virtual router is expected to receive inbound traffic from. - // Currently only one listener is supported per virtual router. - Listener VirtualRouterSpecListener `pulumi:"listener"` +type GetVirtualGatewaySpecListenerTl struct { + Certificates []GetVirtualGatewaySpecListenerTlCertificate `pulumi:"certificates"` + Mode string `pulumi:"mode"` + Validations []GetVirtualGatewaySpecListenerTlValidation `pulumi:"validations"` } -// VirtualRouterSpecInput is an input type that accepts VirtualRouterSpecArgs and VirtualRouterSpecOutput values. -// You can construct a concrete instance of `VirtualRouterSpecInput` via: +// GetVirtualGatewaySpecListenerTlInput is an input type that accepts GetVirtualGatewaySpecListenerTlArgs and GetVirtualGatewaySpecListenerTlOutput values. +// You can construct a concrete instance of `GetVirtualGatewaySpecListenerTlInput` via: // -// VirtualRouterSpecArgs{...} -type VirtualRouterSpecInput interface { +// GetVirtualGatewaySpecListenerTlArgs{...} +type GetVirtualGatewaySpecListenerTlInput interface { pulumi.Input - ToVirtualRouterSpecOutput() VirtualRouterSpecOutput - ToVirtualRouterSpecOutputWithContext(context.Context) VirtualRouterSpecOutput -} - -type VirtualRouterSpecArgs struct { - // Listeners that the virtual router is expected to receive inbound traffic from. - // Currently only one listener is supported per virtual router. - Listener VirtualRouterSpecListenerInput `pulumi:"listener"` -} - -func (VirtualRouterSpecArgs) ElementType() reflect.Type { - return reflect.TypeOf((*VirtualRouterSpec)(nil)).Elem() + ToGetVirtualGatewaySpecListenerTlOutput() GetVirtualGatewaySpecListenerTlOutput + ToGetVirtualGatewaySpecListenerTlOutputWithContext(context.Context) GetVirtualGatewaySpecListenerTlOutput } -func (i VirtualRouterSpecArgs) ToVirtualRouterSpecOutput() VirtualRouterSpecOutput { - return i.ToVirtualRouterSpecOutputWithContext(context.Background()) +type GetVirtualGatewaySpecListenerTlArgs struct { + Certificates GetVirtualGatewaySpecListenerTlCertificateArrayInput `pulumi:"certificates"` + Mode pulumi.StringInput `pulumi:"mode"` + Validations GetVirtualGatewaySpecListenerTlValidationArrayInput `pulumi:"validations"` } -func (i VirtualRouterSpecArgs) ToVirtualRouterSpecOutputWithContext(ctx context.Context) VirtualRouterSpecOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualRouterSpecOutput) +func (GetVirtualGatewaySpecListenerTlArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetVirtualGatewaySpecListenerTl)(nil)).Elem() } -func (i VirtualRouterSpecArgs) ToVirtualRouterSpecPtrOutput() VirtualRouterSpecPtrOutput { - return i.ToVirtualRouterSpecPtrOutputWithContext(context.Background()) +func (i GetVirtualGatewaySpecListenerTlArgs) ToGetVirtualGatewaySpecListenerTlOutput() GetVirtualGatewaySpecListenerTlOutput { + return i.ToGetVirtualGatewaySpecListenerTlOutputWithContext(context.Background()) } -func (i VirtualRouterSpecArgs) ToVirtualRouterSpecPtrOutputWithContext(ctx context.Context) VirtualRouterSpecPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualRouterSpecOutput).ToVirtualRouterSpecPtrOutputWithContext(ctx) +func (i GetVirtualGatewaySpecListenerTlArgs) ToGetVirtualGatewaySpecListenerTlOutputWithContext(ctx context.Context) GetVirtualGatewaySpecListenerTlOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetVirtualGatewaySpecListenerTlOutput) } -// VirtualRouterSpecPtrInput is an input type that accepts VirtualRouterSpecArgs, VirtualRouterSpecPtr and VirtualRouterSpecPtrOutput values. -// You can construct a concrete instance of `VirtualRouterSpecPtrInput` via: -// -// VirtualRouterSpecArgs{...} -// -// or: +// GetVirtualGatewaySpecListenerTlArrayInput is an input type that accepts GetVirtualGatewaySpecListenerTlArray and GetVirtualGatewaySpecListenerTlArrayOutput values. +// You can construct a concrete instance of `GetVirtualGatewaySpecListenerTlArrayInput` via: // -// nil -type VirtualRouterSpecPtrInput interface { +// GetVirtualGatewaySpecListenerTlArray{ GetVirtualGatewaySpecListenerTlArgs{...} } +type GetVirtualGatewaySpecListenerTlArrayInput interface { pulumi.Input - ToVirtualRouterSpecPtrOutput() VirtualRouterSpecPtrOutput - ToVirtualRouterSpecPtrOutputWithContext(context.Context) VirtualRouterSpecPtrOutput + ToGetVirtualGatewaySpecListenerTlArrayOutput() GetVirtualGatewaySpecListenerTlArrayOutput + ToGetVirtualGatewaySpecListenerTlArrayOutputWithContext(context.Context) GetVirtualGatewaySpecListenerTlArrayOutput } -type virtualRouterSpecPtrType VirtualRouterSpecArgs - -func VirtualRouterSpecPtr(v *VirtualRouterSpecArgs) VirtualRouterSpecPtrInput { - return (*virtualRouterSpecPtrType)(v) -} +type GetVirtualGatewaySpecListenerTlArray []GetVirtualGatewaySpecListenerTlInput -func (*virtualRouterSpecPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**VirtualRouterSpec)(nil)).Elem() +func (GetVirtualGatewaySpecListenerTlArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetVirtualGatewaySpecListenerTl)(nil)).Elem() } -func (i *virtualRouterSpecPtrType) ToVirtualRouterSpecPtrOutput() VirtualRouterSpecPtrOutput { - return i.ToVirtualRouterSpecPtrOutputWithContext(context.Background()) +func (i GetVirtualGatewaySpecListenerTlArray) ToGetVirtualGatewaySpecListenerTlArrayOutput() GetVirtualGatewaySpecListenerTlArrayOutput { + return i.ToGetVirtualGatewaySpecListenerTlArrayOutputWithContext(context.Background()) } -func (i *virtualRouterSpecPtrType) ToVirtualRouterSpecPtrOutputWithContext(ctx context.Context) VirtualRouterSpecPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualRouterSpecPtrOutput) +func (i GetVirtualGatewaySpecListenerTlArray) ToGetVirtualGatewaySpecListenerTlArrayOutputWithContext(ctx context.Context) GetVirtualGatewaySpecListenerTlArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetVirtualGatewaySpecListenerTlArrayOutput) } -type VirtualRouterSpecOutput struct{ *pulumi.OutputState } +type GetVirtualGatewaySpecListenerTlOutput struct{ *pulumi.OutputState } -func (VirtualRouterSpecOutput) ElementType() reflect.Type { - return reflect.TypeOf((*VirtualRouterSpec)(nil)).Elem() +func (GetVirtualGatewaySpecListenerTlOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetVirtualGatewaySpecListenerTl)(nil)).Elem() } -func (o VirtualRouterSpecOutput) ToVirtualRouterSpecOutput() VirtualRouterSpecOutput { +func (o GetVirtualGatewaySpecListenerTlOutput) ToGetVirtualGatewaySpecListenerTlOutput() GetVirtualGatewaySpecListenerTlOutput { return o } -func (o VirtualRouterSpecOutput) ToVirtualRouterSpecOutputWithContext(ctx context.Context) VirtualRouterSpecOutput { +func (o GetVirtualGatewaySpecListenerTlOutput) ToGetVirtualGatewaySpecListenerTlOutputWithContext(ctx context.Context) GetVirtualGatewaySpecListenerTlOutput { return o } -func (o VirtualRouterSpecOutput) ToVirtualRouterSpecPtrOutput() VirtualRouterSpecPtrOutput { - return o.ToVirtualRouterSpecPtrOutputWithContext(context.Background()) +func (o GetVirtualGatewaySpecListenerTlOutput) Certificates() GetVirtualGatewaySpecListenerTlCertificateArrayOutput { + return o.ApplyT(func(v GetVirtualGatewaySpecListenerTl) []GetVirtualGatewaySpecListenerTlCertificate { + return v.Certificates + }).(GetVirtualGatewaySpecListenerTlCertificateArrayOutput) } -func (o VirtualRouterSpecOutput) ToVirtualRouterSpecPtrOutputWithContext(ctx context.Context) VirtualRouterSpecPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v VirtualRouterSpec) *VirtualRouterSpec { - return &v - }).(VirtualRouterSpecPtrOutput) +func (o GetVirtualGatewaySpecListenerTlOutput) Mode() pulumi.StringOutput { + return o.ApplyT(func(v GetVirtualGatewaySpecListenerTl) string { return v.Mode }).(pulumi.StringOutput) } -// Listeners that the virtual router is expected to receive inbound traffic from. -// Currently only one listener is supported per virtual router. -func (o VirtualRouterSpecOutput) Listener() VirtualRouterSpecListenerOutput { - return o.ApplyT(func(v VirtualRouterSpec) VirtualRouterSpecListener { return v.Listener }).(VirtualRouterSpecListenerOutput) +func (o GetVirtualGatewaySpecListenerTlOutput) Validations() GetVirtualGatewaySpecListenerTlValidationArrayOutput { + return o.ApplyT(func(v GetVirtualGatewaySpecListenerTl) []GetVirtualGatewaySpecListenerTlValidation { + return v.Validations + }).(GetVirtualGatewaySpecListenerTlValidationArrayOutput) } -type VirtualRouterSpecPtrOutput struct{ *pulumi.OutputState } +type GetVirtualGatewaySpecListenerTlArrayOutput struct{ *pulumi.OutputState } -func (VirtualRouterSpecPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**VirtualRouterSpec)(nil)).Elem() +func (GetVirtualGatewaySpecListenerTlArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetVirtualGatewaySpecListenerTl)(nil)).Elem() } -func (o VirtualRouterSpecPtrOutput) ToVirtualRouterSpecPtrOutput() VirtualRouterSpecPtrOutput { +func (o GetVirtualGatewaySpecListenerTlArrayOutput) ToGetVirtualGatewaySpecListenerTlArrayOutput() GetVirtualGatewaySpecListenerTlArrayOutput { return o } -func (o VirtualRouterSpecPtrOutput) ToVirtualRouterSpecPtrOutputWithContext(ctx context.Context) VirtualRouterSpecPtrOutput { +func (o GetVirtualGatewaySpecListenerTlArrayOutput) ToGetVirtualGatewaySpecListenerTlArrayOutputWithContext(ctx context.Context) GetVirtualGatewaySpecListenerTlArrayOutput { return o } -func (o VirtualRouterSpecPtrOutput) Elem() VirtualRouterSpecOutput { - return o.ApplyT(func(v *VirtualRouterSpec) VirtualRouterSpec { - if v != nil { - return *v - } - var ret VirtualRouterSpec - return ret - }).(VirtualRouterSpecOutput) -} - -// Listeners that the virtual router is expected to receive inbound traffic from. -// Currently only one listener is supported per virtual router. -func (o VirtualRouterSpecPtrOutput) Listener() VirtualRouterSpecListenerPtrOutput { - return o.ApplyT(func(v *VirtualRouterSpec) *VirtualRouterSpecListener { - if v == nil { - return nil - } - return &v.Listener - }).(VirtualRouterSpecListenerPtrOutput) +func (o GetVirtualGatewaySpecListenerTlArrayOutput) Index(i pulumi.IntInput) GetVirtualGatewaySpecListenerTlOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetVirtualGatewaySpecListenerTl { + return vs[0].([]GetVirtualGatewaySpecListenerTl)[vs[1].(int)] + }).(GetVirtualGatewaySpecListenerTlOutput) } -type VirtualRouterSpecListener struct { - // Port mapping information for the listener. - PortMapping VirtualRouterSpecListenerPortMapping `pulumi:"portMapping"` +type GetVirtualGatewaySpecListenerTlCertificate struct { + Acms []GetVirtualGatewaySpecListenerTlCertificateAcm `pulumi:"acms"` + Files []GetVirtualGatewaySpecListenerTlCertificateFile `pulumi:"files"` + Sds []GetVirtualGatewaySpecListenerTlCertificateSd `pulumi:"sds"` } -// VirtualRouterSpecListenerInput is an input type that accepts VirtualRouterSpecListenerArgs and VirtualRouterSpecListenerOutput values. -// You can construct a concrete instance of `VirtualRouterSpecListenerInput` via: +// GetVirtualGatewaySpecListenerTlCertificateInput is an input type that accepts GetVirtualGatewaySpecListenerTlCertificateArgs and GetVirtualGatewaySpecListenerTlCertificateOutput values. +// You can construct a concrete instance of `GetVirtualGatewaySpecListenerTlCertificateInput` via: // -// VirtualRouterSpecListenerArgs{...} -type VirtualRouterSpecListenerInput interface { +// GetVirtualGatewaySpecListenerTlCertificateArgs{...} +type GetVirtualGatewaySpecListenerTlCertificateInput interface { pulumi.Input - ToVirtualRouterSpecListenerOutput() VirtualRouterSpecListenerOutput - ToVirtualRouterSpecListenerOutputWithContext(context.Context) VirtualRouterSpecListenerOutput -} - -type VirtualRouterSpecListenerArgs struct { - // Port mapping information for the listener. - PortMapping VirtualRouterSpecListenerPortMappingInput `pulumi:"portMapping"` -} - -func (VirtualRouterSpecListenerArgs) ElementType() reflect.Type { - return reflect.TypeOf((*VirtualRouterSpecListener)(nil)).Elem() + ToGetVirtualGatewaySpecListenerTlCertificateOutput() GetVirtualGatewaySpecListenerTlCertificateOutput + ToGetVirtualGatewaySpecListenerTlCertificateOutputWithContext(context.Context) GetVirtualGatewaySpecListenerTlCertificateOutput } -func (i VirtualRouterSpecListenerArgs) ToVirtualRouterSpecListenerOutput() VirtualRouterSpecListenerOutput { - return i.ToVirtualRouterSpecListenerOutputWithContext(context.Background()) +type GetVirtualGatewaySpecListenerTlCertificateArgs struct { + Acms GetVirtualGatewaySpecListenerTlCertificateAcmArrayInput `pulumi:"acms"` + Files GetVirtualGatewaySpecListenerTlCertificateFileArrayInput `pulumi:"files"` + Sds GetVirtualGatewaySpecListenerTlCertificateSdArrayInput `pulumi:"sds"` } -func (i VirtualRouterSpecListenerArgs) ToVirtualRouterSpecListenerOutputWithContext(ctx context.Context) VirtualRouterSpecListenerOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualRouterSpecListenerOutput) +func (GetVirtualGatewaySpecListenerTlCertificateArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetVirtualGatewaySpecListenerTlCertificate)(nil)).Elem() } -func (i VirtualRouterSpecListenerArgs) ToVirtualRouterSpecListenerPtrOutput() VirtualRouterSpecListenerPtrOutput { - return i.ToVirtualRouterSpecListenerPtrOutputWithContext(context.Background()) +func (i GetVirtualGatewaySpecListenerTlCertificateArgs) ToGetVirtualGatewaySpecListenerTlCertificateOutput() GetVirtualGatewaySpecListenerTlCertificateOutput { + return i.ToGetVirtualGatewaySpecListenerTlCertificateOutputWithContext(context.Background()) } -func (i VirtualRouterSpecListenerArgs) ToVirtualRouterSpecListenerPtrOutputWithContext(ctx context.Context) VirtualRouterSpecListenerPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualRouterSpecListenerOutput).ToVirtualRouterSpecListenerPtrOutputWithContext(ctx) +func (i GetVirtualGatewaySpecListenerTlCertificateArgs) ToGetVirtualGatewaySpecListenerTlCertificateOutputWithContext(ctx context.Context) GetVirtualGatewaySpecListenerTlCertificateOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetVirtualGatewaySpecListenerTlCertificateOutput) } -// VirtualRouterSpecListenerPtrInput is an input type that accepts VirtualRouterSpecListenerArgs, VirtualRouterSpecListenerPtr and VirtualRouterSpecListenerPtrOutput values. -// You can construct a concrete instance of `VirtualRouterSpecListenerPtrInput` via: -// -// VirtualRouterSpecListenerArgs{...} -// -// or: +// GetVirtualGatewaySpecListenerTlCertificateArrayInput is an input type that accepts GetVirtualGatewaySpecListenerTlCertificateArray and GetVirtualGatewaySpecListenerTlCertificateArrayOutput values. +// You can construct a concrete instance of `GetVirtualGatewaySpecListenerTlCertificateArrayInput` via: // -// nil -type VirtualRouterSpecListenerPtrInput interface { +// GetVirtualGatewaySpecListenerTlCertificateArray{ GetVirtualGatewaySpecListenerTlCertificateArgs{...} } +type GetVirtualGatewaySpecListenerTlCertificateArrayInput interface { pulumi.Input - ToVirtualRouterSpecListenerPtrOutput() VirtualRouterSpecListenerPtrOutput - ToVirtualRouterSpecListenerPtrOutputWithContext(context.Context) VirtualRouterSpecListenerPtrOutput + ToGetVirtualGatewaySpecListenerTlCertificateArrayOutput() GetVirtualGatewaySpecListenerTlCertificateArrayOutput + ToGetVirtualGatewaySpecListenerTlCertificateArrayOutputWithContext(context.Context) GetVirtualGatewaySpecListenerTlCertificateArrayOutput } -type virtualRouterSpecListenerPtrType VirtualRouterSpecListenerArgs - -func VirtualRouterSpecListenerPtr(v *VirtualRouterSpecListenerArgs) VirtualRouterSpecListenerPtrInput { - return (*virtualRouterSpecListenerPtrType)(v) -} +type GetVirtualGatewaySpecListenerTlCertificateArray []GetVirtualGatewaySpecListenerTlCertificateInput -func (*virtualRouterSpecListenerPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**VirtualRouterSpecListener)(nil)).Elem() +func (GetVirtualGatewaySpecListenerTlCertificateArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetVirtualGatewaySpecListenerTlCertificate)(nil)).Elem() } -func (i *virtualRouterSpecListenerPtrType) ToVirtualRouterSpecListenerPtrOutput() VirtualRouterSpecListenerPtrOutput { - return i.ToVirtualRouterSpecListenerPtrOutputWithContext(context.Background()) +func (i GetVirtualGatewaySpecListenerTlCertificateArray) ToGetVirtualGatewaySpecListenerTlCertificateArrayOutput() GetVirtualGatewaySpecListenerTlCertificateArrayOutput { + return i.ToGetVirtualGatewaySpecListenerTlCertificateArrayOutputWithContext(context.Background()) } -func (i *virtualRouterSpecListenerPtrType) ToVirtualRouterSpecListenerPtrOutputWithContext(ctx context.Context) VirtualRouterSpecListenerPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualRouterSpecListenerPtrOutput) +func (i GetVirtualGatewaySpecListenerTlCertificateArray) ToGetVirtualGatewaySpecListenerTlCertificateArrayOutputWithContext(ctx context.Context) GetVirtualGatewaySpecListenerTlCertificateArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetVirtualGatewaySpecListenerTlCertificateArrayOutput) } -type VirtualRouterSpecListenerOutput struct{ *pulumi.OutputState } +type GetVirtualGatewaySpecListenerTlCertificateOutput struct{ *pulumi.OutputState } -func (VirtualRouterSpecListenerOutput) ElementType() reflect.Type { - return reflect.TypeOf((*VirtualRouterSpecListener)(nil)).Elem() +func (GetVirtualGatewaySpecListenerTlCertificateOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetVirtualGatewaySpecListenerTlCertificate)(nil)).Elem() } -func (o VirtualRouterSpecListenerOutput) ToVirtualRouterSpecListenerOutput() VirtualRouterSpecListenerOutput { +func (o GetVirtualGatewaySpecListenerTlCertificateOutput) ToGetVirtualGatewaySpecListenerTlCertificateOutput() GetVirtualGatewaySpecListenerTlCertificateOutput { return o } -func (o VirtualRouterSpecListenerOutput) ToVirtualRouterSpecListenerOutputWithContext(ctx context.Context) VirtualRouterSpecListenerOutput { +func (o GetVirtualGatewaySpecListenerTlCertificateOutput) ToGetVirtualGatewaySpecListenerTlCertificateOutputWithContext(ctx context.Context) GetVirtualGatewaySpecListenerTlCertificateOutput { return o } -func (o VirtualRouterSpecListenerOutput) ToVirtualRouterSpecListenerPtrOutput() VirtualRouterSpecListenerPtrOutput { - return o.ToVirtualRouterSpecListenerPtrOutputWithContext(context.Background()) +func (o GetVirtualGatewaySpecListenerTlCertificateOutput) Acms() GetVirtualGatewaySpecListenerTlCertificateAcmArrayOutput { + return o.ApplyT(func(v GetVirtualGatewaySpecListenerTlCertificate) []GetVirtualGatewaySpecListenerTlCertificateAcm { + return v.Acms + }).(GetVirtualGatewaySpecListenerTlCertificateAcmArrayOutput) } -func (o VirtualRouterSpecListenerOutput) ToVirtualRouterSpecListenerPtrOutputWithContext(ctx context.Context) VirtualRouterSpecListenerPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v VirtualRouterSpecListener) *VirtualRouterSpecListener { - return &v - }).(VirtualRouterSpecListenerPtrOutput) +func (o GetVirtualGatewaySpecListenerTlCertificateOutput) Files() GetVirtualGatewaySpecListenerTlCertificateFileArrayOutput { + return o.ApplyT(func(v GetVirtualGatewaySpecListenerTlCertificate) []GetVirtualGatewaySpecListenerTlCertificateFile { + return v.Files + }).(GetVirtualGatewaySpecListenerTlCertificateFileArrayOutput) } -// Port mapping information for the listener. -func (o VirtualRouterSpecListenerOutput) PortMapping() VirtualRouterSpecListenerPortMappingOutput { - return o.ApplyT(func(v VirtualRouterSpecListener) VirtualRouterSpecListenerPortMapping { return v.PortMapping }).(VirtualRouterSpecListenerPortMappingOutput) +func (o GetVirtualGatewaySpecListenerTlCertificateOutput) Sds() GetVirtualGatewaySpecListenerTlCertificateSdArrayOutput { + return o.ApplyT(func(v GetVirtualGatewaySpecListenerTlCertificate) []GetVirtualGatewaySpecListenerTlCertificateSd { + return v.Sds + }).(GetVirtualGatewaySpecListenerTlCertificateSdArrayOutput) } -type VirtualRouterSpecListenerPtrOutput struct{ *pulumi.OutputState } +type GetVirtualGatewaySpecListenerTlCertificateArrayOutput struct{ *pulumi.OutputState } -func (VirtualRouterSpecListenerPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**VirtualRouterSpecListener)(nil)).Elem() +func (GetVirtualGatewaySpecListenerTlCertificateArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetVirtualGatewaySpecListenerTlCertificate)(nil)).Elem() } -func (o VirtualRouterSpecListenerPtrOutput) ToVirtualRouterSpecListenerPtrOutput() VirtualRouterSpecListenerPtrOutput { +func (o GetVirtualGatewaySpecListenerTlCertificateArrayOutput) ToGetVirtualGatewaySpecListenerTlCertificateArrayOutput() GetVirtualGatewaySpecListenerTlCertificateArrayOutput { return o } -func (o VirtualRouterSpecListenerPtrOutput) ToVirtualRouterSpecListenerPtrOutputWithContext(ctx context.Context) VirtualRouterSpecListenerPtrOutput { +func (o GetVirtualGatewaySpecListenerTlCertificateArrayOutput) ToGetVirtualGatewaySpecListenerTlCertificateArrayOutputWithContext(ctx context.Context) GetVirtualGatewaySpecListenerTlCertificateArrayOutput { return o } -func (o VirtualRouterSpecListenerPtrOutput) Elem() VirtualRouterSpecListenerOutput { - return o.ApplyT(func(v *VirtualRouterSpecListener) VirtualRouterSpecListener { - if v != nil { - return *v - } - var ret VirtualRouterSpecListener - return ret - }).(VirtualRouterSpecListenerOutput) -} - -// Port mapping information for the listener. -func (o VirtualRouterSpecListenerPtrOutput) PortMapping() VirtualRouterSpecListenerPortMappingPtrOutput { - return o.ApplyT(func(v *VirtualRouterSpecListener) *VirtualRouterSpecListenerPortMapping { - if v == nil { - return nil - } - return &v.PortMapping - }).(VirtualRouterSpecListenerPortMappingPtrOutput) +func (o GetVirtualGatewaySpecListenerTlCertificateArrayOutput) Index(i pulumi.IntInput) GetVirtualGatewaySpecListenerTlCertificateOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetVirtualGatewaySpecListenerTlCertificate { + return vs[0].([]GetVirtualGatewaySpecListenerTlCertificate)[vs[1].(int)] + }).(GetVirtualGatewaySpecListenerTlCertificateOutput) } -type VirtualRouterSpecListenerPortMapping struct { - // Port used for the port mapping. - Port int `pulumi:"port"` - // Protocol used for the port mapping. Valid values are `http`,`http2`, `tcp` and `grpc`. - Protocol string `pulumi:"protocol"` +type GetVirtualGatewaySpecListenerTlCertificateAcm struct { + CertificateArn string `pulumi:"certificateArn"` } -// VirtualRouterSpecListenerPortMappingInput is an input type that accepts VirtualRouterSpecListenerPortMappingArgs and VirtualRouterSpecListenerPortMappingOutput values. -// You can construct a concrete instance of `VirtualRouterSpecListenerPortMappingInput` via: +// GetVirtualGatewaySpecListenerTlCertificateAcmInput is an input type that accepts GetVirtualGatewaySpecListenerTlCertificateAcmArgs and GetVirtualGatewaySpecListenerTlCertificateAcmOutput values. +// You can construct a concrete instance of `GetVirtualGatewaySpecListenerTlCertificateAcmInput` via: // -// VirtualRouterSpecListenerPortMappingArgs{...} -type VirtualRouterSpecListenerPortMappingInput interface { +// GetVirtualGatewaySpecListenerTlCertificateAcmArgs{...} +type GetVirtualGatewaySpecListenerTlCertificateAcmInput interface { pulumi.Input - ToVirtualRouterSpecListenerPortMappingOutput() VirtualRouterSpecListenerPortMappingOutput - ToVirtualRouterSpecListenerPortMappingOutputWithContext(context.Context) VirtualRouterSpecListenerPortMappingOutput -} - -type VirtualRouterSpecListenerPortMappingArgs struct { - // Port used for the port mapping. - Port pulumi.IntInput `pulumi:"port"` - // Protocol used for the port mapping. Valid values are `http`,`http2`, `tcp` and `grpc`. - Protocol pulumi.StringInput `pulumi:"protocol"` -} - -func (VirtualRouterSpecListenerPortMappingArgs) ElementType() reflect.Type { - return reflect.TypeOf((*VirtualRouterSpecListenerPortMapping)(nil)).Elem() + ToGetVirtualGatewaySpecListenerTlCertificateAcmOutput() GetVirtualGatewaySpecListenerTlCertificateAcmOutput + ToGetVirtualGatewaySpecListenerTlCertificateAcmOutputWithContext(context.Context) GetVirtualGatewaySpecListenerTlCertificateAcmOutput } -func (i VirtualRouterSpecListenerPortMappingArgs) ToVirtualRouterSpecListenerPortMappingOutput() VirtualRouterSpecListenerPortMappingOutput { - return i.ToVirtualRouterSpecListenerPortMappingOutputWithContext(context.Background()) +type GetVirtualGatewaySpecListenerTlCertificateAcmArgs struct { + CertificateArn pulumi.StringInput `pulumi:"certificateArn"` } -func (i VirtualRouterSpecListenerPortMappingArgs) ToVirtualRouterSpecListenerPortMappingOutputWithContext(ctx context.Context) VirtualRouterSpecListenerPortMappingOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualRouterSpecListenerPortMappingOutput) +func (GetVirtualGatewaySpecListenerTlCertificateAcmArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetVirtualGatewaySpecListenerTlCertificateAcm)(nil)).Elem() } -func (i VirtualRouterSpecListenerPortMappingArgs) ToVirtualRouterSpecListenerPortMappingPtrOutput() VirtualRouterSpecListenerPortMappingPtrOutput { - return i.ToVirtualRouterSpecListenerPortMappingPtrOutputWithContext(context.Background()) +func (i GetVirtualGatewaySpecListenerTlCertificateAcmArgs) ToGetVirtualGatewaySpecListenerTlCertificateAcmOutput() GetVirtualGatewaySpecListenerTlCertificateAcmOutput { + return i.ToGetVirtualGatewaySpecListenerTlCertificateAcmOutputWithContext(context.Background()) } -func (i VirtualRouterSpecListenerPortMappingArgs) ToVirtualRouterSpecListenerPortMappingPtrOutputWithContext(ctx context.Context) VirtualRouterSpecListenerPortMappingPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualRouterSpecListenerPortMappingOutput).ToVirtualRouterSpecListenerPortMappingPtrOutputWithContext(ctx) +func (i GetVirtualGatewaySpecListenerTlCertificateAcmArgs) ToGetVirtualGatewaySpecListenerTlCertificateAcmOutputWithContext(ctx context.Context) GetVirtualGatewaySpecListenerTlCertificateAcmOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetVirtualGatewaySpecListenerTlCertificateAcmOutput) } -// VirtualRouterSpecListenerPortMappingPtrInput is an input type that accepts VirtualRouterSpecListenerPortMappingArgs, VirtualRouterSpecListenerPortMappingPtr and VirtualRouterSpecListenerPortMappingPtrOutput values. -// You can construct a concrete instance of `VirtualRouterSpecListenerPortMappingPtrInput` via: -// -// VirtualRouterSpecListenerPortMappingArgs{...} -// -// or: +// GetVirtualGatewaySpecListenerTlCertificateAcmArrayInput is an input type that accepts GetVirtualGatewaySpecListenerTlCertificateAcmArray and GetVirtualGatewaySpecListenerTlCertificateAcmArrayOutput values. +// You can construct a concrete instance of `GetVirtualGatewaySpecListenerTlCertificateAcmArrayInput` via: // -// nil -type VirtualRouterSpecListenerPortMappingPtrInput interface { +// GetVirtualGatewaySpecListenerTlCertificateAcmArray{ GetVirtualGatewaySpecListenerTlCertificateAcmArgs{...} } +type GetVirtualGatewaySpecListenerTlCertificateAcmArrayInput interface { pulumi.Input - ToVirtualRouterSpecListenerPortMappingPtrOutput() VirtualRouterSpecListenerPortMappingPtrOutput - ToVirtualRouterSpecListenerPortMappingPtrOutputWithContext(context.Context) VirtualRouterSpecListenerPortMappingPtrOutput + ToGetVirtualGatewaySpecListenerTlCertificateAcmArrayOutput() GetVirtualGatewaySpecListenerTlCertificateAcmArrayOutput + ToGetVirtualGatewaySpecListenerTlCertificateAcmArrayOutputWithContext(context.Context) GetVirtualGatewaySpecListenerTlCertificateAcmArrayOutput } -type virtualRouterSpecListenerPortMappingPtrType VirtualRouterSpecListenerPortMappingArgs - -func VirtualRouterSpecListenerPortMappingPtr(v *VirtualRouterSpecListenerPortMappingArgs) VirtualRouterSpecListenerPortMappingPtrInput { - return (*virtualRouterSpecListenerPortMappingPtrType)(v) -} +type GetVirtualGatewaySpecListenerTlCertificateAcmArray []GetVirtualGatewaySpecListenerTlCertificateAcmInput -func (*virtualRouterSpecListenerPortMappingPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**VirtualRouterSpecListenerPortMapping)(nil)).Elem() +func (GetVirtualGatewaySpecListenerTlCertificateAcmArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetVirtualGatewaySpecListenerTlCertificateAcm)(nil)).Elem() } -func (i *virtualRouterSpecListenerPortMappingPtrType) ToVirtualRouterSpecListenerPortMappingPtrOutput() VirtualRouterSpecListenerPortMappingPtrOutput { - return i.ToVirtualRouterSpecListenerPortMappingPtrOutputWithContext(context.Background()) +func (i GetVirtualGatewaySpecListenerTlCertificateAcmArray) ToGetVirtualGatewaySpecListenerTlCertificateAcmArrayOutput() GetVirtualGatewaySpecListenerTlCertificateAcmArrayOutput { + return i.ToGetVirtualGatewaySpecListenerTlCertificateAcmArrayOutputWithContext(context.Background()) } -func (i *virtualRouterSpecListenerPortMappingPtrType) ToVirtualRouterSpecListenerPortMappingPtrOutputWithContext(ctx context.Context) VirtualRouterSpecListenerPortMappingPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualRouterSpecListenerPortMappingPtrOutput) +func (i GetVirtualGatewaySpecListenerTlCertificateAcmArray) ToGetVirtualGatewaySpecListenerTlCertificateAcmArrayOutputWithContext(ctx context.Context) GetVirtualGatewaySpecListenerTlCertificateAcmArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetVirtualGatewaySpecListenerTlCertificateAcmArrayOutput) } -type VirtualRouterSpecListenerPortMappingOutput struct{ *pulumi.OutputState } +type GetVirtualGatewaySpecListenerTlCertificateAcmOutput struct{ *pulumi.OutputState } -func (VirtualRouterSpecListenerPortMappingOutput) ElementType() reflect.Type { - return reflect.TypeOf((*VirtualRouterSpecListenerPortMapping)(nil)).Elem() +func (GetVirtualGatewaySpecListenerTlCertificateAcmOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetVirtualGatewaySpecListenerTlCertificateAcm)(nil)).Elem() } -func (o VirtualRouterSpecListenerPortMappingOutput) ToVirtualRouterSpecListenerPortMappingOutput() VirtualRouterSpecListenerPortMappingOutput { +func (o GetVirtualGatewaySpecListenerTlCertificateAcmOutput) ToGetVirtualGatewaySpecListenerTlCertificateAcmOutput() GetVirtualGatewaySpecListenerTlCertificateAcmOutput { return o } -func (o VirtualRouterSpecListenerPortMappingOutput) ToVirtualRouterSpecListenerPortMappingOutputWithContext(ctx context.Context) VirtualRouterSpecListenerPortMappingOutput { +func (o GetVirtualGatewaySpecListenerTlCertificateAcmOutput) ToGetVirtualGatewaySpecListenerTlCertificateAcmOutputWithContext(ctx context.Context) GetVirtualGatewaySpecListenerTlCertificateAcmOutput { return o } -func (o VirtualRouterSpecListenerPortMappingOutput) ToVirtualRouterSpecListenerPortMappingPtrOutput() VirtualRouterSpecListenerPortMappingPtrOutput { - return o.ToVirtualRouterSpecListenerPortMappingPtrOutputWithContext(context.Background()) -} - -func (o VirtualRouterSpecListenerPortMappingOutput) ToVirtualRouterSpecListenerPortMappingPtrOutputWithContext(ctx context.Context) VirtualRouterSpecListenerPortMappingPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v VirtualRouterSpecListenerPortMapping) *VirtualRouterSpecListenerPortMapping { - return &v - }).(VirtualRouterSpecListenerPortMappingPtrOutput) -} - -// Port used for the port mapping. -func (o VirtualRouterSpecListenerPortMappingOutput) Port() pulumi.IntOutput { - return o.ApplyT(func(v VirtualRouterSpecListenerPortMapping) int { return v.Port }).(pulumi.IntOutput) -} - -// Protocol used for the port mapping. Valid values are `http`,`http2`, `tcp` and `grpc`. -func (o VirtualRouterSpecListenerPortMappingOutput) Protocol() pulumi.StringOutput { - return o.ApplyT(func(v VirtualRouterSpecListenerPortMapping) string { return v.Protocol }).(pulumi.StringOutput) +func (o GetVirtualGatewaySpecListenerTlCertificateAcmOutput) CertificateArn() pulumi.StringOutput { + return o.ApplyT(func(v GetVirtualGatewaySpecListenerTlCertificateAcm) string { return v.CertificateArn }).(pulumi.StringOutput) } -type VirtualRouterSpecListenerPortMappingPtrOutput struct{ *pulumi.OutputState } +type GetVirtualGatewaySpecListenerTlCertificateAcmArrayOutput struct{ *pulumi.OutputState } -func (VirtualRouterSpecListenerPortMappingPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**VirtualRouterSpecListenerPortMapping)(nil)).Elem() +func (GetVirtualGatewaySpecListenerTlCertificateAcmArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetVirtualGatewaySpecListenerTlCertificateAcm)(nil)).Elem() } -func (o VirtualRouterSpecListenerPortMappingPtrOutput) ToVirtualRouterSpecListenerPortMappingPtrOutput() VirtualRouterSpecListenerPortMappingPtrOutput { +func (o GetVirtualGatewaySpecListenerTlCertificateAcmArrayOutput) ToGetVirtualGatewaySpecListenerTlCertificateAcmArrayOutput() GetVirtualGatewaySpecListenerTlCertificateAcmArrayOutput { return o } -func (o VirtualRouterSpecListenerPortMappingPtrOutput) ToVirtualRouterSpecListenerPortMappingPtrOutputWithContext(ctx context.Context) VirtualRouterSpecListenerPortMappingPtrOutput { +func (o GetVirtualGatewaySpecListenerTlCertificateAcmArrayOutput) ToGetVirtualGatewaySpecListenerTlCertificateAcmArrayOutputWithContext(ctx context.Context) GetVirtualGatewaySpecListenerTlCertificateAcmArrayOutput { return o } -func (o VirtualRouterSpecListenerPortMappingPtrOutput) Elem() VirtualRouterSpecListenerPortMappingOutput { - return o.ApplyT(func(v *VirtualRouterSpecListenerPortMapping) VirtualRouterSpecListenerPortMapping { - if v != nil { - return *v - } - var ret VirtualRouterSpecListenerPortMapping - return ret - }).(VirtualRouterSpecListenerPortMappingOutput) -} - -// Port used for the port mapping. -func (o VirtualRouterSpecListenerPortMappingPtrOutput) Port() pulumi.IntPtrOutput { - return o.ApplyT(func(v *VirtualRouterSpecListenerPortMapping) *int { - if v == nil { - return nil - } - return &v.Port - }).(pulumi.IntPtrOutput) -} - -// Protocol used for the port mapping. Valid values are `http`,`http2`, `tcp` and `grpc`. -func (o VirtualRouterSpecListenerPortMappingPtrOutput) Protocol() pulumi.StringPtrOutput { - return o.ApplyT(func(v *VirtualRouterSpecListenerPortMapping) *string { - if v == nil { - return nil - } - return &v.Protocol - }).(pulumi.StringPtrOutput) +func (o GetVirtualGatewaySpecListenerTlCertificateAcmArrayOutput) Index(i pulumi.IntInput) GetVirtualGatewaySpecListenerTlCertificateAcmOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetVirtualGatewaySpecListenerTlCertificateAcm { + return vs[0].([]GetVirtualGatewaySpecListenerTlCertificateAcm)[vs[1].(int)] + }).(GetVirtualGatewaySpecListenerTlCertificateAcmOutput) } -type VirtualServiceSpec struct { - // App Mesh object that is acting as the provider for a virtual service. You can specify a single virtual node or virtual router. - Provider *VirtualServiceSpecProvider `pulumi:"provider"` +type GetVirtualGatewaySpecListenerTlCertificateFile struct { + CertificateChain string `pulumi:"certificateChain"` + PrivateKey string `pulumi:"privateKey"` } -// VirtualServiceSpecInput is an input type that accepts VirtualServiceSpecArgs and VirtualServiceSpecOutput values. -// You can construct a concrete instance of `VirtualServiceSpecInput` via: +// GetVirtualGatewaySpecListenerTlCertificateFileInput is an input type that accepts GetVirtualGatewaySpecListenerTlCertificateFileArgs and GetVirtualGatewaySpecListenerTlCertificateFileOutput values. +// You can construct a concrete instance of `GetVirtualGatewaySpecListenerTlCertificateFileInput` via: // -// VirtualServiceSpecArgs{...} -type VirtualServiceSpecInput interface { +// GetVirtualGatewaySpecListenerTlCertificateFileArgs{...} +type GetVirtualGatewaySpecListenerTlCertificateFileInput interface { pulumi.Input - ToVirtualServiceSpecOutput() VirtualServiceSpecOutput - ToVirtualServiceSpecOutputWithContext(context.Context) VirtualServiceSpecOutput -} - -type VirtualServiceSpecArgs struct { - // App Mesh object that is acting as the provider for a virtual service. You can specify a single virtual node or virtual router. - Provider VirtualServiceSpecProviderPtrInput `pulumi:"provider"` -} - -func (VirtualServiceSpecArgs) ElementType() reflect.Type { - return reflect.TypeOf((*VirtualServiceSpec)(nil)).Elem() + ToGetVirtualGatewaySpecListenerTlCertificateFileOutput() GetVirtualGatewaySpecListenerTlCertificateFileOutput + ToGetVirtualGatewaySpecListenerTlCertificateFileOutputWithContext(context.Context) GetVirtualGatewaySpecListenerTlCertificateFileOutput } -func (i VirtualServiceSpecArgs) ToVirtualServiceSpecOutput() VirtualServiceSpecOutput { - return i.ToVirtualServiceSpecOutputWithContext(context.Background()) +type GetVirtualGatewaySpecListenerTlCertificateFileArgs struct { + CertificateChain pulumi.StringInput `pulumi:"certificateChain"` + PrivateKey pulumi.StringInput `pulumi:"privateKey"` } -func (i VirtualServiceSpecArgs) ToVirtualServiceSpecOutputWithContext(ctx context.Context) VirtualServiceSpecOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualServiceSpecOutput) +func (GetVirtualGatewaySpecListenerTlCertificateFileArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetVirtualGatewaySpecListenerTlCertificateFile)(nil)).Elem() } -func (i VirtualServiceSpecArgs) ToVirtualServiceSpecPtrOutput() VirtualServiceSpecPtrOutput { - return i.ToVirtualServiceSpecPtrOutputWithContext(context.Background()) +func (i GetVirtualGatewaySpecListenerTlCertificateFileArgs) ToGetVirtualGatewaySpecListenerTlCertificateFileOutput() GetVirtualGatewaySpecListenerTlCertificateFileOutput { + return i.ToGetVirtualGatewaySpecListenerTlCertificateFileOutputWithContext(context.Background()) } -func (i VirtualServiceSpecArgs) ToVirtualServiceSpecPtrOutputWithContext(ctx context.Context) VirtualServiceSpecPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualServiceSpecOutput).ToVirtualServiceSpecPtrOutputWithContext(ctx) +func (i GetVirtualGatewaySpecListenerTlCertificateFileArgs) ToGetVirtualGatewaySpecListenerTlCertificateFileOutputWithContext(ctx context.Context) GetVirtualGatewaySpecListenerTlCertificateFileOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetVirtualGatewaySpecListenerTlCertificateFileOutput) } -// VirtualServiceSpecPtrInput is an input type that accepts VirtualServiceSpecArgs, VirtualServiceSpecPtr and VirtualServiceSpecPtrOutput values. -// You can construct a concrete instance of `VirtualServiceSpecPtrInput` via: -// -// VirtualServiceSpecArgs{...} -// -// or: +// GetVirtualGatewaySpecListenerTlCertificateFileArrayInput is an input type that accepts GetVirtualGatewaySpecListenerTlCertificateFileArray and GetVirtualGatewaySpecListenerTlCertificateFileArrayOutput values. +// You can construct a concrete instance of `GetVirtualGatewaySpecListenerTlCertificateFileArrayInput` via: // -// nil -type VirtualServiceSpecPtrInput interface { +// GetVirtualGatewaySpecListenerTlCertificateFileArray{ GetVirtualGatewaySpecListenerTlCertificateFileArgs{...} } +type GetVirtualGatewaySpecListenerTlCertificateFileArrayInput interface { pulumi.Input - ToVirtualServiceSpecPtrOutput() VirtualServiceSpecPtrOutput - ToVirtualServiceSpecPtrOutputWithContext(context.Context) VirtualServiceSpecPtrOutput + ToGetVirtualGatewaySpecListenerTlCertificateFileArrayOutput() GetVirtualGatewaySpecListenerTlCertificateFileArrayOutput + ToGetVirtualGatewaySpecListenerTlCertificateFileArrayOutputWithContext(context.Context) GetVirtualGatewaySpecListenerTlCertificateFileArrayOutput } -type virtualServiceSpecPtrType VirtualServiceSpecArgs - -func VirtualServiceSpecPtr(v *VirtualServiceSpecArgs) VirtualServiceSpecPtrInput { - return (*virtualServiceSpecPtrType)(v) -} +type GetVirtualGatewaySpecListenerTlCertificateFileArray []GetVirtualGatewaySpecListenerTlCertificateFileInput -func (*virtualServiceSpecPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**VirtualServiceSpec)(nil)).Elem() +func (GetVirtualGatewaySpecListenerTlCertificateFileArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetVirtualGatewaySpecListenerTlCertificateFile)(nil)).Elem() } -func (i *virtualServiceSpecPtrType) ToVirtualServiceSpecPtrOutput() VirtualServiceSpecPtrOutput { - return i.ToVirtualServiceSpecPtrOutputWithContext(context.Background()) +func (i GetVirtualGatewaySpecListenerTlCertificateFileArray) ToGetVirtualGatewaySpecListenerTlCertificateFileArrayOutput() GetVirtualGatewaySpecListenerTlCertificateFileArrayOutput { + return i.ToGetVirtualGatewaySpecListenerTlCertificateFileArrayOutputWithContext(context.Background()) } -func (i *virtualServiceSpecPtrType) ToVirtualServiceSpecPtrOutputWithContext(ctx context.Context) VirtualServiceSpecPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualServiceSpecPtrOutput) +func (i GetVirtualGatewaySpecListenerTlCertificateFileArray) ToGetVirtualGatewaySpecListenerTlCertificateFileArrayOutputWithContext(ctx context.Context) GetVirtualGatewaySpecListenerTlCertificateFileArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetVirtualGatewaySpecListenerTlCertificateFileArrayOutput) } -type VirtualServiceSpecOutput struct{ *pulumi.OutputState } +type GetVirtualGatewaySpecListenerTlCertificateFileOutput struct{ *pulumi.OutputState } -func (VirtualServiceSpecOutput) ElementType() reflect.Type { - return reflect.TypeOf((*VirtualServiceSpec)(nil)).Elem() +func (GetVirtualGatewaySpecListenerTlCertificateFileOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetVirtualGatewaySpecListenerTlCertificateFile)(nil)).Elem() } -func (o VirtualServiceSpecOutput) ToVirtualServiceSpecOutput() VirtualServiceSpecOutput { +func (o GetVirtualGatewaySpecListenerTlCertificateFileOutput) ToGetVirtualGatewaySpecListenerTlCertificateFileOutput() GetVirtualGatewaySpecListenerTlCertificateFileOutput { return o } -func (o VirtualServiceSpecOutput) ToVirtualServiceSpecOutputWithContext(ctx context.Context) VirtualServiceSpecOutput { +func (o GetVirtualGatewaySpecListenerTlCertificateFileOutput) ToGetVirtualGatewaySpecListenerTlCertificateFileOutputWithContext(ctx context.Context) GetVirtualGatewaySpecListenerTlCertificateFileOutput { return o } -func (o VirtualServiceSpecOutput) ToVirtualServiceSpecPtrOutput() VirtualServiceSpecPtrOutput { - return o.ToVirtualServiceSpecPtrOutputWithContext(context.Background()) -} - -func (o VirtualServiceSpecOutput) ToVirtualServiceSpecPtrOutputWithContext(ctx context.Context) VirtualServiceSpecPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v VirtualServiceSpec) *VirtualServiceSpec { - return &v - }).(VirtualServiceSpecPtrOutput) +func (o GetVirtualGatewaySpecListenerTlCertificateFileOutput) CertificateChain() pulumi.StringOutput { + return o.ApplyT(func(v GetVirtualGatewaySpecListenerTlCertificateFile) string { return v.CertificateChain }).(pulumi.StringOutput) } -// App Mesh object that is acting as the provider for a virtual service. You can specify a single virtual node or virtual router. -func (o VirtualServiceSpecOutput) Provider() VirtualServiceSpecProviderPtrOutput { - return o.ApplyT(func(v VirtualServiceSpec) *VirtualServiceSpecProvider { return v.Provider }).(VirtualServiceSpecProviderPtrOutput) +func (o GetVirtualGatewaySpecListenerTlCertificateFileOutput) PrivateKey() pulumi.StringOutput { + return o.ApplyT(func(v GetVirtualGatewaySpecListenerTlCertificateFile) string { return v.PrivateKey }).(pulumi.StringOutput) } -type VirtualServiceSpecPtrOutput struct{ *pulumi.OutputState } +type GetVirtualGatewaySpecListenerTlCertificateFileArrayOutput struct{ *pulumi.OutputState } -func (VirtualServiceSpecPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**VirtualServiceSpec)(nil)).Elem() +func (GetVirtualGatewaySpecListenerTlCertificateFileArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetVirtualGatewaySpecListenerTlCertificateFile)(nil)).Elem() } -func (o VirtualServiceSpecPtrOutput) ToVirtualServiceSpecPtrOutput() VirtualServiceSpecPtrOutput { +func (o GetVirtualGatewaySpecListenerTlCertificateFileArrayOutput) ToGetVirtualGatewaySpecListenerTlCertificateFileArrayOutput() GetVirtualGatewaySpecListenerTlCertificateFileArrayOutput { return o } -func (o VirtualServiceSpecPtrOutput) ToVirtualServiceSpecPtrOutputWithContext(ctx context.Context) VirtualServiceSpecPtrOutput { +func (o GetVirtualGatewaySpecListenerTlCertificateFileArrayOutput) ToGetVirtualGatewaySpecListenerTlCertificateFileArrayOutputWithContext(ctx context.Context) GetVirtualGatewaySpecListenerTlCertificateFileArrayOutput { return o } -func (o VirtualServiceSpecPtrOutput) Elem() VirtualServiceSpecOutput { - return o.ApplyT(func(v *VirtualServiceSpec) VirtualServiceSpec { - if v != nil { - return *v - } - var ret VirtualServiceSpec - return ret - }).(VirtualServiceSpecOutput) -} - -// App Mesh object that is acting as the provider for a virtual service. You can specify a single virtual node or virtual router. -func (o VirtualServiceSpecPtrOutput) Provider() VirtualServiceSpecProviderPtrOutput { - return o.ApplyT(func(v *VirtualServiceSpec) *VirtualServiceSpecProvider { - if v == nil { - return nil - } - return v.Provider - }).(VirtualServiceSpecProviderPtrOutput) +func (o GetVirtualGatewaySpecListenerTlCertificateFileArrayOutput) Index(i pulumi.IntInput) GetVirtualGatewaySpecListenerTlCertificateFileOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetVirtualGatewaySpecListenerTlCertificateFile { + return vs[0].([]GetVirtualGatewaySpecListenerTlCertificateFile)[vs[1].(int)] + }).(GetVirtualGatewaySpecListenerTlCertificateFileOutput) } -type VirtualServiceSpecProvider struct { - // Virtual node associated with a virtual service. - VirtualNode *VirtualServiceSpecProviderVirtualNode `pulumi:"virtualNode"` - // Virtual router associated with a virtual service. - VirtualRouter *VirtualServiceSpecProviderVirtualRouter `pulumi:"virtualRouter"` +type GetVirtualGatewaySpecListenerTlCertificateSd struct { + SecretName string `pulumi:"secretName"` } -// VirtualServiceSpecProviderInput is an input type that accepts VirtualServiceSpecProviderArgs and VirtualServiceSpecProviderOutput values. -// You can construct a concrete instance of `VirtualServiceSpecProviderInput` via: +// GetVirtualGatewaySpecListenerTlCertificateSdInput is an input type that accepts GetVirtualGatewaySpecListenerTlCertificateSdArgs and GetVirtualGatewaySpecListenerTlCertificateSdOutput values. +// You can construct a concrete instance of `GetVirtualGatewaySpecListenerTlCertificateSdInput` via: // -// VirtualServiceSpecProviderArgs{...} -type VirtualServiceSpecProviderInput interface { +// GetVirtualGatewaySpecListenerTlCertificateSdArgs{...} +type GetVirtualGatewaySpecListenerTlCertificateSdInput interface { pulumi.Input - ToVirtualServiceSpecProviderOutput() VirtualServiceSpecProviderOutput - ToVirtualServiceSpecProviderOutputWithContext(context.Context) VirtualServiceSpecProviderOutput -} - -type VirtualServiceSpecProviderArgs struct { - // Virtual node associated with a virtual service. - VirtualNode VirtualServiceSpecProviderVirtualNodePtrInput `pulumi:"virtualNode"` - // Virtual router associated with a virtual service. - VirtualRouter VirtualServiceSpecProviderVirtualRouterPtrInput `pulumi:"virtualRouter"` -} - -func (VirtualServiceSpecProviderArgs) ElementType() reflect.Type { - return reflect.TypeOf((*VirtualServiceSpecProvider)(nil)).Elem() + ToGetVirtualGatewaySpecListenerTlCertificateSdOutput() GetVirtualGatewaySpecListenerTlCertificateSdOutput + ToGetVirtualGatewaySpecListenerTlCertificateSdOutputWithContext(context.Context) GetVirtualGatewaySpecListenerTlCertificateSdOutput } -func (i VirtualServiceSpecProviderArgs) ToVirtualServiceSpecProviderOutput() VirtualServiceSpecProviderOutput { - return i.ToVirtualServiceSpecProviderOutputWithContext(context.Background()) +type GetVirtualGatewaySpecListenerTlCertificateSdArgs struct { + SecretName pulumi.StringInput `pulumi:"secretName"` } -func (i VirtualServiceSpecProviderArgs) ToVirtualServiceSpecProviderOutputWithContext(ctx context.Context) VirtualServiceSpecProviderOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualServiceSpecProviderOutput) +func (GetVirtualGatewaySpecListenerTlCertificateSdArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetVirtualGatewaySpecListenerTlCertificateSd)(nil)).Elem() } -func (i VirtualServiceSpecProviderArgs) ToVirtualServiceSpecProviderPtrOutput() VirtualServiceSpecProviderPtrOutput { - return i.ToVirtualServiceSpecProviderPtrOutputWithContext(context.Background()) +func (i GetVirtualGatewaySpecListenerTlCertificateSdArgs) ToGetVirtualGatewaySpecListenerTlCertificateSdOutput() GetVirtualGatewaySpecListenerTlCertificateSdOutput { + return i.ToGetVirtualGatewaySpecListenerTlCertificateSdOutputWithContext(context.Background()) } -func (i VirtualServiceSpecProviderArgs) ToVirtualServiceSpecProviderPtrOutputWithContext(ctx context.Context) VirtualServiceSpecProviderPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualServiceSpecProviderOutput).ToVirtualServiceSpecProviderPtrOutputWithContext(ctx) +func (i GetVirtualGatewaySpecListenerTlCertificateSdArgs) ToGetVirtualGatewaySpecListenerTlCertificateSdOutputWithContext(ctx context.Context) GetVirtualGatewaySpecListenerTlCertificateSdOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetVirtualGatewaySpecListenerTlCertificateSdOutput) } -// VirtualServiceSpecProviderPtrInput is an input type that accepts VirtualServiceSpecProviderArgs, VirtualServiceSpecProviderPtr and VirtualServiceSpecProviderPtrOutput values. -// You can construct a concrete instance of `VirtualServiceSpecProviderPtrInput` via: -// -// VirtualServiceSpecProviderArgs{...} -// -// or: +// GetVirtualGatewaySpecListenerTlCertificateSdArrayInput is an input type that accepts GetVirtualGatewaySpecListenerTlCertificateSdArray and GetVirtualGatewaySpecListenerTlCertificateSdArrayOutput values. +// You can construct a concrete instance of `GetVirtualGatewaySpecListenerTlCertificateSdArrayInput` via: // -// nil -type VirtualServiceSpecProviderPtrInput interface { +// GetVirtualGatewaySpecListenerTlCertificateSdArray{ GetVirtualGatewaySpecListenerTlCertificateSdArgs{...} } +type GetVirtualGatewaySpecListenerTlCertificateSdArrayInput interface { pulumi.Input - ToVirtualServiceSpecProviderPtrOutput() VirtualServiceSpecProviderPtrOutput - ToVirtualServiceSpecProviderPtrOutputWithContext(context.Context) VirtualServiceSpecProviderPtrOutput + ToGetVirtualGatewaySpecListenerTlCertificateSdArrayOutput() GetVirtualGatewaySpecListenerTlCertificateSdArrayOutput + ToGetVirtualGatewaySpecListenerTlCertificateSdArrayOutputWithContext(context.Context) GetVirtualGatewaySpecListenerTlCertificateSdArrayOutput } -type virtualServiceSpecProviderPtrType VirtualServiceSpecProviderArgs - -func VirtualServiceSpecProviderPtr(v *VirtualServiceSpecProviderArgs) VirtualServiceSpecProviderPtrInput { - return (*virtualServiceSpecProviderPtrType)(v) -} +type GetVirtualGatewaySpecListenerTlCertificateSdArray []GetVirtualGatewaySpecListenerTlCertificateSdInput -func (*virtualServiceSpecProviderPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**VirtualServiceSpecProvider)(nil)).Elem() +func (GetVirtualGatewaySpecListenerTlCertificateSdArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetVirtualGatewaySpecListenerTlCertificateSd)(nil)).Elem() } -func (i *virtualServiceSpecProviderPtrType) ToVirtualServiceSpecProviderPtrOutput() VirtualServiceSpecProviderPtrOutput { - return i.ToVirtualServiceSpecProviderPtrOutputWithContext(context.Background()) +func (i GetVirtualGatewaySpecListenerTlCertificateSdArray) ToGetVirtualGatewaySpecListenerTlCertificateSdArrayOutput() GetVirtualGatewaySpecListenerTlCertificateSdArrayOutput { + return i.ToGetVirtualGatewaySpecListenerTlCertificateSdArrayOutputWithContext(context.Background()) } -func (i *virtualServiceSpecProviderPtrType) ToVirtualServiceSpecProviderPtrOutputWithContext(ctx context.Context) VirtualServiceSpecProviderPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualServiceSpecProviderPtrOutput) +func (i GetVirtualGatewaySpecListenerTlCertificateSdArray) ToGetVirtualGatewaySpecListenerTlCertificateSdArrayOutputWithContext(ctx context.Context) GetVirtualGatewaySpecListenerTlCertificateSdArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetVirtualGatewaySpecListenerTlCertificateSdArrayOutput) } -type VirtualServiceSpecProviderOutput struct{ *pulumi.OutputState } +type GetVirtualGatewaySpecListenerTlCertificateSdOutput struct{ *pulumi.OutputState } -func (VirtualServiceSpecProviderOutput) ElementType() reflect.Type { - return reflect.TypeOf((*VirtualServiceSpecProvider)(nil)).Elem() +func (GetVirtualGatewaySpecListenerTlCertificateSdOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetVirtualGatewaySpecListenerTlCertificateSd)(nil)).Elem() } -func (o VirtualServiceSpecProviderOutput) ToVirtualServiceSpecProviderOutput() VirtualServiceSpecProviderOutput { +func (o GetVirtualGatewaySpecListenerTlCertificateSdOutput) ToGetVirtualGatewaySpecListenerTlCertificateSdOutput() GetVirtualGatewaySpecListenerTlCertificateSdOutput { return o } -func (o VirtualServiceSpecProviderOutput) ToVirtualServiceSpecProviderOutputWithContext(ctx context.Context) VirtualServiceSpecProviderOutput { +func (o GetVirtualGatewaySpecListenerTlCertificateSdOutput) ToGetVirtualGatewaySpecListenerTlCertificateSdOutputWithContext(ctx context.Context) GetVirtualGatewaySpecListenerTlCertificateSdOutput { return o } -func (o VirtualServiceSpecProviderOutput) ToVirtualServiceSpecProviderPtrOutput() VirtualServiceSpecProviderPtrOutput { - return o.ToVirtualServiceSpecProviderPtrOutputWithContext(context.Background()) -} - -func (o VirtualServiceSpecProviderOutput) ToVirtualServiceSpecProviderPtrOutputWithContext(ctx context.Context) VirtualServiceSpecProviderPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v VirtualServiceSpecProvider) *VirtualServiceSpecProvider { - return &v - }).(VirtualServiceSpecProviderPtrOutput) -} - -// Virtual node associated with a virtual service. -func (o VirtualServiceSpecProviderOutput) VirtualNode() VirtualServiceSpecProviderVirtualNodePtrOutput { - return o.ApplyT(func(v VirtualServiceSpecProvider) *VirtualServiceSpecProviderVirtualNode { return v.VirtualNode }).(VirtualServiceSpecProviderVirtualNodePtrOutput) -} - -// Virtual router associated with a virtual service. -func (o VirtualServiceSpecProviderOutput) VirtualRouter() VirtualServiceSpecProviderVirtualRouterPtrOutput { - return o.ApplyT(func(v VirtualServiceSpecProvider) *VirtualServiceSpecProviderVirtualRouter { return v.VirtualRouter }).(VirtualServiceSpecProviderVirtualRouterPtrOutput) +func (o GetVirtualGatewaySpecListenerTlCertificateSdOutput) SecretName() pulumi.StringOutput { + return o.ApplyT(func(v GetVirtualGatewaySpecListenerTlCertificateSd) string { return v.SecretName }).(pulumi.StringOutput) } -type VirtualServiceSpecProviderPtrOutput struct{ *pulumi.OutputState } +type GetVirtualGatewaySpecListenerTlCertificateSdArrayOutput struct{ *pulumi.OutputState } -func (VirtualServiceSpecProviderPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**VirtualServiceSpecProvider)(nil)).Elem() +func (GetVirtualGatewaySpecListenerTlCertificateSdArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetVirtualGatewaySpecListenerTlCertificateSd)(nil)).Elem() } -func (o VirtualServiceSpecProviderPtrOutput) ToVirtualServiceSpecProviderPtrOutput() VirtualServiceSpecProviderPtrOutput { +func (o GetVirtualGatewaySpecListenerTlCertificateSdArrayOutput) ToGetVirtualGatewaySpecListenerTlCertificateSdArrayOutput() GetVirtualGatewaySpecListenerTlCertificateSdArrayOutput { return o } -func (o VirtualServiceSpecProviderPtrOutput) ToVirtualServiceSpecProviderPtrOutputWithContext(ctx context.Context) VirtualServiceSpecProviderPtrOutput { +func (o GetVirtualGatewaySpecListenerTlCertificateSdArrayOutput) ToGetVirtualGatewaySpecListenerTlCertificateSdArrayOutputWithContext(ctx context.Context) GetVirtualGatewaySpecListenerTlCertificateSdArrayOutput { return o } -func (o VirtualServiceSpecProviderPtrOutput) Elem() VirtualServiceSpecProviderOutput { - return o.ApplyT(func(v *VirtualServiceSpecProvider) VirtualServiceSpecProvider { - if v != nil { - return *v - } - var ret VirtualServiceSpecProvider - return ret - }).(VirtualServiceSpecProviderOutput) -} - -// Virtual node associated with a virtual service. -func (o VirtualServiceSpecProviderPtrOutput) VirtualNode() VirtualServiceSpecProviderVirtualNodePtrOutput { - return o.ApplyT(func(v *VirtualServiceSpecProvider) *VirtualServiceSpecProviderVirtualNode { - if v == nil { - return nil - } - return v.VirtualNode - }).(VirtualServiceSpecProviderVirtualNodePtrOutput) -} - -// Virtual router associated with a virtual service. -func (o VirtualServiceSpecProviderPtrOutput) VirtualRouter() VirtualServiceSpecProviderVirtualRouterPtrOutput { - return o.ApplyT(func(v *VirtualServiceSpecProvider) *VirtualServiceSpecProviderVirtualRouter { - if v == nil { - return nil - } - return v.VirtualRouter - }).(VirtualServiceSpecProviderVirtualRouterPtrOutput) +func (o GetVirtualGatewaySpecListenerTlCertificateSdArrayOutput) Index(i pulumi.IntInput) GetVirtualGatewaySpecListenerTlCertificateSdOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetVirtualGatewaySpecListenerTlCertificateSd { + return vs[0].([]GetVirtualGatewaySpecListenerTlCertificateSd)[vs[1].(int)] + }).(GetVirtualGatewaySpecListenerTlCertificateSdOutput) } -type VirtualServiceSpecProviderVirtualNode struct { - // Name of the virtual node that is acting as a service provider. Must be between 1 and 255 characters in length. - VirtualNodeName string `pulumi:"virtualNodeName"` +type GetVirtualGatewaySpecListenerTlValidation struct { + SubjectAlternativeNames []GetVirtualGatewaySpecListenerTlValidationSubjectAlternativeName `pulumi:"subjectAlternativeNames"` + Trusts []GetVirtualGatewaySpecListenerTlValidationTrust `pulumi:"trusts"` } -// VirtualServiceSpecProviderVirtualNodeInput is an input type that accepts VirtualServiceSpecProviderVirtualNodeArgs and VirtualServiceSpecProviderVirtualNodeOutput values. -// You can construct a concrete instance of `VirtualServiceSpecProviderVirtualNodeInput` via: +// GetVirtualGatewaySpecListenerTlValidationInput is an input type that accepts GetVirtualGatewaySpecListenerTlValidationArgs and GetVirtualGatewaySpecListenerTlValidationOutput values. +// You can construct a concrete instance of `GetVirtualGatewaySpecListenerTlValidationInput` via: // -// VirtualServiceSpecProviderVirtualNodeArgs{...} -type VirtualServiceSpecProviderVirtualNodeInput interface { +// GetVirtualGatewaySpecListenerTlValidationArgs{...} +type GetVirtualGatewaySpecListenerTlValidationInput interface { pulumi.Input - ToVirtualServiceSpecProviderVirtualNodeOutput() VirtualServiceSpecProviderVirtualNodeOutput - ToVirtualServiceSpecProviderVirtualNodeOutputWithContext(context.Context) VirtualServiceSpecProviderVirtualNodeOutput -} - -type VirtualServiceSpecProviderVirtualNodeArgs struct { - // Name of the virtual node that is acting as a service provider. Must be between 1 and 255 characters in length. - VirtualNodeName pulumi.StringInput `pulumi:"virtualNodeName"` -} - -func (VirtualServiceSpecProviderVirtualNodeArgs) ElementType() reflect.Type { - return reflect.TypeOf((*VirtualServiceSpecProviderVirtualNode)(nil)).Elem() + ToGetVirtualGatewaySpecListenerTlValidationOutput() GetVirtualGatewaySpecListenerTlValidationOutput + ToGetVirtualGatewaySpecListenerTlValidationOutputWithContext(context.Context) GetVirtualGatewaySpecListenerTlValidationOutput } -func (i VirtualServiceSpecProviderVirtualNodeArgs) ToVirtualServiceSpecProviderVirtualNodeOutput() VirtualServiceSpecProviderVirtualNodeOutput { - return i.ToVirtualServiceSpecProviderVirtualNodeOutputWithContext(context.Background()) +type GetVirtualGatewaySpecListenerTlValidationArgs struct { + SubjectAlternativeNames GetVirtualGatewaySpecListenerTlValidationSubjectAlternativeNameArrayInput `pulumi:"subjectAlternativeNames"` + Trusts GetVirtualGatewaySpecListenerTlValidationTrustArrayInput `pulumi:"trusts"` } -func (i VirtualServiceSpecProviderVirtualNodeArgs) ToVirtualServiceSpecProviderVirtualNodeOutputWithContext(ctx context.Context) VirtualServiceSpecProviderVirtualNodeOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualServiceSpecProviderVirtualNodeOutput) +func (GetVirtualGatewaySpecListenerTlValidationArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetVirtualGatewaySpecListenerTlValidation)(nil)).Elem() } -func (i VirtualServiceSpecProviderVirtualNodeArgs) ToVirtualServiceSpecProviderVirtualNodePtrOutput() VirtualServiceSpecProviderVirtualNodePtrOutput { - return i.ToVirtualServiceSpecProviderVirtualNodePtrOutputWithContext(context.Background()) +func (i GetVirtualGatewaySpecListenerTlValidationArgs) ToGetVirtualGatewaySpecListenerTlValidationOutput() GetVirtualGatewaySpecListenerTlValidationOutput { + return i.ToGetVirtualGatewaySpecListenerTlValidationOutputWithContext(context.Background()) } -func (i VirtualServiceSpecProviderVirtualNodeArgs) ToVirtualServiceSpecProviderVirtualNodePtrOutputWithContext(ctx context.Context) VirtualServiceSpecProviderVirtualNodePtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualServiceSpecProviderVirtualNodeOutput).ToVirtualServiceSpecProviderVirtualNodePtrOutputWithContext(ctx) +func (i GetVirtualGatewaySpecListenerTlValidationArgs) ToGetVirtualGatewaySpecListenerTlValidationOutputWithContext(ctx context.Context) GetVirtualGatewaySpecListenerTlValidationOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetVirtualGatewaySpecListenerTlValidationOutput) } -// VirtualServiceSpecProviderVirtualNodePtrInput is an input type that accepts VirtualServiceSpecProviderVirtualNodeArgs, VirtualServiceSpecProviderVirtualNodePtr and VirtualServiceSpecProviderVirtualNodePtrOutput values. -// You can construct a concrete instance of `VirtualServiceSpecProviderVirtualNodePtrInput` via: -// -// VirtualServiceSpecProviderVirtualNodeArgs{...} -// -// or: +// GetVirtualGatewaySpecListenerTlValidationArrayInput is an input type that accepts GetVirtualGatewaySpecListenerTlValidationArray and GetVirtualGatewaySpecListenerTlValidationArrayOutput values. +// You can construct a concrete instance of `GetVirtualGatewaySpecListenerTlValidationArrayInput` via: // -// nil -type VirtualServiceSpecProviderVirtualNodePtrInput interface { +// GetVirtualGatewaySpecListenerTlValidationArray{ GetVirtualGatewaySpecListenerTlValidationArgs{...} } +type GetVirtualGatewaySpecListenerTlValidationArrayInput interface { pulumi.Input - ToVirtualServiceSpecProviderVirtualNodePtrOutput() VirtualServiceSpecProviderVirtualNodePtrOutput - ToVirtualServiceSpecProviderVirtualNodePtrOutputWithContext(context.Context) VirtualServiceSpecProviderVirtualNodePtrOutput + ToGetVirtualGatewaySpecListenerTlValidationArrayOutput() GetVirtualGatewaySpecListenerTlValidationArrayOutput + ToGetVirtualGatewaySpecListenerTlValidationArrayOutputWithContext(context.Context) GetVirtualGatewaySpecListenerTlValidationArrayOutput } -type virtualServiceSpecProviderVirtualNodePtrType VirtualServiceSpecProviderVirtualNodeArgs - -func VirtualServiceSpecProviderVirtualNodePtr(v *VirtualServiceSpecProviderVirtualNodeArgs) VirtualServiceSpecProviderVirtualNodePtrInput { - return (*virtualServiceSpecProviderVirtualNodePtrType)(v) -} +type GetVirtualGatewaySpecListenerTlValidationArray []GetVirtualGatewaySpecListenerTlValidationInput -func (*virtualServiceSpecProviderVirtualNodePtrType) ElementType() reflect.Type { - return reflect.TypeOf((**VirtualServiceSpecProviderVirtualNode)(nil)).Elem() +func (GetVirtualGatewaySpecListenerTlValidationArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetVirtualGatewaySpecListenerTlValidation)(nil)).Elem() } -func (i *virtualServiceSpecProviderVirtualNodePtrType) ToVirtualServiceSpecProviderVirtualNodePtrOutput() VirtualServiceSpecProviderVirtualNodePtrOutput { - return i.ToVirtualServiceSpecProviderVirtualNodePtrOutputWithContext(context.Background()) +func (i GetVirtualGatewaySpecListenerTlValidationArray) ToGetVirtualGatewaySpecListenerTlValidationArrayOutput() GetVirtualGatewaySpecListenerTlValidationArrayOutput { + return i.ToGetVirtualGatewaySpecListenerTlValidationArrayOutputWithContext(context.Background()) } -func (i *virtualServiceSpecProviderVirtualNodePtrType) ToVirtualServiceSpecProviderVirtualNodePtrOutputWithContext(ctx context.Context) VirtualServiceSpecProviderVirtualNodePtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualServiceSpecProviderVirtualNodePtrOutput) +func (i GetVirtualGatewaySpecListenerTlValidationArray) ToGetVirtualGatewaySpecListenerTlValidationArrayOutputWithContext(ctx context.Context) GetVirtualGatewaySpecListenerTlValidationArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetVirtualGatewaySpecListenerTlValidationArrayOutput) } -type VirtualServiceSpecProviderVirtualNodeOutput struct{ *pulumi.OutputState } +type GetVirtualGatewaySpecListenerTlValidationOutput struct{ *pulumi.OutputState } -func (VirtualServiceSpecProviderVirtualNodeOutput) ElementType() reflect.Type { - return reflect.TypeOf((*VirtualServiceSpecProviderVirtualNode)(nil)).Elem() +func (GetVirtualGatewaySpecListenerTlValidationOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetVirtualGatewaySpecListenerTlValidation)(nil)).Elem() } -func (o VirtualServiceSpecProviderVirtualNodeOutput) ToVirtualServiceSpecProviderVirtualNodeOutput() VirtualServiceSpecProviderVirtualNodeOutput { +func (o GetVirtualGatewaySpecListenerTlValidationOutput) ToGetVirtualGatewaySpecListenerTlValidationOutput() GetVirtualGatewaySpecListenerTlValidationOutput { return o } -func (o VirtualServiceSpecProviderVirtualNodeOutput) ToVirtualServiceSpecProviderVirtualNodeOutputWithContext(ctx context.Context) VirtualServiceSpecProviderVirtualNodeOutput { +func (o GetVirtualGatewaySpecListenerTlValidationOutput) ToGetVirtualGatewaySpecListenerTlValidationOutputWithContext(ctx context.Context) GetVirtualGatewaySpecListenerTlValidationOutput { return o } -func (o VirtualServiceSpecProviderVirtualNodeOutput) ToVirtualServiceSpecProviderVirtualNodePtrOutput() VirtualServiceSpecProviderVirtualNodePtrOutput { - return o.ToVirtualServiceSpecProviderVirtualNodePtrOutputWithContext(context.Background()) -} - -func (o VirtualServiceSpecProviderVirtualNodeOutput) ToVirtualServiceSpecProviderVirtualNodePtrOutputWithContext(ctx context.Context) VirtualServiceSpecProviderVirtualNodePtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v VirtualServiceSpecProviderVirtualNode) *VirtualServiceSpecProviderVirtualNode { - return &v - }).(VirtualServiceSpecProviderVirtualNodePtrOutput) +func (o GetVirtualGatewaySpecListenerTlValidationOutput) SubjectAlternativeNames() GetVirtualGatewaySpecListenerTlValidationSubjectAlternativeNameArrayOutput { + return o.ApplyT(func(v GetVirtualGatewaySpecListenerTlValidation) []GetVirtualGatewaySpecListenerTlValidationSubjectAlternativeName { + return v.SubjectAlternativeNames + }).(GetVirtualGatewaySpecListenerTlValidationSubjectAlternativeNameArrayOutput) } -// Name of the virtual node that is acting as a service provider. Must be between 1 and 255 characters in length. -func (o VirtualServiceSpecProviderVirtualNodeOutput) VirtualNodeName() pulumi.StringOutput { - return o.ApplyT(func(v VirtualServiceSpecProviderVirtualNode) string { return v.VirtualNodeName }).(pulumi.StringOutput) +func (o GetVirtualGatewaySpecListenerTlValidationOutput) Trusts() GetVirtualGatewaySpecListenerTlValidationTrustArrayOutput { + return o.ApplyT(func(v GetVirtualGatewaySpecListenerTlValidation) []GetVirtualGatewaySpecListenerTlValidationTrust { + return v.Trusts + }).(GetVirtualGatewaySpecListenerTlValidationTrustArrayOutput) } -type VirtualServiceSpecProviderVirtualNodePtrOutput struct{ *pulumi.OutputState } +type GetVirtualGatewaySpecListenerTlValidationArrayOutput struct{ *pulumi.OutputState } -func (VirtualServiceSpecProviderVirtualNodePtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**VirtualServiceSpecProviderVirtualNode)(nil)).Elem() +func (GetVirtualGatewaySpecListenerTlValidationArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetVirtualGatewaySpecListenerTlValidation)(nil)).Elem() } -func (o VirtualServiceSpecProviderVirtualNodePtrOutput) ToVirtualServiceSpecProviderVirtualNodePtrOutput() VirtualServiceSpecProviderVirtualNodePtrOutput { +func (o GetVirtualGatewaySpecListenerTlValidationArrayOutput) ToGetVirtualGatewaySpecListenerTlValidationArrayOutput() GetVirtualGatewaySpecListenerTlValidationArrayOutput { return o } -func (o VirtualServiceSpecProviderVirtualNodePtrOutput) ToVirtualServiceSpecProviderVirtualNodePtrOutputWithContext(ctx context.Context) VirtualServiceSpecProviderVirtualNodePtrOutput { +func (o GetVirtualGatewaySpecListenerTlValidationArrayOutput) ToGetVirtualGatewaySpecListenerTlValidationArrayOutputWithContext(ctx context.Context) GetVirtualGatewaySpecListenerTlValidationArrayOutput { return o } -func (o VirtualServiceSpecProviderVirtualNodePtrOutput) Elem() VirtualServiceSpecProviderVirtualNodeOutput { - return o.ApplyT(func(v *VirtualServiceSpecProviderVirtualNode) VirtualServiceSpecProviderVirtualNode { - if v != nil { - return *v - } - var ret VirtualServiceSpecProviderVirtualNode - return ret - }).(VirtualServiceSpecProviderVirtualNodeOutput) -} - -// Name of the virtual node that is acting as a service provider. Must be between 1 and 255 characters in length. -func (o VirtualServiceSpecProviderVirtualNodePtrOutput) VirtualNodeName() pulumi.StringPtrOutput { - return o.ApplyT(func(v *VirtualServiceSpecProviderVirtualNode) *string { - if v == nil { - return nil - } - return &v.VirtualNodeName - }).(pulumi.StringPtrOutput) +func (o GetVirtualGatewaySpecListenerTlValidationArrayOutput) Index(i pulumi.IntInput) GetVirtualGatewaySpecListenerTlValidationOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetVirtualGatewaySpecListenerTlValidation { + return vs[0].([]GetVirtualGatewaySpecListenerTlValidation)[vs[1].(int)] + }).(GetVirtualGatewaySpecListenerTlValidationOutput) } -type VirtualServiceSpecProviderVirtualRouter struct { - // Name of the virtual router that is acting as a service provider. Must be between 1 and 255 characters in length. - VirtualRouterName string `pulumi:"virtualRouterName"` +type GetVirtualGatewaySpecListenerTlValidationSubjectAlternativeName struct { + Matches []GetVirtualGatewaySpecListenerTlValidationSubjectAlternativeNameMatch `pulumi:"matches"` } -// VirtualServiceSpecProviderVirtualRouterInput is an input type that accepts VirtualServiceSpecProviderVirtualRouterArgs and VirtualServiceSpecProviderVirtualRouterOutput values. -// You can construct a concrete instance of `VirtualServiceSpecProviderVirtualRouterInput` via: +// GetVirtualGatewaySpecListenerTlValidationSubjectAlternativeNameInput is an input type that accepts GetVirtualGatewaySpecListenerTlValidationSubjectAlternativeNameArgs and GetVirtualGatewaySpecListenerTlValidationSubjectAlternativeNameOutput values. +// You can construct a concrete instance of `GetVirtualGatewaySpecListenerTlValidationSubjectAlternativeNameInput` via: // -// VirtualServiceSpecProviderVirtualRouterArgs{...} -type VirtualServiceSpecProviderVirtualRouterInput interface { +// GetVirtualGatewaySpecListenerTlValidationSubjectAlternativeNameArgs{...} +type GetVirtualGatewaySpecListenerTlValidationSubjectAlternativeNameInput interface { pulumi.Input - ToVirtualServiceSpecProviderVirtualRouterOutput() VirtualServiceSpecProviderVirtualRouterOutput - ToVirtualServiceSpecProviderVirtualRouterOutputWithContext(context.Context) VirtualServiceSpecProviderVirtualRouterOutput -} - -type VirtualServiceSpecProviderVirtualRouterArgs struct { - // Name of the virtual router that is acting as a service provider. Must be between 1 and 255 characters in length. - VirtualRouterName pulumi.StringInput `pulumi:"virtualRouterName"` -} - -func (VirtualServiceSpecProviderVirtualRouterArgs) ElementType() reflect.Type { - return reflect.TypeOf((*VirtualServiceSpecProviderVirtualRouter)(nil)).Elem() + ToGetVirtualGatewaySpecListenerTlValidationSubjectAlternativeNameOutput() GetVirtualGatewaySpecListenerTlValidationSubjectAlternativeNameOutput + ToGetVirtualGatewaySpecListenerTlValidationSubjectAlternativeNameOutputWithContext(context.Context) GetVirtualGatewaySpecListenerTlValidationSubjectAlternativeNameOutput } -func (i VirtualServiceSpecProviderVirtualRouterArgs) ToVirtualServiceSpecProviderVirtualRouterOutput() VirtualServiceSpecProviderVirtualRouterOutput { - return i.ToVirtualServiceSpecProviderVirtualRouterOutputWithContext(context.Background()) +type GetVirtualGatewaySpecListenerTlValidationSubjectAlternativeNameArgs struct { + Matches GetVirtualGatewaySpecListenerTlValidationSubjectAlternativeNameMatchArrayInput `pulumi:"matches"` } -func (i VirtualServiceSpecProviderVirtualRouterArgs) ToVirtualServiceSpecProviderVirtualRouterOutputWithContext(ctx context.Context) VirtualServiceSpecProviderVirtualRouterOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualServiceSpecProviderVirtualRouterOutput) +func (GetVirtualGatewaySpecListenerTlValidationSubjectAlternativeNameArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetVirtualGatewaySpecListenerTlValidationSubjectAlternativeName)(nil)).Elem() } -func (i VirtualServiceSpecProviderVirtualRouterArgs) ToVirtualServiceSpecProviderVirtualRouterPtrOutput() VirtualServiceSpecProviderVirtualRouterPtrOutput { - return i.ToVirtualServiceSpecProviderVirtualRouterPtrOutputWithContext(context.Background()) +func (i GetVirtualGatewaySpecListenerTlValidationSubjectAlternativeNameArgs) ToGetVirtualGatewaySpecListenerTlValidationSubjectAlternativeNameOutput() GetVirtualGatewaySpecListenerTlValidationSubjectAlternativeNameOutput { + return i.ToGetVirtualGatewaySpecListenerTlValidationSubjectAlternativeNameOutputWithContext(context.Background()) } -func (i VirtualServiceSpecProviderVirtualRouterArgs) ToVirtualServiceSpecProviderVirtualRouterPtrOutputWithContext(ctx context.Context) VirtualServiceSpecProviderVirtualRouterPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualServiceSpecProviderVirtualRouterOutput).ToVirtualServiceSpecProviderVirtualRouterPtrOutputWithContext(ctx) +func (i GetVirtualGatewaySpecListenerTlValidationSubjectAlternativeNameArgs) ToGetVirtualGatewaySpecListenerTlValidationSubjectAlternativeNameOutputWithContext(ctx context.Context) GetVirtualGatewaySpecListenerTlValidationSubjectAlternativeNameOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetVirtualGatewaySpecListenerTlValidationSubjectAlternativeNameOutput) } -// VirtualServiceSpecProviderVirtualRouterPtrInput is an input type that accepts VirtualServiceSpecProviderVirtualRouterArgs, VirtualServiceSpecProviderVirtualRouterPtr and VirtualServiceSpecProviderVirtualRouterPtrOutput values. -// You can construct a concrete instance of `VirtualServiceSpecProviderVirtualRouterPtrInput` via: -// -// VirtualServiceSpecProviderVirtualRouterArgs{...} -// -// or: +// GetVirtualGatewaySpecListenerTlValidationSubjectAlternativeNameArrayInput is an input type that accepts GetVirtualGatewaySpecListenerTlValidationSubjectAlternativeNameArray and GetVirtualGatewaySpecListenerTlValidationSubjectAlternativeNameArrayOutput values. +// You can construct a concrete instance of `GetVirtualGatewaySpecListenerTlValidationSubjectAlternativeNameArrayInput` via: // -// nil -type VirtualServiceSpecProviderVirtualRouterPtrInput interface { +// GetVirtualGatewaySpecListenerTlValidationSubjectAlternativeNameArray{ GetVirtualGatewaySpecListenerTlValidationSubjectAlternativeNameArgs{...} } +type GetVirtualGatewaySpecListenerTlValidationSubjectAlternativeNameArrayInput interface { pulumi.Input - ToVirtualServiceSpecProviderVirtualRouterPtrOutput() VirtualServiceSpecProviderVirtualRouterPtrOutput - ToVirtualServiceSpecProviderVirtualRouterPtrOutputWithContext(context.Context) VirtualServiceSpecProviderVirtualRouterPtrOutput + ToGetVirtualGatewaySpecListenerTlValidationSubjectAlternativeNameArrayOutput() GetVirtualGatewaySpecListenerTlValidationSubjectAlternativeNameArrayOutput + ToGetVirtualGatewaySpecListenerTlValidationSubjectAlternativeNameArrayOutputWithContext(context.Context) GetVirtualGatewaySpecListenerTlValidationSubjectAlternativeNameArrayOutput } -type virtualServiceSpecProviderVirtualRouterPtrType VirtualServiceSpecProviderVirtualRouterArgs - -func VirtualServiceSpecProviderVirtualRouterPtr(v *VirtualServiceSpecProviderVirtualRouterArgs) VirtualServiceSpecProviderVirtualRouterPtrInput { - return (*virtualServiceSpecProviderVirtualRouterPtrType)(v) -} +type GetVirtualGatewaySpecListenerTlValidationSubjectAlternativeNameArray []GetVirtualGatewaySpecListenerTlValidationSubjectAlternativeNameInput -func (*virtualServiceSpecProviderVirtualRouterPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**VirtualServiceSpecProviderVirtualRouter)(nil)).Elem() +func (GetVirtualGatewaySpecListenerTlValidationSubjectAlternativeNameArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetVirtualGatewaySpecListenerTlValidationSubjectAlternativeName)(nil)).Elem() } -func (i *virtualServiceSpecProviderVirtualRouterPtrType) ToVirtualServiceSpecProviderVirtualRouterPtrOutput() VirtualServiceSpecProviderVirtualRouterPtrOutput { - return i.ToVirtualServiceSpecProviderVirtualRouterPtrOutputWithContext(context.Background()) +func (i GetVirtualGatewaySpecListenerTlValidationSubjectAlternativeNameArray) ToGetVirtualGatewaySpecListenerTlValidationSubjectAlternativeNameArrayOutput() GetVirtualGatewaySpecListenerTlValidationSubjectAlternativeNameArrayOutput { + return i.ToGetVirtualGatewaySpecListenerTlValidationSubjectAlternativeNameArrayOutputWithContext(context.Background()) } -func (i *virtualServiceSpecProviderVirtualRouterPtrType) ToVirtualServiceSpecProviderVirtualRouterPtrOutputWithContext(ctx context.Context) VirtualServiceSpecProviderVirtualRouterPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(VirtualServiceSpecProviderVirtualRouterPtrOutput) +func (i GetVirtualGatewaySpecListenerTlValidationSubjectAlternativeNameArray) ToGetVirtualGatewaySpecListenerTlValidationSubjectAlternativeNameArrayOutputWithContext(ctx context.Context) GetVirtualGatewaySpecListenerTlValidationSubjectAlternativeNameArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetVirtualGatewaySpecListenerTlValidationSubjectAlternativeNameArrayOutput) } -type VirtualServiceSpecProviderVirtualRouterOutput struct{ *pulumi.OutputState } +type GetVirtualGatewaySpecListenerTlValidationSubjectAlternativeNameOutput struct{ *pulumi.OutputState } -func (VirtualServiceSpecProviderVirtualRouterOutput) ElementType() reflect.Type { - return reflect.TypeOf((*VirtualServiceSpecProviderVirtualRouter)(nil)).Elem() +func (GetVirtualGatewaySpecListenerTlValidationSubjectAlternativeNameOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetVirtualGatewaySpecListenerTlValidationSubjectAlternativeName)(nil)).Elem() } -func (o VirtualServiceSpecProviderVirtualRouterOutput) ToVirtualServiceSpecProviderVirtualRouterOutput() VirtualServiceSpecProviderVirtualRouterOutput { +func (o GetVirtualGatewaySpecListenerTlValidationSubjectAlternativeNameOutput) ToGetVirtualGatewaySpecListenerTlValidationSubjectAlternativeNameOutput() GetVirtualGatewaySpecListenerTlValidationSubjectAlternativeNameOutput { return o } -func (o VirtualServiceSpecProviderVirtualRouterOutput) ToVirtualServiceSpecProviderVirtualRouterOutputWithContext(ctx context.Context) VirtualServiceSpecProviderVirtualRouterOutput { +func (o GetVirtualGatewaySpecListenerTlValidationSubjectAlternativeNameOutput) ToGetVirtualGatewaySpecListenerTlValidationSubjectAlternativeNameOutputWithContext(ctx context.Context) GetVirtualGatewaySpecListenerTlValidationSubjectAlternativeNameOutput { return o } -func (o VirtualServiceSpecProviderVirtualRouterOutput) ToVirtualServiceSpecProviderVirtualRouterPtrOutput() VirtualServiceSpecProviderVirtualRouterPtrOutput { - return o.ToVirtualServiceSpecProviderVirtualRouterPtrOutputWithContext(context.Background()) -} - -func (o VirtualServiceSpecProviderVirtualRouterOutput) ToVirtualServiceSpecProviderVirtualRouterPtrOutputWithContext(ctx context.Context) VirtualServiceSpecProviderVirtualRouterPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v VirtualServiceSpecProviderVirtualRouter) *VirtualServiceSpecProviderVirtualRouter { - return &v - }).(VirtualServiceSpecProviderVirtualRouterPtrOutput) -} - -// Name of the virtual router that is acting as a service provider. Must be between 1 and 255 characters in length. -func (o VirtualServiceSpecProviderVirtualRouterOutput) VirtualRouterName() pulumi.StringOutput { - return o.ApplyT(func(v VirtualServiceSpecProviderVirtualRouter) string { return v.VirtualRouterName }).(pulumi.StringOutput) +func (o GetVirtualGatewaySpecListenerTlValidationSubjectAlternativeNameOutput) Matches() GetVirtualGatewaySpecListenerTlValidationSubjectAlternativeNameMatchArrayOutput { + return o.ApplyT(func(v GetVirtualGatewaySpecListenerTlValidationSubjectAlternativeName) []GetVirtualGatewaySpecListenerTlValidationSubjectAlternativeNameMatch { + return v.Matches + }).(GetVirtualGatewaySpecListenerTlValidationSubjectAlternativeNameMatchArrayOutput) } -type VirtualServiceSpecProviderVirtualRouterPtrOutput struct{ *pulumi.OutputState } +type GetVirtualGatewaySpecListenerTlValidationSubjectAlternativeNameArrayOutput struct{ *pulumi.OutputState } -func (VirtualServiceSpecProviderVirtualRouterPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**VirtualServiceSpecProviderVirtualRouter)(nil)).Elem() +func (GetVirtualGatewaySpecListenerTlValidationSubjectAlternativeNameArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetVirtualGatewaySpecListenerTlValidationSubjectAlternativeName)(nil)).Elem() } -func (o VirtualServiceSpecProviderVirtualRouterPtrOutput) ToVirtualServiceSpecProviderVirtualRouterPtrOutput() VirtualServiceSpecProviderVirtualRouterPtrOutput { +func (o GetVirtualGatewaySpecListenerTlValidationSubjectAlternativeNameArrayOutput) ToGetVirtualGatewaySpecListenerTlValidationSubjectAlternativeNameArrayOutput() GetVirtualGatewaySpecListenerTlValidationSubjectAlternativeNameArrayOutput { return o } -func (o VirtualServiceSpecProviderVirtualRouterPtrOutput) ToVirtualServiceSpecProviderVirtualRouterPtrOutputWithContext(ctx context.Context) VirtualServiceSpecProviderVirtualRouterPtrOutput { +func (o GetVirtualGatewaySpecListenerTlValidationSubjectAlternativeNameArrayOutput) ToGetVirtualGatewaySpecListenerTlValidationSubjectAlternativeNameArrayOutputWithContext(ctx context.Context) GetVirtualGatewaySpecListenerTlValidationSubjectAlternativeNameArrayOutput { return o } -func (o VirtualServiceSpecProviderVirtualRouterPtrOutput) Elem() VirtualServiceSpecProviderVirtualRouterOutput { - return o.ApplyT(func(v *VirtualServiceSpecProviderVirtualRouter) VirtualServiceSpecProviderVirtualRouter { - if v != nil { - return *v - } - var ret VirtualServiceSpecProviderVirtualRouter - return ret - }).(VirtualServiceSpecProviderVirtualRouterOutput) -} - -// Name of the virtual router that is acting as a service provider. Must be between 1 and 255 characters in length. -func (o VirtualServiceSpecProviderVirtualRouterPtrOutput) VirtualRouterName() pulumi.StringPtrOutput { - return o.ApplyT(func(v *VirtualServiceSpecProviderVirtualRouter) *string { - if v == nil { - return nil - } - return &v.VirtualRouterName - }).(pulumi.StringPtrOutput) +func (o GetVirtualGatewaySpecListenerTlValidationSubjectAlternativeNameArrayOutput) Index(i pulumi.IntInput) GetVirtualGatewaySpecListenerTlValidationSubjectAlternativeNameOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetVirtualGatewaySpecListenerTlValidationSubjectAlternativeName { + return vs[0].([]GetVirtualGatewaySpecListenerTlValidationSubjectAlternativeName)[vs[1].(int)] + }).(GetVirtualGatewaySpecListenerTlValidationSubjectAlternativeNameOutput) } -type GetMeshSpec struct { - // Egress filter rules for the service mesh. - EgressFilters []GetMeshSpecEgressFilter `pulumi:"egressFilters"` +type GetVirtualGatewaySpecListenerTlValidationSubjectAlternativeNameMatch struct { + Exacts []string `pulumi:"exacts"` } -// GetMeshSpecInput is an input type that accepts GetMeshSpecArgs and GetMeshSpecOutput values. -// You can construct a concrete instance of `GetMeshSpecInput` via: +// GetVirtualGatewaySpecListenerTlValidationSubjectAlternativeNameMatchInput is an input type that accepts GetVirtualGatewaySpecListenerTlValidationSubjectAlternativeNameMatchArgs and GetVirtualGatewaySpecListenerTlValidationSubjectAlternativeNameMatchOutput values. +// You can construct a concrete instance of `GetVirtualGatewaySpecListenerTlValidationSubjectAlternativeNameMatchInput` via: // -// GetMeshSpecArgs{...} -type GetMeshSpecInput interface { +// GetVirtualGatewaySpecListenerTlValidationSubjectAlternativeNameMatchArgs{...} +type GetVirtualGatewaySpecListenerTlValidationSubjectAlternativeNameMatchInput interface { pulumi.Input - ToGetMeshSpecOutput() GetMeshSpecOutput - ToGetMeshSpecOutputWithContext(context.Context) GetMeshSpecOutput + ToGetVirtualGatewaySpecListenerTlValidationSubjectAlternativeNameMatchOutput() GetVirtualGatewaySpecListenerTlValidationSubjectAlternativeNameMatchOutput + ToGetVirtualGatewaySpecListenerTlValidationSubjectAlternativeNameMatchOutputWithContext(context.Context) GetVirtualGatewaySpecListenerTlValidationSubjectAlternativeNameMatchOutput } -type GetMeshSpecArgs struct { - // Egress filter rules for the service mesh. - EgressFilters GetMeshSpecEgressFilterArrayInput `pulumi:"egressFilters"` +type GetVirtualGatewaySpecListenerTlValidationSubjectAlternativeNameMatchArgs struct { + Exacts pulumi.StringArrayInput `pulumi:"exacts"` } -func (GetMeshSpecArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetMeshSpec)(nil)).Elem() +func (GetVirtualGatewaySpecListenerTlValidationSubjectAlternativeNameMatchArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetVirtualGatewaySpecListenerTlValidationSubjectAlternativeNameMatch)(nil)).Elem() } -func (i GetMeshSpecArgs) ToGetMeshSpecOutput() GetMeshSpecOutput { - return i.ToGetMeshSpecOutputWithContext(context.Background()) +func (i GetVirtualGatewaySpecListenerTlValidationSubjectAlternativeNameMatchArgs) ToGetVirtualGatewaySpecListenerTlValidationSubjectAlternativeNameMatchOutput() GetVirtualGatewaySpecListenerTlValidationSubjectAlternativeNameMatchOutput { + return i.ToGetVirtualGatewaySpecListenerTlValidationSubjectAlternativeNameMatchOutputWithContext(context.Background()) } -func (i GetMeshSpecArgs) ToGetMeshSpecOutputWithContext(ctx context.Context) GetMeshSpecOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetMeshSpecOutput) +func (i GetVirtualGatewaySpecListenerTlValidationSubjectAlternativeNameMatchArgs) ToGetVirtualGatewaySpecListenerTlValidationSubjectAlternativeNameMatchOutputWithContext(ctx context.Context) GetVirtualGatewaySpecListenerTlValidationSubjectAlternativeNameMatchOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetVirtualGatewaySpecListenerTlValidationSubjectAlternativeNameMatchOutput) } -// GetMeshSpecArrayInput is an input type that accepts GetMeshSpecArray and GetMeshSpecArrayOutput values. -// You can construct a concrete instance of `GetMeshSpecArrayInput` via: +// GetVirtualGatewaySpecListenerTlValidationSubjectAlternativeNameMatchArrayInput is an input type that accepts GetVirtualGatewaySpecListenerTlValidationSubjectAlternativeNameMatchArray and GetVirtualGatewaySpecListenerTlValidationSubjectAlternativeNameMatchArrayOutput values. +// You can construct a concrete instance of `GetVirtualGatewaySpecListenerTlValidationSubjectAlternativeNameMatchArrayInput` via: // -// GetMeshSpecArray{ GetMeshSpecArgs{...} } -type GetMeshSpecArrayInput interface { +// GetVirtualGatewaySpecListenerTlValidationSubjectAlternativeNameMatchArray{ GetVirtualGatewaySpecListenerTlValidationSubjectAlternativeNameMatchArgs{...} } +type GetVirtualGatewaySpecListenerTlValidationSubjectAlternativeNameMatchArrayInput interface { pulumi.Input - ToGetMeshSpecArrayOutput() GetMeshSpecArrayOutput - ToGetMeshSpecArrayOutputWithContext(context.Context) GetMeshSpecArrayOutput + ToGetVirtualGatewaySpecListenerTlValidationSubjectAlternativeNameMatchArrayOutput() GetVirtualGatewaySpecListenerTlValidationSubjectAlternativeNameMatchArrayOutput + ToGetVirtualGatewaySpecListenerTlValidationSubjectAlternativeNameMatchArrayOutputWithContext(context.Context) GetVirtualGatewaySpecListenerTlValidationSubjectAlternativeNameMatchArrayOutput } -type GetMeshSpecArray []GetMeshSpecInput +type GetVirtualGatewaySpecListenerTlValidationSubjectAlternativeNameMatchArray []GetVirtualGatewaySpecListenerTlValidationSubjectAlternativeNameMatchInput -func (GetMeshSpecArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetMeshSpec)(nil)).Elem() +func (GetVirtualGatewaySpecListenerTlValidationSubjectAlternativeNameMatchArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetVirtualGatewaySpecListenerTlValidationSubjectAlternativeNameMatch)(nil)).Elem() } -func (i GetMeshSpecArray) ToGetMeshSpecArrayOutput() GetMeshSpecArrayOutput { - return i.ToGetMeshSpecArrayOutputWithContext(context.Background()) +func (i GetVirtualGatewaySpecListenerTlValidationSubjectAlternativeNameMatchArray) ToGetVirtualGatewaySpecListenerTlValidationSubjectAlternativeNameMatchArrayOutput() GetVirtualGatewaySpecListenerTlValidationSubjectAlternativeNameMatchArrayOutput { + return i.ToGetVirtualGatewaySpecListenerTlValidationSubjectAlternativeNameMatchArrayOutputWithContext(context.Background()) } -func (i GetMeshSpecArray) ToGetMeshSpecArrayOutputWithContext(ctx context.Context) GetMeshSpecArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetMeshSpecArrayOutput) +func (i GetVirtualGatewaySpecListenerTlValidationSubjectAlternativeNameMatchArray) ToGetVirtualGatewaySpecListenerTlValidationSubjectAlternativeNameMatchArrayOutputWithContext(ctx context.Context) GetVirtualGatewaySpecListenerTlValidationSubjectAlternativeNameMatchArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetVirtualGatewaySpecListenerTlValidationSubjectAlternativeNameMatchArrayOutput) } -type GetMeshSpecOutput struct{ *pulumi.OutputState } +type GetVirtualGatewaySpecListenerTlValidationSubjectAlternativeNameMatchOutput struct{ *pulumi.OutputState } -func (GetMeshSpecOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetMeshSpec)(nil)).Elem() +func (GetVirtualGatewaySpecListenerTlValidationSubjectAlternativeNameMatchOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetVirtualGatewaySpecListenerTlValidationSubjectAlternativeNameMatch)(nil)).Elem() } -func (o GetMeshSpecOutput) ToGetMeshSpecOutput() GetMeshSpecOutput { +func (o GetVirtualGatewaySpecListenerTlValidationSubjectAlternativeNameMatchOutput) ToGetVirtualGatewaySpecListenerTlValidationSubjectAlternativeNameMatchOutput() GetVirtualGatewaySpecListenerTlValidationSubjectAlternativeNameMatchOutput { return o } -func (o GetMeshSpecOutput) ToGetMeshSpecOutputWithContext(ctx context.Context) GetMeshSpecOutput { +func (o GetVirtualGatewaySpecListenerTlValidationSubjectAlternativeNameMatchOutput) ToGetVirtualGatewaySpecListenerTlValidationSubjectAlternativeNameMatchOutputWithContext(ctx context.Context) GetVirtualGatewaySpecListenerTlValidationSubjectAlternativeNameMatchOutput { return o } -// Egress filter rules for the service mesh. -func (o GetMeshSpecOutput) EgressFilters() GetMeshSpecEgressFilterArrayOutput { - return o.ApplyT(func(v GetMeshSpec) []GetMeshSpecEgressFilter { return v.EgressFilters }).(GetMeshSpecEgressFilterArrayOutput) +func (o GetVirtualGatewaySpecListenerTlValidationSubjectAlternativeNameMatchOutput) Exacts() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetVirtualGatewaySpecListenerTlValidationSubjectAlternativeNameMatch) []string { return v.Exacts }).(pulumi.StringArrayOutput) } -type GetMeshSpecArrayOutput struct{ *pulumi.OutputState } +type GetVirtualGatewaySpecListenerTlValidationSubjectAlternativeNameMatchArrayOutput struct{ *pulumi.OutputState } -func (GetMeshSpecArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetMeshSpec)(nil)).Elem() +func (GetVirtualGatewaySpecListenerTlValidationSubjectAlternativeNameMatchArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetVirtualGatewaySpecListenerTlValidationSubjectAlternativeNameMatch)(nil)).Elem() } -func (o GetMeshSpecArrayOutput) ToGetMeshSpecArrayOutput() GetMeshSpecArrayOutput { +func (o GetVirtualGatewaySpecListenerTlValidationSubjectAlternativeNameMatchArrayOutput) ToGetVirtualGatewaySpecListenerTlValidationSubjectAlternativeNameMatchArrayOutput() GetVirtualGatewaySpecListenerTlValidationSubjectAlternativeNameMatchArrayOutput { return o } -func (o GetMeshSpecArrayOutput) ToGetMeshSpecArrayOutputWithContext(ctx context.Context) GetMeshSpecArrayOutput { +func (o GetVirtualGatewaySpecListenerTlValidationSubjectAlternativeNameMatchArrayOutput) ToGetVirtualGatewaySpecListenerTlValidationSubjectAlternativeNameMatchArrayOutputWithContext(ctx context.Context) GetVirtualGatewaySpecListenerTlValidationSubjectAlternativeNameMatchArrayOutput { return o } -func (o GetMeshSpecArrayOutput) Index(i pulumi.IntInput) GetMeshSpecOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetMeshSpec { - return vs[0].([]GetMeshSpec)[vs[1].(int)] - }).(GetMeshSpecOutput) +func (o GetVirtualGatewaySpecListenerTlValidationSubjectAlternativeNameMatchArrayOutput) Index(i pulumi.IntInput) GetVirtualGatewaySpecListenerTlValidationSubjectAlternativeNameMatchOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetVirtualGatewaySpecListenerTlValidationSubjectAlternativeNameMatch { + return vs[0].([]GetVirtualGatewaySpecListenerTlValidationSubjectAlternativeNameMatch)[vs[1].(int)] + }).(GetVirtualGatewaySpecListenerTlValidationSubjectAlternativeNameMatchOutput) } -type GetMeshSpecEgressFilter struct { - // Egress filter type. - Type string `pulumi:"type"` +type GetVirtualGatewaySpecListenerTlValidationTrust struct { + Files []GetVirtualGatewaySpecListenerTlValidationTrustFile `pulumi:"files"` + Sds []GetVirtualGatewaySpecListenerTlValidationTrustSd `pulumi:"sds"` } -// GetMeshSpecEgressFilterInput is an input type that accepts GetMeshSpecEgressFilterArgs and GetMeshSpecEgressFilterOutput values. -// You can construct a concrete instance of `GetMeshSpecEgressFilterInput` via: +// GetVirtualGatewaySpecListenerTlValidationTrustInput is an input type that accepts GetVirtualGatewaySpecListenerTlValidationTrustArgs and GetVirtualGatewaySpecListenerTlValidationTrustOutput values. +// You can construct a concrete instance of `GetVirtualGatewaySpecListenerTlValidationTrustInput` via: // -// GetMeshSpecEgressFilterArgs{...} -type GetMeshSpecEgressFilterInput interface { +// GetVirtualGatewaySpecListenerTlValidationTrustArgs{...} +type GetVirtualGatewaySpecListenerTlValidationTrustInput interface { pulumi.Input - ToGetMeshSpecEgressFilterOutput() GetMeshSpecEgressFilterOutput - ToGetMeshSpecEgressFilterOutputWithContext(context.Context) GetMeshSpecEgressFilterOutput + ToGetVirtualGatewaySpecListenerTlValidationTrustOutput() GetVirtualGatewaySpecListenerTlValidationTrustOutput + ToGetVirtualGatewaySpecListenerTlValidationTrustOutputWithContext(context.Context) GetVirtualGatewaySpecListenerTlValidationTrustOutput } -type GetMeshSpecEgressFilterArgs struct { - // Egress filter type. - Type pulumi.StringInput `pulumi:"type"` +type GetVirtualGatewaySpecListenerTlValidationTrustArgs struct { + Files GetVirtualGatewaySpecListenerTlValidationTrustFileArrayInput `pulumi:"files"` + Sds GetVirtualGatewaySpecListenerTlValidationTrustSdArrayInput `pulumi:"sds"` } -func (GetMeshSpecEgressFilterArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetMeshSpecEgressFilter)(nil)).Elem() +func (GetVirtualGatewaySpecListenerTlValidationTrustArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetVirtualGatewaySpecListenerTlValidationTrust)(nil)).Elem() } -func (i GetMeshSpecEgressFilterArgs) ToGetMeshSpecEgressFilterOutput() GetMeshSpecEgressFilterOutput { - return i.ToGetMeshSpecEgressFilterOutputWithContext(context.Background()) +func (i GetVirtualGatewaySpecListenerTlValidationTrustArgs) ToGetVirtualGatewaySpecListenerTlValidationTrustOutput() GetVirtualGatewaySpecListenerTlValidationTrustOutput { + return i.ToGetVirtualGatewaySpecListenerTlValidationTrustOutputWithContext(context.Background()) } -func (i GetMeshSpecEgressFilterArgs) ToGetMeshSpecEgressFilterOutputWithContext(ctx context.Context) GetMeshSpecEgressFilterOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetMeshSpecEgressFilterOutput) +func (i GetVirtualGatewaySpecListenerTlValidationTrustArgs) ToGetVirtualGatewaySpecListenerTlValidationTrustOutputWithContext(ctx context.Context) GetVirtualGatewaySpecListenerTlValidationTrustOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetVirtualGatewaySpecListenerTlValidationTrustOutput) } -// GetMeshSpecEgressFilterArrayInput is an input type that accepts GetMeshSpecEgressFilterArray and GetMeshSpecEgressFilterArrayOutput values. -// You can construct a concrete instance of `GetMeshSpecEgressFilterArrayInput` via: +// GetVirtualGatewaySpecListenerTlValidationTrustArrayInput is an input type that accepts GetVirtualGatewaySpecListenerTlValidationTrustArray and GetVirtualGatewaySpecListenerTlValidationTrustArrayOutput values. +// You can construct a concrete instance of `GetVirtualGatewaySpecListenerTlValidationTrustArrayInput` via: // -// GetMeshSpecEgressFilterArray{ GetMeshSpecEgressFilterArgs{...} } -type GetMeshSpecEgressFilterArrayInput interface { +// GetVirtualGatewaySpecListenerTlValidationTrustArray{ GetVirtualGatewaySpecListenerTlValidationTrustArgs{...} } +type GetVirtualGatewaySpecListenerTlValidationTrustArrayInput interface { pulumi.Input - ToGetMeshSpecEgressFilterArrayOutput() GetMeshSpecEgressFilterArrayOutput - ToGetMeshSpecEgressFilterArrayOutputWithContext(context.Context) GetMeshSpecEgressFilterArrayOutput + ToGetVirtualGatewaySpecListenerTlValidationTrustArrayOutput() GetVirtualGatewaySpecListenerTlValidationTrustArrayOutput + ToGetVirtualGatewaySpecListenerTlValidationTrustArrayOutputWithContext(context.Context) GetVirtualGatewaySpecListenerTlValidationTrustArrayOutput } -type GetMeshSpecEgressFilterArray []GetMeshSpecEgressFilterInput +type GetVirtualGatewaySpecListenerTlValidationTrustArray []GetVirtualGatewaySpecListenerTlValidationTrustInput -func (GetMeshSpecEgressFilterArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetMeshSpecEgressFilter)(nil)).Elem() +func (GetVirtualGatewaySpecListenerTlValidationTrustArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetVirtualGatewaySpecListenerTlValidationTrust)(nil)).Elem() } -func (i GetMeshSpecEgressFilterArray) ToGetMeshSpecEgressFilterArrayOutput() GetMeshSpecEgressFilterArrayOutput { - return i.ToGetMeshSpecEgressFilterArrayOutputWithContext(context.Background()) +func (i GetVirtualGatewaySpecListenerTlValidationTrustArray) ToGetVirtualGatewaySpecListenerTlValidationTrustArrayOutput() GetVirtualGatewaySpecListenerTlValidationTrustArrayOutput { + return i.ToGetVirtualGatewaySpecListenerTlValidationTrustArrayOutputWithContext(context.Background()) } -func (i GetMeshSpecEgressFilterArray) ToGetMeshSpecEgressFilterArrayOutputWithContext(ctx context.Context) GetMeshSpecEgressFilterArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetMeshSpecEgressFilterArrayOutput) +func (i GetVirtualGatewaySpecListenerTlValidationTrustArray) ToGetVirtualGatewaySpecListenerTlValidationTrustArrayOutputWithContext(ctx context.Context) GetVirtualGatewaySpecListenerTlValidationTrustArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetVirtualGatewaySpecListenerTlValidationTrustArrayOutput) } -type GetMeshSpecEgressFilterOutput struct{ *pulumi.OutputState } +type GetVirtualGatewaySpecListenerTlValidationTrustOutput struct{ *pulumi.OutputState } -func (GetMeshSpecEgressFilterOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetMeshSpecEgressFilter)(nil)).Elem() +func (GetVirtualGatewaySpecListenerTlValidationTrustOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetVirtualGatewaySpecListenerTlValidationTrust)(nil)).Elem() } -func (o GetMeshSpecEgressFilterOutput) ToGetMeshSpecEgressFilterOutput() GetMeshSpecEgressFilterOutput { +func (o GetVirtualGatewaySpecListenerTlValidationTrustOutput) ToGetVirtualGatewaySpecListenerTlValidationTrustOutput() GetVirtualGatewaySpecListenerTlValidationTrustOutput { return o } -func (o GetMeshSpecEgressFilterOutput) ToGetMeshSpecEgressFilterOutputWithContext(ctx context.Context) GetMeshSpecEgressFilterOutput { +func (o GetVirtualGatewaySpecListenerTlValidationTrustOutput) ToGetVirtualGatewaySpecListenerTlValidationTrustOutputWithContext(ctx context.Context) GetVirtualGatewaySpecListenerTlValidationTrustOutput { return o } -// Egress filter type. -func (o GetMeshSpecEgressFilterOutput) Type() pulumi.StringOutput { - return o.ApplyT(func(v GetMeshSpecEgressFilter) string { return v.Type }).(pulumi.StringOutput) +func (o GetVirtualGatewaySpecListenerTlValidationTrustOutput) Files() GetVirtualGatewaySpecListenerTlValidationTrustFileArrayOutput { + return o.ApplyT(func(v GetVirtualGatewaySpecListenerTlValidationTrust) []GetVirtualGatewaySpecListenerTlValidationTrustFile { + return v.Files + }).(GetVirtualGatewaySpecListenerTlValidationTrustFileArrayOutput) } -type GetMeshSpecEgressFilterArrayOutput struct{ *pulumi.OutputState } +func (o GetVirtualGatewaySpecListenerTlValidationTrustOutput) Sds() GetVirtualGatewaySpecListenerTlValidationTrustSdArrayOutput { + return o.ApplyT(func(v GetVirtualGatewaySpecListenerTlValidationTrust) []GetVirtualGatewaySpecListenerTlValidationTrustSd { + return v.Sds + }).(GetVirtualGatewaySpecListenerTlValidationTrustSdArrayOutput) +} -func (GetMeshSpecEgressFilterArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetMeshSpecEgressFilter)(nil)).Elem() +type GetVirtualGatewaySpecListenerTlValidationTrustArrayOutput struct{ *pulumi.OutputState } + +func (GetVirtualGatewaySpecListenerTlValidationTrustArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetVirtualGatewaySpecListenerTlValidationTrust)(nil)).Elem() } -func (o GetMeshSpecEgressFilterArrayOutput) ToGetMeshSpecEgressFilterArrayOutput() GetMeshSpecEgressFilterArrayOutput { +func (o GetVirtualGatewaySpecListenerTlValidationTrustArrayOutput) ToGetVirtualGatewaySpecListenerTlValidationTrustArrayOutput() GetVirtualGatewaySpecListenerTlValidationTrustArrayOutput { return o } -func (o GetMeshSpecEgressFilterArrayOutput) ToGetMeshSpecEgressFilterArrayOutputWithContext(ctx context.Context) GetMeshSpecEgressFilterArrayOutput { +func (o GetVirtualGatewaySpecListenerTlValidationTrustArrayOutput) ToGetVirtualGatewaySpecListenerTlValidationTrustArrayOutputWithContext(ctx context.Context) GetVirtualGatewaySpecListenerTlValidationTrustArrayOutput { return o } -func (o GetMeshSpecEgressFilterArrayOutput) Index(i pulumi.IntInput) GetMeshSpecEgressFilterOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetMeshSpecEgressFilter { - return vs[0].([]GetMeshSpecEgressFilter)[vs[1].(int)] - }).(GetMeshSpecEgressFilterOutput) +func (o GetVirtualGatewaySpecListenerTlValidationTrustArrayOutput) Index(i pulumi.IntInput) GetVirtualGatewaySpecListenerTlValidationTrustOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetVirtualGatewaySpecListenerTlValidationTrust { + return vs[0].([]GetVirtualGatewaySpecListenerTlValidationTrust)[vs[1].(int)] + }).(GetVirtualGatewaySpecListenerTlValidationTrustOutput) } -type GetRouteSpec struct { - // GRPC routing information for the route. - GrpcRoutes []GetRouteSpecGrpcRoute `pulumi:"grpcRoutes"` - // HTTP/2 routing information for the route. - Http2Routes []GetRouteSpecHttp2Route `pulumi:"http2Routes"` - // HTTP routing information for the route. - HttpRoutes []GetRouteSpecHttpRoute `pulumi:"httpRoutes"` - // Priority for the route, between `0` and `1000`. - Priority int `pulumi:"priority"` - // TCP routing information for the route. - TcpRoutes []GetRouteSpecTcpRoute `pulumi:"tcpRoutes"` +type GetVirtualGatewaySpecListenerTlValidationTrustFile struct { + CertificateChain string `pulumi:"certificateChain"` } -// GetRouteSpecInput is an input type that accepts GetRouteSpecArgs and GetRouteSpecOutput values. -// You can construct a concrete instance of `GetRouteSpecInput` via: +// GetVirtualGatewaySpecListenerTlValidationTrustFileInput is an input type that accepts GetVirtualGatewaySpecListenerTlValidationTrustFileArgs and GetVirtualGatewaySpecListenerTlValidationTrustFileOutput values. +// You can construct a concrete instance of `GetVirtualGatewaySpecListenerTlValidationTrustFileInput` via: // -// GetRouteSpecArgs{...} -type GetRouteSpecInput interface { +// GetVirtualGatewaySpecListenerTlValidationTrustFileArgs{...} +type GetVirtualGatewaySpecListenerTlValidationTrustFileInput interface { pulumi.Input - ToGetRouteSpecOutput() GetRouteSpecOutput - ToGetRouteSpecOutputWithContext(context.Context) GetRouteSpecOutput + ToGetVirtualGatewaySpecListenerTlValidationTrustFileOutput() GetVirtualGatewaySpecListenerTlValidationTrustFileOutput + ToGetVirtualGatewaySpecListenerTlValidationTrustFileOutputWithContext(context.Context) GetVirtualGatewaySpecListenerTlValidationTrustFileOutput } -type GetRouteSpecArgs struct { - // GRPC routing information for the route. - GrpcRoutes GetRouteSpecGrpcRouteArrayInput `pulumi:"grpcRoutes"` - // HTTP/2 routing information for the route. - Http2Routes GetRouteSpecHttp2RouteArrayInput `pulumi:"http2Routes"` - // HTTP routing information for the route. - HttpRoutes GetRouteSpecHttpRouteArrayInput `pulumi:"httpRoutes"` - // Priority for the route, between `0` and `1000`. - Priority pulumi.IntInput `pulumi:"priority"` - // TCP routing information for the route. - TcpRoutes GetRouteSpecTcpRouteArrayInput `pulumi:"tcpRoutes"` +type GetVirtualGatewaySpecListenerTlValidationTrustFileArgs struct { + CertificateChain pulumi.StringInput `pulumi:"certificateChain"` } -func (GetRouteSpecArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetRouteSpec)(nil)).Elem() +func (GetVirtualGatewaySpecListenerTlValidationTrustFileArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetVirtualGatewaySpecListenerTlValidationTrustFile)(nil)).Elem() } -func (i GetRouteSpecArgs) ToGetRouteSpecOutput() GetRouteSpecOutput { - return i.ToGetRouteSpecOutputWithContext(context.Background()) +func (i GetVirtualGatewaySpecListenerTlValidationTrustFileArgs) ToGetVirtualGatewaySpecListenerTlValidationTrustFileOutput() GetVirtualGatewaySpecListenerTlValidationTrustFileOutput { + return i.ToGetVirtualGatewaySpecListenerTlValidationTrustFileOutputWithContext(context.Background()) } -func (i GetRouteSpecArgs) ToGetRouteSpecOutputWithContext(ctx context.Context) GetRouteSpecOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetRouteSpecOutput) +func (i GetVirtualGatewaySpecListenerTlValidationTrustFileArgs) ToGetVirtualGatewaySpecListenerTlValidationTrustFileOutputWithContext(ctx context.Context) GetVirtualGatewaySpecListenerTlValidationTrustFileOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetVirtualGatewaySpecListenerTlValidationTrustFileOutput) } -// GetRouteSpecArrayInput is an input type that accepts GetRouteSpecArray and GetRouteSpecArrayOutput values. -// You can construct a concrete instance of `GetRouteSpecArrayInput` via: +// GetVirtualGatewaySpecListenerTlValidationTrustFileArrayInput is an input type that accepts GetVirtualGatewaySpecListenerTlValidationTrustFileArray and GetVirtualGatewaySpecListenerTlValidationTrustFileArrayOutput values. +// You can construct a concrete instance of `GetVirtualGatewaySpecListenerTlValidationTrustFileArrayInput` via: // -// GetRouteSpecArray{ GetRouteSpecArgs{...} } -type GetRouteSpecArrayInput interface { +// GetVirtualGatewaySpecListenerTlValidationTrustFileArray{ GetVirtualGatewaySpecListenerTlValidationTrustFileArgs{...} } +type GetVirtualGatewaySpecListenerTlValidationTrustFileArrayInput interface { pulumi.Input - ToGetRouteSpecArrayOutput() GetRouteSpecArrayOutput - ToGetRouteSpecArrayOutputWithContext(context.Context) GetRouteSpecArrayOutput + ToGetVirtualGatewaySpecListenerTlValidationTrustFileArrayOutput() GetVirtualGatewaySpecListenerTlValidationTrustFileArrayOutput + ToGetVirtualGatewaySpecListenerTlValidationTrustFileArrayOutputWithContext(context.Context) GetVirtualGatewaySpecListenerTlValidationTrustFileArrayOutput } -type GetRouteSpecArray []GetRouteSpecInput +type GetVirtualGatewaySpecListenerTlValidationTrustFileArray []GetVirtualGatewaySpecListenerTlValidationTrustFileInput -func (GetRouteSpecArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetRouteSpec)(nil)).Elem() +func (GetVirtualGatewaySpecListenerTlValidationTrustFileArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetVirtualGatewaySpecListenerTlValidationTrustFile)(nil)).Elem() } -func (i GetRouteSpecArray) ToGetRouteSpecArrayOutput() GetRouteSpecArrayOutput { - return i.ToGetRouteSpecArrayOutputWithContext(context.Background()) +func (i GetVirtualGatewaySpecListenerTlValidationTrustFileArray) ToGetVirtualGatewaySpecListenerTlValidationTrustFileArrayOutput() GetVirtualGatewaySpecListenerTlValidationTrustFileArrayOutput { + return i.ToGetVirtualGatewaySpecListenerTlValidationTrustFileArrayOutputWithContext(context.Background()) } -func (i GetRouteSpecArray) ToGetRouteSpecArrayOutputWithContext(ctx context.Context) GetRouteSpecArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetRouteSpecArrayOutput) +func (i GetVirtualGatewaySpecListenerTlValidationTrustFileArray) ToGetVirtualGatewaySpecListenerTlValidationTrustFileArrayOutputWithContext(ctx context.Context) GetVirtualGatewaySpecListenerTlValidationTrustFileArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetVirtualGatewaySpecListenerTlValidationTrustFileArrayOutput) } -type GetRouteSpecOutput struct{ *pulumi.OutputState } +type GetVirtualGatewaySpecListenerTlValidationTrustFileOutput struct{ *pulumi.OutputState } -func (GetRouteSpecOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetRouteSpec)(nil)).Elem() +func (GetVirtualGatewaySpecListenerTlValidationTrustFileOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetVirtualGatewaySpecListenerTlValidationTrustFile)(nil)).Elem() } -func (o GetRouteSpecOutput) ToGetRouteSpecOutput() GetRouteSpecOutput { +func (o GetVirtualGatewaySpecListenerTlValidationTrustFileOutput) ToGetVirtualGatewaySpecListenerTlValidationTrustFileOutput() GetVirtualGatewaySpecListenerTlValidationTrustFileOutput { return o } -func (o GetRouteSpecOutput) ToGetRouteSpecOutputWithContext(ctx context.Context) GetRouteSpecOutput { +func (o GetVirtualGatewaySpecListenerTlValidationTrustFileOutput) ToGetVirtualGatewaySpecListenerTlValidationTrustFileOutputWithContext(ctx context.Context) GetVirtualGatewaySpecListenerTlValidationTrustFileOutput { return o } -// GRPC routing information for the route. -func (o GetRouteSpecOutput) GrpcRoutes() GetRouteSpecGrpcRouteArrayOutput { - return o.ApplyT(func(v GetRouteSpec) []GetRouteSpecGrpcRoute { return v.GrpcRoutes }).(GetRouteSpecGrpcRouteArrayOutput) -} - -// HTTP/2 routing information for the route. -func (o GetRouteSpecOutput) Http2Routes() GetRouteSpecHttp2RouteArrayOutput { - return o.ApplyT(func(v GetRouteSpec) []GetRouteSpecHttp2Route { return v.Http2Routes }).(GetRouteSpecHttp2RouteArrayOutput) -} - -// HTTP routing information for the route. -func (o GetRouteSpecOutput) HttpRoutes() GetRouteSpecHttpRouteArrayOutput { - return o.ApplyT(func(v GetRouteSpec) []GetRouteSpecHttpRoute { return v.HttpRoutes }).(GetRouteSpecHttpRouteArrayOutput) -} - -// Priority for the route, between `0` and `1000`. -func (o GetRouteSpecOutput) Priority() pulumi.IntOutput { - return o.ApplyT(func(v GetRouteSpec) int { return v.Priority }).(pulumi.IntOutput) -} - -// TCP routing information for the route. -func (o GetRouteSpecOutput) TcpRoutes() GetRouteSpecTcpRouteArrayOutput { - return o.ApplyT(func(v GetRouteSpec) []GetRouteSpecTcpRoute { return v.TcpRoutes }).(GetRouteSpecTcpRouteArrayOutput) +func (o GetVirtualGatewaySpecListenerTlValidationTrustFileOutput) CertificateChain() pulumi.StringOutput { + return o.ApplyT(func(v GetVirtualGatewaySpecListenerTlValidationTrustFile) string { return v.CertificateChain }).(pulumi.StringOutput) } -type GetRouteSpecArrayOutput struct{ *pulumi.OutputState } +type GetVirtualGatewaySpecListenerTlValidationTrustFileArrayOutput struct{ *pulumi.OutputState } -func (GetRouteSpecArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetRouteSpec)(nil)).Elem() +func (GetVirtualGatewaySpecListenerTlValidationTrustFileArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetVirtualGatewaySpecListenerTlValidationTrustFile)(nil)).Elem() } -func (o GetRouteSpecArrayOutput) ToGetRouteSpecArrayOutput() GetRouteSpecArrayOutput { +func (o GetVirtualGatewaySpecListenerTlValidationTrustFileArrayOutput) ToGetVirtualGatewaySpecListenerTlValidationTrustFileArrayOutput() GetVirtualGatewaySpecListenerTlValidationTrustFileArrayOutput { return o } -func (o GetRouteSpecArrayOutput) ToGetRouteSpecArrayOutputWithContext(ctx context.Context) GetRouteSpecArrayOutput { +func (o GetVirtualGatewaySpecListenerTlValidationTrustFileArrayOutput) ToGetVirtualGatewaySpecListenerTlValidationTrustFileArrayOutputWithContext(ctx context.Context) GetVirtualGatewaySpecListenerTlValidationTrustFileArrayOutput { return o } -func (o GetRouteSpecArrayOutput) Index(i pulumi.IntInput) GetRouteSpecOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetRouteSpec { - return vs[0].([]GetRouteSpec)[vs[1].(int)] - }).(GetRouteSpecOutput) +func (o GetVirtualGatewaySpecListenerTlValidationTrustFileArrayOutput) Index(i pulumi.IntInput) GetVirtualGatewaySpecListenerTlValidationTrustFileOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetVirtualGatewaySpecListenerTlValidationTrustFile { + return vs[0].([]GetVirtualGatewaySpecListenerTlValidationTrustFile)[vs[1].(int)] + }).(GetVirtualGatewaySpecListenerTlValidationTrustFileOutput) } -type GetRouteSpecGrpcRoute struct { - // Action to take if a match is determined. - Actions []GetRouteSpecGrpcRouteAction `pulumi:"actions"` - // Criteria for determining an HTTP request match. - Matches []GetRouteSpecGrpcRouteMatch `pulumi:"matches"` - // Retry policy. - RetryPolicies []GetRouteSpecGrpcRouteRetryPolicy `pulumi:"retryPolicies"` - // Types of timeouts. - Timeouts []GetRouteSpecGrpcRouteTimeout `pulumi:"timeouts"` +type GetVirtualGatewaySpecListenerTlValidationTrustSd struct { + SecretName string `pulumi:"secretName"` } -// GetRouteSpecGrpcRouteInput is an input type that accepts GetRouteSpecGrpcRouteArgs and GetRouteSpecGrpcRouteOutput values. -// You can construct a concrete instance of `GetRouteSpecGrpcRouteInput` via: +// GetVirtualGatewaySpecListenerTlValidationTrustSdInput is an input type that accepts GetVirtualGatewaySpecListenerTlValidationTrustSdArgs and GetVirtualGatewaySpecListenerTlValidationTrustSdOutput values. +// You can construct a concrete instance of `GetVirtualGatewaySpecListenerTlValidationTrustSdInput` via: // -// GetRouteSpecGrpcRouteArgs{...} -type GetRouteSpecGrpcRouteInput interface { +// GetVirtualGatewaySpecListenerTlValidationTrustSdArgs{...} +type GetVirtualGatewaySpecListenerTlValidationTrustSdInput interface { pulumi.Input - ToGetRouteSpecGrpcRouteOutput() GetRouteSpecGrpcRouteOutput - ToGetRouteSpecGrpcRouteOutputWithContext(context.Context) GetRouteSpecGrpcRouteOutput + ToGetVirtualGatewaySpecListenerTlValidationTrustSdOutput() GetVirtualGatewaySpecListenerTlValidationTrustSdOutput + ToGetVirtualGatewaySpecListenerTlValidationTrustSdOutputWithContext(context.Context) GetVirtualGatewaySpecListenerTlValidationTrustSdOutput } -type GetRouteSpecGrpcRouteArgs struct { - // Action to take if a match is determined. - Actions GetRouteSpecGrpcRouteActionArrayInput `pulumi:"actions"` - // Criteria for determining an HTTP request match. - Matches GetRouteSpecGrpcRouteMatchArrayInput `pulumi:"matches"` - // Retry policy. - RetryPolicies GetRouteSpecGrpcRouteRetryPolicyArrayInput `pulumi:"retryPolicies"` - // Types of timeouts. - Timeouts GetRouteSpecGrpcRouteTimeoutArrayInput `pulumi:"timeouts"` +type GetVirtualGatewaySpecListenerTlValidationTrustSdArgs struct { + SecretName pulumi.StringInput `pulumi:"secretName"` } -func (GetRouteSpecGrpcRouteArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetRouteSpecGrpcRoute)(nil)).Elem() +func (GetVirtualGatewaySpecListenerTlValidationTrustSdArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetVirtualGatewaySpecListenerTlValidationTrustSd)(nil)).Elem() } -func (i GetRouteSpecGrpcRouteArgs) ToGetRouteSpecGrpcRouteOutput() GetRouteSpecGrpcRouteOutput { - return i.ToGetRouteSpecGrpcRouteOutputWithContext(context.Background()) +func (i GetVirtualGatewaySpecListenerTlValidationTrustSdArgs) ToGetVirtualGatewaySpecListenerTlValidationTrustSdOutput() GetVirtualGatewaySpecListenerTlValidationTrustSdOutput { + return i.ToGetVirtualGatewaySpecListenerTlValidationTrustSdOutputWithContext(context.Background()) } -func (i GetRouteSpecGrpcRouteArgs) ToGetRouteSpecGrpcRouteOutputWithContext(ctx context.Context) GetRouteSpecGrpcRouteOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetRouteSpecGrpcRouteOutput) +func (i GetVirtualGatewaySpecListenerTlValidationTrustSdArgs) ToGetVirtualGatewaySpecListenerTlValidationTrustSdOutputWithContext(ctx context.Context) GetVirtualGatewaySpecListenerTlValidationTrustSdOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetVirtualGatewaySpecListenerTlValidationTrustSdOutput) } -// GetRouteSpecGrpcRouteArrayInput is an input type that accepts GetRouteSpecGrpcRouteArray and GetRouteSpecGrpcRouteArrayOutput values. -// You can construct a concrete instance of `GetRouteSpecGrpcRouteArrayInput` via: +// GetVirtualGatewaySpecListenerTlValidationTrustSdArrayInput is an input type that accepts GetVirtualGatewaySpecListenerTlValidationTrustSdArray and GetVirtualGatewaySpecListenerTlValidationTrustSdArrayOutput values. +// You can construct a concrete instance of `GetVirtualGatewaySpecListenerTlValidationTrustSdArrayInput` via: // -// GetRouteSpecGrpcRouteArray{ GetRouteSpecGrpcRouteArgs{...} } -type GetRouteSpecGrpcRouteArrayInput interface { +// GetVirtualGatewaySpecListenerTlValidationTrustSdArray{ GetVirtualGatewaySpecListenerTlValidationTrustSdArgs{...} } +type GetVirtualGatewaySpecListenerTlValidationTrustSdArrayInput interface { pulumi.Input - ToGetRouteSpecGrpcRouteArrayOutput() GetRouteSpecGrpcRouteArrayOutput - ToGetRouteSpecGrpcRouteArrayOutputWithContext(context.Context) GetRouteSpecGrpcRouteArrayOutput + ToGetVirtualGatewaySpecListenerTlValidationTrustSdArrayOutput() GetVirtualGatewaySpecListenerTlValidationTrustSdArrayOutput + ToGetVirtualGatewaySpecListenerTlValidationTrustSdArrayOutputWithContext(context.Context) GetVirtualGatewaySpecListenerTlValidationTrustSdArrayOutput } -type GetRouteSpecGrpcRouteArray []GetRouteSpecGrpcRouteInput +type GetVirtualGatewaySpecListenerTlValidationTrustSdArray []GetVirtualGatewaySpecListenerTlValidationTrustSdInput -func (GetRouteSpecGrpcRouteArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetRouteSpecGrpcRoute)(nil)).Elem() +func (GetVirtualGatewaySpecListenerTlValidationTrustSdArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetVirtualGatewaySpecListenerTlValidationTrustSd)(nil)).Elem() } -func (i GetRouteSpecGrpcRouteArray) ToGetRouteSpecGrpcRouteArrayOutput() GetRouteSpecGrpcRouteArrayOutput { - return i.ToGetRouteSpecGrpcRouteArrayOutputWithContext(context.Background()) +func (i GetVirtualGatewaySpecListenerTlValidationTrustSdArray) ToGetVirtualGatewaySpecListenerTlValidationTrustSdArrayOutput() GetVirtualGatewaySpecListenerTlValidationTrustSdArrayOutput { + return i.ToGetVirtualGatewaySpecListenerTlValidationTrustSdArrayOutputWithContext(context.Background()) } -func (i GetRouteSpecGrpcRouteArray) ToGetRouteSpecGrpcRouteArrayOutputWithContext(ctx context.Context) GetRouteSpecGrpcRouteArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetRouteSpecGrpcRouteArrayOutput) +func (i GetVirtualGatewaySpecListenerTlValidationTrustSdArray) ToGetVirtualGatewaySpecListenerTlValidationTrustSdArrayOutputWithContext(ctx context.Context) GetVirtualGatewaySpecListenerTlValidationTrustSdArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetVirtualGatewaySpecListenerTlValidationTrustSdArrayOutput) } -type GetRouteSpecGrpcRouteOutput struct{ *pulumi.OutputState } +type GetVirtualGatewaySpecListenerTlValidationTrustSdOutput struct{ *pulumi.OutputState } -func (GetRouteSpecGrpcRouteOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetRouteSpecGrpcRoute)(nil)).Elem() +func (GetVirtualGatewaySpecListenerTlValidationTrustSdOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetVirtualGatewaySpecListenerTlValidationTrustSd)(nil)).Elem() } -func (o GetRouteSpecGrpcRouteOutput) ToGetRouteSpecGrpcRouteOutput() GetRouteSpecGrpcRouteOutput { +func (o GetVirtualGatewaySpecListenerTlValidationTrustSdOutput) ToGetVirtualGatewaySpecListenerTlValidationTrustSdOutput() GetVirtualGatewaySpecListenerTlValidationTrustSdOutput { return o } -func (o GetRouteSpecGrpcRouteOutput) ToGetRouteSpecGrpcRouteOutputWithContext(ctx context.Context) GetRouteSpecGrpcRouteOutput { +func (o GetVirtualGatewaySpecListenerTlValidationTrustSdOutput) ToGetVirtualGatewaySpecListenerTlValidationTrustSdOutputWithContext(ctx context.Context) GetVirtualGatewaySpecListenerTlValidationTrustSdOutput { return o } -// Action to take if a match is determined. -func (o GetRouteSpecGrpcRouteOutput) Actions() GetRouteSpecGrpcRouteActionArrayOutput { - return o.ApplyT(func(v GetRouteSpecGrpcRoute) []GetRouteSpecGrpcRouteAction { return v.Actions }).(GetRouteSpecGrpcRouteActionArrayOutput) -} - -// Criteria for determining an HTTP request match. -func (o GetRouteSpecGrpcRouteOutput) Matches() GetRouteSpecGrpcRouteMatchArrayOutput { - return o.ApplyT(func(v GetRouteSpecGrpcRoute) []GetRouteSpecGrpcRouteMatch { return v.Matches }).(GetRouteSpecGrpcRouteMatchArrayOutput) -} - -// Retry policy. -func (o GetRouteSpecGrpcRouteOutput) RetryPolicies() GetRouteSpecGrpcRouteRetryPolicyArrayOutput { - return o.ApplyT(func(v GetRouteSpecGrpcRoute) []GetRouteSpecGrpcRouteRetryPolicy { return v.RetryPolicies }).(GetRouteSpecGrpcRouteRetryPolicyArrayOutput) -} - -// Types of timeouts. -func (o GetRouteSpecGrpcRouteOutput) Timeouts() GetRouteSpecGrpcRouteTimeoutArrayOutput { - return o.ApplyT(func(v GetRouteSpecGrpcRoute) []GetRouteSpecGrpcRouteTimeout { return v.Timeouts }).(GetRouteSpecGrpcRouteTimeoutArrayOutput) +func (o GetVirtualGatewaySpecListenerTlValidationTrustSdOutput) SecretName() pulumi.StringOutput { + return o.ApplyT(func(v GetVirtualGatewaySpecListenerTlValidationTrustSd) string { return v.SecretName }).(pulumi.StringOutput) } -type GetRouteSpecGrpcRouteArrayOutput struct{ *pulumi.OutputState } +type GetVirtualGatewaySpecListenerTlValidationTrustSdArrayOutput struct{ *pulumi.OutputState } -func (GetRouteSpecGrpcRouteArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetRouteSpecGrpcRoute)(nil)).Elem() +func (GetVirtualGatewaySpecListenerTlValidationTrustSdArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetVirtualGatewaySpecListenerTlValidationTrustSd)(nil)).Elem() } -func (o GetRouteSpecGrpcRouteArrayOutput) ToGetRouteSpecGrpcRouteArrayOutput() GetRouteSpecGrpcRouteArrayOutput { +func (o GetVirtualGatewaySpecListenerTlValidationTrustSdArrayOutput) ToGetVirtualGatewaySpecListenerTlValidationTrustSdArrayOutput() GetVirtualGatewaySpecListenerTlValidationTrustSdArrayOutput { return o } -func (o GetRouteSpecGrpcRouteArrayOutput) ToGetRouteSpecGrpcRouteArrayOutputWithContext(ctx context.Context) GetRouteSpecGrpcRouteArrayOutput { +func (o GetVirtualGatewaySpecListenerTlValidationTrustSdArrayOutput) ToGetVirtualGatewaySpecListenerTlValidationTrustSdArrayOutputWithContext(ctx context.Context) GetVirtualGatewaySpecListenerTlValidationTrustSdArrayOutput { return o } -func (o GetRouteSpecGrpcRouteArrayOutput) Index(i pulumi.IntInput) GetRouteSpecGrpcRouteOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetRouteSpecGrpcRoute { - return vs[0].([]GetRouteSpecGrpcRoute)[vs[1].(int)] - }).(GetRouteSpecGrpcRouteOutput) +func (o GetVirtualGatewaySpecListenerTlValidationTrustSdArrayOutput) Index(i pulumi.IntInput) GetVirtualGatewaySpecListenerTlValidationTrustSdOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetVirtualGatewaySpecListenerTlValidationTrustSd { + return vs[0].([]GetVirtualGatewaySpecListenerTlValidationTrustSd)[vs[1].(int)] + }).(GetVirtualGatewaySpecListenerTlValidationTrustSdOutput) } -type GetRouteSpecGrpcRouteAction struct { - WeightedTargets []GetRouteSpecGrpcRouteActionWeightedTarget `pulumi:"weightedTargets"` +type GetVirtualGatewaySpecLogging struct { + AccessLogs []GetVirtualGatewaySpecLoggingAccessLog `pulumi:"accessLogs"` } -// GetRouteSpecGrpcRouteActionInput is an input type that accepts GetRouteSpecGrpcRouteActionArgs and GetRouteSpecGrpcRouteActionOutput values. -// You can construct a concrete instance of `GetRouteSpecGrpcRouteActionInput` via: +// GetVirtualGatewaySpecLoggingInput is an input type that accepts GetVirtualGatewaySpecLoggingArgs and GetVirtualGatewaySpecLoggingOutput values. +// You can construct a concrete instance of `GetVirtualGatewaySpecLoggingInput` via: // -// GetRouteSpecGrpcRouteActionArgs{...} -type GetRouteSpecGrpcRouteActionInput interface { +// GetVirtualGatewaySpecLoggingArgs{...} +type GetVirtualGatewaySpecLoggingInput interface { pulumi.Input - ToGetRouteSpecGrpcRouteActionOutput() GetRouteSpecGrpcRouteActionOutput - ToGetRouteSpecGrpcRouteActionOutputWithContext(context.Context) GetRouteSpecGrpcRouteActionOutput + ToGetVirtualGatewaySpecLoggingOutput() GetVirtualGatewaySpecLoggingOutput + ToGetVirtualGatewaySpecLoggingOutputWithContext(context.Context) GetVirtualGatewaySpecLoggingOutput } -type GetRouteSpecGrpcRouteActionArgs struct { - WeightedTargets GetRouteSpecGrpcRouteActionWeightedTargetArrayInput `pulumi:"weightedTargets"` +type GetVirtualGatewaySpecLoggingArgs struct { + AccessLogs GetVirtualGatewaySpecLoggingAccessLogArrayInput `pulumi:"accessLogs"` } -func (GetRouteSpecGrpcRouteActionArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetRouteSpecGrpcRouteAction)(nil)).Elem() +func (GetVirtualGatewaySpecLoggingArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetVirtualGatewaySpecLogging)(nil)).Elem() } -func (i GetRouteSpecGrpcRouteActionArgs) ToGetRouteSpecGrpcRouteActionOutput() GetRouteSpecGrpcRouteActionOutput { - return i.ToGetRouteSpecGrpcRouteActionOutputWithContext(context.Background()) +func (i GetVirtualGatewaySpecLoggingArgs) ToGetVirtualGatewaySpecLoggingOutput() GetVirtualGatewaySpecLoggingOutput { + return i.ToGetVirtualGatewaySpecLoggingOutputWithContext(context.Background()) } -func (i GetRouteSpecGrpcRouteActionArgs) ToGetRouteSpecGrpcRouteActionOutputWithContext(ctx context.Context) GetRouteSpecGrpcRouteActionOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetRouteSpecGrpcRouteActionOutput) +func (i GetVirtualGatewaySpecLoggingArgs) ToGetVirtualGatewaySpecLoggingOutputWithContext(ctx context.Context) GetVirtualGatewaySpecLoggingOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetVirtualGatewaySpecLoggingOutput) } -// GetRouteSpecGrpcRouteActionArrayInput is an input type that accepts GetRouteSpecGrpcRouteActionArray and GetRouteSpecGrpcRouteActionArrayOutput values. -// You can construct a concrete instance of `GetRouteSpecGrpcRouteActionArrayInput` via: +// GetVirtualGatewaySpecLoggingArrayInput is an input type that accepts GetVirtualGatewaySpecLoggingArray and GetVirtualGatewaySpecLoggingArrayOutput values. +// You can construct a concrete instance of `GetVirtualGatewaySpecLoggingArrayInput` via: // -// GetRouteSpecGrpcRouteActionArray{ GetRouteSpecGrpcRouteActionArgs{...} } -type GetRouteSpecGrpcRouteActionArrayInput interface { +// GetVirtualGatewaySpecLoggingArray{ GetVirtualGatewaySpecLoggingArgs{...} } +type GetVirtualGatewaySpecLoggingArrayInput interface { pulumi.Input - ToGetRouteSpecGrpcRouteActionArrayOutput() GetRouteSpecGrpcRouteActionArrayOutput - ToGetRouteSpecGrpcRouteActionArrayOutputWithContext(context.Context) GetRouteSpecGrpcRouteActionArrayOutput + ToGetVirtualGatewaySpecLoggingArrayOutput() GetVirtualGatewaySpecLoggingArrayOutput + ToGetVirtualGatewaySpecLoggingArrayOutputWithContext(context.Context) GetVirtualGatewaySpecLoggingArrayOutput } -type GetRouteSpecGrpcRouteActionArray []GetRouteSpecGrpcRouteActionInput +type GetVirtualGatewaySpecLoggingArray []GetVirtualGatewaySpecLoggingInput -func (GetRouteSpecGrpcRouteActionArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetRouteSpecGrpcRouteAction)(nil)).Elem() +func (GetVirtualGatewaySpecLoggingArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetVirtualGatewaySpecLogging)(nil)).Elem() } -func (i GetRouteSpecGrpcRouteActionArray) ToGetRouteSpecGrpcRouteActionArrayOutput() GetRouteSpecGrpcRouteActionArrayOutput { - return i.ToGetRouteSpecGrpcRouteActionArrayOutputWithContext(context.Background()) +func (i GetVirtualGatewaySpecLoggingArray) ToGetVirtualGatewaySpecLoggingArrayOutput() GetVirtualGatewaySpecLoggingArrayOutput { + return i.ToGetVirtualGatewaySpecLoggingArrayOutputWithContext(context.Background()) } -func (i GetRouteSpecGrpcRouteActionArray) ToGetRouteSpecGrpcRouteActionArrayOutputWithContext(ctx context.Context) GetRouteSpecGrpcRouteActionArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetRouteSpecGrpcRouteActionArrayOutput) +func (i GetVirtualGatewaySpecLoggingArray) ToGetVirtualGatewaySpecLoggingArrayOutputWithContext(ctx context.Context) GetVirtualGatewaySpecLoggingArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetVirtualGatewaySpecLoggingArrayOutput) } -type GetRouteSpecGrpcRouteActionOutput struct{ *pulumi.OutputState } +type GetVirtualGatewaySpecLoggingOutput struct{ *pulumi.OutputState } -func (GetRouteSpecGrpcRouteActionOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetRouteSpecGrpcRouteAction)(nil)).Elem() +func (GetVirtualGatewaySpecLoggingOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetVirtualGatewaySpecLogging)(nil)).Elem() } -func (o GetRouteSpecGrpcRouteActionOutput) ToGetRouteSpecGrpcRouteActionOutput() GetRouteSpecGrpcRouteActionOutput { +func (o GetVirtualGatewaySpecLoggingOutput) ToGetVirtualGatewaySpecLoggingOutput() GetVirtualGatewaySpecLoggingOutput { return o } -func (o GetRouteSpecGrpcRouteActionOutput) ToGetRouteSpecGrpcRouteActionOutputWithContext(ctx context.Context) GetRouteSpecGrpcRouteActionOutput { +func (o GetVirtualGatewaySpecLoggingOutput) ToGetVirtualGatewaySpecLoggingOutputWithContext(ctx context.Context) GetVirtualGatewaySpecLoggingOutput { return o } -func (o GetRouteSpecGrpcRouteActionOutput) WeightedTargets() GetRouteSpecGrpcRouteActionWeightedTargetArrayOutput { - return o.ApplyT(func(v GetRouteSpecGrpcRouteAction) []GetRouteSpecGrpcRouteActionWeightedTarget { - return v.WeightedTargets - }).(GetRouteSpecGrpcRouteActionWeightedTargetArrayOutput) +func (o GetVirtualGatewaySpecLoggingOutput) AccessLogs() GetVirtualGatewaySpecLoggingAccessLogArrayOutput { + return o.ApplyT(func(v GetVirtualGatewaySpecLogging) []GetVirtualGatewaySpecLoggingAccessLog { return v.AccessLogs }).(GetVirtualGatewaySpecLoggingAccessLogArrayOutput) } -type GetRouteSpecGrpcRouteActionArrayOutput struct{ *pulumi.OutputState } +type GetVirtualGatewaySpecLoggingArrayOutput struct{ *pulumi.OutputState } -func (GetRouteSpecGrpcRouteActionArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetRouteSpecGrpcRouteAction)(nil)).Elem() +func (GetVirtualGatewaySpecLoggingArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetVirtualGatewaySpecLogging)(nil)).Elem() } -func (o GetRouteSpecGrpcRouteActionArrayOutput) ToGetRouteSpecGrpcRouteActionArrayOutput() GetRouteSpecGrpcRouteActionArrayOutput { +func (o GetVirtualGatewaySpecLoggingArrayOutput) ToGetVirtualGatewaySpecLoggingArrayOutput() GetVirtualGatewaySpecLoggingArrayOutput { return o } -func (o GetRouteSpecGrpcRouteActionArrayOutput) ToGetRouteSpecGrpcRouteActionArrayOutputWithContext(ctx context.Context) GetRouteSpecGrpcRouteActionArrayOutput { +func (o GetVirtualGatewaySpecLoggingArrayOutput) ToGetVirtualGatewaySpecLoggingArrayOutputWithContext(ctx context.Context) GetVirtualGatewaySpecLoggingArrayOutput { return o } -func (o GetRouteSpecGrpcRouteActionArrayOutput) Index(i pulumi.IntInput) GetRouteSpecGrpcRouteActionOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetRouteSpecGrpcRouteAction { - return vs[0].([]GetRouteSpecGrpcRouteAction)[vs[1].(int)] - }).(GetRouteSpecGrpcRouteActionOutput) +func (o GetVirtualGatewaySpecLoggingArrayOutput) Index(i pulumi.IntInput) GetVirtualGatewaySpecLoggingOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetVirtualGatewaySpecLogging { + return vs[0].([]GetVirtualGatewaySpecLogging)[vs[1].(int)] + }).(GetVirtualGatewaySpecLoggingOutput) } -type GetRouteSpecGrpcRouteActionWeightedTarget struct { - Port int `pulumi:"port"` - VirtualNode string `pulumi:"virtualNode"` - Weight int `pulumi:"weight"` +type GetVirtualGatewaySpecLoggingAccessLog struct { + Files []GetVirtualGatewaySpecLoggingAccessLogFile `pulumi:"files"` } -// GetRouteSpecGrpcRouteActionWeightedTargetInput is an input type that accepts GetRouteSpecGrpcRouteActionWeightedTargetArgs and GetRouteSpecGrpcRouteActionWeightedTargetOutput values. -// You can construct a concrete instance of `GetRouteSpecGrpcRouteActionWeightedTargetInput` via: +// GetVirtualGatewaySpecLoggingAccessLogInput is an input type that accepts GetVirtualGatewaySpecLoggingAccessLogArgs and GetVirtualGatewaySpecLoggingAccessLogOutput values. +// You can construct a concrete instance of `GetVirtualGatewaySpecLoggingAccessLogInput` via: // -// GetRouteSpecGrpcRouteActionWeightedTargetArgs{...} -type GetRouteSpecGrpcRouteActionWeightedTargetInput interface { +// GetVirtualGatewaySpecLoggingAccessLogArgs{...} +type GetVirtualGatewaySpecLoggingAccessLogInput interface { pulumi.Input - ToGetRouteSpecGrpcRouteActionWeightedTargetOutput() GetRouteSpecGrpcRouteActionWeightedTargetOutput - ToGetRouteSpecGrpcRouteActionWeightedTargetOutputWithContext(context.Context) GetRouteSpecGrpcRouteActionWeightedTargetOutput + ToGetVirtualGatewaySpecLoggingAccessLogOutput() GetVirtualGatewaySpecLoggingAccessLogOutput + ToGetVirtualGatewaySpecLoggingAccessLogOutputWithContext(context.Context) GetVirtualGatewaySpecLoggingAccessLogOutput } -type GetRouteSpecGrpcRouteActionWeightedTargetArgs struct { - Port pulumi.IntInput `pulumi:"port"` - VirtualNode pulumi.StringInput `pulumi:"virtualNode"` - Weight pulumi.IntInput `pulumi:"weight"` +type GetVirtualGatewaySpecLoggingAccessLogArgs struct { + Files GetVirtualGatewaySpecLoggingAccessLogFileArrayInput `pulumi:"files"` } -func (GetRouteSpecGrpcRouteActionWeightedTargetArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetRouteSpecGrpcRouteActionWeightedTarget)(nil)).Elem() +func (GetVirtualGatewaySpecLoggingAccessLogArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetVirtualGatewaySpecLoggingAccessLog)(nil)).Elem() } -func (i GetRouteSpecGrpcRouteActionWeightedTargetArgs) ToGetRouteSpecGrpcRouteActionWeightedTargetOutput() GetRouteSpecGrpcRouteActionWeightedTargetOutput { - return i.ToGetRouteSpecGrpcRouteActionWeightedTargetOutputWithContext(context.Background()) +func (i GetVirtualGatewaySpecLoggingAccessLogArgs) ToGetVirtualGatewaySpecLoggingAccessLogOutput() GetVirtualGatewaySpecLoggingAccessLogOutput { + return i.ToGetVirtualGatewaySpecLoggingAccessLogOutputWithContext(context.Background()) } -func (i GetRouteSpecGrpcRouteActionWeightedTargetArgs) ToGetRouteSpecGrpcRouteActionWeightedTargetOutputWithContext(ctx context.Context) GetRouteSpecGrpcRouteActionWeightedTargetOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetRouteSpecGrpcRouteActionWeightedTargetOutput) +func (i GetVirtualGatewaySpecLoggingAccessLogArgs) ToGetVirtualGatewaySpecLoggingAccessLogOutputWithContext(ctx context.Context) GetVirtualGatewaySpecLoggingAccessLogOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetVirtualGatewaySpecLoggingAccessLogOutput) } -// GetRouteSpecGrpcRouteActionWeightedTargetArrayInput is an input type that accepts GetRouteSpecGrpcRouteActionWeightedTargetArray and GetRouteSpecGrpcRouteActionWeightedTargetArrayOutput values. -// You can construct a concrete instance of `GetRouteSpecGrpcRouteActionWeightedTargetArrayInput` via: +// GetVirtualGatewaySpecLoggingAccessLogArrayInput is an input type that accepts GetVirtualGatewaySpecLoggingAccessLogArray and GetVirtualGatewaySpecLoggingAccessLogArrayOutput values. +// You can construct a concrete instance of `GetVirtualGatewaySpecLoggingAccessLogArrayInput` via: // -// GetRouteSpecGrpcRouteActionWeightedTargetArray{ GetRouteSpecGrpcRouteActionWeightedTargetArgs{...} } -type GetRouteSpecGrpcRouteActionWeightedTargetArrayInput interface { +// GetVirtualGatewaySpecLoggingAccessLogArray{ GetVirtualGatewaySpecLoggingAccessLogArgs{...} } +type GetVirtualGatewaySpecLoggingAccessLogArrayInput interface { pulumi.Input - ToGetRouteSpecGrpcRouteActionWeightedTargetArrayOutput() GetRouteSpecGrpcRouteActionWeightedTargetArrayOutput - ToGetRouteSpecGrpcRouteActionWeightedTargetArrayOutputWithContext(context.Context) GetRouteSpecGrpcRouteActionWeightedTargetArrayOutput + ToGetVirtualGatewaySpecLoggingAccessLogArrayOutput() GetVirtualGatewaySpecLoggingAccessLogArrayOutput + ToGetVirtualGatewaySpecLoggingAccessLogArrayOutputWithContext(context.Context) GetVirtualGatewaySpecLoggingAccessLogArrayOutput } -type GetRouteSpecGrpcRouteActionWeightedTargetArray []GetRouteSpecGrpcRouteActionWeightedTargetInput +type GetVirtualGatewaySpecLoggingAccessLogArray []GetVirtualGatewaySpecLoggingAccessLogInput -func (GetRouteSpecGrpcRouteActionWeightedTargetArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetRouteSpecGrpcRouteActionWeightedTarget)(nil)).Elem() +func (GetVirtualGatewaySpecLoggingAccessLogArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetVirtualGatewaySpecLoggingAccessLog)(nil)).Elem() } -func (i GetRouteSpecGrpcRouteActionWeightedTargetArray) ToGetRouteSpecGrpcRouteActionWeightedTargetArrayOutput() GetRouteSpecGrpcRouteActionWeightedTargetArrayOutput { - return i.ToGetRouteSpecGrpcRouteActionWeightedTargetArrayOutputWithContext(context.Background()) +func (i GetVirtualGatewaySpecLoggingAccessLogArray) ToGetVirtualGatewaySpecLoggingAccessLogArrayOutput() GetVirtualGatewaySpecLoggingAccessLogArrayOutput { + return i.ToGetVirtualGatewaySpecLoggingAccessLogArrayOutputWithContext(context.Background()) } -func (i GetRouteSpecGrpcRouteActionWeightedTargetArray) ToGetRouteSpecGrpcRouteActionWeightedTargetArrayOutputWithContext(ctx context.Context) GetRouteSpecGrpcRouteActionWeightedTargetArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetRouteSpecGrpcRouteActionWeightedTargetArrayOutput) +func (i GetVirtualGatewaySpecLoggingAccessLogArray) ToGetVirtualGatewaySpecLoggingAccessLogArrayOutputWithContext(ctx context.Context) GetVirtualGatewaySpecLoggingAccessLogArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetVirtualGatewaySpecLoggingAccessLogArrayOutput) } -type GetRouteSpecGrpcRouteActionWeightedTargetOutput struct{ *pulumi.OutputState } +type GetVirtualGatewaySpecLoggingAccessLogOutput struct{ *pulumi.OutputState } -func (GetRouteSpecGrpcRouteActionWeightedTargetOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetRouteSpecGrpcRouteActionWeightedTarget)(nil)).Elem() +func (GetVirtualGatewaySpecLoggingAccessLogOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetVirtualGatewaySpecLoggingAccessLog)(nil)).Elem() } -func (o GetRouteSpecGrpcRouteActionWeightedTargetOutput) ToGetRouteSpecGrpcRouteActionWeightedTargetOutput() GetRouteSpecGrpcRouteActionWeightedTargetOutput { +func (o GetVirtualGatewaySpecLoggingAccessLogOutput) ToGetVirtualGatewaySpecLoggingAccessLogOutput() GetVirtualGatewaySpecLoggingAccessLogOutput { return o } -func (o GetRouteSpecGrpcRouteActionWeightedTargetOutput) ToGetRouteSpecGrpcRouteActionWeightedTargetOutputWithContext(ctx context.Context) GetRouteSpecGrpcRouteActionWeightedTargetOutput { +func (o GetVirtualGatewaySpecLoggingAccessLogOutput) ToGetVirtualGatewaySpecLoggingAccessLogOutputWithContext(ctx context.Context) GetVirtualGatewaySpecLoggingAccessLogOutput { return o } -func (o GetRouteSpecGrpcRouteActionWeightedTargetOutput) Port() pulumi.IntOutput { - return o.ApplyT(func(v GetRouteSpecGrpcRouteActionWeightedTarget) int { return v.Port }).(pulumi.IntOutput) -} - -func (o GetRouteSpecGrpcRouteActionWeightedTargetOutput) VirtualNode() pulumi.StringOutput { - return o.ApplyT(func(v GetRouteSpecGrpcRouteActionWeightedTarget) string { return v.VirtualNode }).(pulumi.StringOutput) -} - -func (o GetRouteSpecGrpcRouteActionWeightedTargetOutput) Weight() pulumi.IntOutput { - return o.ApplyT(func(v GetRouteSpecGrpcRouteActionWeightedTarget) int { return v.Weight }).(pulumi.IntOutput) +func (o GetVirtualGatewaySpecLoggingAccessLogOutput) Files() GetVirtualGatewaySpecLoggingAccessLogFileArrayOutput { + return o.ApplyT(func(v GetVirtualGatewaySpecLoggingAccessLog) []GetVirtualGatewaySpecLoggingAccessLogFile { + return v.Files + }).(GetVirtualGatewaySpecLoggingAccessLogFileArrayOutput) } -type GetRouteSpecGrpcRouteActionWeightedTargetArrayOutput struct{ *pulumi.OutputState } +type GetVirtualGatewaySpecLoggingAccessLogArrayOutput struct{ *pulumi.OutputState } -func (GetRouteSpecGrpcRouteActionWeightedTargetArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetRouteSpecGrpcRouteActionWeightedTarget)(nil)).Elem() +func (GetVirtualGatewaySpecLoggingAccessLogArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetVirtualGatewaySpecLoggingAccessLog)(nil)).Elem() } -func (o GetRouteSpecGrpcRouteActionWeightedTargetArrayOutput) ToGetRouteSpecGrpcRouteActionWeightedTargetArrayOutput() GetRouteSpecGrpcRouteActionWeightedTargetArrayOutput { +func (o GetVirtualGatewaySpecLoggingAccessLogArrayOutput) ToGetVirtualGatewaySpecLoggingAccessLogArrayOutput() GetVirtualGatewaySpecLoggingAccessLogArrayOutput { return o } -func (o GetRouteSpecGrpcRouteActionWeightedTargetArrayOutput) ToGetRouteSpecGrpcRouteActionWeightedTargetArrayOutputWithContext(ctx context.Context) GetRouteSpecGrpcRouteActionWeightedTargetArrayOutput { +func (o GetVirtualGatewaySpecLoggingAccessLogArrayOutput) ToGetVirtualGatewaySpecLoggingAccessLogArrayOutputWithContext(ctx context.Context) GetVirtualGatewaySpecLoggingAccessLogArrayOutput { return o } -func (o GetRouteSpecGrpcRouteActionWeightedTargetArrayOutput) Index(i pulumi.IntInput) GetRouteSpecGrpcRouteActionWeightedTargetOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetRouteSpecGrpcRouteActionWeightedTarget { - return vs[0].([]GetRouteSpecGrpcRouteActionWeightedTarget)[vs[1].(int)] - }).(GetRouteSpecGrpcRouteActionWeightedTargetOutput) +func (o GetVirtualGatewaySpecLoggingAccessLogArrayOutput) Index(i pulumi.IntInput) GetVirtualGatewaySpecLoggingAccessLogOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetVirtualGatewaySpecLoggingAccessLog { + return vs[0].([]GetVirtualGatewaySpecLoggingAccessLog)[vs[1].(int)] + }).(GetVirtualGatewaySpecLoggingAccessLogOutput) } -type GetRouteSpecGrpcRouteMatch struct { - Metadatas []GetRouteSpecGrpcRouteMatchMetadata `pulumi:"metadatas"` - MethodName string `pulumi:"methodName"` - Port int `pulumi:"port"` - Prefix string `pulumi:"prefix"` - ServiceName string `pulumi:"serviceName"` +type GetVirtualGatewaySpecLoggingAccessLogFile struct { + Formats []GetVirtualGatewaySpecLoggingAccessLogFileFormat `pulumi:"formats"` + Path string `pulumi:"path"` } -// GetRouteSpecGrpcRouteMatchInput is an input type that accepts GetRouteSpecGrpcRouteMatchArgs and GetRouteSpecGrpcRouteMatchOutput values. -// You can construct a concrete instance of `GetRouteSpecGrpcRouteMatchInput` via: +// GetVirtualGatewaySpecLoggingAccessLogFileInput is an input type that accepts GetVirtualGatewaySpecLoggingAccessLogFileArgs and GetVirtualGatewaySpecLoggingAccessLogFileOutput values. +// You can construct a concrete instance of `GetVirtualGatewaySpecLoggingAccessLogFileInput` via: // -// GetRouteSpecGrpcRouteMatchArgs{...} -type GetRouteSpecGrpcRouteMatchInput interface { +// GetVirtualGatewaySpecLoggingAccessLogFileArgs{...} +type GetVirtualGatewaySpecLoggingAccessLogFileInput interface { pulumi.Input - ToGetRouteSpecGrpcRouteMatchOutput() GetRouteSpecGrpcRouteMatchOutput - ToGetRouteSpecGrpcRouteMatchOutputWithContext(context.Context) GetRouteSpecGrpcRouteMatchOutput + ToGetVirtualGatewaySpecLoggingAccessLogFileOutput() GetVirtualGatewaySpecLoggingAccessLogFileOutput + ToGetVirtualGatewaySpecLoggingAccessLogFileOutputWithContext(context.Context) GetVirtualGatewaySpecLoggingAccessLogFileOutput } -type GetRouteSpecGrpcRouteMatchArgs struct { - Metadatas GetRouteSpecGrpcRouteMatchMetadataArrayInput `pulumi:"metadatas"` - MethodName pulumi.StringInput `pulumi:"methodName"` - Port pulumi.IntInput `pulumi:"port"` - Prefix pulumi.StringInput `pulumi:"prefix"` - ServiceName pulumi.StringInput `pulumi:"serviceName"` +type GetVirtualGatewaySpecLoggingAccessLogFileArgs struct { + Formats GetVirtualGatewaySpecLoggingAccessLogFileFormatArrayInput `pulumi:"formats"` + Path pulumi.StringInput `pulumi:"path"` } -func (GetRouteSpecGrpcRouteMatchArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetRouteSpecGrpcRouteMatch)(nil)).Elem() +func (GetVirtualGatewaySpecLoggingAccessLogFileArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetVirtualGatewaySpecLoggingAccessLogFile)(nil)).Elem() } -func (i GetRouteSpecGrpcRouteMatchArgs) ToGetRouteSpecGrpcRouteMatchOutput() GetRouteSpecGrpcRouteMatchOutput { - return i.ToGetRouteSpecGrpcRouteMatchOutputWithContext(context.Background()) +func (i GetVirtualGatewaySpecLoggingAccessLogFileArgs) ToGetVirtualGatewaySpecLoggingAccessLogFileOutput() GetVirtualGatewaySpecLoggingAccessLogFileOutput { + return i.ToGetVirtualGatewaySpecLoggingAccessLogFileOutputWithContext(context.Background()) } -func (i GetRouteSpecGrpcRouteMatchArgs) ToGetRouteSpecGrpcRouteMatchOutputWithContext(ctx context.Context) GetRouteSpecGrpcRouteMatchOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetRouteSpecGrpcRouteMatchOutput) +func (i GetVirtualGatewaySpecLoggingAccessLogFileArgs) ToGetVirtualGatewaySpecLoggingAccessLogFileOutputWithContext(ctx context.Context) GetVirtualGatewaySpecLoggingAccessLogFileOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetVirtualGatewaySpecLoggingAccessLogFileOutput) } -// GetRouteSpecGrpcRouteMatchArrayInput is an input type that accepts GetRouteSpecGrpcRouteMatchArray and GetRouteSpecGrpcRouteMatchArrayOutput values. -// You can construct a concrete instance of `GetRouteSpecGrpcRouteMatchArrayInput` via: +// GetVirtualGatewaySpecLoggingAccessLogFileArrayInput is an input type that accepts GetVirtualGatewaySpecLoggingAccessLogFileArray and GetVirtualGatewaySpecLoggingAccessLogFileArrayOutput values. +// You can construct a concrete instance of `GetVirtualGatewaySpecLoggingAccessLogFileArrayInput` via: // -// GetRouteSpecGrpcRouteMatchArray{ GetRouteSpecGrpcRouteMatchArgs{...} } -type GetRouteSpecGrpcRouteMatchArrayInput interface { +// GetVirtualGatewaySpecLoggingAccessLogFileArray{ GetVirtualGatewaySpecLoggingAccessLogFileArgs{...} } +type GetVirtualGatewaySpecLoggingAccessLogFileArrayInput interface { pulumi.Input - ToGetRouteSpecGrpcRouteMatchArrayOutput() GetRouteSpecGrpcRouteMatchArrayOutput - ToGetRouteSpecGrpcRouteMatchArrayOutputWithContext(context.Context) GetRouteSpecGrpcRouteMatchArrayOutput + ToGetVirtualGatewaySpecLoggingAccessLogFileArrayOutput() GetVirtualGatewaySpecLoggingAccessLogFileArrayOutput + ToGetVirtualGatewaySpecLoggingAccessLogFileArrayOutputWithContext(context.Context) GetVirtualGatewaySpecLoggingAccessLogFileArrayOutput } -type GetRouteSpecGrpcRouteMatchArray []GetRouteSpecGrpcRouteMatchInput +type GetVirtualGatewaySpecLoggingAccessLogFileArray []GetVirtualGatewaySpecLoggingAccessLogFileInput -func (GetRouteSpecGrpcRouteMatchArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetRouteSpecGrpcRouteMatch)(nil)).Elem() +func (GetVirtualGatewaySpecLoggingAccessLogFileArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetVirtualGatewaySpecLoggingAccessLogFile)(nil)).Elem() } -func (i GetRouteSpecGrpcRouteMatchArray) ToGetRouteSpecGrpcRouteMatchArrayOutput() GetRouteSpecGrpcRouteMatchArrayOutput { - return i.ToGetRouteSpecGrpcRouteMatchArrayOutputWithContext(context.Background()) +func (i GetVirtualGatewaySpecLoggingAccessLogFileArray) ToGetVirtualGatewaySpecLoggingAccessLogFileArrayOutput() GetVirtualGatewaySpecLoggingAccessLogFileArrayOutput { + return i.ToGetVirtualGatewaySpecLoggingAccessLogFileArrayOutputWithContext(context.Background()) } -func (i GetRouteSpecGrpcRouteMatchArray) ToGetRouteSpecGrpcRouteMatchArrayOutputWithContext(ctx context.Context) GetRouteSpecGrpcRouteMatchArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetRouteSpecGrpcRouteMatchArrayOutput) +func (i GetVirtualGatewaySpecLoggingAccessLogFileArray) ToGetVirtualGatewaySpecLoggingAccessLogFileArrayOutputWithContext(ctx context.Context) GetVirtualGatewaySpecLoggingAccessLogFileArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetVirtualGatewaySpecLoggingAccessLogFileArrayOutput) } -type GetRouteSpecGrpcRouteMatchOutput struct{ *pulumi.OutputState } +type GetVirtualGatewaySpecLoggingAccessLogFileOutput struct{ *pulumi.OutputState } -func (GetRouteSpecGrpcRouteMatchOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetRouteSpecGrpcRouteMatch)(nil)).Elem() +func (GetVirtualGatewaySpecLoggingAccessLogFileOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetVirtualGatewaySpecLoggingAccessLogFile)(nil)).Elem() } -func (o GetRouteSpecGrpcRouteMatchOutput) ToGetRouteSpecGrpcRouteMatchOutput() GetRouteSpecGrpcRouteMatchOutput { +func (o GetVirtualGatewaySpecLoggingAccessLogFileOutput) ToGetVirtualGatewaySpecLoggingAccessLogFileOutput() GetVirtualGatewaySpecLoggingAccessLogFileOutput { return o } -func (o GetRouteSpecGrpcRouteMatchOutput) ToGetRouteSpecGrpcRouteMatchOutputWithContext(ctx context.Context) GetRouteSpecGrpcRouteMatchOutput { +func (o GetVirtualGatewaySpecLoggingAccessLogFileOutput) ToGetVirtualGatewaySpecLoggingAccessLogFileOutputWithContext(ctx context.Context) GetVirtualGatewaySpecLoggingAccessLogFileOutput { return o } -func (o GetRouteSpecGrpcRouteMatchOutput) Metadatas() GetRouteSpecGrpcRouteMatchMetadataArrayOutput { - return o.ApplyT(func(v GetRouteSpecGrpcRouteMatch) []GetRouteSpecGrpcRouteMatchMetadata { return v.Metadatas }).(GetRouteSpecGrpcRouteMatchMetadataArrayOutput) -} - -func (o GetRouteSpecGrpcRouteMatchOutput) MethodName() pulumi.StringOutput { - return o.ApplyT(func(v GetRouteSpecGrpcRouteMatch) string { return v.MethodName }).(pulumi.StringOutput) -} - -func (o GetRouteSpecGrpcRouteMatchOutput) Port() pulumi.IntOutput { - return o.ApplyT(func(v GetRouteSpecGrpcRouteMatch) int { return v.Port }).(pulumi.IntOutput) -} - -func (o GetRouteSpecGrpcRouteMatchOutput) Prefix() pulumi.StringOutput { - return o.ApplyT(func(v GetRouteSpecGrpcRouteMatch) string { return v.Prefix }).(pulumi.StringOutput) +func (o GetVirtualGatewaySpecLoggingAccessLogFileOutput) Formats() GetVirtualGatewaySpecLoggingAccessLogFileFormatArrayOutput { + return o.ApplyT(func(v GetVirtualGatewaySpecLoggingAccessLogFile) []GetVirtualGatewaySpecLoggingAccessLogFileFormat { + return v.Formats + }).(GetVirtualGatewaySpecLoggingAccessLogFileFormatArrayOutput) } -func (o GetRouteSpecGrpcRouteMatchOutput) ServiceName() pulumi.StringOutput { - return o.ApplyT(func(v GetRouteSpecGrpcRouteMatch) string { return v.ServiceName }).(pulumi.StringOutput) +func (o GetVirtualGatewaySpecLoggingAccessLogFileOutput) Path() pulumi.StringOutput { + return o.ApplyT(func(v GetVirtualGatewaySpecLoggingAccessLogFile) string { return v.Path }).(pulumi.StringOutput) } -type GetRouteSpecGrpcRouteMatchArrayOutput struct{ *pulumi.OutputState } +type GetVirtualGatewaySpecLoggingAccessLogFileArrayOutput struct{ *pulumi.OutputState } -func (GetRouteSpecGrpcRouteMatchArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetRouteSpecGrpcRouteMatch)(nil)).Elem() +func (GetVirtualGatewaySpecLoggingAccessLogFileArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetVirtualGatewaySpecLoggingAccessLogFile)(nil)).Elem() } -func (o GetRouteSpecGrpcRouteMatchArrayOutput) ToGetRouteSpecGrpcRouteMatchArrayOutput() GetRouteSpecGrpcRouteMatchArrayOutput { +func (o GetVirtualGatewaySpecLoggingAccessLogFileArrayOutput) ToGetVirtualGatewaySpecLoggingAccessLogFileArrayOutput() GetVirtualGatewaySpecLoggingAccessLogFileArrayOutput { return o } -func (o GetRouteSpecGrpcRouteMatchArrayOutput) ToGetRouteSpecGrpcRouteMatchArrayOutputWithContext(ctx context.Context) GetRouteSpecGrpcRouteMatchArrayOutput { +func (o GetVirtualGatewaySpecLoggingAccessLogFileArrayOutput) ToGetVirtualGatewaySpecLoggingAccessLogFileArrayOutputWithContext(ctx context.Context) GetVirtualGatewaySpecLoggingAccessLogFileArrayOutput { return o } -func (o GetRouteSpecGrpcRouteMatchArrayOutput) Index(i pulumi.IntInput) GetRouteSpecGrpcRouteMatchOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetRouteSpecGrpcRouteMatch { - return vs[0].([]GetRouteSpecGrpcRouteMatch)[vs[1].(int)] - }).(GetRouteSpecGrpcRouteMatchOutput) +func (o GetVirtualGatewaySpecLoggingAccessLogFileArrayOutput) Index(i pulumi.IntInput) GetVirtualGatewaySpecLoggingAccessLogFileOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetVirtualGatewaySpecLoggingAccessLogFile { + return vs[0].([]GetVirtualGatewaySpecLoggingAccessLogFile)[vs[1].(int)] + }).(GetVirtualGatewaySpecLoggingAccessLogFileOutput) } -type GetRouteSpecGrpcRouteMatchMetadata struct { - Invert bool `pulumi:"invert"` - // Criteria for determining an HTTP request match. - Matches []GetRouteSpecGrpcRouteMatchMetadataMatch `pulumi:"matches"` - // Name of the route. - Name string `pulumi:"name"` +type GetVirtualGatewaySpecLoggingAccessLogFileFormat struct { + Jsons []GetVirtualGatewaySpecLoggingAccessLogFileFormatJson `pulumi:"jsons"` + Text string `pulumi:"text"` } -// GetRouteSpecGrpcRouteMatchMetadataInput is an input type that accepts GetRouteSpecGrpcRouteMatchMetadataArgs and GetRouteSpecGrpcRouteMatchMetadataOutput values. -// You can construct a concrete instance of `GetRouteSpecGrpcRouteMatchMetadataInput` via: +// GetVirtualGatewaySpecLoggingAccessLogFileFormatInput is an input type that accepts GetVirtualGatewaySpecLoggingAccessLogFileFormatArgs and GetVirtualGatewaySpecLoggingAccessLogFileFormatOutput values. +// You can construct a concrete instance of `GetVirtualGatewaySpecLoggingAccessLogFileFormatInput` via: // -// GetRouteSpecGrpcRouteMatchMetadataArgs{...} -type GetRouteSpecGrpcRouteMatchMetadataInput interface { +// GetVirtualGatewaySpecLoggingAccessLogFileFormatArgs{...} +type GetVirtualGatewaySpecLoggingAccessLogFileFormatInput interface { pulumi.Input - ToGetRouteSpecGrpcRouteMatchMetadataOutput() GetRouteSpecGrpcRouteMatchMetadataOutput - ToGetRouteSpecGrpcRouteMatchMetadataOutputWithContext(context.Context) GetRouteSpecGrpcRouteMatchMetadataOutput + ToGetVirtualGatewaySpecLoggingAccessLogFileFormatOutput() GetVirtualGatewaySpecLoggingAccessLogFileFormatOutput + ToGetVirtualGatewaySpecLoggingAccessLogFileFormatOutputWithContext(context.Context) GetVirtualGatewaySpecLoggingAccessLogFileFormatOutput } -type GetRouteSpecGrpcRouteMatchMetadataArgs struct { - Invert pulumi.BoolInput `pulumi:"invert"` - // Criteria for determining an HTTP request match. - Matches GetRouteSpecGrpcRouteMatchMetadataMatchArrayInput `pulumi:"matches"` - // Name of the route. - Name pulumi.StringInput `pulumi:"name"` +type GetVirtualGatewaySpecLoggingAccessLogFileFormatArgs struct { + Jsons GetVirtualGatewaySpecLoggingAccessLogFileFormatJsonArrayInput `pulumi:"jsons"` + Text pulumi.StringInput `pulumi:"text"` } -func (GetRouteSpecGrpcRouteMatchMetadataArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetRouteSpecGrpcRouteMatchMetadata)(nil)).Elem() +func (GetVirtualGatewaySpecLoggingAccessLogFileFormatArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetVirtualGatewaySpecLoggingAccessLogFileFormat)(nil)).Elem() } -func (i GetRouteSpecGrpcRouteMatchMetadataArgs) ToGetRouteSpecGrpcRouteMatchMetadataOutput() GetRouteSpecGrpcRouteMatchMetadataOutput { - return i.ToGetRouteSpecGrpcRouteMatchMetadataOutputWithContext(context.Background()) +func (i GetVirtualGatewaySpecLoggingAccessLogFileFormatArgs) ToGetVirtualGatewaySpecLoggingAccessLogFileFormatOutput() GetVirtualGatewaySpecLoggingAccessLogFileFormatOutput { + return i.ToGetVirtualGatewaySpecLoggingAccessLogFileFormatOutputWithContext(context.Background()) } -func (i GetRouteSpecGrpcRouteMatchMetadataArgs) ToGetRouteSpecGrpcRouteMatchMetadataOutputWithContext(ctx context.Context) GetRouteSpecGrpcRouteMatchMetadataOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetRouteSpecGrpcRouteMatchMetadataOutput) +func (i GetVirtualGatewaySpecLoggingAccessLogFileFormatArgs) ToGetVirtualGatewaySpecLoggingAccessLogFileFormatOutputWithContext(ctx context.Context) GetVirtualGatewaySpecLoggingAccessLogFileFormatOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetVirtualGatewaySpecLoggingAccessLogFileFormatOutput) } -// GetRouteSpecGrpcRouteMatchMetadataArrayInput is an input type that accepts GetRouteSpecGrpcRouteMatchMetadataArray and GetRouteSpecGrpcRouteMatchMetadataArrayOutput values. -// You can construct a concrete instance of `GetRouteSpecGrpcRouteMatchMetadataArrayInput` via: +// GetVirtualGatewaySpecLoggingAccessLogFileFormatArrayInput is an input type that accepts GetVirtualGatewaySpecLoggingAccessLogFileFormatArray and GetVirtualGatewaySpecLoggingAccessLogFileFormatArrayOutput values. +// You can construct a concrete instance of `GetVirtualGatewaySpecLoggingAccessLogFileFormatArrayInput` via: // -// GetRouteSpecGrpcRouteMatchMetadataArray{ GetRouteSpecGrpcRouteMatchMetadataArgs{...} } -type GetRouteSpecGrpcRouteMatchMetadataArrayInput interface { +// GetVirtualGatewaySpecLoggingAccessLogFileFormatArray{ GetVirtualGatewaySpecLoggingAccessLogFileFormatArgs{...} } +type GetVirtualGatewaySpecLoggingAccessLogFileFormatArrayInput interface { pulumi.Input - ToGetRouteSpecGrpcRouteMatchMetadataArrayOutput() GetRouteSpecGrpcRouteMatchMetadataArrayOutput - ToGetRouteSpecGrpcRouteMatchMetadataArrayOutputWithContext(context.Context) GetRouteSpecGrpcRouteMatchMetadataArrayOutput + ToGetVirtualGatewaySpecLoggingAccessLogFileFormatArrayOutput() GetVirtualGatewaySpecLoggingAccessLogFileFormatArrayOutput + ToGetVirtualGatewaySpecLoggingAccessLogFileFormatArrayOutputWithContext(context.Context) GetVirtualGatewaySpecLoggingAccessLogFileFormatArrayOutput } -type GetRouteSpecGrpcRouteMatchMetadataArray []GetRouteSpecGrpcRouteMatchMetadataInput +type GetVirtualGatewaySpecLoggingAccessLogFileFormatArray []GetVirtualGatewaySpecLoggingAccessLogFileFormatInput -func (GetRouteSpecGrpcRouteMatchMetadataArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetRouteSpecGrpcRouteMatchMetadata)(nil)).Elem() +func (GetVirtualGatewaySpecLoggingAccessLogFileFormatArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetVirtualGatewaySpecLoggingAccessLogFileFormat)(nil)).Elem() } -func (i GetRouteSpecGrpcRouteMatchMetadataArray) ToGetRouteSpecGrpcRouteMatchMetadataArrayOutput() GetRouteSpecGrpcRouteMatchMetadataArrayOutput { - return i.ToGetRouteSpecGrpcRouteMatchMetadataArrayOutputWithContext(context.Background()) +func (i GetVirtualGatewaySpecLoggingAccessLogFileFormatArray) ToGetVirtualGatewaySpecLoggingAccessLogFileFormatArrayOutput() GetVirtualGatewaySpecLoggingAccessLogFileFormatArrayOutput { + return i.ToGetVirtualGatewaySpecLoggingAccessLogFileFormatArrayOutputWithContext(context.Background()) } -func (i GetRouteSpecGrpcRouteMatchMetadataArray) ToGetRouteSpecGrpcRouteMatchMetadataArrayOutputWithContext(ctx context.Context) GetRouteSpecGrpcRouteMatchMetadataArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetRouteSpecGrpcRouteMatchMetadataArrayOutput) +func (i GetVirtualGatewaySpecLoggingAccessLogFileFormatArray) ToGetVirtualGatewaySpecLoggingAccessLogFileFormatArrayOutputWithContext(ctx context.Context) GetVirtualGatewaySpecLoggingAccessLogFileFormatArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetVirtualGatewaySpecLoggingAccessLogFileFormatArrayOutput) } -type GetRouteSpecGrpcRouteMatchMetadataOutput struct{ *pulumi.OutputState } +type GetVirtualGatewaySpecLoggingAccessLogFileFormatOutput struct{ *pulumi.OutputState } -func (GetRouteSpecGrpcRouteMatchMetadataOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetRouteSpecGrpcRouteMatchMetadata)(nil)).Elem() +func (GetVirtualGatewaySpecLoggingAccessLogFileFormatOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetVirtualGatewaySpecLoggingAccessLogFileFormat)(nil)).Elem() } -func (o GetRouteSpecGrpcRouteMatchMetadataOutput) ToGetRouteSpecGrpcRouteMatchMetadataOutput() GetRouteSpecGrpcRouteMatchMetadataOutput { +func (o GetVirtualGatewaySpecLoggingAccessLogFileFormatOutput) ToGetVirtualGatewaySpecLoggingAccessLogFileFormatOutput() GetVirtualGatewaySpecLoggingAccessLogFileFormatOutput { return o } -func (o GetRouteSpecGrpcRouteMatchMetadataOutput) ToGetRouteSpecGrpcRouteMatchMetadataOutputWithContext(ctx context.Context) GetRouteSpecGrpcRouteMatchMetadataOutput { +func (o GetVirtualGatewaySpecLoggingAccessLogFileFormatOutput) ToGetVirtualGatewaySpecLoggingAccessLogFileFormatOutputWithContext(ctx context.Context) GetVirtualGatewaySpecLoggingAccessLogFileFormatOutput { return o } -func (o GetRouteSpecGrpcRouteMatchMetadataOutput) Invert() pulumi.BoolOutput { - return o.ApplyT(func(v GetRouteSpecGrpcRouteMatchMetadata) bool { return v.Invert }).(pulumi.BoolOutput) -} - -// Criteria for determining an HTTP request match. -func (o GetRouteSpecGrpcRouteMatchMetadataOutput) Matches() GetRouteSpecGrpcRouteMatchMetadataMatchArrayOutput { - return o.ApplyT(func(v GetRouteSpecGrpcRouteMatchMetadata) []GetRouteSpecGrpcRouteMatchMetadataMatch { return v.Matches }).(GetRouteSpecGrpcRouteMatchMetadataMatchArrayOutput) +func (o GetVirtualGatewaySpecLoggingAccessLogFileFormatOutput) Jsons() GetVirtualGatewaySpecLoggingAccessLogFileFormatJsonArrayOutput { + return o.ApplyT(func(v GetVirtualGatewaySpecLoggingAccessLogFileFormat) []GetVirtualGatewaySpecLoggingAccessLogFileFormatJson { + return v.Jsons + }).(GetVirtualGatewaySpecLoggingAccessLogFileFormatJsonArrayOutput) } -// Name of the route. -func (o GetRouteSpecGrpcRouteMatchMetadataOutput) Name() pulumi.StringOutput { - return o.ApplyT(func(v GetRouteSpecGrpcRouteMatchMetadata) string { return v.Name }).(pulumi.StringOutput) +func (o GetVirtualGatewaySpecLoggingAccessLogFileFormatOutput) Text() pulumi.StringOutput { + return o.ApplyT(func(v GetVirtualGatewaySpecLoggingAccessLogFileFormat) string { return v.Text }).(pulumi.StringOutput) } -type GetRouteSpecGrpcRouteMatchMetadataArrayOutput struct{ *pulumi.OutputState } +type GetVirtualGatewaySpecLoggingAccessLogFileFormatArrayOutput struct{ *pulumi.OutputState } -func (GetRouteSpecGrpcRouteMatchMetadataArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetRouteSpecGrpcRouteMatchMetadata)(nil)).Elem() +func (GetVirtualGatewaySpecLoggingAccessLogFileFormatArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetVirtualGatewaySpecLoggingAccessLogFileFormat)(nil)).Elem() } -func (o GetRouteSpecGrpcRouteMatchMetadataArrayOutput) ToGetRouteSpecGrpcRouteMatchMetadataArrayOutput() GetRouteSpecGrpcRouteMatchMetadataArrayOutput { +func (o GetVirtualGatewaySpecLoggingAccessLogFileFormatArrayOutput) ToGetVirtualGatewaySpecLoggingAccessLogFileFormatArrayOutput() GetVirtualGatewaySpecLoggingAccessLogFileFormatArrayOutput { return o } -func (o GetRouteSpecGrpcRouteMatchMetadataArrayOutput) ToGetRouteSpecGrpcRouteMatchMetadataArrayOutputWithContext(ctx context.Context) GetRouteSpecGrpcRouteMatchMetadataArrayOutput { +func (o GetVirtualGatewaySpecLoggingAccessLogFileFormatArrayOutput) ToGetVirtualGatewaySpecLoggingAccessLogFileFormatArrayOutputWithContext(ctx context.Context) GetVirtualGatewaySpecLoggingAccessLogFileFormatArrayOutput { return o } -func (o GetRouteSpecGrpcRouteMatchMetadataArrayOutput) Index(i pulumi.IntInput) GetRouteSpecGrpcRouteMatchMetadataOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetRouteSpecGrpcRouteMatchMetadata { - return vs[0].([]GetRouteSpecGrpcRouteMatchMetadata)[vs[1].(int)] - }).(GetRouteSpecGrpcRouteMatchMetadataOutput) +func (o GetVirtualGatewaySpecLoggingAccessLogFileFormatArrayOutput) Index(i pulumi.IntInput) GetVirtualGatewaySpecLoggingAccessLogFileFormatOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetVirtualGatewaySpecLoggingAccessLogFileFormat { + return vs[0].([]GetVirtualGatewaySpecLoggingAccessLogFileFormat)[vs[1].(int)] + }).(GetVirtualGatewaySpecLoggingAccessLogFileFormatOutput) } -type GetRouteSpecGrpcRouteMatchMetadataMatch struct { - Exact string `pulumi:"exact"` - Prefix string `pulumi:"prefix"` - Ranges []GetRouteSpecGrpcRouteMatchMetadataMatchRange `pulumi:"ranges"` - Regex string `pulumi:"regex"` - Suffix string `pulumi:"suffix"` +type GetVirtualGatewaySpecLoggingAccessLogFileFormatJson struct { + Key string `pulumi:"key"` + Value string `pulumi:"value"` } -// GetRouteSpecGrpcRouteMatchMetadataMatchInput is an input type that accepts GetRouteSpecGrpcRouteMatchMetadataMatchArgs and GetRouteSpecGrpcRouteMatchMetadataMatchOutput values. -// You can construct a concrete instance of `GetRouteSpecGrpcRouteMatchMetadataMatchInput` via: +// GetVirtualGatewaySpecLoggingAccessLogFileFormatJsonInput is an input type that accepts GetVirtualGatewaySpecLoggingAccessLogFileFormatJsonArgs and GetVirtualGatewaySpecLoggingAccessLogFileFormatJsonOutput values. +// You can construct a concrete instance of `GetVirtualGatewaySpecLoggingAccessLogFileFormatJsonInput` via: // -// GetRouteSpecGrpcRouteMatchMetadataMatchArgs{...} -type GetRouteSpecGrpcRouteMatchMetadataMatchInput interface { +// GetVirtualGatewaySpecLoggingAccessLogFileFormatJsonArgs{...} +type GetVirtualGatewaySpecLoggingAccessLogFileFormatJsonInput interface { pulumi.Input - ToGetRouteSpecGrpcRouteMatchMetadataMatchOutput() GetRouteSpecGrpcRouteMatchMetadataMatchOutput - ToGetRouteSpecGrpcRouteMatchMetadataMatchOutputWithContext(context.Context) GetRouteSpecGrpcRouteMatchMetadataMatchOutput + ToGetVirtualGatewaySpecLoggingAccessLogFileFormatJsonOutput() GetVirtualGatewaySpecLoggingAccessLogFileFormatJsonOutput + ToGetVirtualGatewaySpecLoggingAccessLogFileFormatJsonOutputWithContext(context.Context) GetVirtualGatewaySpecLoggingAccessLogFileFormatJsonOutput } -type GetRouteSpecGrpcRouteMatchMetadataMatchArgs struct { - Exact pulumi.StringInput `pulumi:"exact"` - Prefix pulumi.StringInput `pulumi:"prefix"` - Ranges GetRouteSpecGrpcRouteMatchMetadataMatchRangeArrayInput `pulumi:"ranges"` - Regex pulumi.StringInput `pulumi:"regex"` - Suffix pulumi.StringInput `pulumi:"suffix"` +type GetVirtualGatewaySpecLoggingAccessLogFileFormatJsonArgs struct { + Key pulumi.StringInput `pulumi:"key"` + Value pulumi.StringInput `pulumi:"value"` } -func (GetRouteSpecGrpcRouteMatchMetadataMatchArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetRouteSpecGrpcRouteMatchMetadataMatch)(nil)).Elem() +func (GetVirtualGatewaySpecLoggingAccessLogFileFormatJsonArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetVirtualGatewaySpecLoggingAccessLogFileFormatJson)(nil)).Elem() } -func (i GetRouteSpecGrpcRouteMatchMetadataMatchArgs) ToGetRouteSpecGrpcRouteMatchMetadataMatchOutput() GetRouteSpecGrpcRouteMatchMetadataMatchOutput { - return i.ToGetRouteSpecGrpcRouteMatchMetadataMatchOutputWithContext(context.Background()) +func (i GetVirtualGatewaySpecLoggingAccessLogFileFormatJsonArgs) ToGetVirtualGatewaySpecLoggingAccessLogFileFormatJsonOutput() GetVirtualGatewaySpecLoggingAccessLogFileFormatJsonOutput { + return i.ToGetVirtualGatewaySpecLoggingAccessLogFileFormatJsonOutputWithContext(context.Background()) } -func (i GetRouteSpecGrpcRouteMatchMetadataMatchArgs) ToGetRouteSpecGrpcRouteMatchMetadataMatchOutputWithContext(ctx context.Context) GetRouteSpecGrpcRouteMatchMetadataMatchOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetRouteSpecGrpcRouteMatchMetadataMatchOutput) +func (i GetVirtualGatewaySpecLoggingAccessLogFileFormatJsonArgs) ToGetVirtualGatewaySpecLoggingAccessLogFileFormatJsonOutputWithContext(ctx context.Context) GetVirtualGatewaySpecLoggingAccessLogFileFormatJsonOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetVirtualGatewaySpecLoggingAccessLogFileFormatJsonOutput) } -// GetRouteSpecGrpcRouteMatchMetadataMatchArrayInput is an input type that accepts GetRouteSpecGrpcRouteMatchMetadataMatchArray and GetRouteSpecGrpcRouteMatchMetadataMatchArrayOutput values. -// You can construct a concrete instance of `GetRouteSpecGrpcRouteMatchMetadataMatchArrayInput` via: +// GetVirtualGatewaySpecLoggingAccessLogFileFormatJsonArrayInput is an input type that accepts GetVirtualGatewaySpecLoggingAccessLogFileFormatJsonArray and GetVirtualGatewaySpecLoggingAccessLogFileFormatJsonArrayOutput values. +// You can construct a concrete instance of `GetVirtualGatewaySpecLoggingAccessLogFileFormatJsonArrayInput` via: // -// GetRouteSpecGrpcRouteMatchMetadataMatchArray{ GetRouteSpecGrpcRouteMatchMetadataMatchArgs{...} } -type GetRouteSpecGrpcRouteMatchMetadataMatchArrayInput interface { +// GetVirtualGatewaySpecLoggingAccessLogFileFormatJsonArray{ GetVirtualGatewaySpecLoggingAccessLogFileFormatJsonArgs{...} } +type GetVirtualGatewaySpecLoggingAccessLogFileFormatJsonArrayInput interface { pulumi.Input - ToGetRouteSpecGrpcRouteMatchMetadataMatchArrayOutput() GetRouteSpecGrpcRouteMatchMetadataMatchArrayOutput - ToGetRouteSpecGrpcRouteMatchMetadataMatchArrayOutputWithContext(context.Context) GetRouteSpecGrpcRouteMatchMetadataMatchArrayOutput + ToGetVirtualGatewaySpecLoggingAccessLogFileFormatJsonArrayOutput() GetVirtualGatewaySpecLoggingAccessLogFileFormatJsonArrayOutput + ToGetVirtualGatewaySpecLoggingAccessLogFileFormatJsonArrayOutputWithContext(context.Context) GetVirtualGatewaySpecLoggingAccessLogFileFormatJsonArrayOutput } -type GetRouteSpecGrpcRouteMatchMetadataMatchArray []GetRouteSpecGrpcRouteMatchMetadataMatchInput +type GetVirtualGatewaySpecLoggingAccessLogFileFormatJsonArray []GetVirtualGatewaySpecLoggingAccessLogFileFormatJsonInput -func (GetRouteSpecGrpcRouteMatchMetadataMatchArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetRouteSpecGrpcRouteMatchMetadataMatch)(nil)).Elem() +func (GetVirtualGatewaySpecLoggingAccessLogFileFormatJsonArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetVirtualGatewaySpecLoggingAccessLogFileFormatJson)(nil)).Elem() } -func (i GetRouteSpecGrpcRouteMatchMetadataMatchArray) ToGetRouteSpecGrpcRouteMatchMetadataMatchArrayOutput() GetRouteSpecGrpcRouteMatchMetadataMatchArrayOutput { - return i.ToGetRouteSpecGrpcRouteMatchMetadataMatchArrayOutputWithContext(context.Background()) +func (i GetVirtualGatewaySpecLoggingAccessLogFileFormatJsonArray) ToGetVirtualGatewaySpecLoggingAccessLogFileFormatJsonArrayOutput() GetVirtualGatewaySpecLoggingAccessLogFileFormatJsonArrayOutput { + return i.ToGetVirtualGatewaySpecLoggingAccessLogFileFormatJsonArrayOutputWithContext(context.Background()) } -func (i GetRouteSpecGrpcRouteMatchMetadataMatchArray) ToGetRouteSpecGrpcRouteMatchMetadataMatchArrayOutputWithContext(ctx context.Context) GetRouteSpecGrpcRouteMatchMetadataMatchArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetRouteSpecGrpcRouteMatchMetadataMatchArrayOutput) +func (i GetVirtualGatewaySpecLoggingAccessLogFileFormatJsonArray) ToGetVirtualGatewaySpecLoggingAccessLogFileFormatJsonArrayOutputWithContext(ctx context.Context) GetVirtualGatewaySpecLoggingAccessLogFileFormatJsonArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetVirtualGatewaySpecLoggingAccessLogFileFormatJsonArrayOutput) } -type GetRouteSpecGrpcRouteMatchMetadataMatchOutput struct{ *pulumi.OutputState } +type GetVirtualGatewaySpecLoggingAccessLogFileFormatJsonOutput struct{ *pulumi.OutputState } -func (GetRouteSpecGrpcRouteMatchMetadataMatchOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetRouteSpecGrpcRouteMatchMetadataMatch)(nil)).Elem() +func (GetVirtualGatewaySpecLoggingAccessLogFileFormatJsonOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetVirtualGatewaySpecLoggingAccessLogFileFormatJson)(nil)).Elem() } -func (o GetRouteSpecGrpcRouteMatchMetadataMatchOutput) ToGetRouteSpecGrpcRouteMatchMetadataMatchOutput() GetRouteSpecGrpcRouteMatchMetadataMatchOutput { +func (o GetVirtualGatewaySpecLoggingAccessLogFileFormatJsonOutput) ToGetVirtualGatewaySpecLoggingAccessLogFileFormatJsonOutput() GetVirtualGatewaySpecLoggingAccessLogFileFormatJsonOutput { return o } -func (o GetRouteSpecGrpcRouteMatchMetadataMatchOutput) ToGetRouteSpecGrpcRouteMatchMetadataMatchOutputWithContext(ctx context.Context) GetRouteSpecGrpcRouteMatchMetadataMatchOutput { +func (o GetVirtualGatewaySpecLoggingAccessLogFileFormatJsonOutput) ToGetVirtualGatewaySpecLoggingAccessLogFileFormatJsonOutputWithContext(ctx context.Context) GetVirtualGatewaySpecLoggingAccessLogFileFormatJsonOutput { return o } -func (o GetRouteSpecGrpcRouteMatchMetadataMatchOutput) Exact() pulumi.StringOutput { - return o.ApplyT(func(v GetRouteSpecGrpcRouteMatchMetadataMatch) string { return v.Exact }).(pulumi.StringOutput) -} - -func (o GetRouteSpecGrpcRouteMatchMetadataMatchOutput) Prefix() pulumi.StringOutput { - return o.ApplyT(func(v GetRouteSpecGrpcRouteMatchMetadataMatch) string { return v.Prefix }).(pulumi.StringOutput) -} - -func (o GetRouteSpecGrpcRouteMatchMetadataMatchOutput) Ranges() GetRouteSpecGrpcRouteMatchMetadataMatchRangeArrayOutput { - return o.ApplyT(func(v GetRouteSpecGrpcRouteMatchMetadataMatch) []GetRouteSpecGrpcRouteMatchMetadataMatchRange { - return v.Ranges - }).(GetRouteSpecGrpcRouteMatchMetadataMatchRangeArrayOutput) -} - -func (o GetRouteSpecGrpcRouteMatchMetadataMatchOutput) Regex() pulumi.StringOutput { - return o.ApplyT(func(v GetRouteSpecGrpcRouteMatchMetadataMatch) string { return v.Regex }).(pulumi.StringOutput) +func (o GetVirtualGatewaySpecLoggingAccessLogFileFormatJsonOutput) Key() pulumi.StringOutput { + return o.ApplyT(func(v GetVirtualGatewaySpecLoggingAccessLogFileFormatJson) string { return v.Key }).(pulumi.StringOutput) } -func (o GetRouteSpecGrpcRouteMatchMetadataMatchOutput) Suffix() pulumi.StringOutput { - return o.ApplyT(func(v GetRouteSpecGrpcRouteMatchMetadataMatch) string { return v.Suffix }).(pulumi.StringOutput) +func (o GetVirtualGatewaySpecLoggingAccessLogFileFormatJsonOutput) Value() pulumi.StringOutput { + return o.ApplyT(func(v GetVirtualGatewaySpecLoggingAccessLogFileFormatJson) string { return v.Value }).(pulumi.StringOutput) } -type GetRouteSpecGrpcRouteMatchMetadataMatchArrayOutput struct{ *pulumi.OutputState } +type GetVirtualGatewaySpecLoggingAccessLogFileFormatJsonArrayOutput struct{ *pulumi.OutputState } -func (GetRouteSpecGrpcRouteMatchMetadataMatchArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetRouteSpecGrpcRouteMatchMetadataMatch)(nil)).Elem() +func (GetVirtualGatewaySpecLoggingAccessLogFileFormatJsonArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetVirtualGatewaySpecLoggingAccessLogFileFormatJson)(nil)).Elem() } -func (o GetRouteSpecGrpcRouteMatchMetadataMatchArrayOutput) ToGetRouteSpecGrpcRouteMatchMetadataMatchArrayOutput() GetRouteSpecGrpcRouteMatchMetadataMatchArrayOutput { +func (o GetVirtualGatewaySpecLoggingAccessLogFileFormatJsonArrayOutput) ToGetVirtualGatewaySpecLoggingAccessLogFileFormatJsonArrayOutput() GetVirtualGatewaySpecLoggingAccessLogFileFormatJsonArrayOutput { return o } -func (o GetRouteSpecGrpcRouteMatchMetadataMatchArrayOutput) ToGetRouteSpecGrpcRouteMatchMetadataMatchArrayOutputWithContext(ctx context.Context) GetRouteSpecGrpcRouteMatchMetadataMatchArrayOutput { +func (o GetVirtualGatewaySpecLoggingAccessLogFileFormatJsonArrayOutput) ToGetVirtualGatewaySpecLoggingAccessLogFileFormatJsonArrayOutputWithContext(ctx context.Context) GetVirtualGatewaySpecLoggingAccessLogFileFormatJsonArrayOutput { return o } -func (o GetRouteSpecGrpcRouteMatchMetadataMatchArrayOutput) Index(i pulumi.IntInput) GetRouteSpecGrpcRouteMatchMetadataMatchOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetRouteSpecGrpcRouteMatchMetadataMatch { - return vs[0].([]GetRouteSpecGrpcRouteMatchMetadataMatch)[vs[1].(int)] - }).(GetRouteSpecGrpcRouteMatchMetadataMatchOutput) +func (o GetVirtualGatewaySpecLoggingAccessLogFileFormatJsonArrayOutput) Index(i pulumi.IntInput) GetVirtualGatewaySpecLoggingAccessLogFileFormatJsonOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetVirtualGatewaySpecLoggingAccessLogFileFormatJson { + return vs[0].([]GetVirtualGatewaySpecLoggingAccessLogFileFormatJson)[vs[1].(int)] + }).(GetVirtualGatewaySpecLoggingAccessLogFileFormatJsonOutput) } -type GetRouteSpecGrpcRouteMatchMetadataMatchRange struct { - End int `pulumi:"end"` - Start int `pulumi:"start"` +type GetVirtualNodeSpec struct { + BackendDefaults []GetVirtualNodeSpecBackendDefault `pulumi:"backendDefaults"` + Backends []GetVirtualNodeSpecBackend `pulumi:"backends"` + Listeners []GetVirtualNodeSpecListener `pulumi:"listeners"` + Loggings []GetVirtualNodeSpecLogging `pulumi:"loggings"` + ServiceDiscoveries []GetVirtualNodeSpecServiceDiscovery `pulumi:"serviceDiscoveries"` } -// GetRouteSpecGrpcRouteMatchMetadataMatchRangeInput is an input type that accepts GetRouteSpecGrpcRouteMatchMetadataMatchRangeArgs and GetRouteSpecGrpcRouteMatchMetadataMatchRangeOutput values. -// You can construct a concrete instance of `GetRouteSpecGrpcRouteMatchMetadataMatchRangeInput` via: +// GetVirtualNodeSpecInput is an input type that accepts GetVirtualNodeSpecArgs and GetVirtualNodeSpecOutput values. +// You can construct a concrete instance of `GetVirtualNodeSpecInput` via: // -// GetRouteSpecGrpcRouteMatchMetadataMatchRangeArgs{...} -type GetRouteSpecGrpcRouteMatchMetadataMatchRangeInput interface { +// GetVirtualNodeSpecArgs{...} +type GetVirtualNodeSpecInput interface { pulumi.Input - ToGetRouteSpecGrpcRouteMatchMetadataMatchRangeOutput() GetRouteSpecGrpcRouteMatchMetadataMatchRangeOutput - ToGetRouteSpecGrpcRouteMatchMetadataMatchRangeOutputWithContext(context.Context) GetRouteSpecGrpcRouteMatchMetadataMatchRangeOutput + ToGetVirtualNodeSpecOutput() GetVirtualNodeSpecOutput + ToGetVirtualNodeSpecOutputWithContext(context.Context) GetVirtualNodeSpecOutput } -type GetRouteSpecGrpcRouteMatchMetadataMatchRangeArgs struct { - End pulumi.IntInput `pulumi:"end"` - Start pulumi.IntInput `pulumi:"start"` +type GetVirtualNodeSpecArgs struct { + BackendDefaults GetVirtualNodeSpecBackendDefaultArrayInput `pulumi:"backendDefaults"` + Backends GetVirtualNodeSpecBackendArrayInput `pulumi:"backends"` + Listeners GetVirtualNodeSpecListenerArrayInput `pulumi:"listeners"` + Loggings GetVirtualNodeSpecLoggingArrayInput `pulumi:"loggings"` + ServiceDiscoveries GetVirtualNodeSpecServiceDiscoveryArrayInput `pulumi:"serviceDiscoveries"` } -func (GetRouteSpecGrpcRouteMatchMetadataMatchRangeArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetRouteSpecGrpcRouteMatchMetadataMatchRange)(nil)).Elem() +func (GetVirtualNodeSpecArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetVirtualNodeSpec)(nil)).Elem() } -func (i GetRouteSpecGrpcRouteMatchMetadataMatchRangeArgs) ToGetRouteSpecGrpcRouteMatchMetadataMatchRangeOutput() GetRouteSpecGrpcRouteMatchMetadataMatchRangeOutput { - return i.ToGetRouteSpecGrpcRouteMatchMetadataMatchRangeOutputWithContext(context.Background()) +func (i GetVirtualNodeSpecArgs) ToGetVirtualNodeSpecOutput() GetVirtualNodeSpecOutput { + return i.ToGetVirtualNodeSpecOutputWithContext(context.Background()) } -func (i GetRouteSpecGrpcRouteMatchMetadataMatchRangeArgs) ToGetRouteSpecGrpcRouteMatchMetadataMatchRangeOutputWithContext(ctx context.Context) GetRouteSpecGrpcRouteMatchMetadataMatchRangeOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetRouteSpecGrpcRouteMatchMetadataMatchRangeOutput) +func (i GetVirtualNodeSpecArgs) ToGetVirtualNodeSpecOutputWithContext(ctx context.Context) GetVirtualNodeSpecOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetVirtualNodeSpecOutput) } -// GetRouteSpecGrpcRouteMatchMetadataMatchRangeArrayInput is an input type that accepts GetRouteSpecGrpcRouteMatchMetadataMatchRangeArray and GetRouteSpecGrpcRouteMatchMetadataMatchRangeArrayOutput values. -// You can construct a concrete instance of `GetRouteSpecGrpcRouteMatchMetadataMatchRangeArrayInput` via: +// GetVirtualNodeSpecArrayInput is an input type that accepts GetVirtualNodeSpecArray and GetVirtualNodeSpecArrayOutput values. +// You can construct a concrete instance of `GetVirtualNodeSpecArrayInput` via: // -// GetRouteSpecGrpcRouteMatchMetadataMatchRangeArray{ GetRouteSpecGrpcRouteMatchMetadataMatchRangeArgs{...} } -type GetRouteSpecGrpcRouteMatchMetadataMatchRangeArrayInput interface { +// GetVirtualNodeSpecArray{ GetVirtualNodeSpecArgs{...} } +type GetVirtualNodeSpecArrayInput interface { pulumi.Input - ToGetRouteSpecGrpcRouteMatchMetadataMatchRangeArrayOutput() GetRouteSpecGrpcRouteMatchMetadataMatchRangeArrayOutput - ToGetRouteSpecGrpcRouteMatchMetadataMatchRangeArrayOutputWithContext(context.Context) GetRouteSpecGrpcRouteMatchMetadataMatchRangeArrayOutput + ToGetVirtualNodeSpecArrayOutput() GetVirtualNodeSpecArrayOutput + ToGetVirtualNodeSpecArrayOutputWithContext(context.Context) GetVirtualNodeSpecArrayOutput } -type GetRouteSpecGrpcRouteMatchMetadataMatchRangeArray []GetRouteSpecGrpcRouteMatchMetadataMatchRangeInput +type GetVirtualNodeSpecArray []GetVirtualNodeSpecInput -func (GetRouteSpecGrpcRouteMatchMetadataMatchRangeArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetRouteSpecGrpcRouteMatchMetadataMatchRange)(nil)).Elem() +func (GetVirtualNodeSpecArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetVirtualNodeSpec)(nil)).Elem() } -func (i GetRouteSpecGrpcRouteMatchMetadataMatchRangeArray) ToGetRouteSpecGrpcRouteMatchMetadataMatchRangeArrayOutput() GetRouteSpecGrpcRouteMatchMetadataMatchRangeArrayOutput { - return i.ToGetRouteSpecGrpcRouteMatchMetadataMatchRangeArrayOutputWithContext(context.Background()) +func (i GetVirtualNodeSpecArray) ToGetVirtualNodeSpecArrayOutput() GetVirtualNodeSpecArrayOutput { + return i.ToGetVirtualNodeSpecArrayOutputWithContext(context.Background()) } -func (i GetRouteSpecGrpcRouteMatchMetadataMatchRangeArray) ToGetRouteSpecGrpcRouteMatchMetadataMatchRangeArrayOutputWithContext(ctx context.Context) GetRouteSpecGrpcRouteMatchMetadataMatchRangeArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetRouteSpecGrpcRouteMatchMetadataMatchRangeArrayOutput) +func (i GetVirtualNodeSpecArray) ToGetVirtualNodeSpecArrayOutputWithContext(ctx context.Context) GetVirtualNodeSpecArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetVirtualNodeSpecArrayOutput) } -type GetRouteSpecGrpcRouteMatchMetadataMatchRangeOutput struct{ *pulumi.OutputState } +type GetVirtualNodeSpecOutput struct{ *pulumi.OutputState } -func (GetRouteSpecGrpcRouteMatchMetadataMatchRangeOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetRouteSpecGrpcRouteMatchMetadataMatchRange)(nil)).Elem() +func (GetVirtualNodeSpecOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetVirtualNodeSpec)(nil)).Elem() } -func (o GetRouteSpecGrpcRouteMatchMetadataMatchRangeOutput) ToGetRouteSpecGrpcRouteMatchMetadataMatchRangeOutput() GetRouteSpecGrpcRouteMatchMetadataMatchRangeOutput { +func (o GetVirtualNodeSpecOutput) ToGetVirtualNodeSpecOutput() GetVirtualNodeSpecOutput { return o } -func (o GetRouteSpecGrpcRouteMatchMetadataMatchRangeOutput) ToGetRouteSpecGrpcRouteMatchMetadataMatchRangeOutputWithContext(ctx context.Context) GetRouteSpecGrpcRouteMatchMetadataMatchRangeOutput { +func (o GetVirtualNodeSpecOutput) ToGetVirtualNodeSpecOutputWithContext(ctx context.Context) GetVirtualNodeSpecOutput { return o } -func (o GetRouteSpecGrpcRouteMatchMetadataMatchRangeOutput) End() pulumi.IntOutput { - return o.ApplyT(func(v GetRouteSpecGrpcRouteMatchMetadataMatchRange) int { return v.End }).(pulumi.IntOutput) +func (o GetVirtualNodeSpecOutput) BackendDefaults() GetVirtualNodeSpecBackendDefaultArrayOutput { + return o.ApplyT(func(v GetVirtualNodeSpec) []GetVirtualNodeSpecBackendDefault { return v.BackendDefaults }).(GetVirtualNodeSpecBackendDefaultArrayOutput) } -func (o GetRouteSpecGrpcRouteMatchMetadataMatchRangeOutput) Start() pulumi.IntOutput { - return o.ApplyT(func(v GetRouteSpecGrpcRouteMatchMetadataMatchRange) int { return v.Start }).(pulumi.IntOutput) +func (o GetVirtualNodeSpecOutput) Backends() GetVirtualNodeSpecBackendArrayOutput { + return o.ApplyT(func(v GetVirtualNodeSpec) []GetVirtualNodeSpecBackend { return v.Backends }).(GetVirtualNodeSpecBackendArrayOutput) } -type GetRouteSpecGrpcRouteMatchMetadataMatchRangeArrayOutput struct{ *pulumi.OutputState } +func (o GetVirtualNodeSpecOutput) Listeners() GetVirtualNodeSpecListenerArrayOutput { + return o.ApplyT(func(v GetVirtualNodeSpec) []GetVirtualNodeSpecListener { return v.Listeners }).(GetVirtualNodeSpecListenerArrayOutput) +} -func (GetRouteSpecGrpcRouteMatchMetadataMatchRangeArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetRouteSpecGrpcRouteMatchMetadataMatchRange)(nil)).Elem() +func (o GetVirtualNodeSpecOutput) Loggings() GetVirtualNodeSpecLoggingArrayOutput { + return o.ApplyT(func(v GetVirtualNodeSpec) []GetVirtualNodeSpecLogging { return v.Loggings }).(GetVirtualNodeSpecLoggingArrayOutput) } -func (o GetRouteSpecGrpcRouteMatchMetadataMatchRangeArrayOutput) ToGetRouteSpecGrpcRouteMatchMetadataMatchRangeArrayOutput() GetRouteSpecGrpcRouteMatchMetadataMatchRangeArrayOutput { +func (o GetVirtualNodeSpecOutput) ServiceDiscoveries() GetVirtualNodeSpecServiceDiscoveryArrayOutput { + return o.ApplyT(func(v GetVirtualNodeSpec) []GetVirtualNodeSpecServiceDiscovery { return v.ServiceDiscoveries }).(GetVirtualNodeSpecServiceDiscoveryArrayOutput) +} + +type GetVirtualNodeSpecArrayOutput struct{ *pulumi.OutputState } + +func (GetVirtualNodeSpecArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetVirtualNodeSpec)(nil)).Elem() +} + +func (o GetVirtualNodeSpecArrayOutput) ToGetVirtualNodeSpecArrayOutput() GetVirtualNodeSpecArrayOutput { return o } -func (o GetRouteSpecGrpcRouteMatchMetadataMatchRangeArrayOutput) ToGetRouteSpecGrpcRouteMatchMetadataMatchRangeArrayOutputWithContext(ctx context.Context) GetRouteSpecGrpcRouteMatchMetadataMatchRangeArrayOutput { +func (o GetVirtualNodeSpecArrayOutput) ToGetVirtualNodeSpecArrayOutputWithContext(ctx context.Context) GetVirtualNodeSpecArrayOutput { return o } -func (o GetRouteSpecGrpcRouteMatchMetadataMatchRangeArrayOutput) Index(i pulumi.IntInput) GetRouteSpecGrpcRouteMatchMetadataMatchRangeOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetRouteSpecGrpcRouteMatchMetadataMatchRange { - return vs[0].([]GetRouteSpecGrpcRouteMatchMetadataMatchRange)[vs[1].(int)] - }).(GetRouteSpecGrpcRouteMatchMetadataMatchRangeOutput) +func (o GetVirtualNodeSpecArrayOutput) Index(i pulumi.IntInput) GetVirtualNodeSpecOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetVirtualNodeSpec { + return vs[0].([]GetVirtualNodeSpec)[vs[1].(int)] + }).(GetVirtualNodeSpecOutput) } -type GetRouteSpecGrpcRouteRetryPolicy struct { - GrpcRetryEvents []string `pulumi:"grpcRetryEvents"` - HttpRetryEvents []string `pulumi:"httpRetryEvents"` - MaxRetries int `pulumi:"maxRetries"` - PerRetryTimeouts []GetRouteSpecGrpcRouteRetryPolicyPerRetryTimeout `pulumi:"perRetryTimeouts"` - TcpRetryEvents []string `pulumi:"tcpRetryEvents"` +type GetVirtualNodeSpecBackend struct { + VirtualServices []GetVirtualNodeSpecBackendVirtualService `pulumi:"virtualServices"` } -// GetRouteSpecGrpcRouteRetryPolicyInput is an input type that accepts GetRouteSpecGrpcRouteRetryPolicyArgs and GetRouteSpecGrpcRouteRetryPolicyOutput values. -// You can construct a concrete instance of `GetRouteSpecGrpcRouteRetryPolicyInput` via: +// GetVirtualNodeSpecBackendInput is an input type that accepts GetVirtualNodeSpecBackendArgs and GetVirtualNodeSpecBackendOutput values. +// You can construct a concrete instance of `GetVirtualNodeSpecBackendInput` via: // -// GetRouteSpecGrpcRouteRetryPolicyArgs{...} -type GetRouteSpecGrpcRouteRetryPolicyInput interface { +// GetVirtualNodeSpecBackendArgs{...} +type GetVirtualNodeSpecBackendInput interface { pulumi.Input - ToGetRouteSpecGrpcRouteRetryPolicyOutput() GetRouteSpecGrpcRouteRetryPolicyOutput - ToGetRouteSpecGrpcRouteRetryPolicyOutputWithContext(context.Context) GetRouteSpecGrpcRouteRetryPolicyOutput + ToGetVirtualNodeSpecBackendOutput() GetVirtualNodeSpecBackendOutput + ToGetVirtualNodeSpecBackendOutputWithContext(context.Context) GetVirtualNodeSpecBackendOutput } -type GetRouteSpecGrpcRouteRetryPolicyArgs struct { - GrpcRetryEvents pulumi.StringArrayInput `pulumi:"grpcRetryEvents"` - HttpRetryEvents pulumi.StringArrayInput `pulumi:"httpRetryEvents"` - MaxRetries pulumi.IntInput `pulumi:"maxRetries"` - PerRetryTimeouts GetRouteSpecGrpcRouteRetryPolicyPerRetryTimeoutArrayInput `pulumi:"perRetryTimeouts"` - TcpRetryEvents pulumi.StringArrayInput `pulumi:"tcpRetryEvents"` +type GetVirtualNodeSpecBackendArgs struct { + VirtualServices GetVirtualNodeSpecBackendVirtualServiceArrayInput `pulumi:"virtualServices"` } -func (GetRouteSpecGrpcRouteRetryPolicyArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetRouteSpecGrpcRouteRetryPolicy)(nil)).Elem() +func (GetVirtualNodeSpecBackendArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetVirtualNodeSpecBackend)(nil)).Elem() } -func (i GetRouteSpecGrpcRouteRetryPolicyArgs) ToGetRouteSpecGrpcRouteRetryPolicyOutput() GetRouteSpecGrpcRouteRetryPolicyOutput { - return i.ToGetRouteSpecGrpcRouteRetryPolicyOutputWithContext(context.Background()) +func (i GetVirtualNodeSpecBackendArgs) ToGetVirtualNodeSpecBackendOutput() GetVirtualNodeSpecBackendOutput { + return i.ToGetVirtualNodeSpecBackendOutputWithContext(context.Background()) } -func (i GetRouteSpecGrpcRouteRetryPolicyArgs) ToGetRouteSpecGrpcRouteRetryPolicyOutputWithContext(ctx context.Context) GetRouteSpecGrpcRouteRetryPolicyOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetRouteSpecGrpcRouteRetryPolicyOutput) +func (i GetVirtualNodeSpecBackendArgs) ToGetVirtualNodeSpecBackendOutputWithContext(ctx context.Context) GetVirtualNodeSpecBackendOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetVirtualNodeSpecBackendOutput) } -// GetRouteSpecGrpcRouteRetryPolicyArrayInput is an input type that accepts GetRouteSpecGrpcRouteRetryPolicyArray and GetRouteSpecGrpcRouteRetryPolicyArrayOutput values. -// You can construct a concrete instance of `GetRouteSpecGrpcRouteRetryPolicyArrayInput` via: +// GetVirtualNodeSpecBackendArrayInput is an input type that accepts GetVirtualNodeSpecBackendArray and GetVirtualNodeSpecBackendArrayOutput values. +// You can construct a concrete instance of `GetVirtualNodeSpecBackendArrayInput` via: // -// GetRouteSpecGrpcRouteRetryPolicyArray{ GetRouteSpecGrpcRouteRetryPolicyArgs{...} } -type GetRouteSpecGrpcRouteRetryPolicyArrayInput interface { +// GetVirtualNodeSpecBackendArray{ GetVirtualNodeSpecBackendArgs{...} } +type GetVirtualNodeSpecBackendArrayInput interface { pulumi.Input - ToGetRouteSpecGrpcRouteRetryPolicyArrayOutput() GetRouteSpecGrpcRouteRetryPolicyArrayOutput - ToGetRouteSpecGrpcRouteRetryPolicyArrayOutputWithContext(context.Context) GetRouteSpecGrpcRouteRetryPolicyArrayOutput + ToGetVirtualNodeSpecBackendArrayOutput() GetVirtualNodeSpecBackendArrayOutput + ToGetVirtualNodeSpecBackendArrayOutputWithContext(context.Context) GetVirtualNodeSpecBackendArrayOutput } -type GetRouteSpecGrpcRouteRetryPolicyArray []GetRouteSpecGrpcRouteRetryPolicyInput +type GetVirtualNodeSpecBackendArray []GetVirtualNodeSpecBackendInput -func (GetRouteSpecGrpcRouteRetryPolicyArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetRouteSpecGrpcRouteRetryPolicy)(nil)).Elem() +func (GetVirtualNodeSpecBackendArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetVirtualNodeSpecBackend)(nil)).Elem() } -func (i GetRouteSpecGrpcRouteRetryPolicyArray) ToGetRouteSpecGrpcRouteRetryPolicyArrayOutput() GetRouteSpecGrpcRouteRetryPolicyArrayOutput { - return i.ToGetRouteSpecGrpcRouteRetryPolicyArrayOutputWithContext(context.Background()) +func (i GetVirtualNodeSpecBackendArray) ToGetVirtualNodeSpecBackendArrayOutput() GetVirtualNodeSpecBackendArrayOutput { + return i.ToGetVirtualNodeSpecBackendArrayOutputWithContext(context.Background()) } -func (i GetRouteSpecGrpcRouteRetryPolicyArray) ToGetRouteSpecGrpcRouteRetryPolicyArrayOutputWithContext(ctx context.Context) GetRouteSpecGrpcRouteRetryPolicyArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetRouteSpecGrpcRouteRetryPolicyArrayOutput) +func (i GetVirtualNodeSpecBackendArray) ToGetVirtualNodeSpecBackendArrayOutputWithContext(ctx context.Context) GetVirtualNodeSpecBackendArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetVirtualNodeSpecBackendArrayOutput) } -type GetRouteSpecGrpcRouteRetryPolicyOutput struct{ *pulumi.OutputState } +type GetVirtualNodeSpecBackendOutput struct{ *pulumi.OutputState } -func (GetRouteSpecGrpcRouteRetryPolicyOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetRouteSpecGrpcRouteRetryPolicy)(nil)).Elem() +func (GetVirtualNodeSpecBackendOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetVirtualNodeSpecBackend)(nil)).Elem() } -func (o GetRouteSpecGrpcRouteRetryPolicyOutput) ToGetRouteSpecGrpcRouteRetryPolicyOutput() GetRouteSpecGrpcRouteRetryPolicyOutput { +func (o GetVirtualNodeSpecBackendOutput) ToGetVirtualNodeSpecBackendOutput() GetVirtualNodeSpecBackendOutput { return o } -func (o GetRouteSpecGrpcRouteRetryPolicyOutput) ToGetRouteSpecGrpcRouteRetryPolicyOutputWithContext(ctx context.Context) GetRouteSpecGrpcRouteRetryPolicyOutput { +func (o GetVirtualNodeSpecBackendOutput) ToGetVirtualNodeSpecBackendOutputWithContext(ctx context.Context) GetVirtualNodeSpecBackendOutput { return o } -func (o GetRouteSpecGrpcRouteRetryPolicyOutput) GrpcRetryEvents() pulumi.StringArrayOutput { - return o.ApplyT(func(v GetRouteSpecGrpcRouteRetryPolicy) []string { return v.GrpcRetryEvents }).(pulumi.StringArrayOutput) -} - -func (o GetRouteSpecGrpcRouteRetryPolicyOutput) HttpRetryEvents() pulumi.StringArrayOutput { - return o.ApplyT(func(v GetRouteSpecGrpcRouteRetryPolicy) []string { return v.HttpRetryEvents }).(pulumi.StringArrayOutput) -} - -func (o GetRouteSpecGrpcRouteRetryPolicyOutput) MaxRetries() pulumi.IntOutput { - return o.ApplyT(func(v GetRouteSpecGrpcRouteRetryPolicy) int { return v.MaxRetries }).(pulumi.IntOutput) -} - -func (o GetRouteSpecGrpcRouteRetryPolicyOutput) PerRetryTimeouts() GetRouteSpecGrpcRouteRetryPolicyPerRetryTimeoutArrayOutput { - return o.ApplyT(func(v GetRouteSpecGrpcRouteRetryPolicy) []GetRouteSpecGrpcRouteRetryPolicyPerRetryTimeout { - return v.PerRetryTimeouts - }).(GetRouteSpecGrpcRouteRetryPolicyPerRetryTimeoutArrayOutput) -} - -func (o GetRouteSpecGrpcRouteRetryPolicyOutput) TcpRetryEvents() pulumi.StringArrayOutput { - return o.ApplyT(func(v GetRouteSpecGrpcRouteRetryPolicy) []string { return v.TcpRetryEvents }).(pulumi.StringArrayOutput) +func (o GetVirtualNodeSpecBackendOutput) VirtualServices() GetVirtualNodeSpecBackendVirtualServiceArrayOutput { + return o.ApplyT(func(v GetVirtualNodeSpecBackend) []GetVirtualNodeSpecBackendVirtualService { return v.VirtualServices }).(GetVirtualNodeSpecBackendVirtualServiceArrayOutput) } -type GetRouteSpecGrpcRouteRetryPolicyArrayOutput struct{ *pulumi.OutputState } +type GetVirtualNodeSpecBackendArrayOutput struct{ *pulumi.OutputState } -func (GetRouteSpecGrpcRouteRetryPolicyArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetRouteSpecGrpcRouteRetryPolicy)(nil)).Elem() +func (GetVirtualNodeSpecBackendArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetVirtualNodeSpecBackend)(nil)).Elem() } -func (o GetRouteSpecGrpcRouteRetryPolicyArrayOutput) ToGetRouteSpecGrpcRouteRetryPolicyArrayOutput() GetRouteSpecGrpcRouteRetryPolicyArrayOutput { +func (o GetVirtualNodeSpecBackendArrayOutput) ToGetVirtualNodeSpecBackendArrayOutput() GetVirtualNodeSpecBackendArrayOutput { return o } -func (o GetRouteSpecGrpcRouteRetryPolicyArrayOutput) ToGetRouteSpecGrpcRouteRetryPolicyArrayOutputWithContext(ctx context.Context) GetRouteSpecGrpcRouteRetryPolicyArrayOutput { +func (o GetVirtualNodeSpecBackendArrayOutput) ToGetVirtualNodeSpecBackendArrayOutputWithContext(ctx context.Context) GetVirtualNodeSpecBackendArrayOutput { return o } -func (o GetRouteSpecGrpcRouteRetryPolicyArrayOutput) Index(i pulumi.IntInput) GetRouteSpecGrpcRouteRetryPolicyOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetRouteSpecGrpcRouteRetryPolicy { - return vs[0].([]GetRouteSpecGrpcRouteRetryPolicy)[vs[1].(int)] - }).(GetRouteSpecGrpcRouteRetryPolicyOutput) +func (o GetVirtualNodeSpecBackendArrayOutput) Index(i pulumi.IntInput) GetVirtualNodeSpecBackendOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetVirtualNodeSpecBackend { + return vs[0].([]GetVirtualNodeSpecBackend)[vs[1].(int)] + }).(GetVirtualNodeSpecBackendOutput) } -type GetRouteSpecGrpcRouteRetryPolicyPerRetryTimeout struct { - Unit string `pulumi:"unit"` - Value int `pulumi:"value"` +type GetVirtualNodeSpecBackendDefault struct { + ClientPolicies []GetVirtualNodeSpecBackendDefaultClientPolicy `pulumi:"clientPolicies"` } -// GetRouteSpecGrpcRouteRetryPolicyPerRetryTimeoutInput is an input type that accepts GetRouteSpecGrpcRouteRetryPolicyPerRetryTimeoutArgs and GetRouteSpecGrpcRouteRetryPolicyPerRetryTimeoutOutput values. -// You can construct a concrete instance of `GetRouteSpecGrpcRouteRetryPolicyPerRetryTimeoutInput` via: +// GetVirtualNodeSpecBackendDefaultInput is an input type that accepts GetVirtualNodeSpecBackendDefaultArgs and GetVirtualNodeSpecBackendDefaultOutput values. +// You can construct a concrete instance of `GetVirtualNodeSpecBackendDefaultInput` via: // -// GetRouteSpecGrpcRouteRetryPolicyPerRetryTimeoutArgs{...} -type GetRouteSpecGrpcRouteRetryPolicyPerRetryTimeoutInput interface { +// GetVirtualNodeSpecBackendDefaultArgs{...} +type GetVirtualNodeSpecBackendDefaultInput interface { pulumi.Input - ToGetRouteSpecGrpcRouteRetryPolicyPerRetryTimeoutOutput() GetRouteSpecGrpcRouteRetryPolicyPerRetryTimeoutOutput - ToGetRouteSpecGrpcRouteRetryPolicyPerRetryTimeoutOutputWithContext(context.Context) GetRouteSpecGrpcRouteRetryPolicyPerRetryTimeoutOutput + ToGetVirtualNodeSpecBackendDefaultOutput() GetVirtualNodeSpecBackendDefaultOutput + ToGetVirtualNodeSpecBackendDefaultOutputWithContext(context.Context) GetVirtualNodeSpecBackendDefaultOutput } -type GetRouteSpecGrpcRouteRetryPolicyPerRetryTimeoutArgs struct { - Unit pulumi.StringInput `pulumi:"unit"` - Value pulumi.IntInput `pulumi:"value"` +type GetVirtualNodeSpecBackendDefaultArgs struct { + ClientPolicies GetVirtualNodeSpecBackendDefaultClientPolicyArrayInput `pulumi:"clientPolicies"` } -func (GetRouteSpecGrpcRouteRetryPolicyPerRetryTimeoutArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetRouteSpecGrpcRouteRetryPolicyPerRetryTimeout)(nil)).Elem() +func (GetVirtualNodeSpecBackendDefaultArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetVirtualNodeSpecBackendDefault)(nil)).Elem() } -func (i GetRouteSpecGrpcRouteRetryPolicyPerRetryTimeoutArgs) ToGetRouteSpecGrpcRouteRetryPolicyPerRetryTimeoutOutput() GetRouteSpecGrpcRouteRetryPolicyPerRetryTimeoutOutput { - return i.ToGetRouteSpecGrpcRouteRetryPolicyPerRetryTimeoutOutputWithContext(context.Background()) +func (i GetVirtualNodeSpecBackendDefaultArgs) ToGetVirtualNodeSpecBackendDefaultOutput() GetVirtualNodeSpecBackendDefaultOutput { + return i.ToGetVirtualNodeSpecBackendDefaultOutputWithContext(context.Background()) } -func (i GetRouteSpecGrpcRouteRetryPolicyPerRetryTimeoutArgs) ToGetRouteSpecGrpcRouteRetryPolicyPerRetryTimeoutOutputWithContext(ctx context.Context) GetRouteSpecGrpcRouteRetryPolicyPerRetryTimeoutOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetRouteSpecGrpcRouteRetryPolicyPerRetryTimeoutOutput) +func (i GetVirtualNodeSpecBackendDefaultArgs) ToGetVirtualNodeSpecBackendDefaultOutputWithContext(ctx context.Context) GetVirtualNodeSpecBackendDefaultOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetVirtualNodeSpecBackendDefaultOutput) } -// GetRouteSpecGrpcRouteRetryPolicyPerRetryTimeoutArrayInput is an input type that accepts GetRouteSpecGrpcRouteRetryPolicyPerRetryTimeoutArray and GetRouteSpecGrpcRouteRetryPolicyPerRetryTimeoutArrayOutput values. -// You can construct a concrete instance of `GetRouteSpecGrpcRouteRetryPolicyPerRetryTimeoutArrayInput` via: +// GetVirtualNodeSpecBackendDefaultArrayInput is an input type that accepts GetVirtualNodeSpecBackendDefaultArray and GetVirtualNodeSpecBackendDefaultArrayOutput values. +// You can construct a concrete instance of `GetVirtualNodeSpecBackendDefaultArrayInput` via: // -// GetRouteSpecGrpcRouteRetryPolicyPerRetryTimeoutArray{ GetRouteSpecGrpcRouteRetryPolicyPerRetryTimeoutArgs{...} } -type GetRouteSpecGrpcRouteRetryPolicyPerRetryTimeoutArrayInput interface { +// GetVirtualNodeSpecBackendDefaultArray{ GetVirtualNodeSpecBackendDefaultArgs{...} } +type GetVirtualNodeSpecBackendDefaultArrayInput interface { pulumi.Input - ToGetRouteSpecGrpcRouteRetryPolicyPerRetryTimeoutArrayOutput() GetRouteSpecGrpcRouteRetryPolicyPerRetryTimeoutArrayOutput - ToGetRouteSpecGrpcRouteRetryPolicyPerRetryTimeoutArrayOutputWithContext(context.Context) GetRouteSpecGrpcRouteRetryPolicyPerRetryTimeoutArrayOutput + ToGetVirtualNodeSpecBackendDefaultArrayOutput() GetVirtualNodeSpecBackendDefaultArrayOutput + ToGetVirtualNodeSpecBackendDefaultArrayOutputWithContext(context.Context) GetVirtualNodeSpecBackendDefaultArrayOutput } -type GetRouteSpecGrpcRouteRetryPolicyPerRetryTimeoutArray []GetRouteSpecGrpcRouteRetryPolicyPerRetryTimeoutInput +type GetVirtualNodeSpecBackendDefaultArray []GetVirtualNodeSpecBackendDefaultInput -func (GetRouteSpecGrpcRouteRetryPolicyPerRetryTimeoutArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetRouteSpecGrpcRouteRetryPolicyPerRetryTimeout)(nil)).Elem() +func (GetVirtualNodeSpecBackendDefaultArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetVirtualNodeSpecBackendDefault)(nil)).Elem() } -func (i GetRouteSpecGrpcRouteRetryPolicyPerRetryTimeoutArray) ToGetRouteSpecGrpcRouteRetryPolicyPerRetryTimeoutArrayOutput() GetRouteSpecGrpcRouteRetryPolicyPerRetryTimeoutArrayOutput { - return i.ToGetRouteSpecGrpcRouteRetryPolicyPerRetryTimeoutArrayOutputWithContext(context.Background()) +func (i GetVirtualNodeSpecBackendDefaultArray) ToGetVirtualNodeSpecBackendDefaultArrayOutput() GetVirtualNodeSpecBackendDefaultArrayOutput { + return i.ToGetVirtualNodeSpecBackendDefaultArrayOutputWithContext(context.Background()) } -func (i GetRouteSpecGrpcRouteRetryPolicyPerRetryTimeoutArray) ToGetRouteSpecGrpcRouteRetryPolicyPerRetryTimeoutArrayOutputWithContext(ctx context.Context) GetRouteSpecGrpcRouteRetryPolicyPerRetryTimeoutArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetRouteSpecGrpcRouteRetryPolicyPerRetryTimeoutArrayOutput) +func (i GetVirtualNodeSpecBackendDefaultArray) ToGetVirtualNodeSpecBackendDefaultArrayOutputWithContext(ctx context.Context) GetVirtualNodeSpecBackendDefaultArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetVirtualNodeSpecBackendDefaultArrayOutput) } -type GetRouteSpecGrpcRouteRetryPolicyPerRetryTimeoutOutput struct{ *pulumi.OutputState } +type GetVirtualNodeSpecBackendDefaultOutput struct{ *pulumi.OutputState } -func (GetRouteSpecGrpcRouteRetryPolicyPerRetryTimeoutOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetRouteSpecGrpcRouteRetryPolicyPerRetryTimeout)(nil)).Elem() +func (GetVirtualNodeSpecBackendDefaultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetVirtualNodeSpecBackendDefault)(nil)).Elem() } -func (o GetRouteSpecGrpcRouteRetryPolicyPerRetryTimeoutOutput) ToGetRouteSpecGrpcRouteRetryPolicyPerRetryTimeoutOutput() GetRouteSpecGrpcRouteRetryPolicyPerRetryTimeoutOutput { +func (o GetVirtualNodeSpecBackendDefaultOutput) ToGetVirtualNodeSpecBackendDefaultOutput() GetVirtualNodeSpecBackendDefaultOutput { return o } -func (o GetRouteSpecGrpcRouteRetryPolicyPerRetryTimeoutOutput) ToGetRouteSpecGrpcRouteRetryPolicyPerRetryTimeoutOutputWithContext(ctx context.Context) GetRouteSpecGrpcRouteRetryPolicyPerRetryTimeoutOutput { +func (o GetVirtualNodeSpecBackendDefaultOutput) ToGetVirtualNodeSpecBackendDefaultOutputWithContext(ctx context.Context) GetVirtualNodeSpecBackendDefaultOutput { return o } -func (o GetRouteSpecGrpcRouteRetryPolicyPerRetryTimeoutOutput) Unit() pulumi.StringOutput { - return o.ApplyT(func(v GetRouteSpecGrpcRouteRetryPolicyPerRetryTimeout) string { return v.Unit }).(pulumi.StringOutput) -} - -func (o GetRouteSpecGrpcRouteRetryPolicyPerRetryTimeoutOutput) Value() pulumi.IntOutput { - return o.ApplyT(func(v GetRouteSpecGrpcRouteRetryPolicyPerRetryTimeout) int { return v.Value }).(pulumi.IntOutput) +func (o GetVirtualNodeSpecBackendDefaultOutput) ClientPolicies() GetVirtualNodeSpecBackendDefaultClientPolicyArrayOutput { + return o.ApplyT(func(v GetVirtualNodeSpecBackendDefault) []GetVirtualNodeSpecBackendDefaultClientPolicy { + return v.ClientPolicies + }).(GetVirtualNodeSpecBackendDefaultClientPolicyArrayOutput) } -type GetRouteSpecGrpcRouteRetryPolicyPerRetryTimeoutArrayOutput struct{ *pulumi.OutputState } +type GetVirtualNodeSpecBackendDefaultArrayOutput struct{ *pulumi.OutputState } -func (GetRouteSpecGrpcRouteRetryPolicyPerRetryTimeoutArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetRouteSpecGrpcRouteRetryPolicyPerRetryTimeout)(nil)).Elem() +func (GetVirtualNodeSpecBackendDefaultArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetVirtualNodeSpecBackendDefault)(nil)).Elem() } -func (o GetRouteSpecGrpcRouteRetryPolicyPerRetryTimeoutArrayOutput) ToGetRouteSpecGrpcRouteRetryPolicyPerRetryTimeoutArrayOutput() GetRouteSpecGrpcRouteRetryPolicyPerRetryTimeoutArrayOutput { +func (o GetVirtualNodeSpecBackendDefaultArrayOutput) ToGetVirtualNodeSpecBackendDefaultArrayOutput() GetVirtualNodeSpecBackendDefaultArrayOutput { return o } -func (o GetRouteSpecGrpcRouteRetryPolicyPerRetryTimeoutArrayOutput) ToGetRouteSpecGrpcRouteRetryPolicyPerRetryTimeoutArrayOutputWithContext(ctx context.Context) GetRouteSpecGrpcRouteRetryPolicyPerRetryTimeoutArrayOutput { +func (o GetVirtualNodeSpecBackendDefaultArrayOutput) ToGetVirtualNodeSpecBackendDefaultArrayOutputWithContext(ctx context.Context) GetVirtualNodeSpecBackendDefaultArrayOutput { return o } -func (o GetRouteSpecGrpcRouteRetryPolicyPerRetryTimeoutArrayOutput) Index(i pulumi.IntInput) GetRouteSpecGrpcRouteRetryPolicyPerRetryTimeoutOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetRouteSpecGrpcRouteRetryPolicyPerRetryTimeout { - return vs[0].([]GetRouteSpecGrpcRouteRetryPolicyPerRetryTimeout)[vs[1].(int)] - }).(GetRouteSpecGrpcRouteRetryPolicyPerRetryTimeoutOutput) +func (o GetVirtualNodeSpecBackendDefaultArrayOutput) Index(i pulumi.IntInput) GetVirtualNodeSpecBackendDefaultOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetVirtualNodeSpecBackendDefault { + return vs[0].([]GetVirtualNodeSpecBackendDefault)[vs[1].(int)] + }).(GetVirtualNodeSpecBackendDefaultOutput) } -type GetRouteSpecGrpcRouteTimeout struct { - Idles []GetRouteSpecGrpcRouteTimeoutIdle `pulumi:"idles"` - PerRequests []GetRouteSpecGrpcRouteTimeoutPerRequest `pulumi:"perRequests"` +type GetVirtualNodeSpecBackendDefaultClientPolicy struct { + Tls []GetVirtualNodeSpecBackendDefaultClientPolicyTl `pulumi:"tls"` } -// GetRouteSpecGrpcRouteTimeoutInput is an input type that accepts GetRouteSpecGrpcRouteTimeoutArgs and GetRouteSpecGrpcRouteTimeoutOutput values. -// You can construct a concrete instance of `GetRouteSpecGrpcRouteTimeoutInput` via: +// GetVirtualNodeSpecBackendDefaultClientPolicyInput is an input type that accepts GetVirtualNodeSpecBackendDefaultClientPolicyArgs and GetVirtualNodeSpecBackendDefaultClientPolicyOutput values. +// You can construct a concrete instance of `GetVirtualNodeSpecBackendDefaultClientPolicyInput` via: // -// GetRouteSpecGrpcRouteTimeoutArgs{...} -type GetRouteSpecGrpcRouteTimeoutInput interface { +// GetVirtualNodeSpecBackendDefaultClientPolicyArgs{...} +type GetVirtualNodeSpecBackendDefaultClientPolicyInput interface { pulumi.Input - ToGetRouteSpecGrpcRouteTimeoutOutput() GetRouteSpecGrpcRouteTimeoutOutput - ToGetRouteSpecGrpcRouteTimeoutOutputWithContext(context.Context) GetRouteSpecGrpcRouteTimeoutOutput + ToGetVirtualNodeSpecBackendDefaultClientPolicyOutput() GetVirtualNodeSpecBackendDefaultClientPolicyOutput + ToGetVirtualNodeSpecBackendDefaultClientPolicyOutputWithContext(context.Context) GetVirtualNodeSpecBackendDefaultClientPolicyOutput } -type GetRouteSpecGrpcRouteTimeoutArgs struct { - Idles GetRouteSpecGrpcRouteTimeoutIdleArrayInput `pulumi:"idles"` - PerRequests GetRouteSpecGrpcRouteTimeoutPerRequestArrayInput `pulumi:"perRequests"` +type GetVirtualNodeSpecBackendDefaultClientPolicyArgs struct { + Tls GetVirtualNodeSpecBackendDefaultClientPolicyTlArrayInput `pulumi:"tls"` } -func (GetRouteSpecGrpcRouteTimeoutArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetRouteSpecGrpcRouteTimeout)(nil)).Elem() +func (GetVirtualNodeSpecBackendDefaultClientPolicyArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetVirtualNodeSpecBackendDefaultClientPolicy)(nil)).Elem() } -func (i GetRouteSpecGrpcRouteTimeoutArgs) ToGetRouteSpecGrpcRouteTimeoutOutput() GetRouteSpecGrpcRouteTimeoutOutput { - return i.ToGetRouteSpecGrpcRouteTimeoutOutputWithContext(context.Background()) +func (i GetVirtualNodeSpecBackendDefaultClientPolicyArgs) ToGetVirtualNodeSpecBackendDefaultClientPolicyOutput() GetVirtualNodeSpecBackendDefaultClientPolicyOutput { + return i.ToGetVirtualNodeSpecBackendDefaultClientPolicyOutputWithContext(context.Background()) } -func (i GetRouteSpecGrpcRouteTimeoutArgs) ToGetRouteSpecGrpcRouteTimeoutOutputWithContext(ctx context.Context) GetRouteSpecGrpcRouteTimeoutOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetRouteSpecGrpcRouteTimeoutOutput) +func (i GetVirtualNodeSpecBackendDefaultClientPolicyArgs) ToGetVirtualNodeSpecBackendDefaultClientPolicyOutputWithContext(ctx context.Context) GetVirtualNodeSpecBackendDefaultClientPolicyOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetVirtualNodeSpecBackendDefaultClientPolicyOutput) } -// GetRouteSpecGrpcRouteTimeoutArrayInput is an input type that accepts GetRouteSpecGrpcRouteTimeoutArray and GetRouteSpecGrpcRouteTimeoutArrayOutput values. -// You can construct a concrete instance of `GetRouteSpecGrpcRouteTimeoutArrayInput` via: +// GetVirtualNodeSpecBackendDefaultClientPolicyArrayInput is an input type that accepts GetVirtualNodeSpecBackendDefaultClientPolicyArray and GetVirtualNodeSpecBackendDefaultClientPolicyArrayOutput values. +// You can construct a concrete instance of `GetVirtualNodeSpecBackendDefaultClientPolicyArrayInput` via: // -// GetRouteSpecGrpcRouteTimeoutArray{ GetRouteSpecGrpcRouteTimeoutArgs{...} } -type GetRouteSpecGrpcRouteTimeoutArrayInput interface { +// GetVirtualNodeSpecBackendDefaultClientPolicyArray{ GetVirtualNodeSpecBackendDefaultClientPolicyArgs{...} } +type GetVirtualNodeSpecBackendDefaultClientPolicyArrayInput interface { pulumi.Input - ToGetRouteSpecGrpcRouteTimeoutArrayOutput() GetRouteSpecGrpcRouteTimeoutArrayOutput - ToGetRouteSpecGrpcRouteTimeoutArrayOutputWithContext(context.Context) GetRouteSpecGrpcRouteTimeoutArrayOutput + ToGetVirtualNodeSpecBackendDefaultClientPolicyArrayOutput() GetVirtualNodeSpecBackendDefaultClientPolicyArrayOutput + ToGetVirtualNodeSpecBackendDefaultClientPolicyArrayOutputWithContext(context.Context) GetVirtualNodeSpecBackendDefaultClientPolicyArrayOutput } -type GetRouteSpecGrpcRouteTimeoutArray []GetRouteSpecGrpcRouteTimeoutInput +type GetVirtualNodeSpecBackendDefaultClientPolicyArray []GetVirtualNodeSpecBackendDefaultClientPolicyInput -func (GetRouteSpecGrpcRouteTimeoutArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetRouteSpecGrpcRouteTimeout)(nil)).Elem() +func (GetVirtualNodeSpecBackendDefaultClientPolicyArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetVirtualNodeSpecBackendDefaultClientPolicy)(nil)).Elem() } -func (i GetRouteSpecGrpcRouteTimeoutArray) ToGetRouteSpecGrpcRouteTimeoutArrayOutput() GetRouteSpecGrpcRouteTimeoutArrayOutput { - return i.ToGetRouteSpecGrpcRouteTimeoutArrayOutputWithContext(context.Background()) +func (i GetVirtualNodeSpecBackendDefaultClientPolicyArray) ToGetVirtualNodeSpecBackendDefaultClientPolicyArrayOutput() GetVirtualNodeSpecBackendDefaultClientPolicyArrayOutput { + return i.ToGetVirtualNodeSpecBackendDefaultClientPolicyArrayOutputWithContext(context.Background()) } -func (i GetRouteSpecGrpcRouteTimeoutArray) ToGetRouteSpecGrpcRouteTimeoutArrayOutputWithContext(ctx context.Context) GetRouteSpecGrpcRouteTimeoutArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetRouteSpecGrpcRouteTimeoutArrayOutput) +func (i GetVirtualNodeSpecBackendDefaultClientPolicyArray) ToGetVirtualNodeSpecBackendDefaultClientPolicyArrayOutputWithContext(ctx context.Context) GetVirtualNodeSpecBackendDefaultClientPolicyArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetVirtualNodeSpecBackendDefaultClientPolicyArrayOutput) } -type GetRouteSpecGrpcRouteTimeoutOutput struct{ *pulumi.OutputState } +type GetVirtualNodeSpecBackendDefaultClientPolicyOutput struct{ *pulumi.OutputState } -func (GetRouteSpecGrpcRouteTimeoutOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetRouteSpecGrpcRouteTimeout)(nil)).Elem() +func (GetVirtualNodeSpecBackendDefaultClientPolicyOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetVirtualNodeSpecBackendDefaultClientPolicy)(nil)).Elem() } -func (o GetRouteSpecGrpcRouteTimeoutOutput) ToGetRouteSpecGrpcRouteTimeoutOutput() GetRouteSpecGrpcRouteTimeoutOutput { +func (o GetVirtualNodeSpecBackendDefaultClientPolicyOutput) ToGetVirtualNodeSpecBackendDefaultClientPolicyOutput() GetVirtualNodeSpecBackendDefaultClientPolicyOutput { return o } -func (o GetRouteSpecGrpcRouteTimeoutOutput) ToGetRouteSpecGrpcRouteTimeoutOutputWithContext(ctx context.Context) GetRouteSpecGrpcRouteTimeoutOutput { +func (o GetVirtualNodeSpecBackendDefaultClientPolicyOutput) ToGetVirtualNodeSpecBackendDefaultClientPolicyOutputWithContext(ctx context.Context) GetVirtualNodeSpecBackendDefaultClientPolicyOutput { return o } -func (o GetRouteSpecGrpcRouteTimeoutOutput) Idles() GetRouteSpecGrpcRouteTimeoutIdleArrayOutput { - return o.ApplyT(func(v GetRouteSpecGrpcRouteTimeout) []GetRouteSpecGrpcRouteTimeoutIdle { return v.Idles }).(GetRouteSpecGrpcRouteTimeoutIdleArrayOutput) -} - -func (o GetRouteSpecGrpcRouteTimeoutOutput) PerRequests() GetRouteSpecGrpcRouteTimeoutPerRequestArrayOutput { - return o.ApplyT(func(v GetRouteSpecGrpcRouteTimeout) []GetRouteSpecGrpcRouteTimeoutPerRequest { return v.PerRequests }).(GetRouteSpecGrpcRouteTimeoutPerRequestArrayOutput) +func (o GetVirtualNodeSpecBackendDefaultClientPolicyOutput) Tls() GetVirtualNodeSpecBackendDefaultClientPolicyTlArrayOutput { + return o.ApplyT(func(v GetVirtualNodeSpecBackendDefaultClientPolicy) []GetVirtualNodeSpecBackendDefaultClientPolicyTl { + return v.Tls + }).(GetVirtualNodeSpecBackendDefaultClientPolicyTlArrayOutput) } -type GetRouteSpecGrpcRouteTimeoutArrayOutput struct{ *pulumi.OutputState } +type GetVirtualNodeSpecBackendDefaultClientPolicyArrayOutput struct{ *pulumi.OutputState } -func (GetRouteSpecGrpcRouteTimeoutArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetRouteSpecGrpcRouteTimeout)(nil)).Elem() +func (GetVirtualNodeSpecBackendDefaultClientPolicyArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetVirtualNodeSpecBackendDefaultClientPolicy)(nil)).Elem() } -func (o GetRouteSpecGrpcRouteTimeoutArrayOutput) ToGetRouteSpecGrpcRouteTimeoutArrayOutput() GetRouteSpecGrpcRouteTimeoutArrayOutput { +func (o GetVirtualNodeSpecBackendDefaultClientPolicyArrayOutput) ToGetVirtualNodeSpecBackendDefaultClientPolicyArrayOutput() GetVirtualNodeSpecBackendDefaultClientPolicyArrayOutput { return o } -func (o GetRouteSpecGrpcRouteTimeoutArrayOutput) ToGetRouteSpecGrpcRouteTimeoutArrayOutputWithContext(ctx context.Context) GetRouteSpecGrpcRouteTimeoutArrayOutput { +func (o GetVirtualNodeSpecBackendDefaultClientPolicyArrayOutput) ToGetVirtualNodeSpecBackendDefaultClientPolicyArrayOutputWithContext(ctx context.Context) GetVirtualNodeSpecBackendDefaultClientPolicyArrayOutput { return o } -func (o GetRouteSpecGrpcRouteTimeoutArrayOutput) Index(i pulumi.IntInput) GetRouteSpecGrpcRouteTimeoutOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetRouteSpecGrpcRouteTimeout { - return vs[0].([]GetRouteSpecGrpcRouteTimeout)[vs[1].(int)] - }).(GetRouteSpecGrpcRouteTimeoutOutput) +func (o GetVirtualNodeSpecBackendDefaultClientPolicyArrayOutput) Index(i pulumi.IntInput) GetVirtualNodeSpecBackendDefaultClientPolicyOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetVirtualNodeSpecBackendDefaultClientPolicy { + return vs[0].([]GetVirtualNodeSpecBackendDefaultClientPolicy)[vs[1].(int)] + }).(GetVirtualNodeSpecBackendDefaultClientPolicyOutput) } -type GetRouteSpecGrpcRouteTimeoutIdle struct { - Unit string `pulumi:"unit"` - Value int `pulumi:"value"` +type GetVirtualNodeSpecBackendDefaultClientPolicyTl struct { + Certificates []GetVirtualNodeSpecBackendDefaultClientPolicyTlCertificate `pulumi:"certificates"` + Enforce bool `pulumi:"enforce"` + Ports []int `pulumi:"ports"` + Validations []GetVirtualNodeSpecBackendDefaultClientPolicyTlValidation `pulumi:"validations"` } -// GetRouteSpecGrpcRouteTimeoutIdleInput is an input type that accepts GetRouteSpecGrpcRouteTimeoutIdleArgs and GetRouteSpecGrpcRouteTimeoutIdleOutput values. -// You can construct a concrete instance of `GetRouteSpecGrpcRouteTimeoutIdleInput` via: +// GetVirtualNodeSpecBackendDefaultClientPolicyTlInput is an input type that accepts GetVirtualNodeSpecBackendDefaultClientPolicyTlArgs and GetVirtualNodeSpecBackendDefaultClientPolicyTlOutput values. +// You can construct a concrete instance of `GetVirtualNodeSpecBackendDefaultClientPolicyTlInput` via: // -// GetRouteSpecGrpcRouteTimeoutIdleArgs{...} -type GetRouteSpecGrpcRouteTimeoutIdleInput interface { +// GetVirtualNodeSpecBackendDefaultClientPolicyTlArgs{...} +type GetVirtualNodeSpecBackendDefaultClientPolicyTlInput interface { pulumi.Input - ToGetRouteSpecGrpcRouteTimeoutIdleOutput() GetRouteSpecGrpcRouteTimeoutIdleOutput - ToGetRouteSpecGrpcRouteTimeoutIdleOutputWithContext(context.Context) GetRouteSpecGrpcRouteTimeoutIdleOutput + ToGetVirtualNodeSpecBackendDefaultClientPolicyTlOutput() GetVirtualNodeSpecBackendDefaultClientPolicyTlOutput + ToGetVirtualNodeSpecBackendDefaultClientPolicyTlOutputWithContext(context.Context) GetVirtualNodeSpecBackendDefaultClientPolicyTlOutput } -type GetRouteSpecGrpcRouteTimeoutIdleArgs struct { - Unit pulumi.StringInput `pulumi:"unit"` - Value pulumi.IntInput `pulumi:"value"` +type GetVirtualNodeSpecBackendDefaultClientPolicyTlArgs struct { + Certificates GetVirtualNodeSpecBackendDefaultClientPolicyTlCertificateArrayInput `pulumi:"certificates"` + Enforce pulumi.BoolInput `pulumi:"enforce"` + Ports pulumi.IntArrayInput `pulumi:"ports"` + Validations GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationArrayInput `pulumi:"validations"` } -func (GetRouteSpecGrpcRouteTimeoutIdleArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetRouteSpecGrpcRouteTimeoutIdle)(nil)).Elem() +func (GetVirtualNodeSpecBackendDefaultClientPolicyTlArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetVirtualNodeSpecBackendDefaultClientPolicyTl)(nil)).Elem() } -func (i GetRouteSpecGrpcRouteTimeoutIdleArgs) ToGetRouteSpecGrpcRouteTimeoutIdleOutput() GetRouteSpecGrpcRouteTimeoutIdleOutput { - return i.ToGetRouteSpecGrpcRouteTimeoutIdleOutputWithContext(context.Background()) +func (i GetVirtualNodeSpecBackendDefaultClientPolicyTlArgs) ToGetVirtualNodeSpecBackendDefaultClientPolicyTlOutput() GetVirtualNodeSpecBackendDefaultClientPolicyTlOutput { + return i.ToGetVirtualNodeSpecBackendDefaultClientPolicyTlOutputWithContext(context.Background()) } -func (i GetRouteSpecGrpcRouteTimeoutIdleArgs) ToGetRouteSpecGrpcRouteTimeoutIdleOutputWithContext(ctx context.Context) GetRouteSpecGrpcRouteTimeoutIdleOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetRouteSpecGrpcRouteTimeoutIdleOutput) +func (i GetVirtualNodeSpecBackendDefaultClientPolicyTlArgs) ToGetVirtualNodeSpecBackendDefaultClientPolicyTlOutputWithContext(ctx context.Context) GetVirtualNodeSpecBackendDefaultClientPolicyTlOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetVirtualNodeSpecBackendDefaultClientPolicyTlOutput) } -// GetRouteSpecGrpcRouteTimeoutIdleArrayInput is an input type that accepts GetRouteSpecGrpcRouteTimeoutIdleArray and GetRouteSpecGrpcRouteTimeoutIdleArrayOutput values. -// You can construct a concrete instance of `GetRouteSpecGrpcRouteTimeoutIdleArrayInput` via: +// GetVirtualNodeSpecBackendDefaultClientPolicyTlArrayInput is an input type that accepts GetVirtualNodeSpecBackendDefaultClientPolicyTlArray and GetVirtualNodeSpecBackendDefaultClientPolicyTlArrayOutput values. +// You can construct a concrete instance of `GetVirtualNodeSpecBackendDefaultClientPolicyTlArrayInput` via: // -// GetRouteSpecGrpcRouteTimeoutIdleArray{ GetRouteSpecGrpcRouteTimeoutIdleArgs{...} } -type GetRouteSpecGrpcRouteTimeoutIdleArrayInput interface { +// GetVirtualNodeSpecBackendDefaultClientPolicyTlArray{ GetVirtualNodeSpecBackendDefaultClientPolicyTlArgs{...} } +type GetVirtualNodeSpecBackendDefaultClientPolicyTlArrayInput interface { pulumi.Input - ToGetRouteSpecGrpcRouteTimeoutIdleArrayOutput() GetRouteSpecGrpcRouteTimeoutIdleArrayOutput - ToGetRouteSpecGrpcRouteTimeoutIdleArrayOutputWithContext(context.Context) GetRouteSpecGrpcRouteTimeoutIdleArrayOutput + ToGetVirtualNodeSpecBackendDefaultClientPolicyTlArrayOutput() GetVirtualNodeSpecBackendDefaultClientPolicyTlArrayOutput + ToGetVirtualNodeSpecBackendDefaultClientPolicyTlArrayOutputWithContext(context.Context) GetVirtualNodeSpecBackendDefaultClientPolicyTlArrayOutput } -type GetRouteSpecGrpcRouteTimeoutIdleArray []GetRouteSpecGrpcRouteTimeoutIdleInput +type GetVirtualNodeSpecBackendDefaultClientPolicyTlArray []GetVirtualNodeSpecBackendDefaultClientPolicyTlInput -func (GetRouteSpecGrpcRouteTimeoutIdleArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetRouteSpecGrpcRouteTimeoutIdle)(nil)).Elem() +func (GetVirtualNodeSpecBackendDefaultClientPolicyTlArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetVirtualNodeSpecBackendDefaultClientPolicyTl)(nil)).Elem() } -func (i GetRouteSpecGrpcRouteTimeoutIdleArray) ToGetRouteSpecGrpcRouteTimeoutIdleArrayOutput() GetRouteSpecGrpcRouteTimeoutIdleArrayOutput { - return i.ToGetRouteSpecGrpcRouteTimeoutIdleArrayOutputWithContext(context.Background()) +func (i GetVirtualNodeSpecBackendDefaultClientPolicyTlArray) ToGetVirtualNodeSpecBackendDefaultClientPolicyTlArrayOutput() GetVirtualNodeSpecBackendDefaultClientPolicyTlArrayOutput { + return i.ToGetVirtualNodeSpecBackendDefaultClientPolicyTlArrayOutputWithContext(context.Background()) } -func (i GetRouteSpecGrpcRouteTimeoutIdleArray) ToGetRouteSpecGrpcRouteTimeoutIdleArrayOutputWithContext(ctx context.Context) GetRouteSpecGrpcRouteTimeoutIdleArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetRouteSpecGrpcRouteTimeoutIdleArrayOutput) +func (i GetVirtualNodeSpecBackendDefaultClientPolicyTlArray) ToGetVirtualNodeSpecBackendDefaultClientPolicyTlArrayOutputWithContext(ctx context.Context) GetVirtualNodeSpecBackendDefaultClientPolicyTlArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetVirtualNodeSpecBackendDefaultClientPolicyTlArrayOutput) } -type GetRouteSpecGrpcRouteTimeoutIdleOutput struct{ *pulumi.OutputState } +type GetVirtualNodeSpecBackendDefaultClientPolicyTlOutput struct{ *pulumi.OutputState } -func (GetRouteSpecGrpcRouteTimeoutIdleOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetRouteSpecGrpcRouteTimeoutIdle)(nil)).Elem() +func (GetVirtualNodeSpecBackendDefaultClientPolicyTlOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetVirtualNodeSpecBackendDefaultClientPolicyTl)(nil)).Elem() } -func (o GetRouteSpecGrpcRouteTimeoutIdleOutput) ToGetRouteSpecGrpcRouteTimeoutIdleOutput() GetRouteSpecGrpcRouteTimeoutIdleOutput { +func (o GetVirtualNodeSpecBackendDefaultClientPolicyTlOutput) ToGetVirtualNodeSpecBackendDefaultClientPolicyTlOutput() GetVirtualNodeSpecBackendDefaultClientPolicyTlOutput { return o } -func (o GetRouteSpecGrpcRouteTimeoutIdleOutput) ToGetRouteSpecGrpcRouteTimeoutIdleOutputWithContext(ctx context.Context) GetRouteSpecGrpcRouteTimeoutIdleOutput { +func (o GetVirtualNodeSpecBackendDefaultClientPolicyTlOutput) ToGetVirtualNodeSpecBackendDefaultClientPolicyTlOutputWithContext(ctx context.Context) GetVirtualNodeSpecBackendDefaultClientPolicyTlOutput { return o } -func (o GetRouteSpecGrpcRouteTimeoutIdleOutput) Unit() pulumi.StringOutput { - return o.ApplyT(func(v GetRouteSpecGrpcRouteTimeoutIdle) string { return v.Unit }).(pulumi.StringOutput) +func (o GetVirtualNodeSpecBackendDefaultClientPolicyTlOutput) Certificates() GetVirtualNodeSpecBackendDefaultClientPolicyTlCertificateArrayOutput { + return o.ApplyT(func(v GetVirtualNodeSpecBackendDefaultClientPolicyTl) []GetVirtualNodeSpecBackendDefaultClientPolicyTlCertificate { + return v.Certificates + }).(GetVirtualNodeSpecBackendDefaultClientPolicyTlCertificateArrayOutput) } -func (o GetRouteSpecGrpcRouteTimeoutIdleOutput) Value() pulumi.IntOutput { - return o.ApplyT(func(v GetRouteSpecGrpcRouteTimeoutIdle) int { return v.Value }).(pulumi.IntOutput) +func (o GetVirtualNodeSpecBackendDefaultClientPolicyTlOutput) Enforce() pulumi.BoolOutput { + return o.ApplyT(func(v GetVirtualNodeSpecBackendDefaultClientPolicyTl) bool { return v.Enforce }).(pulumi.BoolOutput) } -type GetRouteSpecGrpcRouteTimeoutIdleArrayOutput struct{ *pulumi.OutputState } +func (o GetVirtualNodeSpecBackendDefaultClientPolicyTlOutput) Ports() pulumi.IntArrayOutput { + return o.ApplyT(func(v GetVirtualNodeSpecBackendDefaultClientPolicyTl) []int { return v.Ports }).(pulumi.IntArrayOutput) +} -func (GetRouteSpecGrpcRouteTimeoutIdleArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetRouteSpecGrpcRouteTimeoutIdle)(nil)).Elem() +func (o GetVirtualNodeSpecBackendDefaultClientPolicyTlOutput) Validations() GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationArrayOutput { + return o.ApplyT(func(v GetVirtualNodeSpecBackendDefaultClientPolicyTl) []GetVirtualNodeSpecBackendDefaultClientPolicyTlValidation { + return v.Validations + }).(GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationArrayOutput) } -func (o GetRouteSpecGrpcRouteTimeoutIdleArrayOutput) ToGetRouteSpecGrpcRouteTimeoutIdleArrayOutput() GetRouteSpecGrpcRouteTimeoutIdleArrayOutput { +type GetVirtualNodeSpecBackendDefaultClientPolicyTlArrayOutput struct{ *pulumi.OutputState } + +func (GetVirtualNodeSpecBackendDefaultClientPolicyTlArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetVirtualNodeSpecBackendDefaultClientPolicyTl)(nil)).Elem() +} + +func (o GetVirtualNodeSpecBackendDefaultClientPolicyTlArrayOutput) ToGetVirtualNodeSpecBackendDefaultClientPolicyTlArrayOutput() GetVirtualNodeSpecBackendDefaultClientPolicyTlArrayOutput { return o } -func (o GetRouteSpecGrpcRouteTimeoutIdleArrayOutput) ToGetRouteSpecGrpcRouteTimeoutIdleArrayOutputWithContext(ctx context.Context) GetRouteSpecGrpcRouteTimeoutIdleArrayOutput { +func (o GetVirtualNodeSpecBackendDefaultClientPolicyTlArrayOutput) ToGetVirtualNodeSpecBackendDefaultClientPolicyTlArrayOutputWithContext(ctx context.Context) GetVirtualNodeSpecBackendDefaultClientPolicyTlArrayOutput { return o } -func (o GetRouteSpecGrpcRouteTimeoutIdleArrayOutput) Index(i pulumi.IntInput) GetRouteSpecGrpcRouteTimeoutIdleOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetRouteSpecGrpcRouteTimeoutIdle { - return vs[0].([]GetRouteSpecGrpcRouteTimeoutIdle)[vs[1].(int)] - }).(GetRouteSpecGrpcRouteTimeoutIdleOutput) +func (o GetVirtualNodeSpecBackendDefaultClientPolicyTlArrayOutput) Index(i pulumi.IntInput) GetVirtualNodeSpecBackendDefaultClientPolicyTlOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetVirtualNodeSpecBackendDefaultClientPolicyTl { + return vs[0].([]GetVirtualNodeSpecBackendDefaultClientPolicyTl)[vs[1].(int)] + }).(GetVirtualNodeSpecBackendDefaultClientPolicyTlOutput) } -type GetRouteSpecGrpcRouteTimeoutPerRequest struct { - Unit string `pulumi:"unit"` - Value int `pulumi:"value"` +type GetVirtualNodeSpecBackendDefaultClientPolicyTlCertificate struct { + Files []GetVirtualNodeSpecBackendDefaultClientPolicyTlCertificateFile `pulumi:"files"` + Sds []GetVirtualNodeSpecBackendDefaultClientPolicyTlCertificateSd `pulumi:"sds"` } -// GetRouteSpecGrpcRouteTimeoutPerRequestInput is an input type that accepts GetRouteSpecGrpcRouteTimeoutPerRequestArgs and GetRouteSpecGrpcRouteTimeoutPerRequestOutput values. -// You can construct a concrete instance of `GetRouteSpecGrpcRouteTimeoutPerRequestInput` via: +// GetVirtualNodeSpecBackendDefaultClientPolicyTlCertificateInput is an input type that accepts GetVirtualNodeSpecBackendDefaultClientPolicyTlCertificateArgs and GetVirtualNodeSpecBackendDefaultClientPolicyTlCertificateOutput values. +// You can construct a concrete instance of `GetVirtualNodeSpecBackendDefaultClientPolicyTlCertificateInput` via: // -// GetRouteSpecGrpcRouteTimeoutPerRequestArgs{...} -type GetRouteSpecGrpcRouteTimeoutPerRequestInput interface { +// GetVirtualNodeSpecBackendDefaultClientPolicyTlCertificateArgs{...} +type GetVirtualNodeSpecBackendDefaultClientPolicyTlCertificateInput interface { pulumi.Input - ToGetRouteSpecGrpcRouteTimeoutPerRequestOutput() GetRouteSpecGrpcRouteTimeoutPerRequestOutput - ToGetRouteSpecGrpcRouteTimeoutPerRequestOutputWithContext(context.Context) GetRouteSpecGrpcRouteTimeoutPerRequestOutput + ToGetVirtualNodeSpecBackendDefaultClientPolicyTlCertificateOutput() GetVirtualNodeSpecBackendDefaultClientPolicyTlCertificateOutput + ToGetVirtualNodeSpecBackendDefaultClientPolicyTlCertificateOutputWithContext(context.Context) GetVirtualNodeSpecBackendDefaultClientPolicyTlCertificateOutput } -type GetRouteSpecGrpcRouteTimeoutPerRequestArgs struct { - Unit pulumi.StringInput `pulumi:"unit"` - Value pulumi.IntInput `pulumi:"value"` +type GetVirtualNodeSpecBackendDefaultClientPolicyTlCertificateArgs struct { + Files GetVirtualNodeSpecBackendDefaultClientPolicyTlCertificateFileArrayInput `pulumi:"files"` + Sds GetVirtualNodeSpecBackendDefaultClientPolicyTlCertificateSdArrayInput `pulumi:"sds"` } -func (GetRouteSpecGrpcRouteTimeoutPerRequestArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetRouteSpecGrpcRouteTimeoutPerRequest)(nil)).Elem() +func (GetVirtualNodeSpecBackendDefaultClientPolicyTlCertificateArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetVirtualNodeSpecBackendDefaultClientPolicyTlCertificate)(nil)).Elem() } -func (i GetRouteSpecGrpcRouteTimeoutPerRequestArgs) ToGetRouteSpecGrpcRouteTimeoutPerRequestOutput() GetRouteSpecGrpcRouteTimeoutPerRequestOutput { - return i.ToGetRouteSpecGrpcRouteTimeoutPerRequestOutputWithContext(context.Background()) +func (i GetVirtualNodeSpecBackendDefaultClientPolicyTlCertificateArgs) ToGetVirtualNodeSpecBackendDefaultClientPolicyTlCertificateOutput() GetVirtualNodeSpecBackendDefaultClientPolicyTlCertificateOutput { + return i.ToGetVirtualNodeSpecBackendDefaultClientPolicyTlCertificateOutputWithContext(context.Background()) } -func (i GetRouteSpecGrpcRouteTimeoutPerRequestArgs) ToGetRouteSpecGrpcRouteTimeoutPerRequestOutputWithContext(ctx context.Context) GetRouteSpecGrpcRouteTimeoutPerRequestOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetRouteSpecGrpcRouteTimeoutPerRequestOutput) +func (i GetVirtualNodeSpecBackendDefaultClientPolicyTlCertificateArgs) ToGetVirtualNodeSpecBackendDefaultClientPolicyTlCertificateOutputWithContext(ctx context.Context) GetVirtualNodeSpecBackendDefaultClientPolicyTlCertificateOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetVirtualNodeSpecBackendDefaultClientPolicyTlCertificateOutput) } -// GetRouteSpecGrpcRouteTimeoutPerRequestArrayInput is an input type that accepts GetRouteSpecGrpcRouteTimeoutPerRequestArray and GetRouteSpecGrpcRouteTimeoutPerRequestArrayOutput values. -// You can construct a concrete instance of `GetRouteSpecGrpcRouteTimeoutPerRequestArrayInput` via: +// GetVirtualNodeSpecBackendDefaultClientPolicyTlCertificateArrayInput is an input type that accepts GetVirtualNodeSpecBackendDefaultClientPolicyTlCertificateArray and GetVirtualNodeSpecBackendDefaultClientPolicyTlCertificateArrayOutput values. +// You can construct a concrete instance of `GetVirtualNodeSpecBackendDefaultClientPolicyTlCertificateArrayInput` via: // -// GetRouteSpecGrpcRouteTimeoutPerRequestArray{ GetRouteSpecGrpcRouteTimeoutPerRequestArgs{...} } -type GetRouteSpecGrpcRouteTimeoutPerRequestArrayInput interface { +// GetVirtualNodeSpecBackendDefaultClientPolicyTlCertificateArray{ GetVirtualNodeSpecBackendDefaultClientPolicyTlCertificateArgs{...} } +type GetVirtualNodeSpecBackendDefaultClientPolicyTlCertificateArrayInput interface { pulumi.Input - ToGetRouteSpecGrpcRouteTimeoutPerRequestArrayOutput() GetRouteSpecGrpcRouteTimeoutPerRequestArrayOutput - ToGetRouteSpecGrpcRouteTimeoutPerRequestArrayOutputWithContext(context.Context) GetRouteSpecGrpcRouteTimeoutPerRequestArrayOutput + ToGetVirtualNodeSpecBackendDefaultClientPolicyTlCertificateArrayOutput() GetVirtualNodeSpecBackendDefaultClientPolicyTlCertificateArrayOutput + ToGetVirtualNodeSpecBackendDefaultClientPolicyTlCertificateArrayOutputWithContext(context.Context) GetVirtualNodeSpecBackendDefaultClientPolicyTlCertificateArrayOutput } -type GetRouteSpecGrpcRouteTimeoutPerRequestArray []GetRouteSpecGrpcRouteTimeoutPerRequestInput +type GetVirtualNodeSpecBackendDefaultClientPolicyTlCertificateArray []GetVirtualNodeSpecBackendDefaultClientPolicyTlCertificateInput -func (GetRouteSpecGrpcRouteTimeoutPerRequestArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetRouteSpecGrpcRouteTimeoutPerRequest)(nil)).Elem() +func (GetVirtualNodeSpecBackendDefaultClientPolicyTlCertificateArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetVirtualNodeSpecBackendDefaultClientPolicyTlCertificate)(nil)).Elem() } -func (i GetRouteSpecGrpcRouteTimeoutPerRequestArray) ToGetRouteSpecGrpcRouteTimeoutPerRequestArrayOutput() GetRouteSpecGrpcRouteTimeoutPerRequestArrayOutput { - return i.ToGetRouteSpecGrpcRouteTimeoutPerRequestArrayOutputWithContext(context.Background()) +func (i GetVirtualNodeSpecBackendDefaultClientPolicyTlCertificateArray) ToGetVirtualNodeSpecBackendDefaultClientPolicyTlCertificateArrayOutput() GetVirtualNodeSpecBackendDefaultClientPolicyTlCertificateArrayOutput { + return i.ToGetVirtualNodeSpecBackendDefaultClientPolicyTlCertificateArrayOutputWithContext(context.Background()) } -func (i GetRouteSpecGrpcRouteTimeoutPerRequestArray) ToGetRouteSpecGrpcRouteTimeoutPerRequestArrayOutputWithContext(ctx context.Context) GetRouteSpecGrpcRouteTimeoutPerRequestArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetRouteSpecGrpcRouteTimeoutPerRequestArrayOutput) +func (i GetVirtualNodeSpecBackendDefaultClientPolicyTlCertificateArray) ToGetVirtualNodeSpecBackendDefaultClientPolicyTlCertificateArrayOutputWithContext(ctx context.Context) GetVirtualNodeSpecBackendDefaultClientPolicyTlCertificateArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetVirtualNodeSpecBackendDefaultClientPolicyTlCertificateArrayOutput) } -type GetRouteSpecGrpcRouteTimeoutPerRequestOutput struct{ *pulumi.OutputState } +type GetVirtualNodeSpecBackendDefaultClientPolicyTlCertificateOutput struct{ *pulumi.OutputState } -func (GetRouteSpecGrpcRouteTimeoutPerRequestOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetRouteSpecGrpcRouteTimeoutPerRequest)(nil)).Elem() +func (GetVirtualNodeSpecBackendDefaultClientPolicyTlCertificateOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetVirtualNodeSpecBackendDefaultClientPolicyTlCertificate)(nil)).Elem() } -func (o GetRouteSpecGrpcRouteTimeoutPerRequestOutput) ToGetRouteSpecGrpcRouteTimeoutPerRequestOutput() GetRouteSpecGrpcRouteTimeoutPerRequestOutput { +func (o GetVirtualNodeSpecBackendDefaultClientPolicyTlCertificateOutput) ToGetVirtualNodeSpecBackendDefaultClientPolicyTlCertificateOutput() GetVirtualNodeSpecBackendDefaultClientPolicyTlCertificateOutput { return o } -func (o GetRouteSpecGrpcRouteTimeoutPerRequestOutput) ToGetRouteSpecGrpcRouteTimeoutPerRequestOutputWithContext(ctx context.Context) GetRouteSpecGrpcRouteTimeoutPerRequestOutput { +func (o GetVirtualNodeSpecBackendDefaultClientPolicyTlCertificateOutput) ToGetVirtualNodeSpecBackendDefaultClientPolicyTlCertificateOutputWithContext(ctx context.Context) GetVirtualNodeSpecBackendDefaultClientPolicyTlCertificateOutput { return o } -func (o GetRouteSpecGrpcRouteTimeoutPerRequestOutput) Unit() pulumi.StringOutput { - return o.ApplyT(func(v GetRouteSpecGrpcRouteTimeoutPerRequest) string { return v.Unit }).(pulumi.StringOutput) +func (o GetVirtualNodeSpecBackendDefaultClientPolicyTlCertificateOutput) Files() GetVirtualNodeSpecBackendDefaultClientPolicyTlCertificateFileArrayOutput { + return o.ApplyT(func(v GetVirtualNodeSpecBackendDefaultClientPolicyTlCertificate) []GetVirtualNodeSpecBackendDefaultClientPolicyTlCertificateFile { + return v.Files + }).(GetVirtualNodeSpecBackendDefaultClientPolicyTlCertificateFileArrayOutput) } -func (o GetRouteSpecGrpcRouteTimeoutPerRequestOutput) Value() pulumi.IntOutput { - return o.ApplyT(func(v GetRouteSpecGrpcRouteTimeoutPerRequest) int { return v.Value }).(pulumi.IntOutput) +func (o GetVirtualNodeSpecBackendDefaultClientPolicyTlCertificateOutput) Sds() GetVirtualNodeSpecBackendDefaultClientPolicyTlCertificateSdArrayOutput { + return o.ApplyT(func(v GetVirtualNodeSpecBackendDefaultClientPolicyTlCertificate) []GetVirtualNodeSpecBackendDefaultClientPolicyTlCertificateSd { + return v.Sds + }).(GetVirtualNodeSpecBackendDefaultClientPolicyTlCertificateSdArrayOutput) } -type GetRouteSpecGrpcRouteTimeoutPerRequestArrayOutput struct{ *pulumi.OutputState } +type GetVirtualNodeSpecBackendDefaultClientPolicyTlCertificateArrayOutput struct{ *pulumi.OutputState } -func (GetRouteSpecGrpcRouteTimeoutPerRequestArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetRouteSpecGrpcRouteTimeoutPerRequest)(nil)).Elem() +func (GetVirtualNodeSpecBackendDefaultClientPolicyTlCertificateArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetVirtualNodeSpecBackendDefaultClientPolicyTlCertificate)(nil)).Elem() } -func (o GetRouteSpecGrpcRouteTimeoutPerRequestArrayOutput) ToGetRouteSpecGrpcRouteTimeoutPerRequestArrayOutput() GetRouteSpecGrpcRouteTimeoutPerRequestArrayOutput { +func (o GetVirtualNodeSpecBackendDefaultClientPolicyTlCertificateArrayOutput) ToGetVirtualNodeSpecBackendDefaultClientPolicyTlCertificateArrayOutput() GetVirtualNodeSpecBackendDefaultClientPolicyTlCertificateArrayOutput { return o } -func (o GetRouteSpecGrpcRouteTimeoutPerRequestArrayOutput) ToGetRouteSpecGrpcRouteTimeoutPerRequestArrayOutputWithContext(ctx context.Context) GetRouteSpecGrpcRouteTimeoutPerRequestArrayOutput { +func (o GetVirtualNodeSpecBackendDefaultClientPolicyTlCertificateArrayOutput) ToGetVirtualNodeSpecBackendDefaultClientPolicyTlCertificateArrayOutputWithContext(ctx context.Context) GetVirtualNodeSpecBackendDefaultClientPolicyTlCertificateArrayOutput { return o } -func (o GetRouteSpecGrpcRouteTimeoutPerRequestArrayOutput) Index(i pulumi.IntInput) GetRouteSpecGrpcRouteTimeoutPerRequestOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetRouteSpecGrpcRouteTimeoutPerRequest { - return vs[0].([]GetRouteSpecGrpcRouteTimeoutPerRequest)[vs[1].(int)] - }).(GetRouteSpecGrpcRouteTimeoutPerRequestOutput) +func (o GetVirtualNodeSpecBackendDefaultClientPolicyTlCertificateArrayOutput) Index(i pulumi.IntInput) GetVirtualNodeSpecBackendDefaultClientPolicyTlCertificateOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetVirtualNodeSpecBackendDefaultClientPolicyTlCertificate { + return vs[0].([]GetVirtualNodeSpecBackendDefaultClientPolicyTlCertificate)[vs[1].(int)] + }).(GetVirtualNodeSpecBackendDefaultClientPolicyTlCertificateOutput) } -type GetRouteSpecHttp2Route struct { - // Action to take if a match is determined. - Actions []GetRouteSpecHttp2RouteAction `pulumi:"actions"` - // Criteria for determining an HTTP request match. - Matches []GetRouteSpecHttp2RouteMatch `pulumi:"matches"` - // Retry policy. - RetryPolicies []GetRouteSpecHttp2RouteRetryPolicy `pulumi:"retryPolicies"` - // Types of timeouts. - Timeouts []GetRouteSpecHttp2RouteTimeout `pulumi:"timeouts"` +type GetVirtualNodeSpecBackendDefaultClientPolicyTlCertificateFile struct { + CertificateChain string `pulumi:"certificateChain"` + PrivateKey string `pulumi:"privateKey"` } -// GetRouteSpecHttp2RouteInput is an input type that accepts GetRouteSpecHttp2RouteArgs and GetRouteSpecHttp2RouteOutput values. -// You can construct a concrete instance of `GetRouteSpecHttp2RouteInput` via: +// GetVirtualNodeSpecBackendDefaultClientPolicyTlCertificateFileInput is an input type that accepts GetVirtualNodeSpecBackendDefaultClientPolicyTlCertificateFileArgs and GetVirtualNodeSpecBackendDefaultClientPolicyTlCertificateFileOutput values. +// You can construct a concrete instance of `GetVirtualNodeSpecBackendDefaultClientPolicyTlCertificateFileInput` via: // -// GetRouteSpecHttp2RouteArgs{...} -type GetRouteSpecHttp2RouteInput interface { +// GetVirtualNodeSpecBackendDefaultClientPolicyTlCertificateFileArgs{...} +type GetVirtualNodeSpecBackendDefaultClientPolicyTlCertificateFileInput interface { pulumi.Input - ToGetRouteSpecHttp2RouteOutput() GetRouteSpecHttp2RouteOutput - ToGetRouteSpecHttp2RouteOutputWithContext(context.Context) GetRouteSpecHttp2RouteOutput + ToGetVirtualNodeSpecBackendDefaultClientPolicyTlCertificateFileOutput() GetVirtualNodeSpecBackendDefaultClientPolicyTlCertificateFileOutput + ToGetVirtualNodeSpecBackendDefaultClientPolicyTlCertificateFileOutputWithContext(context.Context) GetVirtualNodeSpecBackendDefaultClientPolicyTlCertificateFileOutput } -type GetRouteSpecHttp2RouteArgs struct { - // Action to take if a match is determined. - Actions GetRouteSpecHttp2RouteActionArrayInput `pulumi:"actions"` - // Criteria for determining an HTTP request match. - Matches GetRouteSpecHttp2RouteMatchArrayInput `pulumi:"matches"` - // Retry policy. - RetryPolicies GetRouteSpecHttp2RouteRetryPolicyArrayInput `pulumi:"retryPolicies"` - // Types of timeouts. - Timeouts GetRouteSpecHttp2RouteTimeoutArrayInput `pulumi:"timeouts"` +type GetVirtualNodeSpecBackendDefaultClientPolicyTlCertificateFileArgs struct { + CertificateChain pulumi.StringInput `pulumi:"certificateChain"` + PrivateKey pulumi.StringInput `pulumi:"privateKey"` } -func (GetRouteSpecHttp2RouteArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetRouteSpecHttp2Route)(nil)).Elem() +func (GetVirtualNodeSpecBackendDefaultClientPolicyTlCertificateFileArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetVirtualNodeSpecBackendDefaultClientPolicyTlCertificateFile)(nil)).Elem() } -func (i GetRouteSpecHttp2RouteArgs) ToGetRouteSpecHttp2RouteOutput() GetRouteSpecHttp2RouteOutput { - return i.ToGetRouteSpecHttp2RouteOutputWithContext(context.Background()) +func (i GetVirtualNodeSpecBackendDefaultClientPolicyTlCertificateFileArgs) ToGetVirtualNodeSpecBackendDefaultClientPolicyTlCertificateFileOutput() GetVirtualNodeSpecBackendDefaultClientPolicyTlCertificateFileOutput { + return i.ToGetVirtualNodeSpecBackendDefaultClientPolicyTlCertificateFileOutputWithContext(context.Background()) } -func (i GetRouteSpecHttp2RouteArgs) ToGetRouteSpecHttp2RouteOutputWithContext(ctx context.Context) GetRouteSpecHttp2RouteOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetRouteSpecHttp2RouteOutput) +func (i GetVirtualNodeSpecBackendDefaultClientPolicyTlCertificateFileArgs) ToGetVirtualNodeSpecBackendDefaultClientPolicyTlCertificateFileOutputWithContext(ctx context.Context) GetVirtualNodeSpecBackendDefaultClientPolicyTlCertificateFileOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetVirtualNodeSpecBackendDefaultClientPolicyTlCertificateFileOutput) } -// GetRouteSpecHttp2RouteArrayInput is an input type that accepts GetRouteSpecHttp2RouteArray and GetRouteSpecHttp2RouteArrayOutput values. -// You can construct a concrete instance of `GetRouteSpecHttp2RouteArrayInput` via: +// GetVirtualNodeSpecBackendDefaultClientPolicyTlCertificateFileArrayInput is an input type that accepts GetVirtualNodeSpecBackendDefaultClientPolicyTlCertificateFileArray and GetVirtualNodeSpecBackendDefaultClientPolicyTlCertificateFileArrayOutput values. +// You can construct a concrete instance of `GetVirtualNodeSpecBackendDefaultClientPolicyTlCertificateFileArrayInput` via: // -// GetRouteSpecHttp2RouteArray{ GetRouteSpecHttp2RouteArgs{...} } -type GetRouteSpecHttp2RouteArrayInput interface { +// GetVirtualNodeSpecBackendDefaultClientPolicyTlCertificateFileArray{ GetVirtualNodeSpecBackendDefaultClientPolicyTlCertificateFileArgs{...} } +type GetVirtualNodeSpecBackendDefaultClientPolicyTlCertificateFileArrayInput interface { pulumi.Input - ToGetRouteSpecHttp2RouteArrayOutput() GetRouteSpecHttp2RouteArrayOutput - ToGetRouteSpecHttp2RouteArrayOutputWithContext(context.Context) GetRouteSpecHttp2RouteArrayOutput + ToGetVirtualNodeSpecBackendDefaultClientPolicyTlCertificateFileArrayOutput() GetVirtualNodeSpecBackendDefaultClientPolicyTlCertificateFileArrayOutput + ToGetVirtualNodeSpecBackendDefaultClientPolicyTlCertificateFileArrayOutputWithContext(context.Context) GetVirtualNodeSpecBackendDefaultClientPolicyTlCertificateFileArrayOutput } -type GetRouteSpecHttp2RouteArray []GetRouteSpecHttp2RouteInput +type GetVirtualNodeSpecBackendDefaultClientPolicyTlCertificateFileArray []GetVirtualNodeSpecBackendDefaultClientPolicyTlCertificateFileInput -func (GetRouteSpecHttp2RouteArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetRouteSpecHttp2Route)(nil)).Elem() +func (GetVirtualNodeSpecBackendDefaultClientPolicyTlCertificateFileArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetVirtualNodeSpecBackendDefaultClientPolicyTlCertificateFile)(nil)).Elem() } -func (i GetRouteSpecHttp2RouteArray) ToGetRouteSpecHttp2RouteArrayOutput() GetRouteSpecHttp2RouteArrayOutput { - return i.ToGetRouteSpecHttp2RouteArrayOutputWithContext(context.Background()) +func (i GetVirtualNodeSpecBackendDefaultClientPolicyTlCertificateFileArray) ToGetVirtualNodeSpecBackendDefaultClientPolicyTlCertificateFileArrayOutput() GetVirtualNodeSpecBackendDefaultClientPolicyTlCertificateFileArrayOutput { + return i.ToGetVirtualNodeSpecBackendDefaultClientPolicyTlCertificateFileArrayOutputWithContext(context.Background()) } -func (i GetRouteSpecHttp2RouteArray) ToGetRouteSpecHttp2RouteArrayOutputWithContext(ctx context.Context) GetRouteSpecHttp2RouteArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetRouteSpecHttp2RouteArrayOutput) +func (i GetVirtualNodeSpecBackendDefaultClientPolicyTlCertificateFileArray) ToGetVirtualNodeSpecBackendDefaultClientPolicyTlCertificateFileArrayOutputWithContext(ctx context.Context) GetVirtualNodeSpecBackendDefaultClientPolicyTlCertificateFileArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetVirtualNodeSpecBackendDefaultClientPolicyTlCertificateFileArrayOutput) } -type GetRouteSpecHttp2RouteOutput struct{ *pulumi.OutputState } +type GetVirtualNodeSpecBackendDefaultClientPolicyTlCertificateFileOutput struct{ *pulumi.OutputState } -func (GetRouteSpecHttp2RouteOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetRouteSpecHttp2Route)(nil)).Elem() +func (GetVirtualNodeSpecBackendDefaultClientPolicyTlCertificateFileOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetVirtualNodeSpecBackendDefaultClientPolicyTlCertificateFile)(nil)).Elem() } -func (o GetRouteSpecHttp2RouteOutput) ToGetRouteSpecHttp2RouteOutput() GetRouteSpecHttp2RouteOutput { +func (o GetVirtualNodeSpecBackendDefaultClientPolicyTlCertificateFileOutput) ToGetVirtualNodeSpecBackendDefaultClientPolicyTlCertificateFileOutput() GetVirtualNodeSpecBackendDefaultClientPolicyTlCertificateFileOutput { return o } -func (o GetRouteSpecHttp2RouteOutput) ToGetRouteSpecHttp2RouteOutputWithContext(ctx context.Context) GetRouteSpecHttp2RouteOutput { +func (o GetVirtualNodeSpecBackendDefaultClientPolicyTlCertificateFileOutput) ToGetVirtualNodeSpecBackendDefaultClientPolicyTlCertificateFileOutputWithContext(ctx context.Context) GetVirtualNodeSpecBackendDefaultClientPolicyTlCertificateFileOutput { return o } -// Action to take if a match is determined. -func (o GetRouteSpecHttp2RouteOutput) Actions() GetRouteSpecHttp2RouteActionArrayOutput { - return o.ApplyT(func(v GetRouteSpecHttp2Route) []GetRouteSpecHttp2RouteAction { return v.Actions }).(GetRouteSpecHttp2RouteActionArrayOutput) -} - -// Criteria for determining an HTTP request match. -func (o GetRouteSpecHttp2RouteOutput) Matches() GetRouteSpecHttp2RouteMatchArrayOutput { - return o.ApplyT(func(v GetRouteSpecHttp2Route) []GetRouteSpecHttp2RouteMatch { return v.Matches }).(GetRouteSpecHttp2RouteMatchArrayOutput) -} - -// Retry policy. -func (o GetRouteSpecHttp2RouteOutput) RetryPolicies() GetRouteSpecHttp2RouteRetryPolicyArrayOutput { - return o.ApplyT(func(v GetRouteSpecHttp2Route) []GetRouteSpecHttp2RouteRetryPolicy { return v.RetryPolicies }).(GetRouteSpecHttp2RouteRetryPolicyArrayOutput) +func (o GetVirtualNodeSpecBackendDefaultClientPolicyTlCertificateFileOutput) CertificateChain() pulumi.StringOutput { + return o.ApplyT(func(v GetVirtualNodeSpecBackendDefaultClientPolicyTlCertificateFile) string { + return v.CertificateChain + }).(pulumi.StringOutput) } -// Types of timeouts. -func (o GetRouteSpecHttp2RouteOutput) Timeouts() GetRouteSpecHttp2RouteTimeoutArrayOutput { - return o.ApplyT(func(v GetRouteSpecHttp2Route) []GetRouteSpecHttp2RouteTimeout { return v.Timeouts }).(GetRouteSpecHttp2RouteTimeoutArrayOutput) +func (o GetVirtualNodeSpecBackendDefaultClientPolicyTlCertificateFileOutput) PrivateKey() pulumi.StringOutput { + return o.ApplyT(func(v GetVirtualNodeSpecBackendDefaultClientPolicyTlCertificateFile) string { return v.PrivateKey }).(pulumi.StringOutput) } -type GetRouteSpecHttp2RouteArrayOutput struct{ *pulumi.OutputState } +type GetVirtualNodeSpecBackendDefaultClientPolicyTlCertificateFileArrayOutput struct{ *pulumi.OutputState } -func (GetRouteSpecHttp2RouteArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetRouteSpecHttp2Route)(nil)).Elem() +func (GetVirtualNodeSpecBackendDefaultClientPolicyTlCertificateFileArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetVirtualNodeSpecBackendDefaultClientPolicyTlCertificateFile)(nil)).Elem() } -func (o GetRouteSpecHttp2RouteArrayOutput) ToGetRouteSpecHttp2RouteArrayOutput() GetRouteSpecHttp2RouteArrayOutput { +func (o GetVirtualNodeSpecBackendDefaultClientPolicyTlCertificateFileArrayOutput) ToGetVirtualNodeSpecBackendDefaultClientPolicyTlCertificateFileArrayOutput() GetVirtualNodeSpecBackendDefaultClientPolicyTlCertificateFileArrayOutput { return o } -func (o GetRouteSpecHttp2RouteArrayOutput) ToGetRouteSpecHttp2RouteArrayOutputWithContext(ctx context.Context) GetRouteSpecHttp2RouteArrayOutput { +func (o GetVirtualNodeSpecBackendDefaultClientPolicyTlCertificateFileArrayOutput) ToGetVirtualNodeSpecBackendDefaultClientPolicyTlCertificateFileArrayOutputWithContext(ctx context.Context) GetVirtualNodeSpecBackendDefaultClientPolicyTlCertificateFileArrayOutput { return o } -func (o GetRouteSpecHttp2RouteArrayOutput) Index(i pulumi.IntInput) GetRouteSpecHttp2RouteOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetRouteSpecHttp2Route { - return vs[0].([]GetRouteSpecHttp2Route)[vs[1].(int)] - }).(GetRouteSpecHttp2RouteOutput) +func (o GetVirtualNodeSpecBackendDefaultClientPolicyTlCertificateFileArrayOutput) Index(i pulumi.IntInput) GetVirtualNodeSpecBackendDefaultClientPolicyTlCertificateFileOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetVirtualNodeSpecBackendDefaultClientPolicyTlCertificateFile { + return vs[0].([]GetVirtualNodeSpecBackendDefaultClientPolicyTlCertificateFile)[vs[1].(int)] + }).(GetVirtualNodeSpecBackendDefaultClientPolicyTlCertificateFileOutput) } -type GetRouteSpecHttp2RouteAction struct { - WeightedTargets []GetRouteSpecHttp2RouteActionWeightedTarget `pulumi:"weightedTargets"` +type GetVirtualNodeSpecBackendDefaultClientPolicyTlCertificateSd struct { + SecretName string `pulumi:"secretName"` } -// GetRouteSpecHttp2RouteActionInput is an input type that accepts GetRouteSpecHttp2RouteActionArgs and GetRouteSpecHttp2RouteActionOutput values. -// You can construct a concrete instance of `GetRouteSpecHttp2RouteActionInput` via: +// GetVirtualNodeSpecBackendDefaultClientPolicyTlCertificateSdInput is an input type that accepts GetVirtualNodeSpecBackendDefaultClientPolicyTlCertificateSdArgs and GetVirtualNodeSpecBackendDefaultClientPolicyTlCertificateSdOutput values. +// You can construct a concrete instance of `GetVirtualNodeSpecBackendDefaultClientPolicyTlCertificateSdInput` via: // -// GetRouteSpecHttp2RouteActionArgs{...} -type GetRouteSpecHttp2RouteActionInput interface { +// GetVirtualNodeSpecBackendDefaultClientPolicyTlCertificateSdArgs{...} +type GetVirtualNodeSpecBackendDefaultClientPolicyTlCertificateSdInput interface { pulumi.Input - ToGetRouteSpecHttp2RouteActionOutput() GetRouteSpecHttp2RouteActionOutput - ToGetRouteSpecHttp2RouteActionOutputWithContext(context.Context) GetRouteSpecHttp2RouteActionOutput + ToGetVirtualNodeSpecBackendDefaultClientPolicyTlCertificateSdOutput() GetVirtualNodeSpecBackendDefaultClientPolicyTlCertificateSdOutput + ToGetVirtualNodeSpecBackendDefaultClientPolicyTlCertificateSdOutputWithContext(context.Context) GetVirtualNodeSpecBackendDefaultClientPolicyTlCertificateSdOutput } -type GetRouteSpecHttp2RouteActionArgs struct { - WeightedTargets GetRouteSpecHttp2RouteActionWeightedTargetArrayInput `pulumi:"weightedTargets"` +type GetVirtualNodeSpecBackendDefaultClientPolicyTlCertificateSdArgs struct { + SecretName pulumi.StringInput `pulumi:"secretName"` } -func (GetRouteSpecHttp2RouteActionArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetRouteSpecHttp2RouteAction)(nil)).Elem() +func (GetVirtualNodeSpecBackendDefaultClientPolicyTlCertificateSdArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetVirtualNodeSpecBackendDefaultClientPolicyTlCertificateSd)(nil)).Elem() } -func (i GetRouteSpecHttp2RouteActionArgs) ToGetRouteSpecHttp2RouteActionOutput() GetRouteSpecHttp2RouteActionOutput { - return i.ToGetRouteSpecHttp2RouteActionOutputWithContext(context.Background()) +func (i GetVirtualNodeSpecBackendDefaultClientPolicyTlCertificateSdArgs) ToGetVirtualNodeSpecBackendDefaultClientPolicyTlCertificateSdOutput() GetVirtualNodeSpecBackendDefaultClientPolicyTlCertificateSdOutput { + return i.ToGetVirtualNodeSpecBackendDefaultClientPolicyTlCertificateSdOutputWithContext(context.Background()) } -func (i GetRouteSpecHttp2RouteActionArgs) ToGetRouteSpecHttp2RouteActionOutputWithContext(ctx context.Context) GetRouteSpecHttp2RouteActionOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetRouteSpecHttp2RouteActionOutput) +func (i GetVirtualNodeSpecBackendDefaultClientPolicyTlCertificateSdArgs) ToGetVirtualNodeSpecBackendDefaultClientPolicyTlCertificateSdOutputWithContext(ctx context.Context) GetVirtualNodeSpecBackendDefaultClientPolicyTlCertificateSdOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetVirtualNodeSpecBackendDefaultClientPolicyTlCertificateSdOutput) } -// GetRouteSpecHttp2RouteActionArrayInput is an input type that accepts GetRouteSpecHttp2RouteActionArray and GetRouteSpecHttp2RouteActionArrayOutput values. -// You can construct a concrete instance of `GetRouteSpecHttp2RouteActionArrayInput` via: +// GetVirtualNodeSpecBackendDefaultClientPolicyTlCertificateSdArrayInput is an input type that accepts GetVirtualNodeSpecBackendDefaultClientPolicyTlCertificateSdArray and GetVirtualNodeSpecBackendDefaultClientPolicyTlCertificateSdArrayOutput values. +// You can construct a concrete instance of `GetVirtualNodeSpecBackendDefaultClientPolicyTlCertificateSdArrayInput` via: // -// GetRouteSpecHttp2RouteActionArray{ GetRouteSpecHttp2RouteActionArgs{...} } -type GetRouteSpecHttp2RouteActionArrayInput interface { +// GetVirtualNodeSpecBackendDefaultClientPolicyTlCertificateSdArray{ GetVirtualNodeSpecBackendDefaultClientPolicyTlCertificateSdArgs{...} } +type GetVirtualNodeSpecBackendDefaultClientPolicyTlCertificateSdArrayInput interface { pulumi.Input - ToGetRouteSpecHttp2RouteActionArrayOutput() GetRouteSpecHttp2RouteActionArrayOutput - ToGetRouteSpecHttp2RouteActionArrayOutputWithContext(context.Context) GetRouteSpecHttp2RouteActionArrayOutput + ToGetVirtualNodeSpecBackendDefaultClientPolicyTlCertificateSdArrayOutput() GetVirtualNodeSpecBackendDefaultClientPolicyTlCertificateSdArrayOutput + ToGetVirtualNodeSpecBackendDefaultClientPolicyTlCertificateSdArrayOutputWithContext(context.Context) GetVirtualNodeSpecBackendDefaultClientPolicyTlCertificateSdArrayOutput } -type GetRouteSpecHttp2RouteActionArray []GetRouteSpecHttp2RouteActionInput +type GetVirtualNodeSpecBackendDefaultClientPolicyTlCertificateSdArray []GetVirtualNodeSpecBackendDefaultClientPolicyTlCertificateSdInput -func (GetRouteSpecHttp2RouteActionArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetRouteSpecHttp2RouteAction)(nil)).Elem() +func (GetVirtualNodeSpecBackendDefaultClientPolicyTlCertificateSdArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetVirtualNodeSpecBackendDefaultClientPolicyTlCertificateSd)(nil)).Elem() } -func (i GetRouteSpecHttp2RouteActionArray) ToGetRouteSpecHttp2RouteActionArrayOutput() GetRouteSpecHttp2RouteActionArrayOutput { - return i.ToGetRouteSpecHttp2RouteActionArrayOutputWithContext(context.Background()) +func (i GetVirtualNodeSpecBackendDefaultClientPolicyTlCertificateSdArray) ToGetVirtualNodeSpecBackendDefaultClientPolicyTlCertificateSdArrayOutput() GetVirtualNodeSpecBackendDefaultClientPolicyTlCertificateSdArrayOutput { + return i.ToGetVirtualNodeSpecBackendDefaultClientPolicyTlCertificateSdArrayOutputWithContext(context.Background()) } -func (i GetRouteSpecHttp2RouteActionArray) ToGetRouteSpecHttp2RouteActionArrayOutputWithContext(ctx context.Context) GetRouteSpecHttp2RouteActionArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetRouteSpecHttp2RouteActionArrayOutput) +func (i GetVirtualNodeSpecBackendDefaultClientPolicyTlCertificateSdArray) ToGetVirtualNodeSpecBackendDefaultClientPolicyTlCertificateSdArrayOutputWithContext(ctx context.Context) GetVirtualNodeSpecBackendDefaultClientPolicyTlCertificateSdArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetVirtualNodeSpecBackendDefaultClientPolicyTlCertificateSdArrayOutput) } -type GetRouteSpecHttp2RouteActionOutput struct{ *pulumi.OutputState } +type GetVirtualNodeSpecBackendDefaultClientPolicyTlCertificateSdOutput struct{ *pulumi.OutputState } -func (GetRouteSpecHttp2RouteActionOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetRouteSpecHttp2RouteAction)(nil)).Elem() +func (GetVirtualNodeSpecBackendDefaultClientPolicyTlCertificateSdOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetVirtualNodeSpecBackendDefaultClientPolicyTlCertificateSd)(nil)).Elem() } -func (o GetRouteSpecHttp2RouteActionOutput) ToGetRouteSpecHttp2RouteActionOutput() GetRouteSpecHttp2RouteActionOutput { +func (o GetVirtualNodeSpecBackendDefaultClientPolicyTlCertificateSdOutput) ToGetVirtualNodeSpecBackendDefaultClientPolicyTlCertificateSdOutput() GetVirtualNodeSpecBackendDefaultClientPolicyTlCertificateSdOutput { return o } -func (o GetRouteSpecHttp2RouteActionOutput) ToGetRouteSpecHttp2RouteActionOutputWithContext(ctx context.Context) GetRouteSpecHttp2RouteActionOutput { +func (o GetVirtualNodeSpecBackendDefaultClientPolicyTlCertificateSdOutput) ToGetVirtualNodeSpecBackendDefaultClientPolicyTlCertificateSdOutputWithContext(ctx context.Context) GetVirtualNodeSpecBackendDefaultClientPolicyTlCertificateSdOutput { return o } -func (o GetRouteSpecHttp2RouteActionOutput) WeightedTargets() GetRouteSpecHttp2RouteActionWeightedTargetArrayOutput { - return o.ApplyT(func(v GetRouteSpecHttp2RouteAction) []GetRouteSpecHttp2RouteActionWeightedTarget { - return v.WeightedTargets - }).(GetRouteSpecHttp2RouteActionWeightedTargetArrayOutput) +func (o GetVirtualNodeSpecBackendDefaultClientPolicyTlCertificateSdOutput) SecretName() pulumi.StringOutput { + return o.ApplyT(func(v GetVirtualNodeSpecBackendDefaultClientPolicyTlCertificateSd) string { return v.SecretName }).(pulumi.StringOutput) } -type GetRouteSpecHttp2RouteActionArrayOutput struct{ *pulumi.OutputState } +type GetVirtualNodeSpecBackendDefaultClientPolicyTlCertificateSdArrayOutput struct{ *pulumi.OutputState } -func (GetRouteSpecHttp2RouteActionArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetRouteSpecHttp2RouteAction)(nil)).Elem() +func (GetVirtualNodeSpecBackendDefaultClientPolicyTlCertificateSdArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetVirtualNodeSpecBackendDefaultClientPolicyTlCertificateSd)(nil)).Elem() } -func (o GetRouteSpecHttp2RouteActionArrayOutput) ToGetRouteSpecHttp2RouteActionArrayOutput() GetRouteSpecHttp2RouteActionArrayOutput { +func (o GetVirtualNodeSpecBackendDefaultClientPolicyTlCertificateSdArrayOutput) ToGetVirtualNodeSpecBackendDefaultClientPolicyTlCertificateSdArrayOutput() GetVirtualNodeSpecBackendDefaultClientPolicyTlCertificateSdArrayOutput { return o } -func (o GetRouteSpecHttp2RouteActionArrayOutput) ToGetRouteSpecHttp2RouteActionArrayOutputWithContext(ctx context.Context) GetRouteSpecHttp2RouteActionArrayOutput { +func (o GetVirtualNodeSpecBackendDefaultClientPolicyTlCertificateSdArrayOutput) ToGetVirtualNodeSpecBackendDefaultClientPolicyTlCertificateSdArrayOutputWithContext(ctx context.Context) GetVirtualNodeSpecBackendDefaultClientPolicyTlCertificateSdArrayOutput { return o } -func (o GetRouteSpecHttp2RouteActionArrayOutput) Index(i pulumi.IntInput) GetRouteSpecHttp2RouteActionOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetRouteSpecHttp2RouteAction { - return vs[0].([]GetRouteSpecHttp2RouteAction)[vs[1].(int)] - }).(GetRouteSpecHttp2RouteActionOutput) +func (o GetVirtualNodeSpecBackendDefaultClientPolicyTlCertificateSdArrayOutput) Index(i pulumi.IntInput) GetVirtualNodeSpecBackendDefaultClientPolicyTlCertificateSdOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetVirtualNodeSpecBackendDefaultClientPolicyTlCertificateSd { + return vs[0].([]GetVirtualNodeSpecBackendDefaultClientPolicyTlCertificateSd)[vs[1].(int)] + }).(GetVirtualNodeSpecBackendDefaultClientPolicyTlCertificateSdOutput) } -type GetRouteSpecHttp2RouteActionWeightedTarget struct { - Port int `pulumi:"port"` - VirtualNode string `pulumi:"virtualNode"` - Weight int `pulumi:"weight"` +type GetVirtualNodeSpecBackendDefaultClientPolicyTlValidation struct { + SubjectAlternativeNames []GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationSubjectAlternativeName `pulumi:"subjectAlternativeNames"` + Trusts []GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrust `pulumi:"trusts"` } -// GetRouteSpecHttp2RouteActionWeightedTargetInput is an input type that accepts GetRouteSpecHttp2RouteActionWeightedTargetArgs and GetRouteSpecHttp2RouteActionWeightedTargetOutput values. -// You can construct a concrete instance of `GetRouteSpecHttp2RouteActionWeightedTargetInput` via: +// GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationInput is an input type that accepts GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationArgs and GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationOutput values. +// You can construct a concrete instance of `GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationInput` via: // -// GetRouteSpecHttp2RouteActionWeightedTargetArgs{...} -type GetRouteSpecHttp2RouteActionWeightedTargetInput interface { +// GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationArgs{...} +type GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationInput interface { pulumi.Input - ToGetRouteSpecHttp2RouteActionWeightedTargetOutput() GetRouteSpecHttp2RouteActionWeightedTargetOutput - ToGetRouteSpecHttp2RouteActionWeightedTargetOutputWithContext(context.Context) GetRouteSpecHttp2RouteActionWeightedTargetOutput + ToGetVirtualNodeSpecBackendDefaultClientPolicyTlValidationOutput() GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationOutput + ToGetVirtualNodeSpecBackendDefaultClientPolicyTlValidationOutputWithContext(context.Context) GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationOutput } -type GetRouteSpecHttp2RouteActionWeightedTargetArgs struct { - Port pulumi.IntInput `pulumi:"port"` - VirtualNode pulumi.StringInput `pulumi:"virtualNode"` - Weight pulumi.IntInput `pulumi:"weight"` +type GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationArgs struct { + SubjectAlternativeNames GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameArrayInput `pulumi:"subjectAlternativeNames"` + Trusts GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustArrayInput `pulumi:"trusts"` } -func (GetRouteSpecHttp2RouteActionWeightedTargetArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetRouteSpecHttp2RouteActionWeightedTarget)(nil)).Elem() +func (GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetVirtualNodeSpecBackendDefaultClientPolicyTlValidation)(nil)).Elem() } -func (i GetRouteSpecHttp2RouteActionWeightedTargetArgs) ToGetRouteSpecHttp2RouteActionWeightedTargetOutput() GetRouteSpecHttp2RouteActionWeightedTargetOutput { - return i.ToGetRouteSpecHttp2RouteActionWeightedTargetOutputWithContext(context.Background()) +func (i GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationArgs) ToGetVirtualNodeSpecBackendDefaultClientPolicyTlValidationOutput() GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationOutput { + return i.ToGetVirtualNodeSpecBackendDefaultClientPolicyTlValidationOutputWithContext(context.Background()) } -func (i GetRouteSpecHttp2RouteActionWeightedTargetArgs) ToGetRouteSpecHttp2RouteActionWeightedTargetOutputWithContext(ctx context.Context) GetRouteSpecHttp2RouteActionWeightedTargetOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetRouteSpecHttp2RouteActionWeightedTargetOutput) +func (i GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationArgs) ToGetVirtualNodeSpecBackendDefaultClientPolicyTlValidationOutputWithContext(ctx context.Context) GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationOutput) } -// GetRouteSpecHttp2RouteActionWeightedTargetArrayInput is an input type that accepts GetRouteSpecHttp2RouteActionWeightedTargetArray and GetRouteSpecHttp2RouteActionWeightedTargetArrayOutput values. -// You can construct a concrete instance of `GetRouteSpecHttp2RouteActionWeightedTargetArrayInput` via: +// GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationArrayInput is an input type that accepts GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationArray and GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationArrayOutput values. +// You can construct a concrete instance of `GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationArrayInput` via: // -// GetRouteSpecHttp2RouteActionWeightedTargetArray{ GetRouteSpecHttp2RouteActionWeightedTargetArgs{...} } -type GetRouteSpecHttp2RouteActionWeightedTargetArrayInput interface { +// GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationArray{ GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationArgs{...} } +type GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationArrayInput interface { pulumi.Input - ToGetRouteSpecHttp2RouteActionWeightedTargetArrayOutput() GetRouteSpecHttp2RouteActionWeightedTargetArrayOutput - ToGetRouteSpecHttp2RouteActionWeightedTargetArrayOutputWithContext(context.Context) GetRouteSpecHttp2RouteActionWeightedTargetArrayOutput + ToGetVirtualNodeSpecBackendDefaultClientPolicyTlValidationArrayOutput() GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationArrayOutput + ToGetVirtualNodeSpecBackendDefaultClientPolicyTlValidationArrayOutputWithContext(context.Context) GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationArrayOutput } -type GetRouteSpecHttp2RouteActionWeightedTargetArray []GetRouteSpecHttp2RouteActionWeightedTargetInput +type GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationArray []GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationInput -func (GetRouteSpecHttp2RouteActionWeightedTargetArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetRouteSpecHttp2RouteActionWeightedTarget)(nil)).Elem() +func (GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetVirtualNodeSpecBackendDefaultClientPolicyTlValidation)(nil)).Elem() } -func (i GetRouteSpecHttp2RouteActionWeightedTargetArray) ToGetRouteSpecHttp2RouteActionWeightedTargetArrayOutput() GetRouteSpecHttp2RouteActionWeightedTargetArrayOutput { - return i.ToGetRouteSpecHttp2RouteActionWeightedTargetArrayOutputWithContext(context.Background()) +func (i GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationArray) ToGetVirtualNodeSpecBackendDefaultClientPolicyTlValidationArrayOutput() GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationArrayOutput { + return i.ToGetVirtualNodeSpecBackendDefaultClientPolicyTlValidationArrayOutputWithContext(context.Background()) } -func (i GetRouteSpecHttp2RouteActionWeightedTargetArray) ToGetRouteSpecHttp2RouteActionWeightedTargetArrayOutputWithContext(ctx context.Context) GetRouteSpecHttp2RouteActionWeightedTargetArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetRouteSpecHttp2RouteActionWeightedTargetArrayOutput) +func (i GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationArray) ToGetVirtualNodeSpecBackendDefaultClientPolicyTlValidationArrayOutputWithContext(ctx context.Context) GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationArrayOutput) } -type GetRouteSpecHttp2RouteActionWeightedTargetOutput struct{ *pulumi.OutputState } +type GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationOutput struct{ *pulumi.OutputState } -func (GetRouteSpecHttp2RouteActionWeightedTargetOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetRouteSpecHttp2RouteActionWeightedTarget)(nil)).Elem() +func (GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetVirtualNodeSpecBackendDefaultClientPolicyTlValidation)(nil)).Elem() } -func (o GetRouteSpecHttp2RouteActionWeightedTargetOutput) ToGetRouteSpecHttp2RouteActionWeightedTargetOutput() GetRouteSpecHttp2RouteActionWeightedTargetOutput { +func (o GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationOutput) ToGetVirtualNodeSpecBackendDefaultClientPolicyTlValidationOutput() GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationOutput { return o } -func (o GetRouteSpecHttp2RouteActionWeightedTargetOutput) ToGetRouteSpecHttp2RouteActionWeightedTargetOutputWithContext(ctx context.Context) GetRouteSpecHttp2RouteActionWeightedTargetOutput { +func (o GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationOutput) ToGetVirtualNodeSpecBackendDefaultClientPolicyTlValidationOutputWithContext(ctx context.Context) GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationOutput { return o } -func (o GetRouteSpecHttp2RouteActionWeightedTargetOutput) Port() pulumi.IntOutput { - return o.ApplyT(func(v GetRouteSpecHttp2RouteActionWeightedTarget) int { return v.Port }).(pulumi.IntOutput) -} - -func (o GetRouteSpecHttp2RouteActionWeightedTargetOutput) VirtualNode() pulumi.StringOutput { - return o.ApplyT(func(v GetRouteSpecHttp2RouteActionWeightedTarget) string { return v.VirtualNode }).(pulumi.StringOutput) +func (o GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationOutput) SubjectAlternativeNames() GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameArrayOutput { + return o.ApplyT(func(v GetVirtualNodeSpecBackendDefaultClientPolicyTlValidation) []GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationSubjectAlternativeName { + return v.SubjectAlternativeNames + }).(GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameArrayOutput) } -func (o GetRouteSpecHttp2RouteActionWeightedTargetOutput) Weight() pulumi.IntOutput { - return o.ApplyT(func(v GetRouteSpecHttp2RouteActionWeightedTarget) int { return v.Weight }).(pulumi.IntOutput) +func (o GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationOutput) Trusts() GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustArrayOutput { + return o.ApplyT(func(v GetVirtualNodeSpecBackendDefaultClientPolicyTlValidation) []GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrust { + return v.Trusts + }).(GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustArrayOutput) } -type GetRouteSpecHttp2RouteActionWeightedTargetArrayOutput struct{ *pulumi.OutputState } +type GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationArrayOutput struct{ *pulumi.OutputState } -func (GetRouteSpecHttp2RouteActionWeightedTargetArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetRouteSpecHttp2RouteActionWeightedTarget)(nil)).Elem() +func (GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetVirtualNodeSpecBackendDefaultClientPolicyTlValidation)(nil)).Elem() } -func (o GetRouteSpecHttp2RouteActionWeightedTargetArrayOutput) ToGetRouteSpecHttp2RouteActionWeightedTargetArrayOutput() GetRouteSpecHttp2RouteActionWeightedTargetArrayOutput { +func (o GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationArrayOutput) ToGetVirtualNodeSpecBackendDefaultClientPolicyTlValidationArrayOutput() GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationArrayOutput { return o } -func (o GetRouteSpecHttp2RouteActionWeightedTargetArrayOutput) ToGetRouteSpecHttp2RouteActionWeightedTargetArrayOutputWithContext(ctx context.Context) GetRouteSpecHttp2RouteActionWeightedTargetArrayOutput { +func (o GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationArrayOutput) ToGetVirtualNodeSpecBackendDefaultClientPolicyTlValidationArrayOutputWithContext(ctx context.Context) GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationArrayOutput { return o } -func (o GetRouteSpecHttp2RouteActionWeightedTargetArrayOutput) Index(i pulumi.IntInput) GetRouteSpecHttp2RouteActionWeightedTargetOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetRouteSpecHttp2RouteActionWeightedTarget { - return vs[0].([]GetRouteSpecHttp2RouteActionWeightedTarget)[vs[1].(int)] - }).(GetRouteSpecHttp2RouteActionWeightedTargetOutput) +func (o GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationArrayOutput) Index(i pulumi.IntInput) GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetVirtualNodeSpecBackendDefaultClientPolicyTlValidation { + return vs[0].([]GetVirtualNodeSpecBackendDefaultClientPolicyTlValidation)[vs[1].(int)] + }).(GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationOutput) } -type GetRouteSpecHttp2RouteMatch struct { - Headers []GetRouteSpecHttp2RouteMatchHeader `pulumi:"headers"` - Method string `pulumi:"method"` - Port int `pulumi:"port"` - Prefix string `pulumi:"prefix"` - Scheme string `pulumi:"scheme"` +type GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationSubjectAlternativeName struct { + Matches []GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameMatch `pulumi:"matches"` } -// GetRouteSpecHttp2RouteMatchInput is an input type that accepts GetRouteSpecHttp2RouteMatchArgs and GetRouteSpecHttp2RouteMatchOutput values. -// You can construct a concrete instance of `GetRouteSpecHttp2RouteMatchInput` via: +// GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameInput is an input type that accepts GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameArgs and GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameOutput values. +// You can construct a concrete instance of `GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameInput` via: // -// GetRouteSpecHttp2RouteMatchArgs{...} -type GetRouteSpecHttp2RouteMatchInput interface { +// GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameArgs{...} +type GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameInput interface { pulumi.Input - ToGetRouteSpecHttp2RouteMatchOutput() GetRouteSpecHttp2RouteMatchOutput - ToGetRouteSpecHttp2RouteMatchOutputWithContext(context.Context) GetRouteSpecHttp2RouteMatchOutput + ToGetVirtualNodeSpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameOutput() GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameOutput + ToGetVirtualNodeSpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameOutputWithContext(context.Context) GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameOutput } -type GetRouteSpecHttp2RouteMatchArgs struct { - Headers GetRouteSpecHttp2RouteMatchHeaderArrayInput `pulumi:"headers"` - Method pulumi.StringInput `pulumi:"method"` - Port pulumi.IntInput `pulumi:"port"` - Prefix pulumi.StringInput `pulumi:"prefix"` - Scheme pulumi.StringInput `pulumi:"scheme"` +type GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameArgs struct { + Matches GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameMatchArrayInput `pulumi:"matches"` } -func (GetRouteSpecHttp2RouteMatchArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetRouteSpecHttp2RouteMatch)(nil)).Elem() +func (GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationSubjectAlternativeName)(nil)).Elem() } -func (i GetRouteSpecHttp2RouteMatchArgs) ToGetRouteSpecHttp2RouteMatchOutput() GetRouteSpecHttp2RouteMatchOutput { - return i.ToGetRouteSpecHttp2RouteMatchOutputWithContext(context.Background()) +func (i GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameArgs) ToGetVirtualNodeSpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameOutput() GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameOutput { + return i.ToGetVirtualNodeSpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameOutputWithContext(context.Background()) } -func (i GetRouteSpecHttp2RouteMatchArgs) ToGetRouteSpecHttp2RouteMatchOutputWithContext(ctx context.Context) GetRouteSpecHttp2RouteMatchOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetRouteSpecHttp2RouteMatchOutput) +func (i GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameArgs) ToGetVirtualNodeSpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameOutputWithContext(ctx context.Context) GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameOutput) } -// GetRouteSpecHttp2RouteMatchArrayInput is an input type that accepts GetRouteSpecHttp2RouteMatchArray and GetRouteSpecHttp2RouteMatchArrayOutput values. -// You can construct a concrete instance of `GetRouteSpecHttp2RouteMatchArrayInput` via: +// GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameArrayInput is an input type that accepts GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameArray and GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameArrayOutput values. +// You can construct a concrete instance of `GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameArrayInput` via: // -// GetRouteSpecHttp2RouteMatchArray{ GetRouteSpecHttp2RouteMatchArgs{...} } -type GetRouteSpecHttp2RouteMatchArrayInput interface { +// GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameArray{ GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameArgs{...} } +type GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameArrayInput interface { pulumi.Input - ToGetRouteSpecHttp2RouteMatchArrayOutput() GetRouteSpecHttp2RouteMatchArrayOutput - ToGetRouteSpecHttp2RouteMatchArrayOutputWithContext(context.Context) GetRouteSpecHttp2RouteMatchArrayOutput + ToGetVirtualNodeSpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameArrayOutput() GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameArrayOutput + ToGetVirtualNodeSpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameArrayOutputWithContext(context.Context) GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameArrayOutput } -type GetRouteSpecHttp2RouteMatchArray []GetRouteSpecHttp2RouteMatchInput +type GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameArray []GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameInput -func (GetRouteSpecHttp2RouteMatchArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetRouteSpecHttp2RouteMatch)(nil)).Elem() +func (GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationSubjectAlternativeName)(nil)).Elem() } -func (i GetRouteSpecHttp2RouteMatchArray) ToGetRouteSpecHttp2RouteMatchArrayOutput() GetRouteSpecHttp2RouteMatchArrayOutput { - return i.ToGetRouteSpecHttp2RouteMatchArrayOutputWithContext(context.Background()) +func (i GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameArray) ToGetVirtualNodeSpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameArrayOutput() GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameArrayOutput { + return i.ToGetVirtualNodeSpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameArrayOutputWithContext(context.Background()) } -func (i GetRouteSpecHttp2RouteMatchArray) ToGetRouteSpecHttp2RouteMatchArrayOutputWithContext(ctx context.Context) GetRouteSpecHttp2RouteMatchArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetRouteSpecHttp2RouteMatchArrayOutput) +func (i GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameArray) ToGetVirtualNodeSpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameArrayOutputWithContext(ctx context.Context) GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameArrayOutput) } -type GetRouteSpecHttp2RouteMatchOutput struct{ *pulumi.OutputState } +type GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameOutput struct{ *pulumi.OutputState } -func (GetRouteSpecHttp2RouteMatchOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetRouteSpecHttp2RouteMatch)(nil)).Elem() +func (GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationSubjectAlternativeName)(nil)).Elem() } -func (o GetRouteSpecHttp2RouteMatchOutput) ToGetRouteSpecHttp2RouteMatchOutput() GetRouteSpecHttp2RouteMatchOutput { +func (o GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameOutput) ToGetVirtualNodeSpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameOutput() GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameOutput { return o } -func (o GetRouteSpecHttp2RouteMatchOutput) ToGetRouteSpecHttp2RouteMatchOutputWithContext(ctx context.Context) GetRouteSpecHttp2RouteMatchOutput { +func (o GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameOutput) ToGetVirtualNodeSpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameOutputWithContext(ctx context.Context) GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameOutput { return o } -func (o GetRouteSpecHttp2RouteMatchOutput) Headers() GetRouteSpecHttp2RouteMatchHeaderArrayOutput { - return o.ApplyT(func(v GetRouteSpecHttp2RouteMatch) []GetRouteSpecHttp2RouteMatchHeader { return v.Headers }).(GetRouteSpecHttp2RouteMatchHeaderArrayOutput) -} - -func (o GetRouteSpecHttp2RouteMatchOutput) Method() pulumi.StringOutput { - return o.ApplyT(func(v GetRouteSpecHttp2RouteMatch) string { return v.Method }).(pulumi.StringOutput) -} - -func (o GetRouteSpecHttp2RouteMatchOutput) Port() pulumi.IntOutput { - return o.ApplyT(func(v GetRouteSpecHttp2RouteMatch) int { return v.Port }).(pulumi.IntOutput) -} - -func (o GetRouteSpecHttp2RouteMatchOutput) Prefix() pulumi.StringOutput { - return o.ApplyT(func(v GetRouteSpecHttp2RouteMatch) string { return v.Prefix }).(pulumi.StringOutput) -} - -func (o GetRouteSpecHttp2RouteMatchOutput) Scheme() pulumi.StringOutput { - return o.ApplyT(func(v GetRouteSpecHttp2RouteMatch) string { return v.Scheme }).(pulumi.StringOutput) +func (o GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameOutput) Matches() GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameMatchArrayOutput { + return o.ApplyT(func(v GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationSubjectAlternativeName) []GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameMatch { + return v.Matches + }).(GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameMatchArrayOutput) } -type GetRouteSpecHttp2RouteMatchArrayOutput struct{ *pulumi.OutputState } +type GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameArrayOutput struct{ *pulumi.OutputState } -func (GetRouteSpecHttp2RouteMatchArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetRouteSpecHttp2RouteMatch)(nil)).Elem() +func (GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationSubjectAlternativeName)(nil)).Elem() } -func (o GetRouteSpecHttp2RouteMatchArrayOutput) ToGetRouteSpecHttp2RouteMatchArrayOutput() GetRouteSpecHttp2RouteMatchArrayOutput { +func (o GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameArrayOutput) ToGetVirtualNodeSpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameArrayOutput() GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameArrayOutput { return o } -func (o GetRouteSpecHttp2RouteMatchArrayOutput) ToGetRouteSpecHttp2RouteMatchArrayOutputWithContext(ctx context.Context) GetRouteSpecHttp2RouteMatchArrayOutput { +func (o GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameArrayOutput) ToGetVirtualNodeSpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameArrayOutputWithContext(ctx context.Context) GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameArrayOutput { return o } -func (o GetRouteSpecHttp2RouteMatchArrayOutput) Index(i pulumi.IntInput) GetRouteSpecHttp2RouteMatchOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetRouteSpecHttp2RouteMatch { - return vs[0].([]GetRouteSpecHttp2RouteMatch)[vs[1].(int)] - }).(GetRouteSpecHttp2RouteMatchOutput) +func (o GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameArrayOutput) Index(i pulumi.IntInput) GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationSubjectAlternativeName { + return vs[0].([]GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationSubjectAlternativeName)[vs[1].(int)] + }).(GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameOutput) } -type GetRouteSpecHttp2RouteMatchHeader struct { - Invert bool `pulumi:"invert"` - // Criteria for determining an HTTP request match. - Matches []GetRouteSpecHttp2RouteMatchHeaderMatch `pulumi:"matches"` - // Name of the route. - Name string `pulumi:"name"` +type GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameMatch struct { + Exacts []string `pulumi:"exacts"` } -// GetRouteSpecHttp2RouteMatchHeaderInput is an input type that accepts GetRouteSpecHttp2RouteMatchHeaderArgs and GetRouteSpecHttp2RouteMatchHeaderOutput values. -// You can construct a concrete instance of `GetRouteSpecHttp2RouteMatchHeaderInput` via: +// GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameMatchInput is an input type that accepts GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameMatchArgs and GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameMatchOutput values. +// You can construct a concrete instance of `GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameMatchInput` via: // -// GetRouteSpecHttp2RouteMatchHeaderArgs{...} -type GetRouteSpecHttp2RouteMatchHeaderInput interface { +// GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameMatchArgs{...} +type GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameMatchInput interface { pulumi.Input - ToGetRouteSpecHttp2RouteMatchHeaderOutput() GetRouteSpecHttp2RouteMatchHeaderOutput - ToGetRouteSpecHttp2RouteMatchHeaderOutputWithContext(context.Context) GetRouteSpecHttp2RouteMatchHeaderOutput + ToGetVirtualNodeSpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameMatchOutput() GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameMatchOutput + ToGetVirtualNodeSpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameMatchOutputWithContext(context.Context) GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameMatchOutput } -type GetRouteSpecHttp2RouteMatchHeaderArgs struct { - Invert pulumi.BoolInput `pulumi:"invert"` - // Criteria for determining an HTTP request match. - Matches GetRouteSpecHttp2RouteMatchHeaderMatchArrayInput `pulumi:"matches"` - // Name of the route. - Name pulumi.StringInput `pulumi:"name"` +type GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameMatchArgs struct { + Exacts pulumi.StringArrayInput `pulumi:"exacts"` } -func (GetRouteSpecHttp2RouteMatchHeaderArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetRouteSpecHttp2RouteMatchHeader)(nil)).Elem() +func (GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameMatchArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameMatch)(nil)).Elem() } -func (i GetRouteSpecHttp2RouteMatchHeaderArgs) ToGetRouteSpecHttp2RouteMatchHeaderOutput() GetRouteSpecHttp2RouteMatchHeaderOutput { - return i.ToGetRouteSpecHttp2RouteMatchHeaderOutputWithContext(context.Background()) +func (i GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameMatchArgs) ToGetVirtualNodeSpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameMatchOutput() GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameMatchOutput { + return i.ToGetVirtualNodeSpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameMatchOutputWithContext(context.Background()) } -func (i GetRouteSpecHttp2RouteMatchHeaderArgs) ToGetRouteSpecHttp2RouteMatchHeaderOutputWithContext(ctx context.Context) GetRouteSpecHttp2RouteMatchHeaderOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetRouteSpecHttp2RouteMatchHeaderOutput) +func (i GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameMatchArgs) ToGetVirtualNodeSpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameMatchOutputWithContext(ctx context.Context) GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameMatchOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameMatchOutput) } -// GetRouteSpecHttp2RouteMatchHeaderArrayInput is an input type that accepts GetRouteSpecHttp2RouteMatchHeaderArray and GetRouteSpecHttp2RouteMatchHeaderArrayOutput values. -// You can construct a concrete instance of `GetRouteSpecHttp2RouteMatchHeaderArrayInput` via: +// GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameMatchArrayInput is an input type that accepts GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameMatchArray and GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameMatchArrayOutput values. +// You can construct a concrete instance of `GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameMatchArrayInput` via: // -// GetRouteSpecHttp2RouteMatchHeaderArray{ GetRouteSpecHttp2RouteMatchHeaderArgs{...} } -type GetRouteSpecHttp2RouteMatchHeaderArrayInput interface { +// GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameMatchArray{ GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameMatchArgs{...} } +type GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameMatchArrayInput interface { pulumi.Input - ToGetRouteSpecHttp2RouteMatchHeaderArrayOutput() GetRouteSpecHttp2RouteMatchHeaderArrayOutput - ToGetRouteSpecHttp2RouteMatchHeaderArrayOutputWithContext(context.Context) GetRouteSpecHttp2RouteMatchHeaderArrayOutput + ToGetVirtualNodeSpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameMatchArrayOutput() GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameMatchArrayOutput + ToGetVirtualNodeSpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameMatchArrayOutputWithContext(context.Context) GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameMatchArrayOutput } -type GetRouteSpecHttp2RouteMatchHeaderArray []GetRouteSpecHttp2RouteMatchHeaderInput +type GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameMatchArray []GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameMatchInput -func (GetRouteSpecHttp2RouteMatchHeaderArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetRouteSpecHttp2RouteMatchHeader)(nil)).Elem() +func (GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameMatchArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameMatch)(nil)).Elem() } -func (i GetRouteSpecHttp2RouteMatchHeaderArray) ToGetRouteSpecHttp2RouteMatchHeaderArrayOutput() GetRouteSpecHttp2RouteMatchHeaderArrayOutput { - return i.ToGetRouteSpecHttp2RouteMatchHeaderArrayOutputWithContext(context.Background()) +func (i GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameMatchArray) ToGetVirtualNodeSpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameMatchArrayOutput() GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameMatchArrayOutput { + return i.ToGetVirtualNodeSpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameMatchArrayOutputWithContext(context.Background()) } -func (i GetRouteSpecHttp2RouteMatchHeaderArray) ToGetRouteSpecHttp2RouteMatchHeaderArrayOutputWithContext(ctx context.Context) GetRouteSpecHttp2RouteMatchHeaderArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetRouteSpecHttp2RouteMatchHeaderArrayOutput) +func (i GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameMatchArray) ToGetVirtualNodeSpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameMatchArrayOutputWithContext(ctx context.Context) GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameMatchArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameMatchArrayOutput) } -type GetRouteSpecHttp2RouteMatchHeaderOutput struct{ *pulumi.OutputState } +type GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameMatchOutput struct{ *pulumi.OutputState } -func (GetRouteSpecHttp2RouteMatchHeaderOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetRouteSpecHttp2RouteMatchHeader)(nil)).Elem() +func (GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameMatchOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameMatch)(nil)).Elem() } -func (o GetRouteSpecHttp2RouteMatchHeaderOutput) ToGetRouteSpecHttp2RouteMatchHeaderOutput() GetRouteSpecHttp2RouteMatchHeaderOutput { +func (o GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameMatchOutput) ToGetVirtualNodeSpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameMatchOutput() GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameMatchOutput { return o } -func (o GetRouteSpecHttp2RouteMatchHeaderOutput) ToGetRouteSpecHttp2RouteMatchHeaderOutputWithContext(ctx context.Context) GetRouteSpecHttp2RouteMatchHeaderOutput { +func (o GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameMatchOutput) ToGetVirtualNodeSpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameMatchOutputWithContext(ctx context.Context) GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameMatchOutput { return o } -func (o GetRouteSpecHttp2RouteMatchHeaderOutput) Invert() pulumi.BoolOutput { - return o.ApplyT(func(v GetRouteSpecHttp2RouteMatchHeader) bool { return v.Invert }).(pulumi.BoolOutput) -} - -// Criteria for determining an HTTP request match. -func (o GetRouteSpecHttp2RouteMatchHeaderOutput) Matches() GetRouteSpecHttp2RouteMatchHeaderMatchArrayOutput { - return o.ApplyT(func(v GetRouteSpecHttp2RouteMatchHeader) []GetRouteSpecHttp2RouteMatchHeaderMatch { return v.Matches }).(GetRouteSpecHttp2RouteMatchHeaderMatchArrayOutput) -} - -// Name of the route. -func (o GetRouteSpecHttp2RouteMatchHeaderOutput) Name() pulumi.StringOutput { - return o.ApplyT(func(v GetRouteSpecHttp2RouteMatchHeader) string { return v.Name }).(pulumi.StringOutput) +func (o GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameMatchOutput) Exacts() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameMatch) []string { + return v.Exacts + }).(pulumi.StringArrayOutput) } -type GetRouteSpecHttp2RouteMatchHeaderArrayOutput struct{ *pulumi.OutputState } +type GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameMatchArrayOutput struct{ *pulumi.OutputState } -func (GetRouteSpecHttp2RouteMatchHeaderArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetRouteSpecHttp2RouteMatchHeader)(nil)).Elem() +func (GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameMatchArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameMatch)(nil)).Elem() } -func (o GetRouteSpecHttp2RouteMatchHeaderArrayOutput) ToGetRouteSpecHttp2RouteMatchHeaderArrayOutput() GetRouteSpecHttp2RouteMatchHeaderArrayOutput { +func (o GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameMatchArrayOutput) ToGetVirtualNodeSpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameMatchArrayOutput() GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameMatchArrayOutput { return o } -func (o GetRouteSpecHttp2RouteMatchHeaderArrayOutput) ToGetRouteSpecHttp2RouteMatchHeaderArrayOutputWithContext(ctx context.Context) GetRouteSpecHttp2RouteMatchHeaderArrayOutput { +func (o GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameMatchArrayOutput) ToGetVirtualNodeSpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameMatchArrayOutputWithContext(ctx context.Context) GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameMatchArrayOutput { return o } -func (o GetRouteSpecHttp2RouteMatchHeaderArrayOutput) Index(i pulumi.IntInput) GetRouteSpecHttp2RouteMatchHeaderOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetRouteSpecHttp2RouteMatchHeader { - return vs[0].([]GetRouteSpecHttp2RouteMatchHeader)[vs[1].(int)] - }).(GetRouteSpecHttp2RouteMatchHeaderOutput) +func (o GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameMatchArrayOutput) Index(i pulumi.IntInput) GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameMatchOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameMatch { + return vs[0].([]GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameMatch)[vs[1].(int)] + }).(GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameMatchOutput) } -type GetRouteSpecHttp2RouteMatchHeaderMatch struct { - Exact string `pulumi:"exact"` - Prefix string `pulumi:"prefix"` - Ranges []GetRouteSpecHttp2RouteMatchHeaderMatchRange `pulumi:"ranges"` - Regex string `pulumi:"regex"` - Suffix string `pulumi:"suffix"` +type GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrust struct { + Acms []GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustAcm `pulumi:"acms"` + Files []GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustFile `pulumi:"files"` + Sds []GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustSd `pulumi:"sds"` } -// GetRouteSpecHttp2RouteMatchHeaderMatchInput is an input type that accepts GetRouteSpecHttp2RouteMatchHeaderMatchArgs and GetRouteSpecHttp2RouteMatchHeaderMatchOutput values. -// You can construct a concrete instance of `GetRouteSpecHttp2RouteMatchHeaderMatchInput` via: +// GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustInput is an input type that accepts GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustArgs and GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustOutput values. +// You can construct a concrete instance of `GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustInput` via: // -// GetRouteSpecHttp2RouteMatchHeaderMatchArgs{...} -type GetRouteSpecHttp2RouteMatchHeaderMatchInput interface { +// GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustArgs{...} +type GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustInput interface { pulumi.Input - ToGetRouteSpecHttp2RouteMatchHeaderMatchOutput() GetRouteSpecHttp2RouteMatchHeaderMatchOutput - ToGetRouteSpecHttp2RouteMatchHeaderMatchOutputWithContext(context.Context) GetRouteSpecHttp2RouteMatchHeaderMatchOutput + ToGetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustOutput() GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustOutput + ToGetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustOutputWithContext(context.Context) GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustOutput } -type GetRouteSpecHttp2RouteMatchHeaderMatchArgs struct { - Exact pulumi.StringInput `pulumi:"exact"` - Prefix pulumi.StringInput `pulumi:"prefix"` - Ranges GetRouteSpecHttp2RouteMatchHeaderMatchRangeArrayInput `pulumi:"ranges"` - Regex pulumi.StringInput `pulumi:"regex"` - Suffix pulumi.StringInput `pulumi:"suffix"` +type GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustArgs struct { + Acms GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustAcmArrayInput `pulumi:"acms"` + Files GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustFileArrayInput `pulumi:"files"` + Sds GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustSdArrayInput `pulumi:"sds"` } -func (GetRouteSpecHttp2RouteMatchHeaderMatchArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetRouteSpecHttp2RouteMatchHeaderMatch)(nil)).Elem() +func (GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrust)(nil)).Elem() } -func (i GetRouteSpecHttp2RouteMatchHeaderMatchArgs) ToGetRouteSpecHttp2RouteMatchHeaderMatchOutput() GetRouteSpecHttp2RouteMatchHeaderMatchOutput { - return i.ToGetRouteSpecHttp2RouteMatchHeaderMatchOutputWithContext(context.Background()) +func (i GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustArgs) ToGetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustOutput() GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustOutput { + return i.ToGetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustOutputWithContext(context.Background()) } -func (i GetRouteSpecHttp2RouteMatchHeaderMatchArgs) ToGetRouteSpecHttp2RouteMatchHeaderMatchOutputWithContext(ctx context.Context) GetRouteSpecHttp2RouteMatchHeaderMatchOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetRouteSpecHttp2RouteMatchHeaderMatchOutput) +func (i GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustArgs) ToGetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustOutputWithContext(ctx context.Context) GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustOutput) } -// GetRouteSpecHttp2RouteMatchHeaderMatchArrayInput is an input type that accepts GetRouteSpecHttp2RouteMatchHeaderMatchArray and GetRouteSpecHttp2RouteMatchHeaderMatchArrayOutput values. -// You can construct a concrete instance of `GetRouteSpecHttp2RouteMatchHeaderMatchArrayInput` via: +// GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustArrayInput is an input type that accepts GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustArray and GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustArrayOutput values. +// You can construct a concrete instance of `GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustArrayInput` via: // -// GetRouteSpecHttp2RouteMatchHeaderMatchArray{ GetRouteSpecHttp2RouteMatchHeaderMatchArgs{...} } -type GetRouteSpecHttp2RouteMatchHeaderMatchArrayInput interface { +// GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustArray{ GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustArgs{...} } +type GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustArrayInput interface { pulumi.Input - ToGetRouteSpecHttp2RouteMatchHeaderMatchArrayOutput() GetRouteSpecHttp2RouteMatchHeaderMatchArrayOutput - ToGetRouteSpecHttp2RouteMatchHeaderMatchArrayOutputWithContext(context.Context) GetRouteSpecHttp2RouteMatchHeaderMatchArrayOutput + ToGetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustArrayOutput() GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustArrayOutput + ToGetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustArrayOutputWithContext(context.Context) GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustArrayOutput } -type GetRouteSpecHttp2RouteMatchHeaderMatchArray []GetRouteSpecHttp2RouteMatchHeaderMatchInput - -func (GetRouteSpecHttp2RouteMatchHeaderMatchArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetRouteSpecHttp2RouteMatchHeaderMatch)(nil)).Elem() -} +type GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustArray []GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustInput -func (i GetRouteSpecHttp2RouteMatchHeaderMatchArray) ToGetRouteSpecHttp2RouteMatchHeaderMatchArrayOutput() GetRouteSpecHttp2RouteMatchHeaderMatchArrayOutput { - return i.ToGetRouteSpecHttp2RouteMatchHeaderMatchArrayOutputWithContext(context.Background()) +func (GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrust)(nil)).Elem() } -func (i GetRouteSpecHttp2RouteMatchHeaderMatchArray) ToGetRouteSpecHttp2RouteMatchHeaderMatchArrayOutputWithContext(ctx context.Context) GetRouteSpecHttp2RouteMatchHeaderMatchArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetRouteSpecHttp2RouteMatchHeaderMatchArrayOutput) +func (i GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustArray) ToGetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustArrayOutput() GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustArrayOutput { + return i.ToGetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustArrayOutputWithContext(context.Background()) } -type GetRouteSpecHttp2RouteMatchHeaderMatchOutput struct{ *pulumi.OutputState } - -func (GetRouteSpecHttp2RouteMatchHeaderMatchOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetRouteSpecHttp2RouteMatchHeaderMatch)(nil)).Elem() +func (i GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustArray) ToGetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustArrayOutputWithContext(ctx context.Context) GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustArrayOutput) } -func (o GetRouteSpecHttp2RouteMatchHeaderMatchOutput) ToGetRouteSpecHttp2RouteMatchHeaderMatchOutput() GetRouteSpecHttp2RouteMatchHeaderMatchOutput { - return o -} +type GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustOutput struct{ *pulumi.OutputState } -func (o GetRouteSpecHttp2RouteMatchHeaderMatchOutput) ToGetRouteSpecHttp2RouteMatchHeaderMatchOutputWithContext(ctx context.Context) GetRouteSpecHttp2RouteMatchHeaderMatchOutput { - return o +func (GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrust)(nil)).Elem() } -func (o GetRouteSpecHttp2RouteMatchHeaderMatchOutput) Exact() pulumi.StringOutput { - return o.ApplyT(func(v GetRouteSpecHttp2RouteMatchHeaderMatch) string { return v.Exact }).(pulumi.StringOutput) +func (o GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustOutput) ToGetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustOutput() GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustOutput { + return o } -func (o GetRouteSpecHttp2RouteMatchHeaderMatchOutput) Prefix() pulumi.StringOutput { - return o.ApplyT(func(v GetRouteSpecHttp2RouteMatchHeaderMatch) string { return v.Prefix }).(pulumi.StringOutput) +func (o GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustOutput) ToGetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustOutputWithContext(ctx context.Context) GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustOutput { + return o } -func (o GetRouteSpecHttp2RouteMatchHeaderMatchOutput) Ranges() GetRouteSpecHttp2RouteMatchHeaderMatchRangeArrayOutput { - return o.ApplyT(func(v GetRouteSpecHttp2RouteMatchHeaderMatch) []GetRouteSpecHttp2RouteMatchHeaderMatchRange { - return v.Ranges - }).(GetRouteSpecHttp2RouteMatchHeaderMatchRangeArrayOutput) +func (o GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustOutput) Acms() GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustAcmArrayOutput { + return o.ApplyT(func(v GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrust) []GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustAcm { + return v.Acms + }).(GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustAcmArrayOutput) } -func (o GetRouteSpecHttp2RouteMatchHeaderMatchOutput) Regex() pulumi.StringOutput { - return o.ApplyT(func(v GetRouteSpecHttp2RouteMatchHeaderMatch) string { return v.Regex }).(pulumi.StringOutput) +func (o GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustOutput) Files() GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustFileArrayOutput { + return o.ApplyT(func(v GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrust) []GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustFile { + return v.Files + }).(GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustFileArrayOutput) } -func (o GetRouteSpecHttp2RouteMatchHeaderMatchOutput) Suffix() pulumi.StringOutput { - return o.ApplyT(func(v GetRouteSpecHttp2RouteMatchHeaderMatch) string { return v.Suffix }).(pulumi.StringOutput) +func (o GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustOutput) Sds() GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustSdArrayOutput { + return o.ApplyT(func(v GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrust) []GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustSd { + return v.Sds + }).(GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustSdArrayOutput) } -type GetRouteSpecHttp2RouteMatchHeaderMatchArrayOutput struct{ *pulumi.OutputState } +type GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustArrayOutput struct{ *pulumi.OutputState } -func (GetRouteSpecHttp2RouteMatchHeaderMatchArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetRouteSpecHttp2RouteMatchHeaderMatch)(nil)).Elem() +func (GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrust)(nil)).Elem() } -func (o GetRouteSpecHttp2RouteMatchHeaderMatchArrayOutput) ToGetRouteSpecHttp2RouteMatchHeaderMatchArrayOutput() GetRouteSpecHttp2RouteMatchHeaderMatchArrayOutput { +func (o GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustArrayOutput) ToGetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustArrayOutput() GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustArrayOutput { return o } -func (o GetRouteSpecHttp2RouteMatchHeaderMatchArrayOutput) ToGetRouteSpecHttp2RouteMatchHeaderMatchArrayOutputWithContext(ctx context.Context) GetRouteSpecHttp2RouteMatchHeaderMatchArrayOutput { +func (o GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustArrayOutput) ToGetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustArrayOutputWithContext(ctx context.Context) GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustArrayOutput { return o } -func (o GetRouteSpecHttp2RouteMatchHeaderMatchArrayOutput) Index(i pulumi.IntInput) GetRouteSpecHttp2RouteMatchHeaderMatchOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetRouteSpecHttp2RouteMatchHeaderMatch { - return vs[0].([]GetRouteSpecHttp2RouteMatchHeaderMatch)[vs[1].(int)] - }).(GetRouteSpecHttp2RouteMatchHeaderMatchOutput) +func (o GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustArrayOutput) Index(i pulumi.IntInput) GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrust { + return vs[0].([]GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrust)[vs[1].(int)] + }).(GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustOutput) } -type GetRouteSpecHttp2RouteMatchHeaderMatchRange struct { - End int `pulumi:"end"` - Start int `pulumi:"start"` +type GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustAcm struct { + CertificateAuthorityArns []string `pulumi:"certificateAuthorityArns"` } -// GetRouteSpecHttp2RouteMatchHeaderMatchRangeInput is an input type that accepts GetRouteSpecHttp2RouteMatchHeaderMatchRangeArgs and GetRouteSpecHttp2RouteMatchHeaderMatchRangeOutput values. -// You can construct a concrete instance of `GetRouteSpecHttp2RouteMatchHeaderMatchRangeInput` via: +// GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustAcmInput is an input type that accepts GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustAcmArgs and GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustAcmOutput values. +// You can construct a concrete instance of `GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustAcmInput` via: // -// GetRouteSpecHttp2RouteMatchHeaderMatchRangeArgs{...} -type GetRouteSpecHttp2RouteMatchHeaderMatchRangeInput interface { +// GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustAcmArgs{...} +type GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustAcmInput interface { pulumi.Input - ToGetRouteSpecHttp2RouteMatchHeaderMatchRangeOutput() GetRouteSpecHttp2RouteMatchHeaderMatchRangeOutput - ToGetRouteSpecHttp2RouteMatchHeaderMatchRangeOutputWithContext(context.Context) GetRouteSpecHttp2RouteMatchHeaderMatchRangeOutput + ToGetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustAcmOutput() GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustAcmOutput + ToGetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustAcmOutputWithContext(context.Context) GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustAcmOutput } -type GetRouteSpecHttp2RouteMatchHeaderMatchRangeArgs struct { - End pulumi.IntInput `pulumi:"end"` - Start pulumi.IntInput `pulumi:"start"` +type GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustAcmArgs struct { + CertificateAuthorityArns pulumi.StringArrayInput `pulumi:"certificateAuthorityArns"` } -func (GetRouteSpecHttp2RouteMatchHeaderMatchRangeArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetRouteSpecHttp2RouteMatchHeaderMatchRange)(nil)).Elem() +func (GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustAcmArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustAcm)(nil)).Elem() } -func (i GetRouteSpecHttp2RouteMatchHeaderMatchRangeArgs) ToGetRouteSpecHttp2RouteMatchHeaderMatchRangeOutput() GetRouteSpecHttp2RouteMatchHeaderMatchRangeOutput { - return i.ToGetRouteSpecHttp2RouteMatchHeaderMatchRangeOutputWithContext(context.Background()) +func (i GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustAcmArgs) ToGetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustAcmOutput() GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustAcmOutput { + return i.ToGetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustAcmOutputWithContext(context.Background()) } -func (i GetRouteSpecHttp2RouteMatchHeaderMatchRangeArgs) ToGetRouteSpecHttp2RouteMatchHeaderMatchRangeOutputWithContext(ctx context.Context) GetRouteSpecHttp2RouteMatchHeaderMatchRangeOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetRouteSpecHttp2RouteMatchHeaderMatchRangeOutput) +func (i GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustAcmArgs) ToGetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustAcmOutputWithContext(ctx context.Context) GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustAcmOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustAcmOutput) } -// GetRouteSpecHttp2RouteMatchHeaderMatchRangeArrayInput is an input type that accepts GetRouteSpecHttp2RouteMatchHeaderMatchRangeArray and GetRouteSpecHttp2RouteMatchHeaderMatchRangeArrayOutput values. -// You can construct a concrete instance of `GetRouteSpecHttp2RouteMatchHeaderMatchRangeArrayInput` via: +// GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustAcmArrayInput is an input type that accepts GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustAcmArray and GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustAcmArrayOutput values. +// You can construct a concrete instance of `GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustAcmArrayInput` via: // -// GetRouteSpecHttp2RouteMatchHeaderMatchRangeArray{ GetRouteSpecHttp2RouteMatchHeaderMatchRangeArgs{...} } -type GetRouteSpecHttp2RouteMatchHeaderMatchRangeArrayInput interface { +// GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustAcmArray{ GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustAcmArgs{...} } +type GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustAcmArrayInput interface { pulumi.Input - ToGetRouteSpecHttp2RouteMatchHeaderMatchRangeArrayOutput() GetRouteSpecHttp2RouteMatchHeaderMatchRangeArrayOutput - ToGetRouteSpecHttp2RouteMatchHeaderMatchRangeArrayOutputWithContext(context.Context) GetRouteSpecHttp2RouteMatchHeaderMatchRangeArrayOutput + ToGetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustAcmArrayOutput() GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustAcmArrayOutput + ToGetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustAcmArrayOutputWithContext(context.Context) GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustAcmArrayOutput } -type GetRouteSpecHttp2RouteMatchHeaderMatchRangeArray []GetRouteSpecHttp2RouteMatchHeaderMatchRangeInput +type GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustAcmArray []GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustAcmInput -func (GetRouteSpecHttp2RouteMatchHeaderMatchRangeArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetRouteSpecHttp2RouteMatchHeaderMatchRange)(nil)).Elem() +func (GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustAcmArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustAcm)(nil)).Elem() } -func (i GetRouteSpecHttp2RouteMatchHeaderMatchRangeArray) ToGetRouteSpecHttp2RouteMatchHeaderMatchRangeArrayOutput() GetRouteSpecHttp2RouteMatchHeaderMatchRangeArrayOutput { - return i.ToGetRouteSpecHttp2RouteMatchHeaderMatchRangeArrayOutputWithContext(context.Background()) +func (i GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustAcmArray) ToGetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustAcmArrayOutput() GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustAcmArrayOutput { + return i.ToGetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustAcmArrayOutputWithContext(context.Background()) } -func (i GetRouteSpecHttp2RouteMatchHeaderMatchRangeArray) ToGetRouteSpecHttp2RouteMatchHeaderMatchRangeArrayOutputWithContext(ctx context.Context) GetRouteSpecHttp2RouteMatchHeaderMatchRangeArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetRouteSpecHttp2RouteMatchHeaderMatchRangeArrayOutput) +func (i GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustAcmArray) ToGetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustAcmArrayOutputWithContext(ctx context.Context) GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustAcmArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustAcmArrayOutput) } -type GetRouteSpecHttp2RouteMatchHeaderMatchRangeOutput struct{ *pulumi.OutputState } +type GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustAcmOutput struct{ *pulumi.OutputState } -func (GetRouteSpecHttp2RouteMatchHeaderMatchRangeOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetRouteSpecHttp2RouteMatchHeaderMatchRange)(nil)).Elem() +func (GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustAcmOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustAcm)(nil)).Elem() } -func (o GetRouteSpecHttp2RouteMatchHeaderMatchRangeOutput) ToGetRouteSpecHttp2RouteMatchHeaderMatchRangeOutput() GetRouteSpecHttp2RouteMatchHeaderMatchRangeOutput { +func (o GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustAcmOutput) ToGetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustAcmOutput() GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustAcmOutput { return o } -func (o GetRouteSpecHttp2RouteMatchHeaderMatchRangeOutput) ToGetRouteSpecHttp2RouteMatchHeaderMatchRangeOutputWithContext(ctx context.Context) GetRouteSpecHttp2RouteMatchHeaderMatchRangeOutput { +func (o GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustAcmOutput) ToGetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustAcmOutputWithContext(ctx context.Context) GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustAcmOutput { return o } -func (o GetRouteSpecHttp2RouteMatchHeaderMatchRangeOutput) End() pulumi.IntOutput { - return o.ApplyT(func(v GetRouteSpecHttp2RouteMatchHeaderMatchRange) int { return v.End }).(pulumi.IntOutput) -} - -func (o GetRouteSpecHttp2RouteMatchHeaderMatchRangeOutput) Start() pulumi.IntOutput { - return o.ApplyT(func(v GetRouteSpecHttp2RouteMatchHeaderMatchRange) int { return v.Start }).(pulumi.IntOutput) +func (o GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustAcmOutput) CertificateAuthorityArns() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustAcm) []string { + return v.CertificateAuthorityArns + }).(pulumi.StringArrayOutput) } -type GetRouteSpecHttp2RouteMatchHeaderMatchRangeArrayOutput struct{ *pulumi.OutputState } +type GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustAcmArrayOutput struct{ *pulumi.OutputState } -func (GetRouteSpecHttp2RouteMatchHeaderMatchRangeArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetRouteSpecHttp2RouteMatchHeaderMatchRange)(nil)).Elem() +func (GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustAcmArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustAcm)(nil)).Elem() } -func (o GetRouteSpecHttp2RouteMatchHeaderMatchRangeArrayOutput) ToGetRouteSpecHttp2RouteMatchHeaderMatchRangeArrayOutput() GetRouteSpecHttp2RouteMatchHeaderMatchRangeArrayOutput { +func (o GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustAcmArrayOutput) ToGetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustAcmArrayOutput() GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustAcmArrayOutput { return o } -func (o GetRouteSpecHttp2RouteMatchHeaderMatchRangeArrayOutput) ToGetRouteSpecHttp2RouteMatchHeaderMatchRangeArrayOutputWithContext(ctx context.Context) GetRouteSpecHttp2RouteMatchHeaderMatchRangeArrayOutput { +func (o GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustAcmArrayOutput) ToGetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustAcmArrayOutputWithContext(ctx context.Context) GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustAcmArrayOutput { return o } -func (o GetRouteSpecHttp2RouteMatchHeaderMatchRangeArrayOutput) Index(i pulumi.IntInput) GetRouteSpecHttp2RouteMatchHeaderMatchRangeOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetRouteSpecHttp2RouteMatchHeaderMatchRange { - return vs[0].([]GetRouteSpecHttp2RouteMatchHeaderMatchRange)[vs[1].(int)] - }).(GetRouteSpecHttp2RouteMatchHeaderMatchRangeOutput) +func (o GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustAcmArrayOutput) Index(i pulumi.IntInput) GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustAcmOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustAcm { + return vs[0].([]GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustAcm)[vs[1].(int)] + }).(GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustAcmOutput) } -type GetRouteSpecHttp2RouteRetryPolicy struct { - HttpRetryEvents []string `pulumi:"httpRetryEvents"` - MaxRetries int `pulumi:"maxRetries"` - PerRetryTimeouts []GetRouteSpecHttp2RouteRetryPolicyPerRetryTimeout `pulumi:"perRetryTimeouts"` - TcpRetryEvents []string `pulumi:"tcpRetryEvents"` +type GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustFile struct { + CertificateChain string `pulumi:"certificateChain"` } -// GetRouteSpecHttp2RouteRetryPolicyInput is an input type that accepts GetRouteSpecHttp2RouteRetryPolicyArgs and GetRouteSpecHttp2RouteRetryPolicyOutput values. -// You can construct a concrete instance of `GetRouteSpecHttp2RouteRetryPolicyInput` via: +// GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustFileInput is an input type that accepts GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustFileArgs and GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustFileOutput values. +// You can construct a concrete instance of `GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustFileInput` via: // -// GetRouteSpecHttp2RouteRetryPolicyArgs{...} -type GetRouteSpecHttp2RouteRetryPolicyInput interface { +// GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustFileArgs{...} +type GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustFileInput interface { pulumi.Input - ToGetRouteSpecHttp2RouteRetryPolicyOutput() GetRouteSpecHttp2RouteRetryPolicyOutput - ToGetRouteSpecHttp2RouteRetryPolicyOutputWithContext(context.Context) GetRouteSpecHttp2RouteRetryPolicyOutput + ToGetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustFileOutput() GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustFileOutput + ToGetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustFileOutputWithContext(context.Context) GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustFileOutput } -type GetRouteSpecHttp2RouteRetryPolicyArgs struct { - HttpRetryEvents pulumi.StringArrayInput `pulumi:"httpRetryEvents"` - MaxRetries pulumi.IntInput `pulumi:"maxRetries"` - PerRetryTimeouts GetRouteSpecHttp2RouteRetryPolicyPerRetryTimeoutArrayInput `pulumi:"perRetryTimeouts"` - TcpRetryEvents pulumi.StringArrayInput `pulumi:"tcpRetryEvents"` +type GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustFileArgs struct { + CertificateChain pulumi.StringInput `pulumi:"certificateChain"` } -func (GetRouteSpecHttp2RouteRetryPolicyArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetRouteSpecHttp2RouteRetryPolicy)(nil)).Elem() +func (GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustFileArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustFile)(nil)).Elem() } -func (i GetRouteSpecHttp2RouteRetryPolicyArgs) ToGetRouteSpecHttp2RouteRetryPolicyOutput() GetRouteSpecHttp2RouteRetryPolicyOutput { - return i.ToGetRouteSpecHttp2RouteRetryPolicyOutputWithContext(context.Background()) +func (i GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustFileArgs) ToGetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustFileOutput() GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustFileOutput { + return i.ToGetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustFileOutputWithContext(context.Background()) } -func (i GetRouteSpecHttp2RouteRetryPolicyArgs) ToGetRouteSpecHttp2RouteRetryPolicyOutputWithContext(ctx context.Context) GetRouteSpecHttp2RouteRetryPolicyOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetRouteSpecHttp2RouteRetryPolicyOutput) +func (i GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustFileArgs) ToGetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustFileOutputWithContext(ctx context.Context) GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustFileOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustFileOutput) } -// GetRouteSpecHttp2RouteRetryPolicyArrayInput is an input type that accepts GetRouteSpecHttp2RouteRetryPolicyArray and GetRouteSpecHttp2RouteRetryPolicyArrayOutput values. -// You can construct a concrete instance of `GetRouteSpecHttp2RouteRetryPolicyArrayInput` via: +// GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustFileArrayInput is an input type that accepts GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustFileArray and GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustFileArrayOutput values. +// You can construct a concrete instance of `GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustFileArrayInput` via: // -// GetRouteSpecHttp2RouteRetryPolicyArray{ GetRouteSpecHttp2RouteRetryPolicyArgs{...} } -type GetRouteSpecHttp2RouteRetryPolicyArrayInput interface { +// GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustFileArray{ GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustFileArgs{...} } +type GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustFileArrayInput interface { pulumi.Input - ToGetRouteSpecHttp2RouteRetryPolicyArrayOutput() GetRouteSpecHttp2RouteRetryPolicyArrayOutput - ToGetRouteSpecHttp2RouteRetryPolicyArrayOutputWithContext(context.Context) GetRouteSpecHttp2RouteRetryPolicyArrayOutput + ToGetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustFileArrayOutput() GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustFileArrayOutput + ToGetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustFileArrayOutputWithContext(context.Context) GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustFileArrayOutput } -type GetRouteSpecHttp2RouteRetryPolicyArray []GetRouteSpecHttp2RouteRetryPolicyInput +type GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustFileArray []GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustFileInput -func (GetRouteSpecHttp2RouteRetryPolicyArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetRouteSpecHttp2RouteRetryPolicy)(nil)).Elem() +func (GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustFileArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustFile)(nil)).Elem() } -func (i GetRouteSpecHttp2RouteRetryPolicyArray) ToGetRouteSpecHttp2RouteRetryPolicyArrayOutput() GetRouteSpecHttp2RouteRetryPolicyArrayOutput { - return i.ToGetRouteSpecHttp2RouteRetryPolicyArrayOutputWithContext(context.Background()) +func (i GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustFileArray) ToGetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustFileArrayOutput() GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustFileArrayOutput { + return i.ToGetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustFileArrayOutputWithContext(context.Background()) } -func (i GetRouteSpecHttp2RouteRetryPolicyArray) ToGetRouteSpecHttp2RouteRetryPolicyArrayOutputWithContext(ctx context.Context) GetRouteSpecHttp2RouteRetryPolicyArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetRouteSpecHttp2RouteRetryPolicyArrayOutput) +func (i GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustFileArray) ToGetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustFileArrayOutputWithContext(ctx context.Context) GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustFileArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustFileArrayOutput) } -type GetRouteSpecHttp2RouteRetryPolicyOutput struct{ *pulumi.OutputState } +type GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustFileOutput struct{ *pulumi.OutputState } -func (GetRouteSpecHttp2RouteRetryPolicyOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetRouteSpecHttp2RouteRetryPolicy)(nil)).Elem() +func (GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustFileOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustFile)(nil)).Elem() } -func (o GetRouteSpecHttp2RouteRetryPolicyOutput) ToGetRouteSpecHttp2RouteRetryPolicyOutput() GetRouteSpecHttp2RouteRetryPolicyOutput { +func (o GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustFileOutput) ToGetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustFileOutput() GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustFileOutput { return o } -func (o GetRouteSpecHttp2RouteRetryPolicyOutput) ToGetRouteSpecHttp2RouteRetryPolicyOutputWithContext(ctx context.Context) GetRouteSpecHttp2RouteRetryPolicyOutput { +func (o GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustFileOutput) ToGetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustFileOutputWithContext(ctx context.Context) GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustFileOutput { return o } -func (o GetRouteSpecHttp2RouteRetryPolicyOutput) HttpRetryEvents() pulumi.StringArrayOutput { - return o.ApplyT(func(v GetRouteSpecHttp2RouteRetryPolicy) []string { return v.HttpRetryEvents }).(pulumi.StringArrayOutput) -} - -func (o GetRouteSpecHttp2RouteRetryPolicyOutput) MaxRetries() pulumi.IntOutput { - return o.ApplyT(func(v GetRouteSpecHttp2RouteRetryPolicy) int { return v.MaxRetries }).(pulumi.IntOutput) -} - -func (o GetRouteSpecHttp2RouteRetryPolicyOutput) PerRetryTimeouts() GetRouteSpecHttp2RouteRetryPolicyPerRetryTimeoutArrayOutput { - return o.ApplyT(func(v GetRouteSpecHttp2RouteRetryPolicy) []GetRouteSpecHttp2RouteRetryPolicyPerRetryTimeout { - return v.PerRetryTimeouts - }).(GetRouteSpecHttp2RouteRetryPolicyPerRetryTimeoutArrayOutput) -} - -func (o GetRouteSpecHttp2RouteRetryPolicyOutput) TcpRetryEvents() pulumi.StringArrayOutput { - return o.ApplyT(func(v GetRouteSpecHttp2RouteRetryPolicy) []string { return v.TcpRetryEvents }).(pulumi.StringArrayOutput) +func (o GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustFileOutput) CertificateChain() pulumi.StringOutput { + return o.ApplyT(func(v GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustFile) string { + return v.CertificateChain + }).(pulumi.StringOutput) } -type GetRouteSpecHttp2RouteRetryPolicyArrayOutput struct{ *pulumi.OutputState } +type GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustFileArrayOutput struct{ *pulumi.OutputState } -func (GetRouteSpecHttp2RouteRetryPolicyArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetRouteSpecHttp2RouteRetryPolicy)(nil)).Elem() +func (GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustFileArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustFile)(nil)).Elem() } -func (o GetRouteSpecHttp2RouteRetryPolicyArrayOutput) ToGetRouteSpecHttp2RouteRetryPolicyArrayOutput() GetRouteSpecHttp2RouteRetryPolicyArrayOutput { +func (o GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustFileArrayOutput) ToGetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustFileArrayOutput() GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustFileArrayOutput { return o } -func (o GetRouteSpecHttp2RouteRetryPolicyArrayOutput) ToGetRouteSpecHttp2RouteRetryPolicyArrayOutputWithContext(ctx context.Context) GetRouteSpecHttp2RouteRetryPolicyArrayOutput { +func (o GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustFileArrayOutput) ToGetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustFileArrayOutputWithContext(ctx context.Context) GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustFileArrayOutput { return o } -func (o GetRouteSpecHttp2RouteRetryPolicyArrayOutput) Index(i pulumi.IntInput) GetRouteSpecHttp2RouteRetryPolicyOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetRouteSpecHttp2RouteRetryPolicy { - return vs[0].([]GetRouteSpecHttp2RouteRetryPolicy)[vs[1].(int)] - }).(GetRouteSpecHttp2RouteRetryPolicyOutput) +func (o GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustFileArrayOutput) Index(i pulumi.IntInput) GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustFileOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustFile { + return vs[0].([]GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustFile)[vs[1].(int)] + }).(GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustFileOutput) } -type GetRouteSpecHttp2RouteRetryPolicyPerRetryTimeout struct { - Unit string `pulumi:"unit"` - Value int `pulumi:"value"` +type GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustSd struct { + SecretName string `pulumi:"secretName"` } -// GetRouteSpecHttp2RouteRetryPolicyPerRetryTimeoutInput is an input type that accepts GetRouteSpecHttp2RouteRetryPolicyPerRetryTimeoutArgs and GetRouteSpecHttp2RouteRetryPolicyPerRetryTimeoutOutput values. -// You can construct a concrete instance of `GetRouteSpecHttp2RouteRetryPolicyPerRetryTimeoutInput` via: +// GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustSdInput is an input type that accepts GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustSdArgs and GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustSdOutput values. +// You can construct a concrete instance of `GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustSdInput` via: // -// GetRouteSpecHttp2RouteRetryPolicyPerRetryTimeoutArgs{...} -type GetRouteSpecHttp2RouteRetryPolicyPerRetryTimeoutInput interface { +// GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustSdArgs{...} +type GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustSdInput interface { pulumi.Input - ToGetRouteSpecHttp2RouteRetryPolicyPerRetryTimeoutOutput() GetRouteSpecHttp2RouteRetryPolicyPerRetryTimeoutOutput - ToGetRouteSpecHttp2RouteRetryPolicyPerRetryTimeoutOutputWithContext(context.Context) GetRouteSpecHttp2RouteRetryPolicyPerRetryTimeoutOutput + ToGetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustSdOutput() GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustSdOutput + ToGetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustSdOutputWithContext(context.Context) GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustSdOutput } -type GetRouteSpecHttp2RouteRetryPolicyPerRetryTimeoutArgs struct { - Unit pulumi.StringInput `pulumi:"unit"` - Value pulumi.IntInput `pulumi:"value"` +type GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustSdArgs struct { + SecretName pulumi.StringInput `pulumi:"secretName"` } -func (GetRouteSpecHttp2RouteRetryPolicyPerRetryTimeoutArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetRouteSpecHttp2RouteRetryPolicyPerRetryTimeout)(nil)).Elem() +func (GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustSdArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustSd)(nil)).Elem() } -func (i GetRouteSpecHttp2RouteRetryPolicyPerRetryTimeoutArgs) ToGetRouteSpecHttp2RouteRetryPolicyPerRetryTimeoutOutput() GetRouteSpecHttp2RouteRetryPolicyPerRetryTimeoutOutput { - return i.ToGetRouteSpecHttp2RouteRetryPolicyPerRetryTimeoutOutputWithContext(context.Background()) +func (i GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustSdArgs) ToGetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustSdOutput() GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustSdOutput { + return i.ToGetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustSdOutputWithContext(context.Background()) } -func (i GetRouteSpecHttp2RouteRetryPolicyPerRetryTimeoutArgs) ToGetRouteSpecHttp2RouteRetryPolicyPerRetryTimeoutOutputWithContext(ctx context.Context) GetRouteSpecHttp2RouteRetryPolicyPerRetryTimeoutOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetRouteSpecHttp2RouteRetryPolicyPerRetryTimeoutOutput) +func (i GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustSdArgs) ToGetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustSdOutputWithContext(ctx context.Context) GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustSdOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustSdOutput) } -// GetRouteSpecHttp2RouteRetryPolicyPerRetryTimeoutArrayInput is an input type that accepts GetRouteSpecHttp2RouteRetryPolicyPerRetryTimeoutArray and GetRouteSpecHttp2RouteRetryPolicyPerRetryTimeoutArrayOutput values. -// You can construct a concrete instance of `GetRouteSpecHttp2RouteRetryPolicyPerRetryTimeoutArrayInput` via: +// GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustSdArrayInput is an input type that accepts GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustSdArray and GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustSdArrayOutput values. +// You can construct a concrete instance of `GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustSdArrayInput` via: // -// GetRouteSpecHttp2RouteRetryPolicyPerRetryTimeoutArray{ GetRouteSpecHttp2RouteRetryPolicyPerRetryTimeoutArgs{...} } -type GetRouteSpecHttp2RouteRetryPolicyPerRetryTimeoutArrayInput interface { +// GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustSdArray{ GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustSdArgs{...} } +type GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustSdArrayInput interface { pulumi.Input - ToGetRouteSpecHttp2RouteRetryPolicyPerRetryTimeoutArrayOutput() GetRouteSpecHttp2RouteRetryPolicyPerRetryTimeoutArrayOutput - ToGetRouteSpecHttp2RouteRetryPolicyPerRetryTimeoutArrayOutputWithContext(context.Context) GetRouteSpecHttp2RouteRetryPolicyPerRetryTimeoutArrayOutput + ToGetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustSdArrayOutput() GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustSdArrayOutput + ToGetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustSdArrayOutputWithContext(context.Context) GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustSdArrayOutput } -type GetRouteSpecHttp2RouteRetryPolicyPerRetryTimeoutArray []GetRouteSpecHttp2RouteRetryPolicyPerRetryTimeoutInput +type GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustSdArray []GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustSdInput -func (GetRouteSpecHttp2RouteRetryPolicyPerRetryTimeoutArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetRouteSpecHttp2RouteRetryPolicyPerRetryTimeout)(nil)).Elem() +func (GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustSdArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustSd)(nil)).Elem() } -func (i GetRouteSpecHttp2RouteRetryPolicyPerRetryTimeoutArray) ToGetRouteSpecHttp2RouteRetryPolicyPerRetryTimeoutArrayOutput() GetRouteSpecHttp2RouteRetryPolicyPerRetryTimeoutArrayOutput { - return i.ToGetRouteSpecHttp2RouteRetryPolicyPerRetryTimeoutArrayOutputWithContext(context.Background()) +func (i GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustSdArray) ToGetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustSdArrayOutput() GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustSdArrayOutput { + return i.ToGetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustSdArrayOutputWithContext(context.Background()) } -func (i GetRouteSpecHttp2RouteRetryPolicyPerRetryTimeoutArray) ToGetRouteSpecHttp2RouteRetryPolicyPerRetryTimeoutArrayOutputWithContext(ctx context.Context) GetRouteSpecHttp2RouteRetryPolicyPerRetryTimeoutArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetRouteSpecHttp2RouteRetryPolicyPerRetryTimeoutArrayOutput) +func (i GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustSdArray) ToGetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustSdArrayOutputWithContext(ctx context.Context) GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustSdArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustSdArrayOutput) } -type GetRouteSpecHttp2RouteRetryPolicyPerRetryTimeoutOutput struct{ *pulumi.OutputState } +type GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustSdOutput struct{ *pulumi.OutputState } -func (GetRouteSpecHttp2RouteRetryPolicyPerRetryTimeoutOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetRouteSpecHttp2RouteRetryPolicyPerRetryTimeout)(nil)).Elem() +func (GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustSdOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustSd)(nil)).Elem() } -func (o GetRouteSpecHttp2RouteRetryPolicyPerRetryTimeoutOutput) ToGetRouteSpecHttp2RouteRetryPolicyPerRetryTimeoutOutput() GetRouteSpecHttp2RouteRetryPolicyPerRetryTimeoutOutput { +func (o GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustSdOutput) ToGetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustSdOutput() GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustSdOutput { return o } -func (o GetRouteSpecHttp2RouteRetryPolicyPerRetryTimeoutOutput) ToGetRouteSpecHttp2RouteRetryPolicyPerRetryTimeoutOutputWithContext(ctx context.Context) GetRouteSpecHttp2RouteRetryPolicyPerRetryTimeoutOutput { +func (o GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustSdOutput) ToGetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustSdOutputWithContext(ctx context.Context) GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustSdOutput { return o } -func (o GetRouteSpecHttp2RouteRetryPolicyPerRetryTimeoutOutput) Unit() pulumi.StringOutput { - return o.ApplyT(func(v GetRouteSpecHttp2RouteRetryPolicyPerRetryTimeout) string { return v.Unit }).(pulumi.StringOutput) -} - -func (o GetRouteSpecHttp2RouteRetryPolicyPerRetryTimeoutOutput) Value() pulumi.IntOutput { - return o.ApplyT(func(v GetRouteSpecHttp2RouteRetryPolicyPerRetryTimeout) int { return v.Value }).(pulumi.IntOutput) +func (o GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustSdOutput) SecretName() pulumi.StringOutput { + return o.ApplyT(func(v GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustSd) string { return v.SecretName }).(pulumi.StringOutput) } -type GetRouteSpecHttp2RouteRetryPolicyPerRetryTimeoutArrayOutput struct{ *pulumi.OutputState } +type GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustSdArrayOutput struct{ *pulumi.OutputState } -func (GetRouteSpecHttp2RouteRetryPolicyPerRetryTimeoutArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetRouteSpecHttp2RouteRetryPolicyPerRetryTimeout)(nil)).Elem() +func (GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustSdArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustSd)(nil)).Elem() } -func (o GetRouteSpecHttp2RouteRetryPolicyPerRetryTimeoutArrayOutput) ToGetRouteSpecHttp2RouteRetryPolicyPerRetryTimeoutArrayOutput() GetRouteSpecHttp2RouteRetryPolicyPerRetryTimeoutArrayOutput { +func (o GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustSdArrayOutput) ToGetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustSdArrayOutput() GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustSdArrayOutput { return o } -func (o GetRouteSpecHttp2RouteRetryPolicyPerRetryTimeoutArrayOutput) ToGetRouteSpecHttp2RouteRetryPolicyPerRetryTimeoutArrayOutputWithContext(ctx context.Context) GetRouteSpecHttp2RouteRetryPolicyPerRetryTimeoutArrayOutput { +func (o GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustSdArrayOutput) ToGetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustSdArrayOutputWithContext(ctx context.Context) GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustSdArrayOutput { return o } -func (o GetRouteSpecHttp2RouteRetryPolicyPerRetryTimeoutArrayOutput) Index(i pulumi.IntInput) GetRouteSpecHttp2RouteRetryPolicyPerRetryTimeoutOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetRouteSpecHttp2RouteRetryPolicyPerRetryTimeout { - return vs[0].([]GetRouteSpecHttp2RouteRetryPolicyPerRetryTimeout)[vs[1].(int)] - }).(GetRouteSpecHttp2RouteRetryPolicyPerRetryTimeoutOutput) +func (o GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustSdArrayOutput) Index(i pulumi.IntInput) GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustSdOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustSd { + return vs[0].([]GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustSd)[vs[1].(int)] + }).(GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustSdOutput) } -type GetRouteSpecHttp2RouteTimeout struct { - Idles []GetRouteSpecHttp2RouteTimeoutIdle `pulumi:"idles"` - PerRequests []GetRouteSpecHttp2RouteTimeoutPerRequest `pulumi:"perRequests"` +type GetVirtualNodeSpecBackendVirtualService struct { + ClientPolicies []GetVirtualNodeSpecBackendVirtualServiceClientPolicy `pulumi:"clientPolicies"` + VirtualServiceName string `pulumi:"virtualServiceName"` } -// GetRouteSpecHttp2RouteTimeoutInput is an input type that accepts GetRouteSpecHttp2RouteTimeoutArgs and GetRouteSpecHttp2RouteTimeoutOutput values. -// You can construct a concrete instance of `GetRouteSpecHttp2RouteTimeoutInput` via: +// GetVirtualNodeSpecBackendVirtualServiceInput is an input type that accepts GetVirtualNodeSpecBackendVirtualServiceArgs and GetVirtualNodeSpecBackendVirtualServiceOutput values. +// You can construct a concrete instance of `GetVirtualNodeSpecBackendVirtualServiceInput` via: // -// GetRouteSpecHttp2RouteTimeoutArgs{...} -type GetRouteSpecHttp2RouteTimeoutInput interface { +// GetVirtualNodeSpecBackendVirtualServiceArgs{...} +type GetVirtualNodeSpecBackendVirtualServiceInput interface { pulumi.Input - ToGetRouteSpecHttp2RouteTimeoutOutput() GetRouteSpecHttp2RouteTimeoutOutput - ToGetRouteSpecHttp2RouteTimeoutOutputWithContext(context.Context) GetRouteSpecHttp2RouteTimeoutOutput + ToGetVirtualNodeSpecBackendVirtualServiceOutput() GetVirtualNodeSpecBackendVirtualServiceOutput + ToGetVirtualNodeSpecBackendVirtualServiceOutputWithContext(context.Context) GetVirtualNodeSpecBackendVirtualServiceOutput } -type GetRouteSpecHttp2RouteTimeoutArgs struct { - Idles GetRouteSpecHttp2RouteTimeoutIdleArrayInput `pulumi:"idles"` - PerRequests GetRouteSpecHttp2RouteTimeoutPerRequestArrayInput `pulumi:"perRequests"` +type GetVirtualNodeSpecBackendVirtualServiceArgs struct { + ClientPolicies GetVirtualNodeSpecBackendVirtualServiceClientPolicyArrayInput `pulumi:"clientPolicies"` + VirtualServiceName pulumi.StringInput `pulumi:"virtualServiceName"` } -func (GetRouteSpecHttp2RouteTimeoutArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetRouteSpecHttp2RouteTimeout)(nil)).Elem() +func (GetVirtualNodeSpecBackendVirtualServiceArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetVirtualNodeSpecBackendVirtualService)(nil)).Elem() } -func (i GetRouteSpecHttp2RouteTimeoutArgs) ToGetRouteSpecHttp2RouteTimeoutOutput() GetRouteSpecHttp2RouteTimeoutOutput { - return i.ToGetRouteSpecHttp2RouteTimeoutOutputWithContext(context.Background()) +func (i GetVirtualNodeSpecBackendVirtualServiceArgs) ToGetVirtualNodeSpecBackendVirtualServiceOutput() GetVirtualNodeSpecBackendVirtualServiceOutput { + return i.ToGetVirtualNodeSpecBackendVirtualServiceOutputWithContext(context.Background()) } -func (i GetRouteSpecHttp2RouteTimeoutArgs) ToGetRouteSpecHttp2RouteTimeoutOutputWithContext(ctx context.Context) GetRouteSpecHttp2RouteTimeoutOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetRouteSpecHttp2RouteTimeoutOutput) +func (i GetVirtualNodeSpecBackendVirtualServiceArgs) ToGetVirtualNodeSpecBackendVirtualServiceOutputWithContext(ctx context.Context) GetVirtualNodeSpecBackendVirtualServiceOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetVirtualNodeSpecBackendVirtualServiceOutput) } -// GetRouteSpecHttp2RouteTimeoutArrayInput is an input type that accepts GetRouteSpecHttp2RouteTimeoutArray and GetRouteSpecHttp2RouteTimeoutArrayOutput values. -// You can construct a concrete instance of `GetRouteSpecHttp2RouteTimeoutArrayInput` via: +// GetVirtualNodeSpecBackendVirtualServiceArrayInput is an input type that accepts GetVirtualNodeSpecBackendVirtualServiceArray and GetVirtualNodeSpecBackendVirtualServiceArrayOutput values. +// You can construct a concrete instance of `GetVirtualNodeSpecBackendVirtualServiceArrayInput` via: // -// GetRouteSpecHttp2RouteTimeoutArray{ GetRouteSpecHttp2RouteTimeoutArgs{...} } -type GetRouteSpecHttp2RouteTimeoutArrayInput interface { +// GetVirtualNodeSpecBackendVirtualServiceArray{ GetVirtualNodeSpecBackendVirtualServiceArgs{...} } +type GetVirtualNodeSpecBackendVirtualServiceArrayInput interface { pulumi.Input - ToGetRouteSpecHttp2RouteTimeoutArrayOutput() GetRouteSpecHttp2RouteTimeoutArrayOutput - ToGetRouteSpecHttp2RouteTimeoutArrayOutputWithContext(context.Context) GetRouteSpecHttp2RouteTimeoutArrayOutput + ToGetVirtualNodeSpecBackendVirtualServiceArrayOutput() GetVirtualNodeSpecBackendVirtualServiceArrayOutput + ToGetVirtualNodeSpecBackendVirtualServiceArrayOutputWithContext(context.Context) GetVirtualNodeSpecBackendVirtualServiceArrayOutput } -type GetRouteSpecHttp2RouteTimeoutArray []GetRouteSpecHttp2RouteTimeoutInput +type GetVirtualNodeSpecBackendVirtualServiceArray []GetVirtualNodeSpecBackendVirtualServiceInput -func (GetRouteSpecHttp2RouteTimeoutArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetRouteSpecHttp2RouteTimeout)(nil)).Elem() +func (GetVirtualNodeSpecBackendVirtualServiceArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetVirtualNodeSpecBackendVirtualService)(nil)).Elem() } -func (i GetRouteSpecHttp2RouteTimeoutArray) ToGetRouteSpecHttp2RouteTimeoutArrayOutput() GetRouteSpecHttp2RouteTimeoutArrayOutput { - return i.ToGetRouteSpecHttp2RouteTimeoutArrayOutputWithContext(context.Background()) +func (i GetVirtualNodeSpecBackendVirtualServiceArray) ToGetVirtualNodeSpecBackendVirtualServiceArrayOutput() GetVirtualNodeSpecBackendVirtualServiceArrayOutput { + return i.ToGetVirtualNodeSpecBackendVirtualServiceArrayOutputWithContext(context.Background()) } -func (i GetRouteSpecHttp2RouteTimeoutArray) ToGetRouteSpecHttp2RouteTimeoutArrayOutputWithContext(ctx context.Context) GetRouteSpecHttp2RouteTimeoutArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetRouteSpecHttp2RouteTimeoutArrayOutput) +func (i GetVirtualNodeSpecBackendVirtualServiceArray) ToGetVirtualNodeSpecBackendVirtualServiceArrayOutputWithContext(ctx context.Context) GetVirtualNodeSpecBackendVirtualServiceArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetVirtualNodeSpecBackendVirtualServiceArrayOutput) } -type GetRouteSpecHttp2RouteTimeoutOutput struct{ *pulumi.OutputState } +type GetVirtualNodeSpecBackendVirtualServiceOutput struct{ *pulumi.OutputState } -func (GetRouteSpecHttp2RouteTimeoutOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetRouteSpecHttp2RouteTimeout)(nil)).Elem() +func (GetVirtualNodeSpecBackendVirtualServiceOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetVirtualNodeSpecBackendVirtualService)(nil)).Elem() } -func (o GetRouteSpecHttp2RouteTimeoutOutput) ToGetRouteSpecHttp2RouteTimeoutOutput() GetRouteSpecHttp2RouteTimeoutOutput { +func (o GetVirtualNodeSpecBackendVirtualServiceOutput) ToGetVirtualNodeSpecBackendVirtualServiceOutput() GetVirtualNodeSpecBackendVirtualServiceOutput { return o } -func (o GetRouteSpecHttp2RouteTimeoutOutput) ToGetRouteSpecHttp2RouteTimeoutOutputWithContext(ctx context.Context) GetRouteSpecHttp2RouteTimeoutOutput { +func (o GetVirtualNodeSpecBackendVirtualServiceOutput) ToGetVirtualNodeSpecBackendVirtualServiceOutputWithContext(ctx context.Context) GetVirtualNodeSpecBackendVirtualServiceOutput { return o } -func (o GetRouteSpecHttp2RouteTimeoutOutput) Idles() GetRouteSpecHttp2RouteTimeoutIdleArrayOutput { - return o.ApplyT(func(v GetRouteSpecHttp2RouteTimeout) []GetRouteSpecHttp2RouteTimeoutIdle { return v.Idles }).(GetRouteSpecHttp2RouteTimeoutIdleArrayOutput) +func (o GetVirtualNodeSpecBackendVirtualServiceOutput) ClientPolicies() GetVirtualNodeSpecBackendVirtualServiceClientPolicyArrayOutput { + return o.ApplyT(func(v GetVirtualNodeSpecBackendVirtualService) []GetVirtualNodeSpecBackendVirtualServiceClientPolicy { + return v.ClientPolicies + }).(GetVirtualNodeSpecBackendVirtualServiceClientPolicyArrayOutput) } -func (o GetRouteSpecHttp2RouteTimeoutOutput) PerRequests() GetRouteSpecHttp2RouteTimeoutPerRequestArrayOutput { - return o.ApplyT(func(v GetRouteSpecHttp2RouteTimeout) []GetRouteSpecHttp2RouteTimeoutPerRequest { return v.PerRequests }).(GetRouteSpecHttp2RouteTimeoutPerRequestArrayOutput) +func (o GetVirtualNodeSpecBackendVirtualServiceOutput) VirtualServiceName() pulumi.StringOutput { + return o.ApplyT(func(v GetVirtualNodeSpecBackendVirtualService) string { return v.VirtualServiceName }).(pulumi.StringOutput) } -type GetRouteSpecHttp2RouteTimeoutArrayOutput struct{ *pulumi.OutputState } +type GetVirtualNodeSpecBackendVirtualServiceArrayOutput struct{ *pulumi.OutputState } -func (GetRouteSpecHttp2RouteTimeoutArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetRouteSpecHttp2RouteTimeout)(nil)).Elem() +func (GetVirtualNodeSpecBackendVirtualServiceArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetVirtualNodeSpecBackendVirtualService)(nil)).Elem() } -func (o GetRouteSpecHttp2RouteTimeoutArrayOutput) ToGetRouteSpecHttp2RouteTimeoutArrayOutput() GetRouteSpecHttp2RouteTimeoutArrayOutput { +func (o GetVirtualNodeSpecBackendVirtualServiceArrayOutput) ToGetVirtualNodeSpecBackendVirtualServiceArrayOutput() GetVirtualNodeSpecBackendVirtualServiceArrayOutput { return o } -func (o GetRouteSpecHttp2RouteTimeoutArrayOutput) ToGetRouteSpecHttp2RouteTimeoutArrayOutputWithContext(ctx context.Context) GetRouteSpecHttp2RouteTimeoutArrayOutput { +func (o GetVirtualNodeSpecBackendVirtualServiceArrayOutput) ToGetVirtualNodeSpecBackendVirtualServiceArrayOutputWithContext(ctx context.Context) GetVirtualNodeSpecBackendVirtualServiceArrayOutput { return o } -func (o GetRouteSpecHttp2RouteTimeoutArrayOutput) Index(i pulumi.IntInput) GetRouteSpecHttp2RouteTimeoutOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetRouteSpecHttp2RouteTimeout { - return vs[0].([]GetRouteSpecHttp2RouteTimeout)[vs[1].(int)] - }).(GetRouteSpecHttp2RouteTimeoutOutput) +func (o GetVirtualNodeSpecBackendVirtualServiceArrayOutput) Index(i pulumi.IntInput) GetVirtualNodeSpecBackendVirtualServiceOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetVirtualNodeSpecBackendVirtualService { + return vs[0].([]GetVirtualNodeSpecBackendVirtualService)[vs[1].(int)] + }).(GetVirtualNodeSpecBackendVirtualServiceOutput) } -type GetRouteSpecHttp2RouteTimeoutIdle struct { - Unit string `pulumi:"unit"` - Value int `pulumi:"value"` +type GetVirtualNodeSpecBackendVirtualServiceClientPolicy struct { + Tls []GetVirtualNodeSpecBackendVirtualServiceClientPolicyTl `pulumi:"tls"` } -// GetRouteSpecHttp2RouteTimeoutIdleInput is an input type that accepts GetRouteSpecHttp2RouteTimeoutIdleArgs and GetRouteSpecHttp2RouteTimeoutIdleOutput values. -// You can construct a concrete instance of `GetRouteSpecHttp2RouteTimeoutIdleInput` via: +// GetVirtualNodeSpecBackendVirtualServiceClientPolicyInput is an input type that accepts GetVirtualNodeSpecBackendVirtualServiceClientPolicyArgs and GetVirtualNodeSpecBackendVirtualServiceClientPolicyOutput values. +// You can construct a concrete instance of `GetVirtualNodeSpecBackendVirtualServiceClientPolicyInput` via: // -// GetRouteSpecHttp2RouteTimeoutIdleArgs{...} -type GetRouteSpecHttp2RouteTimeoutIdleInput interface { +// GetVirtualNodeSpecBackendVirtualServiceClientPolicyArgs{...} +type GetVirtualNodeSpecBackendVirtualServiceClientPolicyInput interface { pulumi.Input - ToGetRouteSpecHttp2RouteTimeoutIdleOutput() GetRouteSpecHttp2RouteTimeoutIdleOutput - ToGetRouteSpecHttp2RouteTimeoutIdleOutputWithContext(context.Context) GetRouteSpecHttp2RouteTimeoutIdleOutput + ToGetVirtualNodeSpecBackendVirtualServiceClientPolicyOutput() GetVirtualNodeSpecBackendVirtualServiceClientPolicyOutput + ToGetVirtualNodeSpecBackendVirtualServiceClientPolicyOutputWithContext(context.Context) GetVirtualNodeSpecBackendVirtualServiceClientPolicyOutput } -type GetRouteSpecHttp2RouteTimeoutIdleArgs struct { - Unit pulumi.StringInput `pulumi:"unit"` - Value pulumi.IntInput `pulumi:"value"` +type GetVirtualNodeSpecBackendVirtualServiceClientPolicyArgs struct { + Tls GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlArrayInput `pulumi:"tls"` } -func (GetRouteSpecHttp2RouteTimeoutIdleArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetRouteSpecHttp2RouteTimeoutIdle)(nil)).Elem() +func (GetVirtualNodeSpecBackendVirtualServiceClientPolicyArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetVirtualNodeSpecBackendVirtualServiceClientPolicy)(nil)).Elem() } -func (i GetRouteSpecHttp2RouteTimeoutIdleArgs) ToGetRouteSpecHttp2RouteTimeoutIdleOutput() GetRouteSpecHttp2RouteTimeoutIdleOutput { - return i.ToGetRouteSpecHttp2RouteTimeoutIdleOutputWithContext(context.Background()) +func (i GetVirtualNodeSpecBackendVirtualServiceClientPolicyArgs) ToGetVirtualNodeSpecBackendVirtualServiceClientPolicyOutput() GetVirtualNodeSpecBackendVirtualServiceClientPolicyOutput { + return i.ToGetVirtualNodeSpecBackendVirtualServiceClientPolicyOutputWithContext(context.Background()) } -func (i GetRouteSpecHttp2RouteTimeoutIdleArgs) ToGetRouteSpecHttp2RouteTimeoutIdleOutputWithContext(ctx context.Context) GetRouteSpecHttp2RouteTimeoutIdleOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetRouteSpecHttp2RouteTimeoutIdleOutput) +func (i GetVirtualNodeSpecBackendVirtualServiceClientPolicyArgs) ToGetVirtualNodeSpecBackendVirtualServiceClientPolicyOutputWithContext(ctx context.Context) GetVirtualNodeSpecBackendVirtualServiceClientPolicyOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetVirtualNodeSpecBackendVirtualServiceClientPolicyOutput) } -// GetRouteSpecHttp2RouteTimeoutIdleArrayInput is an input type that accepts GetRouteSpecHttp2RouteTimeoutIdleArray and GetRouteSpecHttp2RouteTimeoutIdleArrayOutput values. -// You can construct a concrete instance of `GetRouteSpecHttp2RouteTimeoutIdleArrayInput` via: +// GetVirtualNodeSpecBackendVirtualServiceClientPolicyArrayInput is an input type that accepts GetVirtualNodeSpecBackendVirtualServiceClientPolicyArray and GetVirtualNodeSpecBackendVirtualServiceClientPolicyArrayOutput values. +// You can construct a concrete instance of `GetVirtualNodeSpecBackendVirtualServiceClientPolicyArrayInput` via: // -// GetRouteSpecHttp2RouteTimeoutIdleArray{ GetRouteSpecHttp2RouteTimeoutIdleArgs{...} } -type GetRouteSpecHttp2RouteTimeoutIdleArrayInput interface { +// GetVirtualNodeSpecBackendVirtualServiceClientPolicyArray{ GetVirtualNodeSpecBackendVirtualServiceClientPolicyArgs{...} } +type GetVirtualNodeSpecBackendVirtualServiceClientPolicyArrayInput interface { pulumi.Input - ToGetRouteSpecHttp2RouteTimeoutIdleArrayOutput() GetRouteSpecHttp2RouteTimeoutIdleArrayOutput - ToGetRouteSpecHttp2RouteTimeoutIdleArrayOutputWithContext(context.Context) GetRouteSpecHttp2RouteTimeoutIdleArrayOutput + ToGetVirtualNodeSpecBackendVirtualServiceClientPolicyArrayOutput() GetVirtualNodeSpecBackendVirtualServiceClientPolicyArrayOutput + ToGetVirtualNodeSpecBackendVirtualServiceClientPolicyArrayOutputWithContext(context.Context) GetVirtualNodeSpecBackendVirtualServiceClientPolicyArrayOutput } -type GetRouteSpecHttp2RouteTimeoutIdleArray []GetRouteSpecHttp2RouteTimeoutIdleInput +type GetVirtualNodeSpecBackendVirtualServiceClientPolicyArray []GetVirtualNodeSpecBackendVirtualServiceClientPolicyInput -func (GetRouteSpecHttp2RouteTimeoutIdleArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetRouteSpecHttp2RouteTimeoutIdle)(nil)).Elem() +func (GetVirtualNodeSpecBackendVirtualServiceClientPolicyArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetVirtualNodeSpecBackendVirtualServiceClientPolicy)(nil)).Elem() } -func (i GetRouteSpecHttp2RouteTimeoutIdleArray) ToGetRouteSpecHttp2RouteTimeoutIdleArrayOutput() GetRouteSpecHttp2RouteTimeoutIdleArrayOutput { - return i.ToGetRouteSpecHttp2RouteTimeoutIdleArrayOutputWithContext(context.Background()) +func (i GetVirtualNodeSpecBackendVirtualServiceClientPolicyArray) ToGetVirtualNodeSpecBackendVirtualServiceClientPolicyArrayOutput() GetVirtualNodeSpecBackendVirtualServiceClientPolicyArrayOutput { + return i.ToGetVirtualNodeSpecBackendVirtualServiceClientPolicyArrayOutputWithContext(context.Background()) } -func (i GetRouteSpecHttp2RouteTimeoutIdleArray) ToGetRouteSpecHttp2RouteTimeoutIdleArrayOutputWithContext(ctx context.Context) GetRouteSpecHttp2RouteTimeoutIdleArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetRouteSpecHttp2RouteTimeoutIdleArrayOutput) +func (i GetVirtualNodeSpecBackendVirtualServiceClientPolicyArray) ToGetVirtualNodeSpecBackendVirtualServiceClientPolicyArrayOutputWithContext(ctx context.Context) GetVirtualNodeSpecBackendVirtualServiceClientPolicyArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetVirtualNodeSpecBackendVirtualServiceClientPolicyArrayOutput) } -type GetRouteSpecHttp2RouteTimeoutIdleOutput struct{ *pulumi.OutputState } +type GetVirtualNodeSpecBackendVirtualServiceClientPolicyOutput struct{ *pulumi.OutputState } -func (GetRouteSpecHttp2RouteTimeoutIdleOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetRouteSpecHttp2RouteTimeoutIdle)(nil)).Elem() +func (GetVirtualNodeSpecBackendVirtualServiceClientPolicyOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetVirtualNodeSpecBackendVirtualServiceClientPolicy)(nil)).Elem() } -func (o GetRouteSpecHttp2RouteTimeoutIdleOutput) ToGetRouteSpecHttp2RouteTimeoutIdleOutput() GetRouteSpecHttp2RouteTimeoutIdleOutput { +func (o GetVirtualNodeSpecBackendVirtualServiceClientPolicyOutput) ToGetVirtualNodeSpecBackendVirtualServiceClientPolicyOutput() GetVirtualNodeSpecBackendVirtualServiceClientPolicyOutput { return o } -func (o GetRouteSpecHttp2RouteTimeoutIdleOutput) ToGetRouteSpecHttp2RouteTimeoutIdleOutputWithContext(ctx context.Context) GetRouteSpecHttp2RouteTimeoutIdleOutput { +func (o GetVirtualNodeSpecBackendVirtualServiceClientPolicyOutput) ToGetVirtualNodeSpecBackendVirtualServiceClientPolicyOutputWithContext(ctx context.Context) GetVirtualNodeSpecBackendVirtualServiceClientPolicyOutput { return o } -func (o GetRouteSpecHttp2RouteTimeoutIdleOutput) Unit() pulumi.StringOutput { - return o.ApplyT(func(v GetRouteSpecHttp2RouteTimeoutIdle) string { return v.Unit }).(pulumi.StringOutput) -} - -func (o GetRouteSpecHttp2RouteTimeoutIdleOutput) Value() pulumi.IntOutput { - return o.ApplyT(func(v GetRouteSpecHttp2RouteTimeoutIdle) int { return v.Value }).(pulumi.IntOutput) +func (o GetVirtualNodeSpecBackendVirtualServiceClientPolicyOutput) Tls() GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlArrayOutput { + return o.ApplyT(func(v GetVirtualNodeSpecBackendVirtualServiceClientPolicy) []GetVirtualNodeSpecBackendVirtualServiceClientPolicyTl { + return v.Tls + }).(GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlArrayOutput) } -type GetRouteSpecHttp2RouteTimeoutIdleArrayOutput struct{ *pulumi.OutputState } +type GetVirtualNodeSpecBackendVirtualServiceClientPolicyArrayOutput struct{ *pulumi.OutputState } -func (GetRouteSpecHttp2RouteTimeoutIdleArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetRouteSpecHttp2RouteTimeoutIdle)(nil)).Elem() +func (GetVirtualNodeSpecBackendVirtualServiceClientPolicyArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetVirtualNodeSpecBackendVirtualServiceClientPolicy)(nil)).Elem() } -func (o GetRouteSpecHttp2RouteTimeoutIdleArrayOutput) ToGetRouteSpecHttp2RouteTimeoutIdleArrayOutput() GetRouteSpecHttp2RouteTimeoutIdleArrayOutput { +func (o GetVirtualNodeSpecBackendVirtualServiceClientPolicyArrayOutput) ToGetVirtualNodeSpecBackendVirtualServiceClientPolicyArrayOutput() GetVirtualNodeSpecBackendVirtualServiceClientPolicyArrayOutput { return o } -func (o GetRouteSpecHttp2RouteTimeoutIdleArrayOutput) ToGetRouteSpecHttp2RouteTimeoutIdleArrayOutputWithContext(ctx context.Context) GetRouteSpecHttp2RouteTimeoutIdleArrayOutput { +func (o GetVirtualNodeSpecBackendVirtualServiceClientPolicyArrayOutput) ToGetVirtualNodeSpecBackendVirtualServiceClientPolicyArrayOutputWithContext(ctx context.Context) GetVirtualNodeSpecBackendVirtualServiceClientPolicyArrayOutput { return o } -func (o GetRouteSpecHttp2RouteTimeoutIdleArrayOutput) Index(i pulumi.IntInput) GetRouteSpecHttp2RouteTimeoutIdleOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetRouteSpecHttp2RouteTimeoutIdle { - return vs[0].([]GetRouteSpecHttp2RouteTimeoutIdle)[vs[1].(int)] - }).(GetRouteSpecHttp2RouteTimeoutIdleOutput) +func (o GetVirtualNodeSpecBackendVirtualServiceClientPolicyArrayOutput) Index(i pulumi.IntInput) GetVirtualNodeSpecBackendVirtualServiceClientPolicyOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetVirtualNodeSpecBackendVirtualServiceClientPolicy { + return vs[0].([]GetVirtualNodeSpecBackendVirtualServiceClientPolicy)[vs[1].(int)] + }).(GetVirtualNodeSpecBackendVirtualServiceClientPolicyOutput) } -type GetRouteSpecHttp2RouteTimeoutPerRequest struct { - Unit string `pulumi:"unit"` - Value int `pulumi:"value"` +type GetVirtualNodeSpecBackendVirtualServiceClientPolicyTl struct { + Certificates []GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlCertificate `pulumi:"certificates"` + Enforce bool `pulumi:"enforce"` + Ports []int `pulumi:"ports"` + Validations []GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidation `pulumi:"validations"` } -// GetRouteSpecHttp2RouteTimeoutPerRequestInput is an input type that accepts GetRouteSpecHttp2RouteTimeoutPerRequestArgs and GetRouteSpecHttp2RouteTimeoutPerRequestOutput values. -// You can construct a concrete instance of `GetRouteSpecHttp2RouteTimeoutPerRequestInput` via: +// GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlInput is an input type that accepts GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlArgs and GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlOutput values. +// You can construct a concrete instance of `GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlInput` via: // -// GetRouteSpecHttp2RouteTimeoutPerRequestArgs{...} -type GetRouteSpecHttp2RouteTimeoutPerRequestInput interface { +// GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlArgs{...} +type GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlInput interface { pulumi.Input - ToGetRouteSpecHttp2RouteTimeoutPerRequestOutput() GetRouteSpecHttp2RouteTimeoutPerRequestOutput - ToGetRouteSpecHttp2RouteTimeoutPerRequestOutputWithContext(context.Context) GetRouteSpecHttp2RouteTimeoutPerRequestOutput + ToGetVirtualNodeSpecBackendVirtualServiceClientPolicyTlOutput() GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlOutput + ToGetVirtualNodeSpecBackendVirtualServiceClientPolicyTlOutputWithContext(context.Context) GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlOutput } -type GetRouteSpecHttp2RouteTimeoutPerRequestArgs struct { - Unit pulumi.StringInput `pulumi:"unit"` - Value pulumi.IntInput `pulumi:"value"` +type GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlArgs struct { + Certificates GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlCertificateArrayInput `pulumi:"certificates"` + Enforce pulumi.BoolInput `pulumi:"enforce"` + Ports pulumi.IntArrayInput `pulumi:"ports"` + Validations GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationArrayInput `pulumi:"validations"` } -func (GetRouteSpecHttp2RouteTimeoutPerRequestArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetRouteSpecHttp2RouteTimeoutPerRequest)(nil)).Elem() +func (GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetVirtualNodeSpecBackendVirtualServiceClientPolicyTl)(nil)).Elem() } -func (i GetRouteSpecHttp2RouteTimeoutPerRequestArgs) ToGetRouteSpecHttp2RouteTimeoutPerRequestOutput() GetRouteSpecHttp2RouteTimeoutPerRequestOutput { - return i.ToGetRouteSpecHttp2RouteTimeoutPerRequestOutputWithContext(context.Background()) +func (i GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlArgs) ToGetVirtualNodeSpecBackendVirtualServiceClientPolicyTlOutput() GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlOutput { + return i.ToGetVirtualNodeSpecBackendVirtualServiceClientPolicyTlOutputWithContext(context.Background()) } -func (i GetRouteSpecHttp2RouteTimeoutPerRequestArgs) ToGetRouteSpecHttp2RouteTimeoutPerRequestOutputWithContext(ctx context.Context) GetRouteSpecHttp2RouteTimeoutPerRequestOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetRouteSpecHttp2RouteTimeoutPerRequestOutput) +func (i GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlArgs) ToGetVirtualNodeSpecBackendVirtualServiceClientPolicyTlOutputWithContext(ctx context.Context) GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlOutput) } -// GetRouteSpecHttp2RouteTimeoutPerRequestArrayInput is an input type that accepts GetRouteSpecHttp2RouteTimeoutPerRequestArray and GetRouteSpecHttp2RouteTimeoutPerRequestArrayOutput values. -// You can construct a concrete instance of `GetRouteSpecHttp2RouteTimeoutPerRequestArrayInput` via: +// GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlArrayInput is an input type that accepts GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlArray and GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlArrayOutput values. +// You can construct a concrete instance of `GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlArrayInput` via: // -// GetRouteSpecHttp2RouteTimeoutPerRequestArray{ GetRouteSpecHttp2RouteTimeoutPerRequestArgs{...} } -type GetRouteSpecHttp2RouteTimeoutPerRequestArrayInput interface { +// GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlArray{ GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlArgs{...} } +type GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlArrayInput interface { pulumi.Input - ToGetRouteSpecHttp2RouteTimeoutPerRequestArrayOutput() GetRouteSpecHttp2RouteTimeoutPerRequestArrayOutput - ToGetRouteSpecHttp2RouteTimeoutPerRequestArrayOutputWithContext(context.Context) GetRouteSpecHttp2RouteTimeoutPerRequestArrayOutput + ToGetVirtualNodeSpecBackendVirtualServiceClientPolicyTlArrayOutput() GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlArrayOutput + ToGetVirtualNodeSpecBackendVirtualServiceClientPolicyTlArrayOutputWithContext(context.Context) GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlArrayOutput } -type GetRouteSpecHttp2RouteTimeoutPerRequestArray []GetRouteSpecHttp2RouteTimeoutPerRequestInput +type GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlArray []GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlInput -func (GetRouteSpecHttp2RouteTimeoutPerRequestArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetRouteSpecHttp2RouteTimeoutPerRequest)(nil)).Elem() +func (GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetVirtualNodeSpecBackendVirtualServiceClientPolicyTl)(nil)).Elem() } -func (i GetRouteSpecHttp2RouteTimeoutPerRequestArray) ToGetRouteSpecHttp2RouteTimeoutPerRequestArrayOutput() GetRouteSpecHttp2RouteTimeoutPerRequestArrayOutput { - return i.ToGetRouteSpecHttp2RouteTimeoutPerRequestArrayOutputWithContext(context.Background()) +func (i GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlArray) ToGetVirtualNodeSpecBackendVirtualServiceClientPolicyTlArrayOutput() GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlArrayOutput { + return i.ToGetVirtualNodeSpecBackendVirtualServiceClientPolicyTlArrayOutputWithContext(context.Background()) } -func (i GetRouteSpecHttp2RouteTimeoutPerRequestArray) ToGetRouteSpecHttp2RouteTimeoutPerRequestArrayOutputWithContext(ctx context.Context) GetRouteSpecHttp2RouteTimeoutPerRequestArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetRouteSpecHttp2RouteTimeoutPerRequestArrayOutput) +func (i GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlArray) ToGetVirtualNodeSpecBackendVirtualServiceClientPolicyTlArrayOutputWithContext(ctx context.Context) GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlArrayOutput) } -type GetRouteSpecHttp2RouteTimeoutPerRequestOutput struct{ *pulumi.OutputState } +type GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlOutput struct{ *pulumi.OutputState } -func (GetRouteSpecHttp2RouteTimeoutPerRequestOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetRouteSpecHttp2RouteTimeoutPerRequest)(nil)).Elem() +func (GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetVirtualNodeSpecBackendVirtualServiceClientPolicyTl)(nil)).Elem() } -func (o GetRouteSpecHttp2RouteTimeoutPerRequestOutput) ToGetRouteSpecHttp2RouteTimeoutPerRequestOutput() GetRouteSpecHttp2RouteTimeoutPerRequestOutput { +func (o GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlOutput) ToGetVirtualNodeSpecBackendVirtualServiceClientPolicyTlOutput() GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlOutput { return o } -func (o GetRouteSpecHttp2RouteTimeoutPerRequestOutput) ToGetRouteSpecHttp2RouteTimeoutPerRequestOutputWithContext(ctx context.Context) GetRouteSpecHttp2RouteTimeoutPerRequestOutput { +func (o GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlOutput) ToGetVirtualNodeSpecBackendVirtualServiceClientPolicyTlOutputWithContext(ctx context.Context) GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlOutput { return o } -func (o GetRouteSpecHttp2RouteTimeoutPerRequestOutput) Unit() pulumi.StringOutput { - return o.ApplyT(func(v GetRouteSpecHttp2RouteTimeoutPerRequest) string { return v.Unit }).(pulumi.StringOutput) +func (o GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlOutput) Certificates() GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlCertificateArrayOutput { + return o.ApplyT(func(v GetVirtualNodeSpecBackendVirtualServiceClientPolicyTl) []GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlCertificate { + return v.Certificates + }).(GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlCertificateArrayOutput) } -func (o GetRouteSpecHttp2RouteTimeoutPerRequestOutput) Value() pulumi.IntOutput { - return o.ApplyT(func(v GetRouteSpecHttp2RouteTimeoutPerRequest) int { return v.Value }).(pulumi.IntOutput) +func (o GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlOutput) Enforce() pulumi.BoolOutput { + return o.ApplyT(func(v GetVirtualNodeSpecBackendVirtualServiceClientPolicyTl) bool { return v.Enforce }).(pulumi.BoolOutput) } -type GetRouteSpecHttp2RouteTimeoutPerRequestArrayOutput struct{ *pulumi.OutputState } +func (o GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlOutput) Ports() pulumi.IntArrayOutput { + return o.ApplyT(func(v GetVirtualNodeSpecBackendVirtualServiceClientPolicyTl) []int { return v.Ports }).(pulumi.IntArrayOutput) +} -func (GetRouteSpecHttp2RouteTimeoutPerRequestArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetRouteSpecHttp2RouteTimeoutPerRequest)(nil)).Elem() +func (o GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlOutput) Validations() GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationArrayOutput { + return o.ApplyT(func(v GetVirtualNodeSpecBackendVirtualServiceClientPolicyTl) []GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidation { + return v.Validations + }).(GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationArrayOutput) } -func (o GetRouteSpecHttp2RouteTimeoutPerRequestArrayOutput) ToGetRouteSpecHttp2RouteTimeoutPerRequestArrayOutput() GetRouteSpecHttp2RouteTimeoutPerRequestArrayOutput { +type GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlArrayOutput struct{ *pulumi.OutputState } + +func (GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetVirtualNodeSpecBackendVirtualServiceClientPolicyTl)(nil)).Elem() +} + +func (o GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlArrayOutput) ToGetVirtualNodeSpecBackendVirtualServiceClientPolicyTlArrayOutput() GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlArrayOutput { return o } -func (o GetRouteSpecHttp2RouteTimeoutPerRequestArrayOutput) ToGetRouteSpecHttp2RouteTimeoutPerRequestArrayOutputWithContext(ctx context.Context) GetRouteSpecHttp2RouteTimeoutPerRequestArrayOutput { +func (o GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlArrayOutput) ToGetVirtualNodeSpecBackendVirtualServiceClientPolicyTlArrayOutputWithContext(ctx context.Context) GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlArrayOutput { return o } -func (o GetRouteSpecHttp2RouteTimeoutPerRequestArrayOutput) Index(i pulumi.IntInput) GetRouteSpecHttp2RouteTimeoutPerRequestOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetRouteSpecHttp2RouteTimeoutPerRequest { - return vs[0].([]GetRouteSpecHttp2RouteTimeoutPerRequest)[vs[1].(int)] - }).(GetRouteSpecHttp2RouteTimeoutPerRequestOutput) +func (o GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlArrayOutput) Index(i pulumi.IntInput) GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetVirtualNodeSpecBackendVirtualServiceClientPolicyTl { + return vs[0].([]GetVirtualNodeSpecBackendVirtualServiceClientPolicyTl)[vs[1].(int)] + }).(GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlOutput) } -type GetRouteSpecHttpRoute struct { - // Action to take if a match is determined. - Actions []GetRouteSpecHttpRouteAction `pulumi:"actions"` - // Criteria for determining an HTTP request match. - Matches []GetRouteSpecHttpRouteMatch `pulumi:"matches"` - // Retry policy. - RetryPolicies []GetRouteSpecHttpRouteRetryPolicy `pulumi:"retryPolicies"` - // Types of timeouts. - Timeouts []GetRouteSpecHttpRouteTimeout `pulumi:"timeouts"` +type GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlCertificate struct { + Files []GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlCertificateFile `pulumi:"files"` + Sds []GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlCertificateSd `pulumi:"sds"` } -// GetRouteSpecHttpRouteInput is an input type that accepts GetRouteSpecHttpRouteArgs and GetRouteSpecHttpRouteOutput values. -// You can construct a concrete instance of `GetRouteSpecHttpRouteInput` via: +// GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlCertificateInput is an input type that accepts GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlCertificateArgs and GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlCertificateOutput values. +// You can construct a concrete instance of `GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlCertificateInput` via: // -// GetRouteSpecHttpRouteArgs{...} -type GetRouteSpecHttpRouteInput interface { +// GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlCertificateArgs{...} +type GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlCertificateInput interface { pulumi.Input - ToGetRouteSpecHttpRouteOutput() GetRouteSpecHttpRouteOutput - ToGetRouteSpecHttpRouteOutputWithContext(context.Context) GetRouteSpecHttpRouteOutput + ToGetVirtualNodeSpecBackendVirtualServiceClientPolicyTlCertificateOutput() GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlCertificateOutput + ToGetVirtualNodeSpecBackendVirtualServiceClientPolicyTlCertificateOutputWithContext(context.Context) GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlCertificateOutput } -type GetRouteSpecHttpRouteArgs struct { - // Action to take if a match is determined. - Actions GetRouteSpecHttpRouteActionArrayInput `pulumi:"actions"` - // Criteria for determining an HTTP request match. - Matches GetRouteSpecHttpRouteMatchArrayInput `pulumi:"matches"` - // Retry policy. - RetryPolicies GetRouteSpecHttpRouteRetryPolicyArrayInput `pulumi:"retryPolicies"` - // Types of timeouts. - Timeouts GetRouteSpecHttpRouteTimeoutArrayInput `pulumi:"timeouts"` +type GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlCertificateArgs struct { + Files GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlCertificateFileArrayInput `pulumi:"files"` + Sds GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlCertificateSdArrayInput `pulumi:"sds"` } -func (GetRouteSpecHttpRouteArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetRouteSpecHttpRoute)(nil)).Elem() +func (GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlCertificateArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlCertificate)(nil)).Elem() } -func (i GetRouteSpecHttpRouteArgs) ToGetRouteSpecHttpRouteOutput() GetRouteSpecHttpRouteOutput { - return i.ToGetRouteSpecHttpRouteOutputWithContext(context.Background()) +func (i GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlCertificateArgs) ToGetVirtualNodeSpecBackendVirtualServiceClientPolicyTlCertificateOutput() GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlCertificateOutput { + return i.ToGetVirtualNodeSpecBackendVirtualServiceClientPolicyTlCertificateOutputWithContext(context.Background()) } -func (i GetRouteSpecHttpRouteArgs) ToGetRouteSpecHttpRouteOutputWithContext(ctx context.Context) GetRouteSpecHttpRouteOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetRouteSpecHttpRouteOutput) +func (i GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlCertificateArgs) ToGetVirtualNodeSpecBackendVirtualServiceClientPolicyTlCertificateOutputWithContext(ctx context.Context) GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlCertificateOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlCertificateOutput) } -// GetRouteSpecHttpRouteArrayInput is an input type that accepts GetRouteSpecHttpRouteArray and GetRouteSpecHttpRouteArrayOutput values. -// You can construct a concrete instance of `GetRouteSpecHttpRouteArrayInput` via: +// GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlCertificateArrayInput is an input type that accepts GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlCertificateArray and GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlCertificateArrayOutput values. +// You can construct a concrete instance of `GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlCertificateArrayInput` via: // -// GetRouteSpecHttpRouteArray{ GetRouteSpecHttpRouteArgs{...} } -type GetRouteSpecHttpRouteArrayInput interface { +// GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlCertificateArray{ GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlCertificateArgs{...} } +type GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlCertificateArrayInput interface { pulumi.Input - ToGetRouteSpecHttpRouteArrayOutput() GetRouteSpecHttpRouteArrayOutput - ToGetRouteSpecHttpRouteArrayOutputWithContext(context.Context) GetRouteSpecHttpRouteArrayOutput + ToGetVirtualNodeSpecBackendVirtualServiceClientPolicyTlCertificateArrayOutput() GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlCertificateArrayOutput + ToGetVirtualNodeSpecBackendVirtualServiceClientPolicyTlCertificateArrayOutputWithContext(context.Context) GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlCertificateArrayOutput } -type GetRouteSpecHttpRouteArray []GetRouteSpecHttpRouteInput +type GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlCertificateArray []GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlCertificateInput -func (GetRouteSpecHttpRouteArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetRouteSpecHttpRoute)(nil)).Elem() +func (GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlCertificateArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlCertificate)(nil)).Elem() } -func (i GetRouteSpecHttpRouteArray) ToGetRouteSpecHttpRouteArrayOutput() GetRouteSpecHttpRouteArrayOutput { - return i.ToGetRouteSpecHttpRouteArrayOutputWithContext(context.Background()) +func (i GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlCertificateArray) ToGetVirtualNodeSpecBackendVirtualServiceClientPolicyTlCertificateArrayOutput() GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlCertificateArrayOutput { + return i.ToGetVirtualNodeSpecBackendVirtualServiceClientPolicyTlCertificateArrayOutputWithContext(context.Background()) } -func (i GetRouteSpecHttpRouteArray) ToGetRouteSpecHttpRouteArrayOutputWithContext(ctx context.Context) GetRouteSpecHttpRouteArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetRouteSpecHttpRouteArrayOutput) +func (i GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlCertificateArray) ToGetVirtualNodeSpecBackendVirtualServiceClientPolicyTlCertificateArrayOutputWithContext(ctx context.Context) GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlCertificateArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlCertificateArrayOutput) } -type GetRouteSpecHttpRouteOutput struct{ *pulumi.OutputState } +type GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlCertificateOutput struct{ *pulumi.OutputState } -func (GetRouteSpecHttpRouteOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetRouteSpecHttpRoute)(nil)).Elem() +func (GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlCertificateOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlCertificate)(nil)).Elem() } -func (o GetRouteSpecHttpRouteOutput) ToGetRouteSpecHttpRouteOutput() GetRouteSpecHttpRouteOutput { +func (o GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlCertificateOutput) ToGetVirtualNodeSpecBackendVirtualServiceClientPolicyTlCertificateOutput() GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlCertificateOutput { return o } -func (o GetRouteSpecHttpRouteOutput) ToGetRouteSpecHttpRouteOutputWithContext(ctx context.Context) GetRouteSpecHttpRouteOutput { +func (o GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlCertificateOutput) ToGetVirtualNodeSpecBackendVirtualServiceClientPolicyTlCertificateOutputWithContext(ctx context.Context) GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlCertificateOutput { return o } -// Action to take if a match is determined. -func (o GetRouteSpecHttpRouteOutput) Actions() GetRouteSpecHttpRouteActionArrayOutput { - return o.ApplyT(func(v GetRouteSpecHttpRoute) []GetRouteSpecHttpRouteAction { return v.Actions }).(GetRouteSpecHttpRouteActionArrayOutput) -} - -// Criteria for determining an HTTP request match. -func (o GetRouteSpecHttpRouteOutput) Matches() GetRouteSpecHttpRouteMatchArrayOutput { - return o.ApplyT(func(v GetRouteSpecHttpRoute) []GetRouteSpecHttpRouteMatch { return v.Matches }).(GetRouteSpecHttpRouteMatchArrayOutput) -} - -// Retry policy. -func (o GetRouteSpecHttpRouteOutput) RetryPolicies() GetRouteSpecHttpRouteRetryPolicyArrayOutput { - return o.ApplyT(func(v GetRouteSpecHttpRoute) []GetRouteSpecHttpRouteRetryPolicy { return v.RetryPolicies }).(GetRouteSpecHttpRouteRetryPolicyArrayOutput) +func (o GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlCertificateOutput) Files() GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlCertificateFileArrayOutput { + return o.ApplyT(func(v GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlCertificate) []GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlCertificateFile { + return v.Files + }).(GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlCertificateFileArrayOutput) } -// Types of timeouts. -func (o GetRouteSpecHttpRouteOutput) Timeouts() GetRouteSpecHttpRouteTimeoutArrayOutput { - return o.ApplyT(func(v GetRouteSpecHttpRoute) []GetRouteSpecHttpRouteTimeout { return v.Timeouts }).(GetRouteSpecHttpRouteTimeoutArrayOutput) +func (o GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlCertificateOutput) Sds() GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlCertificateSdArrayOutput { + return o.ApplyT(func(v GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlCertificate) []GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlCertificateSd { + return v.Sds + }).(GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlCertificateSdArrayOutput) } -type GetRouteSpecHttpRouteArrayOutput struct{ *pulumi.OutputState } +type GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlCertificateArrayOutput struct{ *pulumi.OutputState } -func (GetRouteSpecHttpRouteArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetRouteSpecHttpRoute)(nil)).Elem() +func (GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlCertificateArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlCertificate)(nil)).Elem() } -func (o GetRouteSpecHttpRouteArrayOutput) ToGetRouteSpecHttpRouteArrayOutput() GetRouteSpecHttpRouteArrayOutput { +func (o GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlCertificateArrayOutput) ToGetVirtualNodeSpecBackendVirtualServiceClientPolicyTlCertificateArrayOutput() GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlCertificateArrayOutput { return o } -func (o GetRouteSpecHttpRouteArrayOutput) ToGetRouteSpecHttpRouteArrayOutputWithContext(ctx context.Context) GetRouteSpecHttpRouteArrayOutput { +func (o GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlCertificateArrayOutput) ToGetVirtualNodeSpecBackendVirtualServiceClientPolicyTlCertificateArrayOutputWithContext(ctx context.Context) GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlCertificateArrayOutput { return o } -func (o GetRouteSpecHttpRouteArrayOutput) Index(i pulumi.IntInput) GetRouteSpecHttpRouteOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetRouteSpecHttpRoute { - return vs[0].([]GetRouteSpecHttpRoute)[vs[1].(int)] - }).(GetRouteSpecHttpRouteOutput) +func (o GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlCertificateArrayOutput) Index(i pulumi.IntInput) GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlCertificateOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlCertificate { + return vs[0].([]GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlCertificate)[vs[1].(int)] + }).(GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlCertificateOutput) } -type GetRouteSpecHttpRouteAction struct { - WeightedTargets []GetRouteSpecHttpRouteActionWeightedTarget `pulumi:"weightedTargets"` +type GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlCertificateFile struct { + CertificateChain string `pulumi:"certificateChain"` + PrivateKey string `pulumi:"privateKey"` } -// GetRouteSpecHttpRouteActionInput is an input type that accepts GetRouteSpecHttpRouteActionArgs and GetRouteSpecHttpRouteActionOutput values. -// You can construct a concrete instance of `GetRouteSpecHttpRouteActionInput` via: +// GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlCertificateFileInput is an input type that accepts GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlCertificateFileArgs and GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlCertificateFileOutput values. +// You can construct a concrete instance of `GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlCertificateFileInput` via: // -// GetRouteSpecHttpRouteActionArgs{...} -type GetRouteSpecHttpRouteActionInput interface { +// GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlCertificateFileArgs{...} +type GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlCertificateFileInput interface { pulumi.Input - ToGetRouteSpecHttpRouteActionOutput() GetRouteSpecHttpRouteActionOutput - ToGetRouteSpecHttpRouteActionOutputWithContext(context.Context) GetRouteSpecHttpRouteActionOutput + ToGetVirtualNodeSpecBackendVirtualServiceClientPolicyTlCertificateFileOutput() GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlCertificateFileOutput + ToGetVirtualNodeSpecBackendVirtualServiceClientPolicyTlCertificateFileOutputWithContext(context.Context) GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlCertificateFileOutput } -type GetRouteSpecHttpRouteActionArgs struct { - WeightedTargets GetRouteSpecHttpRouteActionWeightedTargetArrayInput `pulumi:"weightedTargets"` +type GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlCertificateFileArgs struct { + CertificateChain pulumi.StringInput `pulumi:"certificateChain"` + PrivateKey pulumi.StringInput `pulumi:"privateKey"` } -func (GetRouteSpecHttpRouteActionArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetRouteSpecHttpRouteAction)(nil)).Elem() +func (GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlCertificateFileArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlCertificateFile)(nil)).Elem() } -func (i GetRouteSpecHttpRouteActionArgs) ToGetRouteSpecHttpRouteActionOutput() GetRouteSpecHttpRouteActionOutput { - return i.ToGetRouteSpecHttpRouteActionOutputWithContext(context.Background()) +func (i GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlCertificateFileArgs) ToGetVirtualNodeSpecBackendVirtualServiceClientPolicyTlCertificateFileOutput() GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlCertificateFileOutput { + return i.ToGetVirtualNodeSpecBackendVirtualServiceClientPolicyTlCertificateFileOutputWithContext(context.Background()) } -func (i GetRouteSpecHttpRouteActionArgs) ToGetRouteSpecHttpRouteActionOutputWithContext(ctx context.Context) GetRouteSpecHttpRouteActionOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetRouteSpecHttpRouteActionOutput) +func (i GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlCertificateFileArgs) ToGetVirtualNodeSpecBackendVirtualServiceClientPolicyTlCertificateFileOutputWithContext(ctx context.Context) GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlCertificateFileOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlCertificateFileOutput) } -// GetRouteSpecHttpRouteActionArrayInput is an input type that accepts GetRouteSpecHttpRouteActionArray and GetRouteSpecHttpRouteActionArrayOutput values. -// You can construct a concrete instance of `GetRouteSpecHttpRouteActionArrayInput` via: +// GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlCertificateFileArrayInput is an input type that accepts GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlCertificateFileArray and GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlCertificateFileArrayOutput values. +// You can construct a concrete instance of `GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlCertificateFileArrayInput` via: // -// GetRouteSpecHttpRouteActionArray{ GetRouteSpecHttpRouteActionArgs{...} } -type GetRouteSpecHttpRouteActionArrayInput interface { +// GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlCertificateFileArray{ GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlCertificateFileArgs{...} } +type GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlCertificateFileArrayInput interface { pulumi.Input - ToGetRouteSpecHttpRouteActionArrayOutput() GetRouteSpecHttpRouteActionArrayOutput - ToGetRouteSpecHttpRouteActionArrayOutputWithContext(context.Context) GetRouteSpecHttpRouteActionArrayOutput + ToGetVirtualNodeSpecBackendVirtualServiceClientPolicyTlCertificateFileArrayOutput() GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlCertificateFileArrayOutput + ToGetVirtualNodeSpecBackendVirtualServiceClientPolicyTlCertificateFileArrayOutputWithContext(context.Context) GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlCertificateFileArrayOutput } -type GetRouteSpecHttpRouteActionArray []GetRouteSpecHttpRouteActionInput +type GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlCertificateFileArray []GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlCertificateFileInput -func (GetRouteSpecHttpRouteActionArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetRouteSpecHttpRouteAction)(nil)).Elem() +func (GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlCertificateFileArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlCertificateFile)(nil)).Elem() } -func (i GetRouteSpecHttpRouteActionArray) ToGetRouteSpecHttpRouteActionArrayOutput() GetRouteSpecHttpRouteActionArrayOutput { - return i.ToGetRouteSpecHttpRouteActionArrayOutputWithContext(context.Background()) +func (i GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlCertificateFileArray) ToGetVirtualNodeSpecBackendVirtualServiceClientPolicyTlCertificateFileArrayOutput() GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlCertificateFileArrayOutput { + return i.ToGetVirtualNodeSpecBackendVirtualServiceClientPolicyTlCertificateFileArrayOutputWithContext(context.Background()) } -func (i GetRouteSpecHttpRouteActionArray) ToGetRouteSpecHttpRouteActionArrayOutputWithContext(ctx context.Context) GetRouteSpecHttpRouteActionArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetRouteSpecHttpRouteActionArrayOutput) +func (i GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlCertificateFileArray) ToGetVirtualNodeSpecBackendVirtualServiceClientPolicyTlCertificateFileArrayOutputWithContext(ctx context.Context) GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlCertificateFileArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlCertificateFileArrayOutput) } -type GetRouteSpecHttpRouteActionOutput struct{ *pulumi.OutputState } +type GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlCertificateFileOutput struct{ *pulumi.OutputState } -func (GetRouteSpecHttpRouteActionOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetRouteSpecHttpRouteAction)(nil)).Elem() +func (GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlCertificateFileOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlCertificateFile)(nil)).Elem() } -func (o GetRouteSpecHttpRouteActionOutput) ToGetRouteSpecHttpRouteActionOutput() GetRouteSpecHttpRouteActionOutput { +func (o GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlCertificateFileOutput) ToGetVirtualNodeSpecBackendVirtualServiceClientPolicyTlCertificateFileOutput() GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlCertificateFileOutput { return o } -func (o GetRouteSpecHttpRouteActionOutput) ToGetRouteSpecHttpRouteActionOutputWithContext(ctx context.Context) GetRouteSpecHttpRouteActionOutput { +func (o GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlCertificateFileOutput) ToGetVirtualNodeSpecBackendVirtualServiceClientPolicyTlCertificateFileOutputWithContext(ctx context.Context) GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlCertificateFileOutput { return o } -func (o GetRouteSpecHttpRouteActionOutput) WeightedTargets() GetRouteSpecHttpRouteActionWeightedTargetArrayOutput { - return o.ApplyT(func(v GetRouteSpecHttpRouteAction) []GetRouteSpecHttpRouteActionWeightedTarget { - return v.WeightedTargets - }).(GetRouteSpecHttpRouteActionWeightedTargetArrayOutput) +func (o GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlCertificateFileOutput) CertificateChain() pulumi.StringOutput { + return o.ApplyT(func(v GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlCertificateFile) string { + return v.CertificateChain + }).(pulumi.StringOutput) } -type GetRouteSpecHttpRouteActionArrayOutput struct{ *pulumi.OutputState } +func (o GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlCertificateFileOutput) PrivateKey() pulumi.StringOutput { + return o.ApplyT(func(v GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlCertificateFile) string { + return v.PrivateKey + }).(pulumi.StringOutput) +} -func (GetRouteSpecHttpRouteActionArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetRouteSpecHttpRouteAction)(nil)).Elem() +type GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlCertificateFileArrayOutput struct{ *pulumi.OutputState } + +func (GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlCertificateFileArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlCertificateFile)(nil)).Elem() } -func (o GetRouteSpecHttpRouteActionArrayOutput) ToGetRouteSpecHttpRouteActionArrayOutput() GetRouteSpecHttpRouteActionArrayOutput { +func (o GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlCertificateFileArrayOutput) ToGetVirtualNodeSpecBackendVirtualServiceClientPolicyTlCertificateFileArrayOutput() GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlCertificateFileArrayOutput { return o } -func (o GetRouteSpecHttpRouteActionArrayOutput) ToGetRouteSpecHttpRouteActionArrayOutputWithContext(ctx context.Context) GetRouteSpecHttpRouteActionArrayOutput { +func (o GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlCertificateFileArrayOutput) ToGetVirtualNodeSpecBackendVirtualServiceClientPolicyTlCertificateFileArrayOutputWithContext(ctx context.Context) GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlCertificateFileArrayOutput { return o } -func (o GetRouteSpecHttpRouteActionArrayOutput) Index(i pulumi.IntInput) GetRouteSpecHttpRouteActionOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetRouteSpecHttpRouteAction { - return vs[0].([]GetRouteSpecHttpRouteAction)[vs[1].(int)] - }).(GetRouteSpecHttpRouteActionOutput) +func (o GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlCertificateFileArrayOutput) Index(i pulumi.IntInput) GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlCertificateFileOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlCertificateFile { + return vs[0].([]GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlCertificateFile)[vs[1].(int)] + }).(GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlCertificateFileOutput) } -type GetRouteSpecHttpRouteActionWeightedTarget struct { - Port int `pulumi:"port"` - VirtualNode string `pulumi:"virtualNode"` - Weight int `pulumi:"weight"` +type GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlCertificateSd struct { + SecretName string `pulumi:"secretName"` } -// GetRouteSpecHttpRouteActionWeightedTargetInput is an input type that accepts GetRouteSpecHttpRouteActionWeightedTargetArgs and GetRouteSpecHttpRouteActionWeightedTargetOutput values. -// You can construct a concrete instance of `GetRouteSpecHttpRouteActionWeightedTargetInput` via: +// GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlCertificateSdInput is an input type that accepts GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlCertificateSdArgs and GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlCertificateSdOutput values. +// You can construct a concrete instance of `GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlCertificateSdInput` via: // -// GetRouteSpecHttpRouteActionWeightedTargetArgs{...} -type GetRouteSpecHttpRouteActionWeightedTargetInput interface { +// GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlCertificateSdArgs{...} +type GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlCertificateSdInput interface { pulumi.Input - ToGetRouteSpecHttpRouteActionWeightedTargetOutput() GetRouteSpecHttpRouteActionWeightedTargetOutput - ToGetRouteSpecHttpRouteActionWeightedTargetOutputWithContext(context.Context) GetRouteSpecHttpRouteActionWeightedTargetOutput + ToGetVirtualNodeSpecBackendVirtualServiceClientPolicyTlCertificateSdOutput() GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlCertificateSdOutput + ToGetVirtualNodeSpecBackendVirtualServiceClientPolicyTlCertificateSdOutputWithContext(context.Context) GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlCertificateSdOutput } -type GetRouteSpecHttpRouteActionWeightedTargetArgs struct { - Port pulumi.IntInput `pulumi:"port"` - VirtualNode pulumi.StringInput `pulumi:"virtualNode"` - Weight pulumi.IntInput `pulumi:"weight"` +type GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlCertificateSdArgs struct { + SecretName pulumi.StringInput `pulumi:"secretName"` } -func (GetRouteSpecHttpRouteActionWeightedTargetArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetRouteSpecHttpRouteActionWeightedTarget)(nil)).Elem() +func (GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlCertificateSdArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlCertificateSd)(nil)).Elem() } -func (i GetRouteSpecHttpRouteActionWeightedTargetArgs) ToGetRouteSpecHttpRouteActionWeightedTargetOutput() GetRouteSpecHttpRouteActionWeightedTargetOutput { - return i.ToGetRouteSpecHttpRouteActionWeightedTargetOutputWithContext(context.Background()) +func (i GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlCertificateSdArgs) ToGetVirtualNodeSpecBackendVirtualServiceClientPolicyTlCertificateSdOutput() GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlCertificateSdOutput { + return i.ToGetVirtualNodeSpecBackendVirtualServiceClientPolicyTlCertificateSdOutputWithContext(context.Background()) } -func (i GetRouteSpecHttpRouteActionWeightedTargetArgs) ToGetRouteSpecHttpRouteActionWeightedTargetOutputWithContext(ctx context.Context) GetRouteSpecHttpRouteActionWeightedTargetOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetRouteSpecHttpRouteActionWeightedTargetOutput) +func (i GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlCertificateSdArgs) ToGetVirtualNodeSpecBackendVirtualServiceClientPolicyTlCertificateSdOutputWithContext(ctx context.Context) GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlCertificateSdOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlCertificateSdOutput) } -// GetRouteSpecHttpRouteActionWeightedTargetArrayInput is an input type that accepts GetRouteSpecHttpRouteActionWeightedTargetArray and GetRouteSpecHttpRouteActionWeightedTargetArrayOutput values. -// You can construct a concrete instance of `GetRouteSpecHttpRouteActionWeightedTargetArrayInput` via: +// GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlCertificateSdArrayInput is an input type that accepts GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlCertificateSdArray and GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlCertificateSdArrayOutput values. +// You can construct a concrete instance of `GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlCertificateSdArrayInput` via: // -// GetRouteSpecHttpRouteActionWeightedTargetArray{ GetRouteSpecHttpRouteActionWeightedTargetArgs{...} } -type GetRouteSpecHttpRouteActionWeightedTargetArrayInput interface { +// GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlCertificateSdArray{ GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlCertificateSdArgs{...} } +type GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlCertificateSdArrayInput interface { pulumi.Input - ToGetRouteSpecHttpRouteActionWeightedTargetArrayOutput() GetRouteSpecHttpRouteActionWeightedTargetArrayOutput - ToGetRouteSpecHttpRouteActionWeightedTargetArrayOutputWithContext(context.Context) GetRouteSpecHttpRouteActionWeightedTargetArrayOutput + ToGetVirtualNodeSpecBackendVirtualServiceClientPolicyTlCertificateSdArrayOutput() GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlCertificateSdArrayOutput + ToGetVirtualNodeSpecBackendVirtualServiceClientPolicyTlCertificateSdArrayOutputWithContext(context.Context) GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlCertificateSdArrayOutput } -type GetRouteSpecHttpRouteActionWeightedTargetArray []GetRouteSpecHttpRouteActionWeightedTargetInput +type GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlCertificateSdArray []GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlCertificateSdInput -func (GetRouteSpecHttpRouteActionWeightedTargetArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetRouteSpecHttpRouteActionWeightedTarget)(nil)).Elem() +func (GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlCertificateSdArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlCertificateSd)(nil)).Elem() } -func (i GetRouteSpecHttpRouteActionWeightedTargetArray) ToGetRouteSpecHttpRouteActionWeightedTargetArrayOutput() GetRouteSpecHttpRouteActionWeightedTargetArrayOutput { - return i.ToGetRouteSpecHttpRouteActionWeightedTargetArrayOutputWithContext(context.Background()) +func (i GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlCertificateSdArray) ToGetVirtualNodeSpecBackendVirtualServiceClientPolicyTlCertificateSdArrayOutput() GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlCertificateSdArrayOutput { + return i.ToGetVirtualNodeSpecBackendVirtualServiceClientPolicyTlCertificateSdArrayOutputWithContext(context.Background()) } -func (i GetRouteSpecHttpRouteActionWeightedTargetArray) ToGetRouteSpecHttpRouteActionWeightedTargetArrayOutputWithContext(ctx context.Context) GetRouteSpecHttpRouteActionWeightedTargetArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetRouteSpecHttpRouteActionWeightedTargetArrayOutput) +func (i GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlCertificateSdArray) ToGetVirtualNodeSpecBackendVirtualServiceClientPolicyTlCertificateSdArrayOutputWithContext(ctx context.Context) GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlCertificateSdArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlCertificateSdArrayOutput) } -type GetRouteSpecHttpRouteActionWeightedTargetOutput struct{ *pulumi.OutputState } +type GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlCertificateSdOutput struct{ *pulumi.OutputState } -func (GetRouteSpecHttpRouteActionWeightedTargetOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetRouteSpecHttpRouteActionWeightedTarget)(nil)).Elem() +func (GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlCertificateSdOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlCertificateSd)(nil)).Elem() } -func (o GetRouteSpecHttpRouteActionWeightedTargetOutput) ToGetRouteSpecHttpRouteActionWeightedTargetOutput() GetRouteSpecHttpRouteActionWeightedTargetOutput { +func (o GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlCertificateSdOutput) ToGetVirtualNodeSpecBackendVirtualServiceClientPolicyTlCertificateSdOutput() GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlCertificateSdOutput { return o } -func (o GetRouteSpecHttpRouteActionWeightedTargetOutput) ToGetRouteSpecHttpRouteActionWeightedTargetOutputWithContext(ctx context.Context) GetRouteSpecHttpRouteActionWeightedTargetOutput { +func (o GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlCertificateSdOutput) ToGetVirtualNodeSpecBackendVirtualServiceClientPolicyTlCertificateSdOutputWithContext(ctx context.Context) GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlCertificateSdOutput { return o } -func (o GetRouteSpecHttpRouteActionWeightedTargetOutput) Port() pulumi.IntOutput { - return o.ApplyT(func(v GetRouteSpecHttpRouteActionWeightedTarget) int { return v.Port }).(pulumi.IntOutput) -} - -func (o GetRouteSpecHttpRouteActionWeightedTargetOutput) VirtualNode() pulumi.StringOutput { - return o.ApplyT(func(v GetRouteSpecHttpRouteActionWeightedTarget) string { return v.VirtualNode }).(pulumi.StringOutput) -} - -func (o GetRouteSpecHttpRouteActionWeightedTargetOutput) Weight() pulumi.IntOutput { - return o.ApplyT(func(v GetRouteSpecHttpRouteActionWeightedTarget) int { return v.Weight }).(pulumi.IntOutput) +func (o GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlCertificateSdOutput) SecretName() pulumi.StringOutput { + return o.ApplyT(func(v GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlCertificateSd) string { return v.SecretName }).(pulumi.StringOutput) } -type GetRouteSpecHttpRouteActionWeightedTargetArrayOutput struct{ *pulumi.OutputState } +type GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlCertificateSdArrayOutput struct{ *pulumi.OutputState } -func (GetRouteSpecHttpRouteActionWeightedTargetArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetRouteSpecHttpRouteActionWeightedTarget)(nil)).Elem() +func (GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlCertificateSdArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlCertificateSd)(nil)).Elem() } -func (o GetRouteSpecHttpRouteActionWeightedTargetArrayOutput) ToGetRouteSpecHttpRouteActionWeightedTargetArrayOutput() GetRouteSpecHttpRouteActionWeightedTargetArrayOutput { +func (o GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlCertificateSdArrayOutput) ToGetVirtualNodeSpecBackendVirtualServiceClientPolicyTlCertificateSdArrayOutput() GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlCertificateSdArrayOutput { return o } -func (o GetRouteSpecHttpRouteActionWeightedTargetArrayOutput) ToGetRouteSpecHttpRouteActionWeightedTargetArrayOutputWithContext(ctx context.Context) GetRouteSpecHttpRouteActionWeightedTargetArrayOutput { +func (o GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlCertificateSdArrayOutput) ToGetVirtualNodeSpecBackendVirtualServiceClientPolicyTlCertificateSdArrayOutputWithContext(ctx context.Context) GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlCertificateSdArrayOutput { return o } -func (o GetRouteSpecHttpRouteActionWeightedTargetArrayOutput) Index(i pulumi.IntInput) GetRouteSpecHttpRouteActionWeightedTargetOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetRouteSpecHttpRouteActionWeightedTarget { - return vs[0].([]GetRouteSpecHttpRouteActionWeightedTarget)[vs[1].(int)] - }).(GetRouteSpecHttpRouteActionWeightedTargetOutput) +func (o GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlCertificateSdArrayOutput) Index(i pulumi.IntInput) GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlCertificateSdOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlCertificateSd { + return vs[0].([]GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlCertificateSd)[vs[1].(int)] + }).(GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlCertificateSdOutput) } -type GetRouteSpecHttpRouteMatch struct { - Headers []GetRouteSpecHttpRouteMatchHeader `pulumi:"headers"` - Method string `pulumi:"method"` - Port int `pulumi:"port"` - Prefix string `pulumi:"prefix"` - Scheme string `pulumi:"scheme"` +type GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidation struct { + SubjectAlternativeNames []GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationSubjectAlternativeName `pulumi:"subjectAlternativeNames"` + Trusts []GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrust `pulumi:"trusts"` } -// GetRouteSpecHttpRouteMatchInput is an input type that accepts GetRouteSpecHttpRouteMatchArgs and GetRouteSpecHttpRouteMatchOutput values. -// You can construct a concrete instance of `GetRouteSpecHttpRouteMatchInput` via: +// GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationInput is an input type that accepts GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationArgs and GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationOutput values. +// You can construct a concrete instance of `GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationInput` via: // -// GetRouteSpecHttpRouteMatchArgs{...} -type GetRouteSpecHttpRouteMatchInput interface { +// GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationArgs{...} +type GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationInput interface { pulumi.Input - ToGetRouteSpecHttpRouteMatchOutput() GetRouteSpecHttpRouteMatchOutput - ToGetRouteSpecHttpRouteMatchOutputWithContext(context.Context) GetRouteSpecHttpRouteMatchOutput + ToGetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationOutput() GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationOutput + ToGetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationOutputWithContext(context.Context) GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationOutput } -type GetRouteSpecHttpRouteMatchArgs struct { - Headers GetRouteSpecHttpRouteMatchHeaderArrayInput `pulumi:"headers"` - Method pulumi.StringInput `pulumi:"method"` - Port pulumi.IntInput `pulumi:"port"` - Prefix pulumi.StringInput `pulumi:"prefix"` - Scheme pulumi.StringInput `pulumi:"scheme"` +type GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationArgs struct { + SubjectAlternativeNames GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationSubjectAlternativeNameArrayInput `pulumi:"subjectAlternativeNames"` + Trusts GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustArrayInput `pulumi:"trusts"` } -func (GetRouteSpecHttpRouteMatchArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetRouteSpecHttpRouteMatch)(nil)).Elem() +func (GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidation)(nil)).Elem() } -func (i GetRouteSpecHttpRouteMatchArgs) ToGetRouteSpecHttpRouteMatchOutput() GetRouteSpecHttpRouteMatchOutput { - return i.ToGetRouteSpecHttpRouteMatchOutputWithContext(context.Background()) +func (i GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationArgs) ToGetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationOutput() GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationOutput { + return i.ToGetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationOutputWithContext(context.Background()) } -func (i GetRouteSpecHttpRouteMatchArgs) ToGetRouteSpecHttpRouteMatchOutputWithContext(ctx context.Context) GetRouteSpecHttpRouteMatchOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetRouteSpecHttpRouteMatchOutput) +func (i GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationArgs) ToGetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationOutputWithContext(ctx context.Context) GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationOutput) } -// GetRouteSpecHttpRouteMatchArrayInput is an input type that accepts GetRouteSpecHttpRouteMatchArray and GetRouteSpecHttpRouteMatchArrayOutput values. -// You can construct a concrete instance of `GetRouteSpecHttpRouteMatchArrayInput` via: +// GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationArrayInput is an input type that accepts GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationArray and GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationArrayOutput values. +// You can construct a concrete instance of `GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationArrayInput` via: // -// GetRouteSpecHttpRouteMatchArray{ GetRouteSpecHttpRouteMatchArgs{...} } -type GetRouteSpecHttpRouteMatchArrayInput interface { +// GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationArray{ GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationArgs{...} } +type GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationArrayInput interface { pulumi.Input - ToGetRouteSpecHttpRouteMatchArrayOutput() GetRouteSpecHttpRouteMatchArrayOutput - ToGetRouteSpecHttpRouteMatchArrayOutputWithContext(context.Context) GetRouteSpecHttpRouteMatchArrayOutput + ToGetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationArrayOutput() GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationArrayOutput + ToGetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationArrayOutputWithContext(context.Context) GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationArrayOutput } -type GetRouteSpecHttpRouteMatchArray []GetRouteSpecHttpRouteMatchInput +type GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationArray []GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationInput -func (GetRouteSpecHttpRouteMatchArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetRouteSpecHttpRouteMatch)(nil)).Elem() +func (GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidation)(nil)).Elem() } -func (i GetRouteSpecHttpRouteMatchArray) ToGetRouteSpecHttpRouteMatchArrayOutput() GetRouteSpecHttpRouteMatchArrayOutput { - return i.ToGetRouteSpecHttpRouteMatchArrayOutputWithContext(context.Background()) +func (i GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationArray) ToGetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationArrayOutput() GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationArrayOutput { + return i.ToGetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationArrayOutputWithContext(context.Background()) } -func (i GetRouteSpecHttpRouteMatchArray) ToGetRouteSpecHttpRouteMatchArrayOutputWithContext(ctx context.Context) GetRouteSpecHttpRouteMatchArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetRouteSpecHttpRouteMatchArrayOutput) +func (i GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationArray) ToGetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationArrayOutputWithContext(ctx context.Context) GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationArrayOutput) } -type GetRouteSpecHttpRouteMatchOutput struct{ *pulumi.OutputState } +type GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationOutput struct{ *pulumi.OutputState } -func (GetRouteSpecHttpRouteMatchOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetRouteSpecHttpRouteMatch)(nil)).Elem() +func (GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidation)(nil)).Elem() } -func (o GetRouteSpecHttpRouteMatchOutput) ToGetRouteSpecHttpRouteMatchOutput() GetRouteSpecHttpRouteMatchOutput { +func (o GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationOutput) ToGetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationOutput() GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationOutput { return o } -func (o GetRouteSpecHttpRouteMatchOutput) ToGetRouteSpecHttpRouteMatchOutputWithContext(ctx context.Context) GetRouteSpecHttpRouteMatchOutput { +func (o GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationOutput) ToGetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationOutputWithContext(ctx context.Context) GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationOutput { return o } -func (o GetRouteSpecHttpRouteMatchOutput) Headers() GetRouteSpecHttpRouteMatchHeaderArrayOutput { - return o.ApplyT(func(v GetRouteSpecHttpRouteMatch) []GetRouteSpecHttpRouteMatchHeader { return v.Headers }).(GetRouteSpecHttpRouteMatchHeaderArrayOutput) -} - -func (o GetRouteSpecHttpRouteMatchOutput) Method() pulumi.StringOutput { - return o.ApplyT(func(v GetRouteSpecHttpRouteMatch) string { return v.Method }).(pulumi.StringOutput) -} - -func (o GetRouteSpecHttpRouteMatchOutput) Port() pulumi.IntOutput { - return o.ApplyT(func(v GetRouteSpecHttpRouteMatch) int { return v.Port }).(pulumi.IntOutput) -} - -func (o GetRouteSpecHttpRouteMatchOutput) Prefix() pulumi.StringOutput { - return o.ApplyT(func(v GetRouteSpecHttpRouteMatch) string { return v.Prefix }).(pulumi.StringOutput) +func (o GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationOutput) SubjectAlternativeNames() GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationSubjectAlternativeNameArrayOutput { + return o.ApplyT(func(v GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidation) []GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationSubjectAlternativeName { + return v.SubjectAlternativeNames + }).(GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationSubjectAlternativeNameArrayOutput) } -func (o GetRouteSpecHttpRouteMatchOutput) Scheme() pulumi.StringOutput { - return o.ApplyT(func(v GetRouteSpecHttpRouteMatch) string { return v.Scheme }).(pulumi.StringOutput) +func (o GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationOutput) Trusts() GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustArrayOutput { + return o.ApplyT(func(v GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidation) []GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrust { + return v.Trusts + }).(GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustArrayOutput) } -type GetRouteSpecHttpRouteMatchArrayOutput struct{ *pulumi.OutputState } +type GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationArrayOutput struct{ *pulumi.OutputState } -func (GetRouteSpecHttpRouteMatchArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetRouteSpecHttpRouteMatch)(nil)).Elem() +func (GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidation)(nil)).Elem() } -func (o GetRouteSpecHttpRouteMatchArrayOutput) ToGetRouteSpecHttpRouteMatchArrayOutput() GetRouteSpecHttpRouteMatchArrayOutput { +func (o GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationArrayOutput) ToGetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationArrayOutput() GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationArrayOutput { return o } -func (o GetRouteSpecHttpRouteMatchArrayOutput) ToGetRouteSpecHttpRouteMatchArrayOutputWithContext(ctx context.Context) GetRouteSpecHttpRouteMatchArrayOutput { +func (o GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationArrayOutput) ToGetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationArrayOutputWithContext(ctx context.Context) GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationArrayOutput { return o } -func (o GetRouteSpecHttpRouteMatchArrayOutput) Index(i pulumi.IntInput) GetRouteSpecHttpRouteMatchOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetRouteSpecHttpRouteMatch { - return vs[0].([]GetRouteSpecHttpRouteMatch)[vs[1].(int)] - }).(GetRouteSpecHttpRouteMatchOutput) +func (o GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationArrayOutput) Index(i pulumi.IntInput) GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidation { + return vs[0].([]GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidation)[vs[1].(int)] + }).(GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationOutput) } -type GetRouteSpecHttpRouteMatchHeader struct { - Invert bool `pulumi:"invert"` - // Criteria for determining an HTTP request match. - Matches []GetRouteSpecHttpRouteMatchHeaderMatch `pulumi:"matches"` - // Name of the route. - Name string `pulumi:"name"` +type GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationSubjectAlternativeName struct { + Matches []GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationSubjectAlternativeNameMatch `pulumi:"matches"` } -// GetRouteSpecHttpRouteMatchHeaderInput is an input type that accepts GetRouteSpecHttpRouteMatchHeaderArgs and GetRouteSpecHttpRouteMatchHeaderOutput values. -// You can construct a concrete instance of `GetRouteSpecHttpRouteMatchHeaderInput` via: +// GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationSubjectAlternativeNameInput is an input type that accepts GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationSubjectAlternativeNameArgs and GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationSubjectAlternativeNameOutput values. +// You can construct a concrete instance of `GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationSubjectAlternativeNameInput` via: // -// GetRouteSpecHttpRouteMatchHeaderArgs{...} -type GetRouteSpecHttpRouteMatchHeaderInput interface { +// GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationSubjectAlternativeNameArgs{...} +type GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationSubjectAlternativeNameInput interface { pulumi.Input - ToGetRouteSpecHttpRouteMatchHeaderOutput() GetRouteSpecHttpRouteMatchHeaderOutput - ToGetRouteSpecHttpRouteMatchHeaderOutputWithContext(context.Context) GetRouteSpecHttpRouteMatchHeaderOutput + ToGetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationSubjectAlternativeNameOutput() GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationSubjectAlternativeNameOutput + ToGetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationSubjectAlternativeNameOutputWithContext(context.Context) GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationSubjectAlternativeNameOutput } -type GetRouteSpecHttpRouteMatchHeaderArgs struct { - Invert pulumi.BoolInput `pulumi:"invert"` - // Criteria for determining an HTTP request match. - Matches GetRouteSpecHttpRouteMatchHeaderMatchArrayInput `pulumi:"matches"` - // Name of the route. - Name pulumi.StringInput `pulumi:"name"` +type GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationSubjectAlternativeNameArgs struct { + Matches GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationSubjectAlternativeNameMatchArrayInput `pulumi:"matches"` } -func (GetRouteSpecHttpRouteMatchHeaderArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetRouteSpecHttpRouteMatchHeader)(nil)).Elem() +func (GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationSubjectAlternativeNameArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationSubjectAlternativeName)(nil)).Elem() } -func (i GetRouteSpecHttpRouteMatchHeaderArgs) ToGetRouteSpecHttpRouteMatchHeaderOutput() GetRouteSpecHttpRouteMatchHeaderOutput { - return i.ToGetRouteSpecHttpRouteMatchHeaderOutputWithContext(context.Background()) +func (i GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationSubjectAlternativeNameArgs) ToGetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationSubjectAlternativeNameOutput() GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationSubjectAlternativeNameOutput { + return i.ToGetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationSubjectAlternativeNameOutputWithContext(context.Background()) } -func (i GetRouteSpecHttpRouteMatchHeaderArgs) ToGetRouteSpecHttpRouteMatchHeaderOutputWithContext(ctx context.Context) GetRouteSpecHttpRouteMatchHeaderOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetRouteSpecHttpRouteMatchHeaderOutput) +func (i GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationSubjectAlternativeNameArgs) ToGetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationSubjectAlternativeNameOutputWithContext(ctx context.Context) GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationSubjectAlternativeNameOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationSubjectAlternativeNameOutput) } -// GetRouteSpecHttpRouteMatchHeaderArrayInput is an input type that accepts GetRouteSpecHttpRouteMatchHeaderArray and GetRouteSpecHttpRouteMatchHeaderArrayOutput values. -// You can construct a concrete instance of `GetRouteSpecHttpRouteMatchHeaderArrayInput` via: +// GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationSubjectAlternativeNameArrayInput is an input type that accepts GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationSubjectAlternativeNameArray and GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationSubjectAlternativeNameArrayOutput values. +// You can construct a concrete instance of `GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationSubjectAlternativeNameArrayInput` via: // -// GetRouteSpecHttpRouteMatchHeaderArray{ GetRouteSpecHttpRouteMatchHeaderArgs{...} } -type GetRouteSpecHttpRouteMatchHeaderArrayInput interface { +// GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationSubjectAlternativeNameArray{ GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationSubjectAlternativeNameArgs{...} } +type GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationSubjectAlternativeNameArrayInput interface { pulumi.Input - ToGetRouteSpecHttpRouteMatchHeaderArrayOutput() GetRouteSpecHttpRouteMatchHeaderArrayOutput - ToGetRouteSpecHttpRouteMatchHeaderArrayOutputWithContext(context.Context) GetRouteSpecHttpRouteMatchHeaderArrayOutput + ToGetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationSubjectAlternativeNameArrayOutput() GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationSubjectAlternativeNameArrayOutput + ToGetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationSubjectAlternativeNameArrayOutputWithContext(context.Context) GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationSubjectAlternativeNameArrayOutput } -type GetRouteSpecHttpRouteMatchHeaderArray []GetRouteSpecHttpRouteMatchHeaderInput +type GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationSubjectAlternativeNameArray []GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationSubjectAlternativeNameInput -func (GetRouteSpecHttpRouteMatchHeaderArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetRouteSpecHttpRouteMatchHeader)(nil)).Elem() +func (GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationSubjectAlternativeNameArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationSubjectAlternativeName)(nil)).Elem() } -func (i GetRouteSpecHttpRouteMatchHeaderArray) ToGetRouteSpecHttpRouteMatchHeaderArrayOutput() GetRouteSpecHttpRouteMatchHeaderArrayOutput { - return i.ToGetRouteSpecHttpRouteMatchHeaderArrayOutputWithContext(context.Background()) +func (i GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationSubjectAlternativeNameArray) ToGetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationSubjectAlternativeNameArrayOutput() GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationSubjectAlternativeNameArrayOutput { + return i.ToGetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationSubjectAlternativeNameArrayOutputWithContext(context.Background()) } -func (i GetRouteSpecHttpRouteMatchHeaderArray) ToGetRouteSpecHttpRouteMatchHeaderArrayOutputWithContext(ctx context.Context) GetRouteSpecHttpRouteMatchHeaderArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetRouteSpecHttpRouteMatchHeaderArrayOutput) +func (i GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationSubjectAlternativeNameArray) ToGetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationSubjectAlternativeNameArrayOutputWithContext(ctx context.Context) GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationSubjectAlternativeNameArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationSubjectAlternativeNameArrayOutput) } -type GetRouteSpecHttpRouteMatchHeaderOutput struct{ *pulumi.OutputState } +type GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationSubjectAlternativeNameOutput struct{ *pulumi.OutputState } -func (GetRouteSpecHttpRouteMatchHeaderOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetRouteSpecHttpRouteMatchHeader)(nil)).Elem() +func (GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationSubjectAlternativeNameOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationSubjectAlternativeName)(nil)).Elem() } -func (o GetRouteSpecHttpRouteMatchHeaderOutput) ToGetRouteSpecHttpRouteMatchHeaderOutput() GetRouteSpecHttpRouteMatchHeaderOutput { +func (o GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationSubjectAlternativeNameOutput) ToGetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationSubjectAlternativeNameOutput() GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationSubjectAlternativeNameOutput { return o } -func (o GetRouteSpecHttpRouteMatchHeaderOutput) ToGetRouteSpecHttpRouteMatchHeaderOutputWithContext(ctx context.Context) GetRouteSpecHttpRouteMatchHeaderOutput { +func (o GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationSubjectAlternativeNameOutput) ToGetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationSubjectAlternativeNameOutputWithContext(ctx context.Context) GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationSubjectAlternativeNameOutput { return o } -func (o GetRouteSpecHttpRouteMatchHeaderOutput) Invert() pulumi.BoolOutput { - return o.ApplyT(func(v GetRouteSpecHttpRouteMatchHeader) bool { return v.Invert }).(pulumi.BoolOutput) -} - -// Criteria for determining an HTTP request match. -func (o GetRouteSpecHttpRouteMatchHeaderOutput) Matches() GetRouteSpecHttpRouteMatchHeaderMatchArrayOutput { - return o.ApplyT(func(v GetRouteSpecHttpRouteMatchHeader) []GetRouteSpecHttpRouteMatchHeaderMatch { return v.Matches }).(GetRouteSpecHttpRouteMatchHeaderMatchArrayOutput) -} - -// Name of the route. -func (o GetRouteSpecHttpRouteMatchHeaderOutput) Name() pulumi.StringOutput { - return o.ApplyT(func(v GetRouteSpecHttpRouteMatchHeader) string { return v.Name }).(pulumi.StringOutput) +func (o GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationSubjectAlternativeNameOutput) Matches() GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationSubjectAlternativeNameMatchArrayOutput { + return o.ApplyT(func(v GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationSubjectAlternativeName) []GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationSubjectAlternativeNameMatch { + return v.Matches + }).(GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationSubjectAlternativeNameMatchArrayOutput) } -type GetRouteSpecHttpRouteMatchHeaderArrayOutput struct{ *pulumi.OutputState } +type GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationSubjectAlternativeNameArrayOutput struct{ *pulumi.OutputState } -func (GetRouteSpecHttpRouteMatchHeaderArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetRouteSpecHttpRouteMatchHeader)(nil)).Elem() +func (GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationSubjectAlternativeNameArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationSubjectAlternativeName)(nil)).Elem() } -func (o GetRouteSpecHttpRouteMatchHeaderArrayOutput) ToGetRouteSpecHttpRouteMatchHeaderArrayOutput() GetRouteSpecHttpRouteMatchHeaderArrayOutput { +func (o GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationSubjectAlternativeNameArrayOutput) ToGetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationSubjectAlternativeNameArrayOutput() GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationSubjectAlternativeNameArrayOutput { return o } -func (o GetRouteSpecHttpRouteMatchHeaderArrayOutput) ToGetRouteSpecHttpRouteMatchHeaderArrayOutputWithContext(ctx context.Context) GetRouteSpecHttpRouteMatchHeaderArrayOutput { +func (o GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationSubjectAlternativeNameArrayOutput) ToGetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationSubjectAlternativeNameArrayOutputWithContext(ctx context.Context) GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationSubjectAlternativeNameArrayOutput { return o } -func (o GetRouteSpecHttpRouteMatchHeaderArrayOutput) Index(i pulumi.IntInput) GetRouteSpecHttpRouteMatchHeaderOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetRouteSpecHttpRouteMatchHeader { - return vs[0].([]GetRouteSpecHttpRouteMatchHeader)[vs[1].(int)] - }).(GetRouteSpecHttpRouteMatchHeaderOutput) +func (o GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationSubjectAlternativeNameArrayOutput) Index(i pulumi.IntInput) GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationSubjectAlternativeNameOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationSubjectAlternativeName { + return vs[0].([]GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationSubjectAlternativeName)[vs[1].(int)] + }).(GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationSubjectAlternativeNameOutput) } -type GetRouteSpecHttpRouteMatchHeaderMatch struct { - Exact string `pulumi:"exact"` - Prefix string `pulumi:"prefix"` - Ranges []GetRouteSpecHttpRouteMatchHeaderMatchRange `pulumi:"ranges"` - Regex string `pulumi:"regex"` - Suffix string `pulumi:"suffix"` +type GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationSubjectAlternativeNameMatch struct { + Exacts []string `pulumi:"exacts"` } -// GetRouteSpecHttpRouteMatchHeaderMatchInput is an input type that accepts GetRouteSpecHttpRouteMatchHeaderMatchArgs and GetRouteSpecHttpRouteMatchHeaderMatchOutput values. -// You can construct a concrete instance of `GetRouteSpecHttpRouteMatchHeaderMatchInput` via: +// GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationSubjectAlternativeNameMatchInput is an input type that accepts GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationSubjectAlternativeNameMatchArgs and GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationSubjectAlternativeNameMatchOutput values. +// You can construct a concrete instance of `GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationSubjectAlternativeNameMatchInput` via: // -// GetRouteSpecHttpRouteMatchHeaderMatchArgs{...} -type GetRouteSpecHttpRouteMatchHeaderMatchInput interface { +// GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationSubjectAlternativeNameMatchArgs{...} +type GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationSubjectAlternativeNameMatchInput interface { pulumi.Input - ToGetRouteSpecHttpRouteMatchHeaderMatchOutput() GetRouteSpecHttpRouteMatchHeaderMatchOutput - ToGetRouteSpecHttpRouteMatchHeaderMatchOutputWithContext(context.Context) GetRouteSpecHttpRouteMatchHeaderMatchOutput + ToGetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationSubjectAlternativeNameMatchOutput() GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationSubjectAlternativeNameMatchOutput + ToGetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationSubjectAlternativeNameMatchOutputWithContext(context.Context) GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationSubjectAlternativeNameMatchOutput } -type GetRouteSpecHttpRouteMatchHeaderMatchArgs struct { - Exact pulumi.StringInput `pulumi:"exact"` - Prefix pulumi.StringInput `pulumi:"prefix"` - Ranges GetRouteSpecHttpRouteMatchHeaderMatchRangeArrayInput `pulumi:"ranges"` - Regex pulumi.StringInput `pulumi:"regex"` - Suffix pulumi.StringInput `pulumi:"suffix"` +type GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationSubjectAlternativeNameMatchArgs struct { + Exacts pulumi.StringArrayInput `pulumi:"exacts"` } -func (GetRouteSpecHttpRouteMatchHeaderMatchArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetRouteSpecHttpRouteMatchHeaderMatch)(nil)).Elem() +func (GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationSubjectAlternativeNameMatchArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationSubjectAlternativeNameMatch)(nil)).Elem() } -func (i GetRouteSpecHttpRouteMatchHeaderMatchArgs) ToGetRouteSpecHttpRouteMatchHeaderMatchOutput() GetRouteSpecHttpRouteMatchHeaderMatchOutput { - return i.ToGetRouteSpecHttpRouteMatchHeaderMatchOutputWithContext(context.Background()) +func (i GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationSubjectAlternativeNameMatchArgs) ToGetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationSubjectAlternativeNameMatchOutput() GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationSubjectAlternativeNameMatchOutput { + return i.ToGetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationSubjectAlternativeNameMatchOutputWithContext(context.Background()) } -func (i GetRouteSpecHttpRouteMatchHeaderMatchArgs) ToGetRouteSpecHttpRouteMatchHeaderMatchOutputWithContext(ctx context.Context) GetRouteSpecHttpRouteMatchHeaderMatchOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetRouteSpecHttpRouteMatchHeaderMatchOutput) +func (i GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationSubjectAlternativeNameMatchArgs) ToGetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationSubjectAlternativeNameMatchOutputWithContext(ctx context.Context) GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationSubjectAlternativeNameMatchOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationSubjectAlternativeNameMatchOutput) } -// GetRouteSpecHttpRouteMatchHeaderMatchArrayInput is an input type that accepts GetRouteSpecHttpRouteMatchHeaderMatchArray and GetRouteSpecHttpRouteMatchHeaderMatchArrayOutput values. -// You can construct a concrete instance of `GetRouteSpecHttpRouteMatchHeaderMatchArrayInput` via: +// GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationSubjectAlternativeNameMatchArrayInput is an input type that accepts GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationSubjectAlternativeNameMatchArray and GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationSubjectAlternativeNameMatchArrayOutput values. +// You can construct a concrete instance of `GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationSubjectAlternativeNameMatchArrayInput` via: // -// GetRouteSpecHttpRouteMatchHeaderMatchArray{ GetRouteSpecHttpRouteMatchHeaderMatchArgs{...} } -type GetRouteSpecHttpRouteMatchHeaderMatchArrayInput interface { +// GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationSubjectAlternativeNameMatchArray{ GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationSubjectAlternativeNameMatchArgs{...} } +type GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationSubjectAlternativeNameMatchArrayInput interface { pulumi.Input - ToGetRouteSpecHttpRouteMatchHeaderMatchArrayOutput() GetRouteSpecHttpRouteMatchHeaderMatchArrayOutput - ToGetRouteSpecHttpRouteMatchHeaderMatchArrayOutputWithContext(context.Context) GetRouteSpecHttpRouteMatchHeaderMatchArrayOutput + ToGetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationSubjectAlternativeNameMatchArrayOutput() GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationSubjectAlternativeNameMatchArrayOutput + ToGetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationSubjectAlternativeNameMatchArrayOutputWithContext(context.Context) GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationSubjectAlternativeNameMatchArrayOutput } -type GetRouteSpecHttpRouteMatchHeaderMatchArray []GetRouteSpecHttpRouteMatchHeaderMatchInput +type GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationSubjectAlternativeNameMatchArray []GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationSubjectAlternativeNameMatchInput -func (GetRouteSpecHttpRouteMatchHeaderMatchArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetRouteSpecHttpRouteMatchHeaderMatch)(nil)).Elem() +func (GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationSubjectAlternativeNameMatchArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationSubjectAlternativeNameMatch)(nil)).Elem() } -func (i GetRouteSpecHttpRouteMatchHeaderMatchArray) ToGetRouteSpecHttpRouteMatchHeaderMatchArrayOutput() GetRouteSpecHttpRouteMatchHeaderMatchArrayOutput { - return i.ToGetRouteSpecHttpRouteMatchHeaderMatchArrayOutputWithContext(context.Background()) +func (i GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationSubjectAlternativeNameMatchArray) ToGetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationSubjectAlternativeNameMatchArrayOutput() GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationSubjectAlternativeNameMatchArrayOutput { + return i.ToGetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationSubjectAlternativeNameMatchArrayOutputWithContext(context.Background()) } -func (i GetRouteSpecHttpRouteMatchHeaderMatchArray) ToGetRouteSpecHttpRouteMatchHeaderMatchArrayOutputWithContext(ctx context.Context) GetRouteSpecHttpRouteMatchHeaderMatchArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetRouteSpecHttpRouteMatchHeaderMatchArrayOutput) +func (i GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationSubjectAlternativeNameMatchArray) ToGetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationSubjectAlternativeNameMatchArrayOutputWithContext(ctx context.Context) GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationSubjectAlternativeNameMatchArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationSubjectAlternativeNameMatchArrayOutput) } -type GetRouteSpecHttpRouteMatchHeaderMatchOutput struct{ *pulumi.OutputState } +type GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationSubjectAlternativeNameMatchOutput struct{ *pulumi.OutputState } -func (GetRouteSpecHttpRouteMatchHeaderMatchOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetRouteSpecHttpRouteMatchHeaderMatch)(nil)).Elem() +func (GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationSubjectAlternativeNameMatchOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationSubjectAlternativeNameMatch)(nil)).Elem() } -func (o GetRouteSpecHttpRouteMatchHeaderMatchOutput) ToGetRouteSpecHttpRouteMatchHeaderMatchOutput() GetRouteSpecHttpRouteMatchHeaderMatchOutput { +func (o GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationSubjectAlternativeNameMatchOutput) ToGetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationSubjectAlternativeNameMatchOutput() GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationSubjectAlternativeNameMatchOutput { return o } -func (o GetRouteSpecHttpRouteMatchHeaderMatchOutput) ToGetRouteSpecHttpRouteMatchHeaderMatchOutputWithContext(ctx context.Context) GetRouteSpecHttpRouteMatchHeaderMatchOutput { +func (o GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationSubjectAlternativeNameMatchOutput) ToGetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationSubjectAlternativeNameMatchOutputWithContext(ctx context.Context) GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationSubjectAlternativeNameMatchOutput { return o } -func (o GetRouteSpecHttpRouteMatchHeaderMatchOutput) Exact() pulumi.StringOutput { - return o.ApplyT(func(v GetRouteSpecHttpRouteMatchHeaderMatch) string { return v.Exact }).(pulumi.StringOutput) -} - -func (o GetRouteSpecHttpRouteMatchHeaderMatchOutput) Prefix() pulumi.StringOutput { - return o.ApplyT(func(v GetRouteSpecHttpRouteMatchHeaderMatch) string { return v.Prefix }).(pulumi.StringOutput) -} - -func (o GetRouteSpecHttpRouteMatchHeaderMatchOutput) Ranges() GetRouteSpecHttpRouteMatchHeaderMatchRangeArrayOutput { - return o.ApplyT(func(v GetRouteSpecHttpRouteMatchHeaderMatch) []GetRouteSpecHttpRouteMatchHeaderMatchRange { - return v.Ranges - }).(GetRouteSpecHttpRouteMatchHeaderMatchRangeArrayOutput) -} - -func (o GetRouteSpecHttpRouteMatchHeaderMatchOutput) Regex() pulumi.StringOutput { - return o.ApplyT(func(v GetRouteSpecHttpRouteMatchHeaderMatch) string { return v.Regex }).(pulumi.StringOutput) -} - -func (o GetRouteSpecHttpRouteMatchHeaderMatchOutput) Suffix() pulumi.StringOutput { - return o.ApplyT(func(v GetRouteSpecHttpRouteMatchHeaderMatch) string { return v.Suffix }).(pulumi.StringOutput) +func (o GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationSubjectAlternativeNameMatchOutput) Exacts() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationSubjectAlternativeNameMatch) []string { + return v.Exacts + }).(pulumi.StringArrayOutput) } -type GetRouteSpecHttpRouteMatchHeaderMatchArrayOutput struct{ *pulumi.OutputState } +type GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationSubjectAlternativeNameMatchArrayOutput struct{ *pulumi.OutputState } -func (GetRouteSpecHttpRouteMatchHeaderMatchArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetRouteSpecHttpRouteMatchHeaderMatch)(nil)).Elem() +func (GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationSubjectAlternativeNameMatchArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationSubjectAlternativeNameMatch)(nil)).Elem() } -func (o GetRouteSpecHttpRouteMatchHeaderMatchArrayOutput) ToGetRouteSpecHttpRouteMatchHeaderMatchArrayOutput() GetRouteSpecHttpRouteMatchHeaderMatchArrayOutput { +func (o GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationSubjectAlternativeNameMatchArrayOutput) ToGetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationSubjectAlternativeNameMatchArrayOutput() GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationSubjectAlternativeNameMatchArrayOutput { return o } -func (o GetRouteSpecHttpRouteMatchHeaderMatchArrayOutput) ToGetRouteSpecHttpRouteMatchHeaderMatchArrayOutputWithContext(ctx context.Context) GetRouteSpecHttpRouteMatchHeaderMatchArrayOutput { +func (o GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationSubjectAlternativeNameMatchArrayOutput) ToGetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationSubjectAlternativeNameMatchArrayOutputWithContext(ctx context.Context) GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationSubjectAlternativeNameMatchArrayOutput { return o } -func (o GetRouteSpecHttpRouteMatchHeaderMatchArrayOutput) Index(i pulumi.IntInput) GetRouteSpecHttpRouteMatchHeaderMatchOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetRouteSpecHttpRouteMatchHeaderMatch { - return vs[0].([]GetRouteSpecHttpRouteMatchHeaderMatch)[vs[1].(int)] - }).(GetRouteSpecHttpRouteMatchHeaderMatchOutput) +func (o GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationSubjectAlternativeNameMatchArrayOutput) Index(i pulumi.IntInput) GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationSubjectAlternativeNameMatchOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationSubjectAlternativeNameMatch { + return vs[0].([]GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationSubjectAlternativeNameMatch)[vs[1].(int)] + }).(GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationSubjectAlternativeNameMatchOutput) } -type GetRouteSpecHttpRouteMatchHeaderMatchRange struct { - End int `pulumi:"end"` - Start int `pulumi:"start"` +type GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrust struct { + Acms []GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustAcm `pulumi:"acms"` + Files []GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustFile `pulumi:"files"` + Sds []GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustSd `pulumi:"sds"` } -// GetRouteSpecHttpRouteMatchHeaderMatchRangeInput is an input type that accepts GetRouteSpecHttpRouteMatchHeaderMatchRangeArgs and GetRouteSpecHttpRouteMatchHeaderMatchRangeOutput values. -// You can construct a concrete instance of `GetRouteSpecHttpRouteMatchHeaderMatchRangeInput` via: +// GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustInput is an input type that accepts GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustArgs and GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustOutput values. +// You can construct a concrete instance of `GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustInput` via: // -// GetRouteSpecHttpRouteMatchHeaderMatchRangeArgs{...} -type GetRouteSpecHttpRouteMatchHeaderMatchRangeInput interface { +// GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustArgs{...} +type GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustInput interface { pulumi.Input - ToGetRouteSpecHttpRouteMatchHeaderMatchRangeOutput() GetRouteSpecHttpRouteMatchHeaderMatchRangeOutput - ToGetRouteSpecHttpRouteMatchHeaderMatchRangeOutputWithContext(context.Context) GetRouteSpecHttpRouteMatchHeaderMatchRangeOutput + ToGetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustOutput() GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustOutput + ToGetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustOutputWithContext(context.Context) GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustOutput } -type GetRouteSpecHttpRouteMatchHeaderMatchRangeArgs struct { - End pulumi.IntInput `pulumi:"end"` - Start pulumi.IntInput `pulumi:"start"` +type GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustArgs struct { + Acms GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustAcmArrayInput `pulumi:"acms"` + Files GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustFileArrayInput `pulumi:"files"` + Sds GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustSdArrayInput `pulumi:"sds"` } -func (GetRouteSpecHttpRouteMatchHeaderMatchRangeArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetRouteSpecHttpRouteMatchHeaderMatchRange)(nil)).Elem() +func (GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrust)(nil)).Elem() } -func (i GetRouteSpecHttpRouteMatchHeaderMatchRangeArgs) ToGetRouteSpecHttpRouteMatchHeaderMatchRangeOutput() GetRouteSpecHttpRouteMatchHeaderMatchRangeOutput { - return i.ToGetRouteSpecHttpRouteMatchHeaderMatchRangeOutputWithContext(context.Background()) +func (i GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustArgs) ToGetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustOutput() GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustOutput { + return i.ToGetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustOutputWithContext(context.Background()) } -func (i GetRouteSpecHttpRouteMatchHeaderMatchRangeArgs) ToGetRouteSpecHttpRouteMatchHeaderMatchRangeOutputWithContext(ctx context.Context) GetRouteSpecHttpRouteMatchHeaderMatchRangeOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetRouteSpecHttpRouteMatchHeaderMatchRangeOutput) +func (i GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustArgs) ToGetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustOutputWithContext(ctx context.Context) GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustOutput) } -// GetRouteSpecHttpRouteMatchHeaderMatchRangeArrayInput is an input type that accepts GetRouteSpecHttpRouteMatchHeaderMatchRangeArray and GetRouteSpecHttpRouteMatchHeaderMatchRangeArrayOutput values. -// You can construct a concrete instance of `GetRouteSpecHttpRouteMatchHeaderMatchRangeArrayInput` via: +// GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustArrayInput is an input type that accepts GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustArray and GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustArrayOutput values. +// You can construct a concrete instance of `GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustArrayInput` via: // -// GetRouteSpecHttpRouteMatchHeaderMatchRangeArray{ GetRouteSpecHttpRouteMatchHeaderMatchRangeArgs{...} } -type GetRouteSpecHttpRouteMatchHeaderMatchRangeArrayInput interface { +// GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustArray{ GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustArgs{...} } +type GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustArrayInput interface { pulumi.Input - ToGetRouteSpecHttpRouteMatchHeaderMatchRangeArrayOutput() GetRouteSpecHttpRouteMatchHeaderMatchRangeArrayOutput - ToGetRouteSpecHttpRouteMatchHeaderMatchRangeArrayOutputWithContext(context.Context) GetRouteSpecHttpRouteMatchHeaderMatchRangeArrayOutput + ToGetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustArrayOutput() GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustArrayOutput + ToGetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustArrayOutputWithContext(context.Context) GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustArrayOutput } -type GetRouteSpecHttpRouteMatchHeaderMatchRangeArray []GetRouteSpecHttpRouteMatchHeaderMatchRangeInput +type GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustArray []GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustInput -func (GetRouteSpecHttpRouteMatchHeaderMatchRangeArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetRouteSpecHttpRouteMatchHeaderMatchRange)(nil)).Elem() +func (GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrust)(nil)).Elem() } -func (i GetRouteSpecHttpRouteMatchHeaderMatchRangeArray) ToGetRouteSpecHttpRouteMatchHeaderMatchRangeArrayOutput() GetRouteSpecHttpRouteMatchHeaderMatchRangeArrayOutput { - return i.ToGetRouteSpecHttpRouteMatchHeaderMatchRangeArrayOutputWithContext(context.Background()) +func (i GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustArray) ToGetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustArrayOutput() GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustArrayOutput { + return i.ToGetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustArrayOutputWithContext(context.Background()) } -func (i GetRouteSpecHttpRouteMatchHeaderMatchRangeArray) ToGetRouteSpecHttpRouteMatchHeaderMatchRangeArrayOutputWithContext(ctx context.Context) GetRouteSpecHttpRouteMatchHeaderMatchRangeArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetRouteSpecHttpRouteMatchHeaderMatchRangeArrayOutput) +func (i GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustArray) ToGetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustArrayOutputWithContext(ctx context.Context) GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustArrayOutput) } -type GetRouteSpecHttpRouteMatchHeaderMatchRangeOutput struct{ *pulumi.OutputState } +type GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustOutput struct{ *pulumi.OutputState } -func (GetRouteSpecHttpRouteMatchHeaderMatchRangeOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetRouteSpecHttpRouteMatchHeaderMatchRange)(nil)).Elem() +func (GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrust)(nil)).Elem() } -func (o GetRouteSpecHttpRouteMatchHeaderMatchRangeOutput) ToGetRouteSpecHttpRouteMatchHeaderMatchRangeOutput() GetRouteSpecHttpRouteMatchHeaderMatchRangeOutput { +func (o GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustOutput) ToGetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustOutput() GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustOutput { return o } -func (o GetRouteSpecHttpRouteMatchHeaderMatchRangeOutput) ToGetRouteSpecHttpRouteMatchHeaderMatchRangeOutputWithContext(ctx context.Context) GetRouteSpecHttpRouteMatchHeaderMatchRangeOutput { +func (o GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustOutput) ToGetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustOutputWithContext(ctx context.Context) GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustOutput { return o } -func (o GetRouteSpecHttpRouteMatchHeaderMatchRangeOutput) End() pulumi.IntOutput { - return o.ApplyT(func(v GetRouteSpecHttpRouteMatchHeaderMatchRange) int { return v.End }).(pulumi.IntOutput) +func (o GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustOutput) Acms() GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustAcmArrayOutput { + return o.ApplyT(func(v GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrust) []GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustAcm { + return v.Acms + }).(GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustAcmArrayOutput) } -func (o GetRouteSpecHttpRouteMatchHeaderMatchRangeOutput) Start() pulumi.IntOutput { - return o.ApplyT(func(v GetRouteSpecHttpRouteMatchHeaderMatchRange) int { return v.Start }).(pulumi.IntOutput) +func (o GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustOutput) Files() GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustFileArrayOutput { + return o.ApplyT(func(v GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrust) []GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustFile { + return v.Files + }).(GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustFileArrayOutput) } -type GetRouteSpecHttpRouteMatchHeaderMatchRangeArrayOutput struct{ *pulumi.OutputState } +func (o GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustOutput) Sds() GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustSdArrayOutput { + return o.ApplyT(func(v GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrust) []GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustSd { + return v.Sds + }).(GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustSdArrayOutput) +} -func (GetRouteSpecHttpRouteMatchHeaderMatchRangeArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetRouteSpecHttpRouteMatchHeaderMatchRange)(nil)).Elem() +type GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustArrayOutput struct{ *pulumi.OutputState } + +func (GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrust)(nil)).Elem() } -func (o GetRouteSpecHttpRouteMatchHeaderMatchRangeArrayOutput) ToGetRouteSpecHttpRouteMatchHeaderMatchRangeArrayOutput() GetRouteSpecHttpRouteMatchHeaderMatchRangeArrayOutput { +func (o GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustArrayOutput) ToGetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustArrayOutput() GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustArrayOutput { return o } -func (o GetRouteSpecHttpRouteMatchHeaderMatchRangeArrayOutput) ToGetRouteSpecHttpRouteMatchHeaderMatchRangeArrayOutputWithContext(ctx context.Context) GetRouteSpecHttpRouteMatchHeaderMatchRangeArrayOutput { +func (o GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustArrayOutput) ToGetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustArrayOutputWithContext(ctx context.Context) GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustArrayOutput { return o } -func (o GetRouteSpecHttpRouteMatchHeaderMatchRangeArrayOutput) Index(i pulumi.IntInput) GetRouteSpecHttpRouteMatchHeaderMatchRangeOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetRouteSpecHttpRouteMatchHeaderMatchRange { - return vs[0].([]GetRouteSpecHttpRouteMatchHeaderMatchRange)[vs[1].(int)] - }).(GetRouteSpecHttpRouteMatchHeaderMatchRangeOutput) +func (o GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustArrayOutput) Index(i pulumi.IntInput) GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrust { + return vs[0].([]GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrust)[vs[1].(int)] + }).(GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustOutput) } -type GetRouteSpecHttpRouteRetryPolicy struct { - HttpRetryEvents []string `pulumi:"httpRetryEvents"` - MaxRetries int `pulumi:"maxRetries"` - PerRetryTimeouts []GetRouteSpecHttpRouteRetryPolicyPerRetryTimeout `pulumi:"perRetryTimeouts"` - TcpRetryEvents []string `pulumi:"tcpRetryEvents"` +type GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustAcm struct { + CertificateAuthorityArns []string `pulumi:"certificateAuthorityArns"` } -// GetRouteSpecHttpRouteRetryPolicyInput is an input type that accepts GetRouteSpecHttpRouteRetryPolicyArgs and GetRouteSpecHttpRouteRetryPolicyOutput values. -// You can construct a concrete instance of `GetRouteSpecHttpRouteRetryPolicyInput` via: +// GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustAcmInput is an input type that accepts GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustAcmArgs and GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustAcmOutput values. +// You can construct a concrete instance of `GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustAcmInput` via: // -// GetRouteSpecHttpRouteRetryPolicyArgs{...} -type GetRouteSpecHttpRouteRetryPolicyInput interface { +// GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustAcmArgs{...} +type GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustAcmInput interface { pulumi.Input - ToGetRouteSpecHttpRouteRetryPolicyOutput() GetRouteSpecHttpRouteRetryPolicyOutput - ToGetRouteSpecHttpRouteRetryPolicyOutputWithContext(context.Context) GetRouteSpecHttpRouteRetryPolicyOutput + ToGetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustAcmOutput() GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustAcmOutput + ToGetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustAcmOutputWithContext(context.Context) GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustAcmOutput } -type GetRouteSpecHttpRouteRetryPolicyArgs struct { - HttpRetryEvents pulumi.StringArrayInput `pulumi:"httpRetryEvents"` - MaxRetries pulumi.IntInput `pulumi:"maxRetries"` - PerRetryTimeouts GetRouteSpecHttpRouteRetryPolicyPerRetryTimeoutArrayInput `pulumi:"perRetryTimeouts"` - TcpRetryEvents pulumi.StringArrayInput `pulumi:"tcpRetryEvents"` +type GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustAcmArgs struct { + CertificateAuthorityArns pulumi.StringArrayInput `pulumi:"certificateAuthorityArns"` } -func (GetRouteSpecHttpRouteRetryPolicyArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetRouteSpecHttpRouteRetryPolicy)(nil)).Elem() +func (GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustAcmArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustAcm)(nil)).Elem() } -func (i GetRouteSpecHttpRouteRetryPolicyArgs) ToGetRouteSpecHttpRouteRetryPolicyOutput() GetRouteSpecHttpRouteRetryPolicyOutput { - return i.ToGetRouteSpecHttpRouteRetryPolicyOutputWithContext(context.Background()) +func (i GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustAcmArgs) ToGetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustAcmOutput() GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustAcmOutput { + return i.ToGetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustAcmOutputWithContext(context.Background()) } -func (i GetRouteSpecHttpRouteRetryPolicyArgs) ToGetRouteSpecHttpRouteRetryPolicyOutputWithContext(ctx context.Context) GetRouteSpecHttpRouteRetryPolicyOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetRouteSpecHttpRouteRetryPolicyOutput) +func (i GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustAcmArgs) ToGetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustAcmOutputWithContext(ctx context.Context) GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustAcmOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustAcmOutput) } -// GetRouteSpecHttpRouteRetryPolicyArrayInput is an input type that accepts GetRouteSpecHttpRouteRetryPolicyArray and GetRouteSpecHttpRouteRetryPolicyArrayOutput values. -// You can construct a concrete instance of `GetRouteSpecHttpRouteRetryPolicyArrayInput` via: +// GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustAcmArrayInput is an input type that accepts GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustAcmArray and GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustAcmArrayOutput values. +// You can construct a concrete instance of `GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustAcmArrayInput` via: // -// GetRouteSpecHttpRouteRetryPolicyArray{ GetRouteSpecHttpRouteRetryPolicyArgs{...} } -type GetRouteSpecHttpRouteRetryPolicyArrayInput interface { +// GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustAcmArray{ GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustAcmArgs{...} } +type GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustAcmArrayInput interface { pulumi.Input - ToGetRouteSpecHttpRouteRetryPolicyArrayOutput() GetRouteSpecHttpRouteRetryPolicyArrayOutput - ToGetRouteSpecHttpRouteRetryPolicyArrayOutputWithContext(context.Context) GetRouteSpecHttpRouteRetryPolicyArrayOutput + ToGetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustAcmArrayOutput() GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustAcmArrayOutput + ToGetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustAcmArrayOutputWithContext(context.Context) GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustAcmArrayOutput } -type GetRouteSpecHttpRouteRetryPolicyArray []GetRouteSpecHttpRouteRetryPolicyInput +type GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustAcmArray []GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustAcmInput -func (GetRouteSpecHttpRouteRetryPolicyArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetRouteSpecHttpRouteRetryPolicy)(nil)).Elem() +func (GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustAcmArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustAcm)(nil)).Elem() } -func (i GetRouteSpecHttpRouteRetryPolicyArray) ToGetRouteSpecHttpRouteRetryPolicyArrayOutput() GetRouteSpecHttpRouteRetryPolicyArrayOutput { - return i.ToGetRouteSpecHttpRouteRetryPolicyArrayOutputWithContext(context.Background()) +func (i GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustAcmArray) ToGetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustAcmArrayOutput() GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustAcmArrayOutput { + return i.ToGetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustAcmArrayOutputWithContext(context.Background()) } -func (i GetRouteSpecHttpRouteRetryPolicyArray) ToGetRouteSpecHttpRouteRetryPolicyArrayOutputWithContext(ctx context.Context) GetRouteSpecHttpRouteRetryPolicyArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetRouteSpecHttpRouteRetryPolicyArrayOutput) +func (i GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustAcmArray) ToGetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustAcmArrayOutputWithContext(ctx context.Context) GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustAcmArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustAcmArrayOutput) } -type GetRouteSpecHttpRouteRetryPolicyOutput struct{ *pulumi.OutputState } +type GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustAcmOutput struct{ *pulumi.OutputState } -func (GetRouteSpecHttpRouteRetryPolicyOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetRouteSpecHttpRouteRetryPolicy)(nil)).Elem() +func (GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustAcmOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustAcm)(nil)).Elem() } -func (o GetRouteSpecHttpRouteRetryPolicyOutput) ToGetRouteSpecHttpRouteRetryPolicyOutput() GetRouteSpecHttpRouteRetryPolicyOutput { +func (o GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustAcmOutput) ToGetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustAcmOutput() GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustAcmOutput { return o } -func (o GetRouteSpecHttpRouteRetryPolicyOutput) ToGetRouteSpecHttpRouteRetryPolicyOutputWithContext(ctx context.Context) GetRouteSpecHttpRouteRetryPolicyOutput { +func (o GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustAcmOutput) ToGetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustAcmOutputWithContext(ctx context.Context) GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustAcmOutput { return o } -func (o GetRouteSpecHttpRouteRetryPolicyOutput) HttpRetryEvents() pulumi.StringArrayOutput { - return o.ApplyT(func(v GetRouteSpecHttpRouteRetryPolicy) []string { return v.HttpRetryEvents }).(pulumi.StringArrayOutput) -} - -func (o GetRouteSpecHttpRouteRetryPolicyOutput) MaxRetries() pulumi.IntOutput { - return o.ApplyT(func(v GetRouteSpecHttpRouteRetryPolicy) int { return v.MaxRetries }).(pulumi.IntOutput) -} - -func (o GetRouteSpecHttpRouteRetryPolicyOutput) PerRetryTimeouts() GetRouteSpecHttpRouteRetryPolicyPerRetryTimeoutArrayOutput { - return o.ApplyT(func(v GetRouteSpecHttpRouteRetryPolicy) []GetRouteSpecHttpRouteRetryPolicyPerRetryTimeout { - return v.PerRetryTimeouts - }).(GetRouteSpecHttpRouteRetryPolicyPerRetryTimeoutArrayOutput) -} - -func (o GetRouteSpecHttpRouteRetryPolicyOutput) TcpRetryEvents() pulumi.StringArrayOutput { - return o.ApplyT(func(v GetRouteSpecHttpRouteRetryPolicy) []string { return v.TcpRetryEvents }).(pulumi.StringArrayOutput) +func (o GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustAcmOutput) CertificateAuthorityArns() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustAcm) []string { + return v.CertificateAuthorityArns + }).(pulumi.StringArrayOutput) } -type GetRouteSpecHttpRouteRetryPolicyArrayOutput struct{ *pulumi.OutputState } +type GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustAcmArrayOutput struct{ *pulumi.OutputState } -func (GetRouteSpecHttpRouteRetryPolicyArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetRouteSpecHttpRouteRetryPolicy)(nil)).Elem() +func (GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustAcmArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustAcm)(nil)).Elem() } -func (o GetRouteSpecHttpRouteRetryPolicyArrayOutput) ToGetRouteSpecHttpRouteRetryPolicyArrayOutput() GetRouteSpecHttpRouteRetryPolicyArrayOutput { +func (o GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustAcmArrayOutput) ToGetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustAcmArrayOutput() GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustAcmArrayOutput { return o } -func (o GetRouteSpecHttpRouteRetryPolicyArrayOutput) ToGetRouteSpecHttpRouteRetryPolicyArrayOutputWithContext(ctx context.Context) GetRouteSpecHttpRouteRetryPolicyArrayOutput { +func (o GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustAcmArrayOutput) ToGetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustAcmArrayOutputWithContext(ctx context.Context) GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustAcmArrayOutput { return o } -func (o GetRouteSpecHttpRouteRetryPolicyArrayOutput) Index(i pulumi.IntInput) GetRouteSpecHttpRouteRetryPolicyOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetRouteSpecHttpRouteRetryPolicy { - return vs[0].([]GetRouteSpecHttpRouteRetryPolicy)[vs[1].(int)] - }).(GetRouteSpecHttpRouteRetryPolicyOutput) +func (o GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustAcmArrayOutput) Index(i pulumi.IntInput) GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustAcmOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustAcm { + return vs[0].([]GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustAcm)[vs[1].(int)] + }).(GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustAcmOutput) } -type GetRouteSpecHttpRouteRetryPolicyPerRetryTimeout struct { - Unit string `pulumi:"unit"` - Value int `pulumi:"value"` +type GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustFile struct { + CertificateChain string `pulumi:"certificateChain"` } -// GetRouteSpecHttpRouteRetryPolicyPerRetryTimeoutInput is an input type that accepts GetRouteSpecHttpRouteRetryPolicyPerRetryTimeoutArgs and GetRouteSpecHttpRouteRetryPolicyPerRetryTimeoutOutput values. -// You can construct a concrete instance of `GetRouteSpecHttpRouteRetryPolicyPerRetryTimeoutInput` via: +// GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustFileInput is an input type that accepts GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustFileArgs and GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustFileOutput values. +// You can construct a concrete instance of `GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustFileInput` via: // -// GetRouteSpecHttpRouteRetryPolicyPerRetryTimeoutArgs{...} -type GetRouteSpecHttpRouteRetryPolicyPerRetryTimeoutInput interface { +// GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustFileArgs{...} +type GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustFileInput interface { pulumi.Input - ToGetRouteSpecHttpRouteRetryPolicyPerRetryTimeoutOutput() GetRouteSpecHttpRouteRetryPolicyPerRetryTimeoutOutput - ToGetRouteSpecHttpRouteRetryPolicyPerRetryTimeoutOutputWithContext(context.Context) GetRouteSpecHttpRouteRetryPolicyPerRetryTimeoutOutput + ToGetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustFileOutput() GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustFileOutput + ToGetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustFileOutputWithContext(context.Context) GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustFileOutput } -type GetRouteSpecHttpRouteRetryPolicyPerRetryTimeoutArgs struct { - Unit pulumi.StringInput `pulumi:"unit"` - Value pulumi.IntInput `pulumi:"value"` +type GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustFileArgs struct { + CertificateChain pulumi.StringInput `pulumi:"certificateChain"` } -func (GetRouteSpecHttpRouteRetryPolicyPerRetryTimeoutArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetRouteSpecHttpRouteRetryPolicyPerRetryTimeout)(nil)).Elem() +func (GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustFileArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustFile)(nil)).Elem() } -func (i GetRouteSpecHttpRouteRetryPolicyPerRetryTimeoutArgs) ToGetRouteSpecHttpRouteRetryPolicyPerRetryTimeoutOutput() GetRouteSpecHttpRouteRetryPolicyPerRetryTimeoutOutput { - return i.ToGetRouteSpecHttpRouteRetryPolicyPerRetryTimeoutOutputWithContext(context.Background()) +func (i GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustFileArgs) ToGetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustFileOutput() GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustFileOutput { + return i.ToGetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustFileOutputWithContext(context.Background()) } -func (i GetRouteSpecHttpRouteRetryPolicyPerRetryTimeoutArgs) ToGetRouteSpecHttpRouteRetryPolicyPerRetryTimeoutOutputWithContext(ctx context.Context) GetRouteSpecHttpRouteRetryPolicyPerRetryTimeoutOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetRouteSpecHttpRouteRetryPolicyPerRetryTimeoutOutput) +func (i GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustFileArgs) ToGetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustFileOutputWithContext(ctx context.Context) GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustFileOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustFileOutput) } -// GetRouteSpecHttpRouteRetryPolicyPerRetryTimeoutArrayInput is an input type that accepts GetRouteSpecHttpRouteRetryPolicyPerRetryTimeoutArray and GetRouteSpecHttpRouteRetryPolicyPerRetryTimeoutArrayOutput values. -// You can construct a concrete instance of `GetRouteSpecHttpRouteRetryPolicyPerRetryTimeoutArrayInput` via: +// GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustFileArrayInput is an input type that accepts GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustFileArray and GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustFileArrayOutput values. +// You can construct a concrete instance of `GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustFileArrayInput` via: // -// GetRouteSpecHttpRouteRetryPolicyPerRetryTimeoutArray{ GetRouteSpecHttpRouteRetryPolicyPerRetryTimeoutArgs{...} } -type GetRouteSpecHttpRouteRetryPolicyPerRetryTimeoutArrayInput interface { +// GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustFileArray{ GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustFileArgs{...} } +type GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustFileArrayInput interface { pulumi.Input - ToGetRouteSpecHttpRouteRetryPolicyPerRetryTimeoutArrayOutput() GetRouteSpecHttpRouteRetryPolicyPerRetryTimeoutArrayOutput - ToGetRouteSpecHttpRouteRetryPolicyPerRetryTimeoutArrayOutputWithContext(context.Context) GetRouteSpecHttpRouteRetryPolicyPerRetryTimeoutArrayOutput + ToGetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustFileArrayOutput() GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustFileArrayOutput + ToGetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustFileArrayOutputWithContext(context.Context) GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustFileArrayOutput } -type GetRouteSpecHttpRouteRetryPolicyPerRetryTimeoutArray []GetRouteSpecHttpRouteRetryPolicyPerRetryTimeoutInput +type GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustFileArray []GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustFileInput -func (GetRouteSpecHttpRouteRetryPolicyPerRetryTimeoutArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetRouteSpecHttpRouteRetryPolicyPerRetryTimeout)(nil)).Elem() +func (GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustFileArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustFile)(nil)).Elem() } -func (i GetRouteSpecHttpRouteRetryPolicyPerRetryTimeoutArray) ToGetRouteSpecHttpRouteRetryPolicyPerRetryTimeoutArrayOutput() GetRouteSpecHttpRouteRetryPolicyPerRetryTimeoutArrayOutput { - return i.ToGetRouteSpecHttpRouteRetryPolicyPerRetryTimeoutArrayOutputWithContext(context.Background()) +func (i GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustFileArray) ToGetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustFileArrayOutput() GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustFileArrayOutput { + return i.ToGetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustFileArrayOutputWithContext(context.Background()) } -func (i GetRouteSpecHttpRouteRetryPolicyPerRetryTimeoutArray) ToGetRouteSpecHttpRouteRetryPolicyPerRetryTimeoutArrayOutputWithContext(ctx context.Context) GetRouteSpecHttpRouteRetryPolicyPerRetryTimeoutArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetRouteSpecHttpRouteRetryPolicyPerRetryTimeoutArrayOutput) +func (i GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustFileArray) ToGetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustFileArrayOutputWithContext(ctx context.Context) GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustFileArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustFileArrayOutput) } -type GetRouteSpecHttpRouteRetryPolicyPerRetryTimeoutOutput struct{ *pulumi.OutputState } +type GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustFileOutput struct{ *pulumi.OutputState } -func (GetRouteSpecHttpRouteRetryPolicyPerRetryTimeoutOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetRouteSpecHttpRouteRetryPolicyPerRetryTimeout)(nil)).Elem() +func (GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustFileOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustFile)(nil)).Elem() } -func (o GetRouteSpecHttpRouteRetryPolicyPerRetryTimeoutOutput) ToGetRouteSpecHttpRouteRetryPolicyPerRetryTimeoutOutput() GetRouteSpecHttpRouteRetryPolicyPerRetryTimeoutOutput { +func (o GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustFileOutput) ToGetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustFileOutput() GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustFileOutput { return o } -func (o GetRouteSpecHttpRouteRetryPolicyPerRetryTimeoutOutput) ToGetRouteSpecHttpRouteRetryPolicyPerRetryTimeoutOutputWithContext(ctx context.Context) GetRouteSpecHttpRouteRetryPolicyPerRetryTimeoutOutput { +func (o GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustFileOutput) ToGetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustFileOutputWithContext(ctx context.Context) GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustFileOutput { return o } -func (o GetRouteSpecHttpRouteRetryPolicyPerRetryTimeoutOutput) Unit() pulumi.StringOutput { - return o.ApplyT(func(v GetRouteSpecHttpRouteRetryPolicyPerRetryTimeout) string { return v.Unit }).(pulumi.StringOutput) -} - -func (o GetRouteSpecHttpRouteRetryPolicyPerRetryTimeoutOutput) Value() pulumi.IntOutput { - return o.ApplyT(func(v GetRouteSpecHttpRouteRetryPolicyPerRetryTimeout) int { return v.Value }).(pulumi.IntOutput) +func (o GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustFileOutput) CertificateChain() pulumi.StringOutput { + return o.ApplyT(func(v GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustFile) string { + return v.CertificateChain + }).(pulumi.StringOutput) } -type GetRouteSpecHttpRouteRetryPolicyPerRetryTimeoutArrayOutput struct{ *pulumi.OutputState } +type GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustFileArrayOutput struct{ *pulumi.OutputState } -func (GetRouteSpecHttpRouteRetryPolicyPerRetryTimeoutArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetRouteSpecHttpRouteRetryPolicyPerRetryTimeout)(nil)).Elem() +func (GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustFileArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustFile)(nil)).Elem() } -func (o GetRouteSpecHttpRouteRetryPolicyPerRetryTimeoutArrayOutput) ToGetRouteSpecHttpRouteRetryPolicyPerRetryTimeoutArrayOutput() GetRouteSpecHttpRouteRetryPolicyPerRetryTimeoutArrayOutput { +func (o GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustFileArrayOutput) ToGetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustFileArrayOutput() GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustFileArrayOutput { return o } -func (o GetRouteSpecHttpRouteRetryPolicyPerRetryTimeoutArrayOutput) ToGetRouteSpecHttpRouteRetryPolicyPerRetryTimeoutArrayOutputWithContext(ctx context.Context) GetRouteSpecHttpRouteRetryPolicyPerRetryTimeoutArrayOutput { +func (o GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustFileArrayOutput) ToGetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustFileArrayOutputWithContext(ctx context.Context) GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustFileArrayOutput { return o } -func (o GetRouteSpecHttpRouteRetryPolicyPerRetryTimeoutArrayOutput) Index(i pulumi.IntInput) GetRouteSpecHttpRouteRetryPolicyPerRetryTimeoutOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetRouteSpecHttpRouteRetryPolicyPerRetryTimeout { - return vs[0].([]GetRouteSpecHttpRouteRetryPolicyPerRetryTimeout)[vs[1].(int)] - }).(GetRouteSpecHttpRouteRetryPolicyPerRetryTimeoutOutput) +func (o GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustFileArrayOutput) Index(i pulumi.IntInput) GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustFileOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustFile { + return vs[0].([]GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustFile)[vs[1].(int)] + }).(GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustFileOutput) } -type GetRouteSpecHttpRouteTimeout struct { - Idles []GetRouteSpecHttpRouteTimeoutIdle `pulumi:"idles"` - PerRequests []GetRouteSpecHttpRouteTimeoutPerRequest `pulumi:"perRequests"` +type GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustSd struct { + SecretName string `pulumi:"secretName"` } -// GetRouteSpecHttpRouteTimeoutInput is an input type that accepts GetRouteSpecHttpRouteTimeoutArgs and GetRouteSpecHttpRouteTimeoutOutput values. -// You can construct a concrete instance of `GetRouteSpecHttpRouteTimeoutInput` via: +// GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustSdInput is an input type that accepts GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustSdArgs and GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustSdOutput values. +// You can construct a concrete instance of `GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustSdInput` via: // -// GetRouteSpecHttpRouteTimeoutArgs{...} -type GetRouteSpecHttpRouteTimeoutInput interface { +// GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustSdArgs{...} +type GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustSdInput interface { pulumi.Input - ToGetRouteSpecHttpRouteTimeoutOutput() GetRouteSpecHttpRouteTimeoutOutput - ToGetRouteSpecHttpRouteTimeoutOutputWithContext(context.Context) GetRouteSpecHttpRouteTimeoutOutput + ToGetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustSdOutput() GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustSdOutput + ToGetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustSdOutputWithContext(context.Context) GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustSdOutput } -type GetRouteSpecHttpRouteTimeoutArgs struct { - Idles GetRouteSpecHttpRouteTimeoutIdleArrayInput `pulumi:"idles"` - PerRequests GetRouteSpecHttpRouteTimeoutPerRequestArrayInput `pulumi:"perRequests"` +type GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustSdArgs struct { + SecretName pulumi.StringInput `pulumi:"secretName"` } -func (GetRouteSpecHttpRouteTimeoutArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetRouteSpecHttpRouteTimeout)(nil)).Elem() +func (GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustSdArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustSd)(nil)).Elem() } -func (i GetRouteSpecHttpRouteTimeoutArgs) ToGetRouteSpecHttpRouteTimeoutOutput() GetRouteSpecHttpRouteTimeoutOutput { - return i.ToGetRouteSpecHttpRouteTimeoutOutputWithContext(context.Background()) +func (i GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustSdArgs) ToGetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustSdOutput() GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustSdOutput { + return i.ToGetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustSdOutputWithContext(context.Background()) } -func (i GetRouteSpecHttpRouteTimeoutArgs) ToGetRouteSpecHttpRouteTimeoutOutputWithContext(ctx context.Context) GetRouteSpecHttpRouteTimeoutOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetRouteSpecHttpRouteTimeoutOutput) +func (i GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustSdArgs) ToGetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustSdOutputWithContext(ctx context.Context) GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustSdOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustSdOutput) } -// GetRouteSpecHttpRouteTimeoutArrayInput is an input type that accepts GetRouteSpecHttpRouteTimeoutArray and GetRouteSpecHttpRouteTimeoutArrayOutput values. -// You can construct a concrete instance of `GetRouteSpecHttpRouteTimeoutArrayInput` via: +// GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustSdArrayInput is an input type that accepts GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustSdArray and GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustSdArrayOutput values. +// You can construct a concrete instance of `GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustSdArrayInput` via: // -// GetRouteSpecHttpRouteTimeoutArray{ GetRouteSpecHttpRouteTimeoutArgs{...} } -type GetRouteSpecHttpRouteTimeoutArrayInput interface { +// GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustSdArray{ GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustSdArgs{...} } +type GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustSdArrayInput interface { pulumi.Input - ToGetRouteSpecHttpRouteTimeoutArrayOutput() GetRouteSpecHttpRouteTimeoutArrayOutput - ToGetRouteSpecHttpRouteTimeoutArrayOutputWithContext(context.Context) GetRouteSpecHttpRouteTimeoutArrayOutput + ToGetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustSdArrayOutput() GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustSdArrayOutput + ToGetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustSdArrayOutputWithContext(context.Context) GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustSdArrayOutput } -type GetRouteSpecHttpRouteTimeoutArray []GetRouteSpecHttpRouteTimeoutInput +type GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustSdArray []GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustSdInput -func (GetRouteSpecHttpRouteTimeoutArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetRouteSpecHttpRouteTimeout)(nil)).Elem() +func (GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustSdArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustSd)(nil)).Elem() } -func (i GetRouteSpecHttpRouteTimeoutArray) ToGetRouteSpecHttpRouteTimeoutArrayOutput() GetRouteSpecHttpRouteTimeoutArrayOutput { - return i.ToGetRouteSpecHttpRouteTimeoutArrayOutputWithContext(context.Background()) +func (i GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustSdArray) ToGetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustSdArrayOutput() GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustSdArrayOutput { + return i.ToGetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustSdArrayOutputWithContext(context.Background()) } -func (i GetRouteSpecHttpRouteTimeoutArray) ToGetRouteSpecHttpRouteTimeoutArrayOutputWithContext(ctx context.Context) GetRouteSpecHttpRouteTimeoutArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetRouteSpecHttpRouteTimeoutArrayOutput) +func (i GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustSdArray) ToGetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustSdArrayOutputWithContext(ctx context.Context) GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustSdArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustSdArrayOutput) } -type GetRouteSpecHttpRouteTimeoutOutput struct{ *pulumi.OutputState } +type GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustSdOutput struct{ *pulumi.OutputState } -func (GetRouteSpecHttpRouteTimeoutOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetRouteSpecHttpRouteTimeout)(nil)).Elem() +func (GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustSdOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustSd)(nil)).Elem() } -func (o GetRouteSpecHttpRouteTimeoutOutput) ToGetRouteSpecHttpRouteTimeoutOutput() GetRouteSpecHttpRouteTimeoutOutput { +func (o GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustSdOutput) ToGetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustSdOutput() GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustSdOutput { return o } -func (o GetRouteSpecHttpRouteTimeoutOutput) ToGetRouteSpecHttpRouteTimeoutOutputWithContext(ctx context.Context) GetRouteSpecHttpRouteTimeoutOutput { +func (o GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustSdOutput) ToGetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustSdOutputWithContext(ctx context.Context) GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustSdOutput { return o } -func (o GetRouteSpecHttpRouteTimeoutOutput) Idles() GetRouteSpecHttpRouteTimeoutIdleArrayOutput { - return o.ApplyT(func(v GetRouteSpecHttpRouteTimeout) []GetRouteSpecHttpRouteTimeoutIdle { return v.Idles }).(GetRouteSpecHttpRouteTimeoutIdleArrayOutput) -} - -func (o GetRouteSpecHttpRouteTimeoutOutput) PerRequests() GetRouteSpecHttpRouteTimeoutPerRequestArrayOutput { - return o.ApplyT(func(v GetRouteSpecHttpRouteTimeout) []GetRouteSpecHttpRouteTimeoutPerRequest { return v.PerRequests }).(GetRouteSpecHttpRouteTimeoutPerRequestArrayOutput) +func (o GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustSdOutput) SecretName() pulumi.StringOutput { + return o.ApplyT(func(v GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustSd) string { + return v.SecretName + }).(pulumi.StringOutput) } -type GetRouteSpecHttpRouteTimeoutArrayOutput struct{ *pulumi.OutputState } +type GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustSdArrayOutput struct{ *pulumi.OutputState } -func (GetRouteSpecHttpRouteTimeoutArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetRouteSpecHttpRouteTimeout)(nil)).Elem() +func (GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustSdArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustSd)(nil)).Elem() } -func (o GetRouteSpecHttpRouteTimeoutArrayOutput) ToGetRouteSpecHttpRouteTimeoutArrayOutput() GetRouteSpecHttpRouteTimeoutArrayOutput { +func (o GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustSdArrayOutput) ToGetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustSdArrayOutput() GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustSdArrayOutput { return o } -func (o GetRouteSpecHttpRouteTimeoutArrayOutput) ToGetRouteSpecHttpRouteTimeoutArrayOutputWithContext(ctx context.Context) GetRouteSpecHttpRouteTimeoutArrayOutput { +func (o GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustSdArrayOutput) ToGetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustSdArrayOutputWithContext(ctx context.Context) GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustSdArrayOutput { return o } -func (o GetRouteSpecHttpRouteTimeoutArrayOutput) Index(i pulumi.IntInput) GetRouteSpecHttpRouteTimeoutOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetRouteSpecHttpRouteTimeout { - return vs[0].([]GetRouteSpecHttpRouteTimeout)[vs[1].(int)] - }).(GetRouteSpecHttpRouteTimeoutOutput) +func (o GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustSdArrayOutput) Index(i pulumi.IntInput) GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustSdOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustSd { + return vs[0].([]GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustSd)[vs[1].(int)] + }).(GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustSdOutput) } -type GetRouteSpecHttpRouteTimeoutIdle struct { - Unit string `pulumi:"unit"` - Value int `pulumi:"value"` +type GetVirtualNodeSpecListener struct { + ConnectionPools []GetVirtualNodeSpecListenerConnectionPool `pulumi:"connectionPools"` + HealthChecks []GetVirtualNodeSpecListenerHealthCheck `pulumi:"healthChecks"` + OutlierDetections []GetVirtualNodeSpecListenerOutlierDetection `pulumi:"outlierDetections"` + PortMappings []GetVirtualNodeSpecListenerPortMapping `pulumi:"portMappings"` + Timeouts []GetVirtualNodeSpecListenerTimeout `pulumi:"timeouts"` + Tls []GetVirtualNodeSpecListenerTl `pulumi:"tls"` } -// GetRouteSpecHttpRouteTimeoutIdleInput is an input type that accepts GetRouteSpecHttpRouteTimeoutIdleArgs and GetRouteSpecHttpRouteTimeoutIdleOutput values. -// You can construct a concrete instance of `GetRouteSpecHttpRouteTimeoutIdleInput` via: +// GetVirtualNodeSpecListenerInput is an input type that accepts GetVirtualNodeSpecListenerArgs and GetVirtualNodeSpecListenerOutput values. +// You can construct a concrete instance of `GetVirtualNodeSpecListenerInput` via: // -// GetRouteSpecHttpRouteTimeoutIdleArgs{...} -type GetRouteSpecHttpRouteTimeoutIdleInput interface { +// GetVirtualNodeSpecListenerArgs{...} +type GetVirtualNodeSpecListenerInput interface { pulumi.Input - ToGetRouteSpecHttpRouteTimeoutIdleOutput() GetRouteSpecHttpRouteTimeoutIdleOutput - ToGetRouteSpecHttpRouteTimeoutIdleOutputWithContext(context.Context) GetRouteSpecHttpRouteTimeoutIdleOutput + ToGetVirtualNodeSpecListenerOutput() GetVirtualNodeSpecListenerOutput + ToGetVirtualNodeSpecListenerOutputWithContext(context.Context) GetVirtualNodeSpecListenerOutput } -type GetRouteSpecHttpRouteTimeoutIdleArgs struct { - Unit pulumi.StringInput `pulumi:"unit"` - Value pulumi.IntInput `pulumi:"value"` +type GetVirtualNodeSpecListenerArgs struct { + ConnectionPools GetVirtualNodeSpecListenerConnectionPoolArrayInput `pulumi:"connectionPools"` + HealthChecks GetVirtualNodeSpecListenerHealthCheckArrayInput `pulumi:"healthChecks"` + OutlierDetections GetVirtualNodeSpecListenerOutlierDetectionArrayInput `pulumi:"outlierDetections"` + PortMappings GetVirtualNodeSpecListenerPortMappingArrayInput `pulumi:"portMappings"` + Timeouts GetVirtualNodeSpecListenerTimeoutArrayInput `pulumi:"timeouts"` + Tls GetVirtualNodeSpecListenerTlArrayInput `pulumi:"tls"` } -func (GetRouteSpecHttpRouteTimeoutIdleArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetRouteSpecHttpRouteTimeoutIdle)(nil)).Elem() +func (GetVirtualNodeSpecListenerArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetVirtualNodeSpecListener)(nil)).Elem() } -func (i GetRouteSpecHttpRouteTimeoutIdleArgs) ToGetRouteSpecHttpRouteTimeoutIdleOutput() GetRouteSpecHttpRouteTimeoutIdleOutput { - return i.ToGetRouteSpecHttpRouteTimeoutIdleOutputWithContext(context.Background()) +func (i GetVirtualNodeSpecListenerArgs) ToGetVirtualNodeSpecListenerOutput() GetVirtualNodeSpecListenerOutput { + return i.ToGetVirtualNodeSpecListenerOutputWithContext(context.Background()) } -func (i GetRouteSpecHttpRouteTimeoutIdleArgs) ToGetRouteSpecHttpRouteTimeoutIdleOutputWithContext(ctx context.Context) GetRouteSpecHttpRouteTimeoutIdleOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetRouteSpecHttpRouteTimeoutIdleOutput) +func (i GetVirtualNodeSpecListenerArgs) ToGetVirtualNodeSpecListenerOutputWithContext(ctx context.Context) GetVirtualNodeSpecListenerOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetVirtualNodeSpecListenerOutput) } -// GetRouteSpecHttpRouteTimeoutIdleArrayInput is an input type that accepts GetRouteSpecHttpRouteTimeoutIdleArray and GetRouteSpecHttpRouteTimeoutIdleArrayOutput values. -// You can construct a concrete instance of `GetRouteSpecHttpRouteTimeoutIdleArrayInput` via: +// GetVirtualNodeSpecListenerArrayInput is an input type that accepts GetVirtualNodeSpecListenerArray and GetVirtualNodeSpecListenerArrayOutput values. +// You can construct a concrete instance of `GetVirtualNodeSpecListenerArrayInput` via: // -// GetRouteSpecHttpRouteTimeoutIdleArray{ GetRouteSpecHttpRouteTimeoutIdleArgs{...} } -type GetRouteSpecHttpRouteTimeoutIdleArrayInput interface { +// GetVirtualNodeSpecListenerArray{ GetVirtualNodeSpecListenerArgs{...} } +type GetVirtualNodeSpecListenerArrayInput interface { pulumi.Input - ToGetRouteSpecHttpRouteTimeoutIdleArrayOutput() GetRouteSpecHttpRouteTimeoutIdleArrayOutput - ToGetRouteSpecHttpRouteTimeoutIdleArrayOutputWithContext(context.Context) GetRouteSpecHttpRouteTimeoutIdleArrayOutput + ToGetVirtualNodeSpecListenerArrayOutput() GetVirtualNodeSpecListenerArrayOutput + ToGetVirtualNodeSpecListenerArrayOutputWithContext(context.Context) GetVirtualNodeSpecListenerArrayOutput } -type GetRouteSpecHttpRouteTimeoutIdleArray []GetRouteSpecHttpRouteTimeoutIdleInput +type GetVirtualNodeSpecListenerArray []GetVirtualNodeSpecListenerInput -func (GetRouteSpecHttpRouteTimeoutIdleArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetRouteSpecHttpRouteTimeoutIdle)(nil)).Elem() +func (GetVirtualNodeSpecListenerArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetVirtualNodeSpecListener)(nil)).Elem() } -func (i GetRouteSpecHttpRouteTimeoutIdleArray) ToGetRouteSpecHttpRouteTimeoutIdleArrayOutput() GetRouteSpecHttpRouteTimeoutIdleArrayOutput { - return i.ToGetRouteSpecHttpRouteTimeoutIdleArrayOutputWithContext(context.Background()) +func (i GetVirtualNodeSpecListenerArray) ToGetVirtualNodeSpecListenerArrayOutput() GetVirtualNodeSpecListenerArrayOutput { + return i.ToGetVirtualNodeSpecListenerArrayOutputWithContext(context.Background()) } -func (i GetRouteSpecHttpRouteTimeoutIdleArray) ToGetRouteSpecHttpRouteTimeoutIdleArrayOutputWithContext(ctx context.Context) GetRouteSpecHttpRouteTimeoutIdleArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetRouteSpecHttpRouteTimeoutIdleArrayOutput) +func (i GetVirtualNodeSpecListenerArray) ToGetVirtualNodeSpecListenerArrayOutputWithContext(ctx context.Context) GetVirtualNodeSpecListenerArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetVirtualNodeSpecListenerArrayOutput) } -type GetRouteSpecHttpRouteTimeoutIdleOutput struct{ *pulumi.OutputState } +type GetVirtualNodeSpecListenerOutput struct{ *pulumi.OutputState } -func (GetRouteSpecHttpRouteTimeoutIdleOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetRouteSpecHttpRouteTimeoutIdle)(nil)).Elem() +func (GetVirtualNodeSpecListenerOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetVirtualNodeSpecListener)(nil)).Elem() } -func (o GetRouteSpecHttpRouteTimeoutIdleOutput) ToGetRouteSpecHttpRouteTimeoutIdleOutput() GetRouteSpecHttpRouteTimeoutIdleOutput { +func (o GetVirtualNodeSpecListenerOutput) ToGetVirtualNodeSpecListenerOutput() GetVirtualNodeSpecListenerOutput { return o } -func (o GetRouteSpecHttpRouteTimeoutIdleOutput) ToGetRouteSpecHttpRouteTimeoutIdleOutputWithContext(ctx context.Context) GetRouteSpecHttpRouteTimeoutIdleOutput { +func (o GetVirtualNodeSpecListenerOutput) ToGetVirtualNodeSpecListenerOutputWithContext(ctx context.Context) GetVirtualNodeSpecListenerOutput { return o } -func (o GetRouteSpecHttpRouteTimeoutIdleOutput) Unit() pulumi.StringOutput { - return o.ApplyT(func(v GetRouteSpecHttpRouteTimeoutIdle) string { return v.Unit }).(pulumi.StringOutput) +func (o GetVirtualNodeSpecListenerOutput) ConnectionPools() GetVirtualNodeSpecListenerConnectionPoolArrayOutput { + return o.ApplyT(func(v GetVirtualNodeSpecListener) []GetVirtualNodeSpecListenerConnectionPool { + return v.ConnectionPools + }).(GetVirtualNodeSpecListenerConnectionPoolArrayOutput) } -func (o GetRouteSpecHttpRouteTimeoutIdleOutput) Value() pulumi.IntOutput { - return o.ApplyT(func(v GetRouteSpecHttpRouteTimeoutIdle) int { return v.Value }).(pulumi.IntOutput) +func (o GetVirtualNodeSpecListenerOutput) HealthChecks() GetVirtualNodeSpecListenerHealthCheckArrayOutput { + return o.ApplyT(func(v GetVirtualNodeSpecListener) []GetVirtualNodeSpecListenerHealthCheck { return v.HealthChecks }).(GetVirtualNodeSpecListenerHealthCheckArrayOutput) } -type GetRouteSpecHttpRouteTimeoutIdleArrayOutput struct{ *pulumi.OutputState } +func (o GetVirtualNodeSpecListenerOutput) OutlierDetections() GetVirtualNodeSpecListenerOutlierDetectionArrayOutput { + return o.ApplyT(func(v GetVirtualNodeSpecListener) []GetVirtualNodeSpecListenerOutlierDetection { + return v.OutlierDetections + }).(GetVirtualNodeSpecListenerOutlierDetectionArrayOutput) +} -func (GetRouteSpecHttpRouteTimeoutIdleArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetRouteSpecHttpRouteTimeoutIdle)(nil)).Elem() +func (o GetVirtualNodeSpecListenerOutput) PortMappings() GetVirtualNodeSpecListenerPortMappingArrayOutput { + return o.ApplyT(func(v GetVirtualNodeSpecListener) []GetVirtualNodeSpecListenerPortMapping { return v.PortMappings }).(GetVirtualNodeSpecListenerPortMappingArrayOutput) } -func (o GetRouteSpecHttpRouteTimeoutIdleArrayOutput) ToGetRouteSpecHttpRouteTimeoutIdleArrayOutput() GetRouteSpecHttpRouteTimeoutIdleArrayOutput { +func (o GetVirtualNodeSpecListenerOutput) Timeouts() GetVirtualNodeSpecListenerTimeoutArrayOutput { + return o.ApplyT(func(v GetVirtualNodeSpecListener) []GetVirtualNodeSpecListenerTimeout { return v.Timeouts }).(GetVirtualNodeSpecListenerTimeoutArrayOutput) +} + +func (o GetVirtualNodeSpecListenerOutput) Tls() GetVirtualNodeSpecListenerTlArrayOutput { + return o.ApplyT(func(v GetVirtualNodeSpecListener) []GetVirtualNodeSpecListenerTl { return v.Tls }).(GetVirtualNodeSpecListenerTlArrayOutput) +} + +type GetVirtualNodeSpecListenerArrayOutput struct{ *pulumi.OutputState } + +func (GetVirtualNodeSpecListenerArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetVirtualNodeSpecListener)(nil)).Elem() +} + +func (o GetVirtualNodeSpecListenerArrayOutput) ToGetVirtualNodeSpecListenerArrayOutput() GetVirtualNodeSpecListenerArrayOutput { return o } -func (o GetRouteSpecHttpRouteTimeoutIdleArrayOutput) ToGetRouteSpecHttpRouteTimeoutIdleArrayOutputWithContext(ctx context.Context) GetRouteSpecHttpRouteTimeoutIdleArrayOutput { +func (o GetVirtualNodeSpecListenerArrayOutput) ToGetVirtualNodeSpecListenerArrayOutputWithContext(ctx context.Context) GetVirtualNodeSpecListenerArrayOutput { return o } -func (o GetRouteSpecHttpRouteTimeoutIdleArrayOutput) Index(i pulumi.IntInput) GetRouteSpecHttpRouteTimeoutIdleOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetRouteSpecHttpRouteTimeoutIdle { - return vs[0].([]GetRouteSpecHttpRouteTimeoutIdle)[vs[1].(int)] - }).(GetRouteSpecHttpRouteTimeoutIdleOutput) +func (o GetVirtualNodeSpecListenerArrayOutput) Index(i pulumi.IntInput) GetVirtualNodeSpecListenerOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetVirtualNodeSpecListener { + return vs[0].([]GetVirtualNodeSpecListener)[vs[1].(int)] + }).(GetVirtualNodeSpecListenerOutput) } -type GetRouteSpecHttpRouteTimeoutPerRequest struct { - Unit string `pulumi:"unit"` - Value int `pulumi:"value"` +type GetVirtualNodeSpecListenerConnectionPool struct { + Grpcs []GetVirtualNodeSpecListenerConnectionPoolGrpc `pulumi:"grpcs"` + Http2s []GetVirtualNodeSpecListenerConnectionPoolHttp2 `pulumi:"http2s"` + Https []GetVirtualNodeSpecListenerConnectionPoolHttp `pulumi:"https"` + Tcps []GetVirtualNodeSpecListenerConnectionPoolTcp `pulumi:"tcps"` } -// GetRouteSpecHttpRouteTimeoutPerRequestInput is an input type that accepts GetRouteSpecHttpRouteTimeoutPerRequestArgs and GetRouteSpecHttpRouteTimeoutPerRequestOutput values. -// You can construct a concrete instance of `GetRouteSpecHttpRouteTimeoutPerRequestInput` via: +// GetVirtualNodeSpecListenerConnectionPoolInput is an input type that accepts GetVirtualNodeSpecListenerConnectionPoolArgs and GetVirtualNodeSpecListenerConnectionPoolOutput values. +// You can construct a concrete instance of `GetVirtualNodeSpecListenerConnectionPoolInput` via: // -// GetRouteSpecHttpRouteTimeoutPerRequestArgs{...} -type GetRouteSpecHttpRouteTimeoutPerRequestInput interface { +// GetVirtualNodeSpecListenerConnectionPoolArgs{...} +type GetVirtualNodeSpecListenerConnectionPoolInput interface { pulumi.Input - ToGetRouteSpecHttpRouteTimeoutPerRequestOutput() GetRouteSpecHttpRouteTimeoutPerRequestOutput - ToGetRouteSpecHttpRouteTimeoutPerRequestOutputWithContext(context.Context) GetRouteSpecHttpRouteTimeoutPerRequestOutput + ToGetVirtualNodeSpecListenerConnectionPoolOutput() GetVirtualNodeSpecListenerConnectionPoolOutput + ToGetVirtualNodeSpecListenerConnectionPoolOutputWithContext(context.Context) GetVirtualNodeSpecListenerConnectionPoolOutput } -type GetRouteSpecHttpRouteTimeoutPerRequestArgs struct { - Unit pulumi.StringInput `pulumi:"unit"` - Value pulumi.IntInput `pulumi:"value"` +type GetVirtualNodeSpecListenerConnectionPoolArgs struct { + Grpcs GetVirtualNodeSpecListenerConnectionPoolGrpcArrayInput `pulumi:"grpcs"` + Http2s GetVirtualNodeSpecListenerConnectionPoolHttp2ArrayInput `pulumi:"http2s"` + Https GetVirtualNodeSpecListenerConnectionPoolHttpArrayInput `pulumi:"https"` + Tcps GetVirtualNodeSpecListenerConnectionPoolTcpArrayInput `pulumi:"tcps"` } -func (GetRouteSpecHttpRouteTimeoutPerRequestArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetRouteSpecHttpRouteTimeoutPerRequest)(nil)).Elem() +func (GetVirtualNodeSpecListenerConnectionPoolArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetVirtualNodeSpecListenerConnectionPool)(nil)).Elem() } -func (i GetRouteSpecHttpRouteTimeoutPerRequestArgs) ToGetRouteSpecHttpRouteTimeoutPerRequestOutput() GetRouteSpecHttpRouteTimeoutPerRequestOutput { - return i.ToGetRouteSpecHttpRouteTimeoutPerRequestOutputWithContext(context.Background()) +func (i GetVirtualNodeSpecListenerConnectionPoolArgs) ToGetVirtualNodeSpecListenerConnectionPoolOutput() GetVirtualNodeSpecListenerConnectionPoolOutput { + return i.ToGetVirtualNodeSpecListenerConnectionPoolOutputWithContext(context.Background()) } -func (i GetRouteSpecHttpRouteTimeoutPerRequestArgs) ToGetRouteSpecHttpRouteTimeoutPerRequestOutputWithContext(ctx context.Context) GetRouteSpecHttpRouteTimeoutPerRequestOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetRouteSpecHttpRouteTimeoutPerRequestOutput) +func (i GetVirtualNodeSpecListenerConnectionPoolArgs) ToGetVirtualNodeSpecListenerConnectionPoolOutputWithContext(ctx context.Context) GetVirtualNodeSpecListenerConnectionPoolOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetVirtualNodeSpecListenerConnectionPoolOutput) } -// GetRouteSpecHttpRouteTimeoutPerRequestArrayInput is an input type that accepts GetRouteSpecHttpRouteTimeoutPerRequestArray and GetRouteSpecHttpRouteTimeoutPerRequestArrayOutput values. -// You can construct a concrete instance of `GetRouteSpecHttpRouteTimeoutPerRequestArrayInput` via: +// GetVirtualNodeSpecListenerConnectionPoolArrayInput is an input type that accepts GetVirtualNodeSpecListenerConnectionPoolArray and GetVirtualNodeSpecListenerConnectionPoolArrayOutput values. +// You can construct a concrete instance of `GetVirtualNodeSpecListenerConnectionPoolArrayInput` via: // -// GetRouteSpecHttpRouteTimeoutPerRequestArray{ GetRouteSpecHttpRouteTimeoutPerRequestArgs{...} } -type GetRouteSpecHttpRouteTimeoutPerRequestArrayInput interface { +// GetVirtualNodeSpecListenerConnectionPoolArray{ GetVirtualNodeSpecListenerConnectionPoolArgs{...} } +type GetVirtualNodeSpecListenerConnectionPoolArrayInput interface { pulumi.Input - ToGetRouteSpecHttpRouteTimeoutPerRequestArrayOutput() GetRouteSpecHttpRouteTimeoutPerRequestArrayOutput - ToGetRouteSpecHttpRouteTimeoutPerRequestArrayOutputWithContext(context.Context) GetRouteSpecHttpRouteTimeoutPerRequestArrayOutput + ToGetVirtualNodeSpecListenerConnectionPoolArrayOutput() GetVirtualNodeSpecListenerConnectionPoolArrayOutput + ToGetVirtualNodeSpecListenerConnectionPoolArrayOutputWithContext(context.Context) GetVirtualNodeSpecListenerConnectionPoolArrayOutput } -type GetRouteSpecHttpRouteTimeoutPerRequestArray []GetRouteSpecHttpRouteTimeoutPerRequestInput +type GetVirtualNodeSpecListenerConnectionPoolArray []GetVirtualNodeSpecListenerConnectionPoolInput -func (GetRouteSpecHttpRouteTimeoutPerRequestArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetRouteSpecHttpRouteTimeoutPerRequest)(nil)).Elem() +func (GetVirtualNodeSpecListenerConnectionPoolArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetVirtualNodeSpecListenerConnectionPool)(nil)).Elem() } -func (i GetRouteSpecHttpRouteTimeoutPerRequestArray) ToGetRouteSpecHttpRouteTimeoutPerRequestArrayOutput() GetRouteSpecHttpRouteTimeoutPerRequestArrayOutput { - return i.ToGetRouteSpecHttpRouteTimeoutPerRequestArrayOutputWithContext(context.Background()) +func (i GetVirtualNodeSpecListenerConnectionPoolArray) ToGetVirtualNodeSpecListenerConnectionPoolArrayOutput() GetVirtualNodeSpecListenerConnectionPoolArrayOutput { + return i.ToGetVirtualNodeSpecListenerConnectionPoolArrayOutputWithContext(context.Background()) } -func (i GetRouteSpecHttpRouteTimeoutPerRequestArray) ToGetRouteSpecHttpRouteTimeoutPerRequestArrayOutputWithContext(ctx context.Context) GetRouteSpecHttpRouteTimeoutPerRequestArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetRouteSpecHttpRouteTimeoutPerRequestArrayOutput) +func (i GetVirtualNodeSpecListenerConnectionPoolArray) ToGetVirtualNodeSpecListenerConnectionPoolArrayOutputWithContext(ctx context.Context) GetVirtualNodeSpecListenerConnectionPoolArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetVirtualNodeSpecListenerConnectionPoolArrayOutput) } -type GetRouteSpecHttpRouteTimeoutPerRequestOutput struct{ *pulumi.OutputState } +type GetVirtualNodeSpecListenerConnectionPoolOutput struct{ *pulumi.OutputState } -func (GetRouteSpecHttpRouteTimeoutPerRequestOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetRouteSpecHttpRouteTimeoutPerRequest)(nil)).Elem() +func (GetVirtualNodeSpecListenerConnectionPoolOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetVirtualNodeSpecListenerConnectionPool)(nil)).Elem() } -func (o GetRouteSpecHttpRouteTimeoutPerRequestOutput) ToGetRouteSpecHttpRouteTimeoutPerRequestOutput() GetRouteSpecHttpRouteTimeoutPerRequestOutput { +func (o GetVirtualNodeSpecListenerConnectionPoolOutput) ToGetVirtualNodeSpecListenerConnectionPoolOutput() GetVirtualNodeSpecListenerConnectionPoolOutput { return o } -func (o GetRouteSpecHttpRouteTimeoutPerRequestOutput) ToGetRouteSpecHttpRouteTimeoutPerRequestOutputWithContext(ctx context.Context) GetRouteSpecHttpRouteTimeoutPerRequestOutput { +func (o GetVirtualNodeSpecListenerConnectionPoolOutput) ToGetVirtualNodeSpecListenerConnectionPoolOutputWithContext(ctx context.Context) GetVirtualNodeSpecListenerConnectionPoolOutput { return o } -func (o GetRouteSpecHttpRouteTimeoutPerRequestOutput) Unit() pulumi.StringOutput { - return o.ApplyT(func(v GetRouteSpecHttpRouteTimeoutPerRequest) string { return v.Unit }).(pulumi.StringOutput) +func (o GetVirtualNodeSpecListenerConnectionPoolOutput) Grpcs() GetVirtualNodeSpecListenerConnectionPoolGrpcArrayOutput { + return o.ApplyT(func(v GetVirtualNodeSpecListenerConnectionPool) []GetVirtualNodeSpecListenerConnectionPoolGrpc { + return v.Grpcs + }).(GetVirtualNodeSpecListenerConnectionPoolGrpcArrayOutput) } -func (o GetRouteSpecHttpRouteTimeoutPerRequestOutput) Value() pulumi.IntOutput { - return o.ApplyT(func(v GetRouteSpecHttpRouteTimeoutPerRequest) int { return v.Value }).(pulumi.IntOutput) +func (o GetVirtualNodeSpecListenerConnectionPoolOutput) Http2s() GetVirtualNodeSpecListenerConnectionPoolHttp2ArrayOutput { + return o.ApplyT(func(v GetVirtualNodeSpecListenerConnectionPool) []GetVirtualNodeSpecListenerConnectionPoolHttp2 { + return v.Http2s + }).(GetVirtualNodeSpecListenerConnectionPoolHttp2ArrayOutput) } -type GetRouteSpecHttpRouteTimeoutPerRequestArrayOutput struct{ *pulumi.OutputState } +func (o GetVirtualNodeSpecListenerConnectionPoolOutput) Https() GetVirtualNodeSpecListenerConnectionPoolHttpArrayOutput { + return o.ApplyT(func(v GetVirtualNodeSpecListenerConnectionPool) []GetVirtualNodeSpecListenerConnectionPoolHttp { + return v.Https + }).(GetVirtualNodeSpecListenerConnectionPoolHttpArrayOutput) +} -func (GetRouteSpecHttpRouteTimeoutPerRequestArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetRouteSpecHttpRouteTimeoutPerRequest)(nil)).Elem() +func (o GetVirtualNodeSpecListenerConnectionPoolOutput) Tcps() GetVirtualNodeSpecListenerConnectionPoolTcpArrayOutput { + return o.ApplyT(func(v GetVirtualNodeSpecListenerConnectionPool) []GetVirtualNodeSpecListenerConnectionPoolTcp { + return v.Tcps + }).(GetVirtualNodeSpecListenerConnectionPoolTcpArrayOutput) } -func (o GetRouteSpecHttpRouteTimeoutPerRequestArrayOutput) ToGetRouteSpecHttpRouteTimeoutPerRequestArrayOutput() GetRouteSpecHttpRouteTimeoutPerRequestArrayOutput { +type GetVirtualNodeSpecListenerConnectionPoolArrayOutput struct{ *pulumi.OutputState } + +func (GetVirtualNodeSpecListenerConnectionPoolArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetVirtualNodeSpecListenerConnectionPool)(nil)).Elem() +} + +func (o GetVirtualNodeSpecListenerConnectionPoolArrayOutput) ToGetVirtualNodeSpecListenerConnectionPoolArrayOutput() GetVirtualNodeSpecListenerConnectionPoolArrayOutput { return o } -func (o GetRouteSpecHttpRouteTimeoutPerRequestArrayOutput) ToGetRouteSpecHttpRouteTimeoutPerRequestArrayOutputWithContext(ctx context.Context) GetRouteSpecHttpRouteTimeoutPerRequestArrayOutput { +func (o GetVirtualNodeSpecListenerConnectionPoolArrayOutput) ToGetVirtualNodeSpecListenerConnectionPoolArrayOutputWithContext(ctx context.Context) GetVirtualNodeSpecListenerConnectionPoolArrayOutput { return o } -func (o GetRouteSpecHttpRouteTimeoutPerRequestArrayOutput) Index(i pulumi.IntInput) GetRouteSpecHttpRouteTimeoutPerRequestOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetRouteSpecHttpRouteTimeoutPerRequest { - return vs[0].([]GetRouteSpecHttpRouteTimeoutPerRequest)[vs[1].(int)] - }).(GetRouteSpecHttpRouteTimeoutPerRequestOutput) +func (o GetVirtualNodeSpecListenerConnectionPoolArrayOutput) Index(i pulumi.IntInput) GetVirtualNodeSpecListenerConnectionPoolOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetVirtualNodeSpecListenerConnectionPool { + return vs[0].([]GetVirtualNodeSpecListenerConnectionPool)[vs[1].(int)] + }).(GetVirtualNodeSpecListenerConnectionPoolOutput) } -type GetRouteSpecTcpRoute struct { - // Action to take if a match is determined. - Actions []GetRouteSpecTcpRouteAction `pulumi:"actions"` - // Criteria for determining an HTTP request match. - Matches []GetRouteSpecTcpRouteMatch `pulumi:"matches"` - // Types of timeouts. - Timeouts []GetRouteSpecTcpRouteTimeout `pulumi:"timeouts"` +type GetVirtualNodeSpecListenerConnectionPoolGrpc struct { + MaxRequests int `pulumi:"maxRequests"` } -// GetRouteSpecTcpRouteInput is an input type that accepts GetRouteSpecTcpRouteArgs and GetRouteSpecTcpRouteOutput values. -// You can construct a concrete instance of `GetRouteSpecTcpRouteInput` via: +// GetVirtualNodeSpecListenerConnectionPoolGrpcInput is an input type that accepts GetVirtualNodeSpecListenerConnectionPoolGrpcArgs and GetVirtualNodeSpecListenerConnectionPoolGrpcOutput values. +// You can construct a concrete instance of `GetVirtualNodeSpecListenerConnectionPoolGrpcInput` via: // -// GetRouteSpecTcpRouteArgs{...} -type GetRouteSpecTcpRouteInput interface { +// GetVirtualNodeSpecListenerConnectionPoolGrpcArgs{...} +type GetVirtualNodeSpecListenerConnectionPoolGrpcInput interface { pulumi.Input - ToGetRouteSpecTcpRouteOutput() GetRouteSpecTcpRouteOutput - ToGetRouteSpecTcpRouteOutputWithContext(context.Context) GetRouteSpecTcpRouteOutput + ToGetVirtualNodeSpecListenerConnectionPoolGrpcOutput() GetVirtualNodeSpecListenerConnectionPoolGrpcOutput + ToGetVirtualNodeSpecListenerConnectionPoolGrpcOutputWithContext(context.Context) GetVirtualNodeSpecListenerConnectionPoolGrpcOutput } -type GetRouteSpecTcpRouteArgs struct { - // Action to take if a match is determined. - Actions GetRouteSpecTcpRouteActionArrayInput `pulumi:"actions"` - // Criteria for determining an HTTP request match. - Matches GetRouteSpecTcpRouteMatchArrayInput `pulumi:"matches"` - // Types of timeouts. - Timeouts GetRouteSpecTcpRouteTimeoutArrayInput `pulumi:"timeouts"` +type GetVirtualNodeSpecListenerConnectionPoolGrpcArgs struct { + MaxRequests pulumi.IntInput `pulumi:"maxRequests"` } -func (GetRouteSpecTcpRouteArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetRouteSpecTcpRoute)(nil)).Elem() +func (GetVirtualNodeSpecListenerConnectionPoolGrpcArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetVirtualNodeSpecListenerConnectionPoolGrpc)(nil)).Elem() } -func (i GetRouteSpecTcpRouteArgs) ToGetRouteSpecTcpRouteOutput() GetRouteSpecTcpRouteOutput { - return i.ToGetRouteSpecTcpRouteOutputWithContext(context.Background()) +func (i GetVirtualNodeSpecListenerConnectionPoolGrpcArgs) ToGetVirtualNodeSpecListenerConnectionPoolGrpcOutput() GetVirtualNodeSpecListenerConnectionPoolGrpcOutput { + return i.ToGetVirtualNodeSpecListenerConnectionPoolGrpcOutputWithContext(context.Background()) } -func (i GetRouteSpecTcpRouteArgs) ToGetRouteSpecTcpRouteOutputWithContext(ctx context.Context) GetRouteSpecTcpRouteOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetRouteSpecTcpRouteOutput) +func (i GetVirtualNodeSpecListenerConnectionPoolGrpcArgs) ToGetVirtualNodeSpecListenerConnectionPoolGrpcOutputWithContext(ctx context.Context) GetVirtualNodeSpecListenerConnectionPoolGrpcOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetVirtualNodeSpecListenerConnectionPoolGrpcOutput) } -// GetRouteSpecTcpRouteArrayInput is an input type that accepts GetRouteSpecTcpRouteArray and GetRouteSpecTcpRouteArrayOutput values. -// You can construct a concrete instance of `GetRouteSpecTcpRouteArrayInput` via: +// GetVirtualNodeSpecListenerConnectionPoolGrpcArrayInput is an input type that accepts GetVirtualNodeSpecListenerConnectionPoolGrpcArray and GetVirtualNodeSpecListenerConnectionPoolGrpcArrayOutput values. +// You can construct a concrete instance of `GetVirtualNodeSpecListenerConnectionPoolGrpcArrayInput` via: // -// GetRouteSpecTcpRouteArray{ GetRouteSpecTcpRouteArgs{...} } -type GetRouteSpecTcpRouteArrayInput interface { +// GetVirtualNodeSpecListenerConnectionPoolGrpcArray{ GetVirtualNodeSpecListenerConnectionPoolGrpcArgs{...} } +type GetVirtualNodeSpecListenerConnectionPoolGrpcArrayInput interface { pulumi.Input - ToGetRouteSpecTcpRouteArrayOutput() GetRouteSpecTcpRouteArrayOutput - ToGetRouteSpecTcpRouteArrayOutputWithContext(context.Context) GetRouteSpecTcpRouteArrayOutput + ToGetVirtualNodeSpecListenerConnectionPoolGrpcArrayOutput() GetVirtualNodeSpecListenerConnectionPoolGrpcArrayOutput + ToGetVirtualNodeSpecListenerConnectionPoolGrpcArrayOutputWithContext(context.Context) GetVirtualNodeSpecListenerConnectionPoolGrpcArrayOutput } -type GetRouteSpecTcpRouteArray []GetRouteSpecTcpRouteInput +type GetVirtualNodeSpecListenerConnectionPoolGrpcArray []GetVirtualNodeSpecListenerConnectionPoolGrpcInput -func (GetRouteSpecTcpRouteArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetRouteSpecTcpRoute)(nil)).Elem() +func (GetVirtualNodeSpecListenerConnectionPoolGrpcArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetVirtualNodeSpecListenerConnectionPoolGrpc)(nil)).Elem() } -func (i GetRouteSpecTcpRouteArray) ToGetRouteSpecTcpRouteArrayOutput() GetRouteSpecTcpRouteArrayOutput { - return i.ToGetRouteSpecTcpRouteArrayOutputWithContext(context.Background()) +func (i GetVirtualNodeSpecListenerConnectionPoolGrpcArray) ToGetVirtualNodeSpecListenerConnectionPoolGrpcArrayOutput() GetVirtualNodeSpecListenerConnectionPoolGrpcArrayOutput { + return i.ToGetVirtualNodeSpecListenerConnectionPoolGrpcArrayOutputWithContext(context.Background()) } -func (i GetRouteSpecTcpRouteArray) ToGetRouteSpecTcpRouteArrayOutputWithContext(ctx context.Context) GetRouteSpecTcpRouteArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetRouteSpecTcpRouteArrayOutput) +func (i GetVirtualNodeSpecListenerConnectionPoolGrpcArray) ToGetVirtualNodeSpecListenerConnectionPoolGrpcArrayOutputWithContext(ctx context.Context) GetVirtualNodeSpecListenerConnectionPoolGrpcArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetVirtualNodeSpecListenerConnectionPoolGrpcArrayOutput) } -type GetRouteSpecTcpRouteOutput struct{ *pulumi.OutputState } +type GetVirtualNodeSpecListenerConnectionPoolGrpcOutput struct{ *pulumi.OutputState } -func (GetRouteSpecTcpRouteOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetRouteSpecTcpRoute)(nil)).Elem() +func (GetVirtualNodeSpecListenerConnectionPoolGrpcOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetVirtualNodeSpecListenerConnectionPoolGrpc)(nil)).Elem() } -func (o GetRouteSpecTcpRouteOutput) ToGetRouteSpecTcpRouteOutput() GetRouteSpecTcpRouteOutput { +func (o GetVirtualNodeSpecListenerConnectionPoolGrpcOutput) ToGetVirtualNodeSpecListenerConnectionPoolGrpcOutput() GetVirtualNodeSpecListenerConnectionPoolGrpcOutput { return o } -func (o GetRouteSpecTcpRouteOutput) ToGetRouteSpecTcpRouteOutputWithContext(ctx context.Context) GetRouteSpecTcpRouteOutput { +func (o GetVirtualNodeSpecListenerConnectionPoolGrpcOutput) ToGetVirtualNodeSpecListenerConnectionPoolGrpcOutputWithContext(ctx context.Context) GetVirtualNodeSpecListenerConnectionPoolGrpcOutput { return o } -// Action to take if a match is determined. -func (o GetRouteSpecTcpRouteOutput) Actions() GetRouteSpecTcpRouteActionArrayOutput { - return o.ApplyT(func(v GetRouteSpecTcpRoute) []GetRouteSpecTcpRouteAction { return v.Actions }).(GetRouteSpecTcpRouteActionArrayOutput) -} - -// Criteria for determining an HTTP request match. -func (o GetRouteSpecTcpRouteOutput) Matches() GetRouteSpecTcpRouteMatchArrayOutput { - return o.ApplyT(func(v GetRouteSpecTcpRoute) []GetRouteSpecTcpRouteMatch { return v.Matches }).(GetRouteSpecTcpRouteMatchArrayOutput) -} - -// Types of timeouts. -func (o GetRouteSpecTcpRouteOutput) Timeouts() GetRouteSpecTcpRouteTimeoutArrayOutput { - return o.ApplyT(func(v GetRouteSpecTcpRoute) []GetRouteSpecTcpRouteTimeout { return v.Timeouts }).(GetRouteSpecTcpRouteTimeoutArrayOutput) +func (o GetVirtualNodeSpecListenerConnectionPoolGrpcOutput) MaxRequests() pulumi.IntOutput { + return o.ApplyT(func(v GetVirtualNodeSpecListenerConnectionPoolGrpc) int { return v.MaxRequests }).(pulumi.IntOutput) } -type GetRouteSpecTcpRouteArrayOutput struct{ *pulumi.OutputState } +type GetVirtualNodeSpecListenerConnectionPoolGrpcArrayOutput struct{ *pulumi.OutputState } -func (GetRouteSpecTcpRouteArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetRouteSpecTcpRoute)(nil)).Elem() +func (GetVirtualNodeSpecListenerConnectionPoolGrpcArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetVirtualNodeSpecListenerConnectionPoolGrpc)(nil)).Elem() } -func (o GetRouteSpecTcpRouteArrayOutput) ToGetRouteSpecTcpRouteArrayOutput() GetRouteSpecTcpRouteArrayOutput { +func (o GetVirtualNodeSpecListenerConnectionPoolGrpcArrayOutput) ToGetVirtualNodeSpecListenerConnectionPoolGrpcArrayOutput() GetVirtualNodeSpecListenerConnectionPoolGrpcArrayOutput { return o } -func (o GetRouteSpecTcpRouteArrayOutput) ToGetRouteSpecTcpRouteArrayOutputWithContext(ctx context.Context) GetRouteSpecTcpRouteArrayOutput { +func (o GetVirtualNodeSpecListenerConnectionPoolGrpcArrayOutput) ToGetVirtualNodeSpecListenerConnectionPoolGrpcArrayOutputWithContext(ctx context.Context) GetVirtualNodeSpecListenerConnectionPoolGrpcArrayOutput { return o } -func (o GetRouteSpecTcpRouteArrayOutput) Index(i pulumi.IntInput) GetRouteSpecTcpRouteOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetRouteSpecTcpRoute { - return vs[0].([]GetRouteSpecTcpRoute)[vs[1].(int)] - }).(GetRouteSpecTcpRouteOutput) +func (o GetVirtualNodeSpecListenerConnectionPoolGrpcArrayOutput) Index(i pulumi.IntInput) GetVirtualNodeSpecListenerConnectionPoolGrpcOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetVirtualNodeSpecListenerConnectionPoolGrpc { + return vs[0].([]GetVirtualNodeSpecListenerConnectionPoolGrpc)[vs[1].(int)] + }).(GetVirtualNodeSpecListenerConnectionPoolGrpcOutput) } -type GetRouteSpecTcpRouteAction struct { - WeightedTargets []GetRouteSpecTcpRouteActionWeightedTarget `pulumi:"weightedTargets"` +type GetVirtualNodeSpecListenerConnectionPoolHttp2 struct { + MaxRequests int `pulumi:"maxRequests"` } -// GetRouteSpecTcpRouteActionInput is an input type that accepts GetRouteSpecTcpRouteActionArgs and GetRouteSpecTcpRouteActionOutput values. -// You can construct a concrete instance of `GetRouteSpecTcpRouteActionInput` via: +// GetVirtualNodeSpecListenerConnectionPoolHttp2Input is an input type that accepts GetVirtualNodeSpecListenerConnectionPoolHttp2Args and GetVirtualNodeSpecListenerConnectionPoolHttp2Output values. +// You can construct a concrete instance of `GetVirtualNodeSpecListenerConnectionPoolHttp2Input` via: // -// GetRouteSpecTcpRouteActionArgs{...} -type GetRouteSpecTcpRouteActionInput interface { +// GetVirtualNodeSpecListenerConnectionPoolHttp2Args{...} +type GetVirtualNodeSpecListenerConnectionPoolHttp2Input interface { pulumi.Input - ToGetRouteSpecTcpRouteActionOutput() GetRouteSpecTcpRouteActionOutput - ToGetRouteSpecTcpRouteActionOutputWithContext(context.Context) GetRouteSpecTcpRouteActionOutput + ToGetVirtualNodeSpecListenerConnectionPoolHttp2Output() GetVirtualNodeSpecListenerConnectionPoolHttp2Output + ToGetVirtualNodeSpecListenerConnectionPoolHttp2OutputWithContext(context.Context) GetVirtualNodeSpecListenerConnectionPoolHttp2Output } -type GetRouteSpecTcpRouteActionArgs struct { - WeightedTargets GetRouteSpecTcpRouteActionWeightedTargetArrayInput `pulumi:"weightedTargets"` +type GetVirtualNodeSpecListenerConnectionPoolHttp2Args struct { + MaxRequests pulumi.IntInput `pulumi:"maxRequests"` } -func (GetRouteSpecTcpRouteActionArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetRouteSpecTcpRouteAction)(nil)).Elem() +func (GetVirtualNodeSpecListenerConnectionPoolHttp2Args) ElementType() reflect.Type { + return reflect.TypeOf((*GetVirtualNodeSpecListenerConnectionPoolHttp2)(nil)).Elem() } -func (i GetRouteSpecTcpRouteActionArgs) ToGetRouteSpecTcpRouteActionOutput() GetRouteSpecTcpRouteActionOutput { - return i.ToGetRouteSpecTcpRouteActionOutputWithContext(context.Background()) +func (i GetVirtualNodeSpecListenerConnectionPoolHttp2Args) ToGetVirtualNodeSpecListenerConnectionPoolHttp2Output() GetVirtualNodeSpecListenerConnectionPoolHttp2Output { + return i.ToGetVirtualNodeSpecListenerConnectionPoolHttp2OutputWithContext(context.Background()) } -func (i GetRouteSpecTcpRouteActionArgs) ToGetRouteSpecTcpRouteActionOutputWithContext(ctx context.Context) GetRouteSpecTcpRouteActionOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetRouteSpecTcpRouteActionOutput) +func (i GetVirtualNodeSpecListenerConnectionPoolHttp2Args) ToGetVirtualNodeSpecListenerConnectionPoolHttp2OutputWithContext(ctx context.Context) GetVirtualNodeSpecListenerConnectionPoolHttp2Output { + return pulumi.ToOutputWithContext(ctx, i).(GetVirtualNodeSpecListenerConnectionPoolHttp2Output) } -// GetRouteSpecTcpRouteActionArrayInput is an input type that accepts GetRouteSpecTcpRouteActionArray and GetRouteSpecTcpRouteActionArrayOutput values. -// You can construct a concrete instance of `GetRouteSpecTcpRouteActionArrayInput` via: +// GetVirtualNodeSpecListenerConnectionPoolHttp2ArrayInput is an input type that accepts GetVirtualNodeSpecListenerConnectionPoolHttp2Array and GetVirtualNodeSpecListenerConnectionPoolHttp2ArrayOutput values. +// You can construct a concrete instance of `GetVirtualNodeSpecListenerConnectionPoolHttp2ArrayInput` via: // -// GetRouteSpecTcpRouteActionArray{ GetRouteSpecTcpRouteActionArgs{...} } -type GetRouteSpecTcpRouteActionArrayInput interface { +// GetVirtualNodeSpecListenerConnectionPoolHttp2Array{ GetVirtualNodeSpecListenerConnectionPoolHttp2Args{...} } +type GetVirtualNodeSpecListenerConnectionPoolHttp2ArrayInput interface { pulumi.Input - ToGetRouteSpecTcpRouteActionArrayOutput() GetRouteSpecTcpRouteActionArrayOutput - ToGetRouteSpecTcpRouteActionArrayOutputWithContext(context.Context) GetRouteSpecTcpRouteActionArrayOutput + ToGetVirtualNodeSpecListenerConnectionPoolHttp2ArrayOutput() GetVirtualNodeSpecListenerConnectionPoolHttp2ArrayOutput + ToGetVirtualNodeSpecListenerConnectionPoolHttp2ArrayOutputWithContext(context.Context) GetVirtualNodeSpecListenerConnectionPoolHttp2ArrayOutput } -type GetRouteSpecTcpRouteActionArray []GetRouteSpecTcpRouteActionInput +type GetVirtualNodeSpecListenerConnectionPoolHttp2Array []GetVirtualNodeSpecListenerConnectionPoolHttp2Input -func (GetRouteSpecTcpRouteActionArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetRouteSpecTcpRouteAction)(nil)).Elem() +func (GetVirtualNodeSpecListenerConnectionPoolHttp2Array) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetVirtualNodeSpecListenerConnectionPoolHttp2)(nil)).Elem() } -func (i GetRouteSpecTcpRouteActionArray) ToGetRouteSpecTcpRouteActionArrayOutput() GetRouteSpecTcpRouteActionArrayOutput { - return i.ToGetRouteSpecTcpRouteActionArrayOutputWithContext(context.Background()) +func (i GetVirtualNodeSpecListenerConnectionPoolHttp2Array) ToGetVirtualNodeSpecListenerConnectionPoolHttp2ArrayOutput() GetVirtualNodeSpecListenerConnectionPoolHttp2ArrayOutput { + return i.ToGetVirtualNodeSpecListenerConnectionPoolHttp2ArrayOutputWithContext(context.Background()) } -func (i GetRouteSpecTcpRouteActionArray) ToGetRouteSpecTcpRouteActionArrayOutputWithContext(ctx context.Context) GetRouteSpecTcpRouteActionArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetRouteSpecTcpRouteActionArrayOutput) +func (i GetVirtualNodeSpecListenerConnectionPoolHttp2Array) ToGetVirtualNodeSpecListenerConnectionPoolHttp2ArrayOutputWithContext(ctx context.Context) GetVirtualNodeSpecListenerConnectionPoolHttp2ArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetVirtualNodeSpecListenerConnectionPoolHttp2ArrayOutput) } -type GetRouteSpecTcpRouteActionOutput struct{ *pulumi.OutputState } +type GetVirtualNodeSpecListenerConnectionPoolHttp2Output struct{ *pulumi.OutputState } -func (GetRouteSpecTcpRouteActionOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetRouteSpecTcpRouteAction)(nil)).Elem() +func (GetVirtualNodeSpecListenerConnectionPoolHttp2Output) ElementType() reflect.Type { + return reflect.TypeOf((*GetVirtualNodeSpecListenerConnectionPoolHttp2)(nil)).Elem() } -func (o GetRouteSpecTcpRouteActionOutput) ToGetRouteSpecTcpRouteActionOutput() GetRouteSpecTcpRouteActionOutput { +func (o GetVirtualNodeSpecListenerConnectionPoolHttp2Output) ToGetVirtualNodeSpecListenerConnectionPoolHttp2Output() GetVirtualNodeSpecListenerConnectionPoolHttp2Output { return o } -func (o GetRouteSpecTcpRouteActionOutput) ToGetRouteSpecTcpRouteActionOutputWithContext(ctx context.Context) GetRouteSpecTcpRouteActionOutput { +func (o GetVirtualNodeSpecListenerConnectionPoolHttp2Output) ToGetVirtualNodeSpecListenerConnectionPoolHttp2OutputWithContext(ctx context.Context) GetVirtualNodeSpecListenerConnectionPoolHttp2Output { return o } -func (o GetRouteSpecTcpRouteActionOutput) WeightedTargets() GetRouteSpecTcpRouteActionWeightedTargetArrayOutput { - return o.ApplyT(func(v GetRouteSpecTcpRouteAction) []GetRouteSpecTcpRouteActionWeightedTarget { - return v.WeightedTargets - }).(GetRouteSpecTcpRouteActionWeightedTargetArrayOutput) +func (o GetVirtualNodeSpecListenerConnectionPoolHttp2Output) MaxRequests() pulumi.IntOutput { + return o.ApplyT(func(v GetVirtualNodeSpecListenerConnectionPoolHttp2) int { return v.MaxRequests }).(pulumi.IntOutput) } -type GetRouteSpecTcpRouteActionArrayOutput struct{ *pulumi.OutputState } +type GetVirtualNodeSpecListenerConnectionPoolHttp2ArrayOutput struct{ *pulumi.OutputState } -func (GetRouteSpecTcpRouteActionArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetRouteSpecTcpRouteAction)(nil)).Elem() +func (GetVirtualNodeSpecListenerConnectionPoolHttp2ArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetVirtualNodeSpecListenerConnectionPoolHttp2)(nil)).Elem() } -func (o GetRouteSpecTcpRouteActionArrayOutput) ToGetRouteSpecTcpRouteActionArrayOutput() GetRouteSpecTcpRouteActionArrayOutput { +func (o GetVirtualNodeSpecListenerConnectionPoolHttp2ArrayOutput) ToGetVirtualNodeSpecListenerConnectionPoolHttp2ArrayOutput() GetVirtualNodeSpecListenerConnectionPoolHttp2ArrayOutput { return o } -func (o GetRouteSpecTcpRouteActionArrayOutput) ToGetRouteSpecTcpRouteActionArrayOutputWithContext(ctx context.Context) GetRouteSpecTcpRouteActionArrayOutput { +func (o GetVirtualNodeSpecListenerConnectionPoolHttp2ArrayOutput) ToGetVirtualNodeSpecListenerConnectionPoolHttp2ArrayOutputWithContext(ctx context.Context) GetVirtualNodeSpecListenerConnectionPoolHttp2ArrayOutput { return o } -func (o GetRouteSpecTcpRouteActionArrayOutput) Index(i pulumi.IntInput) GetRouteSpecTcpRouteActionOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetRouteSpecTcpRouteAction { - return vs[0].([]GetRouteSpecTcpRouteAction)[vs[1].(int)] - }).(GetRouteSpecTcpRouteActionOutput) +func (o GetVirtualNodeSpecListenerConnectionPoolHttp2ArrayOutput) Index(i pulumi.IntInput) GetVirtualNodeSpecListenerConnectionPoolHttp2Output { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetVirtualNodeSpecListenerConnectionPoolHttp2 { + return vs[0].([]GetVirtualNodeSpecListenerConnectionPoolHttp2)[vs[1].(int)] + }).(GetVirtualNodeSpecListenerConnectionPoolHttp2Output) } -type GetRouteSpecTcpRouteActionWeightedTarget struct { - Port int `pulumi:"port"` - VirtualNode string `pulumi:"virtualNode"` - Weight int `pulumi:"weight"` +type GetVirtualNodeSpecListenerConnectionPoolHttp struct { + MaxConnections int `pulumi:"maxConnections"` + MaxPendingRequests int `pulumi:"maxPendingRequests"` } -// GetRouteSpecTcpRouteActionWeightedTargetInput is an input type that accepts GetRouteSpecTcpRouteActionWeightedTargetArgs and GetRouteSpecTcpRouteActionWeightedTargetOutput values. -// You can construct a concrete instance of `GetRouteSpecTcpRouteActionWeightedTargetInput` via: +// GetVirtualNodeSpecListenerConnectionPoolHttpInput is an input type that accepts GetVirtualNodeSpecListenerConnectionPoolHttpArgs and GetVirtualNodeSpecListenerConnectionPoolHttpOutput values. +// You can construct a concrete instance of `GetVirtualNodeSpecListenerConnectionPoolHttpInput` via: // -// GetRouteSpecTcpRouteActionWeightedTargetArgs{...} -type GetRouteSpecTcpRouteActionWeightedTargetInput interface { +// GetVirtualNodeSpecListenerConnectionPoolHttpArgs{...} +type GetVirtualNodeSpecListenerConnectionPoolHttpInput interface { pulumi.Input - ToGetRouteSpecTcpRouteActionWeightedTargetOutput() GetRouteSpecTcpRouteActionWeightedTargetOutput - ToGetRouteSpecTcpRouteActionWeightedTargetOutputWithContext(context.Context) GetRouteSpecTcpRouteActionWeightedTargetOutput + ToGetVirtualNodeSpecListenerConnectionPoolHttpOutput() GetVirtualNodeSpecListenerConnectionPoolHttpOutput + ToGetVirtualNodeSpecListenerConnectionPoolHttpOutputWithContext(context.Context) GetVirtualNodeSpecListenerConnectionPoolHttpOutput } -type GetRouteSpecTcpRouteActionWeightedTargetArgs struct { - Port pulumi.IntInput `pulumi:"port"` - VirtualNode pulumi.StringInput `pulumi:"virtualNode"` - Weight pulumi.IntInput `pulumi:"weight"` +type GetVirtualNodeSpecListenerConnectionPoolHttpArgs struct { + MaxConnections pulumi.IntInput `pulumi:"maxConnections"` + MaxPendingRequests pulumi.IntInput `pulumi:"maxPendingRequests"` } -func (GetRouteSpecTcpRouteActionWeightedTargetArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetRouteSpecTcpRouteActionWeightedTarget)(nil)).Elem() +func (GetVirtualNodeSpecListenerConnectionPoolHttpArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetVirtualNodeSpecListenerConnectionPoolHttp)(nil)).Elem() } -func (i GetRouteSpecTcpRouteActionWeightedTargetArgs) ToGetRouteSpecTcpRouteActionWeightedTargetOutput() GetRouteSpecTcpRouteActionWeightedTargetOutput { - return i.ToGetRouteSpecTcpRouteActionWeightedTargetOutputWithContext(context.Background()) +func (i GetVirtualNodeSpecListenerConnectionPoolHttpArgs) ToGetVirtualNodeSpecListenerConnectionPoolHttpOutput() GetVirtualNodeSpecListenerConnectionPoolHttpOutput { + return i.ToGetVirtualNodeSpecListenerConnectionPoolHttpOutputWithContext(context.Background()) } -func (i GetRouteSpecTcpRouteActionWeightedTargetArgs) ToGetRouteSpecTcpRouteActionWeightedTargetOutputWithContext(ctx context.Context) GetRouteSpecTcpRouteActionWeightedTargetOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetRouteSpecTcpRouteActionWeightedTargetOutput) +func (i GetVirtualNodeSpecListenerConnectionPoolHttpArgs) ToGetVirtualNodeSpecListenerConnectionPoolHttpOutputWithContext(ctx context.Context) GetVirtualNodeSpecListenerConnectionPoolHttpOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetVirtualNodeSpecListenerConnectionPoolHttpOutput) } -// GetRouteSpecTcpRouteActionWeightedTargetArrayInput is an input type that accepts GetRouteSpecTcpRouteActionWeightedTargetArray and GetRouteSpecTcpRouteActionWeightedTargetArrayOutput values. -// You can construct a concrete instance of `GetRouteSpecTcpRouteActionWeightedTargetArrayInput` via: +// GetVirtualNodeSpecListenerConnectionPoolHttpArrayInput is an input type that accepts GetVirtualNodeSpecListenerConnectionPoolHttpArray and GetVirtualNodeSpecListenerConnectionPoolHttpArrayOutput values. +// You can construct a concrete instance of `GetVirtualNodeSpecListenerConnectionPoolHttpArrayInput` via: // -// GetRouteSpecTcpRouteActionWeightedTargetArray{ GetRouteSpecTcpRouteActionWeightedTargetArgs{...} } -type GetRouteSpecTcpRouteActionWeightedTargetArrayInput interface { +// GetVirtualNodeSpecListenerConnectionPoolHttpArray{ GetVirtualNodeSpecListenerConnectionPoolHttpArgs{...} } +type GetVirtualNodeSpecListenerConnectionPoolHttpArrayInput interface { pulumi.Input - ToGetRouteSpecTcpRouteActionWeightedTargetArrayOutput() GetRouteSpecTcpRouteActionWeightedTargetArrayOutput - ToGetRouteSpecTcpRouteActionWeightedTargetArrayOutputWithContext(context.Context) GetRouteSpecTcpRouteActionWeightedTargetArrayOutput + ToGetVirtualNodeSpecListenerConnectionPoolHttpArrayOutput() GetVirtualNodeSpecListenerConnectionPoolHttpArrayOutput + ToGetVirtualNodeSpecListenerConnectionPoolHttpArrayOutputWithContext(context.Context) GetVirtualNodeSpecListenerConnectionPoolHttpArrayOutput } -type GetRouteSpecTcpRouteActionWeightedTargetArray []GetRouteSpecTcpRouteActionWeightedTargetInput +type GetVirtualNodeSpecListenerConnectionPoolHttpArray []GetVirtualNodeSpecListenerConnectionPoolHttpInput -func (GetRouteSpecTcpRouteActionWeightedTargetArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetRouteSpecTcpRouteActionWeightedTarget)(nil)).Elem() +func (GetVirtualNodeSpecListenerConnectionPoolHttpArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetVirtualNodeSpecListenerConnectionPoolHttp)(nil)).Elem() } -func (i GetRouteSpecTcpRouteActionWeightedTargetArray) ToGetRouteSpecTcpRouteActionWeightedTargetArrayOutput() GetRouteSpecTcpRouteActionWeightedTargetArrayOutput { - return i.ToGetRouteSpecTcpRouteActionWeightedTargetArrayOutputWithContext(context.Background()) +func (i GetVirtualNodeSpecListenerConnectionPoolHttpArray) ToGetVirtualNodeSpecListenerConnectionPoolHttpArrayOutput() GetVirtualNodeSpecListenerConnectionPoolHttpArrayOutput { + return i.ToGetVirtualNodeSpecListenerConnectionPoolHttpArrayOutputWithContext(context.Background()) } -func (i GetRouteSpecTcpRouteActionWeightedTargetArray) ToGetRouteSpecTcpRouteActionWeightedTargetArrayOutputWithContext(ctx context.Context) GetRouteSpecTcpRouteActionWeightedTargetArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetRouteSpecTcpRouteActionWeightedTargetArrayOutput) +func (i GetVirtualNodeSpecListenerConnectionPoolHttpArray) ToGetVirtualNodeSpecListenerConnectionPoolHttpArrayOutputWithContext(ctx context.Context) GetVirtualNodeSpecListenerConnectionPoolHttpArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetVirtualNodeSpecListenerConnectionPoolHttpArrayOutput) } -type GetRouteSpecTcpRouteActionWeightedTargetOutput struct{ *pulumi.OutputState } +type GetVirtualNodeSpecListenerConnectionPoolHttpOutput struct{ *pulumi.OutputState } -func (GetRouteSpecTcpRouteActionWeightedTargetOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetRouteSpecTcpRouteActionWeightedTarget)(nil)).Elem() +func (GetVirtualNodeSpecListenerConnectionPoolHttpOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetVirtualNodeSpecListenerConnectionPoolHttp)(nil)).Elem() } -func (o GetRouteSpecTcpRouteActionWeightedTargetOutput) ToGetRouteSpecTcpRouteActionWeightedTargetOutput() GetRouteSpecTcpRouteActionWeightedTargetOutput { +func (o GetVirtualNodeSpecListenerConnectionPoolHttpOutput) ToGetVirtualNodeSpecListenerConnectionPoolHttpOutput() GetVirtualNodeSpecListenerConnectionPoolHttpOutput { return o } -func (o GetRouteSpecTcpRouteActionWeightedTargetOutput) ToGetRouteSpecTcpRouteActionWeightedTargetOutputWithContext(ctx context.Context) GetRouteSpecTcpRouteActionWeightedTargetOutput { +func (o GetVirtualNodeSpecListenerConnectionPoolHttpOutput) ToGetVirtualNodeSpecListenerConnectionPoolHttpOutputWithContext(ctx context.Context) GetVirtualNodeSpecListenerConnectionPoolHttpOutput { return o } -func (o GetRouteSpecTcpRouteActionWeightedTargetOutput) Port() pulumi.IntOutput { - return o.ApplyT(func(v GetRouteSpecTcpRouteActionWeightedTarget) int { return v.Port }).(pulumi.IntOutput) -} - -func (o GetRouteSpecTcpRouteActionWeightedTargetOutput) VirtualNode() pulumi.StringOutput { - return o.ApplyT(func(v GetRouteSpecTcpRouteActionWeightedTarget) string { return v.VirtualNode }).(pulumi.StringOutput) +func (o GetVirtualNodeSpecListenerConnectionPoolHttpOutput) MaxConnections() pulumi.IntOutput { + return o.ApplyT(func(v GetVirtualNodeSpecListenerConnectionPoolHttp) int { return v.MaxConnections }).(pulumi.IntOutput) } -func (o GetRouteSpecTcpRouteActionWeightedTargetOutput) Weight() pulumi.IntOutput { - return o.ApplyT(func(v GetRouteSpecTcpRouteActionWeightedTarget) int { return v.Weight }).(pulumi.IntOutput) +func (o GetVirtualNodeSpecListenerConnectionPoolHttpOutput) MaxPendingRequests() pulumi.IntOutput { + return o.ApplyT(func(v GetVirtualNodeSpecListenerConnectionPoolHttp) int { return v.MaxPendingRequests }).(pulumi.IntOutput) } -type GetRouteSpecTcpRouteActionWeightedTargetArrayOutput struct{ *pulumi.OutputState } +type GetVirtualNodeSpecListenerConnectionPoolHttpArrayOutput struct{ *pulumi.OutputState } -func (GetRouteSpecTcpRouteActionWeightedTargetArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetRouteSpecTcpRouteActionWeightedTarget)(nil)).Elem() +func (GetVirtualNodeSpecListenerConnectionPoolHttpArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetVirtualNodeSpecListenerConnectionPoolHttp)(nil)).Elem() } -func (o GetRouteSpecTcpRouteActionWeightedTargetArrayOutput) ToGetRouteSpecTcpRouteActionWeightedTargetArrayOutput() GetRouteSpecTcpRouteActionWeightedTargetArrayOutput { +func (o GetVirtualNodeSpecListenerConnectionPoolHttpArrayOutput) ToGetVirtualNodeSpecListenerConnectionPoolHttpArrayOutput() GetVirtualNodeSpecListenerConnectionPoolHttpArrayOutput { return o } -func (o GetRouteSpecTcpRouteActionWeightedTargetArrayOutput) ToGetRouteSpecTcpRouteActionWeightedTargetArrayOutputWithContext(ctx context.Context) GetRouteSpecTcpRouteActionWeightedTargetArrayOutput { +func (o GetVirtualNodeSpecListenerConnectionPoolHttpArrayOutput) ToGetVirtualNodeSpecListenerConnectionPoolHttpArrayOutputWithContext(ctx context.Context) GetVirtualNodeSpecListenerConnectionPoolHttpArrayOutput { return o } -func (o GetRouteSpecTcpRouteActionWeightedTargetArrayOutput) Index(i pulumi.IntInput) GetRouteSpecTcpRouteActionWeightedTargetOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetRouteSpecTcpRouteActionWeightedTarget { - return vs[0].([]GetRouteSpecTcpRouteActionWeightedTarget)[vs[1].(int)] - }).(GetRouteSpecTcpRouteActionWeightedTargetOutput) +func (o GetVirtualNodeSpecListenerConnectionPoolHttpArrayOutput) Index(i pulumi.IntInput) GetVirtualNodeSpecListenerConnectionPoolHttpOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetVirtualNodeSpecListenerConnectionPoolHttp { + return vs[0].([]GetVirtualNodeSpecListenerConnectionPoolHttp)[vs[1].(int)] + }).(GetVirtualNodeSpecListenerConnectionPoolHttpOutput) } -type GetRouteSpecTcpRouteMatch struct { - Port int `pulumi:"port"` +type GetVirtualNodeSpecListenerConnectionPoolTcp struct { + MaxConnections int `pulumi:"maxConnections"` } -// GetRouteSpecTcpRouteMatchInput is an input type that accepts GetRouteSpecTcpRouteMatchArgs and GetRouteSpecTcpRouteMatchOutput values. -// You can construct a concrete instance of `GetRouteSpecTcpRouteMatchInput` via: +// GetVirtualNodeSpecListenerConnectionPoolTcpInput is an input type that accepts GetVirtualNodeSpecListenerConnectionPoolTcpArgs and GetVirtualNodeSpecListenerConnectionPoolTcpOutput values. +// You can construct a concrete instance of `GetVirtualNodeSpecListenerConnectionPoolTcpInput` via: // -// GetRouteSpecTcpRouteMatchArgs{...} -type GetRouteSpecTcpRouteMatchInput interface { +// GetVirtualNodeSpecListenerConnectionPoolTcpArgs{...} +type GetVirtualNodeSpecListenerConnectionPoolTcpInput interface { pulumi.Input - ToGetRouteSpecTcpRouteMatchOutput() GetRouteSpecTcpRouteMatchOutput - ToGetRouteSpecTcpRouteMatchOutputWithContext(context.Context) GetRouteSpecTcpRouteMatchOutput + ToGetVirtualNodeSpecListenerConnectionPoolTcpOutput() GetVirtualNodeSpecListenerConnectionPoolTcpOutput + ToGetVirtualNodeSpecListenerConnectionPoolTcpOutputWithContext(context.Context) GetVirtualNodeSpecListenerConnectionPoolTcpOutput } -type GetRouteSpecTcpRouteMatchArgs struct { - Port pulumi.IntInput `pulumi:"port"` +type GetVirtualNodeSpecListenerConnectionPoolTcpArgs struct { + MaxConnections pulumi.IntInput `pulumi:"maxConnections"` } -func (GetRouteSpecTcpRouteMatchArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetRouteSpecTcpRouteMatch)(nil)).Elem() +func (GetVirtualNodeSpecListenerConnectionPoolTcpArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetVirtualNodeSpecListenerConnectionPoolTcp)(nil)).Elem() } -func (i GetRouteSpecTcpRouteMatchArgs) ToGetRouteSpecTcpRouteMatchOutput() GetRouteSpecTcpRouteMatchOutput { - return i.ToGetRouteSpecTcpRouteMatchOutputWithContext(context.Background()) +func (i GetVirtualNodeSpecListenerConnectionPoolTcpArgs) ToGetVirtualNodeSpecListenerConnectionPoolTcpOutput() GetVirtualNodeSpecListenerConnectionPoolTcpOutput { + return i.ToGetVirtualNodeSpecListenerConnectionPoolTcpOutputWithContext(context.Background()) } -func (i GetRouteSpecTcpRouteMatchArgs) ToGetRouteSpecTcpRouteMatchOutputWithContext(ctx context.Context) GetRouteSpecTcpRouteMatchOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetRouteSpecTcpRouteMatchOutput) +func (i GetVirtualNodeSpecListenerConnectionPoolTcpArgs) ToGetVirtualNodeSpecListenerConnectionPoolTcpOutputWithContext(ctx context.Context) GetVirtualNodeSpecListenerConnectionPoolTcpOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetVirtualNodeSpecListenerConnectionPoolTcpOutput) } -// GetRouteSpecTcpRouteMatchArrayInput is an input type that accepts GetRouteSpecTcpRouteMatchArray and GetRouteSpecTcpRouteMatchArrayOutput values. -// You can construct a concrete instance of `GetRouteSpecTcpRouteMatchArrayInput` via: +// GetVirtualNodeSpecListenerConnectionPoolTcpArrayInput is an input type that accepts GetVirtualNodeSpecListenerConnectionPoolTcpArray and GetVirtualNodeSpecListenerConnectionPoolTcpArrayOutput values. +// You can construct a concrete instance of `GetVirtualNodeSpecListenerConnectionPoolTcpArrayInput` via: // -// GetRouteSpecTcpRouteMatchArray{ GetRouteSpecTcpRouteMatchArgs{...} } -type GetRouteSpecTcpRouteMatchArrayInput interface { +// GetVirtualNodeSpecListenerConnectionPoolTcpArray{ GetVirtualNodeSpecListenerConnectionPoolTcpArgs{...} } +type GetVirtualNodeSpecListenerConnectionPoolTcpArrayInput interface { pulumi.Input - ToGetRouteSpecTcpRouteMatchArrayOutput() GetRouteSpecTcpRouteMatchArrayOutput - ToGetRouteSpecTcpRouteMatchArrayOutputWithContext(context.Context) GetRouteSpecTcpRouteMatchArrayOutput + ToGetVirtualNodeSpecListenerConnectionPoolTcpArrayOutput() GetVirtualNodeSpecListenerConnectionPoolTcpArrayOutput + ToGetVirtualNodeSpecListenerConnectionPoolTcpArrayOutputWithContext(context.Context) GetVirtualNodeSpecListenerConnectionPoolTcpArrayOutput } -type GetRouteSpecTcpRouteMatchArray []GetRouteSpecTcpRouteMatchInput +type GetVirtualNodeSpecListenerConnectionPoolTcpArray []GetVirtualNodeSpecListenerConnectionPoolTcpInput -func (GetRouteSpecTcpRouteMatchArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetRouteSpecTcpRouteMatch)(nil)).Elem() +func (GetVirtualNodeSpecListenerConnectionPoolTcpArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetVirtualNodeSpecListenerConnectionPoolTcp)(nil)).Elem() } -func (i GetRouteSpecTcpRouteMatchArray) ToGetRouteSpecTcpRouteMatchArrayOutput() GetRouteSpecTcpRouteMatchArrayOutput { - return i.ToGetRouteSpecTcpRouteMatchArrayOutputWithContext(context.Background()) +func (i GetVirtualNodeSpecListenerConnectionPoolTcpArray) ToGetVirtualNodeSpecListenerConnectionPoolTcpArrayOutput() GetVirtualNodeSpecListenerConnectionPoolTcpArrayOutput { + return i.ToGetVirtualNodeSpecListenerConnectionPoolTcpArrayOutputWithContext(context.Background()) } -func (i GetRouteSpecTcpRouteMatchArray) ToGetRouteSpecTcpRouteMatchArrayOutputWithContext(ctx context.Context) GetRouteSpecTcpRouteMatchArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetRouteSpecTcpRouteMatchArrayOutput) +func (i GetVirtualNodeSpecListenerConnectionPoolTcpArray) ToGetVirtualNodeSpecListenerConnectionPoolTcpArrayOutputWithContext(ctx context.Context) GetVirtualNodeSpecListenerConnectionPoolTcpArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetVirtualNodeSpecListenerConnectionPoolTcpArrayOutput) } -type GetRouteSpecTcpRouteMatchOutput struct{ *pulumi.OutputState } +type GetVirtualNodeSpecListenerConnectionPoolTcpOutput struct{ *pulumi.OutputState } -func (GetRouteSpecTcpRouteMatchOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetRouteSpecTcpRouteMatch)(nil)).Elem() +func (GetVirtualNodeSpecListenerConnectionPoolTcpOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetVirtualNodeSpecListenerConnectionPoolTcp)(nil)).Elem() } -func (o GetRouteSpecTcpRouteMatchOutput) ToGetRouteSpecTcpRouteMatchOutput() GetRouteSpecTcpRouteMatchOutput { +func (o GetVirtualNodeSpecListenerConnectionPoolTcpOutput) ToGetVirtualNodeSpecListenerConnectionPoolTcpOutput() GetVirtualNodeSpecListenerConnectionPoolTcpOutput { return o } -func (o GetRouteSpecTcpRouteMatchOutput) ToGetRouteSpecTcpRouteMatchOutputWithContext(ctx context.Context) GetRouteSpecTcpRouteMatchOutput { +func (o GetVirtualNodeSpecListenerConnectionPoolTcpOutput) ToGetVirtualNodeSpecListenerConnectionPoolTcpOutputWithContext(ctx context.Context) GetVirtualNodeSpecListenerConnectionPoolTcpOutput { return o } -func (o GetRouteSpecTcpRouteMatchOutput) Port() pulumi.IntOutput { - return o.ApplyT(func(v GetRouteSpecTcpRouteMatch) int { return v.Port }).(pulumi.IntOutput) +func (o GetVirtualNodeSpecListenerConnectionPoolTcpOutput) MaxConnections() pulumi.IntOutput { + return o.ApplyT(func(v GetVirtualNodeSpecListenerConnectionPoolTcp) int { return v.MaxConnections }).(pulumi.IntOutput) } -type GetRouteSpecTcpRouteMatchArrayOutput struct{ *pulumi.OutputState } +type GetVirtualNodeSpecListenerConnectionPoolTcpArrayOutput struct{ *pulumi.OutputState } -func (GetRouteSpecTcpRouteMatchArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetRouteSpecTcpRouteMatch)(nil)).Elem() +func (GetVirtualNodeSpecListenerConnectionPoolTcpArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetVirtualNodeSpecListenerConnectionPoolTcp)(nil)).Elem() } -func (o GetRouteSpecTcpRouteMatchArrayOutput) ToGetRouteSpecTcpRouteMatchArrayOutput() GetRouteSpecTcpRouteMatchArrayOutput { +func (o GetVirtualNodeSpecListenerConnectionPoolTcpArrayOutput) ToGetVirtualNodeSpecListenerConnectionPoolTcpArrayOutput() GetVirtualNodeSpecListenerConnectionPoolTcpArrayOutput { return o } -func (o GetRouteSpecTcpRouteMatchArrayOutput) ToGetRouteSpecTcpRouteMatchArrayOutputWithContext(ctx context.Context) GetRouteSpecTcpRouteMatchArrayOutput { +func (o GetVirtualNodeSpecListenerConnectionPoolTcpArrayOutput) ToGetVirtualNodeSpecListenerConnectionPoolTcpArrayOutputWithContext(ctx context.Context) GetVirtualNodeSpecListenerConnectionPoolTcpArrayOutput { return o } -func (o GetRouteSpecTcpRouteMatchArrayOutput) Index(i pulumi.IntInput) GetRouteSpecTcpRouteMatchOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetRouteSpecTcpRouteMatch { - return vs[0].([]GetRouteSpecTcpRouteMatch)[vs[1].(int)] - }).(GetRouteSpecTcpRouteMatchOutput) +func (o GetVirtualNodeSpecListenerConnectionPoolTcpArrayOutput) Index(i pulumi.IntInput) GetVirtualNodeSpecListenerConnectionPoolTcpOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetVirtualNodeSpecListenerConnectionPoolTcp { + return vs[0].([]GetVirtualNodeSpecListenerConnectionPoolTcp)[vs[1].(int)] + }).(GetVirtualNodeSpecListenerConnectionPoolTcpOutput) } -type GetRouteSpecTcpRouteTimeout struct { - Idles []GetRouteSpecTcpRouteTimeoutIdle `pulumi:"idles"` +type GetVirtualNodeSpecListenerHealthCheck struct { + HealthyThreshold int `pulumi:"healthyThreshold"` + IntervalMillis int `pulumi:"intervalMillis"` + Path string `pulumi:"path"` + Port int `pulumi:"port"` + Protocol string `pulumi:"protocol"` + TimeoutMillis int `pulumi:"timeoutMillis"` + UnhealthyThreshold int `pulumi:"unhealthyThreshold"` } -// GetRouteSpecTcpRouteTimeoutInput is an input type that accepts GetRouteSpecTcpRouteTimeoutArgs and GetRouteSpecTcpRouteTimeoutOutput values. -// You can construct a concrete instance of `GetRouteSpecTcpRouteTimeoutInput` via: +// GetVirtualNodeSpecListenerHealthCheckInput is an input type that accepts GetVirtualNodeSpecListenerHealthCheckArgs and GetVirtualNodeSpecListenerHealthCheckOutput values. +// You can construct a concrete instance of `GetVirtualNodeSpecListenerHealthCheckInput` via: // -// GetRouteSpecTcpRouteTimeoutArgs{...} -type GetRouteSpecTcpRouteTimeoutInput interface { +// GetVirtualNodeSpecListenerHealthCheckArgs{...} +type GetVirtualNodeSpecListenerHealthCheckInput interface { pulumi.Input - ToGetRouteSpecTcpRouteTimeoutOutput() GetRouteSpecTcpRouteTimeoutOutput - ToGetRouteSpecTcpRouteTimeoutOutputWithContext(context.Context) GetRouteSpecTcpRouteTimeoutOutput + ToGetVirtualNodeSpecListenerHealthCheckOutput() GetVirtualNodeSpecListenerHealthCheckOutput + ToGetVirtualNodeSpecListenerHealthCheckOutputWithContext(context.Context) GetVirtualNodeSpecListenerHealthCheckOutput } -type GetRouteSpecTcpRouteTimeoutArgs struct { - Idles GetRouteSpecTcpRouteTimeoutIdleArrayInput `pulumi:"idles"` +type GetVirtualNodeSpecListenerHealthCheckArgs struct { + HealthyThreshold pulumi.IntInput `pulumi:"healthyThreshold"` + IntervalMillis pulumi.IntInput `pulumi:"intervalMillis"` + Path pulumi.StringInput `pulumi:"path"` + Port pulumi.IntInput `pulumi:"port"` + Protocol pulumi.StringInput `pulumi:"protocol"` + TimeoutMillis pulumi.IntInput `pulumi:"timeoutMillis"` + UnhealthyThreshold pulumi.IntInput `pulumi:"unhealthyThreshold"` } -func (GetRouteSpecTcpRouteTimeoutArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetRouteSpecTcpRouteTimeout)(nil)).Elem() +func (GetVirtualNodeSpecListenerHealthCheckArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetVirtualNodeSpecListenerHealthCheck)(nil)).Elem() } -func (i GetRouteSpecTcpRouteTimeoutArgs) ToGetRouteSpecTcpRouteTimeoutOutput() GetRouteSpecTcpRouteTimeoutOutput { - return i.ToGetRouteSpecTcpRouteTimeoutOutputWithContext(context.Background()) +func (i GetVirtualNodeSpecListenerHealthCheckArgs) ToGetVirtualNodeSpecListenerHealthCheckOutput() GetVirtualNodeSpecListenerHealthCheckOutput { + return i.ToGetVirtualNodeSpecListenerHealthCheckOutputWithContext(context.Background()) } -func (i GetRouteSpecTcpRouteTimeoutArgs) ToGetRouteSpecTcpRouteTimeoutOutputWithContext(ctx context.Context) GetRouteSpecTcpRouteTimeoutOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetRouteSpecTcpRouteTimeoutOutput) +func (i GetVirtualNodeSpecListenerHealthCheckArgs) ToGetVirtualNodeSpecListenerHealthCheckOutputWithContext(ctx context.Context) GetVirtualNodeSpecListenerHealthCheckOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetVirtualNodeSpecListenerHealthCheckOutput) } -// GetRouteSpecTcpRouteTimeoutArrayInput is an input type that accepts GetRouteSpecTcpRouteTimeoutArray and GetRouteSpecTcpRouteTimeoutArrayOutput values. -// You can construct a concrete instance of `GetRouteSpecTcpRouteTimeoutArrayInput` via: +// GetVirtualNodeSpecListenerHealthCheckArrayInput is an input type that accepts GetVirtualNodeSpecListenerHealthCheckArray and GetVirtualNodeSpecListenerHealthCheckArrayOutput values. +// You can construct a concrete instance of `GetVirtualNodeSpecListenerHealthCheckArrayInput` via: // -// GetRouteSpecTcpRouteTimeoutArray{ GetRouteSpecTcpRouteTimeoutArgs{...} } -type GetRouteSpecTcpRouteTimeoutArrayInput interface { +// GetVirtualNodeSpecListenerHealthCheckArray{ GetVirtualNodeSpecListenerHealthCheckArgs{...} } +type GetVirtualNodeSpecListenerHealthCheckArrayInput interface { pulumi.Input - ToGetRouteSpecTcpRouteTimeoutArrayOutput() GetRouteSpecTcpRouteTimeoutArrayOutput - ToGetRouteSpecTcpRouteTimeoutArrayOutputWithContext(context.Context) GetRouteSpecTcpRouteTimeoutArrayOutput + ToGetVirtualNodeSpecListenerHealthCheckArrayOutput() GetVirtualNodeSpecListenerHealthCheckArrayOutput + ToGetVirtualNodeSpecListenerHealthCheckArrayOutputWithContext(context.Context) GetVirtualNodeSpecListenerHealthCheckArrayOutput } -type GetRouteSpecTcpRouteTimeoutArray []GetRouteSpecTcpRouteTimeoutInput +type GetVirtualNodeSpecListenerHealthCheckArray []GetVirtualNodeSpecListenerHealthCheckInput -func (GetRouteSpecTcpRouteTimeoutArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetRouteSpecTcpRouteTimeout)(nil)).Elem() +func (GetVirtualNodeSpecListenerHealthCheckArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetVirtualNodeSpecListenerHealthCheck)(nil)).Elem() } -func (i GetRouteSpecTcpRouteTimeoutArray) ToGetRouteSpecTcpRouteTimeoutArrayOutput() GetRouteSpecTcpRouteTimeoutArrayOutput { - return i.ToGetRouteSpecTcpRouteTimeoutArrayOutputWithContext(context.Background()) +func (i GetVirtualNodeSpecListenerHealthCheckArray) ToGetVirtualNodeSpecListenerHealthCheckArrayOutput() GetVirtualNodeSpecListenerHealthCheckArrayOutput { + return i.ToGetVirtualNodeSpecListenerHealthCheckArrayOutputWithContext(context.Background()) } -func (i GetRouteSpecTcpRouteTimeoutArray) ToGetRouteSpecTcpRouteTimeoutArrayOutputWithContext(ctx context.Context) GetRouteSpecTcpRouteTimeoutArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetRouteSpecTcpRouteTimeoutArrayOutput) +func (i GetVirtualNodeSpecListenerHealthCheckArray) ToGetVirtualNodeSpecListenerHealthCheckArrayOutputWithContext(ctx context.Context) GetVirtualNodeSpecListenerHealthCheckArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetVirtualNodeSpecListenerHealthCheckArrayOutput) } -type GetRouteSpecTcpRouteTimeoutOutput struct{ *pulumi.OutputState } +type GetVirtualNodeSpecListenerHealthCheckOutput struct{ *pulumi.OutputState } -func (GetRouteSpecTcpRouteTimeoutOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetRouteSpecTcpRouteTimeout)(nil)).Elem() +func (GetVirtualNodeSpecListenerHealthCheckOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetVirtualNodeSpecListenerHealthCheck)(nil)).Elem() } -func (o GetRouteSpecTcpRouteTimeoutOutput) ToGetRouteSpecTcpRouteTimeoutOutput() GetRouteSpecTcpRouteTimeoutOutput { +func (o GetVirtualNodeSpecListenerHealthCheckOutput) ToGetVirtualNodeSpecListenerHealthCheckOutput() GetVirtualNodeSpecListenerHealthCheckOutput { return o } -func (o GetRouteSpecTcpRouteTimeoutOutput) ToGetRouteSpecTcpRouteTimeoutOutputWithContext(ctx context.Context) GetRouteSpecTcpRouteTimeoutOutput { +func (o GetVirtualNodeSpecListenerHealthCheckOutput) ToGetVirtualNodeSpecListenerHealthCheckOutputWithContext(ctx context.Context) GetVirtualNodeSpecListenerHealthCheckOutput { return o } -func (o GetRouteSpecTcpRouteTimeoutOutput) Idles() GetRouteSpecTcpRouteTimeoutIdleArrayOutput { - return o.ApplyT(func(v GetRouteSpecTcpRouteTimeout) []GetRouteSpecTcpRouteTimeoutIdle { return v.Idles }).(GetRouteSpecTcpRouteTimeoutIdleArrayOutput) +func (o GetVirtualNodeSpecListenerHealthCheckOutput) HealthyThreshold() pulumi.IntOutput { + return o.ApplyT(func(v GetVirtualNodeSpecListenerHealthCheck) int { return v.HealthyThreshold }).(pulumi.IntOutput) } -type GetRouteSpecTcpRouteTimeoutArrayOutput struct{ *pulumi.OutputState } +func (o GetVirtualNodeSpecListenerHealthCheckOutput) IntervalMillis() pulumi.IntOutput { + return o.ApplyT(func(v GetVirtualNodeSpecListenerHealthCheck) int { return v.IntervalMillis }).(pulumi.IntOutput) +} -func (GetRouteSpecTcpRouteTimeoutArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetRouteSpecTcpRouteTimeout)(nil)).Elem() +func (o GetVirtualNodeSpecListenerHealthCheckOutput) Path() pulumi.StringOutput { + return o.ApplyT(func(v GetVirtualNodeSpecListenerHealthCheck) string { return v.Path }).(pulumi.StringOutput) } -func (o GetRouteSpecTcpRouteTimeoutArrayOutput) ToGetRouteSpecTcpRouteTimeoutArrayOutput() GetRouteSpecTcpRouteTimeoutArrayOutput { +func (o GetVirtualNodeSpecListenerHealthCheckOutput) Port() pulumi.IntOutput { + return o.ApplyT(func(v GetVirtualNodeSpecListenerHealthCheck) int { return v.Port }).(pulumi.IntOutput) +} + +func (o GetVirtualNodeSpecListenerHealthCheckOutput) Protocol() pulumi.StringOutput { + return o.ApplyT(func(v GetVirtualNodeSpecListenerHealthCheck) string { return v.Protocol }).(pulumi.StringOutput) +} + +func (o GetVirtualNodeSpecListenerHealthCheckOutput) TimeoutMillis() pulumi.IntOutput { + return o.ApplyT(func(v GetVirtualNodeSpecListenerHealthCheck) int { return v.TimeoutMillis }).(pulumi.IntOutput) +} + +func (o GetVirtualNodeSpecListenerHealthCheckOutput) UnhealthyThreshold() pulumi.IntOutput { + return o.ApplyT(func(v GetVirtualNodeSpecListenerHealthCheck) int { return v.UnhealthyThreshold }).(pulumi.IntOutput) +} + +type GetVirtualNodeSpecListenerHealthCheckArrayOutput struct{ *pulumi.OutputState } + +func (GetVirtualNodeSpecListenerHealthCheckArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetVirtualNodeSpecListenerHealthCheck)(nil)).Elem() +} + +func (o GetVirtualNodeSpecListenerHealthCheckArrayOutput) ToGetVirtualNodeSpecListenerHealthCheckArrayOutput() GetVirtualNodeSpecListenerHealthCheckArrayOutput { return o } -func (o GetRouteSpecTcpRouteTimeoutArrayOutput) ToGetRouteSpecTcpRouteTimeoutArrayOutputWithContext(ctx context.Context) GetRouteSpecTcpRouteTimeoutArrayOutput { +func (o GetVirtualNodeSpecListenerHealthCheckArrayOutput) ToGetVirtualNodeSpecListenerHealthCheckArrayOutputWithContext(ctx context.Context) GetVirtualNodeSpecListenerHealthCheckArrayOutput { return o } -func (o GetRouteSpecTcpRouteTimeoutArrayOutput) Index(i pulumi.IntInput) GetRouteSpecTcpRouteTimeoutOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetRouteSpecTcpRouteTimeout { - return vs[0].([]GetRouteSpecTcpRouteTimeout)[vs[1].(int)] - }).(GetRouteSpecTcpRouteTimeoutOutput) +func (o GetVirtualNodeSpecListenerHealthCheckArrayOutput) Index(i pulumi.IntInput) GetVirtualNodeSpecListenerHealthCheckOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetVirtualNodeSpecListenerHealthCheck { + return vs[0].([]GetVirtualNodeSpecListenerHealthCheck)[vs[1].(int)] + }).(GetVirtualNodeSpecListenerHealthCheckOutput) } -type GetRouteSpecTcpRouteTimeoutIdle struct { - Unit string `pulumi:"unit"` - Value int `pulumi:"value"` +type GetVirtualNodeSpecListenerOutlierDetection struct { + BaseEjectionDurations []GetVirtualNodeSpecListenerOutlierDetectionBaseEjectionDuration `pulumi:"baseEjectionDurations"` + Intervals []GetVirtualNodeSpecListenerOutlierDetectionInterval `pulumi:"intervals"` + MaxEjectionPercent int `pulumi:"maxEjectionPercent"` + MaxServerErrors int `pulumi:"maxServerErrors"` } -// GetRouteSpecTcpRouteTimeoutIdleInput is an input type that accepts GetRouteSpecTcpRouteTimeoutIdleArgs and GetRouteSpecTcpRouteTimeoutIdleOutput values. -// You can construct a concrete instance of `GetRouteSpecTcpRouteTimeoutIdleInput` via: +// GetVirtualNodeSpecListenerOutlierDetectionInput is an input type that accepts GetVirtualNodeSpecListenerOutlierDetectionArgs and GetVirtualNodeSpecListenerOutlierDetectionOutput values. +// You can construct a concrete instance of `GetVirtualNodeSpecListenerOutlierDetectionInput` via: // -// GetRouteSpecTcpRouteTimeoutIdleArgs{...} -type GetRouteSpecTcpRouteTimeoutIdleInput interface { +// GetVirtualNodeSpecListenerOutlierDetectionArgs{...} +type GetVirtualNodeSpecListenerOutlierDetectionInput interface { pulumi.Input - ToGetRouteSpecTcpRouteTimeoutIdleOutput() GetRouteSpecTcpRouteTimeoutIdleOutput - ToGetRouteSpecTcpRouteTimeoutIdleOutputWithContext(context.Context) GetRouteSpecTcpRouteTimeoutIdleOutput + ToGetVirtualNodeSpecListenerOutlierDetectionOutput() GetVirtualNodeSpecListenerOutlierDetectionOutput + ToGetVirtualNodeSpecListenerOutlierDetectionOutputWithContext(context.Context) GetVirtualNodeSpecListenerOutlierDetectionOutput } -type GetRouteSpecTcpRouteTimeoutIdleArgs struct { - Unit pulumi.StringInput `pulumi:"unit"` - Value pulumi.IntInput `pulumi:"value"` +type GetVirtualNodeSpecListenerOutlierDetectionArgs struct { + BaseEjectionDurations GetVirtualNodeSpecListenerOutlierDetectionBaseEjectionDurationArrayInput `pulumi:"baseEjectionDurations"` + Intervals GetVirtualNodeSpecListenerOutlierDetectionIntervalArrayInput `pulumi:"intervals"` + MaxEjectionPercent pulumi.IntInput `pulumi:"maxEjectionPercent"` + MaxServerErrors pulumi.IntInput `pulumi:"maxServerErrors"` } -func (GetRouteSpecTcpRouteTimeoutIdleArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetRouteSpecTcpRouteTimeoutIdle)(nil)).Elem() +func (GetVirtualNodeSpecListenerOutlierDetectionArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetVirtualNodeSpecListenerOutlierDetection)(nil)).Elem() } -func (i GetRouteSpecTcpRouteTimeoutIdleArgs) ToGetRouteSpecTcpRouteTimeoutIdleOutput() GetRouteSpecTcpRouteTimeoutIdleOutput { - return i.ToGetRouteSpecTcpRouteTimeoutIdleOutputWithContext(context.Background()) +func (i GetVirtualNodeSpecListenerOutlierDetectionArgs) ToGetVirtualNodeSpecListenerOutlierDetectionOutput() GetVirtualNodeSpecListenerOutlierDetectionOutput { + return i.ToGetVirtualNodeSpecListenerOutlierDetectionOutputWithContext(context.Background()) } -func (i GetRouteSpecTcpRouteTimeoutIdleArgs) ToGetRouteSpecTcpRouteTimeoutIdleOutputWithContext(ctx context.Context) GetRouteSpecTcpRouteTimeoutIdleOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetRouteSpecTcpRouteTimeoutIdleOutput) +func (i GetVirtualNodeSpecListenerOutlierDetectionArgs) ToGetVirtualNodeSpecListenerOutlierDetectionOutputWithContext(ctx context.Context) GetVirtualNodeSpecListenerOutlierDetectionOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetVirtualNodeSpecListenerOutlierDetectionOutput) } -// GetRouteSpecTcpRouteTimeoutIdleArrayInput is an input type that accepts GetRouteSpecTcpRouteTimeoutIdleArray and GetRouteSpecTcpRouteTimeoutIdleArrayOutput values. -// You can construct a concrete instance of `GetRouteSpecTcpRouteTimeoutIdleArrayInput` via: +// GetVirtualNodeSpecListenerOutlierDetectionArrayInput is an input type that accepts GetVirtualNodeSpecListenerOutlierDetectionArray and GetVirtualNodeSpecListenerOutlierDetectionArrayOutput values. +// You can construct a concrete instance of `GetVirtualNodeSpecListenerOutlierDetectionArrayInput` via: // -// GetRouteSpecTcpRouteTimeoutIdleArray{ GetRouteSpecTcpRouteTimeoutIdleArgs{...} } -type GetRouteSpecTcpRouteTimeoutIdleArrayInput interface { +// GetVirtualNodeSpecListenerOutlierDetectionArray{ GetVirtualNodeSpecListenerOutlierDetectionArgs{...} } +type GetVirtualNodeSpecListenerOutlierDetectionArrayInput interface { pulumi.Input - ToGetRouteSpecTcpRouteTimeoutIdleArrayOutput() GetRouteSpecTcpRouteTimeoutIdleArrayOutput - ToGetRouteSpecTcpRouteTimeoutIdleArrayOutputWithContext(context.Context) GetRouteSpecTcpRouteTimeoutIdleArrayOutput + ToGetVirtualNodeSpecListenerOutlierDetectionArrayOutput() GetVirtualNodeSpecListenerOutlierDetectionArrayOutput + ToGetVirtualNodeSpecListenerOutlierDetectionArrayOutputWithContext(context.Context) GetVirtualNodeSpecListenerOutlierDetectionArrayOutput } -type GetRouteSpecTcpRouteTimeoutIdleArray []GetRouteSpecTcpRouteTimeoutIdleInput +type GetVirtualNodeSpecListenerOutlierDetectionArray []GetVirtualNodeSpecListenerOutlierDetectionInput -func (GetRouteSpecTcpRouteTimeoutIdleArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetRouteSpecTcpRouteTimeoutIdle)(nil)).Elem() +func (GetVirtualNodeSpecListenerOutlierDetectionArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetVirtualNodeSpecListenerOutlierDetection)(nil)).Elem() } -func (i GetRouteSpecTcpRouteTimeoutIdleArray) ToGetRouteSpecTcpRouteTimeoutIdleArrayOutput() GetRouteSpecTcpRouteTimeoutIdleArrayOutput { - return i.ToGetRouteSpecTcpRouteTimeoutIdleArrayOutputWithContext(context.Background()) +func (i GetVirtualNodeSpecListenerOutlierDetectionArray) ToGetVirtualNodeSpecListenerOutlierDetectionArrayOutput() GetVirtualNodeSpecListenerOutlierDetectionArrayOutput { + return i.ToGetVirtualNodeSpecListenerOutlierDetectionArrayOutputWithContext(context.Background()) } -func (i GetRouteSpecTcpRouteTimeoutIdleArray) ToGetRouteSpecTcpRouteTimeoutIdleArrayOutputWithContext(ctx context.Context) GetRouteSpecTcpRouteTimeoutIdleArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetRouteSpecTcpRouteTimeoutIdleArrayOutput) +func (i GetVirtualNodeSpecListenerOutlierDetectionArray) ToGetVirtualNodeSpecListenerOutlierDetectionArrayOutputWithContext(ctx context.Context) GetVirtualNodeSpecListenerOutlierDetectionArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetVirtualNodeSpecListenerOutlierDetectionArrayOutput) } -type GetRouteSpecTcpRouteTimeoutIdleOutput struct{ *pulumi.OutputState } +type GetVirtualNodeSpecListenerOutlierDetectionOutput struct{ *pulumi.OutputState } -func (GetRouteSpecTcpRouteTimeoutIdleOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetRouteSpecTcpRouteTimeoutIdle)(nil)).Elem() +func (GetVirtualNodeSpecListenerOutlierDetectionOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetVirtualNodeSpecListenerOutlierDetection)(nil)).Elem() } -func (o GetRouteSpecTcpRouteTimeoutIdleOutput) ToGetRouteSpecTcpRouteTimeoutIdleOutput() GetRouteSpecTcpRouteTimeoutIdleOutput { +func (o GetVirtualNodeSpecListenerOutlierDetectionOutput) ToGetVirtualNodeSpecListenerOutlierDetectionOutput() GetVirtualNodeSpecListenerOutlierDetectionOutput { return o } -func (o GetRouteSpecTcpRouteTimeoutIdleOutput) ToGetRouteSpecTcpRouteTimeoutIdleOutputWithContext(ctx context.Context) GetRouteSpecTcpRouteTimeoutIdleOutput { +func (o GetVirtualNodeSpecListenerOutlierDetectionOutput) ToGetVirtualNodeSpecListenerOutlierDetectionOutputWithContext(ctx context.Context) GetVirtualNodeSpecListenerOutlierDetectionOutput { return o } -func (o GetRouteSpecTcpRouteTimeoutIdleOutput) Unit() pulumi.StringOutput { - return o.ApplyT(func(v GetRouteSpecTcpRouteTimeoutIdle) string { return v.Unit }).(pulumi.StringOutput) +func (o GetVirtualNodeSpecListenerOutlierDetectionOutput) BaseEjectionDurations() GetVirtualNodeSpecListenerOutlierDetectionBaseEjectionDurationArrayOutput { + return o.ApplyT(func(v GetVirtualNodeSpecListenerOutlierDetection) []GetVirtualNodeSpecListenerOutlierDetectionBaseEjectionDuration { + return v.BaseEjectionDurations + }).(GetVirtualNodeSpecListenerOutlierDetectionBaseEjectionDurationArrayOutput) } -func (o GetRouteSpecTcpRouteTimeoutIdleOutput) Value() pulumi.IntOutput { - return o.ApplyT(func(v GetRouteSpecTcpRouteTimeoutIdle) int { return v.Value }).(pulumi.IntOutput) +func (o GetVirtualNodeSpecListenerOutlierDetectionOutput) Intervals() GetVirtualNodeSpecListenerOutlierDetectionIntervalArrayOutput { + return o.ApplyT(func(v GetVirtualNodeSpecListenerOutlierDetection) []GetVirtualNodeSpecListenerOutlierDetectionInterval { + return v.Intervals + }).(GetVirtualNodeSpecListenerOutlierDetectionIntervalArrayOutput) } -type GetRouteSpecTcpRouteTimeoutIdleArrayOutput struct{ *pulumi.OutputState } +func (o GetVirtualNodeSpecListenerOutlierDetectionOutput) MaxEjectionPercent() pulumi.IntOutput { + return o.ApplyT(func(v GetVirtualNodeSpecListenerOutlierDetection) int { return v.MaxEjectionPercent }).(pulumi.IntOutput) +} -func (GetRouteSpecTcpRouteTimeoutIdleArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetRouteSpecTcpRouteTimeoutIdle)(nil)).Elem() +func (o GetVirtualNodeSpecListenerOutlierDetectionOutput) MaxServerErrors() pulumi.IntOutput { + return o.ApplyT(func(v GetVirtualNodeSpecListenerOutlierDetection) int { return v.MaxServerErrors }).(pulumi.IntOutput) } -func (o GetRouteSpecTcpRouteTimeoutIdleArrayOutput) ToGetRouteSpecTcpRouteTimeoutIdleArrayOutput() GetRouteSpecTcpRouteTimeoutIdleArrayOutput { +type GetVirtualNodeSpecListenerOutlierDetectionArrayOutput struct{ *pulumi.OutputState } + +func (GetVirtualNodeSpecListenerOutlierDetectionArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetVirtualNodeSpecListenerOutlierDetection)(nil)).Elem() +} + +func (o GetVirtualNodeSpecListenerOutlierDetectionArrayOutput) ToGetVirtualNodeSpecListenerOutlierDetectionArrayOutput() GetVirtualNodeSpecListenerOutlierDetectionArrayOutput { return o } -func (o GetRouteSpecTcpRouteTimeoutIdleArrayOutput) ToGetRouteSpecTcpRouteTimeoutIdleArrayOutputWithContext(ctx context.Context) GetRouteSpecTcpRouteTimeoutIdleArrayOutput { +func (o GetVirtualNodeSpecListenerOutlierDetectionArrayOutput) ToGetVirtualNodeSpecListenerOutlierDetectionArrayOutputWithContext(ctx context.Context) GetVirtualNodeSpecListenerOutlierDetectionArrayOutput { return o } -func (o GetRouteSpecTcpRouteTimeoutIdleArrayOutput) Index(i pulumi.IntInput) GetRouteSpecTcpRouteTimeoutIdleOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetRouteSpecTcpRouteTimeoutIdle { - return vs[0].([]GetRouteSpecTcpRouteTimeoutIdle)[vs[1].(int)] - }).(GetRouteSpecTcpRouteTimeoutIdleOutput) +func (o GetVirtualNodeSpecListenerOutlierDetectionArrayOutput) Index(i pulumi.IntInput) GetVirtualNodeSpecListenerOutlierDetectionOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetVirtualNodeSpecListenerOutlierDetection { + return vs[0].([]GetVirtualNodeSpecListenerOutlierDetection)[vs[1].(int)] + }).(GetVirtualNodeSpecListenerOutlierDetectionOutput) } -type GetVirtualGatewaySpec struct { - // Defaults for backends. - BackendDefaults []GetVirtualGatewaySpecBackendDefault `pulumi:"backendDefaults"` - // Listeners that the mesh endpoint is expected to receive inbound traffic from. You can specify one listener. - Listeners []GetVirtualGatewaySpecListener `pulumi:"listeners"` - // Inbound and outbound access logging information for the virtual gateway. - Loggings []GetVirtualGatewaySpecLogging `pulumi:"loggings"` +type GetVirtualNodeSpecListenerOutlierDetectionBaseEjectionDuration struct { + Unit string `pulumi:"unit"` + Value int `pulumi:"value"` } -// GetVirtualGatewaySpecInput is an input type that accepts GetVirtualGatewaySpecArgs and GetVirtualGatewaySpecOutput values. -// You can construct a concrete instance of `GetVirtualGatewaySpecInput` via: +// GetVirtualNodeSpecListenerOutlierDetectionBaseEjectionDurationInput is an input type that accepts GetVirtualNodeSpecListenerOutlierDetectionBaseEjectionDurationArgs and GetVirtualNodeSpecListenerOutlierDetectionBaseEjectionDurationOutput values. +// You can construct a concrete instance of `GetVirtualNodeSpecListenerOutlierDetectionBaseEjectionDurationInput` via: // -// GetVirtualGatewaySpecArgs{...} -type GetVirtualGatewaySpecInput interface { +// GetVirtualNodeSpecListenerOutlierDetectionBaseEjectionDurationArgs{...} +type GetVirtualNodeSpecListenerOutlierDetectionBaseEjectionDurationInput interface { pulumi.Input - ToGetVirtualGatewaySpecOutput() GetVirtualGatewaySpecOutput - ToGetVirtualGatewaySpecOutputWithContext(context.Context) GetVirtualGatewaySpecOutput + ToGetVirtualNodeSpecListenerOutlierDetectionBaseEjectionDurationOutput() GetVirtualNodeSpecListenerOutlierDetectionBaseEjectionDurationOutput + ToGetVirtualNodeSpecListenerOutlierDetectionBaseEjectionDurationOutputWithContext(context.Context) GetVirtualNodeSpecListenerOutlierDetectionBaseEjectionDurationOutput } -type GetVirtualGatewaySpecArgs struct { - // Defaults for backends. - BackendDefaults GetVirtualGatewaySpecBackendDefaultArrayInput `pulumi:"backendDefaults"` - // Listeners that the mesh endpoint is expected to receive inbound traffic from. You can specify one listener. - Listeners GetVirtualGatewaySpecListenerArrayInput `pulumi:"listeners"` - // Inbound and outbound access logging information for the virtual gateway. - Loggings GetVirtualGatewaySpecLoggingArrayInput `pulumi:"loggings"` +type GetVirtualNodeSpecListenerOutlierDetectionBaseEjectionDurationArgs struct { + Unit pulumi.StringInput `pulumi:"unit"` + Value pulumi.IntInput `pulumi:"value"` } -func (GetVirtualGatewaySpecArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetVirtualGatewaySpec)(nil)).Elem() +func (GetVirtualNodeSpecListenerOutlierDetectionBaseEjectionDurationArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetVirtualNodeSpecListenerOutlierDetectionBaseEjectionDuration)(nil)).Elem() } -func (i GetVirtualGatewaySpecArgs) ToGetVirtualGatewaySpecOutput() GetVirtualGatewaySpecOutput { - return i.ToGetVirtualGatewaySpecOutputWithContext(context.Background()) +func (i GetVirtualNodeSpecListenerOutlierDetectionBaseEjectionDurationArgs) ToGetVirtualNodeSpecListenerOutlierDetectionBaseEjectionDurationOutput() GetVirtualNodeSpecListenerOutlierDetectionBaseEjectionDurationOutput { + return i.ToGetVirtualNodeSpecListenerOutlierDetectionBaseEjectionDurationOutputWithContext(context.Background()) } -func (i GetVirtualGatewaySpecArgs) ToGetVirtualGatewaySpecOutputWithContext(ctx context.Context) GetVirtualGatewaySpecOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetVirtualGatewaySpecOutput) +func (i GetVirtualNodeSpecListenerOutlierDetectionBaseEjectionDurationArgs) ToGetVirtualNodeSpecListenerOutlierDetectionBaseEjectionDurationOutputWithContext(ctx context.Context) GetVirtualNodeSpecListenerOutlierDetectionBaseEjectionDurationOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetVirtualNodeSpecListenerOutlierDetectionBaseEjectionDurationOutput) } -// GetVirtualGatewaySpecArrayInput is an input type that accepts GetVirtualGatewaySpecArray and GetVirtualGatewaySpecArrayOutput values. -// You can construct a concrete instance of `GetVirtualGatewaySpecArrayInput` via: +// GetVirtualNodeSpecListenerOutlierDetectionBaseEjectionDurationArrayInput is an input type that accepts GetVirtualNodeSpecListenerOutlierDetectionBaseEjectionDurationArray and GetVirtualNodeSpecListenerOutlierDetectionBaseEjectionDurationArrayOutput values. +// You can construct a concrete instance of `GetVirtualNodeSpecListenerOutlierDetectionBaseEjectionDurationArrayInput` via: // -// GetVirtualGatewaySpecArray{ GetVirtualGatewaySpecArgs{...} } -type GetVirtualGatewaySpecArrayInput interface { +// GetVirtualNodeSpecListenerOutlierDetectionBaseEjectionDurationArray{ GetVirtualNodeSpecListenerOutlierDetectionBaseEjectionDurationArgs{...} } +type GetVirtualNodeSpecListenerOutlierDetectionBaseEjectionDurationArrayInput interface { pulumi.Input - ToGetVirtualGatewaySpecArrayOutput() GetVirtualGatewaySpecArrayOutput - ToGetVirtualGatewaySpecArrayOutputWithContext(context.Context) GetVirtualGatewaySpecArrayOutput + ToGetVirtualNodeSpecListenerOutlierDetectionBaseEjectionDurationArrayOutput() GetVirtualNodeSpecListenerOutlierDetectionBaseEjectionDurationArrayOutput + ToGetVirtualNodeSpecListenerOutlierDetectionBaseEjectionDurationArrayOutputWithContext(context.Context) GetVirtualNodeSpecListenerOutlierDetectionBaseEjectionDurationArrayOutput } -type GetVirtualGatewaySpecArray []GetVirtualGatewaySpecInput +type GetVirtualNodeSpecListenerOutlierDetectionBaseEjectionDurationArray []GetVirtualNodeSpecListenerOutlierDetectionBaseEjectionDurationInput -func (GetVirtualGatewaySpecArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetVirtualGatewaySpec)(nil)).Elem() +func (GetVirtualNodeSpecListenerOutlierDetectionBaseEjectionDurationArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetVirtualNodeSpecListenerOutlierDetectionBaseEjectionDuration)(nil)).Elem() } -func (i GetVirtualGatewaySpecArray) ToGetVirtualGatewaySpecArrayOutput() GetVirtualGatewaySpecArrayOutput { - return i.ToGetVirtualGatewaySpecArrayOutputWithContext(context.Background()) +func (i GetVirtualNodeSpecListenerOutlierDetectionBaseEjectionDurationArray) ToGetVirtualNodeSpecListenerOutlierDetectionBaseEjectionDurationArrayOutput() GetVirtualNodeSpecListenerOutlierDetectionBaseEjectionDurationArrayOutput { + return i.ToGetVirtualNodeSpecListenerOutlierDetectionBaseEjectionDurationArrayOutputWithContext(context.Background()) } -func (i GetVirtualGatewaySpecArray) ToGetVirtualGatewaySpecArrayOutputWithContext(ctx context.Context) GetVirtualGatewaySpecArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetVirtualGatewaySpecArrayOutput) +func (i GetVirtualNodeSpecListenerOutlierDetectionBaseEjectionDurationArray) ToGetVirtualNodeSpecListenerOutlierDetectionBaseEjectionDurationArrayOutputWithContext(ctx context.Context) GetVirtualNodeSpecListenerOutlierDetectionBaseEjectionDurationArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetVirtualNodeSpecListenerOutlierDetectionBaseEjectionDurationArrayOutput) } -type GetVirtualGatewaySpecOutput struct{ *pulumi.OutputState } +type GetVirtualNodeSpecListenerOutlierDetectionBaseEjectionDurationOutput struct{ *pulumi.OutputState } -func (GetVirtualGatewaySpecOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetVirtualGatewaySpec)(nil)).Elem() +func (GetVirtualNodeSpecListenerOutlierDetectionBaseEjectionDurationOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetVirtualNodeSpecListenerOutlierDetectionBaseEjectionDuration)(nil)).Elem() } -func (o GetVirtualGatewaySpecOutput) ToGetVirtualGatewaySpecOutput() GetVirtualGatewaySpecOutput { +func (o GetVirtualNodeSpecListenerOutlierDetectionBaseEjectionDurationOutput) ToGetVirtualNodeSpecListenerOutlierDetectionBaseEjectionDurationOutput() GetVirtualNodeSpecListenerOutlierDetectionBaseEjectionDurationOutput { return o } -func (o GetVirtualGatewaySpecOutput) ToGetVirtualGatewaySpecOutputWithContext(ctx context.Context) GetVirtualGatewaySpecOutput { +func (o GetVirtualNodeSpecListenerOutlierDetectionBaseEjectionDurationOutput) ToGetVirtualNodeSpecListenerOutlierDetectionBaseEjectionDurationOutputWithContext(ctx context.Context) GetVirtualNodeSpecListenerOutlierDetectionBaseEjectionDurationOutput { return o } -// Defaults for backends. -func (o GetVirtualGatewaySpecOutput) BackendDefaults() GetVirtualGatewaySpecBackendDefaultArrayOutput { - return o.ApplyT(func(v GetVirtualGatewaySpec) []GetVirtualGatewaySpecBackendDefault { return v.BackendDefaults }).(GetVirtualGatewaySpecBackendDefaultArrayOutput) -} - -// Listeners that the mesh endpoint is expected to receive inbound traffic from. You can specify one listener. -func (o GetVirtualGatewaySpecOutput) Listeners() GetVirtualGatewaySpecListenerArrayOutput { - return o.ApplyT(func(v GetVirtualGatewaySpec) []GetVirtualGatewaySpecListener { return v.Listeners }).(GetVirtualGatewaySpecListenerArrayOutput) +func (o GetVirtualNodeSpecListenerOutlierDetectionBaseEjectionDurationOutput) Unit() pulumi.StringOutput { + return o.ApplyT(func(v GetVirtualNodeSpecListenerOutlierDetectionBaseEjectionDuration) string { return v.Unit }).(pulumi.StringOutput) } -// Inbound and outbound access logging information for the virtual gateway. -func (o GetVirtualGatewaySpecOutput) Loggings() GetVirtualGatewaySpecLoggingArrayOutput { - return o.ApplyT(func(v GetVirtualGatewaySpec) []GetVirtualGatewaySpecLogging { return v.Loggings }).(GetVirtualGatewaySpecLoggingArrayOutput) +func (o GetVirtualNodeSpecListenerOutlierDetectionBaseEjectionDurationOutput) Value() pulumi.IntOutput { + return o.ApplyT(func(v GetVirtualNodeSpecListenerOutlierDetectionBaseEjectionDuration) int { return v.Value }).(pulumi.IntOutput) } -type GetVirtualGatewaySpecArrayOutput struct{ *pulumi.OutputState } +type GetVirtualNodeSpecListenerOutlierDetectionBaseEjectionDurationArrayOutput struct{ *pulumi.OutputState } -func (GetVirtualGatewaySpecArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetVirtualGatewaySpec)(nil)).Elem() +func (GetVirtualNodeSpecListenerOutlierDetectionBaseEjectionDurationArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetVirtualNodeSpecListenerOutlierDetectionBaseEjectionDuration)(nil)).Elem() } -func (o GetVirtualGatewaySpecArrayOutput) ToGetVirtualGatewaySpecArrayOutput() GetVirtualGatewaySpecArrayOutput { +func (o GetVirtualNodeSpecListenerOutlierDetectionBaseEjectionDurationArrayOutput) ToGetVirtualNodeSpecListenerOutlierDetectionBaseEjectionDurationArrayOutput() GetVirtualNodeSpecListenerOutlierDetectionBaseEjectionDurationArrayOutput { return o } -func (o GetVirtualGatewaySpecArrayOutput) ToGetVirtualGatewaySpecArrayOutputWithContext(ctx context.Context) GetVirtualGatewaySpecArrayOutput { +func (o GetVirtualNodeSpecListenerOutlierDetectionBaseEjectionDurationArrayOutput) ToGetVirtualNodeSpecListenerOutlierDetectionBaseEjectionDurationArrayOutputWithContext(ctx context.Context) GetVirtualNodeSpecListenerOutlierDetectionBaseEjectionDurationArrayOutput { return o } -func (o GetVirtualGatewaySpecArrayOutput) Index(i pulumi.IntInput) GetVirtualGatewaySpecOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetVirtualGatewaySpec { - return vs[0].([]GetVirtualGatewaySpec)[vs[1].(int)] - }).(GetVirtualGatewaySpecOutput) +func (o GetVirtualNodeSpecListenerOutlierDetectionBaseEjectionDurationArrayOutput) Index(i pulumi.IntInput) GetVirtualNodeSpecListenerOutlierDetectionBaseEjectionDurationOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetVirtualNodeSpecListenerOutlierDetectionBaseEjectionDuration { + return vs[0].([]GetVirtualNodeSpecListenerOutlierDetectionBaseEjectionDuration)[vs[1].(int)] + }).(GetVirtualNodeSpecListenerOutlierDetectionBaseEjectionDurationOutput) } -type GetVirtualGatewaySpecBackendDefault struct { - // Default client policy for virtual gateway backends. - ClientPolicies []GetVirtualGatewaySpecBackendDefaultClientPolicy `pulumi:"clientPolicies"` +type GetVirtualNodeSpecListenerOutlierDetectionInterval struct { + Unit string `pulumi:"unit"` + Value int `pulumi:"value"` } -// GetVirtualGatewaySpecBackendDefaultInput is an input type that accepts GetVirtualGatewaySpecBackendDefaultArgs and GetVirtualGatewaySpecBackendDefaultOutput values. -// You can construct a concrete instance of `GetVirtualGatewaySpecBackendDefaultInput` via: +// GetVirtualNodeSpecListenerOutlierDetectionIntervalInput is an input type that accepts GetVirtualNodeSpecListenerOutlierDetectionIntervalArgs and GetVirtualNodeSpecListenerOutlierDetectionIntervalOutput values. +// You can construct a concrete instance of `GetVirtualNodeSpecListenerOutlierDetectionIntervalInput` via: // -// GetVirtualGatewaySpecBackendDefaultArgs{...} -type GetVirtualGatewaySpecBackendDefaultInput interface { +// GetVirtualNodeSpecListenerOutlierDetectionIntervalArgs{...} +type GetVirtualNodeSpecListenerOutlierDetectionIntervalInput interface { pulumi.Input - ToGetVirtualGatewaySpecBackendDefaultOutput() GetVirtualGatewaySpecBackendDefaultOutput - ToGetVirtualGatewaySpecBackendDefaultOutputWithContext(context.Context) GetVirtualGatewaySpecBackendDefaultOutput + ToGetVirtualNodeSpecListenerOutlierDetectionIntervalOutput() GetVirtualNodeSpecListenerOutlierDetectionIntervalOutput + ToGetVirtualNodeSpecListenerOutlierDetectionIntervalOutputWithContext(context.Context) GetVirtualNodeSpecListenerOutlierDetectionIntervalOutput } -type GetVirtualGatewaySpecBackendDefaultArgs struct { - // Default client policy for virtual gateway backends. - ClientPolicies GetVirtualGatewaySpecBackendDefaultClientPolicyArrayInput `pulumi:"clientPolicies"` +type GetVirtualNodeSpecListenerOutlierDetectionIntervalArgs struct { + Unit pulumi.StringInput `pulumi:"unit"` + Value pulumi.IntInput `pulumi:"value"` } -func (GetVirtualGatewaySpecBackendDefaultArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetVirtualGatewaySpecBackendDefault)(nil)).Elem() +func (GetVirtualNodeSpecListenerOutlierDetectionIntervalArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetVirtualNodeSpecListenerOutlierDetectionInterval)(nil)).Elem() } -func (i GetVirtualGatewaySpecBackendDefaultArgs) ToGetVirtualGatewaySpecBackendDefaultOutput() GetVirtualGatewaySpecBackendDefaultOutput { - return i.ToGetVirtualGatewaySpecBackendDefaultOutputWithContext(context.Background()) +func (i GetVirtualNodeSpecListenerOutlierDetectionIntervalArgs) ToGetVirtualNodeSpecListenerOutlierDetectionIntervalOutput() GetVirtualNodeSpecListenerOutlierDetectionIntervalOutput { + return i.ToGetVirtualNodeSpecListenerOutlierDetectionIntervalOutputWithContext(context.Background()) } -func (i GetVirtualGatewaySpecBackendDefaultArgs) ToGetVirtualGatewaySpecBackendDefaultOutputWithContext(ctx context.Context) GetVirtualGatewaySpecBackendDefaultOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetVirtualGatewaySpecBackendDefaultOutput) +func (i GetVirtualNodeSpecListenerOutlierDetectionIntervalArgs) ToGetVirtualNodeSpecListenerOutlierDetectionIntervalOutputWithContext(ctx context.Context) GetVirtualNodeSpecListenerOutlierDetectionIntervalOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetVirtualNodeSpecListenerOutlierDetectionIntervalOutput) } -// GetVirtualGatewaySpecBackendDefaultArrayInput is an input type that accepts GetVirtualGatewaySpecBackendDefaultArray and GetVirtualGatewaySpecBackendDefaultArrayOutput values. -// You can construct a concrete instance of `GetVirtualGatewaySpecBackendDefaultArrayInput` via: +// GetVirtualNodeSpecListenerOutlierDetectionIntervalArrayInput is an input type that accepts GetVirtualNodeSpecListenerOutlierDetectionIntervalArray and GetVirtualNodeSpecListenerOutlierDetectionIntervalArrayOutput values. +// You can construct a concrete instance of `GetVirtualNodeSpecListenerOutlierDetectionIntervalArrayInput` via: // -// GetVirtualGatewaySpecBackendDefaultArray{ GetVirtualGatewaySpecBackendDefaultArgs{...} } -type GetVirtualGatewaySpecBackendDefaultArrayInput interface { +// GetVirtualNodeSpecListenerOutlierDetectionIntervalArray{ GetVirtualNodeSpecListenerOutlierDetectionIntervalArgs{...} } +type GetVirtualNodeSpecListenerOutlierDetectionIntervalArrayInput interface { pulumi.Input - ToGetVirtualGatewaySpecBackendDefaultArrayOutput() GetVirtualGatewaySpecBackendDefaultArrayOutput - ToGetVirtualGatewaySpecBackendDefaultArrayOutputWithContext(context.Context) GetVirtualGatewaySpecBackendDefaultArrayOutput + ToGetVirtualNodeSpecListenerOutlierDetectionIntervalArrayOutput() GetVirtualNodeSpecListenerOutlierDetectionIntervalArrayOutput + ToGetVirtualNodeSpecListenerOutlierDetectionIntervalArrayOutputWithContext(context.Context) GetVirtualNodeSpecListenerOutlierDetectionIntervalArrayOutput } -type GetVirtualGatewaySpecBackendDefaultArray []GetVirtualGatewaySpecBackendDefaultInput +type GetVirtualNodeSpecListenerOutlierDetectionIntervalArray []GetVirtualNodeSpecListenerOutlierDetectionIntervalInput -func (GetVirtualGatewaySpecBackendDefaultArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetVirtualGatewaySpecBackendDefault)(nil)).Elem() +func (GetVirtualNodeSpecListenerOutlierDetectionIntervalArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetVirtualNodeSpecListenerOutlierDetectionInterval)(nil)).Elem() } -func (i GetVirtualGatewaySpecBackendDefaultArray) ToGetVirtualGatewaySpecBackendDefaultArrayOutput() GetVirtualGatewaySpecBackendDefaultArrayOutput { - return i.ToGetVirtualGatewaySpecBackendDefaultArrayOutputWithContext(context.Background()) +func (i GetVirtualNodeSpecListenerOutlierDetectionIntervalArray) ToGetVirtualNodeSpecListenerOutlierDetectionIntervalArrayOutput() GetVirtualNodeSpecListenerOutlierDetectionIntervalArrayOutput { + return i.ToGetVirtualNodeSpecListenerOutlierDetectionIntervalArrayOutputWithContext(context.Background()) } -func (i GetVirtualGatewaySpecBackendDefaultArray) ToGetVirtualGatewaySpecBackendDefaultArrayOutputWithContext(ctx context.Context) GetVirtualGatewaySpecBackendDefaultArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetVirtualGatewaySpecBackendDefaultArrayOutput) +func (i GetVirtualNodeSpecListenerOutlierDetectionIntervalArray) ToGetVirtualNodeSpecListenerOutlierDetectionIntervalArrayOutputWithContext(ctx context.Context) GetVirtualNodeSpecListenerOutlierDetectionIntervalArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetVirtualNodeSpecListenerOutlierDetectionIntervalArrayOutput) } -type GetVirtualGatewaySpecBackendDefaultOutput struct{ *pulumi.OutputState } +type GetVirtualNodeSpecListenerOutlierDetectionIntervalOutput struct{ *pulumi.OutputState } -func (GetVirtualGatewaySpecBackendDefaultOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetVirtualGatewaySpecBackendDefault)(nil)).Elem() +func (GetVirtualNodeSpecListenerOutlierDetectionIntervalOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetVirtualNodeSpecListenerOutlierDetectionInterval)(nil)).Elem() } -func (o GetVirtualGatewaySpecBackendDefaultOutput) ToGetVirtualGatewaySpecBackendDefaultOutput() GetVirtualGatewaySpecBackendDefaultOutput { +func (o GetVirtualNodeSpecListenerOutlierDetectionIntervalOutput) ToGetVirtualNodeSpecListenerOutlierDetectionIntervalOutput() GetVirtualNodeSpecListenerOutlierDetectionIntervalOutput { return o } -func (o GetVirtualGatewaySpecBackendDefaultOutput) ToGetVirtualGatewaySpecBackendDefaultOutputWithContext(ctx context.Context) GetVirtualGatewaySpecBackendDefaultOutput { +func (o GetVirtualNodeSpecListenerOutlierDetectionIntervalOutput) ToGetVirtualNodeSpecListenerOutlierDetectionIntervalOutputWithContext(ctx context.Context) GetVirtualNodeSpecListenerOutlierDetectionIntervalOutput { return o } -// Default client policy for virtual gateway backends. -func (o GetVirtualGatewaySpecBackendDefaultOutput) ClientPolicies() GetVirtualGatewaySpecBackendDefaultClientPolicyArrayOutput { - return o.ApplyT(func(v GetVirtualGatewaySpecBackendDefault) []GetVirtualGatewaySpecBackendDefaultClientPolicy { - return v.ClientPolicies - }).(GetVirtualGatewaySpecBackendDefaultClientPolicyArrayOutput) +func (o GetVirtualNodeSpecListenerOutlierDetectionIntervalOutput) Unit() pulumi.StringOutput { + return o.ApplyT(func(v GetVirtualNodeSpecListenerOutlierDetectionInterval) string { return v.Unit }).(pulumi.StringOutput) } -type GetVirtualGatewaySpecBackendDefaultArrayOutput struct{ *pulumi.OutputState } +func (o GetVirtualNodeSpecListenerOutlierDetectionIntervalOutput) Value() pulumi.IntOutput { + return o.ApplyT(func(v GetVirtualNodeSpecListenerOutlierDetectionInterval) int { return v.Value }).(pulumi.IntOutput) +} -func (GetVirtualGatewaySpecBackendDefaultArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetVirtualGatewaySpecBackendDefault)(nil)).Elem() +type GetVirtualNodeSpecListenerOutlierDetectionIntervalArrayOutput struct{ *pulumi.OutputState } + +func (GetVirtualNodeSpecListenerOutlierDetectionIntervalArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetVirtualNodeSpecListenerOutlierDetectionInterval)(nil)).Elem() } -func (o GetVirtualGatewaySpecBackendDefaultArrayOutput) ToGetVirtualGatewaySpecBackendDefaultArrayOutput() GetVirtualGatewaySpecBackendDefaultArrayOutput { +func (o GetVirtualNodeSpecListenerOutlierDetectionIntervalArrayOutput) ToGetVirtualNodeSpecListenerOutlierDetectionIntervalArrayOutput() GetVirtualNodeSpecListenerOutlierDetectionIntervalArrayOutput { return o } -func (o GetVirtualGatewaySpecBackendDefaultArrayOutput) ToGetVirtualGatewaySpecBackendDefaultArrayOutputWithContext(ctx context.Context) GetVirtualGatewaySpecBackendDefaultArrayOutput { +func (o GetVirtualNodeSpecListenerOutlierDetectionIntervalArrayOutput) ToGetVirtualNodeSpecListenerOutlierDetectionIntervalArrayOutputWithContext(ctx context.Context) GetVirtualNodeSpecListenerOutlierDetectionIntervalArrayOutput { return o } -func (o GetVirtualGatewaySpecBackendDefaultArrayOutput) Index(i pulumi.IntInput) GetVirtualGatewaySpecBackendDefaultOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetVirtualGatewaySpecBackendDefault { - return vs[0].([]GetVirtualGatewaySpecBackendDefault)[vs[1].(int)] - }).(GetVirtualGatewaySpecBackendDefaultOutput) +func (o GetVirtualNodeSpecListenerOutlierDetectionIntervalArrayOutput) Index(i pulumi.IntInput) GetVirtualNodeSpecListenerOutlierDetectionIntervalOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetVirtualNodeSpecListenerOutlierDetectionInterval { + return vs[0].([]GetVirtualNodeSpecListenerOutlierDetectionInterval)[vs[1].(int)] + }).(GetVirtualNodeSpecListenerOutlierDetectionIntervalOutput) } -type GetVirtualGatewaySpecBackendDefaultClientPolicy struct { - // Transport Layer Security (TLS) properties for the listener - Tls []GetVirtualGatewaySpecBackendDefaultClientPolicyTl `pulumi:"tls"` +type GetVirtualNodeSpecListenerPortMapping struct { + Port int `pulumi:"port"` + Protocol string `pulumi:"protocol"` } -// GetVirtualGatewaySpecBackendDefaultClientPolicyInput is an input type that accepts GetVirtualGatewaySpecBackendDefaultClientPolicyArgs and GetVirtualGatewaySpecBackendDefaultClientPolicyOutput values. -// You can construct a concrete instance of `GetVirtualGatewaySpecBackendDefaultClientPolicyInput` via: +// GetVirtualNodeSpecListenerPortMappingInput is an input type that accepts GetVirtualNodeSpecListenerPortMappingArgs and GetVirtualNodeSpecListenerPortMappingOutput values. +// You can construct a concrete instance of `GetVirtualNodeSpecListenerPortMappingInput` via: // -// GetVirtualGatewaySpecBackendDefaultClientPolicyArgs{...} -type GetVirtualGatewaySpecBackendDefaultClientPolicyInput interface { +// GetVirtualNodeSpecListenerPortMappingArgs{...} +type GetVirtualNodeSpecListenerPortMappingInput interface { pulumi.Input - ToGetVirtualGatewaySpecBackendDefaultClientPolicyOutput() GetVirtualGatewaySpecBackendDefaultClientPolicyOutput - ToGetVirtualGatewaySpecBackendDefaultClientPolicyOutputWithContext(context.Context) GetVirtualGatewaySpecBackendDefaultClientPolicyOutput + ToGetVirtualNodeSpecListenerPortMappingOutput() GetVirtualNodeSpecListenerPortMappingOutput + ToGetVirtualNodeSpecListenerPortMappingOutputWithContext(context.Context) GetVirtualNodeSpecListenerPortMappingOutput } -type GetVirtualGatewaySpecBackendDefaultClientPolicyArgs struct { - // Transport Layer Security (TLS) properties for the listener - Tls GetVirtualGatewaySpecBackendDefaultClientPolicyTlArrayInput `pulumi:"tls"` +type GetVirtualNodeSpecListenerPortMappingArgs struct { + Port pulumi.IntInput `pulumi:"port"` + Protocol pulumi.StringInput `pulumi:"protocol"` } -func (GetVirtualGatewaySpecBackendDefaultClientPolicyArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetVirtualGatewaySpecBackendDefaultClientPolicy)(nil)).Elem() +func (GetVirtualNodeSpecListenerPortMappingArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetVirtualNodeSpecListenerPortMapping)(nil)).Elem() } -func (i GetVirtualGatewaySpecBackendDefaultClientPolicyArgs) ToGetVirtualGatewaySpecBackendDefaultClientPolicyOutput() GetVirtualGatewaySpecBackendDefaultClientPolicyOutput { - return i.ToGetVirtualGatewaySpecBackendDefaultClientPolicyOutputWithContext(context.Background()) +func (i GetVirtualNodeSpecListenerPortMappingArgs) ToGetVirtualNodeSpecListenerPortMappingOutput() GetVirtualNodeSpecListenerPortMappingOutput { + return i.ToGetVirtualNodeSpecListenerPortMappingOutputWithContext(context.Background()) } -func (i GetVirtualGatewaySpecBackendDefaultClientPolicyArgs) ToGetVirtualGatewaySpecBackendDefaultClientPolicyOutputWithContext(ctx context.Context) GetVirtualGatewaySpecBackendDefaultClientPolicyOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetVirtualGatewaySpecBackendDefaultClientPolicyOutput) +func (i GetVirtualNodeSpecListenerPortMappingArgs) ToGetVirtualNodeSpecListenerPortMappingOutputWithContext(ctx context.Context) GetVirtualNodeSpecListenerPortMappingOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetVirtualNodeSpecListenerPortMappingOutput) } -// GetVirtualGatewaySpecBackendDefaultClientPolicyArrayInput is an input type that accepts GetVirtualGatewaySpecBackendDefaultClientPolicyArray and GetVirtualGatewaySpecBackendDefaultClientPolicyArrayOutput values. -// You can construct a concrete instance of `GetVirtualGatewaySpecBackendDefaultClientPolicyArrayInput` via: +// GetVirtualNodeSpecListenerPortMappingArrayInput is an input type that accepts GetVirtualNodeSpecListenerPortMappingArray and GetVirtualNodeSpecListenerPortMappingArrayOutput values. +// You can construct a concrete instance of `GetVirtualNodeSpecListenerPortMappingArrayInput` via: // -// GetVirtualGatewaySpecBackendDefaultClientPolicyArray{ GetVirtualGatewaySpecBackendDefaultClientPolicyArgs{...} } -type GetVirtualGatewaySpecBackendDefaultClientPolicyArrayInput interface { +// GetVirtualNodeSpecListenerPortMappingArray{ GetVirtualNodeSpecListenerPortMappingArgs{...} } +type GetVirtualNodeSpecListenerPortMappingArrayInput interface { pulumi.Input - ToGetVirtualGatewaySpecBackendDefaultClientPolicyArrayOutput() GetVirtualGatewaySpecBackendDefaultClientPolicyArrayOutput - ToGetVirtualGatewaySpecBackendDefaultClientPolicyArrayOutputWithContext(context.Context) GetVirtualGatewaySpecBackendDefaultClientPolicyArrayOutput + ToGetVirtualNodeSpecListenerPortMappingArrayOutput() GetVirtualNodeSpecListenerPortMappingArrayOutput + ToGetVirtualNodeSpecListenerPortMappingArrayOutputWithContext(context.Context) GetVirtualNodeSpecListenerPortMappingArrayOutput } -type GetVirtualGatewaySpecBackendDefaultClientPolicyArray []GetVirtualGatewaySpecBackendDefaultClientPolicyInput +type GetVirtualNodeSpecListenerPortMappingArray []GetVirtualNodeSpecListenerPortMappingInput -func (GetVirtualGatewaySpecBackendDefaultClientPolicyArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetVirtualGatewaySpecBackendDefaultClientPolicy)(nil)).Elem() +func (GetVirtualNodeSpecListenerPortMappingArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetVirtualNodeSpecListenerPortMapping)(nil)).Elem() } -func (i GetVirtualGatewaySpecBackendDefaultClientPolicyArray) ToGetVirtualGatewaySpecBackendDefaultClientPolicyArrayOutput() GetVirtualGatewaySpecBackendDefaultClientPolicyArrayOutput { - return i.ToGetVirtualGatewaySpecBackendDefaultClientPolicyArrayOutputWithContext(context.Background()) +func (i GetVirtualNodeSpecListenerPortMappingArray) ToGetVirtualNodeSpecListenerPortMappingArrayOutput() GetVirtualNodeSpecListenerPortMappingArrayOutput { + return i.ToGetVirtualNodeSpecListenerPortMappingArrayOutputWithContext(context.Background()) } -func (i GetVirtualGatewaySpecBackendDefaultClientPolicyArray) ToGetVirtualGatewaySpecBackendDefaultClientPolicyArrayOutputWithContext(ctx context.Context) GetVirtualGatewaySpecBackendDefaultClientPolicyArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetVirtualGatewaySpecBackendDefaultClientPolicyArrayOutput) +func (i GetVirtualNodeSpecListenerPortMappingArray) ToGetVirtualNodeSpecListenerPortMappingArrayOutputWithContext(ctx context.Context) GetVirtualNodeSpecListenerPortMappingArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetVirtualNodeSpecListenerPortMappingArrayOutput) } -type GetVirtualGatewaySpecBackendDefaultClientPolicyOutput struct{ *pulumi.OutputState } +type GetVirtualNodeSpecListenerPortMappingOutput struct{ *pulumi.OutputState } -func (GetVirtualGatewaySpecBackendDefaultClientPolicyOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetVirtualGatewaySpecBackendDefaultClientPolicy)(nil)).Elem() +func (GetVirtualNodeSpecListenerPortMappingOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetVirtualNodeSpecListenerPortMapping)(nil)).Elem() } -func (o GetVirtualGatewaySpecBackendDefaultClientPolicyOutput) ToGetVirtualGatewaySpecBackendDefaultClientPolicyOutput() GetVirtualGatewaySpecBackendDefaultClientPolicyOutput { +func (o GetVirtualNodeSpecListenerPortMappingOutput) ToGetVirtualNodeSpecListenerPortMappingOutput() GetVirtualNodeSpecListenerPortMappingOutput { return o } -func (o GetVirtualGatewaySpecBackendDefaultClientPolicyOutput) ToGetVirtualGatewaySpecBackendDefaultClientPolicyOutputWithContext(ctx context.Context) GetVirtualGatewaySpecBackendDefaultClientPolicyOutput { +func (o GetVirtualNodeSpecListenerPortMappingOutput) ToGetVirtualNodeSpecListenerPortMappingOutputWithContext(ctx context.Context) GetVirtualNodeSpecListenerPortMappingOutput { return o } -// Transport Layer Security (TLS) properties for the listener -func (o GetVirtualGatewaySpecBackendDefaultClientPolicyOutput) Tls() GetVirtualGatewaySpecBackendDefaultClientPolicyTlArrayOutput { - return o.ApplyT(func(v GetVirtualGatewaySpecBackendDefaultClientPolicy) []GetVirtualGatewaySpecBackendDefaultClientPolicyTl { - return v.Tls - }).(GetVirtualGatewaySpecBackendDefaultClientPolicyTlArrayOutput) +func (o GetVirtualNodeSpecListenerPortMappingOutput) Port() pulumi.IntOutput { + return o.ApplyT(func(v GetVirtualNodeSpecListenerPortMapping) int { return v.Port }).(pulumi.IntOutput) } -type GetVirtualGatewaySpecBackendDefaultClientPolicyArrayOutput struct{ *pulumi.OutputState } +func (o GetVirtualNodeSpecListenerPortMappingOutput) Protocol() pulumi.StringOutput { + return o.ApplyT(func(v GetVirtualNodeSpecListenerPortMapping) string { return v.Protocol }).(pulumi.StringOutput) +} -func (GetVirtualGatewaySpecBackendDefaultClientPolicyArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetVirtualGatewaySpecBackendDefaultClientPolicy)(nil)).Elem() +type GetVirtualNodeSpecListenerPortMappingArrayOutput struct{ *pulumi.OutputState } + +func (GetVirtualNodeSpecListenerPortMappingArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetVirtualNodeSpecListenerPortMapping)(nil)).Elem() } -func (o GetVirtualGatewaySpecBackendDefaultClientPolicyArrayOutput) ToGetVirtualGatewaySpecBackendDefaultClientPolicyArrayOutput() GetVirtualGatewaySpecBackendDefaultClientPolicyArrayOutput { +func (o GetVirtualNodeSpecListenerPortMappingArrayOutput) ToGetVirtualNodeSpecListenerPortMappingArrayOutput() GetVirtualNodeSpecListenerPortMappingArrayOutput { return o } -func (o GetVirtualGatewaySpecBackendDefaultClientPolicyArrayOutput) ToGetVirtualGatewaySpecBackendDefaultClientPolicyArrayOutputWithContext(ctx context.Context) GetVirtualGatewaySpecBackendDefaultClientPolicyArrayOutput { +func (o GetVirtualNodeSpecListenerPortMappingArrayOutput) ToGetVirtualNodeSpecListenerPortMappingArrayOutputWithContext(ctx context.Context) GetVirtualNodeSpecListenerPortMappingArrayOutput { return o } -func (o GetVirtualGatewaySpecBackendDefaultClientPolicyArrayOutput) Index(i pulumi.IntInput) GetVirtualGatewaySpecBackendDefaultClientPolicyOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetVirtualGatewaySpecBackendDefaultClientPolicy { - return vs[0].([]GetVirtualGatewaySpecBackendDefaultClientPolicy)[vs[1].(int)] - }).(GetVirtualGatewaySpecBackendDefaultClientPolicyOutput) +func (o GetVirtualNodeSpecListenerPortMappingArrayOutput) Index(i pulumi.IntInput) GetVirtualNodeSpecListenerPortMappingOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetVirtualNodeSpecListenerPortMapping { + return vs[0].([]GetVirtualNodeSpecListenerPortMapping)[vs[1].(int)] + }).(GetVirtualNodeSpecListenerPortMappingOutput) } -type GetVirtualGatewaySpecBackendDefaultClientPolicyTl struct { - // Listener's TLS certificate. - Certificates []GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificate `pulumi:"certificates"` - // Whether the policy is enforced. Default is `true`. - Enforce bool `pulumi:"enforce"` - // One or more ports that the policy is enforced for. - Ports []int `pulumi:"ports"` - // Listener's Transport Layer Security (TLS) validation context. - Validations []GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidation `pulumi:"validations"` +type GetVirtualNodeSpecListenerTimeout struct { + Grpcs []GetVirtualNodeSpecListenerTimeoutGrpc `pulumi:"grpcs"` + Http2s []GetVirtualNodeSpecListenerTimeoutHttp2 `pulumi:"http2s"` + Https []GetVirtualNodeSpecListenerTimeoutHttp `pulumi:"https"` + Tcps []GetVirtualNodeSpecListenerTimeoutTcp `pulumi:"tcps"` } -// GetVirtualGatewaySpecBackendDefaultClientPolicyTlInput is an input type that accepts GetVirtualGatewaySpecBackendDefaultClientPolicyTlArgs and GetVirtualGatewaySpecBackendDefaultClientPolicyTlOutput values. -// You can construct a concrete instance of `GetVirtualGatewaySpecBackendDefaultClientPolicyTlInput` via: +// GetVirtualNodeSpecListenerTimeoutInput is an input type that accepts GetVirtualNodeSpecListenerTimeoutArgs and GetVirtualNodeSpecListenerTimeoutOutput values. +// You can construct a concrete instance of `GetVirtualNodeSpecListenerTimeoutInput` via: // -// GetVirtualGatewaySpecBackendDefaultClientPolicyTlArgs{...} -type GetVirtualGatewaySpecBackendDefaultClientPolicyTlInput interface { +// GetVirtualNodeSpecListenerTimeoutArgs{...} +type GetVirtualNodeSpecListenerTimeoutInput interface { pulumi.Input - ToGetVirtualGatewaySpecBackendDefaultClientPolicyTlOutput() GetVirtualGatewaySpecBackendDefaultClientPolicyTlOutput - ToGetVirtualGatewaySpecBackendDefaultClientPolicyTlOutputWithContext(context.Context) GetVirtualGatewaySpecBackendDefaultClientPolicyTlOutput + ToGetVirtualNodeSpecListenerTimeoutOutput() GetVirtualNodeSpecListenerTimeoutOutput + ToGetVirtualNodeSpecListenerTimeoutOutputWithContext(context.Context) GetVirtualNodeSpecListenerTimeoutOutput } -type GetVirtualGatewaySpecBackendDefaultClientPolicyTlArgs struct { - // Listener's TLS certificate. - Certificates GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateArrayInput `pulumi:"certificates"` - // Whether the policy is enforced. Default is `true`. - Enforce pulumi.BoolInput `pulumi:"enforce"` - // One or more ports that the policy is enforced for. - Ports pulumi.IntArrayInput `pulumi:"ports"` - // Listener's Transport Layer Security (TLS) validation context. - Validations GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationArrayInput `pulumi:"validations"` +type GetVirtualNodeSpecListenerTimeoutArgs struct { + Grpcs GetVirtualNodeSpecListenerTimeoutGrpcArrayInput `pulumi:"grpcs"` + Http2s GetVirtualNodeSpecListenerTimeoutHttp2ArrayInput `pulumi:"http2s"` + Https GetVirtualNodeSpecListenerTimeoutHttpArrayInput `pulumi:"https"` + Tcps GetVirtualNodeSpecListenerTimeoutTcpArrayInput `pulumi:"tcps"` } -func (GetVirtualGatewaySpecBackendDefaultClientPolicyTlArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetVirtualGatewaySpecBackendDefaultClientPolicyTl)(nil)).Elem() +func (GetVirtualNodeSpecListenerTimeoutArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetVirtualNodeSpecListenerTimeout)(nil)).Elem() } -func (i GetVirtualGatewaySpecBackendDefaultClientPolicyTlArgs) ToGetVirtualGatewaySpecBackendDefaultClientPolicyTlOutput() GetVirtualGatewaySpecBackendDefaultClientPolicyTlOutput { - return i.ToGetVirtualGatewaySpecBackendDefaultClientPolicyTlOutputWithContext(context.Background()) +func (i GetVirtualNodeSpecListenerTimeoutArgs) ToGetVirtualNodeSpecListenerTimeoutOutput() GetVirtualNodeSpecListenerTimeoutOutput { + return i.ToGetVirtualNodeSpecListenerTimeoutOutputWithContext(context.Background()) } -func (i GetVirtualGatewaySpecBackendDefaultClientPolicyTlArgs) ToGetVirtualGatewaySpecBackendDefaultClientPolicyTlOutputWithContext(ctx context.Context) GetVirtualGatewaySpecBackendDefaultClientPolicyTlOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetVirtualGatewaySpecBackendDefaultClientPolicyTlOutput) +func (i GetVirtualNodeSpecListenerTimeoutArgs) ToGetVirtualNodeSpecListenerTimeoutOutputWithContext(ctx context.Context) GetVirtualNodeSpecListenerTimeoutOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetVirtualNodeSpecListenerTimeoutOutput) } -// GetVirtualGatewaySpecBackendDefaultClientPolicyTlArrayInput is an input type that accepts GetVirtualGatewaySpecBackendDefaultClientPolicyTlArray and GetVirtualGatewaySpecBackendDefaultClientPolicyTlArrayOutput values. -// You can construct a concrete instance of `GetVirtualGatewaySpecBackendDefaultClientPolicyTlArrayInput` via: +// GetVirtualNodeSpecListenerTimeoutArrayInput is an input type that accepts GetVirtualNodeSpecListenerTimeoutArray and GetVirtualNodeSpecListenerTimeoutArrayOutput values. +// You can construct a concrete instance of `GetVirtualNodeSpecListenerTimeoutArrayInput` via: // -// GetVirtualGatewaySpecBackendDefaultClientPolicyTlArray{ GetVirtualGatewaySpecBackendDefaultClientPolicyTlArgs{...} } -type GetVirtualGatewaySpecBackendDefaultClientPolicyTlArrayInput interface { +// GetVirtualNodeSpecListenerTimeoutArray{ GetVirtualNodeSpecListenerTimeoutArgs{...} } +type GetVirtualNodeSpecListenerTimeoutArrayInput interface { pulumi.Input - ToGetVirtualGatewaySpecBackendDefaultClientPolicyTlArrayOutput() GetVirtualGatewaySpecBackendDefaultClientPolicyTlArrayOutput - ToGetVirtualGatewaySpecBackendDefaultClientPolicyTlArrayOutputWithContext(context.Context) GetVirtualGatewaySpecBackendDefaultClientPolicyTlArrayOutput + ToGetVirtualNodeSpecListenerTimeoutArrayOutput() GetVirtualNodeSpecListenerTimeoutArrayOutput + ToGetVirtualNodeSpecListenerTimeoutArrayOutputWithContext(context.Context) GetVirtualNodeSpecListenerTimeoutArrayOutput } -type GetVirtualGatewaySpecBackendDefaultClientPolicyTlArray []GetVirtualGatewaySpecBackendDefaultClientPolicyTlInput +type GetVirtualNodeSpecListenerTimeoutArray []GetVirtualNodeSpecListenerTimeoutInput -func (GetVirtualGatewaySpecBackendDefaultClientPolicyTlArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetVirtualGatewaySpecBackendDefaultClientPolicyTl)(nil)).Elem() +func (GetVirtualNodeSpecListenerTimeoutArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetVirtualNodeSpecListenerTimeout)(nil)).Elem() } -func (i GetVirtualGatewaySpecBackendDefaultClientPolicyTlArray) ToGetVirtualGatewaySpecBackendDefaultClientPolicyTlArrayOutput() GetVirtualGatewaySpecBackendDefaultClientPolicyTlArrayOutput { - return i.ToGetVirtualGatewaySpecBackendDefaultClientPolicyTlArrayOutputWithContext(context.Background()) +func (i GetVirtualNodeSpecListenerTimeoutArray) ToGetVirtualNodeSpecListenerTimeoutArrayOutput() GetVirtualNodeSpecListenerTimeoutArrayOutput { + return i.ToGetVirtualNodeSpecListenerTimeoutArrayOutputWithContext(context.Background()) } -func (i GetVirtualGatewaySpecBackendDefaultClientPolicyTlArray) ToGetVirtualGatewaySpecBackendDefaultClientPolicyTlArrayOutputWithContext(ctx context.Context) GetVirtualGatewaySpecBackendDefaultClientPolicyTlArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetVirtualGatewaySpecBackendDefaultClientPolicyTlArrayOutput) +func (i GetVirtualNodeSpecListenerTimeoutArray) ToGetVirtualNodeSpecListenerTimeoutArrayOutputWithContext(ctx context.Context) GetVirtualNodeSpecListenerTimeoutArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetVirtualNodeSpecListenerTimeoutArrayOutput) } -type GetVirtualGatewaySpecBackendDefaultClientPolicyTlOutput struct{ *pulumi.OutputState } +type GetVirtualNodeSpecListenerTimeoutOutput struct{ *pulumi.OutputState } -func (GetVirtualGatewaySpecBackendDefaultClientPolicyTlOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetVirtualGatewaySpecBackendDefaultClientPolicyTl)(nil)).Elem() +func (GetVirtualNodeSpecListenerTimeoutOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetVirtualNodeSpecListenerTimeout)(nil)).Elem() } -func (o GetVirtualGatewaySpecBackendDefaultClientPolicyTlOutput) ToGetVirtualGatewaySpecBackendDefaultClientPolicyTlOutput() GetVirtualGatewaySpecBackendDefaultClientPolicyTlOutput { +func (o GetVirtualNodeSpecListenerTimeoutOutput) ToGetVirtualNodeSpecListenerTimeoutOutput() GetVirtualNodeSpecListenerTimeoutOutput { return o } -func (o GetVirtualGatewaySpecBackendDefaultClientPolicyTlOutput) ToGetVirtualGatewaySpecBackendDefaultClientPolicyTlOutputWithContext(ctx context.Context) GetVirtualGatewaySpecBackendDefaultClientPolicyTlOutput { +func (o GetVirtualNodeSpecListenerTimeoutOutput) ToGetVirtualNodeSpecListenerTimeoutOutputWithContext(ctx context.Context) GetVirtualNodeSpecListenerTimeoutOutput { return o } -// Listener's TLS certificate. -func (o GetVirtualGatewaySpecBackendDefaultClientPolicyTlOutput) Certificates() GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateArrayOutput { - return o.ApplyT(func(v GetVirtualGatewaySpecBackendDefaultClientPolicyTl) []GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificate { - return v.Certificates - }).(GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateArrayOutput) +func (o GetVirtualNodeSpecListenerTimeoutOutput) Grpcs() GetVirtualNodeSpecListenerTimeoutGrpcArrayOutput { + return o.ApplyT(func(v GetVirtualNodeSpecListenerTimeout) []GetVirtualNodeSpecListenerTimeoutGrpc { return v.Grpcs }).(GetVirtualNodeSpecListenerTimeoutGrpcArrayOutput) } -// Whether the policy is enforced. Default is `true`. -func (o GetVirtualGatewaySpecBackendDefaultClientPolicyTlOutput) Enforce() pulumi.BoolOutput { - return o.ApplyT(func(v GetVirtualGatewaySpecBackendDefaultClientPolicyTl) bool { return v.Enforce }).(pulumi.BoolOutput) +func (o GetVirtualNodeSpecListenerTimeoutOutput) Http2s() GetVirtualNodeSpecListenerTimeoutHttp2ArrayOutput { + return o.ApplyT(func(v GetVirtualNodeSpecListenerTimeout) []GetVirtualNodeSpecListenerTimeoutHttp2 { return v.Http2s }).(GetVirtualNodeSpecListenerTimeoutHttp2ArrayOutput) } -// One or more ports that the policy is enforced for. -func (o GetVirtualGatewaySpecBackendDefaultClientPolicyTlOutput) Ports() pulumi.IntArrayOutput { - return o.ApplyT(func(v GetVirtualGatewaySpecBackendDefaultClientPolicyTl) []int { return v.Ports }).(pulumi.IntArrayOutput) +func (o GetVirtualNodeSpecListenerTimeoutOutput) Https() GetVirtualNodeSpecListenerTimeoutHttpArrayOutput { + return o.ApplyT(func(v GetVirtualNodeSpecListenerTimeout) []GetVirtualNodeSpecListenerTimeoutHttp { return v.Https }).(GetVirtualNodeSpecListenerTimeoutHttpArrayOutput) } -// Listener's Transport Layer Security (TLS) validation context. -func (o GetVirtualGatewaySpecBackendDefaultClientPolicyTlOutput) Validations() GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationArrayOutput { - return o.ApplyT(func(v GetVirtualGatewaySpecBackendDefaultClientPolicyTl) []GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidation { - return v.Validations - }).(GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationArrayOutput) +func (o GetVirtualNodeSpecListenerTimeoutOutput) Tcps() GetVirtualNodeSpecListenerTimeoutTcpArrayOutput { + return o.ApplyT(func(v GetVirtualNodeSpecListenerTimeout) []GetVirtualNodeSpecListenerTimeoutTcp { return v.Tcps }).(GetVirtualNodeSpecListenerTimeoutTcpArrayOutput) } -type GetVirtualGatewaySpecBackendDefaultClientPolicyTlArrayOutput struct{ *pulumi.OutputState } +type GetVirtualNodeSpecListenerTimeoutArrayOutput struct{ *pulumi.OutputState } -func (GetVirtualGatewaySpecBackendDefaultClientPolicyTlArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetVirtualGatewaySpecBackendDefaultClientPolicyTl)(nil)).Elem() +func (GetVirtualNodeSpecListenerTimeoutArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetVirtualNodeSpecListenerTimeout)(nil)).Elem() } -func (o GetVirtualGatewaySpecBackendDefaultClientPolicyTlArrayOutput) ToGetVirtualGatewaySpecBackendDefaultClientPolicyTlArrayOutput() GetVirtualGatewaySpecBackendDefaultClientPolicyTlArrayOutput { +func (o GetVirtualNodeSpecListenerTimeoutArrayOutput) ToGetVirtualNodeSpecListenerTimeoutArrayOutput() GetVirtualNodeSpecListenerTimeoutArrayOutput { return o } -func (o GetVirtualGatewaySpecBackendDefaultClientPolicyTlArrayOutput) ToGetVirtualGatewaySpecBackendDefaultClientPolicyTlArrayOutputWithContext(ctx context.Context) GetVirtualGatewaySpecBackendDefaultClientPolicyTlArrayOutput { +func (o GetVirtualNodeSpecListenerTimeoutArrayOutput) ToGetVirtualNodeSpecListenerTimeoutArrayOutputWithContext(ctx context.Context) GetVirtualNodeSpecListenerTimeoutArrayOutput { return o } -func (o GetVirtualGatewaySpecBackendDefaultClientPolicyTlArrayOutput) Index(i pulumi.IntInput) GetVirtualGatewaySpecBackendDefaultClientPolicyTlOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetVirtualGatewaySpecBackendDefaultClientPolicyTl { - return vs[0].([]GetVirtualGatewaySpecBackendDefaultClientPolicyTl)[vs[1].(int)] - }).(GetVirtualGatewaySpecBackendDefaultClientPolicyTlOutput) +func (o GetVirtualNodeSpecListenerTimeoutArrayOutput) Index(i pulumi.IntInput) GetVirtualNodeSpecListenerTimeoutOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetVirtualNodeSpecListenerTimeout { + return vs[0].([]GetVirtualNodeSpecListenerTimeout)[vs[1].(int)] + }).(GetVirtualNodeSpecListenerTimeoutOutput) } -type GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificate struct { - // TLS validation context trust for a local file certificate. - Files []GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateFile `pulumi:"files"` - // TLS validation context trust for a [Secret Discovery Service](https://www.envoyproxy.io/docs/envoy/latest/configuration/security/secret#secret-discovery-service-sds) certificate. - Sds []GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateSd `pulumi:"sds"` +type GetVirtualNodeSpecListenerTimeoutGrpc struct { + Idles []GetVirtualNodeSpecListenerTimeoutGrpcIdle `pulumi:"idles"` + PerRequests []GetVirtualNodeSpecListenerTimeoutGrpcPerRequest `pulumi:"perRequests"` } -// GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateInput is an input type that accepts GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateArgs and GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateOutput values. -// You can construct a concrete instance of `GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateInput` via: +// GetVirtualNodeSpecListenerTimeoutGrpcInput is an input type that accepts GetVirtualNodeSpecListenerTimeoutGrpcArgs and GetVirtualNodeSpecListenerTimeoutGrpcOutput values. +// You can construct a concrete instance of `GetVirtualNodeSpecListenerTimeoutGrpcInput` via: // -// GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateArgs{...} -type GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateInput interface { +// GetVirtualNodeSpecListenerTimeoutGrpcArgs{...} +type GetVirtualNodeSpecListenerTimeoutGrpcInput interface { pulumi.Input - ToGetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateOutput() GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateOutput - ToGetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateOutputWithContext(context.Context) GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateOutput + ToGetVirtualNodeSpecListenerTimeoutGrpcOutput() GetVirtualNodeSpecListenerTimeoutGrpcOutput + ToGetVirtualNodeSpecListenerTimeoutGrpcOutputWithContext(context.Context) GetVirtualNodeSpecListenerTimeoutGrpcOutput } -type GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateArgs struct { - // TLS validation context trust for a local file certificate. - Files GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateFileArrayInput `pulumi:"files"` - // TLS validation context trust for a [Secret Discovery Service](https://www.envoyproxy.io/docs/envoy/latest/configuration/security/secret#secret-discovery-service-sds) certificate. - Sds GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateSdArrayInput `pulumi:"sds"` +type GetVirtualNodeSpecListenerTimeoutGrpcArgs struct { + Idles GetVirtualNodeSpecListenerTimeoutGrpcIdleArrayInput `pulumi:"idles"` + PerRequests GetVirtualNodeSpecListenerTimeoutGrpcPerRequestArrayInput `pulumi:"perRequests"` } -func (GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificate)(nil)).Elem() +func (GetVirtualNodeSpecListenerTimeoutGrpcArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetVirtualNodeSpecListenerTimeoutGrpc)(nil)).Elem() } -func (i GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateArgs) ToGetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateOutput() GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateOutput { - return i.ToGetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateOutputWithContext(context.Background()) +func (i GetVirtualNodeSpecListenerTimeoutGrpcArgs) ToGetVirtualNodeSpecListenerTimeoutGrpcOutput() GetVirtualNodeSpecListenerTimeoutGrpcOutput { + return i.ToGetVirtualNodeSpecListenerTimeoutGrpcOutputWithContext(context.Background()) } -func (i GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateArgs) ToGetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateOutputWithContext(ctx context.Context) GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateOutput) +func (i GetVirtualNodeSpecListenerTimeoutGrpcArgs) ToGetVirtualNodeSpecListenerTimeoutGrpcOutputWithContext(ctx context.Context) GetVirtualNodeSpecListenerTimeoutGrpcOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetVirtualNodeSpecListenerTimeoutGrpcOutput) } -// GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateArrayInput is an input type that accepts GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateArray and GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateArrayOutput values. -// You can construct a concrete instance of `GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateArrayInput` via: +// GetVirtualNodeSpecListenerTimeoutGrpcArrayInput is an input type that accepts GetVirtualNodeSpecListenerTimeoutGrpcArray and GetVirtualNodeSpecListenerTimeoutGrpcArrayOutput values. +// You can construct a concrete instance of `GetVirtualNodeSpecListenerTimeoutGrpcArrayInput` via: // -// GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateArray{ GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateArgs{...} } -type GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateArrayInput interface { +// GetVirtualNodeSpecListenerTimeoutGrpcArray{ GetVirtualNodeSpecListenerTimeoutGrpcArgs{...} } +type GetVirtualNodeSpecListenerTimeoutGrpcArrayInput interface { pulumi.Input - ToGetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateArrayOutput() GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateArrayOutput - ToGetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateArrayOutputWithContext(context.Context) GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateArrayOutput + ToGetVirtualNodeSpecListenerTimeoutGrpcArrayOutput() GetVirtualNodeSpecListenerTimeoutGrpcArrayOutput + ToGetVirtualNodeSpecListenerTimeoutGrpcArrayOutputWithContext(context.Context) GetVirtualNodeSpecListenerTimeoutGrpcArrayOutput } -type GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateArray []GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateInput +type GetVirtualNodeSpecListenerTimeoutGrpcArray []GetVirtualNodeSpecListenerTimeoutGrpcInput -func (GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificate)(nil)).Elem() +func (GetVirtualNodeSpecListenerTimeoutGrpcArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetVirtualNodeSpecListenerTimeoutGrpc)(nil)).Elem() } -func (i GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateArray) ToGetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateArrayOutput() GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateArrayOutput { - return i.ToGetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateArrayOutputWithContext(context.Background()) +func (i GetVirtualNodeSpecListenerTimeoutGrpcArray) ToGetVirtualNodeSpecListenerTimeoutGrpcArrayOutput() GetVirtualNodeSpecListenerTimeoutGrpcArrayOutput { + return i.ToGetVirtualNodeSpecListenerTimeoutGrpcArrayOutputWithContext(context.Background()) } -func (i GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateArray) ToGetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateArrayOutputWithContext(ctx context.Context) GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateArrayOutput) +func (i GetVirtualNodeSpecListenerTimeoutGrpcArray) ToGetVirtualNodeSpecListenerTimeoutGrpcArrayOutputWithContext(ctx context.Context) GetVirtualNodeSpecListenerTimeoutGrpcArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetVirtualNodeSpecListenerTimeoutGrpcArrayOutput) } -type GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateOutput struct{ *pulumi.OutputState } +type GetVirtualNodeSpecListenerTimeoutGrpcOutput struct{ *pulumi.OutputState } -func (GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificate)(nil)).Elem() +func (GetVirtualNodeSpecListenerTimeoutGrpcOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetVirtualNodeSpecListenerTimeoutGrpc)(nil)).Elem() } -func (o GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateOutput) ToGetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateOutput() GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateOutput { +func (o GetVirtualNodeSpecListenerTimeoutGrpcOutput) ToGetVirtualNodeSpecListenerTimeoutGrpcOutput() GetVirtualNodeSpecListenerTimeoutGrpcOutput { return o } -func (o GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateOutput) ToGetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateOutputWithContext(ctx context.Context) GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateOutput { +func (o GetVirtualNodeSpecListenerTimeoutGrpcOutput) ToGetVirtualNodeSpecListenerTimeoutGrpcOutputWithContext(ctx context.Context) GetVirtualNodeSpecListenerTimeoutGrpcOutput { return o } -// TLS validation context trust for a local file certificate. -func (o GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateOutput) Files() GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateFileArrayOutput { - return o.ApplyT(func(v GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificate) []GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateFile { - return v.Files - }).(GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateFileArrayOutput) +func (o GetVirtualNodeSpecListenerTimeoutGrpcOutput) Idles() GetVirtualNodeSpecListenerTimeoutGrpcIdleArrayOutput { + return o.ApplyT(func(v GetVirtualNodeSpecListenerTimeoutGrpc) []GetVirtualNodeSpecListenerTimeoutGrpcIdle { + return v.Idles + }).(GetVirtualNodeSpecListenerTimeoutGrpcIdleArrayOutput) } -// TLS validation context trust for a [Secret Discovery Service](https://www.envoyproxy.io/docs/envoy/latest/configuration/security/secret#secret-discovery-service-sds) certificate. -func (o GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateOutput) Sds() GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateSdArrayOutput { - return o.ApplyT(func(v GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificate) []GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateSd { - return v.Sds - }).(GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateSdArrayOutput) +func (o GetVirtualNodeSpecListenerTimeoutGrpcOutput) PerRequests() GetVirtualNodeSpecListenerTimeoutGrpcPerRequestArrayOutput { + return o.ApplyT(func(v GetVirtualNodeSpecListenerTimeoutGrpc) []GetVirtualNodeSpecListenerTimeoutGrpcPerRequest { + return v.PerRequests + }).(GetVirtualNodeSpecListenerTimeoutGrpcPerRequestArrayOutput) } -type GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateArrayOutput struct{ *pulumi.OutputState } +type GetVirtualNodeSpecListenerTimeoutGrpcArrayOutput struct{ *pulumi.OutputState } -func (GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificate)(nil)).Elem() +func (GetVirtualNodeSpecListenerTimeoutGrpcArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetVirtualNodeSpecListenerTimeoutGrpc)(nil)).Elem() } -func (o GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateArrayOutput) ToGetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateArrayOutput() GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateArrayOutput { +func (o GetVirtualNodeSpecListenerTimeoutGrpcArrayOutput) ToGetVirtualNodeSpecListenerTimeoutGrpcArrayOutput() GetVirtualNodeSpecListenerTimeoutGrpcArrayOutput { return o } -func (o GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateArrayOutput) ToGetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateArrayOutputWithContext(ctx context.Context) GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateArrayOutput { +func (o GetVirtualNodeSpecListenerTimeoutGrpcArrayOutput) ToGetVirtualNodeSpecListenerTimeoutGrpcArrayOutputWithContext(ctx context.Context) GetVirtualNodeSpecListenerTimeoutGrpcArrayOutput { return o } -func (o GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateArrayOutput) Index(i pulumi.IntInput) GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificate { - return vs[0].([]GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificate)[vs[1].(int)] - }).(GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateOutput) +func (o GetVirtualNodeSpecListenerTimeoutGrpcArrayOutput) Index(i pulumi.IntInput) GetVirtualNodeSpecListenerTimeoutGrpcOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetVirtualNodeSpecListenerTimeoutGrpc { + return vs[0].([]GetVirtualNodeSpecListenerTimeoutGrpc)[vs[1].(int)] + }).(GetVirtualNodeSpecListenerTimeoutGrpcOutput) } -type GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateFile struct { - // Certificate trust chain for a certificate stored on the file system of the mesh endpoint that the proxy is running on. Must be between 1 and 255 characters in length. - CertificateChain string `pulumi:"certificateChain"` - // Private key for a certificate stored on the file system of the mesh endpoint that the proxy is running on. Must be between 1 and 255 characters in length. - PrivateKey string `pulumi:"privateKey"` +type GetVirtualNodeSpecListenerTimeoutGrpcIdle struct { + Unit string `pulumi:"unit"` + Value int `pulumi:"value"` } -// GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateFileInput is an input type that accepts GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateFileArgs and GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateFileOutput values. -// You can construct a concrete instance of `GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateFileInput` via: +// GetVirtualNodeSpecListenerTimeoutGrpcIdleInput is an input type that accepts GetVirtualNodeSpecListenerTimeoutGrpcIdleArgs and GetVirtualNodeSpecListenerTimeoutGrpcIdleOutput values. +// You can construct a concrete instance of `GetVirtualNodeSpecListenerTimeoutGrpcIdleInput` via: // -// GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateFileArgs{...} -type GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateFileInput interface { +// GetVirtualNodeSpecListenerTimeoutGrpcIdleArgs{...} +type GetVirtualNodeSpecListenerTimeoutGrpcIdleInput interface { pulumi.Input - ToGetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateFileOutput() GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateFileOutput - ToGetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateFileOutputWithContext(context.Context) GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateFileOutput + ToGetVirtualNodeSpecListenerTimeoutGrpcIdleOutput() GetVirtualNodeSpecListenerTimeoutGrpcIdleOutput + ToGetVirtualNodeSpecListenerTimeoutGrpcIdleOutputWithContext(context.Context) GetVirtualNodeSpecListenerTimeoutGrpcIdleOutput } -type GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateFileArgs struct { - // Certificate trust chain for a certificate stored on the file system of the mesh endpoint that the proxy is running on. Must be between 1 and 255 characters in length. - CertificateChain pulumi.StringInput `pulumi:"certificateChain"` - // Private key for a certificate stored on the file system of the mesh endpoint that the proxy is running on. Must be between 1 and 255 characters in length. - PrivateKey pulumi.StringInput `pulumi:"privateKey"` +type GetVirtualNodeSpecListenerTimeoutGrpcIdleArgs struct { + Unit pulumi.StringInput `pulumi:"unit"` + Value pulumi.IntInput `pulumi:"value"` } -func (GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateFileArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateFile)(nil)).Elem() +func (GetVirtualNodeSpecListenerTimeoutGrpcIdleArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetVirtualNodeSpecListenerTimeoutGrpcIdle)(nil)).Elem() } -func (i GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateFileArgs) ToGetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateFileOutput() GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateFileOutput { - return i.ToGetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateFileOutputWithContext(context.Background()) +func (i GetVirtualNodeSpecListenerTimeoutGrpcIdleArgs) ToGetVirtualNodeSpecListenerTimeoutGrpcIdleOutput() GetVirtualNodeSpecListenerTimeoutGrpcIdleOutput { + return i.ToGetVirtualNodeSpecListenerTimeoutGrpcIdleOutputWithContext(context.Background()) } -func (i GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateFileArgs) ToGetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateFileOutputWithContext(ctx context.Context) GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateFileOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateFileOutput) +func (i GetVirtualNodeSpecListenerTimeoutGrpcIdleArgs) ToGetVirtualNodeSpecListenerTimeoutGrpcIdleOutputWithContext(ctx context.Context) GetVirtualNodeSpecListenerTimeoutGrpcIdleOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetVirtualNodeSpecListenerTimeoutGrpcIdleOutput) } -// GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateFileArrayInput is an input type that accepts GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateFileArray and GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateFileArrayOutput values. -// You can construct a concrete instance of `GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateFileArrayInput` via: +// GetVirtualNodeSpecListenerTimeoutGrpcIdleArrayInput is an input type that accepts GetVirtualNodeSpecListenerTimeoutGrpcIdleArray and GetVirtualNodeSpecListenerTimeoutGrpcIdleArrayOutput values. +// You can construct a concrete instance of `GetVirtualNodeSpecListenerTimeoutGrpcIdleArrayInput` via: // -// GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateFileArray{ GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateFileArgs{...} } -type GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateFileArrayInput interface { +// GetVirtualNodeSpecListenerTimeoutGrpcIdleArray{ GetVirtualNodeSpecListenerTimeoutGrpcIdleArgs{...} } +type GetVirtualNodeSpecListenerTimeoutGrpcIdleArrayInput interface { pulumi.Input - ToGetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateFileArrayOutput() GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateFileArrayOutput - ToGetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateFileArrayOutputWithContext(context.Context) GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateFileArrayOutput + ToGetVirtualNodeSpecListenerTimeoutGrpcIdleArrayOutput() GetVirtualNodeSpecListenerTimeoutGrpcIdleArrayOutput + ToGetVirtualNodeSpecListenerTimeoutGrpcIdleArrayOutputWithContext(context.Context) GetVirtualNodeSpecListenerTimeoutGrpcIdleArrayOutput } -type GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateFileArray []GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateFileInput +type GetVirtualNodeSpecListenerTimeoutGrpcIdleArray []GetVirtualNodeSpecListenerTimeoutGrpcIdleInput -func (GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateFileArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateFile)(nil)).Elem() +func (GetVirtualNodeSpecListenerTimeoutGrpcIdleArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetVirtualNodeSpecListenerTimeoutGrpcIdle)(nil)).Elem() } -func (i GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateFileArray) ToGetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateFileArrayOutput() GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateFileArrayOutput { - return i.ToGetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateFileArrayOutputWithContext(context.Background()) +func (i GetVirtualNodeSpecListenerTimeoutGrpcIdleArray) ToGetVirtualNodeSpecListenerTimeoutGrpcIdleArrayOutput() GetVirtualNodeSpecListenerTimeoutGrpcIdleArrayOutput { + return i.ToGetVirtualNodeSpecListenerTimeoutGrpcIdleArrayOutputWithContext(context.Background()) } -func (i GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateFileArray) ToGetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateFileArrayOutputWithContext(ctx context.Context) GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateFileArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateFileArrayOutput) +func (i GetVirtualNodeSpecListenerTimeoutGrpcIdleArray) ToGetVirtualNodeSpecListenerTimeoutGrpcIdleArrayOutputWithContext(ctx context.Context) GetVirtualNodeSpecListenerTimeoutGrpcIdleArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetVirtualNodeSpecListenerTimeoutGrpcIdleArrayOutput) } -type GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateFileOutput struct{ *pulumi.OutputState } +type GetVirtualNodeSpecListenerTimeoutGrpcIdleOutput struct{ *pulumi.OutputState } -func (GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateFileOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateFile)(nil)).Elem() +func (GetVirtualNodeSpecListenerTimeoutGrpcIdleOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetVirtualNodeSpecListenerTimeoutGrpcIdle)(nil)).Elem() } -func (o GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateFileOutput) ToGetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateFileOutput() GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateFileOutput { +func (o GetVirtualNodeSpecListenerTimeoutGrpcIdleOutput) ToGetVirtualNodeSpecListenerTimeoutGrpcIdleOutput() GetVirtualNodeSpecListenerTimeoutGrpcIdleOutput { return o } -func (o GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateFileOutput) ToGetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateFileOutputWithContext(ctx context.Context) GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateFileOutput { +func (o GetVirtualNodeSpecListenerTimeoutGrpcIdleOutput) ToGetVirtualNodeSpecListenerTimeoutGrpcIdleOutputWithContext(ctx context.Context) GetVirtualNodeSpecListenerTimeoutGrpcIdleOutput { return o } -// Certificate trust chain for a certificate stored on the file system of the mesh endpoint that the proxy is running on. Must be between 1 and 255 characters in length. -func (o GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateFileOutput) CertificateChain() pulumi.StringOutput { - return o.ApplyT(func(v GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateFile) string { - return v.CertificateChain - }).(pulumi.StringOutput) +func (o GetVirtualNodeSpecListenerTimeoutGrpcIdleOutput) Unit() pulumi.StringOutput { + return o.ApplyT(func(v GetVirtualNodeSpecListenerTimeoutGrpcIdle) string { return v.Unit }).(pulumi.StringOutput) } -// Private key for a certificate stored on the file system of the mesh endpoint that the proxy is running on. Must be between 1 and 255 characters in length. -func (o GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateFileOutput) PrivateKey() pulumi.StringOutput { - return o.ApplyT(func(v GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateFile) string { return v.PrivateKey }).(pulumi.StringOutput) +func (o GetVirtualNodeSpecListenerTimeoutGrpcIdleOutput) Value() pulumi.IntOutput { + return o.ApplyT(func(v GetVirtualNodeSpecListenerTimeoutGrpcIdle) int { return v.Value }).(pulumi.IntOutput) } -type GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateFileArrayOutput struct{ *pulumi.OutputState } +type GetVirtualNodeSpecListenerTimeoutGrpcIdleArrayOutput struct{ *pulumi.OutputState } -func (GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateFileArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateFile)(nil)).Elem() +func (GetVirtualNodeSpecListenerTimeoutGrpcIdleArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetVirtualNodeSpecListenerTimeoutGrpcIdle)(nil)).Elem() } -func (o GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateFileArrayOutput) ToGetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateFileArrayOutput() GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateFileArrayOutput { +func (o GetVirtualNodeSpecListenerTimeoutGrpcIdleArrayOutput) ToGetVirtualNodeSpecListenerTimeoutGrpcIdleArrayOutput() GetVirtualNodeSpecListenerTimeoutGrpcIdleArrayOutput { return o } -func (o GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateFileArrayOutput) ToGetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateFileArrayOutputWithContext(ctx context.Context) GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateFileArrayOutput { +func (o GetVirtualNodeSpecListenerTimeoutGrpcIdleArrayOutput) ToGetVirtualNodeSpecListenerTimeoutGrpcIdleArrayOutputWithContext(ctx context.Context) GetVirtualNodeSpecListenerTimeoutGrpcIdleArrayOutput { return o } -func (o GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateFileArrayOutput) Index(i pulumi.IntInput) GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateFileOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateFile { - return vs[0].([]GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateFile)[vs[1].(int)] - }).(GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateFileOutput) +func (o GetVirtualNodeSpecListenerTimeoutGrpcIdleArrayOutput) Index(i pulumi.IntInput) GetVirtualNodeSpecListenerTimeoutGrpcIdleOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetVirtualNodeSpecListenerTimeoutGrpcIdle { + return vs[0].([]GetVirtualNodeSpecListenerTimeoutGrpcIdle)[vs[1].(int)] + }).(GetVirtualNodeSpecListenerTimeoutGrpcIdleOutput) } -type GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateSd struct { - // Name of the secret for a virtual gateway's Transport Layer Security (TLS) Secret Discovery Service validation context trust. - SecretName string `pulumi:"secretName"` +type GetVirtualNodeSpecListenerTimeoutGrpcPerRequest struct { + Unit string `pulumi:"unit"` + Value int `pulumi:"value"` } -// GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateSdInput is an input type that accepts GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateSdArgs and GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateSdOutput values. -// You can construct a concrete instance of `GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateSdInput` via: +// GetVirtualNodeSpecListenerTimeoutGrpcPerRequestInput is an input type that accepts GetVirtualNodeSpecListenerTimeoutGrpcPerRequestArgs and GetVirtualNodeSpecListenerTimeoutGrpcPerRequestOutput values. +// You can construct a concrete instance of `GetVirtualNodeSpecListenerTimeoutGrpcPerRequestInput` via: // -// GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateSdArgs{...} -type GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateSdInput interface { +// GetVirtualNodeSpecListenerTimeoutGrpcPerRequestArgs{...} +type GetVirtualNodeSpecListenerTimeoutGrpcPerRequestInput interface { pulumi.Input - ToGetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateSdOutput() GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateSdOutput - ToGetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateSdOutputWithContext(context.Context) GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateSdOutput + ToGetVirtualNodeSpecListenerTimeoutGrpcPerRequestOutput() GetVirtualNodeSpecListenerTimeoutGrpcPerRequestOutput + ToGetVirtualNodeSpecListenerTimeoutGrpcPerRequestOutputWithContext(context.Context) GetVirtualNodeSpecListenerTimeoutGrpcPerRequestOutput } -type GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateSdArgs struct { - // Name of the secret for a virtual gateway's Transport Layer Security (TLS) Secret Discovery Service validation context trust. - SecretName pulumi.StringInput `pulumi:"secretName"` +type GetVirtualNodeSpecListenerTimeoutGrpcPerRequestArgs struct { + Unit pulumi.StringInput `pulumi:"unit"` + Value pulumi.IntInput `pulumi:"value"` } -func (GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateSdArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateSd)(nil)).Elem() +func (GetVirtualNodeSpecListenerTimeoutGrpcPerRequestArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetVirtualNodeSpecListenerTimeoutGrpcPerRequest)(nil)).Elem() } -func (i GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateSdArgs) ToGetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateSdOutput() GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateSdOutput { - return i.ToGetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateSdOutputWithContext(context.Background()) +func (i GetVirtualNodeSpecListenerTimeoutGrpcPerRequestArgs) ToGetVirtualNodeSpecListenerTimeoutGrpcPerRequestOutput() GetVirtualNodeSpecListenerTimeoutGrpcPerRequestOutput { + return i.ToGetVirtualNodeSpecListenerTimeoutGrpcPerRequestOutputWithContext(context.Background()) } -func (i GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateSdArgs) ToGetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateSdOutputWithContext(ctx context.Context) GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateSdOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateSdOutput) +func (i GetVirtualNodeSpecListenerTimeoutGrpcPerRequestArgs) ToGetVirtualNodeSpecListenerTimeoutGrpcPerRequestOutputWithContext(ctx context.Context) GetVirtualNodeSpecListenerTimeoutGrpcPerRequestOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetVirtualNodeSpecListenerTimeoutGrpcPerRequestOutput) } -// GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateSdArrayInput is an input type that accepts GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateSdArray and GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateSdArrayOutput values. -// You can construct a concrete instance of `GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateSdArrayInput` via: +// GetVirtualNodeSpecListenerTimeoutGrpcPerRequestArrayInput is an input type that accepts GetVirtualNodeSpecListenerTimeoutGrpcPerRequestArray and GetVirtualNodeSpecListenerTimeoutGrpcPerRequestArrayOutput values. +// You can construct a concrete instance of `GetVirtualNodeSpecListenerTimeoutGrpcPerRequestArrayInput` via: // -// GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateSdArray{ GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateSdArgs{...} } -type GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateSdArrayInput interface { +// GetVirtualNodeSpecListenerTimeoutGrpcPerRequestArray{ GetVirtualNodeSpecListenerTimeoutGrpcPerRequestArgs{...} } +type GetVirtualNodeSpecListenerTimeoutGrpcPerRequestArrayInput interface { pulumi.Input - ToGetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateSdArrayOutput() GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateSdArrayOutput - ToGetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateSdArrayOutputWithContext(context.Context) GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateSdArrayOutput + ToGetVirtualNodeSpecListenerTimeoutGrpcPerRequestArrayOutput() GetVirtualNodeSpecListenerTimeoutGrpcPerRequestArrayOutput + ToGetVirtualNodeSpecListenerTimeoutGrpcPerRequestArrayOutputWithContext(context.Context) GetVirtualNodeSpecListenerTimeoutGrpcPerRequestArrayOutput } -type GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateSdArray []GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateSdInput +type GetVirtualNodeSpecListenerTimeoutGrpcPerRequestArray []GetVirtualNodeSpecListenerTimeoutGrpcPerRequestInput -func (GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateSdArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateSd)(nil)).Elem() +func (GetVirtualNodeSpecListenerTimeoutGrpcPerRequestArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetVirtualNodeSpecListenerTimeoutGrpcPerRequest)(nil)).Elem() } -func (i GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateSdArray) ToGetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateSdArrayOutput() GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateSdArrayOutput { - return i.ToGetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateSdArrayOutputWithContext(context.Background()) +func (i GetVirtualNodeSpecListenerTimeoutGrpcPerRequestArray) ToGetVirtualNodeSpecListenerTimeoutGrpcPerRequestArrayOutput() GetVirtualNodeSpecListenerTimeoutGrpcPerRequestArrayOutput { + return i.ToGetVirtualNodeSpecListenerTimeoutGrpcPerRequestArrayOutputWithContext(context.Background()) } -func (i GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateSdArray) ToGetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateSdArrayOutputWithContext(ctx context.Context) GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateSdArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateSdArrayOutput) +func (i GetVirtualNodeSpecListenerTimeoutGrpcPerRequestArray) ToGetVirtualNodeSpecListenerTimeoutGrpcPerRequestArrayOutputWithContext(ctx context.Context) GetVirtualNodeSpecListenerTimeoutGrpcPerRequestArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetVirtualNodeSpecListenerTimeoutGrpcPerRequestArrayOutput) } -type GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateSdOutput struct{ *pulumi.OutputState } +type GetVirtualNodeSpecListenerTimeoutGrpcPerRequestOutput struct{ *pulumi.OutputState } -func (GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateSdOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateSd)(nil)).Elem() +func (GetVirtualNodeSpecListenerTimeoutGrpcPerRequestOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetVirtualNodeSpecListenerTimeoutGrpcPerRequest)(nil)).Elem() } -func (o GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateSdOutput) ToGetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateSdOutput() GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateSdOutput { +func (o GetVirtualNodeSpecListenerTimeoutGrpcPerRequestOutput) ToGetVirtualNodeSpecListenerTimeoutGrpcPerRequestOutput() GetVirtualNodeSpecListenerTimeoutGrpcPerRequestOutput { return o } -func (o GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateSdOutput) ToGetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateSdOutputWithContext(ctx context.Context) GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateSdOutput { +func (o GetVirtualNodeSpecListenerTimeoutGrpcPerRequestOutput) ToGetVirtualNodeSpecListenerTimeoutGrpcPerRequestOutputWithContext(ctx context.Context) GetVirtualNodeSpecListenerTimeoutGrpcPerRequestOutput { return o } -// Name of the secret for a virtual gateway's Transport Layer Security (TLS) Secret Discovery Service validation context trust. -func (o GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateSdOutput) SecretName() pulumi.StringOutput { - return o.ApplyT(func(v GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateSd) string { return v.SecretName }).(pulumi.StringOutput) +func (o GetVirtualNodeSpecListenerTimeoutGrpcPerRequestOutput) Unit() pulumi.StringOutput { + return o.ApplyT(func(v GetVirtualNodeSpecListenerTimeoutGrpcPerRequest) string { return v.Unit }).(pulumi.StringOutput) } -type GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateSdArrayOutput struct{ *pulumi.OutputState } +func (o GetVirtualNodeSpecListenerTimeoutGrpcPerRequestOutput) Value() pulumi.IntOutput { + return o.ApplyT(func(v GetVirtualNodeSpecListenerTimeoutGrpcPerRequest) int { return v.Value }).(pulumi.IntOutput) +} -func (GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateSdArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateSd)(nil)).Elem() +type GetVirtualNodeSpecListenerTimeoutGrpcPerRequestArrayOutput struct{ *pulumi.OutputState } + +func (GetVirtualNodeSpecListenerTimeoutGrpcPerRequestArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetVirtualNodeSpecListenerTimeoutGrpcPerRequest)(nil)).Elem() } -func (o GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateSdArrayOutput) ToGetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateSdArrayOutput() GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateSdArrayOutput { +func (o GetVirtualNodeSpecListenerTimeoutGrpcPerRequestArrayOutput) ToGetVirtualNodeSpecListenerTimeoutGrpcPerRequestArrayOutput() GetVirtualNodeSpecListenerTimeoutGrpcPerRequestArrayOutput { return o } -func (o GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateSdArrayOutput) ToGetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateSdArrayOutputWithContext(ctx context.Context) GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateSdArrayOutput { +func (o GetVirtualNodeSpecListenerTimeoutGrpcPerRequestArrayOutput) ToGetVirtualNodeSpecListenerTimeoutGrpcPerRequestArrayOutputWithContext(ctx context.Context) GetVirtualNodeSpecListenerTimeoutGrpcPerRequestArrayOutput { return o } -func (o GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateSdArrayOutput) Index(i pulumi.IntInput) GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateSdOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateSd { - return vs[0].([]GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateSd)[vs[1].(int)] - }).(GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateSdOutput) +func (o GetVirtualNodeSpecListenerTimeoutGrpcPerRequestArrayOutput) Index(i pulumi.IntInput) GetVirtualNodeSpecListenerTimeoutGrpcPerRequestOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetVirtualNodeSpecListenerTimeoutGrpcPerRequest { + return vs[0].([]GetVirtualNodeSpecListenerTimeoutGrpcPerRequest)[vs[1].(int)] + }).(GetVirtualNodeSpecListenerTimeoutGrpcPerRequestOutput) } -type GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidation struct { - // SANs for a virtual gateway's listener's Transport Layer Security (TLS) validation context. - SubjectAlternativeNames []GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationSubjectAlternativeName `pulumi:"subjectAlternativeNames"` - // TLS validation context trust. - Trusts []GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrust `pulumi:"trusts"` +type GetVirtualNodeSpecListenerTimeoutHttp2 struct { + Idles []GetVirtualNodeSpecListenerTimeoutHttp2Idle `pulumi:"idles"` + PerRequests []GetVirtualNodeSpecListenerTimeoutHttp2PerRequest `pulumi:"perRequests"` } -// GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationInput is an input type that accepts GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationArgs and GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationOutput values. -// You can construct a concrete instance of `GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationInput` via: +// GetVirtualNodeSpecListenerTimeoutHttp2Input is an input type that accepts GetVirtualNodeSpecListenerTimeoutHttp2Args and GetVirtualNodeSpecListenerTimeoutHttp2Output values. +// You can construct a concrete instance of `GetVirtualNodeSpecListenerTimeoutHttp2Input` via: // -// GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationArgs{...} -type GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationInput interface { +// GetVirtualNodeSpecListenerTimeoutHttp2Args{...} +type GetVirtualNodeSpecListenerTimeoutHttp2Input interface { pulumi.Input - ToGetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationOutput() GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationOutput - ToGetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationOutputWithContext(context.Context) GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationOutput + ToGetVirtualNodeSpecListenerTimeoutHttp2Output() GetVirtualNodeSpecListenerTimeoutHttp2Output + ToGetVirtualNodeSpecListenerTimeoutHttp2OutputWithContext(context.Context) GetVirtualNodeSpecListenerTimeoutHttp2Output } -type GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationArgs struct { - // SANs for a virtual gateway's listener's Transport Layer Security (TLS) validation context. - SubjectAlternativeNames GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameArrayInput `pulumi:"subjectAlternativeNames"` - // TLS validation context trust. - Trusts GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustArrayInput `pulumi:"trusts"` +type GetVirtualNodeSpecListenerTimeoutHttp2Args struct { + Idles GetVirtualNodeSpecListenerTimeoutHttp2IdleArrayInput `pulumi:"idles"` + PerRequests GetVirtualNodeSpecListenerTimeoutHttp2PerRequestArrayInput `pulumi:"perRequests"` } -func (GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidation)(nil)).Elem() +func (GetVirtualNodeSpecListenerTimeoutHttp2Args) ElementType() reflect.Type { + return reflect.TypeOf((*GetVirtualNodeSpecListenerTimeoutHttp2)(nil)).Elem() } -func (i GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationArgs) ToGetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationOutput() GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationOutput { - return i.ToGetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationOutputWithContext(context.Background()) +func (i GetVirtualNodeSpecListenerTimeoutHttp2Args) ToGetVirtualNodeSpecListenerTimeoutHttp2Output() GetVirtualNodeSpecListenerTimeoutHttp2Output { + return i.ToGetVirtualNodeSpecListenerTimeoutHttp2OutputWithContext(context.Background()) } -func (i GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationArgs) ToGetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationOutputWithContext(ctx context.Context) GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationOutput) +func (i GetVirtualNodeSpecListenerTimeoutHttp2Args) ToGetVirtualNodeSpecListenerTimeoutHttp2OutputWithContext(ctx context.Context) GetVirtualNodeSpecListenerTimeoutHttp2Output { + return pulumi.ToOutputWithContext(ctx, i).(GetVirtualNodeSpecListenerTimeoutHttp2Output) } -// GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationArrayInput is an input type that accepts GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationArray and GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationArrayOutput values. -// You can construct a concrete instance of `GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationArrayInput` via: +// GetVirtualNodeSpecListenerTimeoutHttp2ArrayInput is an input type that accepts GetVirtualNodeSpecListenerTimeoutHttp2Array and GetVirtualNodeSpecListenerTimeoutHttp2ArrayOutput values. +// You can construct a concrete instance of `GetVirtualNodeSpecListenerTimeoutHttp2ArrayInput` via: // -// GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationArray{ GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationArgs{...} } -type GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationArrayInput interface { +// GetVirtualNodeSpecListenerTimeoutHttp2Array{ GetVirtualNodeSpecListenerTimeoutHttp2Args{...} } +type GetVirtualNodeSpecListenerTimeoutHttp2ArrayInput interface { pulumi.Input - ToGetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationArrayOutput() GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationArrayOutput - ToGetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationArrayOutputWithContext(context.Context) GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationArrayOutput + ToGetVirtualNodeSpecListenerTimeoutHttp2ArrayOutput() GetVirtualNodeSpecListenerTimeoutHttp2ArrayOutput + ToGetVirtualNodeSpecListenerTimeoutHttp2ArrayOutputWithContext(context.Context) GetVirtualNodeSpecListenerTimeoutHttp2ArrayOutput } -type GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationArray []GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationInput +type GetVirtualNodeSpecListenerTimeoutHttp2Array []GetVirtualNodeSpecListenerTimeoutHttp2Input -func (GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidation)(nil)).Elem() +func (GetVirtualNodeSpecListenerTimeoutHttp2Array) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetVirtualNodeSpecListenerTimeoutHttp2)(nil)).Elem() } -func (i GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationArray) ToGetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationArrayOutput() GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationArrayOutput { - return i.ToGetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationArrayOutputWithContext(context.Background()) +func (i GetVirtualNodeSpecListenerTimeoutHttp2Array) ToGetVirtualNodeSpecListenerTimeoutHttp2ArrayOutput() GetVirtualNodeSpecListenerTimeoutHttp2ArrayOutput { + return i.ToGetVirtualNodeSpecListenerTimeoutHttp2ArrayOutputWithContext(context.Background()) } -func (i GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationArray) ToGetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationArrayOutputWithContext(ctx context.Context) GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationArrayOutput) +func (i GetVirtualNodeSpecListenerTimeoutHttp2Array) ToGetVirtualNodeSpecListenerTimeoutHttp2ArrayOutputWithContext(ctx context.Context) GetVirtualNodeSpecListenerTimeoutHttp2ArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetVirtualNodeSpecListenerTimeoutHttp2ArrayOutput) } -type GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationOutput struct{ *pulumi.OutputState } +type GetVirtualNodeSpecListenerTimeoutHttp2Output struct{ *pulumi.OutputState } -func (GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidation)(nil)).Elem() +func (GetVirtualNodeSpecListenerTimeoutHttp2Output) ElementType() reflect.Type { + return reflect.TypeOf((*GetVirtualNodeSpecListenerTimeoutHttp2)(nil)).Elem() } -func (o GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationOutput) ToGetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationOutput() GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationOutput { +func (o GetVirtualNodeSpecListenerTimeoutHttp2Output) ToGetVirtualNodeSpecListenerTimeoutHttp2Output() GetVirtualNodeSpecListenerTimeoutHttp2Output { return o } -func (o GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationOutput) ToGetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationOutputWithContext(ctx context.Context) GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationOutput { +func (o GetVirtualNodeSpecListenerTimeoutHttp2Output) ToGetVirtualNodeSpecListenerTimeoutHttp2OutputWithContext(ctx context.Context) GetVirtualNodeSpecListenerTimeoutHttp2Output { return o } -// SANs for a virtual gateway's listener's Transport Layer Security (TLS) validation context. -func (o GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationOutput) SubjectAlternativeNames() GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameArrayOutput { - return o.ApplyT(func(v GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidation) []GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationSubjectAlternativeName { - return v.SubjectAlternativeNames - }).(GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameArrayOutput) +func (o GetVirtualNodeSpecListenerTimeoutHttp2Output) Idles() GetVirtualNodeSpecListenerTimeoutHttp2IdleArrayOutput { + return o.ApplyT(func(v GetVirtualNodeSpecListenerTimeoutHttp2) []GetVirtualNodeSpecListenerTimeoutHttp2Idle { + return v.Idles + }).(GetVirtualNodeSpecListenerTimeoutHttp2IdleArrayOutput) } -// TLS validation context trust. -func (o GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationOutput) Trusts() GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustArrayOutput { - return o.ApplyT(func(v GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidation) []GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrust { - return v.Trusts - }).(GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustArrayOutput) +func (o GetVirtualNodeSpecListenerTimeoutHttp2Output) PerRequests() GetVirtualNodeSpecListenerTimeoutHttp2PerRequestArrayOutput { + return o.ApplyT(func(v GetVirtualNodeSpecListenerTimeoutHttp2) []GetVirtualNodeSpecListenerTimeoutHttp2PerRequest { + return v.PerRequests + }).(GetVirtualNodeSpecListenerTimeoutHttp2PerRequestArrayOutput) } -type GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationArrayOutput struct{ *pulumi.OutputState } +type GetVirtualNodeSpecListenerTimeoutHttp2ArrayOutput struct{ *pulumi.OutputState } -func (GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidation)(nil)).Elem() +func (GetVirtualNodeSpecListenerTimeoutHttp2ArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetVirtualNodeSpecListenerTimeoutHttp2)(nil)).Elem() } -func (o GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationArrayOutput) ToGetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationArrayOutput() GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationArrayOutput { +func (o GetVirtualNodeSpecListenerTimeoutHttp2ArrayOutput) ToGetVirtualNodeSpecListenerTimeoutHttp2ArrayOutput() GetVirtualNodeSpecListenerTimeoutHttp2ArrayOutput { return o } -func (o GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationArrayOutput) ToGetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationArrayOutputWithContext(ctx context.Context) GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationArrayOutput { +func (o GetVirtualNodeSpecListenerTimeoutHttp2ArrayOutput) ToGetVirtualNodeSpecListenerTimeoutHttp2ArrayOutputWithContext(ctx context.Context) GetVirtualNodeSpecListenerTimeoutHttp2ArrayOutput { return o } -func (o GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationArrayOutput) Index(i pulumi.IntInput) GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidation { - return vs[0].([]GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidation)[vs[1].(int)] - }).(GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationOutput) +func (o GetVirtualNodeSpecListenerTimeoutHttp2ArrayOutput) Index(i pulumi.IntInput) GetVirtualNodeSpecListenerTimeoutHttp2Output { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetVirtualNodeSpecListenerTimeoutHttp2 { + return vs[0].([]GetVirtualNodeSpecListenerTimeoutHttp2)[vs[1].(int)] + }).(GetVirtualNodeSpecListenerTimeoutHttp2Output) } -type GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationSubjectAlternativeName struct { - // Criteria for determining a SAN's match. - Matches []GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameMatch `pulumi:"matches"` +type GetVirtualNodeSpecListenerTimeoutHttp2Idle struct { + Unit string `pulumi:"unit"` + Value int `pulumi:"value"` } -// GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameInput is an input type that accepts GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameArgs and GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameOutput values. -// You can construct a concrete instance of `GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameInput` via: +// GetVirtualNodeSpecListenerTimeoutHttp2IdleInput is an input type that accepts GetVirtualNodeSpecListenerTimeoutHttp2IdleArgs and GetVirtualNodeSpecListenerTimeoutHttp2IdleOutput values. +// You can construct a concrete instance of `GetVirtualNodeSpecListenerTimeoutHttp2IdleInput` via: // -// GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameArgs{...} -type GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameInput interface { +// GetVirtualNodeSpecListenerTimeoutHttp2IdleArgs{...} +type GetVirtualNodeSpecListenerTimeoutHttp2IdleInput interface { pulumi.Input - ToGetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameOutput() GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameOutput - ToGetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameOutputWithContext(context.Context) GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameOutput + ToGetVirtualNodeSpecListenerTimeoutHttp2IdleOutput() GetVirtualNodeSpecListenerTimeoutHttp2IdleOutput + ToGetVirtualNodeSpecListenerTimeoutHttp2IdleOutputWithContext(context.Context) GetVirtualNodeSpecListenerTimeoutHttp2IdleOutput } -type GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameArgs struct { - // Criteria for determining a SAN's match. - Matches GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameMatchArrayInput `pulumi:"matches"` +type GetVirtualNodeSpecListenerTimeoutHttp2IdleArgs struct { + Unit pulumi.StringInput `pulumi:"unit"` + Value pulumi.IntInput `pulumi:"value"` } -func (GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationSubjectAlternativeName)(nil)).Elem() +func (GetVirtualNodeSpecListenerTimeoutHttp2IdleArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetVirtualNodeSpecListenerTimeoutHttp2Idle)(nil)).Elem() } -func (i GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameArgs) ToGetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameOutput() GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameOutput { - return i.ToGetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameOutputWithContext(context.Background()) +func (i GetVirtualNodeSpecListenerTimeoutHttp2IdleArgs) ToGetVirtualNodeSpecListenerTimeoutHttp2IdleOutput() GetVirtualNodeSpecListenerTimeoutHttp2IdleOutput { + return i.ToGetVirtualNodeSpecListenerTimeoutHttp2IdleOutputWithContext(context.Background()) } -func (i GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameArgs) ToGetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameOutputWithContext(ctx context.Context) GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameOutput) +func (i GetVirtualNodeSpecListenerTimeoutHttp2IdleArgs) ToGetVirtualNodeSpecListenerTimeoutHttp2IdleOutputWithContext(ctx context.Context) GetVirtualNodeSpecListenerTimeoutHttp2IdleOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetVirtualNodeSpecListenerTimeoutHttp2IdleOutput) } -// GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameArrayInput is an input type that accepts GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameArray and GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameArrayOutput values. -// You can construct a concrete instance of `GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameArrayInput` via: +// GetVirtualNodeSpecListenerTimeoutHttp2IdleArrayInput is an input type that accepts GetVirtualNodeSpecListenerTimeoutHttp2IdleArray and GetVirtualNodeSpecListenerTimeoutHttp2IdleArrayOutput values. +// You can construct a concrete instance of `GetVirtualNodeSpecListenerTimeoutHttp2IdleArrayInput` via: // -// GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameArray{ GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameArgs{...} } -type GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameArrayInput interface { +// GetVirtualNodeSpecListenerTimeoutHttp2IdleArray{ GetVirtualNodeSpecListenerTimeoutHttp2IdleArgs{...} } +type GetVirtualNodeSpecListenerTimeoutHttp2IdleArrayInput interface { pulumi.Input - ToGetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameArrayOutput() GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameArrayOutput - ToGetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameArrayOutputWithContext(context.Context) GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameArrayOutput + ToGetVirtualNodeSpecListenerTimeoutHttp2IdleArrayOutput() GetVirtualNodeSpecListenerTimeoutHttp2IdleArrayOutput + ToGetVirtualNodeSpecListenerTimeoutHttp2IdleArrayOutputWithContext(context.Context) GetVirtualNodeSpecListenerTimeoutHttp2IdleArrayOutput } -type GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameArray []GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameInput +type GetVirtualNodeSpecListenerTimeoutHttp2IdleArray []GetVirtualNodeSpecListenerTimeoutHttp2IdleInput -func (GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationSubjectAlternativeName)(nil)).Elem() +func (GetVirtualNodeSpecListenerTimeoutHttp2IdleArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetVirtualNodeSpecListenerTimeoutHttp2Idle)(nil)).Elem() } -func (i GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameArray) ToGetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameArrayOutput() GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameArrayOutput { - return i.ToGetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameArrayOutputWithContext(context.Background()) +func (i GetVirtualNodeSpecListenerTimeoutHttp2IdleArray) ToGetVirtualNodeSpecListenerTimeoutHttp2IdleArrayOutput() GetVirtualNodeSpecListenerTimeoutHttp2IdleArrayOutput { + return i.ToGetVirtualNodeSpecListenerTimeoutHttp2IdleArrayOutputWithContext(context.Background()) } -func (i GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameArray) ToGetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameArrayOutputWithContext(ctx context.Context) GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameArrayOutput) +func (i GetVirtualNodeSpecListenerTimeoutHttp2IdleArray) ToGetVirtualNodeSpecListenerTimeoutHttp2IdleArrayOutputWithContext(ctx context.Context) GetVirtualNodeSpecListenerTimeoutHttp2IdleArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetVirtualNodeSpecListenerTimeoutHttp2IdleArrayOutput) } -type GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameOutput struct{ *pulumi.OutputState } +type GetVirtualNodeSpecListenerTimeoutHttp2IdleOutput struct{ *pulumi.OutputState } -func (GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationSubjectAlternativeName)(nil)).Elem() +func (GetVirtualNodeSpecListenerTimeoutHttp2IdleOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetVirtualNodeSpecListenerTimeoutHttp2Idle)(nil)).Elem() } -func (o GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameOutput) ToGetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameOutput() GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameOutput { +func (o GetVirtualNodeSpecListenerTimeoutHttp2IdleOutput) ToGetVirtualNodeSpecListenerTimeoutHttp2IdleOutput() GetVirtualNodeSpecListenerTimeoutHttp2IdleOutput { return o } -func (o GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameOutput) ToGetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameOutputWithContext(ctx context.Context) GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameOutput { +func (o GetVirtualNodeSpecListenerTimeoutHttp2IdleOutput) ToGetVirtualNodeSpecListenerTimeoutHttp2IdleOutputWithContext(ctx context.Context) GetVirtualNodeSpecListenerTimeoutHttp2IdleOutput { return o } -// Criteria for determining a SAN's match. -func (o GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameOutput) Matches() GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameMatchArrayOutput { - return o.ApplyT(func(v GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationSubjectAlternativeName) []GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameMatch { - return v.Matches - }).(GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameMatchArrayOutput) +func (o GetVirtualNodeSpecListenerTimeoutHttp2IdleOutput) Unit() pulumi.StringOutput { + return o.ApplyT(func(v GetVirtualNodeSpecListenerTimeoutHttp2Idle) string { return v.Unit }).(pulumi.StringOutput) } -type GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameArrayOutput struct{ *pulumi.OutputState } +func (o GetVirtualNodeSpecListenerTimeoutHttp2IdleOutput) Value() pulumi.IntOutput { + return o.ApplyT(func(v GetVirtualNodeSpecListenerTimeoutHttp2Idle) int { return v.Value }).(pulumi.IntOutput) +} -func (GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationSubjectAlternativeName)(nil)).Elem() +type GetVirtualNodeSpecListenerTimeoutHttp2IdleArrayOutput struct{ *pulumi.OutputState } + +func (GetVirtualNodeSpecListenerTimeoutHttp2IdleArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetVirtualNodeSpecListenerTimeoutHttp2Idle)(nil)).Elem() } -func (o GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameArrayOutput) ToGetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameArrayOutput() GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameArrayOutput { +func (o GetVirtualNodeSpecListenerTimeoutHttp2IdleArrayOutput) ToGetVirtualNodeSpecListenerTimeoutHttp2IdleArrayOutput() GetVirtualNodeSpecListenerTimeoutHttp2IdleArrayOutput { return o } -func (o GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameArrayOutput) ToGetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameArrayOutputWithContext(ctx context.Context) GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameArrayOutput { +func (o GetVirtualNodeSpecListenerTimeoutHttp2IdleArrayOutput) ToGetVirtualNodeSpecListenerTimeoutHttp2IdleArrayOutputWithContext(ctx context.Context) GetVirtualNodeSpecListenerTimeoutHttp2IdleArrayOutput { return o } -func (o GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameArrayOutput) Index(i pulumi.IntInput) GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationSubjectAlternativeName { - return vs[0].([]GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationSubjectAlternativeName)[vs[1].(int)] - }).(GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameOutput) +func (o GetVirtualNodeSpecListenerTimeoutHttp2IdleArrayOutput) Index(i pulumi.IntInput) GetVirtualNodeSpecListenerTimeoutHttp2IdleOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetVirtualNodeSpecListenerTimeoutHttp2Idle { + return vs[0].([]GetVirtualNodeSpecListenerTimeoutHttp2Idle)[vs[1].(int)] + }).(GetVirtualNodeSpecListenerTimeoutHttp2IdleOutput) } -type GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameMatch struct { - // Values sent must match the specified values exactly. - Exacts []string `pulumi:"exacts"` +type GetVirtualNodeSpecListenerTimeoutHttp2PerRequest struct { + Unit string `pulumi:"unit"` + Value int `pulumi:"value"` } -// GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameMatchInput is an input type that accepts GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameMatchArgs and GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameMatchOutput values. -// You can construct a concrete instance of `GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameMatchInput` via: +// GetVirtualNodeSpecListenerTimeoutHttp2PerRequestInput is an input type that accepts GetVirtualNodeSpecListenerTimeoutHttp2PerRequestArgs and GetVirtualNodeSpecListenerTimeoutHttp2PerRequestOutput values. +// You can construct a concrete instance of `GetVirtualNodeSpecListenerTimeoutHttp2PerRequestInput` via: // -// GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameMatchArgs{...} -type GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameMatchInput interface { +// GetVirtualNodeSpecListenerTimeoutHttp2PerRequestArgs{...} +type GetVirtualNodeSpecListenerTimeoutHttp2PerRequestInput interface { pulumi.Input - ToGetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameMatchOutput() GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameMatchOutput - ToGetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameMatchOutputWithContext(context.Context) GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameMatchOutput + ToGetVirtualNodeSpecListenerTimeoutHttp2PerRequestOutput() GetVirtualNodeSpecListenerTimeoutHttp2PerRequestOutput + ToGetVirtualNodeSpecListenerTimeoutHttp2PerRequestOutputWithContext(context.Context) GetVirtualNodeSpecListenerTimeoutHttp2PerRequestOutput } -type GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameMatchArgs struct { - // Values sent must match the specified values exactly. - Exacts pulumi.StringArrayInput `pulumi:"exacts"` +type GetVirtualNodeSpecListenerTimeoutHttp2PerRequestArgs struct { + Unit pulumi.StringInput `pulumi:"unit"` + Value pulumi.IntInput `pulumi:"value"` } -func (GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameMatchArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameMatch)(nil)).Elem() +func (GetVirtualNodeSpecListenerTimeoutHttp2PerRequestArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetVirtualNodeSpecListenerTimeoutHttp2PerRequest)(nil)).Elem() } -func (i GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameMatchArgs) ToGetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameMatchOutput() GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameMatchOutput { - return i.ToGetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameMatchOutputWithContext(context.Background()) +func (i GetVirtualNodeSpecListenerTimeoutHttp2PerRequestArgs) ToGetVirtualNodeSpecListenerTimeoutHttp2PerRequestOutput() GetVirtualNodeSpecListenerTimeoutHttp2PerRequestOutput { + return i.ToGetVirtualNodeSpecListenerTimeoutHttp2PerRequestOutputWithContext(context.Background()) } -func (i GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameMatchArgs) ToGetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameMatchOutputWithContext(ctx context.Context) GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameMatchOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameMatchOutput) +func (i GetVirtualNodeSpecListenerTimeoutHttp2PerRequestArgs) ToGetVirtualNodeSpecListenerTimeoutHttp2PerRequestOutputWithContext(ctx context.Context) GetVirtualNodeSpecListenerTimeoutHttp2PerRequestOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetVirtualNodeSpecListenerTimeoutHttp2PerRequestOutput) } -// GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameMatchArrayInput is an input type that accepts GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameMatchArray and GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameMatchArrayOutput values. -// You can construct a concrete instance of `GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameMatchArrayInput` via: +// GetVirtualNodeSpecListenerTimeoutHttp2PerRequestArrayInput is an input type that accepts GetVirtualNodeSpecListenerTimeoutHttp2PerRequestArray and GetVirtualNodeSpecListenerTimeoutHttp2PerRequestArrayOutput values. +// You can construct a concrete instance of `GetVirtualNodeSpecListenerTimeoutHttp2PerRequestArrayInput` via: // -// GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameMatchArray{ GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameMatchArgs{...} } -type GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameMatchArrayInput interface { +// GetVirtualNodeSpecListenerTimeoutHttp2PerRequestArray{ GetVirtualNodeSpecListenerTimeoutHttp2PerRequestArgs{...} } +type GetVirtualNodeSpecListenerTimeoutHttp2PerRequestArrayInput interface { pulumi.Input - ToGetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameMatchArrayOutput() GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameMatchArrayOutput - ToGetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameMatchArrayOutputWithContext(context.Context) GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameMatchArrayOutput + ToGetVirtualNodeSpecListenerTimeoutHttp2PerRequestArrayOutput() GetVirtualNodeSpecListenerTimeoutHttp2PerRequestArrayOutput + ToGetVirtualNodeSpecListenerTimeoutHttp2PerRequestArrayOutputWithContext(context.Context) GetVirtualNodeSpecListenerTimeoutHttp2PerRequestArrayOutput } -type GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameMatchArray []GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameMatchInput +type GetVirtualNodeSpecListenerTimeoutHttp2PerRequestArray []GetVirtualNodeSpecListenerTimeoutHttp2PerRequestInput -func (GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameMatchArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameMatch)(nil)).Elem() +func (GetVirtualNodeSpecListenerTimeoutHttp2PerRequestArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetVirtualNodeSpecListenerTimeoutHttp2PerRequest)(nil)).Elem() } -func (i GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameMatchArray) ToGetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameMatchArrayOutput() GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameMatchArrayOutput { - return i.ToGetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameMatchArrayOutputWithContext(context.Background()) +func (i GetVirtualNodeSpecListenerTimeoutHttp2PerRequestArray) ToGetVirtualNodeSpecListenerTimeoutHttp2PerRequestArrayOutput() GetVirtualNodeSpecListenerTimeoutHttp2PerRequestArrayOutput { + return i.ToGetVirtualNodeSpecListenerTimeoutHttp2PerRequestArrayOutputWithContext(context.Background()) } -func (i GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameMatchArray) ToGetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameMatchArrayOutputWithContext(ctx context.Context) GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameMatchArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameMatchArrayOutput) +func (i GetVirtualNodeSpecListenerTimeoutHttp2PerRequestArray) ToGetVirtualNodeSpecListenerTimeoutHttp2PerRequestArrayOutputWithContext(ctx context.Context) GetVirtualNodeSpecListenerTimeoutHttp2PerRequestArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetVirtualNodeSpecListenerTimeoutHttp2PerRequestArrayOutput) } -type GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameMatchOutput struct{ *pulumi.OutputState } +type GetVirtualNodeSpecListenerTimeoutHttp2PerRequestOutput struct{ *pulumi.OutputState } -func (GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameMatchOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameMatch)(nil)).Elem() +func (GetVirtualNodeSpecListenerTimeoutHttp2PerRequestOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetVirtualNodeSpecListenerTimeoutHttp2PerRequest)(nil)).Elem() } -func (o GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameMatchOutput) ToGetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameMatchOutput() GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameMatchOutput { +func (o GetVirtualNodeSpecListenerTimeoutHttp2PerRequestOutput) ToGetVirtualNodeSpecListenerTimeoutHttp2PerRequestOutput() GetVirtualNodeSpecListenerTimeoutHttp2PerRequestOutput { return o } -func (o GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameMatchOutput) ToGetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameMatchOutputWithContext(ctx context.Context) GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameMatchOutput { +func (o GetVirtualNodeSpecListenerTimeoutHttp2PerRequestOutput) ToGetVirtualNodeSpecListenerTimeoutHttp2PerRequestOutputWithContext(ctx context.Context) GetVirtualNodeSpecListenerTimeoutHttp2PerRequestOutput { return o } -// Values sent must match the specified values exactly. -func (o GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameMatchOutput) Exacts() pulumi.StringArrayOutput { - return o.ApplyT(func(v GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameMatch) []string { - return v.Exacts - }).(pulumi.StringArrayOutput) +func (o GetVirtualNodeSpecListenerTimeoutHttp2PerRequestOutput) Unit() pulumi.StringOutput { + return o.ApplyT(func(v GetVirtualNodeSpecListenerTimeoutHttp2PerRequest) string { return v.Unit }).(pulumi.StringOutput) } -type GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameMatchArrayOutput struct{ *pulumi.OutputState } +func (o GetVirtualNodeSpecListenerTimeoutHttp2PerRequestOutput) Value() pulumi.IntOutput { + return o.ApplyT(func(v GetVirtualNodeSpecListenerTimeoutHttp2PerRequest) int { return v.Value }).(pulumi.IntOutput) +} -func (GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameMatchArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameMatch)(nil)).Elem() +type GetVirtualNodeSpecListenerTimeoutHttp2PerRequestArrayOutput struct{ *pulumi.OutputState } + +func (GetVirtualNodeSpecListenerTimeoutHttp2PerRequestArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetVirtualNodeSpecListenerTimeoutHttp2PerRequest)(nil)).Elem() } -func (o GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameMatchArrayOutput) ToGetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameMatchArrayOutput() GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameMatchArrayOutput { +func (o GetVirtualNodeSpecListenerTimeoutHttp2PerRequestArrayOutput) ToGetVirtualNodeSpecListenerTimeoutHttp2PerRequestArrayOutput() GetVirtualNodeSpecListenerTimeoutHttp2PerRequestArrayOutput { return o } -func (o GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameMatchArrayOutput) ToGetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameMatchArrayOutputWithContext(ctx context.Context) GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameMatchArrayOutput { +func (o GetVirtualNodeSpecListenerTimeoutHttp2PerRequestArrayOutput) ToGetVirtualNodeSpecListenerTimeoutHttp2PerRequestArrayOutputWithContext(ctx context.Context) GetVirtualNodeSpecListenerTimeoutHttp2PerRequestArrayOutput { return o } -func (o GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameMatchArrayOutput) Index(i pulumi.IntInput) GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameMatchOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameMatch { - return vs[0].([]GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameMatch)[vs[1].(int)] - }).(GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameMatchOutput) +func (o GetVirtualNodeSpecListenerTimeoutHttp2PerRequestArrayOutput) Index(i pulumi.IntInput) GetVirtualNodeSpecListenerTimeoutHttp2PerRequestOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetVirtualNodeSpecListenerTimeoutHttp2PerRequest { + return vs[0].([]GetVirtualNodeSpecListenerTimeoutHttp2PerRequest)[vs[1].(int)] + }).(GetVirtualNodeSpecListenerTimeoutHttp2PerRequestOutput) } -type GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrust struct { - // An AWS Certificate Manager (ACM) certificate. - Acms []GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustAcm `pulumi:"acms"` - // TLS validation context trust for a local file certificate. - Files []GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustFile `pulumi:"files"` - // TLS validation context trust for a [Secret Discovery Service](https://www.envoyproxy.io/docs/envoy/latest/configuration/security/secret#secret-discovery-service-sds) certificate. - Sds []GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustSd `pulumi:"sds"` +type GetVirtualNodeSpecListenerTimeoutHttp struct { + Idles []GetVirtualNodeSpecListenerTimeoutHttpIdle `pulumi:"idles"` + PerRequests []GetVirtualNodeSpecListenerTimeoutHttpPerRequest `pulumi:"perRequests"` } -// GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustInput is an input type that accepts GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustArgs and GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustOutput values. -// You can construct a concrete instance of `GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustInput` via: +// GetVirtualNodeSpecListenerTimeoutHttpInput is an input type that accepts GetVirtualNodeSpecListenerTimeoutHttpArgs and GetVirtualNodeSpecListenerTimeoutHttpOutput values. +// You can construct a concrete instance of `GetVirtualNodeSpecListenerTimeoutHttpInput` via: // -// GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustArgs{...} -type GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustInput interface { +// GetVirtualNodeSpecListenerTimeoutHttpArgs{...} +type GetVirtualNodeSpecListenerTimeoutHttpInput interface { pulumi.Input - ToGetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustOutput() GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustOutput - ToGetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustOutputWithContext(context.Context) GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustOutput + ToGetVirtualNodeSpecListenerTimeoutHttpOutput() GetVirtualNodeSpecListenerTimeoutHttpOutput + ToGetVirtualNodeSpecListenerTimeoutHttpOutputWithContext(context.Context) GetVirtualNodeSpecListenerTimeoutHttpOutput } -type GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustArgs struct { - // An AWS Certificate Manager (ACM) certificate. - Acms GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustAcmArrayInput `pulumi:"acms"` - // TLS validation context trust for a local file certificate. - Files GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustFileArrayInput `pulumi:"files"` - // TLS validation context trust for a [Secret Discovery Service](https://www.envoyproxy.io/docs/envoy/latest/configuration/security/secret#secret-discovery-service-sds) certificate. - Sds GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustSdArrayInput `pulumi:"sds"` +type GetVirtualNodeSpecListenerTimeoutHttpArgs struct { + Idles GetVirtualNodeSpecListenerTimeoutHttpIdleArrayInput `pulumi:"idles"` + PerRequests GetVirtualNodeSpecListenerTimeoutHttpPerRequestArrayInput `pulumi:"perRequests"` } -func (GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrust)(nil)).Elem() +func (GetVirtualNodeSpecListenerTimeoutHttpArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetVirtualNodeSpecListenerTimeoutHttp)(nil)).Elem() } -func (i GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustArgs) ToGetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustOutput() GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustOutput { - return i.ToGetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustOutputWithContext(context.Background()) +func (i GetVirtualNodeSpecListenerTimeoutHttpArgs) ToGetVirtualNodeSpecListenerTimeoutHttpOutput() GetVirtualNodeSpecListenerTimeoutHttpOutput { + return i.ToGetVirtualNodeSpecListenerTimeoutHttpOutputWithContext(context.Background()) } -func (i GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustArgs) ToGetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustOutputWithContext(ctx context.Context) GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustOutput) +func (i GetVirtualNodeSpecListenerTimeoutHttpArgs) ToGetVirtualNodeSpecListenerTimeoutHttpOutputWithContext(ctx context.Context) GetVirtualNodeSpecListenerTimeoutHttpOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetVirtualNodeSpecListenerTimeoutHttpOutput) } -// GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustArrayInput is an input type that accepts GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustArray and GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustArrayOutput values. -// You can construct a concrete instance of `GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustArrayInput` via: +// GetVirtualNodeSpecListenerTimeoutHttpArrayInput is an input type that accepts GetVirtualNodeSpecListenerTimeoutHttpArray and GetVirtualNodeSpecListenerTimeoutHttpArrayOutput values. +// You can construct a concrete instance of `GetVirtualNodeSpecListenerTimeoutHttpArrayInput` via: // -// GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustArray{ GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustArgs{...} } -type GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustArrayInput interface { +// GetVirtualNodeSpecListenerTimeoutHttpArray{ GetVirtualNodeSpecListenerTimeoutHttpArgs{...} } +type GetVirtualNodeSpecListenerTimeoutHttpArrayInput interface { pulumi.Input - ToGetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustArrayOutput() GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustArrayOutput - ToGetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustArrayOutputWithContext(context.Context) GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustArrayOutput + ToGetVirtualNodeSpecListenerTimeoutHttpArrayOutput() GetVirtualNodeSpecListenerTimeoutHttpArrayOutput + ToGetVirtualNodeSpecListenerTimeoutHttpArrayOutputWithContext(context.Context) GetVirtualNodeSpecListenerTimeoutHttpArrayOutput } -type GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustArray []GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustInput +type GetVirtualNodeSpecListenerTimeoutHttpArray []GetVirtualNodeSpecListenerTimeoutHttpInput -func (GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrust)(nil)).Elem() +func (GetVirtualNodeSpecListenerTimeoutHttpArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetVirtualNodeSpecListenerTimeoutHttp)(nil)).Elem() } -func (i GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustArray) ToGetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustArrayOutput() GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustArrayOutput { - return i.ToGetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustArrayOutputWithContext(context.Background()) +func (i GetVirtualNodeSpecListenerTimeoutHttpArray) ToGetVirtualNodeSpecListenerTimeoutHttpArrayOutput() GetVirtualNodeSpecListenerTimeoutHttpArrayOutput { + return i.ToGetVirtualNodeSpecListenerTimeoutHttpArrayOutputWithContext(context.Background()) } -func (i GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustArray) ToGetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustArrayOutputWithContext(ctx context.Context) GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustArrayOutput) +func (i GetVirtualNodeSpecListenerTimeoutHttpArray) ToGetVirtualNodeSpecListenerTimeoutHttpArrayOutputWithContext(ctx context.Context) GetVirtualNodeSpecListenerTimeoutHttpArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetVirtualNodeSpecListenerTimeoutHttpArrayOutput) } -type GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustOutput struct{ *pulumi.OutputState } +type GetVirtualNodeSpecListenerTimeoutHttpOutput struct{ *pulumi.OutputState } -func (GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrust)(nil)).Elem() +func (GetVirtualNodeSpecListenerTimeoutHttpOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetVirtualNodeSpecListenerTimeoutHttp)(nil)).Elem() } -func (o GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustOutput) ToGetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustOutput() GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustOutput { +func (o GetVirtualNodeSpecListenerTimeoutHttpOutput) ToGetVirtualNodeSpecListenerTimeoutHttpOutput() GetVirtualNodeSpecListenerTimeoutHttpOutput { return o } -func (o GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustOutput) ToGetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustOutputWithContext(ctx context.Context) GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustOutput { +func (o GetVirtualNodeSpecListenerTimeoutHttpOutput) ToGetVirtualNodeSpecListenerTimeoutHttpOutputWithContext(ctx context.Context) GetVirtualNodeSpecListenerTimeoutHttpOutput { return o } -// An AWS Certificate Manager (ACM) certificate. -func (o GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustOutput) Acms() GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustAcmArrayOutput { - return o.ApplyT(func(v GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrust) []GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustAcm { - return v.Acms - }).(GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustAcmArrayOutput) -} - -// TLS validation context trust for a local file certificate. -func (o GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustOutput) Files() GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustFileArrayOutput { - return o.ApplyT(func(v GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrust) []GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustFile { - return v.Files - }).(GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustFileArrayOutput) +func (o GetVirtualNodeSpecListenerTimeoutHttpOutput) Idles() GetVirtualNodeSpecListenerTimeoutHttpIdleArrayOutput { + return o.ApplyT(func(v GetVirtualNodeSpecListenerTimeoutHttp) []GetVirtualNodeSpecListenerTimeoutHttpIdle { + return v.Idles + }).(GetVirtualNodeSpecListenerTimeoutHttpIdleArrayOutput) } -// TLS validation context trust for a [Secret Discovery Service](https://www.envoyproxy.io/docs/envoy/latest/configuration/security/secret#secret-discovery-service-sds) certificate. -func (o GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustOutput) Sds() GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustSdArrayOutput { - return o.ApplyT(func(v GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrust) []GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustSd { - return v.Sds - }).(GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustSdArrayOutput) +func (o GetVirtualNodeSpecListenerTimeoutHttpOutput) PerRequests() GetVirtualNodeSpecListenerTimeoutHttpPerRequestArrayOutput { + return o.ApplyT(func(v GetVirtualNodeSpecListenerTimeoutHttp) []GetVirtualNodeSpecListenerTimeoutHttpPerRequest { + return v.PerRequests + }).(GetVirtualNodeSpecListenerTimeoutHttpPerRequestArrayOutput) } -type GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustArrayOutput struct{ *pulumi.OutputState } +type GetVirtualNodeSpecListenerTimeoutHttpArrayOutput struct{ *pulumi.OutputState } -func (GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrust)(nil)).Elem() +func (GetVirtualNodeSpecListenerTimeoutHttpArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetVirtualNodeSpecListenerTimeoutHttp)(nil)).Elem() } -func (o GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustArrayOutput) ToGetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustArrayOutput() GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustArrayOutput { +func (o GetVirtualNodeSpecListenerTimeoutHttpArrayOutput) ToGetVirtualNodeSpecListenerTimeoutHttpArrayOutput() GetVirtualNodeSpecListenerTimeoutHttpArrayOutput { return o } -func (o GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustArrayOutput) ToGetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustArrayOutputWithContext(ctx context.Context) GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustArrayOutput { +func (o GetVirtualNodeSpecListenerTimeoutHttpArrayOutput) ToGetVirtualNodeSpecListenerTimeoutHttpArrayOutputWithContext(ctx context.Context) GetVirtualNodeSpecListenerTimeoutHttpArrayOutput { return o } -func (o GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustArrayOutput) Index(i pulumi.IntInput) GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrust { - return vs[0].([]GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrust)[vs[1].(int)] - }).(GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustOutput) +func (o GetVirtualNodeSpecListenerTimeoutHttpArrayOutput) Index(i pulumi.IntInput) GetVirtualNodeSpecListenerTimeoutHttpOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetVirtualNodeSpecListenerTimeoutHttp { + return vs[0].([]GetVirtualNodeSpecListenerTimeoutHttp)[vs[1].(int)] + }).(GetVirtualNodeSpecListenerTimeoutHttpOutput) } -type GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustAcm struct { - // One or more ACM ARNs. - CertificateAuthorityArns []string `pulumi:"certificateAuthorityArns"` +type GetVirtualNodeSpecListenerTimeoutHttpIdle struct { + Unit string `pulumi:"unit"` + Value int `pulumi:"value"` } -// GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustAcmInput is an input type that accepts GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustAcmArgs and GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustAcmOutput values. -// You can construct a concrete instance of `GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustAcmInput` via: +// GetVirtualNodeSpecListenerTimeoutHttpIdleInput is an input type that accepts GetVirtualNodeSpecListenerTimeoutHttpIdleArgs and GetVirtualNodeSpecListenerTimeoutHttpIdleOutput values. +// You can construct a concrete instance of `GetVirtualNodeSpecListenerTimeoutHttpIdleInput` via: // -// GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustAcmArgs{...} -type GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustAcmInput interface { +// GetVirtualNodeSpecListenerTimeoutHttpIdleArgs{...} +type GetVirtualNodeSpecListenerTimeoutHttpIdleInput interface { pulumi.Input - ToGetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustAcmOutput() GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustAcmOutput - ToGetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustAcmOutputWithContext(context.Context) GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustAcmOutput + ToGetVirtualNodeSpecListenerTimeoutHttpIdleOutput() GetVirtualNodeSpecListenerTimeoutHttpIdleOutput + ToGetVirtualNodeSpecListenerTimeoutHttpIdleOutputWithContext(context.Context) GetVirtualNodeSpecListenerTimeoutHttpIdleOutput } -type GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustAcmArgs struct { - // One or more ACM ARNs. - CertificateAuthorityArns pulumi.StringArrayInput `pulumi:"certificateAuthorityArns"` +type GetVirtualNodeSpecListenerTimeoutHttpIdleArgs struct { + Unit pulumi.StringInput `pulumi:"unit"` + Value pulumi.IntInput `pulumi:"value"` } -func (GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustAcmArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustAcm)(nil)).Elem() +func (GetVirtualNodeSpecListenerTimeoutHttpIdleArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetVirtualNodeSpecListenerTimeoutHttpIdle)(nil)).Elem() } -func (i GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustAcmArgs) ToGetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustAcmOutput() GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustAcmOutput { - return i.ToGetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustAcmOutputWithContext(context.Background()) +func (i GetVirtualNodeSpecListenerTimeoutHttpIdleArgs) ToGetVirtualNodeSpecListenerTimeoutHttpIdleOutput() GetVirtualNodeSpecListenerTimeoutHttpIdleOutput { + return i.ToGetVirtualNodeSpecListenerTimeoutHttpIdleOutputWithContext(context.Background()) } -func (i GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustAcmArgs) ToGetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustAcmOutputWithContext(ctx context.Context) GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustAcmOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustAcmOutput) +func (i GetVirtualNodeSpecListenerTimeoutHttpIdleArgs) ToGetVirtualNodeSpecListenerTimeoutHttpIdleOutputWithContext(ctx context.Context) GetVirtualNodeSpecListenerTimeoutHttpIdleOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetVirtualNodeSpecListenerTimeoutHttpIdleOutput) } -// GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustAcmArrayInput is an input type that accepts GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustAcmArray and GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustAcmArrayOutput values. -// You can construct a concrete instance of `GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustAcmArrayInput` via: +// GetVirtualNodeSpecListenerTimeoutHttpIdleArrayInput is an input type that accepts GetVirtualNodeSpecListenerTimeoutHttpIdleArray and GetVirtualNodeSpecListenerTimeoutHttpIdleArrayOutput values. +// You can construct a concrete instance of `GetVirtualNodeSpecListenerTimeoutHttpIdleArrayInput` via: // -// GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustAcmArray{ GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustAcmArgs{...} } -type GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustAcmArrayInput interface { +// GetVirtualNodeSpecListenerTimeoutHttpIdleArray{ GetVirtualNodeSpecListenerTimeoutHttpIdleArgs{...} } +type GetVirtualNodeSpecListenerTimeoutHttpIdleArrayInput interface { pulumi.Input - ToGetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustAcmArrayOutput() GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustAcmArrayOutput - ToGetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustAcmArrayOutputWithContext(context.Context) GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustAcmArrayOutput + ToGetVirtualNodeSpecListenerTimeoutHttpIdleArrayOutput() GetVirtualNodeSpecListenerTimeoutHttpIdleArrayOutput + ToGetVirtualNodeSpecListenerTimeoutHttpIdleArrayOutputWithContext(context.Context) GetVirtualNodeSpecListenerTimeoutHttpIdleArrayOutput } -type GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustAcmArray []GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustAcmInput +type GetVirtualNodeSpecListenerTimeoutHttpIdleArray []GetVirtualNodeSpecListenerTimeoutHttpIdleInput -func (GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustAcmArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustAcm)(nil)).Elem() +func (GetVirtualNodeSpecListenerTimeoutHttpIdleArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetVirtualNodeSpecListenerTimeoutHttpIdle)(nil)).Elem() } -func (i GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustAcmArray) ToGetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustAcmArrayOutput() GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustAcmArrayOutput { - return i.ToGetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustAcmArrayOutputWithContext(context.Background()) +func (i GetVirtualNodeSpecListenerTimeoutHttpIdleArray) ToGetVirtualNodeSpecListenerTimeoutHttpIdleArrayOutput() GetVirtualNodeSpecListenerTimeoutHttpIdleArrayOutput { + return i.ToGetVirtualNodeSpecListenerTimeoutHttpIdleArrayOutputWithContext(context.Background()) } -func (i GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustAcmArray) ToGetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustAcmArrayOutputWithContext(ctx context.Context) GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustAcmArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustAcmArrayOutput) +func (i GetVirtualNodeSpecListenerTimeoutHttpIdleArray) ToGetVirtualNodeSpecListenerTimeoutHttpIdleArrayOutputWithContext(ctx context.Context) GetVirtualNodeSpecListenerTimeoutHttpIdleArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetVirtualNodeSpecListenerTimeoutHttpIdleArrayOutput) } -type GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustAcmOutput struct{ *pulumi.OutputState } +type GetVirtualNodeSpecListenerTimeoutHttpIdleOutput struct{ *pulumi.OutputState } -func (GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustAcmOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustAcm)(nil)).Elem() +func (GetVirtualNodeSpecListenerTimeoutHttpIdleOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetVirtualNodeSpecListenerTimeoutHttpIdle)(nil)).Elem() } -func (o GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustAcmOutput) ToGetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustAcmOutput() GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustAcmOutput { +func (o GetVirtualNodeSpecListenerTimeoutHttpIdleOutput) ToGetVirtualNodeSpecListenerTimeoutHttpIdleOutput() GetVirtualNodeSpecListenerTimeoutHttpIdleOutput { return o } -func (o GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustAcmOutput) ToGetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustAcmOutputWithContext(ctx context.Context) GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustAcmOutput { +func (o GetVirtualNodeSpecListenerTimeoutHttpIdleOutput) ToGetVirtualNodeSpecListenerTimeoutHttpIdleOutputWithContext(ctx context.Context) GetVirtualNodeSpecListenerTimeoutHttpIdleOutput { return o } -// One or more ACM ARNs. -func (o GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustAcmOutput) CertificateAuthorityArns() pulumi.StringArrayOutput { - return o.ApplyT(func(v GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustAcm) []string { - return v.CertificateAuthorityArns - }).(pulumi.StringArrayOutput) +func (o GetVirtualNodeSpecListenerTimeoutHttpIdleOutput) Unit() pulumi.StringOutput { + return o.ApplyT(func(v GetVirtualNodeSpecListenerTimeoutHttpIdle) string { return v.Unit }).(pulumi.StringOutput) } -type GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustAcmArrayOutput struct{ *pulumi.OutputState } +func (o GetVirtualNodeSpecListenerTimeoutHttpIdleOutput) Value() pulumi.IntOutput { + return o.ApplyT(func(v GetVirtualNodeSpecListenerTimeoutHttpIdle) int { return v.Value }).(pulumi.IntOutput) +} -func (GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustAcmArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustAcm)(nil)).Elem() +type GetVirtualNodeSpecListenerTimeoutHttpIdleArrayOutput struct{ *pulumi.OutputState } + +func (GetVirtualNodeSpecListenerTimeoutHttpIdleArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetVirtualNodeSpecListenerTimeoutHttpIdle)(nil)).Elem() } -func (o GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustAcmArrayOutput) ToGetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustAcmArrayOutput() GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustAcmArrayOutput { +func (o GetVirtualNodeSpecListenerTimeoutHttpIdleArrayOutput) ToGetVirtualNodeSpecListenerTimeoutHttpIdleArrayOutput() GetVirtualNodeSpecListenerTimeoutHttpIdleArrayOutput { return o } -func (o GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustAcmArrayOutput) ToGetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustAcmArrayOutputWithContext(ctx context.Context) GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustAcmArrayOutput { +func (o GetVirtualNodeSpecListenerTimeoutHttpIdleArrayOutput) ToGetVirtualNodeSpecListenerTimeoutHttpIdleArrayOutputWithContext(ctx context.Context) GetVirtualNodeSpecListenerTimeoutHttpIdleArrayOutput { return o } -func (o GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustAcmArrayOutput) Index(i pulumi.IntInput) GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustAcmOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustAcm { - return vs[0].([]GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustAcm)[vs[1].(int)] - }).(GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustAcmOutput) +func (o GetVirtualNodeSpecListenerTimeoutHttpIdleArrayOutput) Index(i pulumi.IntInput) GetVirtualNodeSpecListenerTimeoutHttpIdleOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetVirtualNodeSpecListenerTimeoutHttpIdle { + return vs[0].([]GetVirtualNodeSpecListenerTimeoutHttpIdle)[vs[1].(int)] + }).(GetVirtualNodeSpecListenerTimeoutHttpIdleOutput) } -type GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustFile struct { - // Certificate trust chain for a certificate stored on the file system of the mesh endpoint that the proxy is running on. Must be between 1 and 255 characters in length. - CertificateChain string `pulumi:"certificateChain"` +type GetVirtualNodeSpecListenerTimeoutHttpPerRequest struct { + Unit string `pulumi:"unit"` + Value int `pulumi:"value"` } -// GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustFileInput is an input type that accepts GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustFileArgs and GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustFileOutput values. -// You can construct a concrete instance of `GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustFileInput` via: +// GetVirtualNodeSpecListenerTimeoutHttpPerRequestInput is an input type that accepts GetVirtualNodeSpecListenerTimeoutHttpPerRequestArgs and GetVirtualNodeSpecListenerTimeoutHttpPerRequestOutput values. +// You can construct a concrete instance of `GetVirtualNodeSpecListenerTimeoutHttpPerRequestInput` via: // -// GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustFileArgs{...} -type GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustFileInput interface { +// GetVirtualNodeSpecListenerTimeoutHttpPerRequestArgs{...} +type GetVirtualNodeSpecListenerTimeoutHttpPerRequestInput interface { pulumi.Input - ToGetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustFileOutput() GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustFileOutput - ToGetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustFileOutputWithContext(context.Context) GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustFileOutput + ToGetVirtualNodeSpecListenerTimeoutHttpPerRequestOutput() GetVirtualNodeSpecListenerTimeoutHttpPerRequestOutput + ToGetVirtualNodeSpecListenerTimeoutHttpPerRequestOutputWithContext(context.Context) GetVirtualNodeSpecListenerTimeoutHttpPerRequestOutput } -type GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustFileArgs struct { - // Certificate trust chain for a certificate stored on the file system of the mesh endpoint that the proxy is running on. Must be between 1 and 255 characters in length. - CertificateChain pulumi.StringInput `pulumi:"certificateChain"` +type GetVirtualNodeSpecListenerTimeoutHttpPerRequestArgs struct { + Unit pulumi.StringInput `pulumi:"unit"` + Value pulumi.IntInput `pulumi:"value"` } -func (GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustFileArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustFile)(nil)).Elem() +func (GetVirtualNodeSpecListenerTimeoutHttpPerRequestArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetVirtualNodeSpecListenerTimeoutHttpPerRequest)(nil)).Elem() } -func (i GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustFileArgs) ToGetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustFileOutput() GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustFileOutput { - return i.ToGetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustFileOutputWithContext(context.Background()) +func (i GetVirtualNodeSpecListenerTimeoutHttpPerRequestArgs) ToGetVirtualNodeSpecListenerTimeoutHttpPerRequestOutput() GetVirtualNodeSpecListenerTimeoutHttpPerRequestOutput { + return i.ToGetVirtualNodeSpecListenerTimeoutHttpPerRequestOutputWithContext(context.Background()) } -func (i GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustFileArgs) ToGetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustFileOutputWithContext(ctx context.Context) GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustFileOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustFileOutput) +func (i GetVirtualNodeSpecListenerTimeoutHttpPerRequestArgs) ToGetVirtualNodeSpecListenerTimeoutHttpPerRequestOutputWithContext(ctx context.Context) GetVirtualNodeSpecListenerTimeoutHttpPerRequestOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetVirtualNodeSpecListenerTimeoutHttpPerRequestOutput) } -// GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustFileArrayInput is an input type that accepts GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustFileArray and GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustFileArrayOutput values. -// You can construct a concrete instance of `GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustFileArrayInput` via: +// GetVirtualNodeSpecListenerTimeoutHttpPerRequestArrayInput is an input type that accepts GetVirtualNodeSpecListenerTimeoutHttpPerRequestArray and GetVirtualNodeSpecListenerTimeoutHttpPerRequestArrayOutput values. +// You can construct a concrete instance of `GetVirtualNodeSpecListenerTimeoutHttpPerRequestArrayInput` via: // -// GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustFileArray{ GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustFileArgs{...} } -type GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustFileArrayInput interface { +// GetVirtualNodeSpecListenerTimeoutHttpPerRequestArray{ GetVirtualNodeSpecListenerTimeoutHttpPerRequestArgs{...} } +type GetVirtualNodeSpecListenerTimeoutHttpPerRequestArrayInput interface { pulumi.Input - ToGetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustFileArrayOutput() GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustFileArrayOutput - ToGetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustFileArrayOutputWithContext(context.Context) GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustFileArrayOutput + ToGetVirtualNodeSpecListenerTimeoutHttpPerRequestArrayOutput() GetVirtualNodeSpecListenerTimeoutHttpPerRequestArrayOutput + ToGetVirtualNodeSpecListenerTimeoutHttpPerRequestArrayOutputWithContext(context.Context) GetVirtualNodeSpecListenerTimeoutHttpPerRequestArrayOutput } -type GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustFileArray []GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustFileInput +type GetVirtualNodeSpecListenerTimeoutHttpPerRequestArray []GetVirtualNodeSpecListenerTimeoutHttpPerRequestInput -func (GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustFileArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustFile)(nil)).Elem() +func (GetVirtualNodeSpecListenerTimeoutHttpPerRequestArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetVirtualNodeSpecListenerTimeoutHttpPerRequest)(nil)).Elem() } -func (i GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustFileArray) ToGetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustFileArrayOutput() GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustFileArrayOutput { - return i.ToGetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustFileArrayOutputWithContext(context.Background()) +func (i GetVirtualNodeSpecListenerTimeoutHttpPerRequestArray) ToGetVirtualNodeSpecListenerTimeoutHttpPerRequestArrayOutput() GetVirtualNodeSpecListenerTimeoutHttpPerRequestArrayOutput { + return i.ToGetVirtualNodeSpecListenerTimeoutHttpPerRequestArrayOutputWithContext(context.Background()) } -func (i GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustFileArray) ToGetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustFileArrayOutputWithContext(ctx context.Context) GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustFileArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustFileArrayOutput) +func (i GetVirtualNodeSpecListenerTimeoutHttpPerRequestArray) ToGetVirtualNodeSpecListenerTimeoutHttpPerRequestArrayOutputWithContext(ctx context.Context) GetVirtualNodeSpecListenerTimeoutHttpPerRequestArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetVirtualNodeSpecListenerTimeoutHttpPerRequestArrayOutput) } -type GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustFileOutput struct{ *pulumi.OutputState } +type GetVirtualNodeSpecListenerTimeoutHttpPerRequestOutput struct{ *pulumi.OutputState } -func (GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustFileOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustFile)(nil)).Elem() +func (GetVirtualNodeSpecListenerTimeoutHttpPerRequestOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetVirtualNodeSpecListenerTimeoutHttpPerRequest)(nil)).Elem() } -func (o GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustFileOutput) ToGetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustFileOutput() GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustFileOutput { +func (o GetVirtualNodeSpecListenerTimeoutHttpPerRequestOutput) ToGetVirtualNodeSpecListenerTimeoutHttpPerRequestOutput() GetVirtualNodeSpecListenerTimeoutHttpPerRequestOutput { return o } -func (o GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustFileOutput) ToGetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustFileOutputWithContext(ctx context.Context) GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustFileOutput { +func (o GetVirtualNodeSpecListenerTimeoutHttpPerRequestOutput) ToGetVirtualNodeSpecListenerTimeoutHttpPerRequestOutputWithContext(ctx context.Context) GetVirtualNodeSpecListenerTimeoutHttpPerRequestOutput { return o } -// Certificate trust chain for a certificate stored on the file system of the mesh endpoint that the proxy is running on. Must be between 1 and 255 characters in length. -func (o GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustFileOutput) CertificateChain() pulumi.StringOutput { - return o.ApplyT(func(v GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustFile) string { - return v.CertificateChain - }).(pulumi.StringOutput) +func (o GetVirtualNodeSpecListenerTimeoutHttpPerRequestOutput) Unit() pulumi.StringOutput { + return o.ApplyT(func(v GetVirtualNodeSpecListenerTimeoutHttpPerRequest) string { return v.Unit }).(pulumi.StringOutput) } -type GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustFileArrayOutput struct{ *pulumi.OutputState } +func (o GetVirtualNodeSpecListenerTimeoutHttpPerRequestOutput) Value() pulumi.IntOutput { + return o.ApplyT(func(v GetVirtualNodeSpecListenerTimeoutHttpPerRequest) int { return v.Value }).(pulumi.IntOutput) +} -func (GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustFileArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustFile)(nil)).Elem() +type GetVirtualNodeSpecListenerTimeoutHttpPerRequestArrayOutput struct{ *pulumi.OutputState } + +func (GetVirtualNodeSpecListenerTimeoutHttpPerRequestArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetVirtualNodeSpecListenerTimeoutHttpPerRequest)(nil)).Elem() } -func (o GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustFileArrayOutput) ToGetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustFileArrayOutput() GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustFileArrayOutput { +func (o GetVirtualNodeSpecListenerTimeoutHttpPerRequestArrayOutput) ToGetVirtualNodeSpecListenerTimeoutHttpPerRequestArrayOutput() GetVirtualNodeSpecListenerTimeoutHttpPerRequestArrayOutput { return o } -func (o GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustFileArrayOutput) ToGetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustFileArrayOutputWithContext(ctx context.Context) GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustFileArrayOutput { +func (o GetVirtualNodeSpecListenerTimeoutHttpPerRequestArrayOutput) ToGetVirtualNodeSpecListenerTimeoutHttpPerRequestArrayOutputWithContext(ctx context.Context) GetVirtualNodeSpecListenerTimeoutHttpPerRequestArrayOutput { return o } -func (o GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustFileArrayOutput) Index(i pulumi.IntInput) GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustFileOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustFile { - return vs[0].([]GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustFile)[vs[1].(int)] - }).(GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustFileOutput) +func (o GetVirtualNodeSpecListenerTimeoutHttpPerRequestArrayOutput) Index(i pulumi.IntInput) GetVirtualNodeSpecListenerTimeoutHttpPerRequestOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetVirtualNodeSpecListenerTimeoutHttpPerRequest { + return vs[0].([]GetVirtualNodeSpecListenerTimeoutHttpPerRequest)[vs[1].(int)] + }).(GetVirtualNodeSpecListenerTimeoutHttpPerRequestOutput) } -type GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustSd struct { - // Name of the secret for a virtual gateway's Transport Layer Security (TLS) Secret Discovery Service validation context trust. - SecretName string `pulumi:"secretName"` +type GetVirtualNodeSpecListenerTimeoutTcp struct { + Idles []GetVirtualNodeSpecListenerTimeoutTcpIdle `pulumi:"idles"` } -// GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustSdInput is an input type that accepts GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustSdArgs and GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustSdOutput values. -// You can construct a concrete instance of `GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustSdInput` via: +// GetVirtualNodeSpecListenerTimeoutTcpInput is an input type that accepts GetVirtualNodeSpecListenerTimeoutTcpArgs and GetVirtualNodeSpecListenerTimeoutTcpOutput values. +// You can construct a concrete instance of `GetVirtualNodeSpecListenerTimeoutTcpInput` via: // -// GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustSdArgs{...} -type GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustSdInput interface { +// GetVirtualNodeSpecListenerTimeoutTcpArgs{...} +type GetVirtualNodeSpecListenerTimeoutTcpInput interface { pulumi.Input - ToGetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustSdOutput() GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustSdOutput - ToGetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustSdOutputWithContext(context.Context) GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustSdOutput + ToGetVirtualNodeSpecListenerTimeoutTcpOutput() GetVirtualNodeSpecListenerTimeoutTcpOutput + ToGetVirtualNodeSpecListenerTimeoutTcpOutputWithContext(context.Context) GetVirtualNodeSpecListenerTimeoutTcpOutput } -type GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustSdArgs struct { - // Name of the secret for a virtual gateway's Transport Layer Security (TLS) Secret Discovery Service validation context trust. - SecretName pulumi.StringInput `pulumi:"secretName"` +type GetVirtualNodeSpecListenerTimeoutTcpArgs struct { + Idles GetVirtualNodeSpecListenerTimeoutTcpIdleArrayInput `pulumi:"idles"` } -func (GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustSdArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustSd)(nil)).Elem() +func (GetVirtualNodeSpecListenerTimeoutTcpArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetVirtualNodeSpecListenerTimeoutTcp)(nil)).Elem() } -func (i GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustSdArgs) ToGetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustSdOutput() GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustSdOutput { - return i.ToGetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustSdOutputWithContext(context.Background()) +func (i GetVirtualNodeSpecListenerTimeoutTcpArgs) ToGetVirtualNodeSpecListenerTimeoutTcpOutput() GetVirtualNodeSpecListenerTimeoutTcpOutput { + return i.ToGetVirtualNodeSpecListenerTimeoutTcpOutputWithContext(context.Background()) } -func (i GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustSdArgs) ToGetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustSdOutputWithContext(ctx context.Context) GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustSdOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustSdOutput) +func (i GetVirtualNodeSpecListenerTimeoutTcpArgs) ToGetVirtualNodeSpecListenerTimeoutTcpOutputWithContext(ctx context.Context) GetVirtualNodeSpecListenerTimeoutTcpOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetVirtualNodeSpecListenerTimeoutTcpOutput) } -// GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustSdArrayInput is an input type that accepts GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustSdArray and GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustSdArrayOutput values. -// You can construct a concrete instance of `GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustSdArrayInput` via: +// GetVirtualNodeSpecListenerTimeoutTcpArrayInput is an input type that accepts GetVirtualNodeSpecListenerTimeoutTcpArray and GetVirtualNodeSpecListenerTimeoutTcpArrayOutput values. +// You can construct a concrete instance of `GetVirtualNodeSpecListenerTimeoutTcpArrayInput` via: // -// GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustSdArray{ GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustSdArgs{...} } -type GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustSdArrayInput interface { +// GetVirtualNodeSpecListenerTimeoutTcpArray{ GetVirtualNodeSpecListenerTimeoutTcpArgs{...} } +type GetVirtualNodeSpecListenerTimeoutTcpArrayInput interface { pulumi.Input - ToGetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustSdArrayOutput() GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustSdArrayOutput - ToGetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustSdArrayOutputWithContext(context.Context) GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustSdArrayOutput + ToGetVirtualNodeSpecListenerTimeoutTcpArrayOutput() GetVirtualNodeSpecListenerTimeoutTcpArrayOutput + ToGetVirtualNodeSpecListenerTimeoutTcpArrayOutputWithContext(context.Context) GetVirtualNodeSpecListenerTimeoutTcpArrayOutput } -type GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustSdArray []GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustSdInput +type GetVirtualNodeSpecListenerTimeoutTcpArray []GetVirtualNodeSpecListenerTimeoutTcpInput -func (GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustSdArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustSd)(nil)).Elem() +func (GetVirtualNodeSpecListenerTimeoutTcpArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetVirtualNodeSpecListenerTimeoutTcp)(nil)).Elem() } -func (i GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustSdArray) ToGetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustSdArrayOutput() GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustSdArrayOutput { - return i.ToGetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustSdArrayOutputWithContext(context.Background()) +func (i GetVirtualNodeSpecListenerTimeoutTcpArray) ToGetVirtualNodeSpecListenerTimeoutTcpArrayOutput() GetVirtualNodeSpecListenerTimeoutTcpArrayOutput { + return i.ToGetVirtualNodeSpecListenerTimeoutTcpArrayOutputWithContext(context.Background()) } -func (i GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustSdArray) ToGetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustSdArrayOutputWithContext(ctx context.Context) GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustSdArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustSdArrayOutput) +func (i GetVirtualNodeSpecListenerTimeoutTcpArray) ToGetVirtualNodeSpecListenerTimeoutTcpArrayOutputWithContext(ctx context.Context) GetVirtualNodeSpecListenerTimeoutTcpArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetVirtualNodeSpecListenerTimeoutTcpArrayOutput) } -type GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustSdOutput struct{ *pulumi.OutputState } +type GetVirtualNodeSpecListenerTimeoutTcpOutput struct{ *pulumi.OutputState } -func (GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustSdOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustSd)(nil)).Elem() +func (GetVirtualNodeSpecListenerTimeoutTcpOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetVirtualNodeSpecListenerTimeoutTcp)(nil)).Elem() } -func (o GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustSdOutput) ToGetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustSdOutput() GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustSdOutput { +func (o GetVirtualNodeSpecListenerTimeoutTcpOutput) ToGetVirtualNodeSpecListenerTimeoutTcpOutput() GetVirtualNodeSpecListenerTimeoutTcpOutput { return o } -func (o GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustSdOutput) ToGetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustSdOutputWithContext(ctx context.Context) GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustSdOutput { +func (o GetVirtualNodeSpecListenerTimeoutTcpOutput) ToGetVirtualNodeSpecListenerTimeoutTcpOutputWithContext(ctx context.Context) GetVirtualNodeSpecListenerTimeoutTcpOutput { return o } -// Name of the secret for a virtual gateway's Transport Layer Security (TLS) Secret Discovery Service validation context trust. -func (o GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustSdOutput) SecretName() pulumi.StringOutput { - return o.ApplyT(func(v GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustSd) string { return v.SecretName }).(pulumi.StringOutput) +func (o GetVirtualNodeSpecListenerTimeoutTcpOutput) Idles() GetVirtualNodeSpecListenerTimeoutTcpIdleArrayOutput { + return o.ApplyT(func(v GetVirtualNodeSpecListenerTimeoutTcp) []GetVirtualNodeSpecListenerTimeoutTcpIdle { + return v.Idles + }).(GetVirtualNodeSpecListenerTimeoutTcpIdleArrayOutput) } -type GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustSdArrayOutput struct{ *pulumi.OutputState } +type GetVirtualNodeSpecListenerTimeoutTcpArrayOutput struct{ *pulumi.OutputState } -func (GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustSdArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustSd)(nil)).Elem() +func (GetVirtualNodeSpecListenerTimeoutTcpArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetVirtualNodeSpecListenerTimeoutTcp)(nil)).Elem() } -func (o GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustSdArrayOutput) ToGetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustSdArrayOutput() GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustSdArrayOutput { +func (o GetVirtualNodeSpecListenerTimeoutTcpArrayOutput) ToGetVirtualNodeSpecListenerTimeoutTcpArrayOutput() GetVirtualNodeSpecListenerTimeoutTcpArrayOutput { return o } -func (o GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustSdArrayOutput) ToGetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustSdArrayOutputWithContext(ctx context.Context) GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustSdArrayOutput { +func (o GetVirtualNodeSpecListenerTimeoutTcpArrayOutput) ToGetVirtualNodeSpecListenerTimeoutTcpArrayOutputWithContext(ctx context.Context) GetVirtualNodeSpecListenerTimeoutTcpArrayOutput { return o } -func (o GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustSdArrayOutput) Index(i pulumi.IntInput) GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustSdOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustSd { - return vs[0].([]GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustSd)[vs[1].(int)] - }).(GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustSdOutput) +func (o GetVirtualNodeSpecListenerTimeoutTcpArrayOutput) Index(i pulumi.IntInput) GetVirtualNodeSpecListenerTimeoutTcpOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetVirtualNodeSpecListenerTimeoutTcp { + return vs[0].([]GetVirtualNodeSpecListenerTimeoutTcp)[vs[1].(int)] + }).(GetVirtualNodeSpecListenerTimeoutTcpOutput) } -type GetVirtualGatewaySpecListener struct { - // Connection pool information for the listener. - ConnectionPools []GetVirtualGatewaySpecListenerConnectionPool `pulumi:"connectionPools"` - // Health check information for the listener. - HealthChecks []GetVirtualGatewaySpecListenerHealthCheck `pulumi:"healthChecks"` - // Port mapping information for the listener. - PortMappings []GetVirtualGatewaySpecListenerPortMapping `pulumi:"portMappings"` - // Transport Layer Security (TLS) properties for the listener - Tls []GetVirtualGatewaySpecListenerTl `pulumi:"tls"` +type GetVirtualNodeSpecListenerTimeoutTcpIdle struct { + Unit string `pulumi:"unit"` + Value int `pulumi:"value"` } -// GetVirtualGatewaySpecListenerInput is an input type that accepts GetVirtualGatewaySpecListenerArgs and GetVirtualGatewaySpecListenerOutput values. -// You can construct a concrete instance of `GetVirtualGatewaySpecListenerInput` via: +// GetVirtualNodeSpecListenerTimeoutTcpIdleInput is an input type that accepts GetVirtualNodeSpecListenerTimeoutTcpIdleArgs and GetVirtualNodeSpecListenerTimeoutTcpIdleOutput values. +// You can construct a concrete instance of `GetVirtualNodeSpecListenerTimeoutTcpIdleInput` via: // -// GetVirtualGatewaySpecListenerArgs{...} -type GetVirtualGatewaySpecListenerInput interface { +// GetVirtualNodeSpecListenerTimeoutTcpIdleArgs{...} +type GetVirtualNodeSpecListenerTimeoutTcpIdleInput interface { pulumi.Input - ToGetVirtualGatewaySpecListenerOutput() GetVirtualGatewaySpecListenerOutput - ToGetVirtualGatewaySpecListenerOutputWithContext(context.Context) GetVirtualGatewaySpecListenerOutput + ToGetVirtualNodeSpecListenerTimeoutTcpIdleOutput() GetVirtualNodeSpecListenerTimeoutTcpIdleOutput + ToGetVirtualNodeSpecListenerTimeoutTcpIdleOutputWithContext(context.Context) GetVirtualNodeSpecListenerTimeoutTcpIdleOutput } -type GetVirtualGatewaySpecListenerArgs struct { - // Connection pool information for the listener. - ConnectionPools GetVirtualGatewaySpecListenerConnectionPoolArrayInput `pulumi:"connectionPools"` - // Health check information for the listener. - HealthChecks GetVirtualGatewaySpecListenerHealthCheckArrayInput `pulumi:"healthChecks"` - // Port mapping information for the listener. - PortMappings GetVirtualGatewaySpecListenerPortMappingArrayInput `pulumi:"portMappings"` - // Transport Layer Security (TLS) properties for the listener - Tls GetVirtualGatewaySpecListenerTlArrayInput `pulumi:"tls"` +type GetVirtualNodeSpecListenerTimeoutTcpIdleArgs struct { + Unit pulumi.StringInput `pulumi:"unit"` + Value pulumi.IntInput `pulumi:"value"` } -func (GetVirtualGatewaySpecListenerArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetVirtualGatewaySpecListener)(nil)).Elem() +func (GetVirtualNodeSpecListenerTimeoutTcpIdleArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetVirtualNodeSpecListenerTimeoutTcpIdle)(nil)).Elem() } -func (i GetVirtualGatewaySpecListenerArgs) ToGetVirtualGatewaySpecListenerOutput() GetVirtualGatewaySpecListenerOutput { - return i.ToGetVirtualGatewaySpecListenerOutputWithContext(context.Background()) +func (i GetVirtualNodeSpecListenerTimeoutTcpIdleArgs) ToGetVirtualNodeSpecListenerTimeoutTcpIdleOutput() GetVirtualNodeSpecListenerTimeoutTcpIdleOutput { + return i.ToGetVirtualNodeSpecListenerTimeoutTcpIdleOutputWithContext(context.Background()) } -func (i GetVirtualGatewaySpecListenerArgs) ToGetVirtualGatewaySpecListenerOutputWithContext(ctx context.Context) GetVirtualGatewaySpecListenerOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetVirtualGatewaySpecListenerOutput) +func (i GetVirtualNodeSpecListenerTimeoutTcpIdleArgs) ToGetVirtualNodeSpecListenerTimeoutTcpIdleOutputWithContext(ctx context.Context) GetVirtualNodeSpecListenerTimeoutTcpIdleOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetVirtualNodeSpecListenerTimeoutTcpIdleOutput) } -// GetVirtualGatewaySpecListenerArrayInput is an input type that accepts GetVirtualGatewaySpecListenerArray and GetVirtualGatewaySpecListenerArrayOutput values. -// You can construct a concrete instance of `GetVirtualGatewaySpecListenerArrayInput` via: +// GetVirtualNodeSpecListenerTimeoutTcpIdleArrayInput is an input type that accepts GetVirtualNodeSpecListenerTimeoutTcpIdleArray and GetVirtualNodeSpecListenerTimeoutTcpIdleArrayOutput values. +// You can construct a concrete instance of `GetVirtualNodeSpecListenerTimeoutTcpIdleArrayInput` via: // -// GetVirtualGatewaySpecListenerArray{ GetVirtualGatewaySpecListenerArgs{...} } -type GetVirtualGatewaySpecListenerArrayInput interface { +// GetVirtualNodeSpecListenerTimeoutTcpIdleArray{ GetVirtualNodeSpecListenerTimeoutTcpIdleArgs{...} } +type GetVirtualNodeSpecListenerTimeoutTcpIdleArrayInput interface { pulumi.Input - ToGetVirtualGatewaySpecListenerArrayOutput() GetVirtualGatewaySpecListenerArrayOutput - ToGetVirtualGatewaySpecListenerArrayOutputWithContext(context.Context) GetVirtualGatewaySpecListenerArrayOutput + ToGetVirtualNodeSpecListenerTimeoutTcpIdleArrayOutput() GetVirtualNodeSpecListenerTimeoutTcpIdleArrayOutput + ToGetVirtualNodeSpecListenerTimeoutTcpIdleArrayOutputWithContext(context.Context) GetVirtualNodeSpecListenerTimeoutTcpIdleArrayOutput } -type GetVirtualGatewaySpecListenerArray []GetVirtualGatewaySpecListenerInput +type GetVirtualNodeSpecListenerTimeoutTcpIdleArray []GetVirtualNodeSpecListenerTimeoutTcpIdleInput -func (GetVirtualGatewaySpecListenerArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetVirtualGatewaySpecListener)(nil)).Elem() +func (GetVirtualNodeSpecListenerTimeoutTcpIdleArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetVirtualNodeSpecListenerTimeoutTcpIdle)(nil)).Elem() } -func (i GetVirtualGatewaySpecListenerArray) ToGetVirtualGatewaySpecListenerArrayOutput() GetVirtualGatewaySpecListenerArrayOutput { - return i.ToGetVirtualGatewaySpecListenerArrayOutputWithContext(context.Background()) +func (i GetVirtualNodeSpecListenerTimeoutTcpIdleArray) ToGetVirtualNodeSpecListenerTimeoutTcpIdleArrayOutput() GetVirtualNodeSpecListenerTimeoutTcpIdleArrayOutput { + return i.ToGetVirtualNodeSpecListenerTimeoutTcpIdleArrayOutputWithContext(context.Background()) } -func (i GetVirtualGatewaySpecListenerArray) ToGetVirtualGatewaySpecListenerArrayOutputWithContext(ctx context.Context) GetVirtualGatewaySpecListenerArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetVirtualGatewaySpecListenerArrayOutput) +func (i GetVirtualNodeSpecListenerTimeoutTcpIdleArray) ToGetVirtualNodeSpecListenerTimeoutTcpIdleArrayOutputWithContext(ctx context.Context) GetVirtualNodeSpecListenerTimeoutTcpIdleArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetVirtualNodeSpecListenerTimeoutTcpIdleArrayOutput) } -type GetVirtualGatewaySpecListenerOutput struct{ *pulumi.OutputState } +type GetVirtualNodeSpecListenerTimeoutTcpIdleOutput struct{ *pulumi.OutputState } -func (GetVirtualGatewaySpecListenerOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetVirtualGatewaySpecListener)(nil)).Elem() +func (GetVirtualNodeSpecListenerTimeoutTcpIdleOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetVirtualNodeSpecListenerTimeoutTcpIdle)(nil)).Elem() } -func (o GetVirtualGatewaySpecListenerOutput) ToGetVirtualGatewaySpecListenerOutput() GetVirtualGatewaySpecListenerOutput { +func (o GetVirtualNodeSpecListenerTimeoutTcpIdleOutput) ToGetVirtualNodeSpecListenerTimeoutTcpIdleOutput() GetVirtualNodeSpecListenerTimeoutTcpIdleOutput { return o } -func (o GetVirtualGatewaySpecListenerOutput) ToGetVirtualGatewaySpecListenerOutputWithContext(ctx context.Context) GetVirtualGatewaySpecListenerOutput { +func (o GetVirtualNodeSpecListenerTimeoutTcpIdleOutput) ToGetVirtualNodeSpecListenerTimeoutTcpIdleOutputWithContext(ctx context.Context) GetVirtualNodeSpecListenerTimeoutTcpIdleOutput { return o } -// Connection pool information for the listener. -func (o GetVirtualGatewaySpecListenerOutput) ConnectionPools() GetVirtualGatewaySpecListenerConnectionPoolArrayOutput { - return o.ApplyT(func(v GetVirtualGatewaySpecListener) []GetVirtualGatewaySpecListenerConnectionPool { - return v.ConnectionPools - }).(GetVirtualGatewaySpecListenerConnectionPoolArrayOutput) -} - -// Health check information for the listener. -func (o GetVirtualGatewaySpecListenerOutput) HealthChecks() GetVirtualGatewaySpecListenerHealthCheckArrayOutput { - return o.ApplyT(func(v GetVirtualGatewaySpecListener) []GetVirtualGatewaySpecListenerHealthCheck { - return v.HealthChecks - }).(GetVirtualGatewaySpecListenerHealthCheckArrayOutput) -} - -// Port mapping information for the listener. -func (o GetVirtualGatewaySpecListenerOutput) PortMappings() GetVirtualGatewaySpecListenerPortMappingArrayOutput { - return o.ApplyT(func(v GetVirtualGatewaySpecListener) []GetVirtualGatewaySpecListenerPortMapping { - return v.PortMappings - }).(GetVirtualGatewaySpecListenerPortMappingArrayOutput) +func (o GetVirtualNodeSpecListenerTimeoutTcpIdleOutput) Unit() pulumi.StringOutput { + return o.ApplyT(func(v GetVirtualNodeSpecListenerTimeoutTcpIdle) string { return v.Unit }).(pulumi.StringOutput) } -// Transport Layer Security (TLS) properties for the listener -func (o GetVirtualGatewaySpecListenerOutput) Tls() GetVirtualGatewaySpecListenerTlArrayOutput { - return o.ApplyT(func(v GetVirtualGatewaySpecListener) []GetVirtualGatewaySpecListenerTl { return v.Tls }).(GetVirtualGatewaySpecListenerTlArrayOutput) +func (o GetVirtualNodeSpecListenerTimeoutTcpIdleOutput) Value() pulumi.IntOutput { + return o.ApplyT(func(v GetVirtualNodeSpecListenerTimeoutTcpIdle) int { return v.Value }).(pulumi.IntOutput) } -type GetVirtualGatewaySpecListenerArrayOutput struct{ *pulumi.OutputState } +type GetVirtualNodeSpecListenerTimeoutTcpIdleArrayOutput struct{ *pulumi.OutputState } -func (GetVirtualGatewaySpecListenerArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetVirtualGatewaySpecListener)(nil)).Elem() +func (GetVirtualNodeSpecListenerTimeoutTcpIdleArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetVirtualNodeSpecListenerTimeoutTcpIdle)(nil)).Elem() } -func (o GetVirtualGatewaySpecListenerArrayOutput) ToGetVirtualGatewaySpecListenerArrayOutput() GetVirtualGatewaySpecListenerArrayOutput { +func (o GetVirtualNodeSpecListenerTimeoutTcpIdleArrayOutput) ToGetVirtualNodeSpecListenerTimeoutTcpIdleArrayOutput() GetVirtualNodeSpecListenerTimeoutTcpIdleArrayOutput { return o } -func (o GetVirtualGatewaySpecListenerArrayOutput) ToGetVirtualGatewaySpecListenerArrayOutputWithContext(ctx context.Context) GetVirtualGatewaySpecListenerArrayOutput { +func (o GetVirtualNodeSpecListenerTimeoutTcpIdleArrayOutput) ToGetVirtualNodeSpecListenerTimeoutTcpIdleArrayOutputWithContext(ctx context.Context) GetVirtualNodeSpecListenerTimeoutTcpIdleArrayOutput { return o } -func (o GetVirtualGatewaySpecListenerArrayOutput) Index(i pulumi.IntInput) GetVirtualGatewaySpecListenerOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetVirtualGatewaySpecListener { - return vs[0].([]GetVirtualGatewaySpecListener)[vs[1].(int)] - }).(GetVirtualGatewaySpecListenerOutput) +func (o GetVirtualNodeSpecListenerTimeoutTcpIdleArrayOutput) Index(i pulumi.IntInput) GetVirtualNodeSpecListenerTimeoutTcpIdleOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetVirtualNodeSpecListenerTimeoutTcpIdle { + return vs[0].([]GetVirtualNodeSpecListenerTimeoutTcpIdle)[vs[1].(int)] + }).(GetVirtualNodeSpecListenerTimeoutTcpIdleOutput) } -type GetVirtualGatewaySpecListenerConnectionPool struct { - // Connection pool information for gRPC listeners. - Grpcs []GetVirtualGatewaySpecListenerConnectionPoolGrpc `pulumi:"grpcs"` - // Connection pool information for HTTP2 listeners. - Http2s []GetVirtualGatewaySpecListenerConnectionPoolHttp2 `pulumi:"http2s"` - // Connection pool information for HTTP listeners. - Https []GetVirtualGatewaySpecListenerConnectionPoolHttp `pulumi:"https"` +type GetVirtualNodeSpecListenerTl struct { + Certificates []GetVirtualNodeSpecListenerTlCertificate `pulumi:"certificates"` + Mode string `pulumi:"mode"` + Validations []GetVirtualNodeSpecListenerTlValidation `pulumi:"validations"` } -// GetVirtualGatewaySpecListenerConnectionPoolInput is an input type that accepts GetVirtualGatewaySpecListenerConnectionPoolArgs and GetVirtualGatewaySpecListenerConnectionPoolOutput values. -// You can construct a concrete instance of `GetVirtualGatewaySpecListenerConnectionPoolInput` via: +// GetVirtualNodeSpecListenerTlInput is an input type that accepts GetVirtualNodeSpecListenerTlArgs and GetVirtualNodeSpecListenerTlOutput values. +// You can construct a concrete instance of `GetVirtualNodeSpecListenerTlInput` via: // -// GetVirtualGatewaySpecListenerConnectionPoolArgs{...} -type GetVirtualGatewaySpecListenerConnectionPoolInput interface { +// GetVirtualNodeSpecListenerTlArgs{...} +type GetVirtualNodeSpecListenerTlInput interface { pulumi.Input - ToGetVirtualGatewaySpecListenerConnectionPoolOutput() GetVirtualGatewaySpecListenerConnectionPoolOutput - ToGetVirtualGatewaySpecListenerConnectionPoolOutputWithContext(context.Context) GetVirtualGatewaySpecListenerConnectionPoolOutput + ToGetVirtualNodeSpecListenerTlOutput() GetVirtualNodeSpecListenerTlOutput + ToGetVirtualNodeSpecListenerTlOutputWithContext(context.Context) GetVirtualNodeSpecListenerTlOutput } -type GetVirtualGatewaySpecListenerConnectionPoolArgs struct { - // Connection pool information for gRPC listeners. - Grpcs GetVirtualGatewaySpecListenerConnectionPoolGrpcArrayInput `pulumi:"grpcs"` - // Connection pool information for HTTP2 listeners. - Http2s GetVirtualGatewaySpecListenerConnectionPoolHttp2ArrayInput `pulumi:"http2s"` - // Connection pool information for HTTP listeners. - Https GetVirtualGatewaySpecListenerConnectionPoolHttpArrayInput `pulumi:"https"` +type GetVirtualNodeSpecListenerTlArgs struct { + Certificates GetVirtualNodeSpecListenerTlCertificateArrayInput `pulumi:"certificates"` + Mode pulumi.StringInput `pulumi:"mode"` + Validations GetVirtualNodeSpecListenerTlValidationArrayInput `pulumi:"validations"` } -func (GetVirtualGatewaySpecListenerConnectionPoolArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetVirtualGatewaySpecListenerConnectionPool)(nil)).Elem() +func (GetVirtualNodeSpecListenerTlArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetVirtualNodeSpecListenerTl)(nil)).Elem() } -func (i GetVirtualGatewaySpecListenerConnectionPoolArgs) ToGetVirtualGatewaySpecListenerConnectionPoolOutput() GetVirtualGatewaySpecListenerConnectionPoolOutput { - return i.ToGetVirtualGatewaySpecListenerConnectionPoolOutputWithContext(context.Background()) +func (i GetVirtualNodeSpecListenerTlArgs) ToGetVirtualNodeSpecListenerTlOutput() GetVirtualNodeSpecListenerTlOutput { + return i.ToGetVirtualNodeSpecListenerTlOutputWithContext(context.Background()) } -func (i GetVirtualGatewaySpecListenerConnectionPoolArgs) ToGetVirtualGatewaySpecListenerConnectionPoolOutputWithContext(ctx context.Context) GetVirtualGatewaySpecListenerConnectionPoolOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetVirtualGatewaySpecListenerConnectionPoolOutput) +func (i GetVirtualNodeSpecListenerTlArgs) ToGetVirtualNodeSpecListenerTlOutputWithContext(ctx context.Context) GetVirtualNodeSpecListenerTlOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetVirtualNodeSpecListenerTlOutput) } -// GetVirtualGatewaySpecListenerConnectionPoolArrayInput is an input type that accepts GetVirtualGatewaySpecListenerConnectionPoolArray and GetVirtualGatewaySpecListenerConnectionPoolArrayOutput values. -// You can construct a concrete instance of `GetVirtualGatewaySpecListenerConnectionPoolArrayInput` via: +// GetVirtualNodeSpecListenerTlArrayInput is an input type that accepts GetVirtualNodeSpecListenerTlArray and GetVirtualNodeSpecListenerTlArrayOutput values. +// You can construct a concrete instance of `GetVirtualNodeSpecListenerTlArrayInput` via: // -// GetVirtualGatewaySpecListenerConnectionPoolArray{ GetVirtualGatewaySpecListenerConnectionPoolArgs{...} } -type GetVirtualGatewaySpecListenerConnectionPoolArrayInput interface { +// GetVirtualNodeSpecListenerTlArray{ GetVirtualNodeSpecListenerTlArgs{...} } +type GetVirtualNodeSpecListenerTlArrayInput interface { pulumi.Input - ToGetVirtualGatewaySpecListenerConnectionPoolArrayOutput() GetVirtualGatewaySpecListenerConnectionPoolArrayOutput - ToGetVirtualGatewaySpecListenerConnectionPoolArrayOutputWithContext(context.Context) GetVirtualGatewaySpecListenerConnectionPoolArrayOutput + ToGetVirtualNodeSpecListenerTlArrayOutput() GetVirtualNodeSpecListenerTlArrayOutput + ToGetVirtualNodeSpecListenerTlArrayOutputWithContext(context.Context) GetVirtualNodeSpecListenerTlArrayOutput } -type GetVirtualGatewaySpecListenerConnectionPoolArray []GetVirtualGatewaySpecListenerConnectionPoolInput +type GetVirtualNodeSpecListenerTlArray []GetVirtualNodeSpecListenerTlInput -func (GetVirtualGatewaySpecListenerConnectionPoolArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetVirtualGatewaySpecListenerConnectionPool)(nil)).Elem() +func (GetVirtualNodeSpecListenerTlArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetVirtualNodeSpecListenerTl)(nil)).Elem() } -func (i GetVirtualGatewaySpecListenerConnectionPoolArray) ToGetVirtualGatewaySpecListenerConnectionPoolArrayOutput() GetVirtualGatewaySpecListenerConnectionPoolArrayOutput { - return i.ToGetVirtualGatewaySpecListenerConnectionPoolArrayOutputWithContext(context.Background()) +func (i GetVirtualNodeSpecListenerTlArray) ToGetVirtualNodeSpecListenerTlArrayOutput() GetVirtualNodeSpecListenerTlArrayOutput { + return i.ToGetVirtualNodeSpecListenerTlArrayOutputWithContext(context.Background()) } -func (i GetVirtualGatewaySpecListenerConnectionPoolArray) ToGetVirtualGatewaySpecListenerConnectionPoolArrayOutputWithContext(ctx context.Context) GetVirtualGatewaySpecListenerConnectionPoolArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetVirtualGatewaySpecListenerConnectionPoolArrayOutput) +func (i GetVirtualNodeSpecListenerTlArray) ToGetVirtualNodeSpecListenerTlArrayOutputWithContext(ctx context.Context) GetVirtualNodeSpecListenerTlArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetVirtualNodeSpecListenerTlArrayOutput) } -type GetVirtualGatewaySpecListenerConnectionPoolOutput struct{ *pulumi.OutputState } +type GetVirtualNodeSpecListenerTlOutput struct{ *pulumi.OutputState } -func (GetVirtualGatewaySpecListenerConnectionPoolOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetVirtualGatewaySpecListenerConnectionPool)(nil)).Elem() +func (GetVirtualNodeSpecListenerTlOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetVirtualNodeSpecListenerTl)(nil)).Elem() } -func (o GetVirtualGatewaySpecListenerConnectionPoolOutput) ToGetVirtualGatewaySpecListenerConnectionPoolOutput() GetVirtualGatewaySpecListenerConnectionPoolOutput { +func (o GetVirtualNodeSpecListenerTlOutput) ToGetVirtualNodeSpecListenerTlOutput() GetVirtualNodeSpecListenerTlOutput { return o } -func (o GetVirtualGatewaySpecListenerConnectionPoolOutput) ToGetVirtualGatewaySpecListenerConnectionPoolOutputWithContext(ctx context.Context) GetVirtualGatewaySpecListenerConnectionPoolOutput { +func (o GetVirtualNodeSpecListenerTlOutput) ToGetVirtualNodeSpecListenerTlOutputWithContext(ctx context.Context) GetVirtualNodeSpecListenerTlOutput { return o } -// Connection pool information for gRPC listeners. -func (o GetVirtualGatewaySpecListenerConnectionPoolOutput) Grpcs() GetVirtualGatewaySpecListenerConnectionPoolGrpcArrayOutput { - return o.ApplyT(func(v GetVirtualGatewaySpecListenerConnectionPool) []GetVirtualGatewaySpecListenerConnectionPoolGrpc { - return v.Grpcs - }).(GetVirtualGatewaySpecListenerConnectionPoolGrpcArrayOutput) +func (o GetVirtualNodeSpecListenerTlOutput) Certificates() GetVirtualNodeSpecListenerTlCertificateArrayOutput { + return o.ApplyT(func(v GetVirtualNodeSpecListenerTl) []GetVirtualNodeSpecListenerTlCertificate { return v.Certificates }).(GetVirtualNodeSpecListenerTlCertificateArrayOutput) } -// Connection pool information for HTTP2 listeners. -func (o GetVirtualGatewaySpecListenerConnectionPoolOutput) Http2s() GetVirtualGatewaySpecListenerConnectionPoolHttp2ArrayOutput { - return o.ApplyT(func(v GetVirtualGatewaySpecListenerConnectionPool) []GetVirtualGatewaySpecListenerConnectionPoolHttp2 { - return v.Http2s - }).(GetVirtualGatewaySpecListenerConnectionPoolHttp2ArrayOutput) +func (o GetVirtualNodeSpecListenerTlOutput) Mode() pulumi.StringOutput { + return o.ApplyT(func(v GetVirtualNodeSpecListenerTl) string { return v.Mode }).(pulumi.StringOutput) } -// Connection pool information for HTTP listeners. -func (o GetVirtualGatewaySpecListenerConnectionPoolOutput) Https() GetVirtualGatewaySpecListenerConnectionPoolHttpArrayOutput { - return o.ApplyT(func(v GetVirtualGatewaySpecListenerConnectionPool) []GetVirtualGatewaySpecListenerConnectionPoolHttp { - return v.Https - }).(GetVirtualGatewaySpecListenerConnectionPoolHttpArrayOutput) +func (o GetVirtualNodeSpecListenerTlOutput) Validations() GetVirtualNodeSpecListenerTlValidationArrayOutput { + return o.ApplyT(func(v GetVirtualNodeSpecListenerTl) []GetVirtualNodeSpecListenerTlValidation { return v.Validations }).(GetVirtualNodeSpecListenerTlValidationArrayOutput) } -type GetVirtualGatewaySpecListenerConnectionPoolArrayOutput struct{ *pulumi.OutputState } +type GetVirtualNodeSpecListenerTlArrayOutput struct{ *pulumi.OutputState } -func (GetVirtualGatewaySpecListenerConnectionPoolArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetVirtualGatewaySpecListenerConnectionPool)(nil)).Elem() +func (GetVirtualNodeSpecListenerTlArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetVirtualNodeSpecListenerTl)(nil)).Elem() } -func (o GetVirtualGatewaySpecListenerConnectionPoolArrayOutput) ToGetVirtualGatewaySpecListenerConnectionPoolArrayOutput() GetVirtualGatewaySpecListenerConnectionPoolArrayOutput { +func (o GetVirtualNodeSpecListenerTlArrayOutput) ToGetVirtualNodeSpecListenerTlArrayOutput() GetVirtualNodeSpecListenerTlArrayOutput { return o } -func (o GetVirtualGatewaySpecListenerConnectionPoolArrayOutput) ToGetVirtualGatewaySpecListenerConnectionPoolArrayOutputWithContext(ctx context.Context) GetVirtualGatewaySpecListenerConnectionPoolArrayOutput { +func (o GetVirtualNodeSpecListenerTlArrayOutput) ToGetVirtualNodeSpecListenerTlArrayOutputWithContext(ctx context.Context) GetVirtualNodeSpecListenerTlArrayOutput { return o } -func (o GetVirtualGatewaySpecListenerConnectionPoolArrayOutput) Index(i pulumi.IntInput) GetVirtualGatewaySpecListenerConnectionPoolOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetVirtualGatewaySpecListenerConnectionPool { - return vs[0].([]GetVirtualGatewaySpecListenerConnectionPool)[vs[1].(int)] - }).(GetVirtualGatewaySpecListenerConnectionPoolOutput) +func (o GetVirtualNodeSpecListenerTlArrayOutput) Index(i pulumi.IntInput) GetVirtualNodeSpecListenerTlOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetVirtualNodeSpecListenerTl { + return vs[0].([]GetVirtualNodeSpecListenerTl)[vs[1].(int)] + }).(GetVirtualNodeSpecListenerTlOutput) } -type GetVirtualGatewaySpecListenerConnectionPoolGrpc struct { - // Maximum number of inflight requests Envoy can concurrently support across hosts in upstream cluster. Minimum value of `1`. - MaxRequests int `pulumi:"maxRequests"` +type GetVirtualNodeSpecListenerTlCertificate struct { + Acms []GetVirtualNodeSpecListenerTlCertificateAcm `pulumi:"acms"` + Files []GetVirtualNodeSpecListenerTlCertificateFile `pulumi:"files"` + Sds []GetVirtualNodeSpecListenerTlCertificateSd `pulumi:"sds"` } -// GetVirtualGatewaySpecListenerConnectionPoolGrpcInput is an input type that accepts GetVirtualGatewaySpecListenerConnectionPoolGrpcArgs and GetVirtualGatewaySpecListenerConnectionPoolGrpcOutput values. -// You can construct a concrete instance of `GetVirtualGatewaySpecListenerConnectionPoolGrpcInput` via: +// GetVirtualNodeSpecListenerTlCertificateInput is an input type that accepts GetVirtualNodeSpecListenerTlCertificateArgs and GetVirtualNodeSpecListenerTlCertificateOutput values. +// You can construct a concrete instance of `GetVirtualNodeSpecListenerTlCertificateInput` via: // -// GetVirtualGatewaySpecListenerConnectionPoolGrpcArgs{...} -type GetVirtualGatewaySpecListenerConnectionPoolGrpcInput interface { +// GetVirtualNodeSpecListenerTlCertificateArgs{...} +type GetVirtualNodeSpecListenerTlCertificateInput interface { pulumi.Input - ToGetVirtualGatewaySpecListenerConnectionPoolGrpcOutput() GetVirtualGatewaySpecListenerConnectionPoolGrpcOutput - ToGetVirtualGatewaySpecListenerConnectionPoolGrpcOutputWithContext(context.Context) GetVirtualGatewaySpecListenerConnectionPoolGrpcOutput + ToGetVirtualNodeSpecListenerTlCertificateOutput() GetVirtualNodeSpecListenerTlCertificateOutput + ToGetVirtualNodeSpecListenerTlCertificateOutputWithContext(context.Context) GetVirtualNodeSpecListenerTlCertificateOutput } -type GetVirtualGatewaySpecListenerConnectionPoolGrpcArgs struct { - // Maximum number of inflight requests Envoy can concurrently support across hosts in upstream cluster. Minimum value of `1`. - MaxRequests pulumi.IntInput `pulumi:"maxRequests"` +type GetVirtualNodeSpecListenerTlCertificateArgs struct { + Acms GetVirtualNodeSpecListenerTlCertificateAcmArrayInput `pulumi:"acms"` + Files GetVirtualNodeSpecListenerTlCertificateFileArrayInput `pulumi:"files"` + Sds GetVirtualNodeSpecListenerTlCertificateSdArrayInput `pulumi:"sds"` } -func (GetVirtualGatewaySpecListenerConnectionPoolGrpcArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetVirtualGatewaySpecListenerConnectionPoolGrpc)(nil)).Elem() +func (GetVirtualNodeSpecListenerTlCertificateArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetVirtualNodeSpecListenerTlCertificate)(nil)).Elem() } -func (i GetVirtualGatewaySpecListenerConnectionPoolGrpcArgs) ToGetVirtualGatewaySpecListenerConnectionPoolGrpcOutput() GetVirtualGatewaySpecListenerConnectionPoolGrpcOutput { - return i.ToGetVirtualGatewaySpecListenerConnectionPoolGrpcOutputWithContext(context.Background()) +func (i GetVirtualNodeSpecListenerTlCertificateArgs) ToGetVirtualNodeSpecListenerTlCertificateOutput() GetVirtualNodeSpecListenerTlCertificateOutput { + return i.ToGetVirtualNodeSpecListenerTlCertificateOutputWithContext(context.Background()) } -func (i GetVirtualGatewaySpecListenerConnectionPoolGrpcArgs) ToGetVirtualGatewaySpecListenerConnectionPoolGrpcOutputWithContext(ctx context.Context) GetVirtualGatewaySpecListenerConnectionPoolGrpcOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetVirtualGatewaySpecListenerConnectionPoolGrpcOutput) +func (i GetVirtualNodeSpecListenerTlCertificateArgs) ToGetVirtualNodeSpecListenerTlCertificateOutputWithContext(ctx context.Context) GetVirtualNodeSpecListenerTlCertificateOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetVirtualNodeSpecListenerTlCertificateOutput) } -// GetVirtualGatewaySpecListenerConnectionPoolGrpcArrayInput is an input type that accepts GetVirtualGatewaySpecListenerConnectionPoolGrpcArray and GetVirtualGatewaySpecListenerConnectionPoolGrpcArrayOutput values. -// You can construct a concrete instance of `GetVirtualGatewaySpecListenerConnectionPoolGrpcArrayInput` via: +// GetVirtualNodeSpecListenerTlCertificateArrayInput is an input type that accepts GetVirtualNodeSpecListenerTlCertificateArray and GetVirtualNodeSpecListenerTlCertificateArrayOutput values. +// You can construct a concrete instance of `GetVirtualNodeSpecListenerTlCertificateArrayInput` via: // -// GetVirtualGatewaySpecListenerConnectionPoolGrpcArray{ GetVirtualGatewaySpecListenerConnectionPoolGrpcArgs{...} } -type GetVirtualGatewaySpecListenerConnectionPoolGrpcArrayInput interface { +// GetVirtualNodeSpecListenerTlCertificateArray{ GetVirtualNodeSpecListenerTlCertificateArgs{...} } +type GetVirtualNodeSpecListenerTlCertificateArrayInput interface { pulumi.Input - ToGetVirtualGatewaySpecListenerConnectionPoolGrpcArrayOutput() GetVirtualGatewaySpecListenerConnectionPoolGrpcArrayOutput - ToGetVirtualGatewaySpecListenerConnectionPoolGrpcArrayOutputWithContext(context.Context) GetVirtualGatewaySpecListenerConnectionPoolGrpcArrayOutput + ToGetVirtualNodeSpecListenerTlCertificateArrayOutput() GetVirtualNodeSpecListenerTlCertificateArrayOutput + ToGetVirtualNodeSpecListenerTlCertificateArrayOutputWithContext(context.Context) GetVirtualNodeSpecListenerTlCertificateArrayOutput } -type GetVirtualGatewaySpecListenerConnectionPoolGrpcArray []GetVirtualGatewaySpecListenerConnectionPoolGrpcInput +type GetVirtualNodeSpecListenerTlCertificateArray []GetVirtualNodeSpecListenerTlCertificateInput -func (GetVirtualGatewaySpecListenerConnectionPoolGrpcArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetVirtualGatewaySpecListenerConnectionPoolGrpc)(nil)).Elem() +func (GetVirtualNodeSpecListenerTlCertificateArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetVirtualNodeSpecListenerTlCertificate)(nil)).Elem() } -func (i GetVirtualGatewaySpecListenerConnectionPoolGrpcArray) ToGetVirtualGatewaySpecListenerConnectionPoolGrpcArrayOutput() GetVirtualGatewaySpecListenerConnectionPoolGrpcArrayOutput { - return i.ToGetVirtualGatewaySpecListenerConnectionPoolGrpcArrayOutputWithContext(context.Background()) +func (i GetVirtualNodeSpecListenerTlCertificateArray) ToGetVirtualNodeSpecListenerTlCertificateArrayOutput() GetVirtualNodeSpecListenerTlCertificateArrayOutput { + return i.ToGetVirtualNodeSpecListenerTlCertificateArrayOutputWithContext(context.Background()) } -func (i GetVirtualGatewaySpecListenerConnectionPoolGrpcArray) ToGetVirtualGatewaySpecListenerConnectionPoolGrpcArrayOutputWithContext(ctx context.Context) GetVirtualGatewaySpecListenerConnectionPoolGrpcArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetVirtualGatewaySpecListenerConnectionPoolGrpcArrayOutput) +func (i GetVirtualNodeSpecListenerTlCertificateArray) ToGetVirtualNodeSpecListenerTlCertificateArrayOutputWithContext(ctx context.Context) GetVirtualNodeSpecListenerTlCertificateArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetVirtualNodeSpecListenerTlCertificateArrayOutput) } -type GetVirtualGatewaySpecListenerConnectionPoolGrpcOutput struct{ *pulumi.OutputState } +type GetVirtualNodeSpecListenerTlCertificateOutput struct{ *pulumi.OutputState } -func (GetVirtualGatewaySpecListenerConnectionPoolGrpcOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetVirtualGatewaySpecListenerConnectionPoolGrpc)(nil)).Elem() +func (GetVirtualNodeSpecListenerTlCertificateOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetVirtualNodeSpecListenerTlCertificate)(nil)).Elem() } -func (o GetVirtualGatewaySpecListenerConnectionPoolGrpcOutput) ToGetVirtualGatewaySpecListenerConnectionPoolGrpcOutput() GetVirtualGatewaySpecListenerConnectionPoolGrpcOutput { +func (o GetVirtualNodeSpecListenerTlCertificateOutput) ToGetVirtualNodeSpecListenerTlCertificateOutput() GetVirtualNodeSpecListenerTlCertificateOutput { return o } -func (o GetVirtualGatewaySpecListenerConnectionPoolGrpcOutput) ToGetVirtualGatewaySpecListenerConnectionPoolGrpcOutputWithContext(ctx context.Context) GetVirtualGatewaySpecListenerConnectionPoolGrpcOutput { +func (o GetVirtualNodeSpecListenerTlCertificateOutput) ToGetVirtualNodeSpecListenerTlCertificateOutputWithContext(ctx context.Context) GetVirtualNodeSpecListenerTlCertificateOutput { return o } -// Maximum number of inflight requests Envoy can concurrently support across hosts in upstream cluster. Minimum value of `1`. -func (o GetVirtualGatewaySpecListenerConnectionPoolGrpcOutput) MaxRequests() pulumi.IntOutput { - return o.ApplyT(func(v GetVirtualGatewaySpecListenerConnectionPoolGrpc) int { return v.MaxRequests }).(pulumi.IntOutput) +func (o GetVirtualNodeSpecListenerTlCertificateOutput) Acms() GetVirtualNodeSpecListenerTlCertificateAcmArrayOutput { + return o.ApplyT(func(v GetVirtualNodeSpecListenerTlCertificate) []GetVirtualNodeSpecListenerTlCertificateAcm { + return v.Acms + }).(GetVirtualNodeSpecListenerTlCertificateAcmArrayOutput) } -type GetVirtualGatewaySpecListenerConnectionPoolGrpcArrayOutput struct{ *pulumi.OutputState } +func (o GetVirtualNodeSpecListenerTlCertificateOutput) Files() GetVirtualNodeSpecListenerTlCertificateFileArrayOutput { + return o.ApplyT(func(v GetVirtualNodeSpecListenerTlCertificate) []GetVirtualNodeSpecListenerTlCertificateFile { + return v.Files + }).(GetVirtualNodeSpecListenerTlCertificateFileArrayOutput) +} -func (GetVirtualGatewaySpecListenerConnectionPoolGrpcArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetVirtualGatewaySpecListenerConnectionPoolGrpc)(nil)).Elem() +func (o GetVirtualNodeSpecListenerTlCertificateOutput) Sds() GetVirtualNodeSpecListenerTlCertificateSdArrayOutput { + return o.ApplyT(func(v GetVirtualNodeSpecListenerTlCertificate) []GetVirtualNodeSpecListenerTlCertificateSd { + return v.Sds + }).(GetVirtualNodeSpecListenerTlCertificateSdArrayOutput) } -func (o GetVirtualGatewaySpecListenerConnectionPoolGrpcArrayOutput) ToGetVirtualGatewaySpecListenerConnectionPoolGrpcArrayOutput() GetVirtualGatewaySpecListenerConnectionPoolGrpcArrayOutput { +type GetVirtualNodeSpecListenerTlCertificateArrayOutput struct{ *pulumi.OutputState } + +func (GetVirtualNodeSpecListenerTlCertificateArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetVirtualNodeSpecListenerTlCertificate)(nil)).Elem() +} + +func (o GetVirtualNodeSpecListenerTlCertificateArrayOutput) ToGetVirtualNodeSpecListenerTlCertificateArrayOutput() GetVirtualNodeSpecListenerTlCertificateArrayOutput { return o } -func (o GetVirtualGatewaySpecListenerConnectionPoolGrpcArrayOutput) ToGetVirtualGatewaySpecListenerConnectionPoolGrpcArrayOutputWithContext(ctx context.Context) GetVirtualGatewaySpecListenerConnectionPoolGrpcArrayOutput { +func (o GetVirtualNodeSpecListenerTlCertificateArrayOutput) ToGetVirtualNodeSpecListenerTlCertificateArrayOutputWithContext(ctx context.Context) GetVirtualNodeSpecListenerTlCertificateArrayOutput { return o } -func (o GetVirtualGatewaySpecListenerConnectionPoolGrpcArrayOutput) Index(i pulumi.IntInput) GetVirtualGatewaySpecListenerConnectionPoolGrpcOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetVirtualGatewaySpecListenerConnectionPoolGrpc { - return vs[0].([]GetVirtualGatewaySpecListenerConnectionPoolGrpc)[vs[1].(int)] - }).(GetVirtualGatewaySpecListenerConnectionPoolGrpcOutput) +func (o GetVirtualNodeSpecListenerTlCertificateArrayOutput) Index(i pulumi.IntInput) GetVirtualNodeSpecListenerTlCertificateOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetVirtualNodeSpecListenerTlCertificate { + return vs[0].([]GetVirtualNodeSpecListenerTlCertificate)[vs[1].(int)] + }).(GetVirtualNodeSpecListenerTlCertificateOutput) } -type GetVirtualGatewaySpecListenerConnectionPoolHttp2 struct { - // Maximum number of inflight requests Envoy can concurrently support across hosts in upstream cluster. Minimum value of `1`. - MaxRequests int `pulumi:"maxRequests"` +type GetVirtualNodeSpecListenerTlCertificateAcm struct { + CertificateArn string `pulumi:"certificateArn"` } -// GetVirtualGatewaySpecListenerConnectionPoolHttp2Input is an input type that accepts GetVirtualGatewaySpecListenerConnectionPoolHttp2Args and GetVirtualGatewaySpecListenerConnectionPoolHttp2Output values. -// You can construct a concrete instance of `GetVirtualGatewaySpecListenerConnectionPoolHttp2Input` via: +// GetVirtualNodeSpecListenerTlCertificateAcmInput is an input type that accepts GetVirtualNodeSpecListenerTlCertificateAcmArgs and GetVirtualNodeSpecListenerTlCertificateAcmOutput values. +// You can construct a concrete instance of `GetVirtualNodeSpecListenerTlCertificateAcmInput` via: // -// GetVirtualGatewaySpecListenerConnectionPoolHttp2Args{...} -type GetVirtualGatewaySpecListenerConnectionPoolHttp2Input interface { +// GetVirtualNodeSpecListenerTlCertificateAcmArgs{...} +type GetVirtualNodeSpecListenerTlCertificateAcmInput interface { pulumi.Input - ToGetVirtualGatewaySpecListenerConnectionPoolHttp2Output() GetVirtualGatewaySpecListenerConnectionPoolHttp2Output - ToGetVirtualGatewaySpecListenerConnectionPoolHttp2OutputWithContext(context.Context) GetVirtualGatewaySpecListenerConnectionPoolHttp2Output + ToGetVirtualNodeSpecListenerTlCertificateAcmOutput() GetVirtualNodeSpecListenerTlCertificateAcmOutput + ToGetVirtualNodeSpecListenerTlCertificateAcmOutputWithContext(context.Context) GetVirtualNodeSpecListenerTlCertificateAcmOutput } -type GetVirtualGatewaySpecListenerConnectionPoolHttp2Args struct { - // Maximum number of inflight requests Envoy can concurrently support across hosts in upstream cluster. Minimum value of `1`. - MaxRequests pulumi.IntInput `pulumi:"maxRequests"` +type GetVirtualNodeSpecListenerTlCertificateAcmArgs struct { + CertificateArn pulumi.StringInput `pulumi:"certificateArn"` } -func (GetVirtualGatewaySpecListenerConnectionPoolHttp2Args) ElementType() reflect.Type { - return reflect.TypeOf((*GetVirtualGatewaySpecListenerConnectionPoolHttp2)(nil)).Elem() +func (GetVirtualNodeSpecListenerTlCertificateAcmArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetVirtualNodeSpecListenerTlCertificateAcm)(nil)).Elem() } -func (i GetVirtualGatewaySpecListenerConnectionPoolHttp2Args) ToGetVirtualGatewaySpecListenerConnectionPoolHttp2Output() GetVirtualGatewaySpecListenerConnectionPoolHttp2Output { - return i.ToGetVirtualGatewaySpecListenerConnectionPoolHttp2OutputWithContext(context.Background()) +func (i GetVirtualNodeSpecListenerTlCertificateAcmArgs) ToGetVirtualNodeSpecListenerTlCertificateAcmOutput() GetVirtualNodeSpecListenerTlCertificateAcmOutput { + return i.ToGetVirtualNodeSpecListenerTlCertificateAcmOutputWithContext(context.Background()) } -func (i GetVirtualGatewaySpecListenerConnectionPoolHttp2Args) ToGetVirtualGatewaySpecListenerConnectionPoolHttp2OutputWithContext(ctx context.Context) GetVirtualGatewaySpecListenerConnectionPoolHttp2Output { - return pulumi.ToOutputWithContext(ctx, i).(GetVirtualGatewaySpecListenerConnectionPoolHttp2Output) +func (i GetVirtualNodeSpecListenerTlCertificateAcmArgs) ToGetVirtualNodeSpecListenerTlCertificateAcmOutputWithContext(ctx context.Context) GetVirtualNodeSpecListenerTlCertificateAcmOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetVirtualNodeSpecListenerTlCertificateAcmOutput) } -// GetVirtualGatewaySpecListenerConnectionPoolHttp2ArrayInput is an input type that accepts GetVirtualGatewaySpecListenerConnectionPoolHttp2Array and GetVirtualGatewaySpecListenerConnectionPoolHttp2ArrayOutput values. -// You can construct a concrete instance of `GetVirtualGatewaySpecListenerConnectionPoolHttp2ArrayInput` via: +// GetVirtualNodeSpecListenerTlCertificateAcmArrayInput is an input type that accepts GetVirtualNodeSpecListenerTlCertificateAcmArray and GetVirtualNodeSpecListenerTlCertificateAcmArrayOutput values. +// You can construct a concrete instance of `GetVirtualNodeSpecListenerTlCertificateAcmArrayInput` via: // -// GetVirtualGatewaySpecListenerConnectionPoolHttp2Array{ GetVirtualGatewaySpecListenerConnectionPoolHttp2Args{...} } -type GetVirtualGatewaySpecListenerConnectionPoolHttp2ArrayInput interface { +// GetVirtualNodeSpecListenerTlCertificateAcmArray{ GetVirtualNodeSpecListenerTlCertificateAcmArgs{...} } +type GetVirtualNodeSpecListenerTlCertificateAcmArrayInput interface { pulumi.Input - ToGetVirtualGatewaySpecListenerConnectionPoolHttp2ArrayOutput() GetVirtualGatewaySpecListenerConnectionPoolHttp2ArrayOutput - ToGetVirtualGatewaySpecListenerConnectionPoolHttp2ArrayOutputWithContext(context.Context) GetVirtualGatewaySpecListenerConnectionPoolHttp2ArrayOutput + ToGetVirtualNodeSpecListenerTlCertificateAcmArrayOutput() GetVirtualNodeSpecListenerTlCertificateAcmArrayOutput + ToGetVirtualNodeSpecListenerTlCertificateAcmArrayOutputWithContext(context.Context) GetVirtualNodeSpecListenerTlCertificateAcmArrayOutput } -type GetVirtualGatewaySpecListenerConnectionPoolHttp2Array []GetVirtualGatewaySpecListenerConnectionPoolHttp2Input +type GetVirtualNodeSpecListenerTlCertificateAcmArray []GetVirtualNodeSpecListenerTlCertificateAcmInput -func (GetVirtualGatewaySpecListenerConnectionPoolHttp2Array) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetVirtualGatewaySpecListenerConnectionPoolHttp2)(nil)).Elem() +func (GetVirtualNodeSpecListenerTlCertificateAcmArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetVirtualNodeSpecListenerTlCertificateAcm)(nil)).Elem() } -func (i GetVirtualGatewaySpecListenerConnectionPoolHttp2Array) ToGetVirtualGatewaySpecListenerConnectionPoolHttp2ArrayOutput() GetVirtualGatewaySpecListenerConnectionPoolHttp2ArrayOutput { - return i.ToGetVirtualGatewaySpecListenerConnectionPoolHttp2ArrayOutputWithContext(context.Background()) +func (i GetVirtualNodeSpecListenerTlCertificateAcmArray) ToGetVirtualNodeSpecListenerTlCertificateAcmArrayOutput() GetVirtualNodeSpecListenerTlCertificateAcmArrayOutput { + return i.ToGetVirtualNodeSpecListenerTlCertificateAcmArrayOutputWithContext(context.Background()) } -func (i GetVirtualGatewaySpecListenerConnectionPoolHttp2Array) ToGetVirtualGatewaySpecListenerConnectionPoolHttp2ArrayOutputWithContext(ctx context.Context) GetVirtualGatewaySpecListenerConnectionPoolHttp2ArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetVirtualGatewaySpecListenerConnectionPoolHttp2ArrayOutput) +func (i GetVirtualNodeSpecListenerTlCertificateAcmArray) ToGetVirtualNodeSpecListenerTlCertificateAcmArrayOutputWithContext(ctx context.Context) GetVirtualNodeSpecListenerTlCertificateAcmArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetVirtualNodeSpecListenerTlCertificateAcmArrayOutput) } -type GetVirtualGatewaySpecListenerConnectionPoolHttp2Output struct{ *pulumi.OutputState } +type GetVirtualNodeSpecListenerTlCertificateAcmOutput struct{ *pulumi.OutputState } -func (GetVirtualGatewaySpecListenerConnectionPoolHttp2Output) ElementType() reflect.Type { - return reflect.TypeOf((*GetVirtualGatewaySpecListenerConnectionPoolHttp2)(nil)).Elem() +func (GetVirtualNodeSpecListenerTlCertificateAcmOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetVirtualNodeSpecListenerTlCertificateAcm)(nil)).Elem() } -func (o GetVirtualGatewaySpecListenerConnectionPoolHttp2Output) ToGetVirtualGatewaySpecListenerConnectionPoolHttp2Output() GetVirtualGatewaySpecListenerConnectionPoolHttp2Output { +func (o GetVirtualNodeSpecListenerTlCertificateAcmOutput) ToGetVirtualNodeSpecListenerTlCertificateAcmOutput() GetVirtualNodeSpecListenerTlCertificateAcmOutput { return o } -func (o GetVirtualGatewaySpecListenerConnectionPoolHttp2Output) ToGetVirtualGatewaySpecListenerConnectionPoolHttp2OutputWithContext(ctx context.Context) GetVirtualGatewaySpecListenerConnectionPoolHttp2Output { +func (o GetVirtualNodeSpecListenerTlCertificateAcmOutput) ToGetVirtualNodeSpecListenerTlCertificateAcmOutputWithContext(ctx context.Context) GetVirtualNodeSpecListenerTlCertificateAcmOutput { return o } -// Maximum number of inflight requests Envoy can concurrently support across hosts in upstream cluster. Minimum value of `1`. -func (o GetVirtualGatewaySpecListenerConnectionPoolHttp2Output) MaxRequests() pulumi.IntOutput { - return o.ApplyT(func(v GetVirtualGatewaySpecListenerConnectionPoolHttp2) int { return v.MaxRequests }).(pulumi.IntOutput) +func (o GetVirtualNodeSpecListenerTlCertificateAcmOutput) CertificateArn() pulumi.StringOutput { + return o.ApplyT(func(v GetVirtualNodeSpecListenerTlCertificateAcm) string { return v.CertificateArn }).(pulumi.StringOutput) } -type GetVirtualGatewaySpecListenerConnectionPoolHttp2ArrayOutput struct{ *pulumi.OutputState } +type GetVirtualNodeSpecListenerTlCertificateAcmArrayOutput struct{ *pulumi.OutputState } -func (GetVirtualGatewaySpecListenerConnectionPoolHttp2ArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetVirtualGatewaySpecListenerConnectionPoolHttp2)(nil)).Elem() +func (GetVirtualNodeSpecListenerTlCertificateAcmArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetVirtualNodeSpecListenerTlCertificateAcm)(nil)).Elem() } -func (o GetVirtualGatewaySpecListenerConnectionPoolHttp2ArrayOutput) ToGetVirtualGatewaySpecListenerConnectionPoolHttp2ArrayOutput() GetVirtualGatewaySpecListenerConnectionPoolHttp2ArrayOutput { +func (o GetVirtualNodeSpecListenerTlCertificateAcmArrayOutput) ToGetVirtualNodeSpecListenerTlCertificateAcmArrayOutput() GetVirtualNodeSpecListenerTlCertificateAcmArrayOutput { return o } -func (o GetVirtualGatewaySpecListenerConnectionPoolHttp2ArrayOutput) ToGetVirtualGatewaySpecListenerConnectionPoolHttp2ArrayOutputWithContext(ctx context.Context) GetVirtualGatewaySpecListenerConnectionPoolHttp2ArrayOutput { +func (o GetVirtualNodeSpecListenerTlCertificateAcmArrayOutput) ToGetVirtualNodeSpecListenerTlCertificateAcmArrayOutputWithContext(ctx context.Context) GetVirtualNodeSpecListenerTlCertificateAcmArrayOutput { return o } -func (o GetVirtualGatewaySpecListenerConnectionPoolHttp2ArrayOutput) Index(i pulumi.IntInput) GetVirtualGatewaySpecListenerConnectionPoolHttp2Output { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetVirtualGatewaySpecListenerConnectionPoolHttp2 { - return vs[0].([]GetVirtualGatewaySpecListenerConnectionPoolHttp2)[vs[1].(int)] - }).(GetVirtualGatewaySpecListenerConnectionPoolHttp2Output) +func (o GetVirtualNodeSpecListenerTlCertificateAcmArrayOutput) Index(i pulumi.IntInput) GetVirtualNodeSpecListenerTlCertificateAcmOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetVirtualNodeSpecListenerTlCertificateAcm { + return vs[0].([]GetVirtualNodeSpecListenerTlCertificateAcm)[vs[1].(int)] + }).(GetVirtualNodeSpecListenerTlCertificateAcmOutput) } -type GetVirtualGatewaySpecListenerConnectionPoolHttp struct { - // Maximum number of outbound TCP connections Envoy can establish concurrently with all hosts in upstream cluster. Minimum value of `1`. - MaxConnections int `pulumi:"maxConnections"` - // Number of overflowing requests after `maxConnections` Envoy will queue to upstream cluster. Minimum value of `1`. - MaxPendingRequests int `pulumi:"maxPendingRequests"` +type GetVirtualNodeSpecListenerTlCertificateFile struct { + CertificateChain string `pulumi:"certificateChain"` + PrivateKey string `pulumi:"privateKey"` } -// GetVirtualGatewaySpecListenerConnectionPoolHttpInput is an input type that accepts GetVirtualGatewaySpecListenerConnectionPoolHttpArgs and GetVirtualGatewaySpecListenerConnectionPoolHttpOutput values. -// You can construct a concrete instance of `GetVirtualGatewaySpecListenerConnectionPoolHttpInput` via: +// GetVirtualNodeSpecListenerTlCertificateFileInput is an input type that accepts GetVirtualNodeSpecListenerTlCertificateFileArgs and GetVirtualNodeSpecListenerTlCertificateFileOutput values. +// You can construct a concrete instance of `GetVirtualNodeSpecListenerTlCertificateFileInput` via: // -// GetVirtualGatewaySpecListenerConnectionPoolHttpArgs{...} -type GetVirtualGatewaySpecListenerConnectionPoolHttpInput interface { +// GetVirtualNodeSpecListenerTlCertificateFileArgs{...} +type GetVirtualNodeSpecListenerTlCertificateFileInput interface { pulumi.Input - ToGetVirtualGatewaySpecListenerConnectionPoolHttpOutput() GetVirtualGatewaySpecListenerConnectionPoolHttpOutput - ToGetVirtualGatewaySpecListenerConnectionPoolHttpOutputWithContext(context.Context) GetVirtualGatewaySpecListenerConnectionPoolHttpOutput + ToGetVirtualNodeSpecListenerTlCertificateFileOutput() GetVirtualNodeSpecListenerTlCertificateFileOutput + ToGetVirtualNodeSpecListenerTlCertificateFileOutputWithContext(context.Context) GetVirtualNodeSpecListenerTlCertificateFileOutput } -type GetVirtualGatewaySpecListenerConnectionPoolHttpArgs struct { - // Maximum number of outbound TCP connections Envoy can establish concurrently with all hosts in upstream cluster. Minimum value of `1`. - MaxConnections pulumi.IntInput `pulumi:"maxConnections"` - // Number of overflowing requests after `maxConnections` Envoy will queue to upstream cluster. Minimum value of `1`. - MaxPendingRequests pulumi.IntInput `pulumi:"maxPendingRequests"` +type GetVirtualNodeSpecListenerTlCertificateFileArgs struct { + CertificateChain pulumi.StringInput `pulumi:"certificateChain"` + PrivateKey pulumi.StringInput `pulumi:"privateKey"` } -func (GetVirtualGatewaySpecListenerConnectionPoolHttpArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetVirtualGatewaySpecListenerConnectionPoolHttp)(nil)).Elem() +func (GetVirtualNodeSpecListenerTlCertificateFileArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetVirtualNodeSpecListenerTlCertificateFile)(nil)).Elem() } -func (i GetVirtualGatewaySpecListenerConnectionPoolHttpArgs) ToGetVirtualGatewaySpecListenerConnectionPoolHttpOutput() GetVirtualGatewaySpecListenerConnectionPoolHttpOutput { - return i.ToGetVirtualGatewaySpecListenerConnectionPoolHttpOutputWithContext(context.Background()) +func (i GetVirtualNodeSpecListenerTlCertificateFileArgs) ToGetVirtualNodeSpecListenerTlCertificateFileOutput() GetVirtualNodeSpecListenerTlCertificateFileOutput { + return i.ToGetVirtualNodeSpecListenerTlCertificateFileOutputWithContext(context.Background()) } -func (i GetVirtualGatewaySpecListenerConnectionPoolHttpArgs) ToGetVirtualGatewaySpecListenerConnectionPoolHttpOutputWithContext(ctx context.Context) GetVirtualGatewaySpecListenerConnectionPoolHttpOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetVirtualGatewaySpecListenerConnectionPoolHttpOutput) +func (i GetVirtualNodeSpecListenerTlCertificateFileArgs) ToGetVirtualNodeSpecListenerTlCertificateFileOutputWithContext(ctx context.Context) GetVirtualNodeSpecListenerTlCertificateFileOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetVirtualNodeSpecListenerTlCertificateFileOutput) } -// GetVirtualGatewaySpecListenerConnectionPoolHttpArrayInput is an input type that accepts GetVirtualGatewaySpecListenerConnectionPoolHttpArray and GetVirtualGatewaySpecListenerConnectionPoolHttpArrayOutput values. -// You can construct a concrete instance of `GetVirtualGatewaySpecListenerConnectionPoolHttpArrayInput` via: +// GetVirtualNodeSpecListenerTlCertificateFileArrayInput is an input type that accepts GetVirtualNodeSpecListenerTlCertificateFileArray and GetVirtualNodeSpecListenerTlCertificateFileArrayOutput values. +// You can construct a concrete instance of `GetVirtualNodeSpecListenerTlCertificateFileArrayInput` via: // -// GetVirtualGatewaySpecListenerConnectionPoolHttpArray{ GetVirtualGatewaySpecListenerConnectionPoolHttpArgs{...} } -type GetVirtualGatewaySpecListenerConnectionPoolHttpArrayInput interface { +// GetVirtualNodeSpecListenerTlCertificateFileArray{ GetVirtualNodeSpecListenerTlCertificateFileArgs{...} } +type GetVirtualNodeSpecListenerTlCertificateFileArrayInput interface { pulumi.Input - ToGetVirtualGatewaySpecListenerConnectionPoolHttpArrayOutput() GetVirtualGatewaySpecListenerConnectionPoolHttpArrayOutput - ToGetVirtualGatewaySpecListenerConnectionPoolHttpArrayOutputWithContext(context.Context) GetVirtualGatewaySpecListenerConnectionPoolHttpArrayOutput -} - -type GetVirtualGatewaySpecListenerConnectionPoolHttpArray []GetVirtualGatewaySpecListenerConnectionPoolHttpInput - -func (GetVirtualGatewaySpecListenerConnectionPoolHttpArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetVirtualGatewaySpecListenerConnectionPoolHttp)(nil)).Elem() -} - -func (i GetVirtualGatewaySpecListenerConnectionPoolHttpArray) ToGetVirtualGatewaySpecListenerConnectionPoolHttpArrayOutput() GetVirtualGatewaySpecListenerConnectionPoolHttpArrayOutput { - return i.ToGetVirtualGatewaySpecListenerConnectionPoolHttpArrayOutputWithContext(context.Background()) -} - -func (i GetVirtualGatewaySpecListenerConnectionPoolHttpArray) ToGetVirtualGatewaySpecListenerConnectionPoolHttpArrayOutputWithContext(ctx context.Context) GetVirtualGatewaySpecListenerConnectionPoolHttpArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetVirtualGatewaySpecListenerConnectionPoolHttpArrayOutput) + ToGetVirtualNodeSpecListenerTlCertificateFileArrayOutput() GetVirtualNodeSpecListenerTlCertificateFileArrayOutput + ToGetVirtualNodeSpecListenerTlCertificateFileArrayOutputWithContext(context.Context) GetVirtualNodeSpecListenerTlCertificateFileArrayOutput } -type GetVirtualGatewaySpecListenerConnectionPoolHttpOutput struct{ *pulumi.OutputState } - -func (GetVirtualGatewaySpecListenerConnectionPoolHttpOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetVirtualGatewaySpecListenerConnectionPoolHttp)(nil)).Elem() -} - -func (o GetVirtualGatewaySpecListenerConnectionPoolHttpOutput) ToGetVirtualGatewaySpecListenerConnectionPoolHttpOutput() GetVirtualGatewaySpecListenerConnectionPoolHttpOutput { - return o -} +type GetVirtualNodeSpecListenerTlCertificateFileArray []GetVirtualNodeSpecListenerTlCertificateFileInput -func (o GetVirtualGatewaySpecListenerConnectionPoolHttpOutput) ToGetVirtualGatewaySpecListenerConnectionPoolHttpOutputWithContext(ctx context.Context) GetVirtualGatewaySpecListenerConnectionPoolHttpOutput { - return o +func (GetVirtualNodeSpecListenerTlCertificateFileArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetVirtualNodeSpecListenerTlCertificateFile)(nil)).Elem() } -// Maximum number of outbound TCP connections Envoy can establish concurrently with all hosts in upstream cluster. Minimum value of `1`. -func (o GetVirtualGatewaySpecListenerConnectionPoolHttpOutput) MaxConnections() pulumi.IntOutput { - return o.ApplyT(func(v GetVirtualGatewaySpecListenerConnectionPoolHttp) int { return v.MaxConnections }).(pulumi.IntOutput) +func (i GetVirtualNodeSpecListenerTlCertificateFileArray) ToGetVirtualNodeSpecListenerTlCertificateFileArrayOutput() GetVirtualNodeSpecListenerTlCertificateFileArrayOutput { + return i.ToGetVirtualNodeSpecListenerTlCertificateFileArrayOutputWithContext(context.Background()) } -// Number of overflowing requests after `maxConnections` Envoy will queue to upstream cluster. Minimum value of `1`. -func (o GetVirtualGatewaySpecListenerConnectionPoolHttpOutput) MaxPendingRequests() pulumi.IntOutput { - return o.ApplyT(func(v GetVirtualGatewaySpecListenerConnectionPoolHttp) int { return v.MaxPendingRequests }).(pulumi.IntOutput) +func (i GetVirtualNodeSpecListenerTlCertificateFileArray) ToGetVirtualNodeSpecListenerTlCertificateFileArrayOutputWithContext(ctx context.Context) GetVirtualNodeSpecListenerTlCertificateFileArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetVirtualNodeSpecListenerTlCertificateFileArrayOutput) } -type GetVirtualGatewaySpecListenerConnectionPoolHttpArrayOutput struct{ *pulumi.OutputState } +type GetVirtualNodeSpecListenerTlCertificateFileOutput struct{ *pulumi.OutputState } -func (GetVirtualGatewaySpecListenerConnectionPoolHttpArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetVirtualGatewaySpecListenerConnectionPoolHttp)(nil)).Elem() +func (GetVirtualNodeSpecListenerTlCertificateFileOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetVirtualNodeSpecListenerTlCertificateFile)(nil)).Elem() } -func (o GetVirtualGatewaySpecListenerConnectionPoolHttpArrayOutput) ToGetVirtualGatewaySpecListenerConnectionPoolHttpArrayOutput() GetVirtualGatewaySpecListenerConnectionPoolHttpArrayOutput { +func (o GetVirtualNodeSpecListenerTlCertificateFileOutput) ToGetVirtualNodeSpecListenerTlCertificateFileOutput() GetVirtualNodeSpecListenerTlCertificateFileOutput { return o } -func (o GetVirtualGatewaySpecListenerConnectionPoolHttpArrayOutput) ToGetVirtualGatewaySpecListenerConnectionPoolHttpArrayOutputWithContext(ctx context.Context) GetVirtualGatewaySpecListenerConnectionPoolHttpArrayOutput { +func (o GetVirtualNodeSpecListenerTlCertificateFileOutput) ToGetVirtualNodeSpecListenerTlCertificateFileOutputWithContext(ctx context.Context) GetVirtualNodeSpecListenerTlCertificateFileOutput { return o } -func (o GetVirtualGatewaySpecListenerConnectionPoolHttpArrayOutput) Index(i pulumi.IntInput) GetVirtualGatewaySpecListenerConnectionPoolHttpOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetVirtualGatewaySpecListenerConnectionPoolHttp { - return vs[0].([]GetVirtualGatewaySpecListenerConnectionPoolHttp)[vs[1].(int)] - }).(GetVirtualGatewaySpecListenerConnectionPoolHttpOutput) +func (o GetVirtualNodeSpecListenerTlCertificateFileOutput) CertificateChain() pulumi.StringOutput { + return o.ApplyT(func(v GetVirtualNodeSpecListenerTlCertificateFile) string { return v.CertificateChain }).(pulumi.StringOutput) } -type GetVirtualGatewaySpecListenerHealthCheck struct { - // Number of consecutive successful health checks that must occur before declaring listener healthy. - HealthyThreshold int `pulumi:"healthyThreshold"` - // Time period in milliseconds between each health check execution. - IntervalMillis int `pulumi:"intervalMillis"` - // Destination path for the health check request. This is only required if the specified protocol is `http` or `http2`. - Path string `pulumi:"path"` - // Destination port for the health check request. This port must match the port defined in the `portMapping` for the listener. - Port int `pulumi:"port"` - // Protocol for the health check request. Valid values are `http`, `http2`, and `grpc`. - Protocol string `pulumi:"protocol"` - // Amount of time to wait when receiving a response from the health check, in milliseconds. - TimeoutMillis int `pulumi:"timeoutMillis"` - // Number of consecutive failed health checks that must occur before declaring a virtual gateway unhealthy. - UnhealthyThreshold int `pulumi:"unhealthyThreshold"` +func (o GetVirtualNodeSpecListenerTlCertificateFileOutput) PrivateKey() pulumi.StringOutput { + return o.ApplyT(func(v GetVirtualNodeSpecListenerTlCertificateFile) string { return v.PrivateKey }).(pulumi.StringOutput) } -// GetVirtualGatewaySpecListenerHealthCheckInput is an input type that accepts GetVirtualGatewaySpecListenerHealthCheckArgs and GetVirtualGatewaySpecListenerHealthCheckOutput values. -// You can construct a concrete instance of `GetVirtualGatewaySpecListenerHealthCheckInput` via: -// -// GetVirtualGatewaySpecListenerHealthCheckArgs{...} -type GetVirtualGatewaySpecListenerHealthCheckInput interface { - pulumi.Input - - ToGetVirtualGatewaySpecListenerHealthCheckOutput() GetVirtualGatewaySpecListenerHealthCheckOutput - ToGetVirtualGatewaySpecListenerHealthCheckOutputWithContext(context.Context) GetVirtualGatewaySpecListenerHealthCheckOutput +type GetVirtualNodeSpecListenerTlCertificateFileArrayOutput struct{ *pulumi.OutputState } + +func (GetVirtualNodeSpecListenerTlCertificateFileArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetVirtualNodeSpecListenerTlCertificateFile)(nil)).Elem() } -type GetVirtualGatewaySpecListenerHealthCheckArgs struct { - // Number of consecutive successful health checks that must occur before declaring listener healthy. - HealthyThreshold pulumi.IntInput `pulumi:"healthyThreshold"` - // Time period in milliseconds between each health check execution. - IntervalMillis pulumi.IntInput `pulumi:"intervalMillis"` - // Destination path for the health check request. This is only required if the specified protocol is `http` or `http2`. - Path pulumi.StringInput `pulumi:"path"` - // Destination port for the health check request. This port must match the port defined in the `portMapping` for the listener. - Port pulumi.IntInput `pulumi:"port"` - // Protocol for the health check request. Valid values are `http`, `http2`, and `grpc`. - Protocol pulumi.StringInput `pulumi:"protocol"` - // Amount of time to wait when receiving a response from the health check, in milliseconds. - TimeoutMillis pulumi.IntInput `pulumi:"timeoutMillis"` - // Number of consecutive failed health checks that must occur before declaring a virtual gateway unhealthy. - UnhealthyThreshold pulumi.IntInput `pulumi:"unhealthyThreshold"` +func (o GetVirtualNodeSpecListenerTlCertificateFileArrayOutput) ToGetVirtualNodeSpecListenerTlCertificateFileArrayOutput() GetVirtualNodeSpecListenerTlCertificateFileArrayOutput { + return o } -func (GetVirtualGatewaySpecListenerHealthCheckArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetVirtualGatewaySpecListenerHealthCheck)(nil)).Elem() +func (o GetVirtualNodeSpecListenerTlCertificateFileArrayOutput) ToGetVirtualNodeSpecListenerTlCertificateFileArrayOutputWithContext(ctx context.Context) GetVirtualNodeSpecListenerTlCertificateFileArrayOutput { + return o } -func (i GetVirtualGatewaySpecListenerHealthCheckArgs) ToGetVirtualGatewaySpecListenerHealthCheckOutput() GetVirtualGatewaySpecListenerHealthCheckOutput { - return i.ToGetVirtualGatewaySpecListenerHealthCheckOutputWithContext(context.Background()) +func (o GetVirtualNodeSpecListenerTlCertificateFileArrayOutput) Index(i pulumi.IntInput) GetVirtualNodeSpecListenerTlCertificateFileOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetVirtualNodeSpecListenerTlCertificateFile { + return vs[0].([]GetVirtualNodeSpecListenerTlCertificateFile)[vs[1].(int)] + }).(GetVirtualNodeSpecListenerTlCertificateFileOutput) } -func (i GetVirtualGatewaySpecListenerHealthCheckArgs) ToGetVirtualGatewaySpecListenerHealthCheckOutputWithContext(ctx context.Context) GetVirtualGatewaySpecListenerHealthCheckOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetVirtualGatewaySpecListenerHealthCheckOutput) +type GetVirtualNodeSpecListenerTlCertificateSd struct { + SecretName string `pulumi:"secretName"` } -// GetVirtualGatewaySpecListenerHealthCheckArrayInput is an input type that accepts GetVirtualGatewaySpecListenerHealthCheckArray and GetVirtualGatewaySpecListenerHealthCheckArrayOutput values. -// You can construct a concrete instance of `GetVirtualGatewaySpecListenerHealthCheckArrayInput` via: +// GetVirtualNodeSpecListenerTlCertificateSdInput is an input type that accepts GetVirtualNodeSpecListenerTlCertificateSdArgs and GetVirtualNodeSpecListenerTlCertificateSdOutput values. +// You can construct a concrete instance of `GetVirtualNodeSpecListenerTlCertificateSdInput` via: // -// GetVirtualGatewaySpecListenerHealthCheckArray{ GetVirtualGatewaySpecListenerHealthCheckArgs{...} } -type GetVirtualGatewaySpecListenerHealthCheckArrayInput interface { +// GetVirtualNodeSpecListenerTlCertificateSdArgs{...} +type GetVirtualNodeSpecListenerTlCertificateSdInput interface { pulumi.Input - ToGetVirtualGatewaySpecListenerHealthCheckArrayOutput() GetVirtualGatewaySpecListenerHealthCheckArrayOutput - ToGetVirtualGatewaySpecListenerHealthCheckArrayOutputWithContext(context.Context) GetVirtualGatewaySpecListenerHealthCheckArrayOutput + ToGetVirtualNodeSpecListenerTlCertificateSdOutput() GetVirtualNodeSpecListenerTlCertificateSdOutput + ToGetVirtualNodeSpecListenerTlCertificateSdOutputWithContext(context.Context) GetVirtualNodeSpecListenerTlCertificateSdOutput } -type GetVirtualGatewaySpecListenerHealthCheckArray []GetVirtualGatewaySpecListenerHealthCheckInput +type GetVirtualNodeSpecListenerTlCertificateSdArgs struct { + SecretName pulumi.StringInput `pulumi:"secretName"` +} -func (GetVirtualGatewaySpecListenerHealthCheckArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetVirtualGatewaySpecListenerHealthCheck)(nil)).Elem() +func (GetVirtualNodeSpecListenerTlCertificateSdArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetVirtualNodeSpecListenerTlCertificateSd)(nil)).Elem() } -func (i GetVirtualGatewaySpecListenerHealthCheckArray) ToGetVirtualGatewaySpecListenerHealthCheckArrayOutput() GetVirtualGatewaySpecListenerHealthCheckArrayOutput { - return i.ToGetVirtualGatewaySpecListenerHealthCheckArrayOutputWithContext(context.Background()) +func (i GetVirtualNodeSpecListenerTlCertificateSdArgs) ToGetVirtualNodeSpecListenerTlCertificateSdOutput() GetVirtualNodeSpecListenerTlCertificateSdOutput { + return i.ToGetVirtualNodeSpecListenerTlCertificateSdOutputWithContext(context.Background()) } -func (i GetVirtualGatewaySpecListenerHealthCheckArray) ToGetVirtualGatewaySpecListenerHealthCheckArrayOutputWithContext(ctx context.Context) GetVirtualGatewaySpecListenerHealthCheckArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetVirtualGatewaySpecListenerHealthCheckArrayOutput) +func (i GetVirtualNodeSpecListenerTlCertificateSdArgs) ToGetVirtualNodeSpecListenerTlCertificateSdOutputWithContext(ctx context.Context) GetVirtualNodeSpecListenerTlCertificateSdOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetVirtualNodeSpecListenerTlCertificateSdOutput) } -type GetVirtualGatewaySpecListenerHealthCheckOutput struct{ *pulumi.OutputState } +// GetVirtualNodeSpecListenerTlCertificateSdArrayInput is an input type that accepts GetVirtualNodeSpecListenerTlCertificateSdArray and GetVirtualNodeSpecListenerTlCertificateSdArrayOutput values. +// You can construct a concrete instance of `GetVirtualNodeSpecListenerTlCertificateSdArrayInput` via: +// +// GetVirtualNodeSpecListenerTlCertificateSdArray{ GetVirtualNodeSpecListenerTlCertificateSdArgs{...} } +type GetVirtualNodeSpecListenerTlCertificateSdArrayInput interface { + pulumi.Input -func (GetVirtualGatewaySpecListenerHealthCheckOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetVirtualGatewaySpecListenerHealthCheck)(nil)).Elem() + ToGetVirtualNodeSpecListenerTlCertificateSdArrayOutput() GetVirtualNodeSpecListenerTlCertificateSdArrayOutput + ToGetVirtualNodeSpecListenerTlCertificateSdArrayOutputWithContext(context.Context) GetVirtualNodeSpecListenerTlCertificateSdArrayOutput } -func (o GetVirtualGatewaySpecListenerHealthCheckOutput) ToGetVirtualGatewaySpecListenerHealthCheckOutput() GetVirtualGatewaySpecListenerHealthCheckOutput { - return o -} +type GetVirtualNodeSpecListenerTlCertificateSdArray []GetVirtualNodeSpecListenerTlCertificateSdInput -func (o GetVirtualGatewaySpecListenerHealthCheckOutput) ToGetVirtualGatewaySpecListenerHealthCheckOutputWithContext(ctx context.Context) GetVirtualGatewaySpecListenerHealthCheckOutput { - return o +func (GetVirtualNodeSpecListenerTlCertificateSdArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetVirtualNodeSpecListenerTlCertificateSd)(nil)).Elem() } -// Number of consecutive successful health checks that must occur before declaring listener healthy. -func (o GetVirtualGatewaySpecListenerHealthCheckOutput) HealthyThreshold() pulumi.IntOutput { - return o.ApplyT(func(v GetVirtualGatewaySpecListenerHealthCheck) int { return v.HealthyThreshold }).(pulumi.IntOutput) +func (i GetVirtualNodeSpecListenerTlCertificateSdArray) ToGetVirtualNodeSpecListenerTlCertificateSdArrayOutput() GetVirtualNodeSpecListenerTlCertificateSdArrayOutput { + return i.ToGetVirtualNodeSpecListenerTlCertificateSdArrayOutputWithContext(context.Background()) } -// Time period in milliseconds between each health check execution. -func (o GetVirtualGatewaySpecListenerHealthCheckOutput) IntervalMillis() pulumi.IntOutput { - return o.ApplyT(func(v GetVirtualGatewaySpecListenerHealthCheck) int { return v.IntervalMillis }).(pulumi.IntOutput) +func (i GetVirtualNodeSpecListenerTlCertificateSdArray) ToGetVirtualNodeSpecListenerTlCertificateSdArrayOutputWithContext(ctx context.Context) GetVirtualNodeSpecListenerTlCertificateSdArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetVirtualNodeSpecListenerTlCertificateSdArrayOutput) } -// Destination path for the health check request. This is only required if the specified protocol is `http` or `http2`. -func (o GetVirtualGatewaySpecListenerHealthCheckOutput) Path() pulumi.StringOutput { - return o.ApplyT(func(v GetVirtualGatewaySpecListenerHealthCheck) string { return v.Path }).(pulumi.StringOutput) -} +type GetVirtualNodeSpecListenerTlCertificateSdOutput struct{ *pulumi.OutputState } -// Destination port for the health check request. This port must match the port defined in the `portMapping` for the listener. -func (o GetVirtualGatewaySpecListenerHealthCheckOutput) Port() pulumi.IntOutput { - return o.ApplyT(func(v GetVirtualGatewaySpecListenerHealthCheck) int { return v.Port }).(pulumi.IntOutput) +func (GetVirtualNodeSpecListenerTlCertificateSdOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetVirtualNodeSpecListenerTlCertificateSd)(nil)).Elem() } -// Protocol for the health check request. Valid values are `http`, `http2`, and `grpc`. -func (o GetVirtualGatewaySpecListenerHealthCheckOutput) Protocol() pulumi.StringOutput { - return o.ApplyT(func(v GetVirtualGatewaySpecListenerHealthCheck) string { return v.Protocol }).(pulumi.StringOutput) +func (o GetVirtualNodeSpecListenerTlCertificateSdOutput) ToGetVirtualNodeSpecListenerTlCertificateSdOutput() GetVirtualNodeSpecListenerTlCertificateSdOutput { + return o } -// Amount of time to wait when receiving a response from the health check, in milliseconds. -func (o GetVirtualGatewaySpecListenerHealthCheckOutput) TimeoutMillis() pulumi.IntOutput { - return o.ApplyT(func(v GetVirtualGatewaySpecListenerHealthCheck) int { return v.TimeoutMillis }).(pulumi.IntOutput) +func (o GetVirtualNodeSpecListenerTlCertificateSdOutput) ToGetVirtualNodeSpecListenerTlCertificateSdOutputWithContext(ctx context.Context) GetVirtualNodeSpecListenerTlCertificateSdOutput { + return o } -// Number of consecutive failed health checks that must occur before declaring a virtual gateway unhealthy. -func (o GetVirtualGatewaySpecListenerHealthCheckOutput) UnhealthyThreshold() pulumi.IntOutput { - return o.ApplyT(func(v GetVirtualGatewaySpecListenerHealthCheck) int { return v.UnhealthyThreshold }).(pulumi.IntOutput) +func (o GetVirtualNodeSpecListenerTlCertificateSdOutput) SecretName() pulumi.StringOutput { + return o.ApplyT(func(v GetVirtualNodeSpecListenerTlCertificateSd) string { return v.SecretName }).(pulumi.StringOutput) } -type GetVirtualGatewaySpecListenerHealthCheckArrayOutput struct{ *pulumi.OutputState } +type GetVirtualNodeSpecListenerTlCertificateSdArrayOutput struct{ *pulumi.OutputState } -func (GetVirtualGatewaySpecListenerHealthCheckArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetVirtualGatewaySpecListenerHealthCheck)(nil)).Elem() +func (GetVirtualNodeSpecListenerTlCertificateSdArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetVirtualNodeSpecListenerTlCertificateSd)(nil)).Elem() } -func (o GetVirtualGatewaySpecListenerHealthCheckArrayOutput) ToGetVirtualGatewaySpecListenerHealthCheckArrayOutput() GetVirtualGatewaySpecListenerHealthCheckArrayOutput { +func (o GetVirtualNodeSpecListenerTlCertificateSdArrayOutput) ToGetVirtualNodeSpecListenerTlCertificateSdArrayOutput() GetVirtualNodeSpecListenerTlCertificateSdArrayOutput { return o } -func (o GetVirtualGatewaySpecListenerHealthCheckArrayOutput) ToGetVirtualGatewaySpecListenerHealthCheckArrayOutputWithContext(ctx context.Context) GetVirtualGatewaySpecListenerHealthCheckArrayOutput { +func (o GetVirtualNodeSpecListenerTlCertificateSdArrayOutput) ToGetVirtualNodeSpecListenerTlCertificateSdArrayOutputWithContext(ctx context.Context) GetVirtualNodeSpecListenerTlCertificateSdArrayOutput { return o } -func (o GetVirtualGatewaySpecListenerHealthCheckArrayOutput) Index(i pulumi.IntInput) GetVirtualGatewaySpecListenerHealthCheckOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetVirtualGatewaySpecListenerHealthCheck { - return vs[0].([]GetVirtualGatewaySpecListenerHealthCheck)[vs[1].(int)] - }).(GetVirtualGatewaySpecListenerHealthCheckOutput) +func (o GetVirtualNodeSpecListenerTlCertificateSdArrayOutput) Index(i pulumi.IntInput) GetVirtualNodeSpecListenerTlCertificateSdOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetVirtualNodeSpecListenerTlCertificateSd { + return vs[0].([]GetVirtualNodeSpecListenerTlCertificateSd)[vs[1].(int)] + }).(GetVirtualNodeSpecListenerTlCertificateSdOutput) } -type GetVirtualGatewaySpecListenerPortMapping struct { - // Destination port for the health check request. This port must match the port defined in the `portMapping` for the listener. - Port int `pulumi:"port"` - // Protocol for the health check request. Valid values are `http`, `http2`, and `grpc`. - Protocol string `pulumi:"protocol"` +type GetVirtualNodeSpecListenerTlValidation struct { + SubjectAlternativeNames []GetVirtualNodeSpecListenerTlValidationSubjectAlternativeName `pulumi:"subjectAlternativeNames"` + Trusts []GetVirtualNodeSpecListenerTlValidationTrust `pulumi:"trusts"` } -// GetVirtualGatewaySpecListenerPortMappingInput is an input type that accepts GetVirtualGatewaySpecListenerPortMappingArgs and GetVirtualGatewaySpecListenerPortMappingOutput values. -// You can construct a concrete instance of `GetVirtualGatewaySpecListenerPortMappingInput` via: +// GetVirtualNodeSpecListenerTlValidationInput is an input type that accepts GetVirtualNodeSpecListenerTlValidationArgs and GetVirtualNodeSpecListenerTlValidationOutput values. +// You can construct a concrete instance of `GetVirtualNodeSpecListenerTlValidationInput` via: // -// GetVirtualGatewaySpecListenerPortMappingArgs{...} -type GetVirtualGatewaySpecListenerPortMappingInput interface { +// GetVirtualNodeSpecListenerTlValidationArgs{...} +type GetVirtualNodeSpecListenerTlValidationInput interface { pulumi.Input - ToGetVirtualGatewaySpecListenerPortMappingOutput() GetVirtualGatewaySpecListenerPortMappingOutput - ToGetVirtualGatewaySpecListenerPortMappingOutputWithContext(context.Context) GetVirtualGatewaySpecListenerPortMappingOutput + ToGetVirtualNodeSpecListenerTlValidationOutput() GetVirtualNodeSpecListenerTlValidationOutput + ToGetVirtualNodeSpecListenerTlValidationOutputWithContext(context.Context) GetVirtualNodeSpecListenerTlValidationOutput } -type GetVirtualGatewaySpecListenerPortMappingArgs struct { - // Destination port for the health check request. This port must match the port defined in the `portMapping` for the listener. - Port pulumi.IntInput `pulumi:"port"` - // Protocol for the health check request. Valid values are `http`, `http2`, and `grpc`. - Protocol pulumi.StringInput `pulumi:"protocol"` +type GetVirtualNodeSpecListenerTlValidationArgs struct { + SubjectAlternativeNames GetVirtualNodeSpecListenerTlValidationSubjectAlternativeNameArrayInput `pulumi:"subjectAlternativeNames"` + Trusts GetVirtualNodeSpecListenerTlValidationTrustArrayInput `pulumi:"trusts"` } -func (GetVirtualGatewaySpecListenerPortMappingArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetVirtualGatewaySpecListenerPortMapping)(nil)).Elem() +func (GetVirtualNodeSpecListenerTlValidationArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetVirtualNodeSpecListenerTlValidation)(nil)).Elem() } -func (i GetVirtualGatewaySpecListenerPortMappingArgs) ToGetVirtualGatewaySpecListenerPortMappingOutput() GetVirtualGatewaySpecListenerPortMappingOutput { - return i.ToGetVirtualGatewaySpecListenerPortMappingOutputWithContext(context.Background()) +func (i GetVirtualNodeSpecListenerTlValidationArgs) ToGetVirtualNodeSpecListenerTlValidationOutput() GetVirtualNodeSpecListenerTlValidationOutput { + return i.ToGetVirtualNodeSpecListenerTlValidationOutputWithContext(context.Background()) } -func (i GetVirtualGatewaySpecListenerPortMappingArgs) ToGetVirtualGatewaySpecListenerPortMappingOutputWithContext(ctx context.Context) GetVirtualGatewaySpecListenerPortMappingOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetVirtualGatewaySpecListenerPortMappingOutput) +func (i GetVirtualNodeSpecListenerTlValidationArgs) ToGetVirtualNodeSpecListenerTlValidationOutputWithContext(ctx context.Context) GetVirtualNodeSpecListenerTlValidationOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetVirtualNodeSpecListenerTlValidationOutput) } -// GetVirtualGatewaySpecListenerPortMappingArrayInput is an input type that accepts GetVirtualGatewaySpecListenerPortMappingArray and GetVirtualGatewaySpecListenerPortMappingArrayOutput values. -// You can construct a concrete instance of `GetVirtualGatewaySpecListenerPortMappingArrayInput` via: +// GetVirtualNodeSpecListenerTlValidationArrayInput is an input type that accepts GetVirtualNodeSpecListenerTlValidationArray and GetVirtualNodeSpecListenerTlValidationArrayOutput values. +// You can construct a concrete instance of `GetVirtualNodeSpecListenerTlValidationArrayInput` via: // -// GetVirtualGatewaySpecListenerPortMappingArray{ GetVirtualGatewaySpecListenerPortMappingArgs{...} } -type GetVirtualGatewaySpecListenerPortMappingArrayInput interface { +// GetVirtualNodeSpecListenerTlValidationArray{ GetVirtualNodeSpecListenerTlValidationArgs{...} } +type GetVirtualNodeSpecListenerTlValidationArrayInput interface { pulumi.Input - ToGetVirtualGatewaySpecListenerPortMappingArrayOutput() GetVirtualGatewaySpecListenerPortMappingArrayOutput - ToGetVirtualGatewaySpecListenerPortMappingArrayOutputWithContext(context.Context) GetVirtualGatewaySpecListenerPortMappingArrayOutput + ToGetVirtualNodeSpecListenerTlValidationArrayOutput() GetVirtualNodeSpecListenerTlValidationArrayOutput + ToGetVirtualNodeSpecListenerTlValidationArrayOutputWithContext(context.Context) GetVirtualNodeSpecListenerTlValidationArrayOutput } -type GetVirtualGatewaySpecListenerPortMappingArray []GetVirtualGatewaySpecListenerPortMappingInput +type GetVirtualNodeSpecListenerTlValidationArray []GetVirtualNodeSpecListenerTlValidationInput -func (GetVirtualGatewaySpecListenerPortMappingArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetVirtualGatewaySpecListenerPortMapping)(nil)).Elem() +func (GetVirtualNodeSpecListenerTlValidationArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetVirtualNodeSpecListenerTlValidation)(nil)).Elem() } -func (i GetVirtualGatewaySpecListenerPortMappingArray) ToGetVirtualGatewaySpecListenerPortMappingArrayOutput() GetVirtualGatewaySpecListenerPortMappingArrayOutput { - return i.ToGetVirtualGatewaySpecListenerPortMappingArrayOutputWithContext(context.Background()) +func (i GetVirtualNodeSpecListenerTlValidationArray) ToGetVirtualNodeSpecListenerTlValidationArrayOutput() GetVirtualNodeSpecListenerTlValidationArrayOutput { + return i.ToGetVirtualNodeSpecListenerTlValidationArrayOutputWithContext(context.Background()) } -func (i GetVirtualGatewaySpecListenerPortMappingArray) ToGetVirtualGatewaySpecListenerPortMappingArrayOutputWithContext(ctx context.Context) GetVirtualGatewaySpecListenerPortMappingArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetVirtualGatewaySpecListenerPortMappingArrayOutput) +func (i GetVirtualNodeSpecListenerTlValidationArray) ToGetVirtualNodeSpecListenerTlValidationArrayOutputWithContext(ctx context.Context) GetVirtualNodeSpecListenerTlValidationArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetVirtualNodeSpecListenerTlValidationArrayOutput) } -type GetVirtualGatewaySpecListenerPortMappingOutput struct{ *pulumi.OutputState } +type GetVirtualNodeSpecListenerTlValidationOutput struct{ *pulumi.OutputState } -func (GetVirtualGatewaySpecListenerPortMappingOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetVirtualGatewaySpecListenerPortMapping)(nil)).Elem() +func (GetVirtualNodeSpecListenerTlValidationOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetVirtualNodeSpecListenerTlValidation)(nil)).Elem() } -func (o GetVirtualGatewaySpecListenerPortMappingOutput) ToGetVirtualGatewaySpecListenerPortMappingOutput() GetVirtualGatewaySpecListenerPortMappingOutput { +func (o GetVirtualNodeSpecListenerTlValidationOutput) ToGetVirtualNodeSpecListenerTlValidationOutput() GetVirtualNodeSpecListenerTlValidationOutput { return o } -func (o GetVirtualGatewaySpecListenerPortMappingOutput) ToGetVirtualGatewaySpecListenerPortMappingOutputWithContext(ctx context.Context) GetVirtualGatewaySpecListenerPortMappingOutput { +func (o GetVirtualNodeSpecListenerTlValidationOutput) ToGetVirtualNodeSpecListenerTlValidationOutputWithContext(ctx context.Context) GetVirtualNodeSpecListenerTlValidationOutput { return o } -// Destination port for the health check request. This port must match the port defined in the `portMapping` for the listener. -func (o GetVirtualGatewaySpecListenerPortMappingOutput) Port() pulumi.IntOutput { - return o.ApplyT(func(v GetVirtualGatewaySpecListenerPortMapping) int { return v.Port }).(pulumi.IntOutput) +func (o GetVirtualNodeSpecListenerTlValidationOutput) SubjectAlternativeNames() GetVirtualNodeSpecListenerTlValidationSubjectAlternativeNameArrayOutput { + return o.ApplyT(func(v GetVirtualNodeSpecListenerTlValidation) []GetVirtualNodeSpecListenerTlValidationSubjectAlternativeName { + return v.SubjectAlternativeNames + }).(GetVirtualNodeSpecListenerTlValidationSubjectAlternativeNameArrayOutput) } -// Protocol for the health check request. Valid values are `http`, `http2`, and `grpc`. -func (o GetVirtualGatewaySpecListenerPortMappingOutput) Protocol() pulumi.StringOutput { - return o.ApplyT(func(v GetVirtualGatewaySpecListenerPortMapping) string { return v.Protocol }).(pulumi.StringOutput) +func (o GetVirtualNodeSpecListenerTlValidationOutput) Trusts() GetVirtualNodeSpecListenerTlValidationTrustArrayOutput { + return o.ApplyT(func(v GetVirtualNodeSpecListenerTlValidation) []GetVirtualNodeSpecListenerTlValidationTrust { + return v.Trusts + }).(GetVirtualNodeSpecListenerTlValidationTrustArrayOutput) } -type GetVirtualGatewaySpecListenerPortMappingArrayOutput struct{ *pulumi.OutputState } +type GetVirtualNodeSpecListenerTlValidationArrayOutput struct{ *pulumi.OutputState } -func (GetVirtualGatewaySpecListenerPortMappingArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetVirtualGatewaySpecListenerPortMapping)(nil)).Elem() +func (GetVirtualNodeSpecListenerTlValidationArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetVirtualNodeSpecListenerTlValidation)(nil)).Elem() } -func (o GetVirtualGatewaySpecListenerPortMappingArrayOutput) ToGetVirtualGatewaySpecListenerPortMappingArrayOutput() GetVirtualGatewaySpecListenerPortMappingArrayOutput { +func (o GetVirtualNodeSpecListenerTlValidationArrayOutput) ToGetVirtualNodeSpecListenerTlValidationArrayOutput() GetVirtualNodeSpecListenerTlValidationArrayOutput { return o } -func (o GetVirtualGatewaySpecListenerPortMappingArrayOutput) ToGetVirtualGatewaySpecListenerPortMappingArrayOutputWithContext(ctx context.Context) GetVirtualGatewaySpecListenerPortMappingArrayOutput { +func (o GetVirtualNodeSpecListenerTlValidationArrayOutput) ToGetVirtualNodeSpecListenerTlValidationArrayOutputWithContext(ctx context.Context) GetVirtualNodeSpecListenerTlValidationArrayOutput { return o } -func (o GetVirtualGatewaySpecListenerPortMappingArrayOutput) Index(i pulumi.IntInput) GetVirtualGatewaySpecListenerPortMappingOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetVirtualGatewaySpecListenerPortMapping { - return vs[0].([]GetVirtualGatewaySpecListenerPortMapping)[vs[1].(int)] - }).(GetVirtualGatewaySpecListenerPortMappingOutput) +func (o GetVirtualNodeSpecListenerTlValidationArrayOutput) Index(i pulumi.IntInput) GetVirtualNodeSpecListenerTlValidationOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetVirtualNodeSpecListenerTlValidation { + return vs[0].([]GetVirtualNodeSpecListenerTlValidation)[vs[1].(int)] + }).(GetVirtualNodeSpecListenerTlValidationOutput) } -type GetVirtualGatewaySpecListenerTl struct { - // Listener's TLS certificate. - Certificates []GetVirtualGatewaySpecListenerTlCertificate `pulumi:"certificates"` - // Listener's TLS mode. Valid values: `DISABLED`, `PERMISSIVE`, `STRICT`. - Mode string `pulumi:"mode"` - // Listener's Transport Layer Security (TLS) validation context. - Validations []GetVirtualGatewaySpecListenerTlValidation `pulumi:"validations"` +type GetVirtualNodeSpecListenerTlValidationSubjectAlternativeName struct { + Matches []GetVirtualNodeSpecListenerTlValidationSubjectAlternativeNameMatch `pulumi:"matches"` } -// GetVirtualGatewaySpecListenerTlInput is an input type that accepts GetVirtualGatewaySpecListenerTlArgs and GetVirtualGatewaySpecListenerTlOutput values. -// You can construct a concrete instance of `GetVirtualGatewaySpecListenerTlInput` via: +// GetVirtualNodeSpecListenerTlValidationSubjectAlternativeNameInput is an input type that accepts GetVirtualNodeSpecListenerTlValidationSubjectAlternativeNameArgs and GetVirtualNodeSpecListenerTlValidationSubjectAlternativeNameOutput values. +// You can construct a concrete instance of `GetVirtualNodeSpecListenerTlValidationSubjectAlternativeNameInput` via: // -// GetVirtualGatewaySpecListenerTlArgs{...} -type GetVirtualGatewaySpecListenerTlInput interface { +// GetVirtualNodeSpecListenerTlValidationSubjectAlternativeNameArgs{...} +type GetVirtualNodeSpecListenerTlValidationSubjectAlternativeNameInput interface { pulumi.Input - ToGetVirtualGatewaySpecListenerTlOutput() GetVirtualGatewaySpecListenerTlOutput - ToGetVirtualGatewaySpecListenerTlOutputWithContext(context.Context) GetVirtualGatewaySpecListenerTlOutput + ToGetVirtualNodeSpecListenerTlValidationSubjectAlternativeNameOutput() GetVirtualNodeSpecListenerTlValidationSubjectAlternativeNameOutput + ToGetVirtualNodeSpecListenerTlValidationSubjectAlternativeNameOutputWithContext(context.Context) GetVirtualNodeSpecListenerTlValidationSubjectAlternativeNameOutput } -type GetVirtualGatewaySpecListenerTlArgs struct { - // Listener's TLS certificate. - Certificates GetVirtualGatewaySpecListenerTlCertificateArrayInput `pulumi:"certificates"` - // Listener's TLS mode. Valid values: `DISABLED`, `PERMISSIVE`, `STRICT`. - Mode pulumi.StringInput `pulumi:"mode"` - // Listener's Transport Layer Security (TLS) validation context. - Validations GetVirtualGatewaySpecListenerTlValidationArrayInput `pulumi:"validations"` +type GetVirtualNodeSpecListenerTlValidationSubjectAlternativeNameArgs struct { + Matches GetVirtualNodeSpecListenerTlValidationSubjectAlternativeNameMatchArrayInput `pulumi:"matches"` } -func (GetVirtualGatewaySpecListenerTlArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetVirtualGatewaySpecListenerTl)(nil)).Elem() +func (GetVirtualNodeSpecListenerTlValidationSubjectAlternativeNameArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetVirtualNodeSpecListenerTlValidationSubjectAlternativeName)(nil)).Elem() } -func (i GetVirtualGatewaySpecListenerTlArgs) ToGetVirtualGatewaySpecListenerTlOutput() GetVirtualGatewaySpecListenerTlOutput { - return i.ToGetVirtualGatewaySpecListenerTlOutputWithContext(context.Background()) +func (i GetVirtualNodeSpecListenerTlValidationSubjectAlternativeNameArgs) ToGetVirtualNodeSpecListenerTlValidationSubjectAlternativeNameOutput() GetVirtualNodeSpecListenerTlValidationSubjectAlternativeNameOutput { + return i.ToGetVirtualNodeSpecListenerTlValidationSubjectAlternativeNameOutputWithContext(context.Background()) } -func (i GetVirtualGatewaySpecListenerTlArgs) ToGetVirtualGatewaySpecListenerTlOutputWithContext(ctx context.Context) GetVirtualGatewaySpecListenerTlOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetVirtualGatewaySpecListenerTlOutput) +func (i GetVirtualNodeSpecListenerTlValidationSubjectAlternativeNameArgs) ToGetVirtualNodeSpecListenerTlValidationSubjectAlternativeNameOutputWithContext(ctx context.Context) GetVirtualNodeSpecListenerTlValidationSubjectAlternativeNameOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetVirtualNodeSpecListenerTlValidationSubjectAlternativeNameOutput) } -// GetVirtualGatewaySpecListenerTlArrayInput is an input type that accepts GetVirtualGatewaySpecListenerTlArray and GetVirtualGatewaySpecListenerTlArrayOutput values. -// You can construct a concrete instance of `GetVirtualGatewaySpecListenerTlArrayInput` via: +// GetVirtualNodeSpecListenerTlValidationSubjectAlternativeNameArrayInput is an input type that accepts GetVirtualNodeSpecListenerTlValidationSubjectAlternativeNameArray and GetVirtualNodeSpecListenerTlValidationSubjectAlternativeNameArrayOutput values. +// You can construct a concrete instance of `GetVirtualNodeSpecListenerTlValidationSubjectAlternativeNameArrayInput` via: // -// GetVirtualGatewaySpecListenerTlArray{ GetVirtualGatewaySpecListenerTlArgs{...} } -type GetVirtualGatewaySpecListenerTlArrayInput interface { +// GetVirtualNodeSpecListenerTlValidationSubjectAlternativeNameArray{ GetVirtualNodeSpecListenerTlValidationSubjectAlternativeNameArgs{...} } +type GetVirtualNodeSpecListenerTlValidationSubjectAlternativeNameArrayInput interface { pulumi.Input - ToGetVirtualGatewaySpecListenerTlArrayOutput() GetVirtualGatewaySpecListenerTlArrayOutput - ToGetVirtualGatewaySpecListenerTlArrayOutputWithContext(context.Context) GetVirtualGatewaySpecListenerTlArrayOutput + ToGetVirtualNodeSpecListenerTlValidationSubjectAlternativeNameArrayOutput() GetVirtualNodeSpecListenerTlValidationSubjectAlternativeNameArrayOutput + ToGetVirtualNodeSpecListenerTlValidationSubjectAlternativeNameArrayOutputWithContext(context.Context) GetVirtualNodeSpecListenerTlValidationSubjectAlternativeNameArrayOutput } -type GetVirtualGatewaySpecListenerTlArray []GetVirtualGatewaySpecListenerTlInput +type GetVirtualNodeSpecListenerTlValidationSubjectAlternativeNameArray []GetVirtualNodeSpecListenerTlValidationSubjectAlternativeNameInput -func (GetVirtualGatewaySpecListenerTlArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetVirtualGatewaySpecListenerTl)(nil)).Elem() +func (GetVirtualNodeSpecListenerTlValidationSubjectAlternativeNameArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetVirtualNodeSpecListenerTlValidationSubjectAlternativeName)(nil)).Elem() } -func (i GetVirtualGatewaySpecListenerTlArray) ToGetVirtualGatewaySpecListenerTlArrayOutput() GetVirtualGatewaySpecListenerTlArrayOutput { - return i.ToGetVirtualGatewaySpecListenerTlArrayOutputWithContext(context.Background()) +func (i GetVirtualNodeSpecListenerTlValidationSubjectAlternativeNameArray) ToGetVirtualNodeSpecListenerTlValidationSubjectAlternativeNameArrayOutput() GetVirtualNodeSpecListenerTlValidationSubjectAlternativeNameArrayOutput { + return i.ToGetVirtualNodeSpecListenerTlValidationSubjectAlternativeNameArrayOutputWithContext(context.Background()) } -func (i GetVirtualGatewaySpecListenerTlArray) ToGetVirtualGatewaySpecListenerTlArrayOutputWithContext(ctx context.Context) GetVirtualGatewaySpecListenerTlArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetVirtualGatewaySpecListenerTlArrayOutput) +func (i GetVirtualNodeSpecListenerTlValidationSubjectAlternativeNameArray) ToGetVirtualNodeSpecListenerTlValidationSubjectAlternativeNameArrayOutputWithContext(ctx context.Context) GetVirtualNodeSpecListenerTlValidationSubjectAlternativeNameArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetVirtualNodeSpecListenerTlValidationSubjectAlternativeNameArrayOutput) } -type GetVirtualGatewaySpecListenerTlOutput struct{ *pulumi.OutputState } +type GetVirtualNodeSpecListenerTlValidationSubjectAlternativeNameOutput struct{ *pulumi.OutputState } -func (GetVirtualGatewaySpecListenerTlOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetVirtualGatewaySpecListenerTl)(nil)).Elem() +func (GetVirtualNodeSpecListenerTlValidationSubjectAlternativeNameOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetVirtualNodeSpecListenerTlValidationSubjectAlternativeName)(nil)).Elem() } -func (o GetVirtualGatewaySpecListenerTlOutput) ToGetVirtualGatewaySpecListenerTlOutput() GetVirtualGatewaySpecListenerTlOutput { +func (o GetVirtualNodeSpecListenerTlValidationSubjectAlternativeNameOutput) ToGetVirtualNodeSpecListenerTlValidationSubjectAlternativeNameOutput() GetVirtualNodeSpecListenerTlValidationSubjectAlternativeNameOutput { return o } -func (o GetVirtualGatewaySpecListenerTlOutput) ToGetVirtualGatewaySpecListenerTlOutputWithContext(ctx context.Context) GetVirtualGatewaySpecListenerTlOutput { +func (o GetVirtualNodeSpecListenerTlValidationSubjectAlternativeNameOutput) ToGetVirtualNodeSpecListenerTlValidationSubjectAlternativeNameOutputWithContext(ctx context.Context) GetVirtualNodeSpecListenerTlValidationSubjectAlternativeNameOutput { return o } -// Listener's TLS certificate. -func (o GetVirtualGatewaySpecListenerTlOutput) Certificates() GetVirtualGatewaySpecListenerTlCertificateArrayOutput { - return o.ApplyT(func(v GetVirtualGatewaySpecListenerTl) []GetVirtualGatewaySpecListenerTlCertificate { - return v.Certificates - }).(GetVirtualGatewaySpecListenerTlCertificateArrayOutput) -} - -// Listener's TLS mode. Valid values: `DISABLED`, `PERMISSIVE`, `STRICT`. -func (o GetVirtualGatewaySpecListenerTlOutput) Mode() pulumi.StringOutput { - return o.ApplyT(func(v GetVirtualGatewaySpecListenerTl) string { return v.Mode }).(pulumi.StringOutput) -} - -// Listener's Transport Layer Security (TLS) validation context. -func (o GetVirtualGatewaySpecListenerTlOutput) Validations() GetVirtualGatewaySpecListenerTlValidationArrayOutput { - return o.ApplyT(func(v GetVirtualGatewaySpecListenerTl) []GetVirtualGatewaySpecListenerTlValidation { - return v.Validations - }).(GetVirtualGatewaySpecListenerTlValidationArrayOutput) +func (o GetVirtualNodeSpecListenerTlValidationSubjectAlternativeNameOutput) Matches() GetVirtualNodeSpecListenerTlValidationSubjectAlternativeNameMatchArrayOutput { + return o.ApplyT(func(v GetVirtualNodeSpecListenerTlValidationSubjectAlternativeName) []GetVirtualNodeSpecListenerTlValidationSubjectAlternativeNameMatch { + return v.Matches + }).(GetVirtualNodeSpecListenerTlValidationSubjectAlternativeNameMatchArrayOutput) } -type GetVirtualGatewaySpecListenerTlArrayOutput struct{ *pulumi.OutputState } +type GetVirtualNodeSpecListenerTlValidationSubjectAlternativeNameArrayOutput struct{ *pulumi.OutputState } -func (GetVirtualGatewaySpecListenerTlArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetVirtualGatewaySpecListenerTl)(nil)).Elem() +func (GetVirtualNodeSpecListenerTlValidationSubjectAlternativeNameArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetVirtualNodeSpecListenerTlValidationSubjectAlternativeName)(nil)).Elem() } -func (o GetVirtualGatewaySpecListenerTlArrayOutput) ToGetVirtualGatewaySpecListenerTlArrayOutput() GetVirtualGatewaySpecListenerTlArrayOutput { +func (o GetVirtualNodeSpecListenerTlValidationSubjectAlternativeNameArrayOutput) ToGetVirtualNodeSpecListenerTlValidationSubjectAlternativeNameArrayOutput() GetVirtualNodeSpecListenerTlValidationSubjectAlternativeNameArrayOutput { return o } -func (o GetVirtualGatewaySpecListenerTlArrayOutput) ToGetVirtualGatewaySpecListenerTlArrayOutputWithContext(ctx context.Context) GetVirtualGatewaySpecListenerTlArrayOutput { +func (o GetVirtualNodeSpecListenerTlValidationSubjectAlternativeNameArrayOutput) ToGetVirtualNodeSpecListenerTlValidationSubjectAlternativeNameArrayOutputWithContext(ctx context.Context) GetVirtualNodeSpecListenerTlValidationSubjectAlternativeNameArrayOutput { return o } -func (o GetVirtualGatewaySpecListenerTlArrayOutput) Index(i pulumi.IntInput) GetVirtualGatewaySpecListenerTlOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetVirtualGatewaySpecListenerTl { - return vs[0].([]GetVirtualGatewaySpecListenerTl)[vs[1].(int)] - }).(GetVirtualGatewaySpecListenerTlOutput) +func (o GetVirtualNodeSpecListenerTlValidationSubjectAlternativeNameArrayOutput) Index(i pulumi.IntInput) GetVirtualNodeSpecListenerTlValidationSubjectAlternativeNameOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetVirtualNodeSpecListenerTlValidationSubjectAlternativeName { + return vs[0].([]GetVirtualNodeSpecListenerTlValidationSubjectAlternativeName)[vs[1].(int)] + }).(GetVirtualNodeSpecListenerTlValidationSubjectAlternativeNameOutput) } -type GetVirtualGatewaySpecListenerTlCertificate struct { - // An AWS Certificate Manager (ACM) certificate. - Acms []GetVirtualGatewaySpecListenerTlCertificateAcm `pulumi:"acms"` - // TLS validation context trust for a local file certificate. - Files []GetVirtualGatewaySpecListenerTlCertificateFile `pulumi:"files"` - // TLS validation context trust for a [Secret Discovery Service](https://www.envoyproxy.io/docs/envoy/latest/configuration/security/secret#secret-discovery-service-sds) certificate. - Sds []GetVirtualGatewaySpecListenerTlCertificateSd `pulumi:"sds"` +type GetVirtualNodeSpecListenerTlValidationSubjectAlternativeNameMatch struct { + Exacts []string `pulumi:"exacts"` } -// GetVirtualGatewaySpecListenerTlCertificateInput is an input type that accepts GetVirtualGatewaySpecListenerTlCertificateArgs and GetVirtualGatewaySpecListenerTlCertificateOutput values. -// You can construct a concrete instance of `GetVirtualGatewaySpecListenerTlCertificateInput` via: +// GetVirtualNodeSpecListenerTlValidationSubjectAlternativeNameMatchInput is an input type that accepts GetVirtualNodeSpecListenerTlValidationSubjectAlternativeNameMatchArgs and GetVirtualNodeSpecListenerTlValidationSubjectAlternativeNameMatchOutput values. +// You can construct a concrete instance of `GetVirtualNodeSpecListenerTlValidationSubjectAlternativeNameMatchInput` via: // -// GetVirtualGatewaySpecListenerTlCertificateArgs{...} -type GetVirtualGatewaySpecListenerTlCertificateInput interface { +// GetVirtualNodeSpecListenerTlValidationSubjectAlternativeNameMatchArgs{...} +type GetVirtualNodeSpecListenerTlValidationSubjectAlternativeNameMatchInput interface { pulumi.Input - ToGetVirtualGatewaySpecListenerTlCertificateOutput() GetVirtualGatewaySpecListenerTlCertificateOutput - ToGetVirtualGatewaySpecListenerTlCertificateOutputWithContext(context.Context) GetVirtualGatewaySpecListenerTlCertificateOutput + ToGetVirtualNodeSpecListenerTlValidationSubjectAlternativeNameMatchOutput() GetVirtualNodeSpecListenerTlValidationSubjectAlternativeNameMatchOutput + ToGetVirtualNodeSpecListenerTlValidationSubjectAlternativeNameMatchOutputWithContext(context.Context) GetVirtualNodeSpecListenerTlValidationSubjectAlternativeNameMatchOutput } -type GetVirtualGatewaySpecListenerTlCertificateArgs struct { - // An AWS Certificate Manager (ACM) certificate. - Acms GetVirtualGatewaySpecListenerTlCertificateAcmArrayInput `pulumi:"acms"` - // TLS validation context trust for a local file certificate. - Files GetVirtualGatewaySpecListenerTlCertificateFileArrayInput `pulumi:"files"` - // TLS validation context trust for a [Secret Discovery Service](https://www.envoyproxy.io/docs/envoy/latest/configuration/security/secret#secret-discovery-service-sds) certificate. - Sds GetVirtualGatewaySpecListenerTlCertificateSdArrayInput `pulumi:"sds"` +type GetVirtualNodeSpecListenerTlValidationSubjectAlternativeNameMatchArgs struct { + Exacts pulumi.StringArrayInput `pulumi:"exacts"` } -func (GetVirtualGatewaySpecListenerTlCertificateArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetVirtualGatewaySpecListenerTlCertificate)(nil)).Elem() +func (GetVirtualNodeSpecListenerTlValidationSubjectAlternativeNameMatchArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetVirtualNodeSpecListenerTlValidationSubjectAlternativeNameMatch)(nil)).Elem() } -func (i GetVirtualGatewaySpecListenerTlCertificateArgs) ToGetVirtualGatewaySpecListenerTlCertificateOutput() GetVirtualGatewaySpecListenerTlCertificateOutput { - return i.ToGetVirtualGatewaySpecListenerTlCertificateOutputWithContext(context.Background()) +func (i GetVirtualNodeSpecListenerTlValidationSubjectAlternativeNameMatchArgs) ToGetVirtualNodeSpecListenerTlValidationSubjectAlternativeNameMatchOutput() GetVirtualNodeSpecListenerTlValidationSubjectAlternativeNameMatchOutput { + return i.ToGetVirtualNodeSpecListenerTlValidationSubjectAlternativeNameMatchOutputWithContext(context.Background()) } -func (i GetVirtualGatewaySpecListenerTlCertificateArgs) ToGetVirtualGatewaySpecListenerTlCertificateOutputWithContext(ctx context.Context) GetVirtualGatewaySpecListenerTlCertificateOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetVirtualGatewaySpecListenerTlCertificateOutput) +func (i GetVirtualNodeSpecListenerTlValidationSubjectAlternativeNameMatchArgs) ToGetVirtualNodeSpecListenerTlValidationSubjectAlternativeNameMatchOutputWithContext(ctx context.Context) GetVirtualNodeSpecListenerTlValidationSubjectAlternativeNameMatchOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetVirtualNodeSpecListenerTlValidationSubjectAlternativeNameMatchOutput) } -// GetVirtualGatewaySpecListenerTlCertificateArrayInput is an input type that accepts GetVirtualGatewaySpecListenerTlCertificateArray and GetVirtualGatewaySpecListenerTlCertificateArrayOutput values. -// You can construct a concrete instance of `GetVirtualGatewaySpecListenerTlCertificateArrayInput` via: +// GetVirtualNodeSpecListenerTlValidationSubjectAlternativeNameMatchArrayInput is an input type that accepts GetVirtualNodeSpecListenerTlValidationSubjectAlternativeNameMatchArray and GetVirtualNodeSpecListenerTlValidationSubjectAlternativeNameMatchArrayOutput values. +// You can construct a concrete instance of `GetVirtualNodeSpecListenerTlValidationSubjectAlternativeNameMatchArrayInput` via: // -// GetVirtualGatewaySpecListenerTlCertificateArray{ GetVirtualGatewaySpecListenerTlCertificateArgs{...} } -type GetVirtualGatewaySpecListenerTlCertificateArrayInput interface { +// GetVirtualNodeSpecListenerTlValidationSubjectAlternativeNameMatchArray{ GetVirtualNodeSpecListenerTlValidationSubjectAlternativeNameMatchArgs{...} } +type GetVirtualNodeSpecListenerTlValidationSubjectAlternativeNameMatchArrayInput interface { pulumi.Input - ToGetVirtualGatewaySpecListenerTlCertificateArrayOutput() GetVirtualGatewaySpecListenerTlCertificateArrayOutput - ToGetVirtualGatewaySpecListenerTlCertificateArrayOutputWithContext(context.Context) GetVirtualGatewaySpecListenerTlCertificateArrayOutput + ToGetVirtualNodeSpecListenerTlValidationSubjectAlternativeNameMatchArrayOutput() GetVirtualNodeSpecListenerTlValidationSubjectAlternativeNameMatchArrayOutput + ToGetVirtualNodeSpecListenerTlValidationSubjectAlternativeNameMatchArrayOutputWithContext(context.Context) GetVirtualNodeSpecListenerTlValidationSubjectAlternativeNameMatchArrayOutput } -type GetVirtualGatewaySpecListenerTlCertificateArray []GetVirtualGatewaySpecListenerTlCertificateInput +type GetVirtualNodeSpecListenerTlValidationSubjectAlternativeNameMatchArray []GetVirtualNodeSpecListenerTlValidationSubjectAlternativeNameMatchInput -func (GetVirtualGatewaySpecListenerTlCertificateArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetVirtualGatewaySpecListenerTlCertificate)(nil)).Elem() +func (GetVirtualNodeSpecListenerTlValidationSubjectAlternativeNameMatchArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetVirtualNodeSpecListenerTlValidationSubjectAlternativeNameMatch)(nil)).Elem() } -func (i GetVirtualGatewaySpecListenerTlCertificateArray) ToGetVirtualGatewaySpecListenerTlCertificateArrayOutput() GetVirtualGatewaySpecListenerTlCertificateArrayOutput { - return i.ToGetVirtualGatewaySpecListenerTlCertificateArrayOutputWithContext(context.Background()) +func (i GetVirtualNodeSpecListenerTlValidationSubjectAlternativeNameMatchArray) ToGetVirtualNodeSpecListenerTlValidationSubjectAlternativeNameMatchArrayOutput() GetVirtualNodeSpecListenerTlValidationSubjectAlternativeNameMatchArrayOutput { + return i.ToGetVirtualNodeSpecListenerTlValidationSubjectAlternativeNameMatchArrayOutputWithContext(context.Background()) } -func (i GetVirtualGatewaySpecListenerTlCertificateArray) ToGetVirtualGatewaySpecListenerTlCertificateArrayOutputWithContext(ctx context.Context) GetVirtualGatewaySpecListenerTlCertificateArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetVirtualGatewaySpecListenerTlCertificateArrayOutput) +func (i GetVirtualNodeSpecListenerTlValidationSubjectAlternativeNameMatchArray) ToGetVirtualNodeSpecListenerTlValidationSubjectAlternativeNameMatchArrayOutputWithContext(ctx context.Context) GetVirtualNodeSpecListenerTlValidationSubjectAlternativeNameMatchArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetVirtualNodeSpecListenerTlValidationSubjectAlternativeNameMatchArrayOutput) } -type GetVirtualGatewaySpecListenerTlCertificateOutput struct{ *pulumi.OutputState } +type GetVirtualNodeSpecListenerTlValidationSubjectAlternativeNameMatchOutput struct{ *pulumi.OutputState } -func (GetVirtualGatewaySpecListenerTlCertificateOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetVirtualGatewaySpecListenerTlCertificate)(nil)).Elem() +func (GetVirtualNodeSpecListenerTlValidationSubjectAlternativeNameMatchOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetVirtualNodeSpecListenerTlValidationSubjectAlternativeNameMatch)(nil)).Elem() } -func (o GetVirtualGatewaySpecListenerTlCertificateOutput) ToGetVirtualGatewaySpecListenerTlCertificateOutput() GetVirtualGatewaySpecListenerTlCertificateOutput { +func (o GetVirtualNodeSpecListenerTlValidationSubjectAlternativeNameMatchOutput) ToGetVirtualNodeSpecListenerTlValidationSubjectAlternativeNameMatchOutput() GetVirtualNodeSpecListenerTlValidationSubjectAlternativeNameMatchOutput { return o } -func (o GetVirtualGatewaySpecListenerTlCertificateOutput) ToGetVirtualGatewaySpecListenerTlCertificateOutputWithContext(ctx context.Context) GetVirtualGatewaySpecListenerTlCertificateOutput { +func (o GetVirtualNodeSpecListenerTlValidationSubjectAlternativeNameMatchOutput) ToGetVirtualNodeSpecListenerTlValidationSubjectAlternativeNameMatchOutputWithContext(ctx context.Context) GetVirtualNodeSpecListenerTlValidationSubjectAlternativeNameMatchOutput { return o } -// An AWS Certificate Manager (ACM) certificate. -func (o GetVirtualGatewaySpecListenerTlCertificateOutput) Acms() GetVirtualGatewaySpecListenerTlCertificateAcmArrayOutput { - return o.ApplyT(func(v GetVirtualGatewaySpecListenerTlCertificate) []GetVirtualGatewaySpecListenerTlCertificateAcm { - return v.Acms - }).(GetVirtualGatewaySpecListenerTlCertificateAcmArrayOutput) -} - -// TLS validation context trust for a local file certificate. -func (o GetVirtualGatewaySpecListenerTlCertificateOutput) Files() GetVirtualGatewaySpecListenerTlCertificateFileArrayOutput { - return o.ApplyT(func(v GetVirtualGatewaySpecListenerTlCertificate) []GetVirtualGatewaySpecListenerTlCertificateFile { - return v.Files - }).(GetVirtualGatewaySpecListenerTlCertificateFileArrayOutput) -} - -// TLS validation context trust for a [Secret Discovery Service](https://www.envoyproxy.io/docs/envoy/latest/configuration/security/secret#secret-discovery-service-sds) certificate. -func (o GetVirtualGatewaySpecListenerTlCertificateOutput) Sds() GetVirtualGatewaySpecListenerTlCertificateSdArrayOutput { - return o.ApplyT(func(v GetVirtualGatewaySpecListenerTlCertificate) []GetVirtualGatewaySpecListenerTlCertificateSd { - return v.Sds - }).(GetVirtualGatewaySpecListenerTlCertificateSdArrayOutput) +func (o GetVirtualNodeSpecListenerTlValidationSubjectAlternativeNameMatchOutput) Exacts() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetVirtualNodeSpecListenerTlValidationSubjectAlternativeNameMatch) []string { return v.Exacts }).(pulumi.StringArrayOutput) } -type GetVirtualGatewaySpecListenerTlCertificateArrayOutput struct{ *pulumi.OutputState } +type GetVirtualNodeSpecListenerTlValidationSubjectAlternativeNameMatchArrayOutput struct{ *pulumi.OutputState } -func (GetVirtualGatewaySpecListenerTlCertificateArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetVirtualGatewaySpecListenerTlCertificate)(nil)).Elem() +func (GetVirtualNodeSpecListenerTlValidationSubjectAlternativeNameMatchArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetVirtualNodeSpecListenerTlValidationSubjectAlternativeNameMatch)(nil)).Elem() } -func (o GetVirtualGatewaySpecListenerTlCertificateArrayOutput) ToGetVirtualGatewaySpecListenerTlCertificateArrayOutput() GetVirtualGatewaySpecListenerTlCertificateArrayOutput { +func (o GetVirtualNodeSpecListenerTlValidationSubjectAlternativeNameMatchArrayOutput) ToGetVirtualNodeSpecListenerTlValidationSubjectAlternativeNameMatchArrayOutput() GetVirtualNodeSpecListenerTlValidationSubjectAlternativeNameMatchArrayOutput { return o } -func (o GetVirtualGatewaySpecListenerTlCertificateArrayOutput) ToGetVirtualGatewaySpecListenerTlCertificateArrayOutputWithContext(ctx context.Context) GetVirtualGatewaySpecListenerTlCertificateArrayOutput { +func (o GetVirtualNodeSpecListenerTlValidationSubjectAlternativeNameMatchArrayOutput) ToGetVirtualNodeSpecListenerTlValidationSubjectAlternativeNameMatchArrayOutputWithContext(ctx context.Context) GetVirtualNodeSpecListenerTlValidationSubjectAlternativeNameMatchArrayOutput { return o } -func (o GetVirtualGatewaySpecListenerTlCertificateArrayOutput) Index(i pulumi.IntInput) GetVirtualGatewaySpecListenerTlCertificateOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetVirtualGatewaySpecListenerTlCertificate { - return vs[0].([]GetVirtualGatewaySpecListenerTlCertificate)[vs[1].(int)] - }).(GetVirtualGatewaySpecListenerTlCertificateOutput) +func (o GetVirtualNodeSpecListenerTlValidationSubjectAlternativeNameMatchArrayOutput) Index(i pulumi.IntInput) GetVirtualNodeSpecListenerTlValidationSubjectAlternativeNameMatchOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetVirtualNodeSpecListenerTlValidationSubjectAlternativeNameMatch { + return vs[0].([]GetVirtualNodeSpecListenerTlValidationSubjectAlternativeNameMatch)[vs[1].(int)] + }).(GetVirtualNodeSpecListenerTlValidationSubjectAlternativeNameMatchOutput) } -type GetVirtualGatewaySpecListenerTlCertificateAcm struct { - // ARN for the certificate. - CertificateArn string `pulumi:"certificateArn"` +type GetVirtualNodeSpecListenerTlValidationTrust struct { + Files []GetVirtualNodeSpecListenerTlValidationTrustFile `pulumi:"files"` + Sds []GetVirtualNodeSpecListenerTlValidationTrustSd `pulumi:"sds"` } -// GetVirtualGatewaySpecListenerTlCertificateAcmInput is an input type that accepts GetVirtualGatewaySpecListenerTlCertificateAcmArgs and GetVirtualGatewaySpecListenerTlCertificateAcmOutput values. -// You can construct a concrete instance of `GetVirtualGatewaySpecListenerTlCertificateAcmInput` via: +// GetVirtualNodeSpecListenerTlValidationTrustInput is an input type that accepts GetVirtualNodeSpecListenerTlValidationTrustArgs and GetVirtualNodeSpecListenerTlValidationTrustOutput values. +// You can construct a concrete instance of `GetVirtualNodeSpecListenerTlValidationTrustInput` via: // -// GetVirtualGatewaySpecListenerTlCertificateAcmArgs{...} -type GetVirtualGatewaySpecListenerTlCertificateAcmInput interface { +// GetVirtualNodeSpecListenerTlValidationTrustArgs{...} +type GetVirtualNodeSpecListenerTlValidationTrustInput interface { pulumi.Input - ToGetVirtualGatewaySpecListenerTlCertificateAcmOutput() GetVirtualGatewaySpecListenerTlCertificateAcmOutput - ToGetVirtualGatewaySpecListenerTlCertificateAcmOutputWithContext(context.Context) GetVirtualGatewaySpecListenerTlCertificateAcmOutput + ToGetVirtualNodeSpecListenerTlValidationTrustOutput() GetVirtualNodeSpecListenerTlValidationTrustOutput + ToGetVirtualNodeSpecListenerTlValidationTrustOutputWithContext(context.Context) GetVirtualNodeSpecListenerTlValidationTrustOutput } -type GetVirtualGatewaySpecListenerTlCertificateAcmArgs struct { - // ARN for the certificate. - CertificateArn pulumi.StringInput `pulumi:"certificateArn"` +type GetVirtualNodeSpecListenerTlValidationTrustArgs struct { + Files GetVirtualNodeSpecListenerTlValidationTrustFileArrayInput `pulumi:"files"` + Sds GetVirtualNodeSpecListenerTlValidationTrustSdArrayInput `pulumi:"sds"` } -func (GetVirtualGatewaySpecListenerTlCertificateAcmArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetVirtualGatewaySpecListenerTlCertificateAcm)(nil)).Elem() +func (GetVirtualNodeSpecListenerTlValidationTrustArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetVirtualNodeSpecListenerTlValidationTrust)(nil)).Elem() } -func (i GetVirtualGatewaySpecListenerTlCertificateAcmArgs) ToGetVirtualGatewaySpecListenerTlCertificateAcmOutput() GetVirtualGatewaySpecListenerTlCertificateAcmOutput { - return i.ToGetVirtualGatewaySpecListenerTlCertificateAcmOutputWithContext(context.Background()) +func (i GetVirtualNodeSpecListenerTlValidationTrustArgs) ToGetVirtualNodeSpecListenerTlValidationTrustOutput() GetVirtualNodeSpecListenerTlValidationTrustOutput { + return i.ToGetVirtualNodeSpecListenerTlValidationTrustOutputWithContext(context.Background()) } -func (i GetVirtualGatewaySpecListenerTlCertificateAcmArgs) ToGetVirtualGatewaySpecListenerTlCertificateAcmOutputWithContext(ctx context.Context) GetVirtualGatewaySpecListenerTlCertificateAcmOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetVirtualGatewaySpecListenerTlCertificateAcmOutput) +func (i GetVirtualNodeSpecListenerTlValidationTrustArgs) ToGetVirtualNodeSpecListenerTlValidationTrustOutputWithContext(ctx context.Context) GetVirtualNodeSpecListenerTlValidationTrustOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetVirtualNodeSpecListenerTlValidationTrustOutput) } -// GetVirtualGatewaySpecListenerTlCertificateAcmArrayInput is an input type that accepts GetVirtualGatewaySpecListenerTlCertificateAcmArray and GetVirtualGatewaySpecListenerTlCertificateAcmArrayOutput values. -// You can construct a concrete instance of `GetVirtualGatewaySpecListenerTlCertificateAcmArrayInput` via: +// GetVirtualNodeSpecListenerTlValidationTrustArrayInput is an input type that accepts GetVirtualNodeSpecListenerTlValidationTrustArray and GetVirtualNodeSpecListenerTlValidationTrustArrayOutput values. +// You can construct a concrete instance of `GetVirtualNodeSpecListenerTlValidationTrustArrayInput` via: // -// GetVirtualGatewaySpecListenerTlCertificateAcmArray{ GetVirtualGatewaySpecListenerTlCertificateAcmArgs{...} } -type GetVirtualGatewaySpecListenerTlCertificateAcmArrayInput interface { +// GetVirtualNodeSpecListenerTlValidationTrustArray{ GetVirtualNodeSpecListenerTlValidationTrustArgs{...} } +type GetVirtualNodeSpecListenerTlValidationTrustArrayInput interface { pulumi.Input - ToGetVirtualGatewaySpecListenerTlCertificateAcmArrayOutput() GetVirtualGatewaySpecListenerTlCertificateAcmArrayOutput - ToGetVirtualGatewaySpecListenerTlCertificateAcmArrayOutputWithContext(context.Context) GetVirtualGatewaySpecListenerTlCertificateAcmArrayOutput + ToGetVirtualNodeSpecListenerTlValidationTrustArrayOutput() GetVirtualNodeSpecListenerTlValidationTrustArrayOutput + ToGetVirtualNodeSpecListenerTlValidationTrustArrayOutputWithContext(context.Context) GetVirtualNodeSpecListenerTlValidationTrustArrayOutput } -type GetVirtualGatewaySpecListenerTlCertificateAcmArray []GetVirtualGatewaySpecListenerTlCertificateAcmInput +type GetVirtualNodeSpecListenerTlValidationTrustArray []GetVirtualNodeSpecListenerTlValidationTrustInput -func (GetVirtualGatewaySpecListenerTlCertificateAcmArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetVirtualGatewaySpecListenerTlCertificateAcm)(nil)).Elem() +func (GetVirtualNodeSpecListenerTlValidationTrustArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetVirtualNodeSpecListenerTlValidationTrust)(nil)).Elem() } -func (i GetVirtualGatewaySpecListenerTlCertificateAcmArray) ToGetVirtualGatewaySpecListenerTlCertificateAcmArrayOutput() GetVirtualGatewaySpecListenerTlCertificateAcmArrayOutput { - return i.ToGetVirtualGatewaySpecListenerTlCertificateAcmArrayOutputWithContext(context.Background()) +func (i GetVirtualNodeSpecListenerTlValidationTrustArray) ToGetVirtualNodeSpecListenerTlValidationTrustArrayOutput() GetVirtualNodeSpecListenerTlValidationTrustArrayOutput { + return i.ToGetVirtualNodeSpecListenerTlValidationTrustArrayOutputWithContext(context.Background()) } -func (i GetVirtualGatewaySpecListenerTlCertificateAcmArray) ToGetVirtualGatewaySpecListenerTlCertificateAcmArrayOutputWithContext(ctx context.Context) GetVirtualGatewaySpecListenerTlCertificateAcmArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetVirtualGatewaySpecListenerTlCertificateAcmArrayOutput) +func (i GetVirtualNodeSpecListenerTlValidationTrustArray) ToGetVirtualNodeSpecListenerTlValidationTrustArrayOutputWithContext(ctx context.Context) GetVirtualNodeSpecListenerTlValidationTrustArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetVirtualNodeSpecListenerTlValidationTrustArrayOutput) } -type GetVirtualGatewaySpecListenerTlCertificateAcmOutput struct{ *pulumi.OutputState } +type GetVirtualNodeSpecListenerTlValidationTrustOutput struct{ *pulumi.OutputState } -func (GetVirtualGatewaySpecListenerTlCertificateAcmOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetVirtualGatewaySpecListenerTlCertificateAcm)(nil)).Elem() +func (GetVirtualNodeSpecListenerTlValidationTrustOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetVirtualNodeSpecListenerTlValidationTrust)(nil)).Elem() } -func (o GetVirtualGatewaySpecListenerTlCertificateAcmOutput) ToGetVirtualGatewaySpecListenerTlCertificateAcmOutput() GetVirtualGatewaySpecListenerTlCertificateAcmOutput { +func (o GetVirtualNodeSpecListenerTlValidationTrustOutput) ToGetVirtualNodeSpecListenerTlValidationTrustOutput() GetVirtualNodeSpecListenerTlValidationTrustOutput { return o } -func (o GetVirtualGatewaySpecListenerTlCertificateAcmOutput) ToGetVirtualGatewaySpecListenerTlCertificateAcmOutputWithContext(ctx context.Context) GetVirtualGatewaySpecListenerTlCertificateAcmOutput { +func (o GetVirtualNodeSpecListenerTlValidationTrustOutput) ToGetVirtualNodeSpecListenerTlValidationTrustOutputWithContext(ctx context.Context) GetVirtualNodeSpecListenerTlValidationTrustOutput { return o } -// ARN for the certificate. -func (o GetVirtualGatewaySpecListenerTlCertificateAcmOutput) CertificateArn() pulumi.StringOutput { - return o.ApplyT(func(v GetVirtualGatewaySpecListenerTlCertificateAcm) string { return v.CertificateArn }).(pulumi.StringOutput) +func (o GetVirtualNodeSpecListenerTlValidationTrustOutput) Files() GetVirtualNodeSpecListenerTlValidationTrustFileArrayOutput { + return o.ApplyT(func(v GetVirtualNodeSpecListenerTlValidationTrust) []GetVirtualNodeSpecListenerTlValidationTrustFile { + return v.Files + }).(GetVirtualNodeSpecListenerTlValidationTrustFileArrayOutput) } -type GetVirtualGatewaySpecListenerTlCertificateAcmArrayOutput struct{ *pulumi.OutputState } +func (o GetVirtualNodeSpecListenerTlValidationTrustOutput) Sds() GetVirtualNodeSpecListenerTlValidationTrustSdArrayOutput { + return o.ApplyT(func(v GetVirtualNodeSpecListenerTlValidationTrust) []GetVirtualNodeSpecListenerTlValidationTrustSd { + return v.Sds + }).(GetVirtualNodeSpecListenerTlValidationTrustSdArrayOutput) +} -func (GetVirtualGatewaySpecListenerTlCertificateAcmArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetVirtualGatewaySpecListenerTlCertificateAcm)(nil)).Elem() +type GetVirtualNodeSpecListenerTlValidationTrustArrayOutput struct{ *pulumi.OutputState } + +func (GetVirtualNodeSpecListenerTlValidationTrustArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetVirtualNodeSpecListenerTlValidationTrust)(nil)).Elem() } -func (o GetVirtualGatewaySpecListenerTlCertificateAcmArrayOutput) ToGetVirtualGatewaySpecListenerTlCertificateAcmArrayOutput() GetVirtualGatewaySpecListenerTlCertificateAcmArrayOutput { +func (o GetVirtualNodeSpecListenerTlValidationTrustArrayOutput) ToGetVirtualNodeSpecListenerTlValidationTrustArrayOutput() GetVirtualNodeSpecListenerTlValidationTrustArrayOutput { return o } -func (o GetVirtualGatewaySpecListenerTlCertificateAcmArrayOutput) ToGetVirtualGatewaySpecListenerTlCertificateAcmArrayOutputWithContext(ctx context.Context) GetVirtualGatewaySpecListenerTlCertificateAcmArrayOutput { +func (o GetVirtualNodeSpecListenerTlValidationTrustArrayOutput) ToGetVirtualNodeSpecListenerTlValidationTrustArrayOutputWithContext(ctx context.Context) GetVirtualNodeSpecListenerTlValidationTrustArrayOutput { return o } -func (o GetVirtualGatewaySpecListenerTlCertificateAcmArrayOutput) Index(i pulumi.IntInput) GetVirtualGatewaySpecListenerTlCertificateAcmOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetVirtualGatewaySpecListenerTlCertificateAcm { - return vs[0].([]GetVirtualGatewaySpecListenerTlCertificateAcm)[vs[1].(int)] - }).(GetVirtualGatewaySpecListenerTlCertificateAcmOutput) +func (o GetVirtualNodeSpecListenerTlValidationTrustArrayOutput) Index(i pulumi.IntInput) GetVirtualNodeSpecListenerTlValidationTrustOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetVirtualNodeSpecListenerTlValidationTrust { + return vs[0].([]GetVirtualNodeSpecListenerTlValidationTrust)[vs[1].(int)] + }).(GetVirtualNodeSpecListenerTlValidationTrustOutput) } -type GetVirtualGatewaySpecListenerTlCertificateFile struct { - // Certificate trust chain for a certificate stored on the file system of the mesh endpoint that the proxy is running on. Must be between 1 and 255 characters in length. +type GetVirtualNodeSpecListenerTlValidationTrustFile struct { CertificateChain string `pulumi:"certificateChain"` - // Private key for a certificate stored on the file system of the mesh endpoint that the proxy is running on. Must be between 1 and 255 characters in length. - PrivateKey string `pulumi:"privateKey"` } -// GetVirtualGatewaySpecListenerTlCertificateFileInput is an input type that accepts GetVirtualGatewaySpecListenerTlCertificateFileArgs and GetVirtualGatewaySpecListenerTlCertificateFileOutput values. -// You can construct a concrete instance of `GetVirtualGatewaySpecListenerTlCertificateFileInput` via: +// GetVirtualNodeSpecListenerTlValidationTrustFileInput is an input type that accepts GetVirtualNodeSpecListenerTlValidationTrustFileArgs and GetVirtualNodeSpecListenerTlValidationTrustFileOutput values. +// You can construct a concrete instance of `GetVirtualNodeSpecListenerTlValidationTrustFileInput` via: // -// GetVirtualGatewaySpecListenerTlCertificateFileArgs{...} -type GetVirtualGatewaySpecListenerTlCertificateFileInput interface { +// GetVirtualNodeSpecListenerTlValidationTrustFileArgs{...} +type GetVirtualNodeSpecListenerTlValidationTrustFileInput interface { pulumi.Input - ToGetVirtualGatewaySpecListenerTlCertificateFileOutput() GetVirtualGatewaySpecListenerTlCertificateFileOutput - ToGetVirtualGatewaySpecListenerTlCertificateFileOutputWithContext(context.Context) GetVirtualGatewaySpecListenerTlCertificateFileOutput + ToGetVirtualNodeSpecListenerTlValidationTrustFileOutput() GetVirtualNodeSpecListenerTlValidationTrustFileOutput + ToGetVirtualNodeSpecListenerTlValidationTrustFileOutputWithContext(context.Context) GetVirtualNodeSpecListenerTlValidationTrustFileOutput } -type GetVirtualGatewaySpecListenerTlCertificateFileArgs struct { - // Certificate trust chain for a certificate stored on the file system of the mesh endpoint that the proxy is running on. Must be between 1 and 255 characters in length. +type GetVirtualNodeSpecListenerTlValidationTrustFileArgs struct { CertificateChain pulumi.StringInput `pulumi:"certificateChain"` - // Private key for a certificate stored on the file system of the mesh endpoint that the proxy is running on. Must be between 1 and 255 characters in length. - PrivateKey pulumi.StringInput `pulumi:"privateKey"` } -func (GetVirtualGatewaySpecListenerTlCertificateFileArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetVirtualGatewaySpecListenerTlCertificateFile)(nil)).Elem() +func (GetVirtualNodeSpecListenerTlValidationTrustFileArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetVirtualNodeSpecListenerTlValidationTrustFile)(nil)).Elem() } -func (i GetVirtualGatewaySpecListenerTlCertificateFileArgs) ToGetVirtualGatewaySpecListenerTlCertificateFileOutput() GetVirtualGatewaySpecListenerTlCertificateFileOutput { - return i.ToGetVirtualGatewaySpecListenerTlCertificateFileOutputWithContext(context.Background()) +func (i GetVirtualNodeSpecListenerTlValidationTrustFileArgs) ToGetVirtualNodeSpecListenerTlValidationTrustFileOutput() GetVirtualNodeSpecListenerTlValidationTrustFileOutput { + return i.ToGetVirtualNodeSpecListenerTlValidationTrustFileOutputWithContext(context.Background()) } -func (i GetVirtualGatewaySpecListenerTlCertificateFileArgs) ToGetVirtualGatewaySpecListenerTlCertificateFileOutputWithContext(ctx context.Context) GetVirtualGatewaySpecListenerTlCertificateFileOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetVirtualGatewaySpecListenerTlCertificateFileOutput) +func (i GetVirtualNodeSpecListenerTlValidationTrustFileArgs) ToGetVirtualNodeSpecListenerTlValidationTrustFileOutputWithContext(ctx context.Context) GetVirtualNodeSpecListenerTlValidationTrustFileOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetVirtualNodeSpecListenerTlValidationTrustFileOutput) } -// GetVirtualGatewaySpecListenerTlCertificateFileArrayInput is an input type that accepts GetVirtualGatewaySpecListenerTlCertificateFileArray and GetVirtualGatewaySpecListenerTlCertificateFileArrayOutput values. -// You can construct a concrete instance of `GetVirtualGatewaySpecListenerTlCertificateFileArrayInput` via: +// GetVirtualNodeSpecListenerTlValidationTrustFileArrayInput is an input type that accepts GetVirtualNodeSpecListenerTlValidationTrustFileArray and GetVirtualNodeSpecListenerTlValidationTrustFileArrayOutput values. +// You can construct a concrete instance of `GetVirtualNodeSpecListenerTlValidationTrustFileArrayInput` via: // -// GetVirtualGatewaySpecListenerTlCertificateFileArray{ GetVirtualGatewaySpecListenerTlCertificateFileArgs{...} } -type GetVirtualGatewaySpecListenerTlCertificateFileArrayInput interface { +// GetVirtualNodeSpecListenerTlValidationTrustFileArray{ GetVirtualNodeSpecListenerTlValidationTrustFileArgs{...} } +type GetVirtualNodeSpecListenerTlValidationTrustFileArrayInput interface { pulumi.Input - ToGetVirtualGatewaySpecListenerTlCertificateFileArrayOutput() GetVirtualGatewaySpecListenerTlCertificateFileArrayOutput - ToGetVirtualGatewaySpecListenerTlCertificateFileArrayOutputWithContext(context.Context) GetVirtualGatewaySpecListenerTlCertificateFileArrayOutput + ToGetVirtualNodeSpecListenerTlValidationTrustFileArrayOutput() GetVirtualNodeSpecListenerTlValidationTrustFileArrayOutput + ToGetVirtualNodeSpecListenerTlValidationTrustFileArrayOutputWithContext(context.Context) GetVirtualNodeSpecListenerTlValidationTrustFileArrayOutput } -type GetVirtualGatewaySpecListenerTlCertificateFileArray []GetVirtualGatewaySpecListenerTlCertificateFileInput +type GetVirtualNodeSpecListenerTlValidationTrustFileArray []GetVirtualNodeSpecListenerTlValidationTrustFileInput -func (GetVirtualGatewaySpecListenerTlCertificateFileArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetVirtualGatewaySpecListenerTlCertificateFile)(nil)).Elem() +func (GetVirtualNodeSpecListenerTlValidationTrustFileArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetVirtualNodeSpecListenerTlValidationTrustFile)(nil)).Elem() } -func (i GetVirtualGatewaySpecListenerTlCertificateFileArray) ToGetVirtualGatewaySpecListenerTlCertificateFileArrayOutput() GetVirtualGatewaySpecListenerTlCertificateFileArrayOutput { - return i.ToGetVirtualGatewaySpecListenerTlCertificateFileArrayOutputWithContext(context.Background()) +func (i GetVirtualNodeSpecListenerTlValidationTrustFileArray) ToGetVirtualNodeSpecListenerTlValidationTrustFileArrayOutput() GetVirtualNodeSpecListenerTlValidationTrustFileArrayOutput { + return i.ToGetVirtualNodeSpecListenerTlValidationTrustFileArrayOutputWithContext(context.Background()) } -func (i GetVirtualGatewaySpecListenerTlCertificateFileArray) ToGetVirtualGatewaySpecListenerTlCertificateFileArrayOutputWithContext(ctx context.Context) GetVirtualGatewaySpecListenerTlCertificateFileArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetVirtualGatewaySpecListenerTlCertificateFileArrayOutput) +func (i GetVirtualNodeSpecListenerTlValidationTrustFileArray) ToGetVirtualNodeSpecListenerTlValidationTrustFileArrayOutputWithContext(ctx context.Context) GetVirtualNodeSpecListenerTlValidationTrustFileArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetVirtualNodeSpecListenerTlValidationTrustFileArrayOutput) } -type GetVirtualGatewaySpecListenerTlCertificateFileOutput struct{ *pulumi.OutputState } +type GetVirtualNodeSpecListenerTlValidationTrustFileOutput struct{ *pulumi.OutputState } -func (GetVirtualGatewaySpecListenerTlCertificateFileOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetVirtualGatewaySpecListenerTlCertificateFile)(nil)).Elem() +func (GetVirtualNodeSpecListenerTlValidationTrustFileOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetVirtualNodeSpecListenerTlValidationTrustFile)(nil)).Elem() } -func (o GetVirtualGatewaySpecListenerTlCertificateFileOutput) ToGetVirtualGatewaySpecListenerTlCertificateFileOutput() GetVirtualGatewaySpecListenerTlCertificateFileOutput { +func (o GetVirtualNodeSpecListenerTlValidationTrustFileOutput) ToGetVirtualNodeSpecListenerTlValidationTrustFileOutput() GetVirtualNodeSpecListenerTlValidationTrustFileOutput { return o } -func (o GetVirtualGatewaySpecListenerTlCertificateFileOutput) ToGetVirtualGatewaySpecListenerTlCertificateFileOutputWithContext(ctx context.Context) GetVirtualGatewaySpecListenerTlCertificateFileOutput { +func (o GetVirtualNodeSpecListenerTlValidationTrustFileOutput) ToGetVirtualNodeSpecListenerTlValidationTrustFileOutputWithContext(ctx context.Context) GetVirtualNodeSpecListenerTlValidationTrustFileOutput { return o } -// Certificate trust chain for a certificate stored on the file system of the mesh endpoint that the proxy is running on. Must be between 1 and 255 characters in length. -func (o GetVirtualGatewaySpecListenerTlCertificateFileOutput) CertificateChain() pulumi.StringOutput { - return o.ApplyT(func(v GetVirtualGatewaySpecListenerTlCertificateFile) string { return v.CertificateChain }).(pulumi.StringOutput) -} - -// Private key for a certificate stored on the file system of the mesh endpoint that the proxy is running on. Must be between 1 and 255 characters in length. -func (o GetVirtualGatewaySpecListenerTlCertificateFileOutput) PrivateKey() pulumi.StringOutput { - return o.ApplyT(func(v GetVirtualGatewaySpecListenerTlCertificateFile) string { return v.PrivateKey }).(pulumi.StringOutput) +func (o GetVirtualNodeSpecListenerTlValidationTrustFileOutput) CertificateChain() pulumi.StringOutput { + return o.ApplyT(func(v GetVirtualNodeSpecListenerTlValidationTrustFile) string { return v.CertificateChain }).(pulumi.StringOutput) } -type GetVirtualGatewaySpecListenerTlCertificateFileArrayOutput struct{ *pulumi.OutputState } +type GetVirtualNodeSpecListenerTlValidationTrustFileArrayOutput struct{ *pulumi.OutputState } -func (GetVirtualGatewaySpecListenerTlCertificateFileArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetVirtualGatewaySpecListenerTlCertificateFile)(nil)).Elem() +func (GetVirtualNodeSpecListenerTlValidationTrustFileArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetVirtualNodeSpecListenerTlValidationTrustFile)(nil)).Elem() } -func (o GetVirtualGatewaySpecListenerTlCertificateFileArrayOutput) ToGetVirtualGatewaySpecListenerTlCertificateFileArrayOutput() GetVirtualGatewaySpecListenerTlCertificateFileArrayOutput { +func (o GetVirtualNodeSpecListenerTlValidationTrustFileArrayOutput) ToGetVirtualNodeSpecListenerTlValidationTrustFileArrayOutput() GetVirtualNodeSpecListenerTlValidationTrustFileArrayOutput { return o } -func (o GetVirtualGatewaySpecListenerTlCertificateFileArrayOutput) ToGetVirtualGatewaySpecListenerTlCertificateFileArrayOutputWithContext(ctx context.Context) GetVirtualGatewaySpecListenerTlCertificateFileArrayOutput { +func (o GetVirtualNodeSpecListenerTlValidationTrustFileArrayOutput) ToGetVirtualNodeSpecListenerTlValidationTrustFileArrayOutputWithContext(ctx context.Context) GetVirtualNodeSpecListenerTlValidationTrustFileArrayOutput { return o } -func (o GetVirtualGatewaySpecListenerTlCertificateFileArrayOutput) Index(i pulumi.IntInput) GetVirtualGatewaySpecListenerTlCertificateFileOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetVirtualGatewaySpecListenerTlCertificateFile { - return vs[0].([]GetVirtualGatewaySpecListenerTlCertificateFile)[vs[1].(int)] - }).(GetVirtualGatewaySpecListenerTlCertificateFileOutput) +func (o GetVirtualNodeSpecListenerTlValidationTrustFileArrayOutput) Index(i pulumi.IntInput) GetVirtualNodeSpecListenerTlValidationTrustFileOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetVirtualNodeSpecListenerTlValidationTrustFile { + return vs[0].([]GetVirtualNodeSpecListenerTlValidationTrustFile)[vs[1].(int)] + }).(GetVirtualNodeSpecListenerTlValidationTrustFileOutput) } -type GetVirtualGatewaySpecListenerTlCertificateSd struct { - // Name of the secret for a virtual gateway's Transport Layer Security (TLS) Secret Discovery Service validation context trust. +type GetVirtualNodeSpecListenerTlValidationTrustSd struct { SecretName string `pulumi:"secretName"` } -// GetVirtualGatewaySpecListenerTlCertificateSdInput is an input type that accepts GetVirtualGatewaySpecListenerTlCertificateSdArgs and GetVirtualGatewaySpecListenerTlCertificateSdOutput values. -// You can construct a concrete instance of `GetVirtualGatewaySpecListenerTlCertificateSdInput` via: +// GetVirtualNodeSpecListenerTlValidationTrustSdInput is an input type that accepts GetVirtualNodeSpecListenerTlValidationTrustSdArgs and GetVirtualNodeSpecListenerTlValidationTrustSdOutput values. +// You can construct a concrete instance of `GetVirtualNodeSpecListenerTlValidationTrustSdInput` via: // -// GetVirtualGatewaySpecListenerTlCertificateSdArgs{...} -type GetVirtualGatewaySpecListenerTlCertificateSdInput interface { +// GetVirtualNodeSpecListenerTlValidationTrustSdArgs{...} +type GetVirtualNodeSpecListenerTlValidationTrustSdInput interface { pulumi.Input - ToGetVirtualGatewaySpecListenerTlCertificateSdOutput() GetVirtualGatewaySpecListenerTlCertificateSdOutput - ToGetVirtualGatewaySpecListenerTlCertificateSdOutputWithContext(context.Context) GetVirtualGatewaySpecListenerTlCertificateSdOutput + ToGetVirtualNodeSpecListenerTlValidationTrustSdOutput() GetVirtualNodeSpecListenerTlValidationTrustSdOutput + ToGetVirtualNodeSpecListenerTlValidationTrustSdOutputWithContext(context.Context) GetVirtualNodeSpecListenerTlValidationTrustSdOutput } -type GetVirtualGatewaySpecListenerTlCertificateSdArgs struct { - // Name of the secret for a virtual gateway's Transport Layer Security (TLS) Secret Discovery Service validation context trust. +type GetVirtualNodeSpecListenerTlValidationTrustSdArgs struct { SecretName pulumi.StringInput `pulumi:"secretName"` } -func (GetVirtualGatewaySpecListenerTlCertificateSdArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetVirtualGatewaySpecListenerTlCertificateSd)(nil)).Elem() +func (GetVirtualNodeSpecListenerTlValidationTrustSdArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetVirtualNodeSpecListenerTlValidationTrustSd)(nil)).Elem() } -func (i GetVirtualGatewaySpecListenerTlCertificateSdArgs) ToGetVirtualGatewaySpecListenerTlCertificateSdOutput() GetVirtualGatewaySpecListenerTlCertificateSdOutput { - return i.ToGetVirtualGatewaySpecListenerTlCertificateSdOutputWithContext(context.Background()) +func (i GetVirtualNodeSpecListenerTlValidationTrustSdArgs) ToGetVirtualNodeSpecListenerTlValidationTrustSdOutput() GetVirtualNodeSpecListenerTlValidationTrustSdOutput { + return i.ToGetVirtualNodeSpecListenerTlValidationTrustSdOutputWithContext(context.Background()) } -func (i GetVirtualGatewaySpecListenerTlCertificateSdArgs) ToGetVirtualGatewaySpecListenerTlCertificateSdOutputWithContext(ctx context.Context) GetVirtualGatewaySpecListenerTlCertificateSdOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetVirtualGatewaySpecListenerTlCertificateSdOutput) +func (i GetVirtualNodeSpecListenerTlValidationTrustSdArgs) ToGetVirtualNodeSpecListenerTlValidationTrustSdOutputWithContext(ctx context.Context) GetVirtualNodeSpecListenerTlValidationTrustSdOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetVirtualNodeSpecListenerTlValidationTrustSdOutput) } -// GetVirtualGatewaySpecListenerTlCertificateSdArrayInput is an input type that accepts GetVirtualGatewaySpecListenerTlCertificateSdArray and GetVirtualGatewaySpecListenerTlCertificateSdArrayOutput values. -// You can construct a concrete instance of `GetVirtualGatewaySpecListenerTlCertificateSdArrayInput` via: +// GetVirtualNodeSpecListenerTlValidationTrustSdArrayInput is an input type that accepts GetVirtualNodeSpecListenerTlValidationTrustSdArray and GetVirtualNodeSpecListenerTlValidationTrustSdArrayOutput values. +// You can construct a concrete instance of `GetVirtualNodeSpecListenerTlValidationTrustSdArrayInput` via: // -// GetVirtualGatewaySpecListenerTlCertificateSdArray{ GetVirtualGatewaySpecListenerTlCertificateSdArgs{...} } -type GetVirtualGatewaySpecListenerTlCertificateSdArrayInput interface { +// GetVirtualNodeSpecListenerTlValidationTrustSdArray{ GetVirtualNodeSpecListenerTlValidationTrustSdArgs{...} } +type GetVirtualNodeSpecListenerTlValidationTrustSdArrayInput interface { pulumi.Input - ToGetVirtualGatewaySpecListenerTlCertificateSdArrayOutput() GetVirtualGatewaySpecListenerTlCertificateSdArrayOutput - ToGetVirtualGatewaySpecListenerTlCertificateSdArrayOutputWithContext(context.Context) GetVirtualGatewaySpecListenerTlCertificateSdArrayOutput + ToGetVirtualNodeSpecListenerTlValidationTrustSdArrayOutput() GetVirtualNodeSpecListenerTlValidationTrustSdArrayOutput + ToGetVirtualNodeSpecListenerTlValidationTrustSdArrayOutputWithContext(context.Context) GetVirtualNodeSpecListenerTlValidationTrustSdArrayOutput } -type GetVirtualGatewaySpecListenerTlCertificateSdArray []GetVirtualGatewaySpecListenerTlCertificateSdInput +type GetVirtualNodeSpecListenerTlValidationTrustSdArray []GetVirtualNodeSpecListenerTlValidationTrustSdInput -func (GetVirtualGatewaySpecListenerTlCertificateSdArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetVirtualGatewaySpecListenerTlCertificateSd)(nil)).Elem() +func (GetVirtualNodeSpecListenerTlValidationTrustSdArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetVirtualNodeSpecListenerTlValidationTrustSd)(nil)).Elem() } -func (i GetVirtualGatewaySpecListenerTlCertificateSdArray) ToGetVirtualGatewaySpecListenerTlCertificateSdArrayOutput() GetVirtualGatewaySpecListenerTlCertificateSdArrayOutput { - return i.ToGetVirtualGatewaySpecListenerTlCertificateSdArrayOutputWithContext(context.Background()) +func (i GetVirtualNodeSpecListenerTlValidationTrustSdArray) ToGetVirtualNodeSpecListenerTlValidationTrustSdArrayOutput() GetVirtualNodeSpecListenerTlValidationTrustSdArrayOutput { + return i.ToGetVirtualNodeSpecListenerTlValidationTrustSdArrayOutputWithContext(context.Background()) } -func (i GetVirtualGatewaySpecListenerTlCertificateSdArray) ToGetVirtualGatewaySpecListenerTlCertificateSdArrayOutputWithContext(ctx context.Context) GetVirtualGatewaySpecListenerTlCertificateSdArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetVirtualGatewaySpecListenerTlCertificateSdArrayOutput) +func (i GetVirtualNodeSpecListenerTlValidationTrustSdArray) ToGetVirtualNodeSpecListenerTlValidationTrustSdArrayOutputWithContext(ctx context.Context) GetVirtualNodeSpecListenerTlValidationTrustSdArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetVirtualNodeSpecListenerTlValidationTrustSdArrayOutput) } -type GetVirtualGatewaySpecListenerTlCertificateSdOutput struct{ *pulumi.OutputState } +type GetVirtualNodeSpecListenerTlValidationTrustSdOutput struct{ *pulumi.OutputState } -func (GetVirtualGatewaySpecListenerTlCertificateSdOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetVirtualGatewaySpecListenerTlCertificateSd)(nil)).Elem() +func (GetVirtualNodeSpecListenerTlValidationTrustSdOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetVirtualNodeSpecListenerTlValidationTrustSd)(nil)).Elem() } -func (o GetVirtualGatewaySpecListenerTlCertificateSdOutput) ToGetVirtualGatewaySpecListenerTlCertificateSdOutput() GetVirtualGatewaySpecListenerTlCertificateSdOutput { +func (o GetVirtualNodeSpecListenerTlValidationTrustSdOutput) ToGetVirtualNodeSpecListenerTlValidationTrustSdOutput() GetVirtualNodeSpecListenerTlValidationTrustSdOutput { return o } -func (o GetVirtualGatewaySpecListenerTlCertificateSdOutput) ToGetVirtualGatewaySpecListenerTlCertificateSdOutputWithContext(ctx context.Context) GetVirtualGatewaySpecListenerTlCertificateSdOutput { +func (o GetVirtualNodeSpecListenerTlValidationTrustSdOutput) ToGetVirtualNodeSpecListenerTlValidationTrustSdOutputWithContext(ctx context.Context) GetVirtualNodeSpecListenerTlValidationTrustSdOutput { return o } -// Name of the secret for a virtual gateway's Transport Layer Security (TLS) Secret Discovery Service validation context trust. -func (o GetVirtualGatewaySpecListenerTlCertificateSdOutput) SecretName() pulumi.StringOutput { - return o.ApplyT(func(v GetVirtualGatewaySpecListenerTlCertificateSd) string { return v.SecretName }).(pulumi.StringOutput) +func (o GetVirtualNodeSpecListenerTlValidationTrustSdOutput) SecretName() pulumi.StringOutput { + return o.ApplyT(func(v GetVirtualNodeSpecListenerTlValidationTrustSd) string { return v.SecretName }).(pulumi.StringOutput) } -type GetVirtualGatewaySpecListenerTlCertificateSdArrayOutput struct{ *pulumi.OutputState } +type GetVirtualNodeSpecListenerTlValidationTrustSdArrayOutput struct{ *pulumi.OutputState } -func (GetVirtualGatewaySpecListenerTlCertificateSdArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetVirtualGatewaySpecListenerTlCertificateSd)(nil)).Elem() +func (GetVirtualNodeSpecListenerTlValidationTrustSdArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetVirtualNodeSpecListenerTlValidationTrustSd)(nil)).Elem() } -func (o GetVirtualGatewaySpecListenerTlCertificateSdArrayOutput) ToGetVirtualGatewaySpecListenerTlCertificateSdArrayOutput() GetVirtualGatewaySpecListenerTlCertificateSdArrayOutput { +func (o GetVirtualNodeSpecListenerTlValidationTrustSdArrayOutput) ToGetVirtualNodeSpecListenerTlValidationTrustSdArrayOutput() GetVirtualNodeSpecListenerTlValidationTrustSdArrayOutput { return o } -func (o GetVirtualGatewaySpecListenerTlCertificateSdArrayOutput) ToGetVirtualGatewaySpecListenerTlCertificateSdArrayOutputWithContext(ctx context.Context) GetVirtualGatewaySpecListenerTlCertificateSdArrayOutput { +func (o GetVirtualNodeSpecListenerTlValidationTrustSdArrayOutput) ToGetVirtualNodeSpecListenerTlValidationTrustSdArrayOutputWithContext(ctx context.Context) GetVirtualNodeSpecListenerTlValidationTrustSdArrayOutput { return o } -func (o GetVirtualGatewaySpecListenerTlCertificateSdArrayOutput) Index(i pulumi.IntInput) GetVirtualGatewaySpecListenerTlCertificateSdOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetVirtualGatewaySpecListenerTlCertificateSd { - return vs[0].([]GetVirtualGatewaySpecListenerTlCertificateSd)[vs[1].(int)] - }).(GetVirtualGatewaySpecListenerTlCertificateSdOutput) +func (o GetVirtualNodeSpecListenerTlValidationTrustSdArrayOutput) Index(i pulumi.IntInput) GetVirtualNodeSpecListenerTlValidationTrustSdOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetVirtualNodeSpecListenerTlValidationTrustSd { + return vs[0].([]GetVirtualNodeSpecListenerTlValidationTrustSd)[vs[1].(int)] + }).(GetVirtualNodeSpecListenerTlValidationTrustSdOutput) } -type GetVirtualGatewaySpecListenerTlValidation struct { - // SANs for a virtual gateway's listener's Transport Layer Security (TLS) validation context. - SubjectAlternativeNames []GetVirtualGatewaySpecListenerTlValidationSubjectAlternativeName `pulumi:"subjectAlternativeNames"` - // TLS validation context trust. - Trusts []GetVirtualGatewaySpecListenerTlValidationTrust `pulumi:"trusts"` +type GetVirtualNodeSpecLogging struct { + AccessLogs []GetVirtualNodeSpecLoggingAccessLog `pulumi:"accessLogs"` } -// GetVirtualGatewaySpecListenerTlValidationInput is an input type that accepts GetVirtualGatewaySpecListenerTlValidationArgs and GetVirtualGatewaySpecListenerTlValidationOutput values. -// You can construct a concrete instance of `GetVirtualGatewaySpecListenerTlValidationInput` via: +// GetVirtualNodeSpecLoggingInput is an input type that accepts GetVirtualNodeSpecLoggingArgs and GetVirtualNodeSpecLoggingOutput values. +// You can construct a concrete instance of `GetVirtualNodeSpecLoggingInput` via: // -// GetVirtualGatewaySpecListenerTlValidationArgs{...} -type GetVirtualGatewaySpecListenerTlValidationInput interface { +// GetVirtualNodeSpecLoggingArgs{...} +type GetVirtualNodeSpecLoggingInput interface { pulumi.Input - ToGetVirtualGatewaySpecListenerTlValidationOutput() GetVirtualGatewaySpecListenerTlValidationOutput - ToGetVirtualGatewaySpecListenerTlValidationOutputWithContext(context.Context) GetVirtualGatewaySpecListenerTlValidationOutput + ToGetVirtualNodeSpecLoggingOutput() GetVirtualNodeSpecLoggingOutput + ToGetVirtualNodeSpecLoggingOutputWithContext(context.Context) GetVirtualNodeSpecLoggingOutput } -type GetVirtualGatewaySpecListenerTlValidationArgs struct { - // SANs for a virtual gateway's listener's Transport Layer Security (TLS) validation context. - SubjectAlternativeNames GetVirtualGatewaySpecListenerTlValidationSubjectAlternativeNameArrayInput `pulumi:"subjectAlternativeNames"` - // TLS validation context trust. - Trusts GetVirtualGatewaySpecListenerTlValidationTrustArrayInput `pulumi:"trusts"` +type GetVirtualNodeSpecLoggingArgs struct { + AccessLogs GetVirtualNodeSpecLoggingAccessLogArrayInput `pulumi:"accessLogs"` } -func (GetVirtualGatewaySpecListenerTlValidationArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetVirtualGatewaySpecListenerTlValidation)(nil)).Elem() +func (GetVirtualNodeSpecLoggingArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetVirtualNodeSpecLogging)(nil)).Elem() } -func (i GetVirtualGatewaySpecListenerTlValidationArgs) ToGetVirtualGatewaySpecListenerTlValidationOutput() GetVirtualGatewaySpecListenerTlValidationOutput { - return i.ToGetVirtualGatewaySpecListenerTlValidationOutputWithContext(context.Background()) +func (i GetVirtualNodeSpecLoggingArgs) ToGetVirtualNodeSpecLoggingOutput() GetVirtualNodeSpecLoggingOutput { + return i.ToGetVirtualNodeSpecLoggingOutputWithContext(context.Background()) } -func (i GetVirtualGatewaySpecListenerTlValidationArgs) ToGetVirtualGatewaySpecListenerTlValidationOutputWithContext(ctx context.Context) GetVirtualGatewaySpecListenerTlValidationOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetVirtualGatewaySpecListenerTlValidationOutput) +func (i GetVirtualNodeSpecLoggingArgs) ToGetVirtualNodeSpecLoggingOutputWithContext(ctx context.Context) GetVirtualNodeSpecLoggingOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetVirtualNodeSpecLoggingOutput) } -// GetVirtualGatewaySpecListenerTlValidationArrayInput is an input type that accepts GetVirtualGatewaySpecListenerTlValidationArray and GetVirtualGatewaySpecListenerTlValidationArrayOutput values. -// You can construct a concrete instance of `GetVirtualGatewaySpecListenerTlValidationArrayInput` via: +// GetVirtualNodeSpecLoggingArrayInput is an input type that accepts GetVirtualNodeSpecLoggingArray and GetVirtualNodeSpecLoggingArrayOutput values. +// You can construct a concrete instance of `GetVirtualNodeSpecLoggingArrayInput` via: // -// GetVirtualGatewaySpecListenerTlValidationArray{ GetVirtualGatewaySpecListenerTlValidationArgs{...} } -type GetVirtualGatewaySpecListenerTlValidationArrayInput interface { +// GetVirtualNodeSpecLoggingArray{ GetVirtualNodeSpecLoggingArgs{...} } +type GetVirtualNodeSpecLoggingArrayInput interface { pulumi.Input - ToGetVirtualGatewaySpecListenerTlValidationArrayOutput() GetVirtualGatewaySpecListenerTlValidationArrayOutput - ToGetVirtualGatewaySpecListenerTlValidationArrayOutputWithContext(context.Context) GetVirtualGatewaySpecListenerTlValidationArrayOutput + ToGetVirtualNodeSpecLoggingArrayOutput() GetVirtualNodeSpecLoggingArrayOutput + ToGetVirtualNodeSpecLoggingArrayOutputWithContext(context.Context) GetVirtualNodeSpecLoggingArrayOutput } -type GetVirtualGatewaySpecListenerTlValidationArray []GetVirtualGatewaySpecListenerTlValidationInput +type GetVirtualNodeSpecLoggingArray []GetVirtualNodeSpecLoggingInput -func (GetVirtualGatewaySpecListenerTlValidationArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetVirtualGatewaySpecListenerTlValidation)(nil)).Elem() +func (GetVirtualNodeSpecLoggingArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetVirtualNodeSpecLogging)(nil)).Elem() } -func (i GetVirtualGatewaySpecListenerTlValidationArray) ToGetVirtualGatewaySpecListenerTlValidationArrayOutput() GetVirtualGatewaySpecListenerTlValidationArrayOutput { - return i.ToGetVirtualGatewaySpecListenerTlValidationArrayOutputWithContext(context.Background()) +func (i GetVirtualNodeSpecLoggingArray) ToGetVirtualNodeSpecLoggingArrayOutput() GetVirtualNodeSpecLoggingArrayOutput { + return i.ToGetVirtualNodeSpecLoggingArrayOutputWithContext(context.Background()) } -func (i GetVirtualGatewaySpecListenerTlValidationArray) ToGetVirtualGatewaySpecListenerTlValidationArrayOutputWithContext(ctx context.Context) GetVirtualGatewaySpecListenerTlValidationArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetVirtualGatewaySpecListenerTlValidationArrayOutput) +func (i GetVirtualNodeSpecLoggingArray) ToGetVirtualNodeSpecLoggingArrayOutputWithContext(ctx context.Context) GetVirtualNodeSpecLoggingArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetVirtualNodeSpecLoggingArrayOutput) } -type GetVirtualGatewaySpecListenerTlValidationOutput struct{ *pulumi.OutputState } +type GetVirtualNodeSpecLoggingOutput struct{ *pulumi.OutputState } -func (GetVirtualGatewaySpecListenerTlValidationOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetVirtualGatewaySpecListenerTlValidation)(nil)).Elem() +func (GetVirtualNodeSpecLoggingOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetVirtualNodeSpecLogging)(nil)).Elem() } -func (o GetVirtualGatewaySpecListenerTlValidationOutput) ToGetVirtualGatewaySpecListenerTlValidationOutput() GetVirtualGatewaySpecListenerTlValidationOutput { +func (o GetVirtualNodeSpecLoggingOutput) ToGetVirtualNodeSpecLoggingOutput() GetVirtualNodeSpecLoggingOutput { return o } -func (o GetVirtualGatewaySpecListenerTlValidationOutput) ToGetVirtualGatewaySpecListenerTlValidationOutputWithContext(ctx context.Context) GetVirtualGatewaySpecListenerTlValidationOutput { +func (o GetVirtualNodeSpecLoggingOutput) ToGetVirtualNodeSpecLoggingOutputWithContext(ctx context.Context) GetVirtualNodeSpecLoggingOutput { return o } -// SANs for a virtual gateway's listener's Transport Layer Security (TLS) validation context. -func (o GetVirtualGatewaySpecListenerTlValidationOutput) SubjectAlternativeNames() GetVirtualGatewaySpecListenerTlValidationSubjectAlternativeNameArrayOutput { - return o.ApplyT(func(v GetVirtualGatewaySpecListenerTlValidation) []GetVirtualGatewaySpecListenerTlValidationSubjectAlternativeName { - return v.SubjectAlternativeNames - }).(GetVirtualGatewaySpecListenerTlValidationSubjectAlternativeNameArrayOutput) -} - -// TLS validation context trust. -func (o GetVirtualGatewaySpecListenerTlValidationOutput) Trusts() GetVirtualGatewaySpecListenerTlValidationTrustArrayOutput { - return o.ApplyT(func(v GetVirtualGatewaySpecListenerTlValidation) []GetVirtualGatewaySpecListenerTlValidationTrust { - return v.Trusts - }).(GetVirtualGatewaySpecListenerTlValidationTrustArrayOutput) +func (o GetVirtualNodeSpecLoggingOutput) AccessLogs() GetVirtualNodeSpecLoggingAccessLogArrayOutput { + return o.ApplyT(func(v GetVirtualNodeSpecLogging) []GetVirtualNodeSpecLoggingAccessLog { return v.AccessLogs }).(GetVirtualNodeSpecLoggingAccessLogArrayOutput) } -type GetVirtualGatewaySpecListenerTlValidationArrayOutput struct{ *pulumi.OutputState } +type GetVirtualNodeSpecLoggingArrayOutput struct{ *pulumi.OutputState } -func (GetVirtualGatewaySpecListenerTlValidationArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetVirtualGatewaySpecListenerTlValidation)(nil)).Elem() +func (GetVirtualNodeSpecLoggingArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetVirtualNodeSpecLogging)(nil)).Elem() } -func (o GetVirtualGatewaySpecListenerTlValidationArrayOutput) ToGetVirtualGatewaySpecListenerTlValidationArrayOutput() GetVirtualGatewaySpecListenerTlValidationArrayOutput { +func (o GetVirtualNodeSpecLoggingArrayOutput) ToGetVirtualNodeSpecLoggingArrayOutput() GetVirtualNodeSpecLoggingArrayOutput { return o } -func (o GetVirtualGatewaySpecListenerTlValidationArrayOutput) ToGetVirtualGatewaySpecListenerTlValidationArrayOutputWithContext(ctx context.Context) GetVirtualGatewaySpecListenerTlValidationArrayOutput { +func (o GetVirtualNodeSpecLoggingArrayOutput) ToGetVirtualNodeSpecLoggingArrayOutputWithContext(ctx context.Context) GetVirtualNodeSpecLoggingArrayOutput { return o } -func (o GetVirtualGatewaySpecListenerTlValidationArrayOutput) Index(i pulumi.IntInput) GetVirtualGatewaySpecListenerTlValidationOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetVirtualGatewaySpecListenerTlValidation { - return vs[0].([]GetVirtualGatewaySpecListenerTlValidation)[vs[1].(int)] - }).(GetVirtualGatewaySpecListenerTlValidationOutput) +func (o GetVirtualNodeSpecLoggingArrayOutput) Index(i pulumi.IntInput) GetVirtualNodeSpecLoggingOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetVirtualNodeSpecLogging { + return vs[0].([]GetVirtualNodeSpecLogging)[vs[1].(int)] + }).(GetVirtualNodeSpecLoggingOutput) } -type GetVirtualGatewaySpecListenerTlValidationSubjectAlternativeName struct { - // Criteria for determining a SAN's match. - Matches []GetVirtualGatewaySpecListenerTlValidationSubjectAlternativeNameMatch `pulumi:"matches"` +type GetVirtualNodeSpecLoggingAccessLog struct { + Files []GetVirtualNodeSpecLoggingAccessLogFile `pulumi:"files"` } -// GetVirtualGatewaySpecListenerTlValidationSubjectAlternativeNameInput is an input type that accepts GetVirtualGatewaySpecListenerTlValidationSubjectAlternativeNameArgs and GetVirtualGatewaySpecListenerTlValidationSubjectAlternativeNameOutput values. -// You can construct a concrete instance of `GetVirtualGatewaySpecListenerTlValidationSubjectAlternativeNameInput` via: +// GetVirtualNodeSpecLoggingAccessLogInput is an input type that accepts GetVirtualNodeSpecLoggingAccessLogArgs and GetVirtualNodeSpecLoggingAccessLogOutput values. +// You can construct a concrete instance of `GetVirtualNodeSpecLoggingAccessLogInput` via: // -// GetVirtualGatewaySpecListenerTlValidationSubjectAlternativeNameArgs{...} -type GetVirtualGatewaySpecListenerTlValidationSubjectAlternativeNameInput interface { +// GetVirtualNodeSpecLoggingAccessLogArgs{...} +type GetVirtualNodeSpecLoggingAccessLogInput interface { pulumi.Input - ToGetVirtualGatewaySpecListenerTlValidationSubjectAlternativeNameOutput() GetVirtualGatewaySpecListenerTlValidationSubjectAlternativeNameOutput - ToGetVirtualGatewaySpecListenerTlValidationSubjectAlternativeNameOutputWithContext(context.Context) GetVirtualGatewaySpecListenerTlValidationSubjectAlternativeNameOutput + ToGetVirtualNodeSpecLoggingAccessLogOutput() GetVirtualNodeSpecLoggingAccessLogOutput + ToGetVirtualNodeSpecLoggingAccessLogOutputWithContext(context.Context) GetVirtualNodeSpecLoggingAccessLogOutput } -type GetVirtualGatewaySpecListenerTlValidationSubjectAlternativeNameArgs struct { - // Criteria for determining a SAN's match. - Matches GetVirtualGatewaySpecListenerTlValidationSubjectAlternativeNameMatchArrayInput `pulumi:"matches"` +type GetVirtualNodeSpecLoggingAccessLogArgs struct { + Files GetVirtualNodeSpecLoggingAccessLogFileArrayInput `pulumi:"files"` } -func (GetVirtualGatewaySpecListenerTlValidationSubjectAlternativeNameArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetVirtualGatewaySpecListenerTlValidationSubjectAlternativeName)(nil)).Elem() +func (GetVirtualNodeSpecLoggingAccessLogArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetVirtualNodeSpecLoggingAccessLog)(nil)).Elem() } -func (i GetVirtualGatewaySpecListenerTlValidationSubjectAlternativeNameArgs) ToGetVirtualGatewaySpecListenerTlValidationSubjectAlternativeNameOutput() GetVirtualGatewaySpecListenerTlValidationSubjectAlternativeNameOutput { - return i.ToGetVirtualGatewaySpecListenerTlValidationSubjectAlternativeNameOutputWithContext(context.Background()) +func (i GetVirtualNodeSpecLoggingAccessLogArgs) ToGetVirtualNodeSpecLoggingAccessLogOutput() GetVirtualNodeSpecLoggingAccessLogOutput { + return i.ToGetVirtualNodeSpecLoggingAccessLogOutputWithContext(context.Background()) } - -func (i GetVirtualGatewaySpecListenerTlValidationSubjectAlternativeNameArgs) ToGetVirtualGatewaySpecListenerTlValidationSubjectAlternativeNameOutputWithContext(ctx context.Context) GetVirtualGatewaySpecListenerTlValidationSubjectAlternativeNameOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetVirtualGatewaySpecListenerTlValidationSubjectAlternativeNameOutput) + +func (i GetVirtualNodeSpecLoggingAccessLogArgs) ToGetVirtualNodeSpecLoggingAccessLogOutputWithContext(ctx context.Context) GetVirtualNodeSpecLoggingAccessLogOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetVirtualNodeSpecLoggingAccessLogOutput) } -// GetVirtualGatewaySpecListenerTlValidationSubjectAlternativeNameArrayInput is an input type that accepts GetVirtualGatewaySpecListenerTlValidationSubjectAlternativeNameArray and GetVirtualGatewaySpecListenerTlValidationSubjectAlternativeNameArrayOutput values. -// You can construct a concrete instance of `GetVirtualGatewaySpecListenerTlValidationSubjectAlternativeNameArrayInput` via: +// GetVirtualNodeSpecLoggingAccessLogArrayInput is an input type that accepts GetVirtualNodeSpecLoggingAccessLogArray and GetVirtualNodeSpecLoggingAccessLogArrayOutput values. +// You can construct a concrete instance of `GetVirtualNodeSpecLoggingAccessLogArrayInput` via: // -// GetVirtualGatewaySpecListenerTlValidationSubjectAlternativeNameArray{ GetVirtualGatewaySpecListenerTlValidationSubjectAlternativeNameArgs{...} } -type GetVirtualGatewaySpecListenerTlValidationSubjectAlternativeNameArrayInput interface { +// GetVirtualNodeSpecLoggingAccessLogArray{ GetVirtualNodeSpecLoggingAccessLogArgs{...} } +type GetVirtualNodeSpecLoggingAccessLogArrayInput interface { pulumi.Input - ToGetVirtualGatewaySpecListenerTlValidationSubjectAlternativeNameArrayOutput() GetVirtualGatewaySpecListenerTlValidationSubjectAlternativeNameArrayOutput - ToGetVirtualGatewaySpecListenerTlValidationSubjectAlternativeNameArrayOutputWithContext(context.Context) GetVirtualGatewaySpecListenerTlValidationSubjectAlternativeNameArrayOutput + ToGetVirtualNodeSpecLoggingAccessLogArrayOutput() GetVirtualNodeSpecLoggingAccessLogArrayOutput + ToGetVirtualNodeSpecLoggingAccessLogArrayOutputWithContext(context.Context) GetVirtualNodeSpecLoggingAccessLogArrayOutput } -type GetVirtualGatewaySpecListenerTlValidationSubjectAlternativeNameArray []GetVirtualGatewaySpecListenerTlValidationSubjectAlternativeNameInput +type GetVirtualNodeSpecLoggingAccessLogArray []GetVirtualNodeSpecLoggingAccessLogInput -func (GetVirtualGatewaySpecListenerTlValidationSubjectAlternativeNameArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetVirtualGatewaySpecListenerTlValidationSubjectAlternativeName)(nil)).Elem() +func (GetVirtualNodeSpecLoggingAccessLogArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetVirtualNodeSpecLoggingAccessLog)(nil)).Elem() } -func (i GetVirtualGatewaySpecListenerTlValidationSubjectAlternativeNameArray) ToGetVirtualGatewaySpecListenerTlValidationSubjectAlternativeNameArrayOutput() GetVirtualGatewaySpecListenerTlValidationSubjectAlternativeNameArrayOutput { - return i.ToGetVirtualGatewaySpecListenerTlValidationSubjectAlternativeNameArrayOutputWithContext(context.Background()) +func (i GetVirtualNodeSpecLoggingAccessLogArray) ToGetVirtualNodeSpecLoggingAccessLogArrayOutput() GetVirtualNodeSpecLoggingAccessLogArrayOutput { + return i.ToGetVirtualNodeSpecLoggingAccessLogArrayOutputWithContext(context.Background()) } -func (i GetVirtualGatewaySpecListenerTlValidationSubjectAlternativeNameArray) ToGetVirtualGatewaySpecListenerTlValidationSubjectAlternativeNameArrayOutputWithContext(ctx context.Context) GetVirtualGatewaySpecListenerTlValidationSubjectAlternativeNameArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetVirtualGatewaySpecListenerTlValidationSubjectAlternativeNameArrayOutput) +func (i GetVirtualNodeSpecLoggingAccessLogArray) ToGetVirtualNodeSpecLoggingAccessLogArrayOutputWithContext(ctx context.Context) GetVirtualNodeSpecLoggingAccessLogArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetVirtualNodeSpecLoggingAccessLogArrayOutput) } -type GetVirtualGatewaySpecListenerTlValidationSubjectAlternativeNameOutput struct{ *pulumi.OutputState } +type GetVirtualNodeSpecLoggingAccessLogOutput struct{ *pulumi.OutputState } -func (GetVirtualGatewaySpecListenerTlValidationSubjectAlternativeNameOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetVirtualGatewaySpecListenerTlValidationSubjectAlternativeName)(nil)).Elem() +func (GetVirtualNodeSpecLoggingAccessLogOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetVirtualNodeSpecLoggingAccessLog)(nil)).Elem() } -func (o GetVirtualGatewaySpecListenerTlValidationSubjectAlternativeNameOutput) ToGetVirtualGatewaySpecListenerTlValidationSubjectAlternativeNameOutput() GetVirtualGatewaySpecListenerTlValidationSubjectAlternativeNameOutput { +func (o GetVirtualNodeSpecLoggingAccessLogOutput) ToGetVirtualNodeSpecLoggingAccessLogOutput() GetVirtualNodeSpecLoggingAccessLogOutput { return o } -func (o GetVirtualGatewaySpecListenerTlValidationSubjectAlternativeNameOutput) ToGetVirtualGatewaySpecListenerTlValidationSubjectAlternativeNameOutputWithContext(ctx context.Context) GetVirtualGatewaySpecListenerTlValidationSubjectAlternativeNameOutput { +func (o GetVirtualNodeSpecLoggingAccessLogOutput) ToGetVirtualNodeSpecLoggingAccessLogOutputWithContext(ctx context.Context) GetVirtualNodeSpecLoggingAccessLogOutput { return o } -// Criteria for determining a SAN's match. -func (o GetVirtualGatewaySpecListenerTlValidationSubjectAlternativeNameOutput) Matches() GetVirtualGatewaySpecListenerTlValidationSubjectAlternativeNameMatchArrayOutput { - return o.ApplyT(func(v GetVirtualGatewaySpecListenerTlValidationSubjectAlternativeName) []GetVirtualGatewaySpecListenerTlValidationSubjectAlternativeNameMatch { - return v.Matches - }).(GetVirtualGatewaySpecListenerTlValidationSubjectAlternativeNameMatchArrayOutput) +func (o GetVirtualNodeSpecLoggingAccessLogOutput) Files() GetVirtualNodeSpecLoggingAccessLogFileArrayOutput { + return o.ApplyT(func(v GetVirtualNodeSpecLoggingAccessLog) []GetVirtualNodeSpecLoggingAccessLogFile { return v.Files }).(GetVirtualNodeSpecLoggingAccessLogFileArrayOutput) } -type GetVirtualGatewaySpecListenerTlValidationSubjectAlternativeNameArrayOutput struct{ *pulumi.OutputState } +type GetVirtualNodeSpecLoggingAccessLogArrayOutput struct{ *pulumi.OutputState } -func (GetVirtualGatewaySpecListenerTlValidationSubjectAlternativeNameArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetVirtualGatewaySpecListenerTlValidationSubjectAlternativeName)(nil)).Elem() +func (GetVirtualNodeSpecLoggingAccessLogArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetVirtualNodeSpecLoggingAccessLog)(nil)).Elem() } -func (o GetVirtualGatewaySpecListenerTlValidationSubjectAlternativeNameArrayOutput) ToGetVirtualGatewaySpecListenerTlValidationSubjectAlternativeNameArrayOutput() GetVirtualGatewaySpecListenerTlValidationSubjectAlternativeNameArrayOutput { +func (o GetVirtualNodeSpecLoggingAccessLogArrayOutput) ToGetVirtualNodeSpecLoggingAccessLogArrayOutput() GetVirtualNodeSpecLoggingAccessLogArrayOutput { return o } -func (o GetVirtualGatewaySpecListenerTlValidationSubjectAlternativeNameArrayOutput) ToGetVirtualGatewaySpecListenerTlValidationSubjectAlternativeNameArrayOutputWithContext(ctx context.Context) GetVirtualGatewaySpecListenerTlValidationSubjectAlternativeNameArrayOutput { +func (o GetVirtualNodeSpecLoggingAccessLogArrayOutput) ToGetVirtualNodeSpecLoggingAccessLogArrayOutputWithContext(ctx context.Context) GetVirtualNodeSpecLoggingAccessLogArrayOutput { return o } -func (o GetVirtualGatewaySpecListenerTlValidationSubjectAlternativeNameArrayOutput) Index(i pulumi.IntInput) GetVirtualGatewaySpecListenerTlValidationSubjectAlternativeNameOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetVirtualGatewaySpecListenerTlValidationSubjectAlternativeName { - return vs[0].([]GetVirtualGatewaySpecListenerTlValidationSubjectAlternativeName)[vs[1].(int)] - }).(GetVirtualGatewaySpecListenerTlValidationSubjectAlternativeNameOutput) +func (o GetVirtualNodeSpecLoggingAccessLogArrayOutput) Index(i pulumi.IntInput) GetVirtualNodeSpecLoggingAccessLogOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetVirtualNodeSpecLoggingAccessLog { + return vs[0].([]GetVirtualNodeSpecLoggingAccessLog)[vs[1].(int)] + }).(GetVirtualNodeSpecLoggingAccessLogOutput) } -type GetVirtualGatewaySpecListenerTlValidationSubjectAlternativeNameMatch struct { - // Values sent must match the specified values exactly. - Exacts []string `pulumi:"exacts"` +type GetVirtualNodeSpecLoggingAccessLogFile struct { + Formats []GetVirtualNodeSpecLoggingAccessLogFileFormat `pulumi:"formats"` + Path string `pulumi:"path"` } -// GetVirtualGatewaySpecListenerTlValidationSubjectAlternativeNameMatchInput is an input type that accepts GetVirtualGatewaySpecListenerTlValidationSubjectAlternativeNameMatchArgs and GetVirtualGatewaySpecListenerTlValidationSubjectAlternativeNameMatchOutput values. -// You can construct a concrete instance of `GetVirtualGatewaySpecListenerTlValidationSubjectAlternativeNameMatchInput` via: +// GetVirtualNodeSpecLoggingAccessLogFileInput is an input type that accepts GetVirtualNodeSpecLoggingAccessLogFileArgs and GetVirtualNodeSpecLoggingAccessLogFileOutput values. +// You can construct a concrete instance of `GetVirtualNodeSpecLoggingAccessLogFileInput` via: // -// GetVirtualGatewaySpecListenerTlValidationSubjectAlternativeNameMatchArgs{...} -type GetVirtualGatewaySpecListenerTlValidationSubjectAlternativeNameMatchInput interface { +// GetVirtualNodeSpecLoggingAccessLogFileArgs{...} +type GetVirtualNodeSpecLoggingAccessLogFileInput interface { pulumi.Input - ToGetVirtualGatewaySpecListenerTlValidationSubjectAlternativeNameMatchOutput() GetVirtualGatewaySpecListenerTlValidationSubjectAlternativeNameMatchOutput - ToGetVirtualGatewaySpecListenerTlValidationSubjectAlternativeNameMatchOutputWithContext(context.Context) GetVirtualGatewaySpecListenerTlValidationSubjectAlternativeNameMatchOutput + ToGetVirtualNodeSpecLoggingAccessLogFileOutput() GetVirtualNodeSpecLoggingAccessLogFileOutput + ToGetVirtualNodeSpecLoggingAccessLogFileOutputWithContext(context.Context) GetVirtualNodeSpecLoggingAccessLogFileOutput } -type GetVirtualGatewaySpecListenerTlValidationSubjectAlternativeNameMatchArgs struct { - // Values sent must match the specified values exactly. - Exacts pulumi.StringArrayInput `pulumi:"exacts"` +type GetVirtualNodeSpecLoggingAccessLogFileArgs struct { + Formats GetVirtualNodeSpecLoggingAccessLogFileFormatArrayInput `pulumi:"formats"` + Path pulumi.StringInput `pulumi:"path"` } -func (GetVirtualGatewaySpecListenerTlValidationSubjectAlternativeNameMatchArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetVirtualGatewaySpecListenerTlValidationSubjectAlternativeNameMatch)(nil)).Elem() +func (GetVirtualNodeSpecLoggingAccessLogFileArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetVirtualNodeSpecLoggingAccessLogFile)(nil)).Elem() } -func (i GetVirtualGatewaySpecListenerTlValidationSubjectAlternativeNameMatchArgs) ToGetVirtualGatewaySpecListenerTlValidationSubjectAlternativeNameMatchOutput() GetVirtualGatewaySpecListenerTlValidationSubjectAlternativeNameMatchOutput { - return i.ToGetVirtualGatewaySpecListenerTlValidationSubjectAlternativeNameMatchOutputWithContext(context.Background()) +func (i GetVirtualNodeSpecLoggingAccessLogFileArgs) ToGetVirtualNodeSpecLoggingAccessLogFileOutput() GetVirtualNodeSpecLoggingAccessLogFileOutput { + return i.ToGetVirtualNodeSpecLoggingAccessLogFileOutputWithContext(context.Background()) } -func (i GetVirtualGatewaySpecListenerTlValidationSubjectAlternativeNameMatchArgs) ToGetVirtualGatewaySpecListenerTlValidationSubjectAlternativeNameMatchOutputWithContext(ctx context.Context) GetVirtualGatewaySpecListenerTlValidationSubjectAlternativeNameMatchOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetVirtualGatewaySpecListenerTlValidationSubjectAlternativeNameMatchOutput) +func (i GetVirtualNodeSpecLoggingAccessLogFileArgs) ToGetVirtualNodeSpecLoggingAccessLogFileOutputWithContext(ctx context.Context) GetVirtualNodeSpecLoggingAccessLogFileOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetVirtualNodeSpecLoggingAccessLogFileOutput) } -// GetVirtualGatewaySpecListenerTlValidationSubjectAlternativeNameMatchArrayInput is an input type that accepts GetVirtualGatewaySpecListenerTlValidationSubjectAlternativeNameMatchArray and GetVirtualGatewaySpecListenerTlValidationSubjectAlternativeNameMatchArrayOutput values. -// You can construct a concrete instance of `GetVirtualGatewaySpecListenerTlValidationSubjectAlternativeNameMatchArrayInput` via: +// GetVirtualNodeSpecLoggingAccessLogFileArrayInput is an input type that accepts GetVirtualNodeSpecLoggingAccessLogFileArray and GetVirtualNodeSpecLoggingAccessLogFileArrayOutput values. +// You can construct a concrete instance of `GetVirtualNodeSpecLoggingAccessLogFileArrayInput` via: // -// GetVirtualGatewaySpecListenerTlValidationSubjectAlternativeNameMatchArray{ GetVirtualGatewaySpecListenerTlValidationSubjectAlternativeNameMatchArgs{...} } -type GetVirtualGatewaySpecListenerTlValidationSubjectAlternativeNameMatchArrayInput interface { +// GetVirtualNodeSpecLoggingAccessLogFileArray{ GetVirtualNodeSpecLoggingAccessLogFileArgs{...} } +type GetVirtualNodeSpecLoggingAccessLogFileArrayInput interface { pulumi.Input - ToGetVirtualGatewaySpecListenerTlValidationSubjectAlternativeNameMatchArrayOutput() GetVirtualGatewaySpecListenerTlValidationSubjectAlternativeNameMatchArrayOutput - ToGetVirtualGatewaySpecListenerTlValidationSubjectAlternativeNameMatchArrayOutputWithContext(context.Context) GetVirtualGatewaySpecListenerTlValidationSubjectAlternativeNameMatchArrayOutput + ToGetVirtualNodeSpecLoggingAccessLogFileArrayOutput() GetVirtualNodeSpecLoggingAccessLogFileArrayOutput + ToGetVirtualNodeSpecLoggingAccessLogFileArrayOutputWithContext(context.Context) GetVirtualNodeSpecLoggingAccessLogFileArrayOutput } -type GetVirtualGatewaySpecListenerTlValidationSubjectAlternativeNameMatchArray []GetVirtualGatewaySpecListenerTlValidationSubjectAlternativeNameMatchInput +type GetVirtualNodeSpecLoggingAccessLogFileArray []GetVirtualNodeSpecLoggingAccessLogFileInput -func (GetVirtualGatewaySpecListenerTlValidationSubjectAlternativeNameMatchArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetVirtualGatewaySpecListenerTlValidationSubjectAlternativeNameMatch)(nil)).Elem() +func (GetVirtualNodeSpecLoggingAccessLogFileArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetVirtualNodeSpecLoggingAccessLogFile)(nil)).Elem() } -func (i GetVirtualGatewaySpecListenerTlValidationSubjectAlternativeNameMatchArray) ToGetVirtualGatewaySpecListenerTlValidationSubjectAlternativeNameMatchArrayOutput() GetVirtualGatewaySpecListenerTlValidationSubjectAlternativeNameMatchArrayOutput { - return i.ToGetVirtualGatewaySpecListenerTlValidationSubjectAlternativeNameMatchArrayOutputWithContext(context.Background()) +func (i GetVirtualNodeSpecLoggingAccessLogFileArray) ToGetVirtualNodeSpecLoggingAccessLogFileArrayOutput() GetVirtualNodeSpecLoggingAccessLogFileArrayOutput { + return i.ToGetVirtualNodeSpecLoggingAccessLogFileArrayOutputWithContext(context.Background()) } -func (i GetVirtualGatewaySpecListenerTlValidationSubjectAlternativeNameMatchArray) ToGetVirtualGatewaySpecListenerTlValidationSubjectAlternativeNameMatchArrayOutputWithContext(ctx context.Context) GetVirtualGatewaySpecListenerTlValidationSubjectAlternativeNameMatchArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetVirtualGatewaySpecListenerTlValidationSubjectAlternativeNameMatchArrayOutput) +func (i GetVirtualNodeSpecLoggingAccessLogFileArray) ToGetVirtualNodeSpecLoggingAccessLogFileArrayOutputWithContext(ctx context.Context) GetVirtualNodeSpecLoggingAccessLogFileArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetVirtualNodeSpecLoggingAccessLogFileArrayOutput) } -type GetVirtualGatewaySpecListenerTlValidationSubjectAlternativeNameMatchOutput struct{ *pulumi.OutputState } +type GetVirtualNodeSpecLoggingAccessLogFileOutput struct{ *pulumi.OutputState } -func (GetVirtualGatewaySpecListenerTlValidationSubjectAlternativeNameMatchOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetVirtualGatewaySpecListenerTlValidationSubjectAlternativeNameMatch)(nil)).Elem() +func (GetVirtualNodeSpecLoggingAccessLogFileOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetVirtualNodeSpecLoggingAccessLogFile)(nil)).Elem() } -func (o GetVirtualGatewaySpecListenerTlValidationSubjectAlternativeNameMatchOutput) ToGetVirtualGatewaySpecListenerTlValidationSubjectAlternativeNameMatchOutput() GetVirtualGatewaySpecListenerTlValidationSubjectAlternativeNameMatchOutput { +func (o GetVirtualNodeSpecLoggingAccessLogFileOutput) ToGetVirtualNodeSpecLoggingAccessLogFileOutput() GetVirtualNodeSpecLoggingAccessLogFileOutput { return o } -func (o GetVirtualGatewaySpecListenerTlValidationSubjectAlternativeNameMatchOutput) ToGetVirtualGatewaySpecListenerTlValidationSubjectAlternativeNameMatchOutputWithContext(ctx context.Context) GetVirtualGatewaySpecListenerTlValidationSubjectAlternativeNameMatchOutput { +func (o GetVirtualNodeSpecLoggingAccessLogFileOutput) ToGetVirtualNodeSpecLoggingAccessLogFileOutputWithContext(ctx context.Context) GetVirtualNodeSpecLoggingAccessLogFileOutput { return o } -// Values sent must match the specified values exactly. -func (o GetVirtualGatewaySpecListenerTlValidationSubjectAlternativeNameMatchOutput) Exacts() pulumi.StringArrayOutput { - return o.ApplyT(func(v GetVirtualGatewaySpecListenerTlValidationSubjectAlternativeNameMatch) []string { return v.Exacts }).(pulumi.StringArrayOutput) +func (o GetVirtualNodeSpecLoggingAccessLogFileOutput) Formats() GetVirtualNodeSpecLoggingAccessLogFileFormatArrayOutput { + return o.ApplyT(func(v GetVirtualNodeSpecLoggingAccessLogFile) []GetVirtualNodeSpecLoggingAccessLogFileFormat { + return v.Formats + }).(GetVirtualNodeSpecLoggingAccessLogFileFormatArrayOutput) } -type GetVirtualGatewaySpecListenerTlValidationSubjectAlternativeNameMatchArrayOutput struct{ *pulumi.OutputState } +func (o GetVirtualNodeSpecLoggingAccessLogFileOutput) Path() pulumi.StringOutput { + return o.ApplyT(func(v GetVirtualNodeSpecLoggingAccessLogFile) string { return v.Path }).(pulumi.StringOutput) +} -func (GetVirtualGatewaySpecListenerTlValidationSubjectAlternativeNameMatchArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetVirtualGatewaySpecListenerTlValidationSubjectAlternativeNameMatch)(nil)).Elem() +type GetVirtualNodeSpecLoggingAccessLogFileArrayOutput struct{ *pulumi.OutputState } + +func (GetVirtualNodeSpecLoggingAccessLogFileArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetVirtualNodeSpecLoggingAccessLogFile)(nil)).Elem() } -func (o GetVirtualGatewaySpecListenerTlValidationSubjectAlternativeNameMatchArrayOutput) ToGetVirtualGatewaySpecListenerTlValidationSubjectAlternativeNameMatchArrayOutput() GetVirtualGatewaySpecListenerTlValidationSubjectAlternativeNameMatchArrayOutput { +func (o GetVirtualNodeSpecLoggingAccessLogFileArrayOutput) ToGetVirtualNodeSpecLoggingAccessLogFileArrayOutput() GetVirtualNodeSpecLoggingAccessLogFileArrayOutput { return o } -func (o GetVirtualGatewaySpecListenerTlValidationSubjectAlternativeNameMatchArrayOutput) ToGetVirtualGatewaySpecListenerTlValidationSubjectAlternativeNameMatchArrayOutputWithContext(ctx context.Context) GetVirtualGatewaySpecListenerTlValidationSubjectAlternativeNameMatchArrayOutput { +func (o GetVirtualNodeSpecLoggingAccessLogFileArrayOutput) ToGetVirtualNodeSpecLoggingAccessLogFileArrayOutputWithContext(ctx context.Context) GetVirtualNodeSpecLoggingAccessLogFileArrayOutput { return o } -func (o GetVirtualGatewaySpecListenerTlValidationSubjectAlternativeNameMatchArrayOutput) Index(i pulumi.IntInput) GetVirtualGatewaySpecListenerTlValidationSubjectAlternativeNameMatchOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetVirtualGatewaySpecListenerTlValidationSubjectAlternativeNameMatch { - return vs[0].([]GetVirtualGatewaySpecListenerTlValidationSubjectAlternativeNameMatch)[vs[1].(int)] - }).(GetVirtualGatewaySpecListenerTlValidationSubjectAlternativeNameMatchOutput) +func (o GetVirtualNodeSpecLoggingAccessLogFileArrayOutput) Index(i pulumi.IntInput) GetVirtualNodeSpecLoggingAccessLogFileOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetVirtualNodeSpecLoggingAccessLogFile { + return vs[0].([]GetVirtualNodeSpecLoggingAccessLogFile)[vs[1].(int)] + }).(GetVirtualNodeSpecLoggingAccessLogFileOutput) } -type GetVirtualGatewaySpecListenerTlValidationTrust struct { - // TLS validation context trust for a local file certificate. - Files []GetVirtualGatewaySpecListenerTlValidationTrustFile `pulumi:"files"` - // TLS validation context trust for a [Secret Discovery Service](https://www.envoyproxy.io/docs/envoy/latest/configuration/security/secret#secret-discovery-service-sds) certificate. - Sds []GetVirtualGatewaySpecListenerTlValidationTrustSd `pulumi:"sds"` +type GetVirtualNodeSpecLoggingAccessLogFileFormat struct { + Jsons []GetVirtualNodeSpecLoggingAccessLogFileFormatJson `pulumi:"jsons"` + Text string `pulumi:"text"` } -// GetVirtualGatewaySpecListenerTlValidationTrustInput is an input type that accepts GetVirtualGatewaySpecListenerTlValidationTrustArgs and GetVirtualGatewaySpecListenerTlValidationTrustOutput values. -// You can construct a concrete instance of `GetVirtualGatewaySpecListenerTlValidationTrustInput` via: +// GetVirtualNodeSpecLoggingAccessLogFileFormatInput is an input type that accepts GetVirtualNodeSpecLoggingAccessLogFileFormatArgs and GetVirtualNodeSpecLoggingAccessLogFileFormatOutput values. +// You can construct a concrete instance of `GetVirtualNodeSpecLoggingAccessLogFileFormatInput` via: // -// GetVirtualGatewaySpecListenerTlValidationTrustArgs{...} -type GetVirtualGatewaySpecListenerTlValidationTrustInput interface { +// GetVirtualNodeSpecLoggingAccessLogFileFormatArgs{...} +type GetVirtualNodeSpecLoggingAccessLogFileFormatInput interface { pulumi.Input - ToGetVirtualGatewaySpecListenerTlValidationTrustOutput() GetVirtualGatewaySpecListenerTlValidationTrustOutput - ToGetVirtualGatewaySpecListenerTlValidationTrustOutputWithContext(context.Context) GetVirtualGatewaySpecListenerTlValidationTrustOutput + ToGetVirtualNodeSpecLoggingAccessLogFileFormatOutput() GetVirtualNodeSpecLoggingAccessLogFileFormatOutput + ToGetVirtualNodeSpecLoggingAccessLogFileFormatOutputWithContext(context.Context) GetVirtualNodeSpecLoggingAccessLogFileFormatOutput } -type GetVirtualGatewaySpecListenerTlValidationTrustArgs struct { - // TLS validation context trust for a local file certificate. - Files GetVirtualGatewaySpecListenerTlValidationTrustFileArrayInput `pulumi:"files"` - // TLS validation context trust for a [Secret Discovery Service](https://www.envoyproxy.io/docs/envoy/latest/configuration/security/secret#secret-discovery-service-sds) certificate. - Sds GetVirtualGatewaySpecListenerTlValidationTrustSdArrayInput `pulumi:"sds"` +type GetVirtualNodeSpecLoggingAccessLogFileFormatArgs struct { + Jsons GetVirtualNodeSpecLoggingAccessLogFileFormatJsonArrayInput `pulumi:"jsons"` + Text pulumi.StringInput `pulumi:"text"` } -func (GetVirtualGatewaySpecListenerTlValidationTrustArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetVirtualGatewaySpecListenerTlValidationTrust)(nil)).Elem() +func (GetVirtualNodeSpecLoggingAccessLogFileFormatArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetVirtualNodeSpecLoggingAccessLogFileFormat)(nil)).Elem() } -func (i GetVirtualGatewaySpecListenerTlValidationTrustArgs) ToGetVirtualGatewaySpecListenerTlValidationTrustOutput() GetVirtualGatewaySpecListenerTlValidationTrustOutput { - return i.ToGetVirtualGatewaySpecListenerTlValidationTrustOutputWithContext(context.Background()) +func (i GetVirtualNodeSpecLoggingAccessLogFileFormatArgs) ToGetVirtualNodeSpecLoggingAccessLogFileFormatOutput() GetVirtualNodeSpecLoggingAccessLogFileFormatOutput { + return i.ToGetVirtualNodeSpecLoggingAccessLogFileFormatOutputWithContext(context.Background()) } -func (i GetVirtualGatewaySpecListenerTlValidationTrustArgs) ToGetVirtualGatewaySpecListenerTlValidationTrustOutputWithContext(ctx context.Context) GetVirtualGatewaySpecListenerTlValidationTrustOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetVirtualGatewaySpecListenerTlValidationTrustOutput) +func (i GetVirtualNodeSpecLoggingAccessLogFileFormatArgs) ToGetVirtualNodeSpecLoggingAccessLogFileFormatOutputWithContext(ctx context.Context) GetVirtualNodeSpecLoggingAccessLogFileFormatOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetVirtualNodeSpecLoggingAccessLogFileFormatOutput) } -// GetVirtualGatewaySpecListenerTlValidationTrustArrayInput is an input type that accepts GetVirtualGatewaySpecListenerTlValidationTrustArray and GetVirtualGatewaySpecListenerTlValidationTrustArrayOutput values. -// You can construct a concrete instance of `GetVirtualGatewaySpecListenerTlValidationTrustArrayInput` via: +// GetVirtualNodeSpecLoggingAccessLogFileFormatArrayInput is an input type that accepts GetVirtualNodeSpecLoggingAccessLogFileFormatArray and GetVirtualNodeSpecLoggingAccessLogFileFormatArrayOutput values. +// You can construct a concrete instance of `GetVirtualNodeSpecLoggingAccessLogFileFormatArrayInput` via: // -// GetVirtualGatewaySpecListenerTlValidationTrustArray{ GetVirtualGatewaySpecListenerTlValidationTrustArgs{...} } -type GetVirtualGatewaySpecListenerTlValidationTrustArrayInput interface { +// GetVirtualNodeSpecLoggingAccessLogFileFormatArray{ GetVirtualNodeSpecLoggingAccessLogFileFormatArgs{...} } +type GetVirtualNodeSpecLoggingAccessLogFileFormatArrayInput interface { pulumi.Input - ToGetVirtualGatewaySpecListenerTlValidationTrustArrayOutput() GetVirtualGatewaySpecListenerTlValidationTrustArrayOutput - ToGetVirtualGatewaySpecListenerTlValidationTrustArrayOutputWithContext(context.Context) GetVirtualGatewaySpecListenerTlValidationTrustArrayOutput + ToGetVirtualNodeSpecLoggingAccessLogFileFormatArrayOutput() GetVirtualNodeSpecLoggingAccessLogFileFormatArrayOutput + ToGetVirtualNodeSpecLoggingAccessLogFileFormatArrayOutputWithContext(context.Context) GetVirtualNodeSpecLoggingAccessLogFileFormatArrayOutput } -type GetVirtualGatewaySpecListenerTlValidationTrustArray []GetVirtualGatewaySpecListenerTlValidationTrustInput +type GetVirtualNodeSpecLoggingAccessLogFileFormatArray []GetVirtualNodeSpecLoggingAccessLogFileFormatInput -func (GetVirtualGatewaySpecListenerTlValidationTrustArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetVirtualGatewaySpecListenerTlValidationTrust)(nil)).Elem() +func (GetVirtualNodeSpecLoggingAccessLogFileFormatArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetVirtualNodeSpecLoggingAccessLogFileFormat)(nil)).Elem() } -func (i GetVirtualGatewaySpecListenerTlValidationTrustArray) ToGetVirtualGatewaySpecListenerTlValidationTrustArrayOutput() GetVirtualGatewaySpecListenerTlValidationTrustArrayOutput { - return i.ToGetVirtualGatewaySpecListenerTlValidationTrustArrayOutputWithContext(context.Background()) +func (i GetVirtualNodeSpecLoggingAccessLogFileFormatArray) ToGetVirtualNodeSpecLoggingAccessLogFileFormatArrayOutput() GetVirtualNodeSpecLoggingAccessLogFileFormatArrayOutput { + return i.ToGetVirtualNodeSpecLoggingAccessLogFileFormatArrayOutputWithContext(context.Background()) } -func (i GetVirtualGatewaySpecListenerTlValidationTrustArray) ToGetVirtualGatewaySpecListenerTlValidationTrustArrayOutputWithContext(ctx context.Context) GetVirtualGatewaySpecListenerTlValidationTrustArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetVirtualGatewaySpecListenerTlValidationTrustArrayOutput) +func (i GetVirtualNodeSpecLoggingAccessLogFileFormatArray) ToGetVirtualNodeSpecLoggingAccessLogFileFormatArrayOutputWithContext(ctx context.Context) GetVirtualNodeSpecLoggingAccessLogFileFormatArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetVirtualNodeSpecLoggingAccessLogFileFormatArrayOutput) } -type GetVirtualGatewaySpecListenerTlValidationTrustOutput struct{ *pulumi.OutputState } +type GetVirtualNodeSpecLoggingAccessLogFileFormatOutput struct{ *pulumi.OutputState } -func (GetVirtualGatewaySpecListenerTlValidationTrustOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetVirtualGatewaySpecListenerTlValidationTrust)(nil)).Elem() +func (GetVirtualNodeSpecLoggingAccessLogFileFormatOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetVirtualNodeSpecLoggingAccessLogFileFormat)(nil)).Elem() } -func (o GetVirtualGatewaySpecListenerTlValidationTrustOutput) ToGetVirtualGatewaySpecListenerTlValidationTrustOutput() GetVirtualGatewaySpecListenerTlValidationTrustOutput { +func (o GetVirtualNodeSpecLoggingAccessLogFileFormatOutput) ToGetVirtualNodeSpecLoggingAccessLogFileFormatOutput() GetVirtualNodeSpecLoggingAccessLogFileFormatOutput { return o } -func (o GetVirtualGatewaySpecListenerTlValidationTrustOutput) ToGetVirtualGatewaySpecListenerTlValidationTrustOutputWithContext(ctx context.Context) GetVirtualGatewaySpecListenerTlValidationTrustOutput { +func (o GetVirtualNodeSpecLoggingAccessLogFileFormatOutput) ToGetVirtualNodeSpecLoggingAccessLogFileFormatOutputWithContext(ctx context.Context) GetVirtualNodeSpecLoggingAccessLogFileFormatOutput { return o } -// TLS validation context trust for a local file certificate. -func (o GetVirtualGatewaySpecListenerTlValidationTrustOutput) Files() GetVirtualGatewaySpecListenerTlValidationTrustFileArrayOutput { - return o.ApplyT(func(v GetVirtualGatewaySpecListenerTlValidationTrust) []GetVirtualGatewaySpecListenerTlValidationTrustFile { - return v.Files - }).(GetVirtualGatewaySpecListenerTlValidationTrustFileArrayOutput) +func (o GetVirtualNodeSpecLoggingAccessLogFileFormatOutput) Jsons() GetVirtualNodeSpecLoggingAccessLogFileFormatJsonArrayOutput { + return o.ApplyT(func(v GetVirtualNodeSpecLoggingAccessLogFileFormat) []GetVirtualNodeSpecLoggingAccessLogFileFormatJson { + return v.Jsons + }).(GetVirtualNodeSpecLoggingAccessLogFileFormatJsonArrayOutput) } -// TLS validation context trust for a [Secret Discovery Service](https://www.envoyproxy.io/docs/envoy/latest/configuration/security/secret#secret-discovery-service-sds) certificate. -func (o GetVirtualGatewaySpecListenerTlValidationTrustOutput) Sds() GetVirtualGatewaySpecListenerTlValidationTrustSdArrayOutput { - return o.ApplyT(func(v GetVirtualGatewaySpecListenerTlValidationTrust) []GetVirtualGatewaySpecListenerTlValidationTrustSd { - return v.Sds - }).(GetVirtualGatewaySpecListenerTlValidationTrustSdArrayOutput) +func (o GetVirtualNodeSpecLoggingAccessLogFileFormatOutput) Text() pulumi.StringOutput { + return o.ApplyT(func(v GetVirtualNodeSpecLoggingAccessLogFileFormat) string { return v.Text }).(pulumi.StringOutput) } -type GetVirtualGatewaySpecListenerTlValidationTrustArrayOutput struct{ *pulumi.OutputState } +type GetVirtualNodeSpecLoggingAccessLogFileFormatArrayOutput struct{ *pulumi.OutputState } -func (GetVirtualGatewaySpecListenerTlValidationTrustArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetVirtualGatewaySpecListenerTlValidationTrust)(nil)).Elem() +func (GetVirtualNodeSpecLoggingAccessLogFileFormatArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetVirtualNodeSpecLoggingAccessLogFileFormat)(nil)).Elem() } -func (o GetVirtualGatewaySpecListenerTlValidationTrustArrayOutput) ToGetVirtualGatewaySpecListenerTlValidationTrustArrayOutput() GetVirtualGatewaySpecListenerTlValidationTrustArrayOutput { +func (o GetVirtualNodeSpecLoggingAccessLogFileFormatArrayOutput) ToGetVirtualNodeSpecLoggingAccessLogFileFormatArrayOutput() GetVirtualNodeSpecLoggingAccessLogFileFormatArrayOutput { return o } -func (o GetVirtualGatewaySpecListenerTlValidationTrustArrayOutput) ToGetVirtualGatewaySpecListenerTlValidationTrustArrayOutputWithContext(ctx context.Context) GetVirtualGatewaySpecListenerTlValidationTrustArrayOutput { +func (o GetVirtualNodeSpecLoggingAccessLogFileFormatArrayOutput) ToGetVirtualNodeSpecLoggingAccessLogFileFormatArrayOutputWithContext(ctx context.Context) GetVirtualNodeSpecLoggingAccessLogFileFormatArrayOutput { return o } -func (o GetVirtualGatewaySpecListenerTlValidationTrustArrayOutput) Index(i pulumi.IntInput) GetVirtualGatewaySpecListenerTlValidationTrustOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetVirtualGatewaySpecListenerTlValidationTrust { - return vs[0].([]GetVirtualGatewaySpecListenerTlValidationTrust)[vs[1].(int)] - }).(GetVirtualGatewaySpecListenerTlValidationTrustOutput) +func (o GetVirtualNodeSpecLoggingAccessLogFileFormatArrayOutput) Index(i pulumi.IntInput) GetVirtualNodeSpecLoggingAccessLogFileFormatOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetVirtualNodeSpecLoggingAccessLogFileFormat { + return vs[0].([]GetVirtualNodeSpecLoggingAccessLogFileFormat)[vs[1].(int)] + }).(GetVirtualNodeSpecLoggingAccessLogFileFormatOutput) } -type GetVirtualGatewaySpecListenerTlValidationTrustFile struct { - // Certificate trust chain for a certificate stored on the file system of the mesh endpoint that the proxy is running on. Must be between 1 and 255 characters in length. - CertificateChain string `pulumi:"certificateChain"` +type GetVirtualNodeSpecLoggingAccessLogFileFormatJson struct { + Key string `pulumi:"key"` + Value string `pulumi:"value"` } -// GetVirtualGatewaySpecListenerTlValidationTrustFileInput is an input type that accepts GetVirtualGatewaySpecListenerTlValidationTrustFileArgs and GetVirtualGatewaySpecListenerTlValidationTrustFileOutput values. -// You can construct a concrete instance of `GetVirtualGatewaySpecListenerTlValidationTrustFileInput` via: +// GetVirtualNodeSpecLoggingAccessLogFileFormatJsonInput is an input type that accepts GetVirtualNodeSpecLoggingAccessLogFileFormatJsonArgs and GetVirtualNodeSpecLoggingAccessLogFileFormatJsonOutput values. +// You can construct a concrete instance of `GetVirtualNodeSpecLoggingAccessLogFileFormatJsonInput` via: // -// GetVirtualGatewaySpecListenerTlValidationTrustFileArgs{...} -type GetVirtualGatewaySpecListenerTlValidationTrustFileInput interface { +// GetVirtualNodeSpecLoggingAccessLogFileFormatJsonArgs{...} +type GetVirtualNodeSpecLoggingAccessLogFileFormatJsonInput interface { pulumi.Input - ToGetVirtualGatewaySpecListenerTlValidationTrustFileOutput() GetVirtualGatewaySpecListenerTlValidationTrustFileOutput - ToGetVirtualGatewaySpecListenerTlValidationTrustFileOutputWithContext(context.Context) GetVirtualGatewaySpecListenerTlValidationTrustFileOutput + ToGetVirtualNodeSpecLoggingAccessLogFileFormatJsonOutput() GetVirtualNodeSpecLoggingAccessLogFileFormatJsonOutput + ToGetVirtualNodeSpecLoggingAccessLogFileFormatJsonOutputWithContext(context.Context) GetVirtualNodeSpecLoggingAccessLogFileFormatJsonOutput } -type GetVirtualGatewaySpecListenerTlValidationTrustFileArgs struct { - // Certificate trust chain for a certificate stored on the file system of the mesh endpoint that the proxy is running on. Must be between 1 and 255 characters in length. - CertificateChain pulumi.StringInput `pulumi:"certificateChain"` +type GetVirtualNodeSpecLoggingAccessLogFileFormatJsonArgs struct { + Key pulumi.StringInput `pulumi:"key"` + Value pulumi.StringInput `pulumi:"value"` } -func (GetVirtualGatewaySpecListenerTlValidationTrustFileArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetVirtualGatewaySpecListenerTlValidationTrustFile)(nil)).Elem() +func (GetVirtualNodeSpecLoggingAccessLogFileFormatJsonArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetVirtualNodeSpecLoggingAccessLogFileFormatJson)(nil)).Elem() } -func (i GetVirtualGatewaySpecListenerTlValidationTrustFileArgs) ToGetVirtualGatewaySpecListenerTlValidationTrustFileOutput() GetVirtualGatewaySpecListenerTlValidationTrustFileOutput { - return i.ToGetVirtualGatewaySpecListenerTlValidationTrustFileOutputWithContext(context.Background()) +func (i GetVirtualNodeSpecLoggingAccessLogFileFormatJsonArgs) ToGetVirtualNodeSpecLoggingAccessLogFileFormatJsonOutput() GetVirtualNodeSpecLoggingAccessLogFileFormatJsonOutput { + return i.ToGetVirtualNodeSpecLoggingAccessLogFileFormatJsonOutputWithContext(context.Background()) } -func (i GetVirtualGatewaySpecListenerTlValidationTrustFileArgs) ToGetVirtualGatewaySpecListenerTlValidationTrustFileOutputWithContext(ctx context.Context) GetVirtualGatewaySpecListenerTlValidationTrustFileOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetVirtualGatewaySpecListenerTlValidationTrustFileOutput) +func (i GetVirtualNodeSpecLoggingAccessLogFileFormatJsonArgs) ToGetVirtualNodeSpecLoggingAccessLogFileFormatJsonOutputWithContext(ctx context.Context) GetVirtualNodeSpecLoggingAccessLogFileFormatJsonOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetVirtualNodeSpecLoggingAccessLogFileFormatJsonOutput) } -// GetVirtualGatewaySpecListenerTlValidationTrustFileArrayInput is an input type that accepts GetVirtualGatewaySpecListenerTlValidationTrustFileArray and GetVirtualGatewaySpecListenerTlValidationTrustFileArrayOutput values. -// You can construct a concrete instance of `GetVirtualGatewaySpecListenerTlValidationTrustFileArrayInput` via: +// GetVirtualNodeSpecLoggingAccessLogFileFormatJsonArrayInput is an input type that accepts GetVirtualNodeSpecLoggingAccessLogFileFormatJsonArray and GetVirtualNodeSpecLoggingAccessLogFileFormatJsonArrayOutput values. +// You can construct a concrete instance of `GetVirtualNodeSpecLoggingAccessLogFileFormatJsonArrayInput` via: // -// GetVirtualGatewaySpecListenerTlValidationTrustFileArray{ GetVirtualGatewaySpecListenerTlValidationTrustFileArgs{...} } -type GetVirtualGatewaySpecListenerTlValidationTrustFileArrayInput interface { +// GetVirtualNodeSpecLoggingAccessLogFileFormatJsonArray{ GetVirtualNodeSpecLoggingAccessLogFileFormatJsonArgs{...} } +type GetVirtualNodeSpecLoggingAccessLogFileFormatJsonArrayInput interface { pulumi.Input - ToGetVirtualGatewaySpecListenerTlValidationTrustFileArrayOutput() GetVirtualGatewaySpecListenerTlValidationTrustFileArrayOutput - ToGetVirtualGatewaySpecListenerTlValidationTrustFileArrayOutputWithContext(context.Context) GetVirtualGatewaySpecListenerTlValidationTrustFileArrayOutput + ToGetVirtualNodeSpecLoggingAccessLogFileFormatJsonArrayOutput() GetVirtualNodeSpecLoggingAccessLogFileFormatJsonArrayOutput + ToGetVirtualNodeSpecLoggingAccessLogFileFormatJsonArrayOutputWithContext(context.Context) GetVirtualNodeSpecLoggingAccessLogFileFormatJsonArrayOutput } -type GetVirtualGatewaySpecListenerTlValidationTrustFileArray []GetVirtualGatewaySpecListenerTlValidationTrustFileInput +type GetVirtualNodeSpecLoggingAccessLogFileFormatJsonArray []GetVirtualNodeSpecLoggingAccessLogFileFormatJsonInput -func (GetVirtualGatewaySpecListenerTlValidationTrustFileArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetVirtualGatewaySpecListenerTlValidationTrustFile)(nil)).Elem() +func (GetVirtualNodeSpecLoggingAccessLogFileFormatJsonArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetVirtualNodeSpecLoggingAccessLogFileFormatJson)(nil)).Elem() } -func (i GetVirtualGatewaySpecListenerTlValidationTrustFileArray) ToGetVirtualGatewaySpecListenerTlValidationTrustFileArrayOutput() GetVirtualGatewaySpecListenerTlValidationTrustFileArrayOutput { - return i.ToGetVirtualGatewaySpecListenerTlValidationTrustFileArrayOutputWithContext(context.Background()) +func (i GetVirtualNodeSpecLoggingAccessLogFileFormatJsonArray) ToGetVirtualNodeSpecLoggingAccessLogFileFormatJsonArrayOutput() GetVirtualNodeSpecLoggingAccessLogFileFormatJsonArrayOutput { + return i.ToGetVirtualNodeSpecLoggingAccessLogFileFormatJsonArrayOutputWithContext(context.Background()) } -func (i GetVirtualGatewaySpecListenerTlValidationTrustFileArray) ToGetVirtualGatewaySpecListenerTlValidationTrustFileArrayOutputWithContext(ctx context.Context) GetVirtualGatewaySpecListenerTlValidationTrustFileArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetVirtualGatewaySpecListenerTlValidationTrustFileArrayOutput) +func (i GetVirtualNodeSpecLoggingAccessLogFileFormatJsonArray) ToGetVirtualNodeSpecLoggingAccessLogFileFormatJsonArrayOutputWithContext(ctx context.Context) GetVirtualNodeSpecLoggingAccessLogFileFormatJsonArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetVirtualNodeSpecLoggingAccessLogFileFormatJsonArrayOutput) } -type GetVirtualGatewaySpecListenerTlValidationTrustFileOutput struct{ *pulumi.OutputState } +type GetVirtualNodeSpecLoggingAccessLogFileFormatJsonOutput struct{ *pulumi.OutputState } -func (GetVirtualGatewaySpecListenerTlValidationTrustFileOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetVirtualGatewaySpecListenerTlValidationTrustFile)(nil)).Elem() +func (GetVirtualNodeSpecLoggingAccessLogFileFormatJsonOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetVirtualNodeSpecLoggingAccessLogFileFormatJson)(nil)).Elem() } -func (o GetVirtualGatewaySpecListenerTlValidationTrustFileOutput) ToGetVirtualGatewaySpecListenerTlValidationTrustFileOutput() GetVirtualGatewaySpecListenerTlValidationTrustFileOutput { +func (o GetVirtualNodeSpecLoggingAccessLogFileFormatJsonOutput) ToGetVirtualNodeSpecLoggingAccessLogFileFormatJsonOutput() GetVirtualNodeSpecLoggingAccessLogFileFormatJsonOutput { return o } -func (o GetVirtualGatewaySpecListenerTlValidationTrustFileOutput) ToGetVirtualGatewaySpecListenerTlValidationTrustFileOutputWithContext(ctx context.Context) GetVirtualGatewaySpecListenerTlValidationTrustFileOutput { +func (o GetVirtualNodeSpecLoggingAccessLogFileFormatJsonOutput) ToGetVirtualNodeSpecLoggingAccessLogFileFormatJsonOutputWithContext(ctx context.Context) GetVirtualNodeSpecLoggingAccessLogFileFormatJsonOutput { return o } -// Certificate trust chain for a certificate stored on the file system of the mesh endpoint that the proxy is running on. Must be between 1 and 255 characters in length. -func (o GetVirtualGatewaySpecListenerTlValidationTrustFileOutput) CertificateChain() pulumi.StringOutput { - return o.ApplyT(func(v GetVirtualGatewaySpecListenerTlValidationTrustFile) string { return v.CertificateChain }).(pulumi.StringOutput) +func (o GetVirtualNodeSpecLoggingAccessLogFileFormatJsonOutput) Key() pulumi.StringOutput { + return o.ApplyT(func(v GetVirtualNodeSpecLoggingAccessLogFileFormatJson) string { return v.Key }).(pulumi.StringOutput) } -type GetVirtualGatewaySpecListenerTlValidationTrustFileArrayOutput struct{ *pulumi.OutputState } +func (o GetVirtualNodeSpecLoggingAccessLogFileFormatJsonOutput) Value() pulumi.StringOutput { + return o.ApplyT(func(v GetVirtualNodeSpecLoggingAccessLogFileFormatJson) string { return v.Value }).(pulumi.StringOutput) +} -func (GetVirtualGatewaySpecListenerTlValidationTrustFileArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetVirtualGatewaySpecListenerTlValidationTrustFile)(nil)).Elem() +type GetVirtualNodeSpecLoggingAccessLogFileFormatJsonArrayOutput struct{ *pulumi.OutputState } + +func (GetVirtualNodeSpecLoggingAccessLogFileFormatJsonArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetVirtualNodeSpecLoggingAccessLogFileFormatJson)(nil)).Elem() } -func (o GetVirtualGatewaySpecListenerTlValidationTrustFileArrayOutput) ToGetVirtualGatewaySpecListenerTlValidationTrustFileArrayOutput() GetVirtualGatewaySpecListenerTlValidationTrustFileArrayOutput { +func (o GetVirtualNodeSpecLoggingAccessLogFileFormatJsonArrayOutput) ToGetVirtualNodeSpecLoggingAccessLogFileFormatJsonArrayOutput() GetVirtualNodeSpecLoggingAccessLogFileFormatJsonArrayOutput { return o } -func (o GetVirtualGatewaySpecListenerTlValidationTrustFileArrayOutput) ToGetVirtualGatewaySpecListenerTlValidationTrustFileArrayOutputWithContext(ctx context.Context) GetVirtualGatewaySpecListenerTlValidationTrustFileArrayOutput { +func (o GetVirtualNodeSpecLoggingAccessLogFileFormatJsonArrayOutput) ToGetVirtualNodeSpecLoggingAccessLogFileFormatJsonArrayOutputWithContext(ctx context.Context) GetVirtualNodeSpecLoggingAccessLogFileFormatJsonArrayOutput { return o } -func (o GetVirtualGatewaySpecListenerTlValidationTrustFileArrayOutput) Index(i pulumi.IntInput) GetVirtualGatewaySpecListenerTlValidationTrustFileOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetVirtualGatewaySpecListenerTlValidationTrustFile { - return vs[0].([]GetVirtualGatewaySpecListenerTlValidationTrustFile)[vs[1].(int)] - }).(GetVirtualGatewaySpecListenerTlValidationTrustFileOutput) +func (o GetVirtualNodeSpecLoggingAccessLogFileFormatJsonArrayOutput) Index(i pulumi.IntInput) GetVirtualNodeSpecLoggingAccessLogFileFormatJsonOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetVirtualNodeSpecLoggingAccessLogFileFormatJson { + return vs[0].([]GetVirtualNodeSpecLoggingAccessLogFileFormatJson)[vs[1].(int)] + }).(GetVirtualNodeSpecLoggingAccessLogFileFormatJsonOutput) } -type GetVirtualGatewaySpecListenerTlValidationTrustSd struct { - // Name of the secret for a virtual gateway's Transport Layer Security (TLS) Secret Discovery Service validation context trust. - SecretName string `pulumi:"secretName"` +type GetVirtualNodeSpecServiceDiscovery struct { + AwsCloudMaps []GetVirtualNodeSpecServiceDiscoveryAwsCloudMap `pulumi:"awsCloudMaps"` + Dns []GetVirtualNodeSpecServiceDiscoveryDn `pulumi:"dns"` } -// GetVirtualGatewaySpecListenerTlValidationTrustSdInput is an input type that accepts GetVirtualGatewaySpecListenerTlValidationTrustSdArgs and GetVirtualGatewaySpecListenerTlValidationTrustSdOutput values. -// You can construct a concrete instance of `GetVirtualGatewaySpecListenerTlValidationTrustSdInput` via: +// GetVirtualNodeSpecServiceDiscoveryInput is an input type that accepts GetVirtualNodeSpecServiceDiscoveryArgs and GetVirtualNodeSpecServiceDiscoveryOutput values. +// You can construct a concrete instance of `GetVirtualNodeSpecServiceDiscoveryInput` via: // -// GetVirtualGatewaySpecListenerTlValidationTrustSdArgs{...} -type GetVirtualGatewaySpecListenerTlValidationTrustSdInput interface { +// GetVirtualNodeSpecServiceDiscoveryArgs{...} +type GetVirtualNodeSpecServiceDiscoveryInput interface { pulumi.Input - ToGetVirtualGatewaySpecListenerTlValidationTrustSdOutput() GetVirtualGatewaySpecListenerTlValidationTrustSdOutput - ToGetVirtualGatewaySpecListenerTlValidationTrustSdOutputWithContext(context.Context) GetVirtualGatewaySpecListenerTlValidationTrustSdOutput + ToGetVirtualNodeSpecServiceDiscoveryOutput() GetVirtualNodeSpecServiceDiscoveryOutput + ToGetVirtualNodeSpecServiceDiscoveryOutputWithContext(context.Context) GetVirtualNodeSpecServiceDiscoveryOutput } -type GetVirtualGatewaySpecListenerTlValidationTrustSdArgs struct { - // Name of the secret for a virtual gateway's Transport Layer Security (TLS) Secret Discovery Service validation context trust. - SecretName pulumi.StringInput `pulumi:"secretName"` +type GetVirtualNodeSpecServiceDiscoveryArgs struct { + AwsCloudMaps GetVirtualNodeSpecServiceDiscoveryAwsCloudMapArrayInput `pulumi:"awsCloudMaps"` + Dns GetVirtualNodeSpecServiceDiscoveryDnArrayInput `pulumi:"dns"` } -func (GetVirtualGatewaySpecListenerTlValidationTrustSdArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetVirtualGatewaySpecListenerTlValidationTrustSd)(nil)).Elem() +func (GetVirtualNodeSpecServiceDiscoveryArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetVirtualNodeSpecServiceDiscovery)(nil)).Elem() } -func (i GetVirtualGatewaySpecListenerTlValidationTrustSdArgs) ToGetVirtualGatewaySpecListenerTlValidationTrustSdOutput() GetVirtualGatewaySpecListenerTlValidationTrustSdOutput { - return i.ToGetVirtualGatewaySpecListenerTlValidationTrustSdOutputWithContext(context.Background()) +func (i GetVirtualNodeSpecServiceDiscoveryArgs) ToGetVirtualNodeSpecServiceDiscoveryOutput() GetVirtualNodeSpecServiceDiscoveryOutput { + return i.ToGetVirtualNodeSpecServiceDiscoveryOutputWithContext(context.Background()) } -func (i GetVirtualGatewaySpecListenerTlValidationTrustSdArgs) ToGetVirtualGatewaySpecListenerTlValidationTrustSdOutputWithContext(ctx context.Context) GetVirtualGatewaySpecListenerTlValidationTrustSdOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetVirtualGatewaySpecListenerTlValidationTrustSdOutput) +func (i GetVirtualNodeSpecServiceDiscoveryArgs) ToGetVirtualNodeSpecServiceDiscoveryOutputWithContext(ctx context.Context) GetVirtualNodeSpecServiceDiscoveryOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetVirtualNodeSpecServiceDiscoveryOutput) } -// GetVirtualGatewaySpecListenerTlValidationTrustSdArrayInput is an input type that accepts GetVirtualGatewaySpecListenerTlValidationTrustSdArray and GetVirtualGatewaySpecListenerTlValidationTrustSdArrayOutput values. -// You can construct a concrete instance of `GetVirtualGatewaySpecListenerTlValidationTrustSdArrayInput` via: +// GetVirtualNodeSpecServiceDiscoveryArrayInput is an input type that accepts GetVirtualNodeSpecServiceDiscoveryArray and GetVirtualNodeSpecServiceDiscoveryArrayOutput values. +// You can construct a concrete instance of `GetVirtualNodeSpecServiceDiscoveryArrayInput` via: // -// GetVirtualGatewaySpecListenerTlValidationTrustSdArray{ GetVirtualGatewaySpecListenerTlValidationTrustSdArgs{...} } -type GetVirtualGatewaySpecListenerTlValidationTrustSdArrayInput interface { +// GetVirtualNodeSpecServiceDiscoveryArray{ GetVirtualNodeSpecServiceDiscoveryArgs{...} } +type GetVirtualNodeSpecServiceDiscoveryArrayInput interface { pulumi.Input - ToGetVirtualGatewaySpecListenerTlValidationTrustSdArrayOutput() GetVirtualGatewaySpecListenerTlValidationTrustSdArrayOutput - ToGetVirtualGatewaySpecListenerTlValidationTrustSdArrayOutputWithContext(context.Context) GetVirtualGatewaySpecListenerTlValidationTrustSdArrayOutput + ToGetVirtualNodeSpecServiceDiscoveryArrayOutput() GetVirtualNodeSpecServiceDiscoveryArrayOutput + ToGetVirtualNodeSpecServiceDiscoveryArrayOutputWithContext(context.Context) GetVirtualNodeSpecServiceDiscoveryArrayOutput } -type GetVirtualGatewaySpecListenerTlValidationTrustSdArray []GetVirtualGatewaySpecListenerTlValidationTrustSdInput +type GetVirtualNodeSpecServiceDiscoveryArray []GetVirtualNodeSpecServiceDiscoveryInput -func (GetVirtualGatewaySpecListenerTlValidationTrustSdArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetVirtualGatewaySpecListenerTlValidationTrustSd)(nil)).Elem() +func (GetVirtualNodeSpecServiceDiscoveryArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetVirtualNodeSpecServiceDiscovery)(nil)).Elem() } -func (i GetVirtualGatewaySpecListenerTlValidationTrustSdArray) ToGetVirtualGatewaySpecListenerTlValidationTrustSdArrayOutput() GetVirtualGatewaySpecListenerTlValidationTrustSdArrayOutput { - return i.ToGetVirtualGatewaySpecListenerTlValidationTrustSdArrayOutputWithContext(context.Background()) +func (i GetVirtualNodeSpecServiceDiscoveryArray) ToGetVirtualNodeSpecServiceDiscoveryArrayOutput() GetVirtualNodeSpecServiceDiscoveryArrayOutput { + return i.ToGetVirtualNodeSpecServiceDiscoveryArrayOutputWithContext(context.Background()) } -func (i GetVirtualGatewaySpecListenerTlValidationTrustSdArray) ToGetVirtualGatewaySpecListenerTlValidationTrustSdArrayOutputWithContext(ctx context.Context) GetVirtualGatewaySpecListenerTlValidationTrustSdArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetVirtualGatewaySpecListenerTlValidationTrustSdArrayOutput) +func (i GetVirtualNodeSpecServiceDiscoveryArray) ToGetVirtualNodeSpecServiceDiscoveryArrayOutputWithContext(ctx context.Context) GetVirtualNodeSpecServiceDiscoveryArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetVirtualNodeSpecServiceDiscoveryArrayOutput) } -type GetVirtualGatewaySpecListenerTlValidationTrustSdOutput struct{ *pulumi.OutputState } +type GetVirtualNodeSpecServiceDiscoveryOutput struct{ *pulumi.OutputState } -func (GetVirtualGatewaySpecListenerTlValidationTrustSdOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetVirtualGatewaySpecListenerTlValidationTrustSd)(nil)).Elem() +func (GetVirtualNodeSpecServiceDiscoveryOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetVirtualNodeSpecServiceDiscovery)(nil)).Elem() } -func (o GetVirtualGatewaySpecListenerTlValidationTrustSdOutput) ToGetVirtualGatewaySpecListenerTlValidationTrustSdOutput() GetVirtualGatewaySpecListenerTlValidationTrustSdOutput { +func (o GetVirtualNodeSpecServiceDiscoveryOutput) ToGetVirtualNodeSpecServiceDiscoveryOutput() GetVirtualNodeSpecServiceDiscoveryOutput { return o } -func (o GetVirtualGatewaySpecListenerTlValidationTrustSdOutput) ToGetVirtualGatewaySpecListenerTlValidationTrustSdOutputWithContext(ctx context.Context) GetVirtualGatewaySpecListenerTlValidationTrustSdOutput { +func (o GetVirtualNodeSpecServiceDiscoveryOutput) ToGetVirtualNodeSpecServiceDiscoveryOutputWithContext(ctx context.Context) GetVirtualNodeSpecServiceDiscoveryOutput { return o } -// Name of the secret for a virtual gateway's Transport Layer Security (TLS) Secret Discovery Service validation context trust. -func (o GetVirtualGatewaySpecListenerTlValidationTrustSdOutput) SecretName() pulumi.StringOutput { - return o.ApplyT(func(v GetVirtualGatewaySpecListenerTlValidationTrustSd) string { return v.SecretName }).(pulumi.StringOutput) +func (o GetVirtualNodeSpecServiceDiscoveryOutput) AwsCloudMaps() GetVirtualNodeSpecServiceDiscoveryAwsCloudMapArrayOutput { + return o.ApplyT(func(v GetVirtualNodeSpecServiceDiscovery) []GetVirtualNodeSpecServiceDiscoveryAwsCloudMap { + return v.AwsCloudMaps + }).(GetVirtualNodeSpecServiceDiscoveryAwsCloudMapArrayOutput) } -type GetVirtualGatewaySpecListenerTlValidationTrustSdArrayOutput struct{ *pulumi.OutputState } +func (o GetVirtualNodeSpecServiceDiscoveryOutput) Dns() GetVirtualNodeSpecServiceDiscoveryDnArrayOutput { + return o.ApplyT(func(v GetVirtualNodeSpecServiceDiscovery) []GetVirtualNodeSpecServiceDiscoveryDn { return v.Dns }).(GetVirtualNodeSpecServiceDiscoveryDnArrayOutput) +} -func (GetVirtualGatewaySpecListenerTlValidationTrustSdArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetVirtualGatewaySpecListenerTlValidationTrustSd)(nil)).Elem() +type GetVirtualNodeSpecServiceDiscoveryArrayOutput struct{ *pulumi.OutputState } + +func (GetVirtualNodeSpecServiceDiscoveryArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetVirtualNodeSpecServiceDiscovery)(nil)).Elem() } -func (o GetVirtualGatewaySpecListenerTlValidationTrustSdArrayOutput) ToGetVirtualGatewaySpecListenerTlValidationTrustSdArrayOutput() GetVirtualGatewaySpecListenerTlValidationTrustSdArrayOutput { +func (o GetVirtualNodeSpecServiceDiscoveryArrayOutput) ToGetVirtualNodeSpecServiceDiscoveryArrayOutput() GetVirtualNodeSpecServiceDiscoveryArrayOutput { return o } -func (o GetVirtualGatewaySpecListenerTlValidationTrustSdArrayOutput) ToGetVirtualGatewaySpecListenerTlValidationTrustSdArrayOutputWithContext(ctx context.Context) GetVirtualGatewaySpecListenerTlValidationTrustSdArrayOutput { +func (o GetVirtualNodeSpecServiceDiscoveryArrayOutput) ToGetVirtualNodeSpecServiceDiscoveryArrayOutputWithContext(ctx context.Context) GetVirtualNodeSpecServiceDiscoveryArrayOutput { return o } -func (o GetVirtualGatewaySpecListenerTlValidationTrustSdArrayOutput) Index(i pulumi.IntInput) GetVirtualGatewaySpecListenerTlValidationTrustSdOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetVirtualGatewaySpecListenerTlValidationTrustSd { - return vs[0].([]GetVirtualGatewaySpecListenerTlValidationTrustSd)[vs[1].(int)] - }).(GetVirtualGatewaySpecListenerTlValidationTrustSdOutput) +func (o GetVirtualNodeSpecServiceDiscoveryArrayOutput) Index(i pulumi.IntInput) GetVirtualNodeSpecServiceDiscoveryOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetVirtualNodeSpecServiceDiscovery { + return vs[0].([]GetVirtualNodeSpecServiceDiscovery)[vs[1].(int)] + }).(GetVirtualNodeSpecServiceDiscoveryOutput) } -type GetVirtualGatewaySpecLogging struct { - // Access log configuration for a virtual gateway. - AccessLogs []GetVirtualGatewaySpecLoggingAccessLog `pulumi:"accessLogs"` +type GetVirtualNodeSpecServiceDiscoveryAwsCloudMap struct { + Attributes map[string]string `pulumi:"attributes"` + NamespaceName string `pulumi:"namespaceName"` + ServiceName string `pulumi:"serviceName"` } -// GetVirtualGatewaySpecLoggingInput is an input type that accepts GetVirtualGatewaySpecLoggingArgs and GetVirtualGatewaySpecLoggingOutput values. -// You can construct a concrete instance of `GetVirtualGatewaySpecLoggingInput` via: +// GetVirtualNodeSpecServiceDiscoveryAwsCloudMapInput is an input type that accepts GetVirtualNodeSpecServiceDiscoveryAwsCloudMap and GetVirtualNodeSpecServiceDiscoveryAwsCloudMapOutput values. +// You can construct a concrete instance of `GetVirtualNodeSpecServiceDiscoveryAwsCloudMapInput` via: // -// GetVirtualGatewaySpecLoggingArgs{...} -type GetVirtualGatewaySpecLoggingInput interface { +// GetVirtualNodeSpecServiceDiscoveryAwsCloudMap{ "key": GetVirtualNodeSpecServiceDiscoveryAwsCloudArgs{...} } +type GetVirtualNodeSpecServiceDiscoveryAwsCloudMapInput interface { pulumi.Input - ToGetVirtualGatewaySpecLoggingOutput() GetVirtualGatewaySpecLoggingOutput - ToGetVirtualGatewaySpecLoggingOutputWithContext(context.Context) GetVirtualGatewaySpecLoggingOutput + ToGetVirtualNodeSpecServiceDiscoveryAwsCloudMapOutput() GetVirtualNodeSpecServiceDiscoveryAwsCloudMapOutput + ToGetVirtualNodeSpecServiceDiscoveryAwsCloudMapOutputWithContext(context.Context) GetVirtualNodeSpecServiceDiscoveryAwsCloudMapOutput } -type GetVirtualGatewaySpecLoggingArgs struct { - // Access log configuration for a virtual gateway. - AccessLogs GetVirtualGatewaySpecLoggingAccessLogArrayInput `pulumi:"accessLogs"` +type GetVirtualNodeSpecServiceDiscoveryAwsCloudMapArgs struct { + Attributes pulumi.StringMapInput `pulumi:"attributes"` + NamespaceName pulumi.StringInput `pulumi:"namespaceName"` + ServiceName pulumi.StringInput `pulumi:"serviceName"` } -func (GetVirtualGatewaySpecLoggingArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetVirtualGatewaySpecLogging)(nil)).Elem() +func (GetVirtualNodeSpecServiceDiscoveryAwsCloudMapArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetVirtualNodeSpecServiceDiscoveryAwsCloudMap)(nil)).Elem() } -func (i GetVirtualGatewaySpecLoggingArgs) ToGetVirtualGatewaySpecLoggingOutput() GetVirtualGatewaySpecLoggingOutput { - return i.ToGetVirtualGatewaySpecLoggingOutputWithContext(context.Background()) +func (i GetVirtualNodeSpecServiceDiscoveryAwsCloudMapArgs) ToGetVirtualNodeSpecServiceDiscoveryAwsCloudMapOutput() GetVirtualNodeSpecServiceDiscoveryAwsCloudMapOutput { + return i.ToGetVirtualNodeSpecServiceDiscoveryAwsCloudMapOutputWithContext(context.Background()) } -func (i GetVirtualGatewaySpecLoggingArgs) ToGetVirtualGatewaySpecLoggingOutputWithContext(ctx context.Context) GetVirtualGatewaySpecLoggingOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetVirtualGatewaySpecLoggingOutput) +func (i GetVirtualNodeSpecServiceDiscoveryAwsCloudMapArgs) ToGetVirtualNodeSpecServiceDiscoveryAwsCloudMapOutputWithContext(ctx context.Context) GetVirtualNodeSpecServiceDiscoveryAwsCloudMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetVirtualNodeSpecServiceDiscoveryAwsCloudMapOutput) } -// GetVirtualGatewaySpecLoggingArrayInput is an input type that accepts GetVirtualGatewaySpecLoggingArray and GetVirtualGatewaySpecLoggingArrayOutput values. -// You can construct a concrete instance of `GetVirtualGatewaySpecLoggingArrayInput` via: +// GetVirtualNodeSpecServiceDiscoveryAwsCloudMapArrayInput is an input type that accepts GetVirtualNodeSpecServiceDiscoveryAwsCloudMapArray and GetVirtualNodeSpecServiceDiscoveryAwsCloudMapArrayOutput values. +// You can construct a concrete instance of `GetVirtualNodeSpecServiceDiscoveryAwsCloudMapArrayInput` via: // -// GetVirtualGatewaySpecLoggingArray{ GetVirtualGatewaySpecLoggingArgs{...} } -type GetVirtualGatewaySpecLoggingArrayInput interface { +// GetVirtualNodeSpecServiceDiscoveryAwsCloudMapArray{ GetVirtualNodeSpecServiceDiscoveryAwsCloudMapArgs{...} } +type GetVirtualNodeSpecServiceDiscoveryAwsCloudMapArrayInput interface { pulumi.Input - ToGetVirtualGatewaySpecLoggingArrayOutput() GetVirtualGatewaySpecLoggingArrayOutput - ToGetVirtualGatewaySpecLoggingArrayOutputWithContext(context.Context) GetVirtualGatewaySpecLoggingArrayOutput + ToGetVirtualNodeSpecServiceDiscoveryAwsCloudMapArrayOutput() GetVirtualNodeSpecServiceDiscoveryAwsCloudMapArrayOutput + ToGetVirtualNodeSpecServiceDiscoveryAwsCloudMapArrayOutputWithContext(context.Context) GetVirtualNodeSpecServiceDiscoveryAwsCloudMapArrayOutput } -type GetVirtualGatewaySpecLoggingArray []GetVirtualGatewaySpecLoggingInput +type GetVirtualNodeSpecServiceDiscoveryAwsCloudMapArray []GetVirtualNodeSpecServiceDiscoveryAwsCloudMapInput -func (GetVirtualGatewaySpecLoggingArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetVirtualGatewaySpecLogging)(nil)).Elem() +func (GetVirtualNodeSpecServiceDiscoveryAwsCloudMapArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetVirtualNodeSpecServiceDiscoveryAwsCloudMap)(nil)).Elem() } -func (i GetVirtualGatewaySpecLoggingArray) ToGetVirtualGatewaySpecLoggingArrayOutput() GetVirtualGatewaySpecLoggingArrayOutput { - return i.ToGetVirtualGatewaySpecLoggingArrayOutputWithContext(context.Background()) +func (i GetVirtualNodeSpecServiceDiscoveryAwsCloudMapArray) ToGetVirtualNodeSpecServiceDiscoveryAwsCloudMapArrayOutput() GetVirtualNodeSpecServiceDiscoveryAwsCloudMapArrayOutput { + return i.ToGetVirtualNodeSpecServiceDiscoveryAwsCloudMapArrayOutputWithContext(context.Background()) } -func (i GetVirtualGatewaySpecLoggingArray) ToGetVirtualGatewaySpecLoggingArrayOutputWithContext(ctx context.Context) GetVirtualGatewaySpecLoggingArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetVirtualGatewaySpecLoggingArrayOutput) +func (i GetVirtualNodeSpecServiceDiscoveryAwsCloudMapArray) ToGetVirtualNodeSpecServiceDiscoveryAwsCloudMapArrayOutputWithContext(ctx context.Context) GetVirtualNodeSpecServiceDiscoveryAwsCloudMapArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetVirtualNodeSpecServiceDiscoveryAwsCloudMapArrayOutput) } -type GetVirtualGatewaySpecLoggingOutput struct{ *pulumi.OutputState } +type GetVirtualNodeSpecServiceDiscoveryAwsCloudMapOutput struct{ *pulumi.OutputState } -func (GetVirtualGatewaySpecLoggingOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetVirtualGatewaySpecLogging)(nil)).Elem() +func (GetVirtualNodeSpecServiceDiscoveryAwsCloudMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetVirtualNodeSpecServiceDiscoveryAwsCloudMap)(nil)).Elem() } -func (o GetVirtualGatewaySpecLoggingOutput) ToGetVirtualGatewaySpecLoggingOutput() GetVirtualGatewaySpecLoggingOutput { +func (o GetVirtualNodeSpecServiceDiscoveryAwsCloudMapOutput) ToGetVirtualNodeSpecServiceDiscoveryAwsCloudMapOutput() GetVirtualNodeSpecServiceDiscoveryAwsCloudMapOutput { return o } -func (o GetVirtualGatewaySpecLoggingOutput) ToGetVirtualGatewaySpecLoggingOutputWithContext(ctx context.Context) GetVirtualGatewaySpecLoggingOutput { +func (o GetVirtualNodeSpecServiceDiscoveryAwsCloudMapOutput) ToGetVirtualNodeSpecServiceDiscoveryAwsCloudMapOutputWithContext(ctx context.Context) GetVirtualNodeSpecServiceDiscoveryAwsCloudMapOutput { return o } -// Access log configuration for a virtual gateway. -func (o GetVirtualGatewaySpecLoggingOutput) AccessLogs() GetVirtualGatewaySpecLoggingAccessLogArrayOutput { - return o.ApplyT(func(v GetVirtualGatewaySpecLogging) []GetVirtualGatewaySpecLoggingAccessLog { return v.AccessLogs }).(GetVirtualGatewaySpecLoggingAccessLogArrayOutput) +func (o GetVirtualNodeSpecServiceDiscoveryAwsCloudMapOutput) Attributes() pulumi.StringMapOutput { + return o.ApplyT(func(v GetVirtualNodeSpecServiceDiscoveryAwsCloudMap) map[string]string { return v.Attributes }).(pulumi.StringMapOutput) } -type GetVirtualGatewaySpecLoggingArrayOutput struct{ *pulumi.OutputState } +func (o GetVirtualNodeSpecServiceDiscoveryAwsCloudMapOutput) NamespaceName() pulumi.StringOutput { + return o.ApplyT(func(v GetVirtualNodeSpecServiceDiscoveryAwsCloudMap) string { return v.NamespaceName }).(pulumi.StringOutput) +} -func (GetVirtualGatewaySpecLoggingArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetVirtualGatewaySpecLogging)(nil)).Elem() +func (o GetVirtualNodeSpecServiceDiscoveryAwsCloudMapOutput) ServiceName() pulumi.StringOutput { + return o.ApplyT(func(v GetVirtualNodeSpecServiceDiscoveryAwsCloudMap) string { return v.ServiceName }).(pulumi.StringOutput) } -func (o GetVirtualGatewaySpecLoggingArrayOutput) ToGetVirtualGatewaySpecLoggingArrayOutput() GetVirtualGatewaySpecLoggingArrayOutput { +type GetVirtualNodeSpecServiceDiscoveryAwsCloudMapArrayOutput struct{ *pulumi.OutputState } + +func (GetVirtualNodeSpecServiceDiscoveryAwsCloudMapArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetVirtualNodeSpecServiceDiscoveryAwsCloudMap)(nil)).Elem() +} + +func (o GetVirtualNodeSpecServiceDiscoveryAwsCloudMapArrayOutput) ToGetVirtualNodeSpecServiceDiscoveryAwsCloudMapArrayOutput() GetVirtualNodeSpecServiceDiscoveryAwsCloudMapArrayOutput { return o } -func (o GetVirtualGatewaySpecLoggingArrayOutput) ToGetVirtualGatewaySpecLoggingArrayOutputWithContext(ctx context.Context) GetVirtualGatewaySpecLoggingArrayOutput { +func (o GetVirtualNodeSpecServiceDiscoveryAwsCloudMapArrayOutput) ToGetVirtualNodeSpecServiceDiscoveryAwsCloudMapArrayOutputWithContext(ctx context.Context) GetVirtualNodeSpecServiceDiscoveryAwsCloudMapArrayOutput { return o } -func (o GetVirtualGatewaySpecLoggingArrayOutput) Index(i pulumi.IntInput) GetVirtualGatewaySpecLoggingOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetVirtualGatewaySpecLogging { - return vs[0].([]GetVirtualGatewaySpecLogging)[vs[1].(int)] - }).(GetVirtualGatewaySpecLoggingOutput) +func (o GetVirtualNodeSpecServiceDiscoveryAwsCloudMapArrayOutput) Index(i pulumi.IntInput) GetVirtualNodeSpecServiceDiscoveryAwsCloudMapOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetVirtualNodeSpecServiceDiscoveryAwsCloudMap { + return vs[0].([]GetVirtualNodeSpecServiceDiscoveryAwsCloudMap)[vs[1].(int)] + }).(GetVirtualNodeSpecServiceDiscoveryAwsCloudMapOutput) } -type GetVirtualGatewaySpecLoggingAccessLog struct { - // TLS validation context trust for a local file certificate. - Files []GetVirtualGatewaySpecLoggingAccessLogFile `pulumi:"files"` +type GetVirtualNodeSpecServiceDiscoveryDn struct { + Hostname string `pulumi:"hostname"` + IpPreference string `pulumi:"ipPreference"` + ResponseType string `pulumi:"responseType"` } -// GetVirtualGatewaySpecLoggingAccessLogInput is an input type that accepts GetVirtualGatewaySpecLoggingAccessLogArgs and GetVirtualGatewaySpecLoggingAccessLogOutput values. -// You can construct a concrete instance of `GetVirtualGatewaySpecLoggingAccessLogInput` via: +// GetVirtualNodeSpecServiceDiscoveryDnInput is an input type that accepts GetVirtualNodeSpecServiceDiscoveryDnArgs and GetVirtualNodeSpecServiceDiscoveryDnOutput values. +// You can construct a concrete instance of `GetVirtualNodeSpecServiceDiscoveryDnInput` via: // -// GetVirtualGatewaySpecLoggingAccessLogArgs{...} -type GetVirtualGatewaySpecLoggingAccessLogInput interface { +// GetVirtualNodeSpecServiceDiscoveryDnArgs{...} +type GetVirtualNodeSpecServiceDiscoveryDnInput interface { pulumi.Input - ToGetVirtualGatewaySpecLoggingAccessLogOutput() GetVirtualGatewaySpecLoggingAccessLogOutput - ToGetVirtualGatewaySpecLoggingAccessLogOutputWithContext(context.Context) GetVirtualGatewaySpecLoggingAccessLogOutput + ToGetVirtualNodeSpecServiceDiscoveryDnOutput() GetVirtualNodeSpecServiceDiscoveryDnOutput + ToGetVirtualNodeSpecServiceDiscoveryDnOutputWithContext(context.Context) GetVirtualNodeSpecServiceDiscoveryDnOutput } -type GetVirtualGatewaySpecLoggingAccessLogArgs struct { - // TLS validation context trust for a local file certificate. - Files GetVirtualGatewaySpecLoggingAccessLogFileArrayInput `pulumi:"files"` +type GetVirtualNodeSpecServiceDiscoveryDnArgs struct { + Hostname pulumi.StringInput `pulumi:"hostname"` + IpPreference pulumi.StringInput `pulumi:"ipPreference"` + ResponseType pulumi.StringInput `pulumi:"responseType"` } -func (GetVirtualGatewaySpecLoggingAccessLogArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetVirtualGatewaySpecLoggingAccessLog)(nil)).Elem() +func (GetVirtualNodeSpecServiceDiscoveryDnArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetVirtualNodeSpecServiceDiscoveryDn)(nil)).Elem() } -func (i GetVirtualGatewaySpecLoggingAccessLogArgs) ToGetVirtualGatewaySpecLoggingAccessLogOutput() GetVirtualGatewaySpecLoggingAccessLogOutput { - return i.ToGetVirtualGatewaySpecLoggingAccessLogOutputWithContext(context.Background()) +func (i GetVirtualNodeSpecServiceDiscoveryDnArgs) ToGetVirtualNodeSpecServiceDiscoveryDnOutput() GetVirtualNodeSpecServiceDiscoveryDnOutput { + return i.ToGetVirtualNodeSpecServiceDiscoveryDnOutputWithContext(context.Background()) } -func (i GetVirtualGatewaySpecLoggingAccessLogArgs) ToGetVirtualGatewaySpecLoggingAccessLogOutputWithContext(ctx context.Context) GetVirtualGatewaySpecLoggingAccessLogOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetVirtualGatewaySpecLoggingAccessLogOutput) +func (i GetVirtualNodeSpecServiceDiscoveryDnArgs) ToGetVirtualNodeSpecServiceDiscoveryDnOutputWithContext(ctx context.Context) GetVirtualNodeSpecServiceDiscoveryDnOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetVirtualNodeSpecServiceDiscoveryDnOutput) } -// GetVirtualGatewaySpecLoggingAccessLogArrayInput is an input type that accepts GetVirtualGatewaySpecLoggingAccessLogArray and GetVirtualGatewaySpecLoggingAccessLogArrayOutput values. -// You can construct a concrete instance of `GetVirtualGatewaySpecLoggingAccessLogArrayInput` via: +// GetVirtualNodeSpecServiceDiscoveryDnArrayInput is an input type that accepts GetVirtualNodeSpecServiceDiscoveryDnArray and GetVirtualNodeSpecServiceDiscoveryDnArrayOutput values. +// You can construct a concrete instance of `GetVirtualNodeSpecServiceDiscoveryDnArrayInput` via: // -// GetVirtualGatewaySpecLoggingAccessLogArray{ GetVirtualGatewaySpecLoggingAccessLogArgs{...} } -type GetVirtualGatewaySpecLoggingAccessLogArrayInput interface { +// GetVirtualNodeSpecServiceDiscoveryDnArray{ GetVirtualNodeSpecServiceDiscoveryDnArgs{...} } +type GetVirtualNodeSpecServiceDiscoveryDnArrayInput interface { pulumi.Input - ToGetVirtualGatewaySpecLoggingAccessLogArrayOutput() GetVirtualGatewaySpecLoggingAccessLogArrayOutput - ToGetVirtualGatewaySpecLoggingAccessLogArrayOutputWithContext(context.Context) GetVirtualGatewaySpecLoggingAccessLogArrayOutput + ToGetVirtualNodeSpecServiceDiscoveryDnArrayOutput() GetVirtualNodeSpecServiceDiscoveryDnArrayOutput + ToGetVirtualNodeSpecServiceDiscoveryDnArrayOutputWithContext(context.Context) GetVirtualNodeSpecServiceDiscoveryDnArrayOutput } -type GetVirtualGatewaySpecLoggingAccessLogArray []GetVirtualGatewaySpecLoggingAccessLogInput +type GetVirtualNodeSpecServiceDiscoveryDnArray []GetVirtualNodeSpecServiceDiscoveryDnInput -func (GetVirtualGatewaySpecLoggingAccessLogArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetVirtualGatewaySpecLoggingAccessLog)(nil)).Elem() +func (GetVirtualNodeSpecServiceDiscoveryDnArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetVirtualNodeSpecServiceDiscoveryDn)(nil)).Elem() } -func (i GetVirtualGatewaySpecLoggingAccessLogArray) ToGetVirtualGatewaySpecLoggingAccessLogArrayOutput() GetVirtualGatewaySpecLoggingAccessLogArrayOutput { - return i.ToGetVirtualGatewaySpecLoggingAccessLogArrayOutputWithContext(context.Background()) +func (i GetVirtualNodeSpecServiceDiscoveryDnArray) ToGetVirtualNodeSpecServiceDiscoveryDnArrayOutput() GetVirtualNodeSpecServiceDiscoveryDnArrayOutput { + return i.ToGetVirtualNodeSpecServiceDiscoveryDnArrayOutputWithContext(context.Background()) } -func (i GetVirtualGatewaySpecLoggingAccessLogArray) ToGetVirtualGatewaySpecLoggingAccessLogArrayOutputWithContext(ctx context.Context) GetVirtualGatewaySpecLoggingAccessLogArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetVirtualGatewaySpecLoggingAccessLogArrayOutput) +func (i GetVirtualNodeSpecServiceDiscoveryDnArray) ToGetVirtualNodeSpecServiceDiscoveryDnArrayOutputWithContext(ctx context.Context) GetVirtualNodeSpecServiceDiscoveryDnArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetVirtualNodeSpecServiceDiscoveryDnArrayOutput) } -type GetVirtualGatewaySpecLoggingAccessLogOutput struct{ *pulumi.OutputState } +type GetVirtualNodeSpecServiceDiscoveryDnOutput struct{ *pulumi.OutputState } -func (GetVirtualGatewaySpecLoggingAccessLogOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetVirtualGatewaySpecLoggingAccessLog)(nil)).Elem() +func (GetVirtualNodeSpecServiceDiscoveryDnOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetVirtualNodeSpecServiceDiscoveryDn)(nil)).Elem() } -func (o GetVirtualGatewaySpecLoggingAccessLogOutput) ToGetVirtualGatewaySpecLoggingAccessLogOutput() GetVirtualGatewaySpecLoggingAccessLogOutput { +func (o GetVirtualNodeSpecServiceDiscoveryDnOutput) ToGetVirtualNodeSpecServiceDiscoveryDnOutput() GetVirtualNodeSpecServiceDiscoveryDnOutput { return o } -func (o GetVirtualGatewaySpecLoggingAccessLogOutput) ToGetVirtualGatewaySpecLoggingAccessLogOutputWithContext(ctx context.Context) GetVirtualGatewaySpecLoggingAccessLogOutput { +func (o GetVirtualNodeSpecServiceDiscoveryDnOutput) ToGetVirtualNodeSpecServiceDiscoveryDnOutputWithContext(ctx context.Context) GetVirtualNodeSpecServiceDiscoveryDnOutput { return o } -// TLS validation context trust for a local file certificate. -func (o GetVirtualGatewaySpecLoggingAccessLogOutput) Files() GetVirtualGatewaySpecLoggingAccessLogFileArrayOutput { - return o.ApplyT(func(v GetVirtualGatewaySpecLoggingAccessLog) []GetVirtualGatewaySpecLoggingAccessLogFile { - return v.Files - }).(GetVirtualGatewaySpecLoggingAccessLogFileArrayOutput) +func (o GetVirtualNodeSpecServiceDiscoveryDnOutput) Hostname() pulumi.StringOutput { + return o.ApplyT(func(v GetVirtualNodeSpecServiceDiscoveryDn) string { return v.Hostname }).(pulumi.StringOutput) } -type GetVirtualGatewaySpecLoggingAccessLogArrayOutput struct{ *pulumi.OutputState } +func (o GetVirtualNodeSpecServiceDiscoveryDnOutput) IpPreference() pulumi.StringOutput { + return o.ApplyT(func(v GetVirtualNodeSpecServiceDiscoveryDn) string { return v.IpPreference }).(pulumi.StringOutput) +} -func (GetVirtualGatewaySpecLoggingAccessLogArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetVirtualGatewaySpecLoggingAccessLog)(nil)).Elem() +func (o GetVirtualNodeSpecServiceDiscoveryDnOutput) ResponseType() pulumi.StringOutput { + return o.ApplyT(func(v GetVirtualNodeSpecServiceDiscoveryDn) string { return v.ResponseType }).(pulumi.StringOutput) } -func (o GetVirtualGatewaySpecLoggingAccessLogArrayOutput) ToGetVirtualGatewaySpecLoggingAccessLogArrayOutput() GetVirtualGatewaySpecLoggingAccessLogArrayOutput { +type GetVirtualNodeSpecServiceDiscoveryDnArrayOutput struct{ *pulumi.OutputState } + +func (GetVirtualNodeSpecServiceDiscoveryDnArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetVirtualNodeSpecServiceDiscoveryDn)(nil)).Elem() +} + +func (o GetVirtualNodeSpecServiceDiscoveryDnArrayOutput) ToGetVirtualNodeSpecServiceDiscoveryDnArrayOutput() GetVirtualNodeSpecServiceDiscoveryDnArrayOutput { return o } -func (o GetVirtualGatewaySpecLoggingAccessLogArrayOutput) ToGetVirtualGatewaySpecLoggingAccessLogArrayOutputWithContext(ctx context.Context) GetVirtualGatewaySpecLoggingAccessLogArrayOutput { +func (o GetVirtualNodeSpecServiceDiscoveryDnArrayOutput) ToGetVirtualNodeSpecServiceDiscoveryDnArrayOutputWithContext(ctx context.Context) GetVirtualNodeSpecServiceDiscoveryDnArrayOutput { return o } -func (o GetVirtualGatewaySpecLoggingAccessLogArrayOutput) Index(i pulumi.IntInput) GetVirtualGatewaySpecLoggingAccessLogOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetVirtualGatewaySpecLoggingAccessLog { - return vs[0].([]GetVirtualGatewaySpecLoggingAccessLog)[vs[1].(int)] - }).(GetVirtualGatewaySpecLoggingAccessLogOutput) +func (o GetVirtualNodeSpecServiceDiscoveryDnArrayOutput) Index(i pulumi.IntInput) GetVirtualNodeSpecServiceDiscoveryDnOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetVirtualNodeSpecServiceDiscoveryDn { + return vs[0].([]GetVirtualNodeSpecServiceDiscoveryDn)[vs[1].(int)] + }).(GetVirtualNodeSpecServiceDiscoveryDnOutput) } -type GetVirtualGatewaySpecLoggingAccessLogFile struct { - Formats []GetVirtualGatewaySpecLoggingAccessLogFileFormat `pulumi:"formats"` - // Destination path for the health check request. This is only required if the specified protocol is `http` or `http2`. - Path string `pulumi:"path"` +type GetVirtualRouterSpec struct { + Listeners []GetVirtualRouterSpecListener `pulumi:"listeners"` } -// GetVirtualGatewaySpecLoggingAccessLogFileInput is an input type that accepts GetVirtualGatewaySpecLoggingAccessLogFileArgs and GetVirtualGatewaySpecLoggingAccessLogFileOutput values. -// You can construct a concrete instance of `GetVirtualGatewaySpecLoggingAccessLogFileInput` via: +// GetVirtualRouterSpecInput is an input type that accepts GetVirtualRouterSpecArgs and GetVirtualRouterSpecOutput values. +// You can construct a concrete instance of `GetVirtualRouterSpecInput` via: // -// GetVirtualGatewaySpecLoggingAccessLogFileArgs{...} -type GetVirtualGatewaySpecLoggingAccessLogFileInput interface { +// GetVirtualRouterSpecArgs{...} +type GetVirtualRouterSpecInput interface { pulumi.Input - ToGetVirtualGatewaySpecLoggingAccessLogFileOutput() GetVirtualGatewaySpecLoggingAccessLogFileOutput - ToGetVirtualGatewaySpecLoggingAccessLogFileOutputWithContext(context.Context) GetVirtualGatewaySpecLoggingAccessLogFileOutput + ToGetVirtualRouterSpecOutput() GetVirtualRouterSpecOutput + ToGetVirtualRouterSpecOutputWithContext(context.Context) GetVirtualRouterSpecOutput } -type GetVirtualGatewaySpecLoggingAccessLogFileArgs struct { - Formats GetVirtualGatewaySpecLoggingAccessLogFileFormatArrayInput `pulumi:"formats"` - // Destination path for the health check request. This is only required if the specified protocol is `http` or `http2`. - Path pulumi.StringInput `pulumi:"path"` +type GetVirtualRouterSpecArgs struct { + Listeners GetVirtualRouterSpecListenerArrayInput `pulumi:"listeners"` } -func (GetVirtualGatewaySpecLoggingAccessLogFileArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetVirtualGatewaySpecLoggingAccessLogFile)(nil)).Elem() +func (GetVirtualRouterSpecArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetVirtualRouterSpec)(nil)).Elem() } -func (i GetVirtualGatewaySpecLoggingAccessLogFileArgs) ToGetVirtualGatewaySpecLoggingAccessLogFileOutput() GetVirtualGatewaySpecLoggingAccessLogFileOutput { - return i.ToGetVirtualGatewaySpecLoggingAccessLogFileOutputWithContext(context.Background()) +func (i GetVirtualRouterSpecArgs) ToGetVirtualRouterSpecOutput() GetVirtualRouterSpecOutput { + return i.ToGetVirtualRouterSpecOutputWithContext(context.Background()) } -func (i GetVirtualGatewaySpecLoggingAccessLogFileArgs) ToGetVirtualGatewaySpecLoggingAccessLogFileOutputWithContext(ctx context.Context) GetVirtualGatewaySpecLoggingAccessLogFileOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetVirtualGatewaySpecLoggingAccessLogFileOutput) +func (i GetVirtualRouterSpecArgs) ToGetVirtualRouterSpecOutputWithContext(ctx context.Context) GetVirtualRouterSpecOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetVirtualRouterSpecOutput) } -// GetVirtualGatewaySpecLoggingAccessLogFileArrayInput is an input type that accepts GetVirtualGatewaySpecLoggingAccessLogFileArray and GetVirtualGatewaySpecLoggingAccessLogFileArrayOutput values. -// You can construct a concrete instance of `GetVirtualGatewaySpecLoggingAccessLogFileArrayInput` via: +// GetVirtualRouterSpecArrayInput is an input type that accepts GetVirtualRouterSpecArray and GetVirtualRouterSpecArrayOutput values. +// You can construct a concrete instance of `GetVirtualRouterSpecArrayInput` via: // -// GetVirtualGatewaySpecLoggingAccessLogFileArray{ GetVirtualGatewaySpecLoggingAccessLogFileArgs{...} } -type GetVirtualGatewaySpecLoggingAccessLogFileArrayInput interface { +// GetVirtualRouterSpecArray{ GetVirtualRouterSpecArgs{...} } +type GetVirtualRouterSpecArrayInput interface { pulumi.Input - ToGetVirtualGatewaySpecLoggingAccessLogFileArrayOutput() GetVirtualGatewaySpecLoggingAccessLogFileArrayOutput - ToGetVirtualGatewaySpecLoggingAccessLogFileArrayOutputWithContext(context.Context) GetVirtualGatewaySpecLoggingAccessLogFileArrayOutput + ToGetVirtualRouterSpecArrayOutput() GetVirtualRouterSpecArrayOutput + ToGetVirtualRouterSpecArrayOutputWithContext(context.Context) GetVirtualRouterSpecArrayOutput } -type GetVirtualGatewaySpecLoggingAccessLogFileArray []GetVirtualGatewaySpecLoggingAccessLogFileInput +type GetVirtualRouterSpecArray []GetVirtualRouterSpecInput -func (GetVirtualGatewaySpecLoggingAccessLogFileArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetVirtualGatewaySpecLoggingAccessLogFile)(nil)).Elem() +func (GetVirtualRouterSpecArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetVirtualRouterSpec)(nil)).Elem() } -func (i GetVirtualGatewaySpecLoggingAccessLogFileArray) ToGetVirtualGatewaySpecLoggingAccessLogFileArrayOutput() GetVirtualGatewaySpecLoggingAccessLogFileArrayOutput { - return i.ToGetVirtualGatewaySpecLoggingAccessLogFileArrayOutputWithContext(context.Background()) +func (i GetVirtualRouterSpecArray) ToGetVirtualRouterSpecArrayOutput() GetVirtualRouterSpecArrayOutput { + return i.ToGetVirtualRouterSpecArrayOutputWithContext(context.Background()) } -func (i GetVirtualGatewaySpecLoggingAccessLogFileArray) ToGetVirtualGatewaySpecLoggingAccessLogFileArrayOutputWithContext(ctx context.Context) GetVirtualGatewaySpecLoggingAccessLogFileArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetVirtualGatewaySpecLoggingAccessLogFileArrayOutput) +func (i GetVirtualRouterSpecArray) ToGetVirtualRouterSpecArrayOutputWithContext(ctx context.Context) GetVirtualRouterSpecArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetVirtualRouterSpecArrayOutput) } -type GetVirtualGatewaySpecLoggingAccessLogFileOutput struct{ *pulumi.OutputState } +type GetVirtualRouterSpecOutput struct{ *pulumi.OutputState } -func (GetVirtualGatewaySpecLoggingAccessLogFileOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetVirtualGatewaySpecLoggingAccessLogFile)(nil)).Elem() +func (GetVirtualRouterSpecOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetVirtualRouterSpec)(nil)).Elem() } -func (o GetVirtualGatewaySpecLoggingAccessLogFileOutput) ToGetVirtualGatewaySpecLoggingAccessLogFileOutput() GetVirtualGatewaySpecLoggingAccessLogFileOutput { +func (o GetVirtualRouterSpecOutput) ToGetVirtualRouterSpecOutput() GetVirtualRouterSpecOutput { return o } -func (o GetVirtualGatewaySpecLoggingAccessLogFileOutput) ToGetVirtualGatewaySpecLoggingAccessLogFileOutputWithContext(ctx context.Context) GetVirtualGatewaySpecLoggingAccessLogFileOutput { +func (o GetVirtualRouterSpecOutput) ToGetVirtualRouterSpecOutputWithContext(ctx context.Context) GetVirtualRouterSpecOutput { return o } -func (o GetVirtualGatewaySpecLoggingAccessLogFileOutput) Formats() GetVirtualGatewaySpecLoggingAccessLogFileFormatArrayOutput { - return o.ApplyT(func(v GetVirtualGatewaySpecLoggingAccessLogFile) []GetVirtualGatewaySpecLoggingAccessLogFileFormat { - return v.Formats - }).(GetVirtualGatewaySpecLoggingAccessLogFileFormatArrayOutput) -} - -// Destination path for the health check request. This is only required if the specified protocol is `http` or `http2`. -func (o GetVirtualGatewaySpecLoggingAccessLogFileOutput) Path() pulumi.StringOutput { - return o.ApplyT(func(v GetVirtualGatewaySpecLoggingAccessLogFile) string { return v.Path }).(pulumi.StringOutput) +func (o GetVirtualRouterSpecOutput) Listeners() GetVirtualRouterSpecListenerArrayOutput { + return o.ApplyT(func(v GetVirtualRouterSpec) []GetVirtualRouterSpecListener { return v.Listeners }).(GetVirtualRouterSpecListenerArrayOutput) } -type GetVirtualGatewaySpecLoggingAccessLogFileArrayOutput struct{ *pulumi.OutputState } +type GetVirtualRouterSpecArrayOutput struct{ *pulumi.OutputState } -func (GetVirtualGatewaySpecLoggingAccessLogFileArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetVirtualGatewaySpecLoggingAccessLogFile)(nil)).Elem() +func (GetVirtualRouterSpecArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetVirtualRouterSpec)(nil)).Elem() } -func (o GetVirtualGatewaySpecLoggingAccessLogFileArrayOutput) ToGetVirtualGatewaySpecLoggingAccessLogFileArrayOutput() GetVirtualGatewaySpecLoggingAccessLogFileArrayOutput { +func (o GetVirtualRouterSpecArrayOutput) ToGetVirtualRouterSpecArrayOutput() GetVirtualRouterSpecArrayOutput { return o } -func (o GetVirtualGatewaySpecLoggingAccessLogFileArrayOutput) ToGetVirtualGatewaySpecLoggingAccessLogFileArrayOutputWithContext(ctx context.Context) GetVirtualGatewaySpecLoggingAccessLogFileArrayOutput { +func (o GetVirtualRouterSpecArrayOutput) ToGetVirtualRouterSpecArrayOutputWithContext(ctx context.Context) GetVirtualRouterSpecArrayOutput { return o } -func (o GetVirtualGatewaySpecLoggingAccessLogFileArrayOutput) Index(i pulumi.IntInput) GetVirtualGatewaySpecLoggingAccessLogFileOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetVirtualGatewaySpecLoggingAccessLogFile { - return vs[0].([]GetVirtualGatewaySpecLoggingAccessLogFile)[vs[1].(int)] - }).(GetVirtualGatewaySpecLoggingAccessLogFileOutput) +func (o GetVirtualRouterSpecArrayOutput) Index(i pulumi.IntInput) GetVirtualRouterSpecOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetVirtualRouterSpec { + return vs[0].([]GetVirtualRouterSpec)[vs[1].(int)] + }).(GetVirtualRouterSpecOutput) } -type GetVirtualGatewaySpecLoggingAccessLogFileFormat struct { - Jsons []GetVirtualGatewaySpecLoggingAccessLogFileFormatJson `pulumi:"jsons"` - Text string `pulumi:"text"` +type GetVirtualRouterSpecListener struct { + PortMappings []GetVirtualRouterSpecListenerPortMapping `pulumi:"portMappings"` } -// GetVirtualGatewaySpecLoggingAccessLogFileFormatInput is an input type that accepts GetVirtualGatewaySpecLoggingAccessLogFileFormatArgs and GetVirtualGatewaySpecLoggingAccessLogFileFormatOutput values. -// You can construct a concrete instance of `GetVirtualGatewaySpecLoggingAccessLogFileFormatInput` via: +// GetVirtualRouterSpecListenerInput is an input type that accepts GetVirtualRouterSpecListenerArgs and GetVirtualRouterSpecListenerOutput values. +// You can construct a concrete instance of `GetVirtualRouterSpecListenerInput` via: // -// GetVirtualGatewaySpecLoggingAccessLogFileFormatArgs{...} -type GetVirtualGatewaySpecLoggingAccessLogFileFormatInput interface { +// GetVirtualRouterSpecListenerArgs{...} +type GetVirtualRouterSpecListenerInput interface { pulumi.Input - ToGetVirtualGatewaySpecLoggingAccessLogFileFormatOutput() GetVirtualGatewaySpecLoggingAccessLogFileFormatOutput - ToGetVirtualGatewaySpecLoggingAccessLogFileFormatOutputWithContext(context.Context) GetVirtualGatewaySpecLoggingAccessLogFileFormatOutput + ToGetVirtualRouterSpecListenerOutput() GetVirtualRouterSpecListenerOutput + ToGetVirtualRouterSpecListenerOutputWithContext(context.Context) GetVirtualRouterSpecListenerOutput } -type GetVirtualGatewaySpecLoggingAccessLogFileFormatArgs struct { - Jsons GetVirtualGatewaySpecLoggingAccessLogFileFormatJsonArrayInput `pulumi:"jsons"` - Text pulumi.StringInput `pulumi:"text"` +type GetVirtualRouterSpecListenerArgs struct { + PortMappings GetVirtualRouterSpecListenerPortMappingArrayInput `pulumi:"portMappings"` } -func (GetVirtualGatewaySpecLoggingAccessLogFileFormatArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetVirtualGatewaySpecLoggingAccessLogFileFormat)(nil)).Elem() +func (GetVirtualRouterSpecListenerArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetVirtualRouterSpecListener)(nil)).Elem() } -func (i GetVirtualGatewaySpecLoggingAccessLogFileFormatArgs) ToGetVirtualGatewaySpecLoggingAccessLogFileFormatOutput() GetVirtualGatewaySpecLoggingAccessLogFileFormatOutput { - return i.ToGetVirtualGatewaySpecLoggingAccessLogFileFormatOutputWithContext(context.Background()) +func (i GetVirtualRouterSpecListenerArgs) ToGetVirtualRouterSpecListenerOutput() GetVirtualRouterSpecListenerOutput { + return i.ToGetVirtualRouterSpecListenerOutputWithContext(context.Background()) } -func (i GetVirtualGatewaySpecLoggingAccessLogFileFormatArgs) ToGetVirtualGatewaySpecLoggingAccessLogFileFormatOutputWithContext(ctx context.Context) GetVirtualGatewaySpecLoggingAccessLogFileFormatOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetVirtualGatewaySpecLoggingAccessLogFileFormatOutput) +func (i GetVirtualRouterSpecListenerArgs) ToGetVirtualRouterSpecListenerOutputWithContext(ctx context.Context) GetVirtualRouterSpecListenerOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetVirtualRouterSpecListenerOutput) } -// GetVirtualGatewaySpecLoggingAccessLogFileFormatArrayInput is an input type that accepts GetVirtualGatewaySpecLoggingAccessLogFileFormatArray and GetVirtualGatewaySpecLoggingAccessLogFileFormatArrayOutput values. -// You can construct a concrete instance of `GetVirtualGatewaySpecLoggingAccessLogFileFormatArrayInput` via: +// GetVirtualRouterSpecListenerArrayInput is an input type that accepts GetVirtualRouterSpecListenerArray and GetVirtualRouterSpecListenerArrayOutput values. +// You can construct a concrete instance of `GetVirtualRouterSpecListenerArrayInput` via: // -// GetVirtualGatewaySpecLoggingAccessLogFileFormatArray{ GetVirtualGatewaySpecLoggingAccessLogFileFormatArgs{...} } -type GetVirtualGatewaySpecLoggingAccessLogFileFormatArrayInput interface { +// GetVirtualRouterSpecListenerArray{ GetVirtualRouterSpecListenerArgs{...} } +type GetVirtualRouterSpecListenerArrayInput interface { pulumi.Input - ToGetVirtualGatewaySpecLoggingAccessLogFileFormatArrayOutput() GetVirtualGatewaySpecLoggingAccessLogFileFormatArrayOutput - ToGetVirtualGatewaySpecLoggingAccessLogFileFormatArrayOutputWithContext(context.Context) GetVirtualGatewaySpecLoggingAccessLogFileFormatArrayOutput + ToGetVirtualRouterSpecListenerArrayOutput() GetVirtualRouterSpecListenerArrayOutput + ToGetVirtualRouterSpecListenerArrayOutputWithContext(context.Context) GetVirtualRouterSpecListenerArrayOutput } -type GetVirtualGatewaySpecLoggingAccessLogFileFormatArray []GetVirtualGatewaySpecLoggingAccessLogFileFormatInput +type GetVirtualRouterSpecListenerArray []GetVirtualRouterSpecListenerInput -func (GetVirtualGatewaySpecLoggingAccessLogFileFormatArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetVirtualGatewaySpecLoggingAccessLogFileFormat)(nil)).Elem() +func (GetVirtualRouterSpecListenerArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetVirtualRouterSpecListener)(nil)).Elem() } -func (i GetVirtualGatewaySpecLoggingAccessLogFileFormatArray) ToGetVirtualGatewaySpecLoggingAccessLogFileFormatArrayOutput() GetVirtualGatewaySpecLoggingAccessLogFileFormatArrayOutput { - return i.ToGetVirtualGatewaySpecLoggingAccessLogFileFormatArrayOutputWithContext(context.Background()) +func (i GetVirtualRouterSpecListenerArray) ToGetVirtualRouterSpecListenerArrayOutput() GetVirtualRouterSpecListenerArrayOutput { + return i.ToGetVirtualRouterSpecListenerArrayOutputWithContext(context.Background()) } -func (i GetVirtualGatewaySpecLoggingAccessLogFileFormatArray) ToGetVirtualGatewaySpecLoggingAccessLogFileFormatArrayOutputWithContext(ctx context.Context) GetVirtualGatewaySpecLoggingAccessLogFileFormatArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetVirtualGatewaySpecLoggingAccessLogFileFormatArrayOutput) +func (i GetVirtualRouterSpecListenerArray) ToGetVirtualRouterSpecListenerArrayOutputWithContext(ctx context.Context) GetVirtualRouterSpecListenerArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetVirtualRouterSpecListenerArrayOutput) } -type GetVirtualGatewaySpecLoggingAccessLogFileFormatOutput struct{ *pulumi.OutputState } +type GetVirtualRouterSpecListenerOutput struct{ *pulumi.OutputState } -func (GetVirtualGatewaySpecLoggingAccessLogFileFormatOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetVirtualGatewaySpecLoggingAccessLogFileFormat)(nil)).Elem() +func (GetVirtualRouterSpecListenerOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetVirtualRouterSpecListener)(nil)).Elem() } -func (o GetVirtualGatewaySpecLoggingAccessLogFileFormatOutput) ToGetVirtualGatewaySpecLoggingAccessLogFileFormatOutput() GetVirtualGatewaySpecLoggingAccessLogFileFormatOutput { +func (o GetVirtualRouterSpecListenerOutput) ToGetVirtualRouterSpecListenerOutput() GetVirtualRouterSpecListenerOutput { return o } -func (o GetVirtualGatewaySpecLoggingAccessLogFileFormatOutput) ToGetVirtualGatewaySpecLoggingAccessLogFileFormatOutputWithContext(ctx context.Context) GetVirtualGatewaySpecLoggingAccessLogFileFormatOutput { +func (o GetVirtualRouterSpecListenerOutput) ToGetVirtualRouterSpecListenerOutputWithContext(ctx context.Context) GetVirtualRouterSpecListenerOutput { return o } -func (o GetVirtualGatewaySpecLoggingAccessLogFileFormatOutput) Jsons() GetVirtualGatewaySpecLoggingAccessLogFileFormatJsonArrayOutput { - return o.ApplyT(func(v GetVirtualGatewaySpecLoggingAccessLogFileFormat) []GetVirtualGatewaySpecLoggingAccessLogFileFormatJson { - return v.Jsons - }).(GetVirtualGatewaySpecLoggingAccessLogFileFormatJsonArrayOutput) -} - -func (o GetVirtualGatewaySpecLoggingAccessLogFileFormatOutput) Text() pulumi.StringOutput { - return o.ApplyT(func(v GetVirtualGatewaySpecLoggingAccessLogFileFormat) string { return v.Text }).(pulumi.StringOutput) +func (o GetVirtualRouterSpecListenerOutput) PortMappings() GetVirtualRouterSpecListenerPortMappingArrayOutput { + return o.ApplyT(func(v GetVirtualRouterSpecListener) []GetVirtualRouterSpecListenerPortMapping { return v.PortMappings }).(GetVirtualRouterSpecListenerPortMappingArrayOutput) } -type GetVirtualGatewaySpecLoggingAccessLogFileFormatArrayOutput struct{ *pulumi.OutputState } +type GetVirtualRouterSpecListenerArrayOutput struct{ *pulumi.OutputState } -func (GetVirtualGatewaySpecLoggingAccessLogFileFormatArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetVirtualGatewaySpecLoggingAccessLogFileFormat)(nil)).Elem() +func (GetVirtualRouterSpecListenerArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetVirtualRouterSpecListener)(nil)).Elem() } -func (o GetVirtualGatewaySpecLoggingAccessLogFileFormatArrayOutput) ToGetVirtualGatewaySpecLoggingAccessLogFileFormatArrayOutput() GetVirtualGatewaySpecLoggingAccessLogFileFormatArrayOutput { +func (o GetVirtualRouterSpecListenerArrayOutput) ToGetVirtualRouterSpecListenerArrayOutput() GetVirtualRouterSpecListenerArrayOutput { return o } -func (o GetVirtualGatewaySpecLoggingAccessLogFileFormatArrayOutput) ToGetVirtualGatewaySpecLoggingAccessLogFileFormatArrayOutputWithContext(ctx context.Context) GetVirtualGatewaySpecLoggingAccessLogFileFormatArrayOutput { +func (o GetVirtualRouterSpecListenerArrayOutput) ToGetVirtualRouterSpecListenerArrayOutputWithContext(ctx context.Context) GetVirtualRouterSpecListenerArrayOutput { return o } -func (o GetVirtualGatewaySpecLoggingAccessLogFileFormatArrayOutput) Index(i pulumi.IntInput) GetVirtualGatewaySpecLoggingAccessLogFileFormatOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetVirtualGatewaySpecLoggingAccessLogFileFormat { - return vs[0].([]GetVirtualGatewaySpecLoggingAccessLogFileFormat)[vs[1].(int)] - }).(GetVirtualGatewaySpecLoggingAccessLogFileFormatOutput) +func (o GetVirtualRouterSpecListenerArrayOutput) Index(i pulumi.IntInput) GetVirtualRouterSpecListenerOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetVirtualRouterSpecListener { + return vs[0].([]GetVirtualRouterSpecListener)[vs[1].(int)] + }).(GetVirtualRouterSpecListenerOutput) } -type GetVirtualGatewaySpecLoggingAccessLogFileFormatJson struct { - Key string `pulumi:"key"` - Value string `pulumi:"value"` +type GetVirtualRouterSpecListenerPortMapping struct { + Port int `pulumi:"port"` + Protocol string `pulumi:"protocol"` } -// GetVirtualGatewaySpecLoggingAccessLogFileFormatJsonInput is an input type that accepts GetVirtualGatewaySpecLoggingAccessLogFileFormatJsonArgs and GetVirtualGatewaySpecLoggingAccessLogFileFormatJsonOutput values. -// You can construct a concrete instance of `GetVirtualGatewaySpecLoggingAccessLogFileFormatJsonInput` via: +// GetVirtualRouterSpecListenerPortMappingInput is an input type that accepts GetVirtualRouterSpecListenerPortMappingArgs and GetVirtualRouterSpecListenerPortMappingOutput values. +// You can construct a concrete instance of `GetVirtualRouterSpecListenerPortMappingInput` via: // -// GetVirtualGatewaySpecLoggingAccessLogFileFormatJsonArgs{...} -type GetVirtualGatewaySpecLoggingAccessLogFileFormatJsonInput interface { +// GetVirtualRouterSpecListenerPortMappingArgs{...} +type GetVirtualRouterSpecListenerPortMappingInput interface { pulumi.Input - ToGetVirtualGatewaySpecLoggingAccessLogFileFormatJsonOutput() GetVirtualGatewaySpecLoggingAccessLogFileFormatJsonOutput - ToGetVirtualGatewaySpecLoggingAccessLogFileFormatJsonOutputWithContext(context.Context) GetVirtualGatewaySpecLoggingAccessLogFileFormatJsonOutput + ToGetVirtualRouterSpecListenerPortMappingOutput() GetVirtualRouterSpecListenerPortMappingOutput + ToGetVirtualRouterSpecListenerPortMappingOutputWithContext(context.Context) GetVirtualRouterSpecListenerPortMappingOutput } -type GetVirtualGatewaySpecLoggingAccessLogFileFormatJsonArgs struct { - Key pulumi.StringInput `pulumi:"key"` - Value pulumi.StringInput `pulumi:"value"` +type GetVirtualRouterSpecListenerPortMappingArgs struct { + Port pulumi.IntInput `pulumi:"port"` + Protocol pulumi.StringInput `pulumi:"protocol"` } -func (GetVirtualGatewaySpecLoggingAccessLogFileFormatJsonArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetVirtualGatewaySpecLoggingAccessLogFileFormatJson)(nil)).Elem() +func (GetVirtualRouterSpecListenerPortMappingArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetVirtualRouterSpecListenerPortMapping)(nil)).Elem() } -func (i GetVirtualGatewaySpecLoggingAccessLogFileFormatJsonArgs) ToGetVirtualGatewaySpecLoggingAccessLogFileFormatJsonOutput() GetVirtualGatewaySpecLoggingAccessLogFileFormatJsonOutput { - return i.ToGetVirtualGatewaySpecLoggingAccessLogFileFormatJsonOutputWithContext(context.Background()) +func (i GetVirtualRouterSpecListenerPortMappingArgs) ToGetVirtualRouterSpecListenerPortMappingOutput() GetVirtualRouterSpecListenerPortMappingOutput { + return i.ToGetVirtualRouterSpecListenerPortMappingOutputWithContext(context.Background()) } -func (i GetVirtualGatewaySpecLoggingAccessLogFileFormatJsonArgs) ToGetVirtualGatewaySpecLoggingAccessLogFileFormatJsonOutputWithContext(ctx context.Context) GetVirtualGatewaySpecLoggingAccessLogFileFormatJsonOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetVirtualGatewaySpecLoggingAccessLogFileFormatJsonOutput) +func (i GetVirtualRouterSpecListenerPortMappingArgs) ToGetVirtualRouterSpecListenerPortMappingOutputWithContext(ctx context.Context) GetVirtualRouterSpecListenerPortMappingOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetVirtualRouterSpecListenerPortMappingOutput) } -// GetVirtualGatewaySpecLoggingAccessLogFileFormatJsonArrayInput is an input type that accepts GetVirtualGatewaySpecLoggingAccessLogFileFormatJsonArray and GetVirtualGatewaySpecLoggingAccessLogFileFormatJsonArrayOutput values. -// You can construct a concrete instance of `GetVirtualGatewaySpecLoggingAccessLogFileFormatJsonArrayInput` via: +// GetVirtualRouterSpecListenerPortMappingArrayInput is an input type that accepts GetVirtualRouterSpecListenerPortMappingArray and GetVirtualRouterSpecListenerPortMappingArrayOutput values. +// You can construct a concrete instance of `GetVirtualRouterSpecListenerPortMappingArrayInput` via: // -// GetVirtualGatewaySpecLoggingAccessLogFileFormatJsonArray{ GetVirtualGatewaySpecLoggingAccessLogFileFormatJsonArgs{...} } -type GetVirtualGatewaySpecLoggingAccessLogFileFormatJsonArrayInput interface { +// GetVirtualRouterSpecListenerPortMappingArray{ GetVirtualRouterSpecListenerPortMappingArgs{...} } +type GetVirtualRouterSpecListenerPortMappingArrayInput interface { pulumi.Input - ToGetVirtualGatewaySpecLoggingAccessLogFileFormatJsonArrayOutput() GetVirtualGatewaySpecLoggingAccessLogFileFormatJsonArrayOutput - ToGetVirtualGatewaySpecLoggingAccessLogFileFormatJsonArrayOutputWithContext(context.Context) GetVirtualGatewaySpecLoggingAccessLogFileFormatJsonArrayOutput + ToGetVirtualRouterSpecListenerPortMappingArrayOutput() GetVirtualRouterSpecListenerPortMappingArrayOutput + ToGetVirtualRouterSpecListenerPortMappingArrayOutputWithContext(context.Context) GetVirtualRouterSpecListenerPortMappingArrayOutput } -type GetVirtualGatewaySpecLoggingAccessLogFileFormatJsonArray []GetVirtualGatewaySpecLoggingAccessLogFileFormatJsonInput +type GetVirtualRouterSpecListenerPortMappingArray []GetVirtualRouterSpecListenerPortMappingInput -func (GetVirtualGatewaySpecLoggingAccessLogFileFormatJsonArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetVirtualGatewaySpecLoggingAccessLogFileFormatJson)(nil)).Elem() +func (GetVirtualRouterSpecListenerPortMappingArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetVirtualRouterSpecListenerPortMapping)(nil)).Elem() } -func (i GetVirtualGatewaySpecLoggingAccessLogFileFormatJsonArray) ToGetVirtualGatewaySpecLoggingAccessLogFileFormatJsonArrayOutput() GetVirtualGatewaySpecLoggingAccessLogFileFormatJsonArrayOutput { - return i.ToGetVirtualGatewaySpecLoggingAccessLogFileFormatJsonArrayOutputWithContext(context.Background()) +func (i GetVirtualRouterSpecListenerPortMappingArray) ToGetVirtualRouterSpecListenerPortMappingArrayOutput() GetVirtualRouterSpecListenerPortMappingArrayOutput { + return i.ToGetVirtualRouterSpecListenerPortMappingArrayOutputWithContext(context.Background()) } -func (i GetVirtualGatewaySpecLoggingAccessLogFileFormatJsonArray) ToGetVirtualGatewaySpecLoggingAccessLogFileFormatJsonArrayOutputWithContext(ctx context.Context) GetVirtualGatewaySpecLoggingAccessLogFileFormatJsonArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetVirtualGatewaySpecLoggingAccessLogFileFormatJsonArrayOutput) +func (i GetVirtualRouterSpecListenerPortMappingArray) ToGetVirtualRouterSpecListenerPortMappingArrayOutputWithContext(ctx context.Context) GetVirtualRouterSpecListenerPortMappingArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetVirtualRouterSpecListenerPortMappingArrayOutput) } -type GetVirtualGatewaySpecLoggingAccessLogFileFormatJsonOutput struct{ *pulumi.OutputState } +type GetVirtualRouterSpecListenerPortMappingOutput struct{ *pulumi.OutputState } -func (GetVirtualGatewaySpecLoggingAccessLogFileFormatJsonOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetVirtualGatewaySpecLoggingAccessLogFileFormatJson)(nil)).Elem() +func (GetVirtualRouterSpecListenerPortMappingOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetVirtualRouterSpecListenerPortMapping)(nil)).Elem() } -func (o GetVirtualGatewaySpecLoggingAccessLogFileFormatJsonOutput) ToGetVirtualGatewaySpecLoggingAccessLogFileFormatJsonOutput() GetVirtualGatewaySpecLoggingAccessLogFileFormatJsonOutput { +func (o GetVirtualRouterSpecListenerPortMappingOutput) ToGetVirtualRouterSpecListenerPortMappingOutput() GetVirtualRouterSpecListenerPortMappingOutput { return o } -func (o GetVirtualGatewaySpecLoggingAccessLogFileFormatJsonOutput) ToGetVirtualGatewaySpecLoggingAccessLogFileFormatJsonOutputWithContext(ctx context.Context) GetVirtualGatewaySpecLoggingAccessLogFileFormatJsonOutput { +func (o GetVirtualRouterSpecListenerPortMappingOutput) ToGetVirtualRouterSpecListenerPortMappingOutputWithContext(ctx context.Context) GetVirtualRouterSpecListenerPortMappingOutput { return o } -func (o GetVirtualGatewaySpecLoggingAccessLogFileFormatJsonOutput) Key() pulumi.StringOutput { - return o.ApplyT(func(v GetVirtualGatewaySpecLoggingAccessLogFileFormatJson) string { return v.Key }).(pulumi.StringOutput) +func (o GetVirtualRouterSpecListenerPortMappingOutput) Port() pulumi.IntOutput { + return o.ApplyT(func(v GetVirtualRouterSpecListenerPortMapping) int { return v.Port }).(pulumi.IntOutput) } -func (o GetVirtualGatewaySpecLoggingAccessLogFileFormatJsonOutput) Value() pulumi.StringOutput { - return o.ApplyT(func(v GetVirtualGatewaySpecLoggingAccessLogFileFormatJson) string { return v.Value }).(pulumi.StringOutput) +func (o GetVirtualRouterSpecListenerPortMappingOutput) Protocol() pulumi.StringOutput { + return o.ApplyT(func(v GetVirtualRouterSpecListenerPortMapping) string { return v.Protocol }).(pulumi.StringOutput) } -type GetVirtualGatewaySpecLoggingAccessLogFileFormatJsonArrayOutput struct{ *pulumi.OutputState } +type GetVirtualRouterSpecListenerPortMappingArrayOutput struct{ *pulumi.OutputState } -func (GetVirtualGatewaySpecLoggingAccessLogFileFormatJsonArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetVirtualGatewaySpecLoggingAccessLogFileFormatJson)(nil)).Elem() +func (GetVirtualRouterSpecListenerPortMappingArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetVirtualRouterSpecListenerPortMapping)(nil)).Elem() } -func (o GetVirtualGatewaySpecLoggingAccessLogFileFormatJsonArrayOutput) ToGetVirtualGatewaySpecLoggingAccessLogFileFormatJsonArrayOutput() GetVirtualGatewaySpecLoggingAccessLogFileFormatJsonArrayOutput { +func (o GetVirtualRouterSpecListenerPortMappingArrayOutput) ToGetVirtualRouterSpecListenerPortMappingArrayOutput() GetVirtualRouterSpecListenerPortMappingArrayOutput { return o } -func (o GetVirtualGatewaySpecLoggingAccessLogFileFormatJsonArrayOutput) ToGetVirtualGatewaySpecLoggingAccessLogFileFormatJsonArrayOutputWithContext(ctx context.Context) GetVirtualGatewaySpecLoggingAccessLogFileFormatJsonArrayOutput { +func (o GetVirtualRouterSpecListenerPortMappingArrayOutput) ToGetVirtualRouterSpecListenerPortMappingArrayOutputWithContext(ctx context.Context) GetVirtualRouterSpecListenerPortMappingArrayOutput { return o } -func (o GetVirtualGatewaySpecLoggingAccessLogFileFormatJsonArrayOutput) Index(i pulumi.IntInput) GetVirtualGatewaySpecLoggingAccessLogFileFormatJsonOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetVirtualGatewaySpecLoggingAccessLogFileFormatJson { - return vs[0].([]GetVirtualGatewaySpecLoggingAccessLogFileFormatJson)[vs[1].(int)] - }).(GetVirtualGatewaySpecLoggingAccessLogFileFormatJsonOutput) +func (o GetVirtualRouterSpecListenerPortMappingArrayOutput) Index(i pulumi.IntInput) GetVirtualRouterSpecListenerPortMappingOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetVirtualRouterSpecListenerPortMapping { + return vs[0].([]GetVirtualRouterSpecListenerPortMapping)[vs[1].(int)] + }).(GetVirtualRouterSpecListenerPortMappingOutput) } type GetVirtualServiceSpec struct { - // App Mesh object that is acting as the provider for a virtual service. Providers []GetVirtualServiceSpecProvider `pulumi:"providers"` } @@ -37256,7 +51625,6 @@ type GetVirtualServiceSpecInput interface { } type GetVirtualServiceSpecArgs struct { - // App Mesh object that is acting as the provider for a virtual service. Providers GetVirtualServiceSpecProviderArrayInput `pulumi:"providers"` } @@ -37311,7 +51679,6 @@ func (o GetVirtualServiceSpecOutput) ToGetVirtualServiceSpecOutputWithContext(ct return o } -// App Mesh object that is acting as the provider for a virtual service. func (o GetVirtualServiceSpecOutput) Providers() GetVirtualServiceSpecProviderArrayOutput { return o.ApplyT(func(v GetVirtualServiceSpec) []GetVirtualServiceSpecProvider { return v.Providers }).(GetVirtualServiceSpecProviderArrayOutput) } @@ -37337,9 +51704,7 @@ func (o GetVirtualServiceSpecArrayOutput) Index(i pulumi.IntInput) GetVirtualSer } type GetVirtualServiceSpecProvider struct { - // Virtual node associated with the virtual service. - VirtualNodes []GetVirtualServiceSpecProviderVirtualNode `pulumi:"virtualNodes"` - // Virtual router associated with the virtual service. + VirtualNodes []GetVirtualServiceSpecProviderVirtualNode `pulumi:"virtualNodes"` VirtualRouters []GetVirtualServiceSpecProviderVirtualRouter `pulumi:"virtualRouters"` } @@ -37355,9 +51720,7 @@ type GetVirtualServiceSpecProviderInput interface { } type GetVirtualServiceSpecProviderArgs struct { - // Virtual node associated with the virtual service. - VirtualNodes GetVirtualServiceSpecProviderVirtualNodeArrayInput `pulumi:"virtualNodes"` - // Virtual router associated with the virtual service. + VirtualNodes GetVirtualServiceSpecProviderVirtualNodeArrayInput `pulumi:"virtualNodes"` VirtualRouters GetVirtualServiceSpecProviderVirtualRouterArrayInput `pulumi:"virtualRouters"` } @@ -37412,14 +51775,12 @@ func (o GetVirtualServiceSpecProviderOutput) ToGetVirtualServiceSpecProviderOutp return o } -// Virtual node associated with the virtual service. func (o GetVirtualServiceSpecProviderOutput) VirtualNodes() GetVirtualServiceSpecProviderVirtualNodeArrayOutput { return o.ApplyT(func(v GetVirtualServiceSpecProvider) []GetVirtualServiceSpecProviderVirtualNode { return v.VirtualNodes }).(GetVirtualServiceSpecProviderVirtualNodeArrayOutput) } -// Virtual router associated with the virtual service. func (o GetVirtualServiceSpecProviderOutput) VirtualRouters() GetVirtualServiceSpecProviderVirtualRouterArrayOutput { return o.ApplyT(func(v GetVirtualServiceSpecProvider) []GetVirtualServiceSpecProviderVirtualRouter { return v.VirtualRouters @@ -37447,7 +51808,6 @@ func (o GetVirtualServiceSpecProviderArrayOutput) Index(i pulumi.IntInput) GetVi } type GetVirtualServiceSpecProviderVirtualNode struct { - // Name of the virtual node that is acting as a service provider. VirtualNodeName string `pulumi:"virtualNodeName"` } @@ -37463,7 +51823,6 @@ type GetVirtualServiceSpecProviderVirtualNodeInput interface { } type GetVirtualServiceSpecProviderVirtualNodeArgs struct { - // Name of the virtual node that is acting as a service provider. VirtualNodeName pulumi.StringInput `pulumi:"virtualNodeName"` } @@ -37518,7 +51877,6 @@ func (o GetVirtualServiceSpecProviderVirtualNodeOutput) ToGetVirtualServiceSpecP return o } -// Name of the virtual node that is acting as a service provider. func (o GetVirtualServiceSpecProviderVirtualNodeOutput) VirtualNodeName() pulumi.StringOutput { return o.ApplyT(func(v GetVirtualServiceSpecProviderVirtualNode) string { return v.VirtualNodeName }).(pulumi.StringOutput) } @@ -37544,7 +51902,6 @@ func (o GetVirtualServiceSpecProviderVirtualNodeArrayOutput) Index(i pulumi.IntI } type GetVirtualServiceSpecProviderVirtualRouter struct { - // Name of the virtual router that is acting as a service provider. VirtualRouterName string `pulumi:"virtualRouterName"` } @@ -37560,7 +51917,6 @@ type GetVirtualServiceSpecProviderVirtualRouterInput interface { } type GetVirtualServiceSpecProviderVirtualRouterArgs struct { - // Name of the virtual router that is acting as a service provider. VirtualRouterName pulumi.StringInput `pulumi:"virtualRouterName"` } @@ -37615,7 +51971,6 @@ func (o GetVirtualServiceSpecProviderVirtualRouterOutput) ToGetVirtualServiceSpe return o } -// Name of the virtual router that is acting as a service provider. func (o GetVirtualServiceSpecProviderVirtualRouterOutput) VirtualRouterName() pulumi.StringOutput { return o.ApplyT(func(v GetVirtualServiceSpecProviderVirtualRouter) string { return v.VirtualRouterName }).(pulumi.StringOutput) } @@ -37669,8 +52024,20 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*GatewayRouteSpecHttp2RouteActionTargetVirtualServicePtrInput)(nil)).Elem(), GatewayRouteSpecHttp2RouteActionTargetVirtualServiceArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GatewayRouteSpecHttp2RouteMatchInput)(nil)).Elem(), GatewayRouteSpecHttp2RouteMatchArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GatewayRouteSpecHttp2RouteMatchPtrInput)(nil)).Elem(), GatewayRouteSpecHttp2RouteMatchArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GatewayRouteSpecHttp2RouteMatchHeaderInput)(nil)).Elem(), GatewayRouteSpecHttp2RouteMatchHeaderArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GatewayRouteSpecHttp2RouteMatchHeaderArrayInput)(nil)).Elem(), GatewayRouteSpecHttp2RouteMatchHeaderArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GatewayRouteSpecHttp2RouteMatchHeaderMatchInput)(nil)).Elem(), GatewayRouteSpecHttp2RouteMatchHeaderMatchArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GatewayRouteSpecHttp2RouteMatchHeaderMatchPtrInput)(nil)).Elem(), GatewayRouteSpecHttp2RouteMatchHeaderMatchArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GatewayRouteSpecHttp2RouteMatchHeaderMatchRangeInput)(nil)).Elem(), GatewayRouteSpecHttp2RouteMatchHeaderMatchRangeArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GatewayRouteSpecHttp2RouteMatchHeaderMatchRangePtrInput)(nil)).Elem(), GatewayRouteSpecHttp2RouteMatchHeaderMatchRangeArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GatewayRouteSpecHttp2RouteMatchHostnameInput)(nil)).Elem(), GatewayRouteSpecHttp2RouteMatchHostnameArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GatewayRouteSpecHttp2RouteMatchHostnamePtrInput)(nil)).Elem(), GatewayRouteSpecHttp2RouteMatchHostnameArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GatewayRouteSpecHttp2RouteMatchPathInput)(nil)).Elem(), GatewayRouteSpecHttp2RouteMatchPathArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GatewayRouteSpecHttp2RouteMatchPathPtrInput)(nil)).Elem(), GatewayRouteSpecHttp2RouteMatchPathArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GatewayRouteSpecHttp2RouteMatchQueryParameterInput)(nil)).Elem(), GatewayRouteSpecHttp2RouteMatchQueryParameterArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GatewayRouteSpecHttp2RouteMatchQueryParameterArrayInput)(nil)).Elem(), GatewayRouteSpecHttp2RouteMatchQueryParameterArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GatewayRouteSpecHttp2RouteMatchQueryParameterMatchInput)(nil)).Elem(), GatewayRouteSpecHttp2RouteMatchQueryParameterMatchArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GatewayRouteSpecHttp2RouteMatchQueryParameterMatchPtrInput)(nil)).Elem(), GatewayRouteSpecHttp2RouteMatchQueryParameterMatchArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GatewayRouteSpecHttpRouteInput)(nil)).Elem(), GatewayRouteSpecHttpRouteArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GatewayRouteSpecHttpRoutePtrInput)(nil)).Elem(), GatewayRouteSpecHttpRouteArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GatewayRouteSpecHttpRouteActionInput)(nil)).Elem(), GatewayRouteSpecHttpRouteActionArgs{}) @@ -37687,8 +52054,20 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*GatewayRouteSpecHttpRouteActionTargetVirtualServicePtrInput)(nil)).Elem(), GatewayRouteSpecHttpRouteActionTargetVirtualServiceArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GatewayRouteSpecHttpRouteMatchInput)(nil)).Elem(), GatewayRouteSpecHttpRouteMatchArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GatewayRouteSpecHttpRouteMatchPtrInput)(nil)).Elem(), GatewayRouteSpecHttpRouteMatchArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GatewayRouteSpecHttpRouteMatchHeaderInput)(nil)).Elem(), GatewayRouteSpecHttpRouteMatchHeaderArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GatewayRouteSpecHttpRouteMatchHeaderArrayInput)(nil)).Elem(), GatewayRouteSpecHttpRouteMatchHeaderArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GatewayRouteSpecHttpRouteMatchHeaderMatchInput)(nil)).Elem(), GatewayRouteSpecHttpRouteMatchHeaderMatchArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GatewayRouteSpecHttpRouteMatchHeaderMatchPtrInput)(nil)).Elem(), GatewayRouteSpecHttpRouteMatchHeaderMatchArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GatewayRouteSpecHttpRouteMatchHeaderMatchRangeInput)(nil)).Elem(), GatewayRouteSpecHttpRouteMatchHeaderMatchRangeArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GatewayRouteSpecHttpRouteMatchHeaderMatchRangePtrInput)(nil)).Elem(), GatewayRouteSpecHttpRouteMatchHeaderMatchRangeArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GatewayRouteSpecHttpRouteMatchHostnameInput)(nil)).Elem(), GatewayRouteSpecHttpRouteMatchHostnameArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GatewayRouteSpecHttpRouteMatchHostnamePtrInput)(nil)).Elem(), GatewayRouteSpecHttpRouteMatchHostnameArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GatewayRouteSpecHttpRouteMatchPathInput)(nil)).Elem(), GatewayRouteSpecHttpRouteMatchPathArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GatewayRouteSpecHttpRouteMatchPathPtrInput)(nil)).Elem(), GatewayRouteSpecHttpRouteMatchPathArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GatewayRouteSpecHttpRouteMatchQueryParameterInput)(nil)).Elem(), GatewayRouteSpecHttpRouteMatchQueryParameterArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GatewayRouteSpecHttpRouteMatchQueryParameterArrayInput)(nil)).Elem(), GatewayRouteSpecHttpRouteMatchQueryParameterArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GatewayRouteSpecHttpRouteMatchQueryParameterMatchInput)(nil)).Elem(), GatewayRouteSpecHttpRouteMatchQueryParameterMatchArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GatewayRouteSpecHttpRouteMatchQueryParameterMatchPtrInput)(nil)).Elem(), GatewayRouteSpecHttpRouteMatchQueryParameterMatchArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*MeshSpecInput)(nil)).Elem(), MeshSpecArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*MeshSpecPtrInput)(nil)).Elem(), MeshSpecArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*MeshSpecEgressFilterInput)(nil)).Elem(), MeshSpecEgressFilterArgs{}) @@ -37733,6 +52112,12 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*RouteSpecHttp2RouteMatchHeaderMatchPtrInput)(nil)).Elem(), RouteSpecHttp2RouteMatchHeaderMatchArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*RouteSpecHttp2RouteMatchHeaderMatchRangeInput)(nil)).Elem(), RouteSpecHttp2RouteMatchHeaderMatchRangeArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*RouteSpecHttp2RouteMatchHeaderMatchRangePtrInput)(nil)).Elem(), RouteSpecHttp2RouteMatchHeaderMatchRangeArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*RouteSpecHttp2RouteMatchPathInput)(nil)).Elem(), RouteSpecHttp2RouteMatchPathArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*RouteSpecHttp2RouteMatchPathPtrInput)(nil)).Elem(), RouteSpecHttp2RouteMatchPathArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*RouteSpecHttp2RouteMatchQueryParameterInput)(nil)).Elem(), RouteSpecHttp2RouteMatchQueryParameterArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*RouteSpecHttp2RouteMatchQueryParameterArrayInput)(nil)).Elem(), RouteSpecHttp2RouteMatchQueryParameterArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*RouteSpecHttp2RouteMatchQueryParameterMatchInput)(nil)).Elem(), RouteSpecHttp2RouteMatchQueryParameterMatchArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*RouteSpecHttp2RouteMatchQueryParameterMatchPtrInput)(nil)).Elem(), RouteSpecHttp2RouteMatchQueryParameterMatchArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*RouteSpecHttp2RouteRetryPolicyInput)(nil)).Elem(), RouteSpecHttp2RouteRetryPolicyArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*RouteSpecHttp2RouteRetryPolicyPtrInput)(nil)).Elem(), RouteSpecHttp2RouteRetryPolicyArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*RouteSpecHttp2RouteRetryPolicyPerRetryTimeoutInput)(nil)).Elem(), RouteSpecHttp2RouteRetryPolicyPerRetryTimeoutArgs{}) @@ -37757,6 +52142,12 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*RouteSpecHttpRouteMatchHeaderMatchPtrInput)(nil)).Elem(), RouteSpecHttpRouteMatchHeaderMatchArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*RouteSpecHttpRouteMatchHeaderMatchRangeInput)(nil)).Elem(), RouteSpecHttpRouteMatchHeaderMatchRangeArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*RouteSpecHttpRouteMatchHeaderMatchRangePtrInput)(nil)).Elem(), RouteSpecHttpRouteMatchHeaderMatchRangeArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*RouteSpecHttpRouteMatchPathInput)(nil)).Elem(), RouteSpecHttpRouteMatchPathArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*RouteSpecHttpRouteMatchPathPtrInput)(nil)).Elem(), RouteSpecHttpRouteMatchPathArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*RouteSpecHttpRouteMatchQueryParameterInput)(nil)).Elem(), RouteSpecHttpRouteMatchQueryParameterArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*RouteSpecHttpRouteMatchQueryParameterArrayInput)(nil)).Elem(), RouteSpecHttpRouteMatchQueryParameterArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*RouteSpecHttpRouteMatchQueryParameterMatchInput)(nil)).Elem(), RouteSpecHttpRouteMatchQueryParameterMatchArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*RouteSpecHttpRouteMatchQueryParameterMatchPtrInput)(nil)).Elem(), RouteSpecHttpRouteMatchQueryParameterMatchArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*RouteSpecHttpRouteRetryPolicyInput)(nil)).Elem(), RouteSpecHttpRouteRetryPolicyArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*RouteSpecHttpRouteRetryPolicyPtrInput)(nil)).Elem(), RouteSpecHttpRouteRetryPolicyArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*RouteSpecHttpRouteRetryPolicyPerRetryTimeoutInput)(nil)).Elem(), RouteSpecHttpRouteRetryPolicyPerRetryTimeoutArgs{}) @@ -38006,6 +52397,78 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*VirtualServiceSpecProviderVirtualNodePtrInput)(nil)).Elem(), VirtualServiceSpecProviderVirtualNodeArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*VirtualServiceSpecProviderVirtualRouterInput)(nil)).Elem(), VirtualServiceSpecProviderVirtualRouterArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*VirtualServiceSpecProviderVirtualRouterPtrInput)(nil)).Elem(), VirtualServiceSpecProviderVirtualRouterArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetGatewayRouteSpecInput)(nil)).Elem(), GetGatewayRouteSpecArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetGatewayRouteSpecArrayInput)(nil)).Elem(), GetGatewayRouteSpecArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetGatewayRouteSpecGrpcRouteInput)(nil)).Elem(), GetGatewayRouteSpecGrpcRouteArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetGatewayRouteSpecGrpcRouteArrayInput)(nil)).Elem(), GetGatewayRouteSpecGrpcRouteArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetGatewayRouteSpecGrpcRouteActionInput)(nil)).Elem(), GetGatewayRouteSpecGrpcRouteActionArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetGatewayRouteSpecGrpcRouteActionArrayInput)(nil)).Elem(), GetGatewayRouteSpecGrpcRouteActionArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetGatewayRouteSpecGrpcRouteActionTargetInput)(nil)).Elem(), GetGatewayRouteSpecGrpcRouteActionTargetArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetGatewayRouteSpecGrpcRouteActionTargetArrayInput)(nil)).Elem(), GetGatewayRouteSpecGrpcRouteActionTargetArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetGatewayRouteSpecGrpcRouteActionTargetVirtualServiceInput)(nil)).Elem(), GetGatewayRouteSpecGrpcRouteActionTargetVirtualServiceArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetGatewayRouteSpecGrpcRouteActionTargetVirtualServiceArrayInput)(nil)).Elem(), GetGatewayRouteSpecGrpcRouteActionTargetVirtualServiceArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetGatewayRouteSpecGrpcRouteMatchInput)(nil)).Elem(), GetGatewayRouteSpecGrpcRouteMatchArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetGatewayRouteSpecGrpcRouteMatchArrayInput)(nil)).Elem(), GetGatewayRouteSpecGrpcRouteMatchArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetGatewayRouteSpecHttp2RouteInput)(nil)).Elem(), GetGatewayRouteSpecHttp2RouteArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetGatewayRouteSpecHttp2RouteArrayInput)(nil)).Elem(), GetGatewayRouteSpecHttp2RouteArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetGatewayRouteSpecHttp2RouteActionInput)(nil)).Elem(), GetGatewayRouteSpecHttp2RouteActionArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetGatewayRouteSpecHttp2RouteActionArrayInput)(nil)).Elem(), GetGatewayRouteSpecHttp2RouteActionArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetGatewayRouteSpecHttp2RouteActionRewriteInput)(nil)).Elem(), GetGatewayRouteSpecHttp2RouteActionRewriteArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetGatewayRouteSpecHttp2RouteActionRewriteArrayInput)(nil)).Elem(), GetGatewayRouteSpecHttp2RouteActionRewriteArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetGatewayRouteSpecHttp2RouteActionRewriteHostnameInput)(nil)).Elem(), GetGatewayRouteSpecHttp2RouteActionRewriteHostnameArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetGatewayRouteSpecHttp2RouteActionRewriteHostnameArrayInput)(nil)).Elem(), GetGatewayRouteSpecHttp2RouteActionRewriteHostnameArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetGatewayRouteSpecHttp2RouteActionRewritePrefixInput)(nil)).Elem(), GetGatewayRouteSpecHttp2RouteActionRewritePrefixArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetGatewayRouteSpecHttp2RouteActionRewritePrefixArrayInput)(nil)).Elem(), GetGatewayRouteSpecHttp2RouteActionRewritePrefixArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetGatewayRouteSpecHttp2RouteActionTargetInput)(nil)).Elem(), GetGatewayRouteSpecHttp2RouteActionTargetArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetGatewayRouteSpecHttp2RouteActionTargetArrayInput)(nil)).Elem(), GetGatewayRouteSpecHttp2RouteActionTargetArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetGatewayRouteSpecHttp2RouteActionTargetVirtualServiceInput)(nil)).Elem(), GetGatewayRouteSpecHttp2RouteActionTargetVirtualServiceArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetGatewayRouteSpecHttp2RouteActionTargetVirtualServiceArrayInput)(nil)).Elem(), GetGatewayRouteSpecHttp2RouteActionTargetVirtualServiceArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetGatewayRouteSpecHttp2RouteMatchInput)(nil)).Elem(), GetGatewayRouteSpecHttp2RouteMatchArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetGatewayRouteSpecHttp2RouteMatchArrayInput)(nil)).Elem(), GetGatewayRouteSpecHttp2RouteMatchArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetGatewayRouteSpecHttp2RouteMatchHeaderInput)(nil)).Elem(), GetGatewayRouteSpecHttp2RouteMatchHeaderArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetGatewayRouteSpecHttp2RouteMatchHeaderArrayInput)(nil)).Elem(), GetGatewayRouteSpecHttp2RouteMatchHeaderArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetGatewayRouteSpecHttp2RouteMatchHeaderMatchInput)(nil)).Elem(), GetGatewayRouteSpecHttp2RouteMatchHeaderMatchArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetGatewayRouteSpecHttp2RouteMatchHeaderMatchArrayInput)(nil)).Elem(), GetGatewayRouteSpecHttp2RouteMatchHeaderMatchArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetGatewayRouteSpecHttp2RouteMatchHeaderMatchRangeInput)(nil)).Elem(), GetGatewayRouteSpecHttp2RouteMatchHeaderMatchRangeArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetGatewayRouteSpecHttp2RouteMatchHeaderMatchRangeArrayInput)(nil)).Elem(), GetGatewayRouteSpecHttp2RouteMatchHeaderMatchRangeArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetGatewayRouteSpecHttp2RouteMatchHostnameInput)(nil)).Elem(), GetGatewayRouteSpecHttp2RouteMatchHostnameArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetGatewayRouteSpecHttp2RouteMatchHostnameArrayInput)(nil)).Elem(), GetGatewayRouteSpecHttp2RouteMatchHostnameArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetGatewayRouteSpecHttp2RouteMatchPathInput)(nil)).Elem(), GetGatewayRouteSpecHttp2RouteMatchPathArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetGatewayRouteSpecHttp2RouteMatchPathArrayInput)(nil)).Elem(), GetGatewayRouteSpecHttp2RouteMatchPathArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetGatewayRouteSpecHttp2RouteMatchQueryParameterInput)(nil)).Elem(), GetGatewayRouteSpecHttp2RouteMatchQueryParameterArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetGatewayRouteSpecHttp2RouteMatchQueryParameterArrayInput)(nil)).Elem(), GetGatewayRouteSpecHttp2RouteMatchQueryParameterArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetGatewayRouteSpecHttp2RouteMatchQueryParameterMatchInput)(nil)).Elem(), GetGatewayRouteSpecHttp2RouteMatchQueryParameterMatchArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetGatewayRouteSpecHttp2RouteMatchQueryParameterMatchArrayInput)(nil)).Elem(), GetGatewayRouteSpecHttp2RouteMatchQueryParameterMatchArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetGatewayRouteSpecHttpRouteInput)(nil)).Elem(), GetGatewayRouteSpecHttpRouteArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetGatewayRouteSpecHttpRouteArrayInput)(nil)).Elem(), GetGatewayRouteSpecHttpRouteArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetGatewayRouteSpecHttpRouteActionInput)(nil)).Elem(), GetGatewayRouteSpecHttpRouteActionArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetGatewayRouteSpecHttpRouteActionArrayInput)(nil)).Elem(), GetGatewayRouteSpecHttpRouteActionArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetGatewayRouteSpecHttpRouteActionRewriteInput)(nil)).Elem(), GetGatewayRouteSpecHttpRouteActionRewriteArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetGatewayRouteSpecHttpRouteActionRewriteArrayInput)(nil)).Elem(), GetGatewayRouteSpecHttpRouteActionRewriteArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetGatewayRouteSpecHttpRouteActionRewriteHostnameInput)(nil)).Elem(), GetGatewayRouteSpecHttpRouteActionRewriteHostnameArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetGatewayRouteSpecHttpRouteActionRewriteHostnameArrayInput)(nil)).Elem(), GetGatewayRouteSpecHttpRouteActionRewriteHostnameArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetGatewayRouteSpecHttpRouteActionRewritePrefixInput)(nil)).Elem(), GetGatewayRouteSpecHttpRouteActionRewritePrefixArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetGatewayRouteSpecHttpRouteActionRewritePrefixArrayInput)(nil)).Elem(), GetGatewayRouteSpecHttpRouteActionRewritePrefixArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetGatewayRouteSpecHttpRouteActionTargetInput)(nil)).Elem(), GetGatewayRouteSpecHttpRouteActionTargetArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetGatewayRouteSpecHttpRouteActionTargetArrayInput)(nil)).Elem(), GetGatewayRouteSpecHttpRouteActionTargetArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetGatewayRouteSpecHttpRouteActionTargetVirtualServiceInput)(nil)).Elem(), GetGatewayRouteSpecHttpRouteActionTargetVirtualServiceArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetGatewayRouteSpecHttpRouteActionTargetVirtualServiceArrayInput)(nil)).Elem(), GetGatewayRouteSpecHttpRouteActionTargetVirtualServiceArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetGatewayRouteSpecHttpRouteMatchInput)(nil)).Elem(), GetGatewayRouteSpecHttpRouteMatchArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetGatewayRouteSpecHttpRouteMatchArrayInput)(nil)).Elem(), GetGatewayRouteSpecHttpRouteMatchArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetGatewayRouteSpecHttpRouteMatchHeaderInput)(nil)).Elem(), GetGatewayRouteSpecHttpRouteMatchHeaderArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetGatewayRouteSpecHttpRouteMatchHeaderArrayInput)(nil)).Elem(), GetGatewayRouteSpecHttpRouteMatchHeaderArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetGatewayRouteSpecHttpRouteMatchHeaderMatchInput)(nil)).Elem(), GetGatewayRouteSpecHttpRouteMatchHeaderMatchArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetGatewayRouteSpecHttpRouteMatchHeaderMatchArrayInput)(nil)).Elem(), GetGatewayRouteSpecHttpRouteMatchHeaderMatchArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetGatewayRouteSpecHttpRouteMatchHeaderMatchRangeInput)(nil)).Elem(), GetGatewayRouteSpecHttpRouteMatchHeaderMatchRangeArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetGatewayRouteSpecHttpRouteMatchHeaderMatchRangeArrayInput)(nil)).Elem(), GetGatewayRouteSpecHttpRouteMatchHeaderMatchRangeArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetGatewayRouteSpecHttpRouteMatchHostnameInput)(nil)).Elem(), GetGatewayRouteSpecHttpRouteMatchHostnameArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetGatewayRouteSpecHttpRouteMatchHostnameArrayInput)(nil)).Elem(), GetGatewayRouteSpecHttpRouteMatchHostnameArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetGatewayRouteSpecHttpRouteMatchPathInput)(nil)).Elem(), GetGatewayRouteSpecHttpRouteMatchPathArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetGatewayRouteSpecHttpRouteMatchPathArrayInput)(nil)).Elem(), GetGatewayRouteSpecHttpRouteMatchPathArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetGatewayRouteSpecHttpRouteMatchQueryParameterInput)(nil)).Elem(), GetGatewayRouteSpecHttpRouteMatchQueryParameterArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetGatewayRouteSpecHttpRouteMatchQueryParameterArrayInput)(nil)).Elem(), GetGatewayRouteSpecHttpRouteMatchQueryParameterArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetGatewayRouteSpecHttpRouteMatchQueryParameterMatchInput)(nil)).Elem(), GetGatewayRouteSpecHttpRouteMatchQueryParameterMatchArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetGatewayRouteSpecHttpRouteMatchQueryParameterMatchArrayInput)(nil)).Elem(), GetGatewayRouteSpecHttpRouteMatchQueryParameterMatchArray{}) pulumi.RegisterInputType(reflect.TypeOf((*GetMeshSpecInput)(nil)).Elem(), GetMeshSpecArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GetMeshSpecArrayInput)(nil)).Elem(), GetMeshSpecArray{}) pulumi.RegisterInputType(reflect.TypeOf((*GetMeshSpecEgressFilterInput)(nil)).Elem(), GetMeshSpecEgressFilterArgs{}) @@ -38050,6 +52513,12 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*GetRouteSpecHttp2RouteMatchHeaderMatchArrayInput)(nil)).Elem(), GetRouteSpecHttp2RouteMatchHeaderMatchArray{}) pulumi.RegisterInputType(reflect.TypeOf((*GetRouteSpecHttp2RouteMatchHeaderMatchRangeInput)(nil)).Elem(), GetRouteSpecHttp2RouteMatchHeaderMatchRangeArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GetRouteSpecHttp2RouteMatchHeaderMatchRangeArrayInput)(nil)).Elem(), GetRouteSpecHttp2RouteMatchHeaderMatchRangeArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetRouteSpecHttp2RouteMatchPathInput)(nil)).Elem(), GetRouteSpecHttp2RouteMatchPathArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetRouteSpecHttp2RouteMatchPathArrayInput)(nil)).Elem(), GetRouteSpecHttp2RouteMatchPathArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetRouteSpecHttp2RouteMatchQueryParameterInput)(nil)).Elem(), GetRouteSpecHttp2RouteMatchQueryParameterArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetRouteSpecHttp2RouteMatchQueryParameterArrayInput)(nil)).Elem(), GetRouteSpecHttp2RouteMatchQueryParameterArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetRouteSpecHttp2RouteMatchQueryParameterMatchInput)(nil)).Elem(), GetRouteSpecHttp2RouteMatchQueryParameterMatchArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetRouteSpecHttp2RouteMatchQueryParameterMatchArrayInput)(nil)).Elem(), GetRouteSpecHttp2RouteMatchQueryParameterMatchArray{}) pulumi.RegisterInputType(reflect.TypeOf((*GetRouteSpecHttp2RouteRetryPolicyInput)(nil)).Elem(), GetRouteSpecHttp2RouteRetryPolicyArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GetRouteSpecHttp2RouteRetryPolicyArrayInput)(nil)).Elem(), GetRouteSpecHttp2RouteRetryPolicyArray{}) pulumi.RegisterInputType(reflect.TypeOf((*GetRouteSpecHttp2RouteRetryPolicyPerRetryTimeoutInput)(nil)).Elem(), GetRouteSpecHttp2RouteRetryPolicyPerRetryTimeoutArgs{}) @@ -38074,6 +52543,12 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*GetRouteSpecHttpRouteMatchHeaderMatchArrayInput)(nil)).Elem(), GetRouteSpecHttpRouteMatchHeaderMatchArray{}) pulumi.RegisterInputType(reflect.TypeOf((*GetRouteSpecHttpRouteMatchHeaderMatchRangeInput)(nil)).Elem(), GetRouteSpecHttpRouteMatchHeaderMatchRangeArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GetRouteSpecHttpRouteMatchHeaderMatchRangeArrayInput)(nil)).Elem(), GetRouteSpecHttpRouteMatchHeaderMatchRangeArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetRouteSpecHttpRouteMatchPathInput)(nil)).Elem(), GetRouteSpecHttpRouteMatchPathArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetRouteSpecHttpRouteMatchPathArrayInput)(nil)).Elem(), GetRouteSpecHttpRouteMatchPathArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetRouteSpecHttpRouteMatchQueryParameterInput)(nil)).Elem(), GetRouteSpecHttpRouteMatchQueryParameterArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetRouteSpecHttpRouteMatchQueryParameterArrayInput)(nil)).Elem(), GetRouteSpecHttpRouteMatchQueryParameterArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetRouteSpecHttpRouteMatchQueryParameterMatchInput)(nil)).Elem(), GetRouteSpecHttpRouteMatchQueryParameterMatchArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetRouteSpecHttpRouteMatchQueryParameterMatchArrayInput)(nil)).Elem(), GetRouteSpecHttpRouteMatchQueryParameterMatchArray{}) pulumi.RegisterInputType(reflect.TypeOf((*GetRouteSpecHttpRouteRetryPolicyInput)(nil)).Elem(), GetRouteSpecHttpRouteRetryPolicyArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GetRouteSpecHttpRouteRetryPolicyArrayInput)(nil)).Elem(), GetRouteSpecHttpRouteRetryPolicyArray{}) pulumi.RegisterInputType(reflect.TypeOf((*GetRouteSpecHttpRouteRetryPolicyPerRetryTimeoutInput)(nil)).Elem(), GetRouteSpecHttpRouteRetryPolicyPerRetryTimeoutArgs{}) @@ -38170,6 +52645,152 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*GetVirtualGatewaySpecLoggingAccessLogFileFormatArrayInput)(nil)).Elem(), GetVirtualGatewaySpecLoggingAccessLogFileFormatArray{}) pulumi.RegisterInputType(reflect.TypeOf((*GetVirtualGatewaySpecLoggingAccessLogFileFormatJsonInput)(nil)).Elem(), GetVirtualGatewaySpecLoggingAccessLogFileFormatJsonArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GetVirtualGatewaySpecLoggingAccessLogFileFormatJsonArrayInput)(nil)).Elem(), GetVirtualGatewaySpecLoggingAccessLogFileFormatJsonArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetVirtualNodeSpecInput)(nil)).Elem(), GetVirtualNodeSpecArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetVirtualNodeSpecArrayInput)(nil)).Elem(), GetVirtualNodeSpecArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetVirtualNodeSpecBackendInput)(nil)).Elem(), GetVirtualNodeSpecBackendArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetVirtualNodeSpecBackendArrayInput)(nil)).Elem(), GetVirtualNodeSpecBackendArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetVirtualNodeSpecBackendDefaultInput)(nil)).Elem(), GetVirtualNodeSpecBackendDefaultArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetVirtualNodeSpecBackendDefaultArrayInput)(nil)).Elem(), GetVirtualNodeSpecBackendDefaultArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetVirtualNodeSpecBackendDefaultClientPolicyInput)(nil)).Elem(), GetVirtualNodeSpecBackendDefaultClientPolicyArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetVirtualNodeSpecBackendDefaultClientPolicyArrayInput)(nil)).Elem(), GetVirtualNodeSpecBackendDefaultClientPolicyArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetVirtualNodeSpecBackendDefaultClientPolicyTlInput)(nil)).Elem(), GetVirtualNodeSpecBackendDefaultClientPolicyTlArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetVirtualNodeSpecBackendDefaultClientPolicyTlArrayInput)(nil)).Elem(), GetVirtualNodeSpecBackendDefaultClientPolicyTlArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetVirtualNodeSpecBackendDefaultClientPolicyTlCertificateInput)(nil)).Elem(), GetVirtualNodeSpecBackendDefaultClientPolicyTlCertificateArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetVirtualNodeSpecBackendDefaultClientPolicyTlCertificateArrayInput)(nil)).Elem(), GetVirtualNodeSpecBackendDefaultClientPolicyTlCertificateArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetVirtualNodeSpecBackendDefaultClientPolicyTlCertificateFileInput)(nil)).Elem(), GetVirtualNodeSpecBackendDefaultClientPolicyTlCertificateFileArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetVirtualNodeSpecBackendDefaultClientPolicyTlCertificateFileArrayInput)(nil)).Elem(), GetVirtualNodeSpecBackendDefaultClientPolicyTlCertificateFileArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetVirtualNodeSpecBackendDefaultClientPolicyTlCertificateSdInput)(nil)).Elem(), GetVirtualNodeSpecBackendDefaultClientPolicyTlCertificateSdArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetVirtualNodeSpecBackendDefaultClientPolicyTlCertificateSdArrayInput)(nil)).Elem(), GetVirtualNodeSpecBackendDefaultClientPolicyTlCertificateSdArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationInput)(nil)).Elem(), GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationArrayInput)(nil)).Elem(), GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameInput)(nil)).Elem(), GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameArrayInput)(nil)).Elem(), GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameMatchInput)(nil)).Elem(), GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameMatchArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameMatchArrayInput)(nil)).Elem(), GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameMatchArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustInput)(nil)).Elem(), GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustArrayInput)(nil)).Elem(), GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustAcmInput)(nil)).Elem(), GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustAcmArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustAcmArrayInput)(nil)).Elem(), GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustAcmArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustFileInput)(nil)).Elem(), GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustFileArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustFileArrayInput)(nil)).Elem(), GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustFileArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustSdInput)(nil)).Elem(), GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustSdArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustSdArrayInput)(nil)).Elem(), GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustSdArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetVirtualNodeSpecBackendVirtualServiceInput)(nil)).Elem(), GetVirtualNodeSpecBackendVirtualServiceArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetVirtualNodeSpecBackendVirtualServiceArrayInput)(nil)).Elem(), GetVirtualNodeSpecBackendVirtualServiceArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetVirtualNodeSpecBackendVirtualServiceClientPolicyInput)(nil)).Elem(), GetVirtualNodeSpecBackendVirtualServiceClientPolicyArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetVirtualNodeSpecBackendVirtualServiceClientPolicyArrayInput)(nil)).Elem(), GetVirtualNodeSpecBackendVirtualServiceClientPolicyArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlInput)(nil)).Elem(), GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlArrayInput)(nil)).Elem(), GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlCertificateInput)(nil)).Elem(), GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlCertificateArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlCertificateArrayInput)(nil)).Elem(), GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlCertificateArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlCertificateFileInput)(nil)).Elem(), GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlCertificateFileArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlCertificateFileArrayInput)(nil)).Elem(), GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlCertificateFileArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlCertificateSdInput)(nil)).Elem(), GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlCertificateSdArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlCertificateSdArrayInput)(nil)).Elem(), GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlCertificateSdArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationInput)(nil)).Elem(), GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationArrayInput)(nil)).Elem(), GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationSubjectAlternativeNameInput)(nil)).Elem(), GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationSubjectAlternativeNameArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationSubjectAlternativeNameArrayInput)(nil)).Elem(), GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationSubjectAlternativeNameArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationSubjectAlternativeNameMatchInput)(nil)).Elem(), GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationSubjectAlternativeNameMatchArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationSubjectAlternativeNameMatchArrayInput)(nil)).Elem(), GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationSubjectAlternativeNameMatchArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustInput)(nil)).Elem(), GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustArrayInput)(nil)).Elem(), GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustAcmInput)(nil)).Elem(), GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustAcmArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustAcmArrayInput)(nil)).Elem(), GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustAcmArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustFileInput)(nil)).Elem(), GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustFileArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustFileArrayInput)(nil)).Elem(), GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustFileArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustSdInput)(nil)).Elem(), GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustSdArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustSdArrayInput)(nil)).Elem(), GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustSdArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetVirtualNodeSpecListenerInput)(nil)).Elem(), GetVirtualNodeSpecListenerArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetVirtualNodeSpecListenerArrayInput)(nil)).Elem(), GetVirtualNodeSpecListenerArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetVirtualNodeSpecListenerConnectionPoolInput)(nil)).Elem(), GetVirtualNodeSpecListenerConnectionPoolArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetVirtualNodeSpecListenerConnectionPoolArrayInput)(nil)).Elem(), GetVirtualNodeSpecListenerConnectionPoolArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetVirtualNodeSpecListenerConnectionPoolGrpcInput)(nil)).Elem(), GetVirtualNodeSpecListenerConnectionPoolGrpcArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetVirtualNodeSpecListenerConnectionPoolGrpcArrayInput)(nil)).Elem(), GetVirtualNodeSpecListenerConnectionPoolGrpcArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetVirtualNodeSpecListenerConnectionPoolHttp2Input)(nil)).Elem(), GetVirtualNodeSpecListenerConnectionPoolHttp2Args{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetVirtualNodeSpecListenerConnectionPoolHttp2ArrayInput)(nil)).Elem(), GetVirtualNodeSpecListenerConnectionPoolHttp2Array{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetVirtualNodeSpecListenerConnectionPoolHttpInput)(nil)).Elem(), GetVirtualNodeSpecListenerConnectionPoolHttpArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetVirtualNodeSpecListenerConnectionPoolHttpArrayInput)(nil)).Elem(), GetVirtualNodeSpecListenerConnectionPoolHttpArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetVirtualNodeSpecListenerConnectionPoolTcpInput)(nil)).Elem(), GetVirtualNodeSpecListenerConnectionPoolTcpArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetVirtualNodeSpecListenerConnectionPoolTcpArrayInput)(nil)).Elem(), GetVirtualNodeSpecListenerConnectionPoolTcpArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetVirtualNodeSpecListenerHealthCheckInput)(nil)).Elem(), GetVirtualNodeSpecListenerHealthCheckArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetVirtualNodeSpecListenerHealthCheckArrayInput)(nil)).Elem(), GetVirtualNodeSpecListenerHealthCheckArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetVirtualNodeSpecListenerOutlierDetectionInput)(nil)).Elem(), GetVirtualNodeSpecListenerOutlierDetectionArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetVirtualNodeSpecListenerOutlierDetectionArrayInput)(nil)).Elem(), GetVirtualNodeSpecListenerOutlierDetectionArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetVirtualNodeSpecListenerOutlierDetectionBaseEjectionDurationInput)(nil)).Elem(), GetVirtualNodeSpecListenerOutlierDetectionBaseEjectionDurationArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetVirtualNodeSpecListenerOutlierDetectionBaseEjectionDurationArrayInput)(nil)).Elem(), GetVirtualNodeSpecListenerOutlierDetectionBaseEjectionDurationArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetVirtualNodeSpecListenerOutlierDetectionIntervalInput)(nil)).Elem(), GetVirtualNodeSpecListenerOutlierDetectionIntervalArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetVirtualNodeSpecListenerOutlierDetectionIntervalArrayInput)(nil)).Elem(), GetVirtualNodeSpecListenerOutlierDetectionIntervalArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetVirtualNodeSpecListenerPortMappingInput)(nil)).Elem(), GetVirtualNodeSpecListenerPortMappingArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetVirtualNodeSpecListenerPortMappingArrayInput)(nil)).Elem(), GetVirtualNodeSpecListenerPortMappingArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetVirtualNodeSpecListenerTimeoutInput)(nil)).Elem(), GetVirtualNodeSpecListenerTimeoutArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetVirtualNodeSpecListenerTimeoutArrayInput)(nil)).Elem(), GetVirtualNodeSpecListenerTimeoutArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetVirtualNodeSpecListenerTimeoutGrpcInput)(nil)).Elem(), GetVirtualNodeSpecListenerTimeoutGrpcArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetVirtualNodeSpecListenerTimeoutGrpcArrayInput)(nil)).Elem(), GetVirtualNodeSpecListenerTimeoutGrpcArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetVirtualNodeSpecListenerTimeoutGrpcIdleInput)(nil)).Elem(), GetVirtualNodeSpecListenerTimeoutGrpcIdleArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetVirtualNodeSpecListenerTimeoutGrpcIdleArrayInput)(nil)).Elem(), GetVirtualNodeSpecListenerTimeoutGrpcIdleArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetVirtualNodeSpecListenerTimeoutGrpcPerRequestInput)(nil)).Elem(), GetVirtualNodeSpecListenerTimeoutGrpcPerRequestArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetVirtualNodeSpecListenerTimeoutGrpcPerRequestArrayInput)(nil)).Elem(), GetVirtualNodeSpecListenerTimeoutGrpcPerRequestArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetVirtualNodeSpecListenerTimeoutHttp2Input)(nil)).Elem(), GetVirtualNodeSpecListenerTimeoutHttp2Args{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetVirtualNodeSpecListenerTimeoutHttp2ArrayInput)(nil)).Elem(), GetVirtualNodeSpecListenerTimeoutHttp2Array{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetVirtualNodeSpecListenerTimeoutHttp2IdleInput)(nil)).Elem(), GetVirtualNodeSpecListenerTimeoutHttp2IdleArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetVirtualNodeSpecListenerTimeoutHttp2IdleArrayInput)(nil)).Elem(), GetVirtualNodeSpecListenerTimeoutHttp2IdleArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetVirtualNodeSpecListenerTimeoutHttp2PerRequestInput)(nil)).Elem(), GetVirtualNodeSpecListenerTimeoutHttp2PerRequestArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetVirtualNodeSpecListenerTimeoutHttp2PerRequestArrayInput)(nil)).Elem(), GetVirtualNodeSpecListenerTimeoutHttp2PerRequestArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetVirtualNodeSpecListenerTimeoutHttpInput)(nil)).Elem(), GetVirtualNodeSpecListenerTimeoutHttpArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetVirtualNodeSpecListenerTimeoutHttpArrayInput)(nil)).Elem(), GetVirtualNodeSpecListenerTimeoutHttpArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetVirtualNodeSpecListenerTimeoutHttpIdleInput)(nil)).Elem(), GetVirtualNodeSpecListenerTimeoutHttpIdleArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetVirtualNodeSpecListenerTimeoutHttpIdleArrayInput)(nil)).Elem(), GetVirtualNodeSpecListenerTimeoutHttpIdleArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetVirtualNodeSpecListenerTimeoutHttpPerRequestInput)(nil)).Elem(), GetVirtualNodeSpecListenerTimeoutHttpPerRequestArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetVirtualNodeSpecListenerTimeoutHttpPerRequestArrayInput)(nil)).Elem(), GetVirtualNodeSpecListenerTimeoutHttpPerRequestArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetVirtualNodeSpecListenerTimeoutTcpInput)(nil)).Elem(), GetVirtualNodeSpecListenerTimeoutTcpArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetVirtualNodeSpecListenerTimeoutTcpArrayInput)(nil)).Elem(), GetVirtualNodeSpecListenerTimeoutTcpArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetVirtualNodeSpecListenerTimeoutTcpIdleInput)(nil)).Elem(), GetVirtualNodeSpecListenerTimeoutTcpIdleArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetVirtualNodeSpecListenerTimeoutTcpIdleArrayInput)(nil)).Elem(), GetVirtualNodeSpecListenerTimeoutTcpIdleArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetVirtualNodeSpecListenerTlInput)(nil)).Elem(), GetVirtualNodeSpecListenerTlArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetVirtualNodeSpecListenerTlArrayInput)(nil)).Elem(), GetVirtualNodeSpecListenerTlArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetVirtualNodeSpecListenerTlCertificateInput)(nil)).Elem(), GetVirtualNodeSpecListenerTlCertificateArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetVirtualNodeSpecListenerTlCertificateArrayInput)(nil)).Elem(), GetVirtualNodeSpecListenerTlCertificateArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetVirtualNodeSpecListenerTlCertificateAcmInput)(nil)).Elem(), GetVirtualNodeSpecListenerTlCertificateAcmArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetVirtualNodeSpecListenerTlCertificateAcmArrayInput)(nil)).Elem(), GetVirtualNodeSpecListenerTlCertificateAcmArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetVirtualNodeSpecListenerTlCertificateFileInput)(nil)).Elem(), GetVirtualNodeSpecListenerTlCertificateFileArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetVirtualNodeSpecListenerTlCertificateFileArrayInput)(nil)).Elem(), GetVirtualNodeSpecListenerTlCertificateFileArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetVirtualNodeSpecListenerTlCertificateSdInput)(nil)).Elem(), GetVirtualNodeSpecListenerTlCertificateSdArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetVirtualNodeSpecListenerTlCertificateSdArrayInput)(nil)).Elem(), GetVirtualNodeSpecListenerTlCertificateSdArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetVirtualNodeSpecListenerTlValidationInput)(nil)).Elem(), GetVirtualNodeSpecListenerTlValidationArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetVirtualNodeSpecListenerTlValidationArrayInput)(nil)).Elem(), GetVirtualNodeSpecListenerTlValidationArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetVirtualNodeSpecListenerTlValidationSubjectAlternativeNameInput)(nil)).Elem(), GetVirtualNodeSpecListenerTlValidationSubjectAlternativeNameArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetVirtualNodeSpecListenerTlValidationSubjectAlternativeNameArrayInput)(nil)).Elem(), GetVirtualNodeSpecListenerTlValidationSubjectAlternativeNameArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetVirtualNodeSpecListenerTlValidationSubjectAlternativeNameMatchInput)(nil)).Elem(), GetVirtualNodeSpecListenerTlValidationSubjectAlternativeNameMatchArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetVirtualNodeSpecListenerTlValidationSubjectAlternativeNameMatchArrayInput)(nil)).Elem(), GetVirtualNodeSpecListenerTlValidationSubjectAlternativeNameMatchArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetVirtualNodeSpecListenerTlValidationTrustInput)(nil)).Elem(), GetVirtualNodeSpecListenerTlValidationTrustArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetVirtualNodeSpecListenerTlValidationTrustArrayInput)(nil)).Elem(), GetVirtualNodeSpecListenerTlValidationTrustArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetVirtualNodeSpecListenerTlValidationTrustFileInput)(nil)).Elem(), GetVirtualNodeSpecListenerTlValidationTrustFileArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetVirtualNodeSpecListenerTlValidationTrustFileArrayInput)(nil)).Elem(), GetVirtualNodeSpecListenerTlValidationTrustFileArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetVirtualNodeSpecListenerTlValidationTrustSdInput)(nil)).Elem(), GetVirtualNodeSpecListenerTlValidationTrustSdArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetVirtualNodeSpecListenerTlValidationTrustSdArrayInput)(nil)).Elem(), GetVirtualNodeSpecListenerTlValidationTrustSdArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetVirtualNodeSpecLoggingInput)(nil)).Elem(), GetVirtualNodeSpecLoggingArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetVirtualNodeSpecLoggingArrayInput)(nil)).Elem(), GetVirtualNodeSpecLoggingArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetVirtualNodeSpecLoggingAccessLogInput)(nil)).Elem(), GetVirtualNodeSpecLoggingAccessLogArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetVirtualNodeSpecLoggingAccessLogArrayInput)(nil)).Elem(), GetVirtualNodeSpecLoggingAccessLogArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetVirtualNodeSpecLoggingAccessLogFileInput)(nil)).Elem(), GetVirtualNodeSpecLoggingAccessLogFileArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetVirtualNodeSpecLoggingAccessLogFileArrayInput)(nil)).Elem(), GetVirtualNodeSpecLoggingAccessLogFileArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetVirtualNodeSpecLoggingAccessLogFileFormatInput)(nil)).Elem(), GetVirtualNodeSpecLoggingAccessLogFileFormatArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetVirtualNodeSpecLoggingAccessLogFileFormatArrayInput)(nil)).Elem(), GetVirtualNodeSpecLoggingAccessLogFileFormatArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetVirtualNodeSpecLoggingAccessLogFileFormatJsonInput)(nil)).Elem(), GetVirtualNodeSpecLoggingAccessLogFileFormatJsonArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetVirtualNodeSpecLoggingAccessLogFileFormatJsonArrayInput)(nil)).Elem(), GetVirtualNodeSpecLoggingAccessLogFileFormatJsonArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetVirtualNodeSpecServiceDiscoveryInput)(nil)).Elem(), GetVirtualNodeSpecServiceDiscoveryArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetVirtualNodeSpecServiceDiscoveryArrayInput)(nil)).Elem(), GetVirtualNodeSpecServiceDiscoveryArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetVirtualNodeSpecServiceDiscoveryAwsCloudMapInput)(nil)).Elem(), GetVirtualNodeSpecServiceDiscoveryAwsCloudMapArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetVirtualNodeSpecServiceDiscoveryAwsCloudMapArrayInput)(nil)).Elem(), GetVirtualNodeSpecServiceDiscoveryAwsCloudMapArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetVirtualNodeSpecServiceDiscoveryDnInput)(nil)).Elem(), GetVirtualNodeSpecServiceDiscoveryDnArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetVirtualNodeSpecServiceDiscoveryDnArrayInput)(nil)).Elem(), GetVirtualNodeSpecServiceDiscoveryDnArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetVirtualRouterSpecInput)(nil)).Elem(), GetVirtualRouterSpecArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetVirtualRouterSpecArrayInput)(nil)).Elem(), GetVirtualRouterSpecArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetVirtualRouterSpecListenerInput)(nil)).Elem(), GetVirtualRouterSpecListenerArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetVirtualRouterSpecListenerArrayInput)(nil)).Elem(), GetVirtualRouterSpecListenerArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetVirtualRouterSpecListenerPortMappingInput)(nil)).Elem(), GetVirtualRouterSpecListenerPortMappingArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetVirtualRouterSpecListenerPortMappingArrayInput)(nil)).Elem(), GetVirtualRouterSpecListenerPortMappingArray{}) pulumi.RegisterInputType(reflect.TypeOf((*GetVirtualServiceSpecInput)(nil)).Elem(), GetVirtualServiceSpecArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GetVirtualServiceSpecArrayInput)(nil)).Elem(), GetVirtualServiceSpecArray{}) pulumi.RegisterInputType(reflect.TypeOf((*GetVirtualServiceSpecProviderInput)(nil)).Elem(), GetVirtualServiceSpecProviderArgs{}) @@ -38206,8 +52827,20 @@ func init() { pulumi.RegisterOutputType(GatewayRouteSpecHttp2RouteActionTargetVirtualServicePtrOutput{}) pulumi.RegisterOutputType(GatewayRouteSpecHttp2RouteMatchOutput{}) pulumi.RegisterOutputType(GatewayRouteSpecHttp2RouteMatchPtrOutput{}) + pulumi.RegisterOutputType(GatewayRouteSpecHttp2RouteMatchHeaderOutput{}) + pulumi.RegisterOutputType(GatewayRouteSpecHttp2RouteMatchHeaderArrayOutput{}) + pulumi.RegisterOutputType(GatewayRouteSpecHttp2RouteMatchHeaderMatchOutput{}) + pulumi.RegisterOutputType(GatewayRouteSpecHttp2RouteMatchHeaderMatchPtrOutput{}) + pulumi.RegisterOutputType(GatewayRouteSpecHttp2RouteMatchHeaderMatchRangeOutput{}) + pulumi.RegisterOutputType(GatewayRouteSpecHttp2RouteMatchHeaderMatchRangePtrOutput{}) pulumi.RegisterOutputType(GatewayRouteSpecHttp2RouteMatchHostnameOutput{}) pulumi.RegisterOutputType(GatewayRouteSpecHttp2RouteMatchHostnamePtrOutput{}) + pulumi.RegisterOutputType(GatewayRouteSpecHttp2RouteMatchPathOutput{}) + pulumi.RegisterOutputType(GatewayRouteSpecHttp2RouteMatchPathPtrOutput{}) + pulumi.RegisterOutputType(GatewayRouteSpecHttp2RouteMatchQueryParameterOutput{}) + pulumi.RegisterOutputType(GatewayRouteSpecHttp2RouteMatchQueryParameterArrayOutput{}) + pulumi.RegisterOutputType(GatewayRouteSpecHttp2RouteMatchQueryParameterMatchOutput{}) + pulumi.RegisterOutputType(GatewayRouteSpecHttp2RouteMatchQueryParameterMatchPtrOutput{}) pulumi.RegisterOutputType(GatewayRouteSpecHttpRouteOutput{}) pulumi.RegisterOutputType(GatewayRouteSpecHttpRoutePtrOutput{}) pulumi.RegisterOutputType(GatewayRouteSpecHttpRouteActionOutput{}) @@ -38224,8 +52857,20 @@ func init() { pulumi.RegisterOutputType(GatewayRouteSpecHttpRouteActionTargetVirtualServicePtrOutput{}) pulumi.RegisterOutputType(GatewayRouteSpecHttpRouteMatchOutput{}) pulumi.RegisterOutputType(GatewayRouteSpecHttpRouteMatchPtrOutput{}) + pulumi.RegisterOutputType(GatewayRouteSpecHttpRouteMatchHeaderOutput{}) + pulumi.RegisterOutputType(GatewayRouteSpecHttpRouteMatchHeaderArrayOutput{}) + pulumi.RegisterOutputType(GatewayRouteSpecHttpRouteMatchHeaderMatchOutput{}) + pulumi.RegisterOutputType(GatewayRouteSpecHttpRouteMatchHeaderMatchPtrOutput{}) + pulumi.RegisterOutputType(GatewayRouteSpecHttpRouteMatchHeaderMatchRangeOutput{}) + pulumi.RegisterOutputType(GatewayRouteSpecHttpRouteMatchHeaderMatchRangePtrOutput{}) pulumi.RegisterOutputType(GatewayRouteSpecHttpRouteMatchHostnameOutput{}) pulumi.RegisterOutputType(GatewayRouteSpecHttpRouteMatchHostnamePtrOutput{}) + pulumi.RegisterOutputType(GatewayRouteSpecHttpRouteMatchPathOutput{}) + pulumi.RegisterOutputType(GatewayRouteSpecHttpRouteMatchPathPtrOutput{}) + pulumi.RegisterOutputType(GatewayRouteSpecHttpRouteMatchQueryParameterOutput{}) + pulumi.RegisterOutputType(GatewayRouteSpecHttpRouteMatchQueryParameterArrayOutput{}) + pulumi.RegisterOutputType(GatewayRouteSpecHttpRouteMatchQueryParameterMatchOutput{}) + pulumi.RegisterOutputType(GatewayRouteSpecHttpRouteMatchQueryParameterMatchPtrOutput{}) pulumi.RegisterOutputType(MeshSpecOutput{}) pulumi.RegisterOutputType(MeshSpecPtrOutput{}) pulumi.RegisterOutputType(MeshSpecEgressFilterOutput{}) @@ -38270,6 +52915,12 @@ func init() { pulumi.RegisterOutputType(RouteSpecHttp2RouteMatchHeaderMatchPtrOutput{}) pulumi.RegisterOutputType(RouteSpecHttp2RouteMatchHeaderMatchRangeOutput{}) pulumi.RegisterOutputType(RouteSpecHttp2RouteMatchHeaderMatchRangePtrOutput{}) + pulumi.RegisterOutputType(RouteSpecHttp2RouteMatchPathOutput{}) + pulumi.RegisterOutputType(RouteSpecHttp2RouteMatchPathPtrOutput{}) + pulumi.RegisterOutputType(RouteSpecHttp2RouteMatchQueryParameterOutput{}) + pulumi.RegisterOutputType(RouteSpecHttp2RouteMatchQueryParameterArrayOutput{}) + pulumi.RegisterOutputType(RouteSpecHttp2RouteMatchQueryParameterMatchOutput{}) + pulumi.RegisterOutputType(RouteSpecHttp2RouteMatchQueryParameterMatchPtrOutput{}) pulumi.RegisterOutputType(RouteSpecHttp2RouteRetryPolicyOutput{}) pulumi.RegisterOutputType(RouteSpecHttp2RouteRetryPolicyPtrOutput{}) pulumi.RegisterOutputType(RouteSpecHttp2RouteRetryPolicyPerRetryTimeoutOutput{}) @@ -38294,6 +52945,12 @@ func init() { pulumi.RegisterOutputType(RouteSpecHttpRouteMatchHeaderMatchPtrOutput{}) pulumi.RegisterOutputType(RouteSpecHttpRouteMatchHeaderMatchRangeOutput{}) pulumi.RegisterOutputType(RouteSpecHttpRouteMatchHeaderMatchRangePtrOutput{}) + pulumi.RegisterOutputType(RouteSpecHttpRouteMatchPathOutput{}) + pulumi.RegisterOutputType(RouteSpecHttpRouteMatchPathPtrOutput{}) + pulumi.RegisterOutputType(RouteSpecHttpRouteMatchQueryParameterOutput{}) + pulumi.RegisterOutputType(RouteSpecHttpRouteMatchQueryParameterArrayOutput{}) + pulumi.RegisterOutputType(RouteSpecHttpRouteMatchQueryParameterMatchOutput{}) + pulumi.RegisterOutputType(RouteSpecHttpRouteMatchQueryParameterMatchPtrOutput{}) pulumi.RegisterOutputType(RouteSpecHttpRouteRetryPolicyOutput{}) pulumi.RegisterOutputType(RouteSpecHttpRouteRetryPolicyPtrOutput{}) pulumi.RegisterOutputType(RouteSpecHttpRouteRetryPolicyPerRetryTimeoutOutput{}) @@ -38543,6 +53200,78 @@ func init() { pulumi.RegisterOutputType(VirtualServiceSpecProviderVirtualNodePtrOutput{}) pulumi.RegisterOutputType(VirtualServiceSpecProviderVirtualRouterOutput{}) pulumi.RegisterOutputType(VirtualServiceSpecProviderVirtualRouterPtrOutput{}) + pulumi.RegisterOutputType(GetGatewayRouteSpecOutput{}) + pulumi.RegisterOutputType(GetGatewayRouteSpecArrayOutput{}) + pulumi.RegisterOutputType(GetGatewayRouteSpecGrpcRouteOutput{}) + pulumi.RegisterOutputType(GetGatewayRouteSpecGrpcRouteArrayOutput{}) + pulumi.RegisterOutputType(GetGatewayRouteSpecGrpcRouteActionOutput{}) + pulumi.RegisterOutputType(GetGatewayRouteSpecGrpcRouteActionArrayOutput{}) + pulumi.RegisterOutputType(GetGatewayRouteSpecGrpcRouteActionTargetOutput{}) + pulumi.RegisterOutputType(GetGatewayRouteSpecGrpcRouteActionTargetArrayOutput{}) + pulumi.RegisterOutputType(GetGatewayRouteSpecGrpcRouteActionTargetVirtualServiceOutput{}) + pulumi.RegisterOutputType(GetGatewayRouteSpecGrpcRouteActionTargetVirtualServiceArrayOutput{}) + pulumi.RegisterOutputType(GetGatewayRouteSpecGrpcRouteMatchOutput{}) + pulumi.RegisterOutputType(GetGatewayRouteSpecGrpcRouteMatchArrayOutput{}) + pulumi.RegisterOutputType(GetGatewayRouteSpecHttp2RouteOutput{}) + pulumi.RegisterOutputType(GetGatewayRouteSpecHttp2RouteArrayOutput{}) + pulumi.RegisterOutputType(GetGatewayRouteSpecHttp2RouteActionOutput{}) + pulumi.RegisterOutputType(GetGatewayRouteSpecHttp2RouteActionArrayOutput{}) + pulumi.RegisterOutputType(GetGatewayRouteSpecHttp2RouteActionRewriteOutput{}) + pulumi.RegisterOutputType(GetGatewayRouteSpecHttp2RouteActionRewriteArrayOutput{}) + pulumi.RegisterOutputType(GetGatewayRouteSpecHttp2RouteActionRewriteHostnameOutput{}) + pulumi.RegisterOutputType(GetGatewayRouteSpecHttp2RouteActionRewriteHostnameArrayOutput{}) + pulumi.RegisterOutputType(GetGatewayRouteSpecHttp2RouteActionRewritePrefixOutput{}) + pulumi.RegisterOutputType(GetGatewayRouteSpecHttp2RouteActionRewritePrefixArrayOutput{}) + pulumi.RegisterOutputType(GetGatewayRouteSpecHttp2RouteActionTargetOutput{}) + pulumi.RegisterOutputType(GetGatewayRouteSpecHttp2RouteActionTargetArrayOutput{}) + pulumi.RegisterOutputType(GetGatewayRouteSpecHttp2RouteActionTargetVirtualServiceOutput{}) + pulumi.RegisterOutputType(GetGatewayRouteSpecHttp2RouteActionTargetVirtualServiceArrayOutput{}) + pulumi.RegisterOutputType(GetGatewayRouteSpecHttp2RouteMatchOutput{}) + pulumi.RegisterOutputType(GetGatewayRouteSpecHttp2RouteMatchArrayOutput{}) + pulumi.RegisterOutputType(GetGatewayRouteSpecHttp2RouteMatchHeaderOutput{}) + pulumi.RegisterOutputType(GetGatewayRouteSpecHttp2RouteMatchHeaderArrayOutput{}) + pulumi.RegisterOutputType(GetGatewayRouteSpecHttp2RouteMatchHeaderMatchOutput{}) + pulumi.RegisterOutputType(GetGatewayRouteSpecHttp2RouteMatchHeaderMatchArrayOutput{}) + pulumi.RegisterOutputType(GetGatewayRouteSpecHttp2RouteMatchHeaderMatchRangeOutput{}) + pulumi.RegisterOutputType(GetGatewayRouteSpecHttp2RouteMatchHeaderMatchRangeArrayOutput{}) + pulumi.RegisterOutputType(GetGatewayRouteSpecHttp2RouteMatchHostnameOutput{}) + pulumi.RegisterOutputType(GetGatewayRouteSpecHttp2RouteMatchHostnameArrayOutput{}) + pulumi.RegisterOutputType(GetGatewayRouteSpecHttp2RouteMatchPathOutput{}) + pulumi.RegisterOutputType(GetGatewayRouteSpecHttp2RouteMatchPathArrayOutput{}) + pulumi.RegisterOutputType(GetGatewayRouteSpecHttp2RouteMatchQueryParameterOutput{}) + pulumi.RegisterOutputType(GetGatewayRouteSpecHttp2RouteMatchQueryParameterArrayOutput{}) + pulumi.RegisterOutputType(GetGatewayRouteSpecHttp2RouteMatchQueryParameterMatchOutput{}) + pulumi.RegisterOutputType(GetGatewayRouteSpecHttp2RouteMatchQueryParameterMatchArrayOutput{}) + pulumi.RegisterOutputType(GetGatewayRouteSpecHttpRouteOutput{}) + pulumi.RegisterOutputType(GetGatewayRouteSpecHttpRouteArrayOutput{}) + pulumi.RegisterOutputType(GetGatewayRouteSpecHttpRouteActionOutput{}) + pulumi.RegisterOutputType(GetGatewayRouteSpecHttpRouteActionArrayOutput{}) + pulumi.RegisterOutputType(GetGatewayRouteSpecHttpRouteActionRewriteOutput{}) + pulumi.RegisterOutputType(GetGatewayRouteSpecHttpRouteActionRewriteArrayOutput{}) + pulumi.RegisterOutputType(GetGatewayRouteSpecHttpRouteActionRewriteHostnameOutput{}) + pulumi.RegisterOutputType(GetGatewayRouteSpecHttpRouteActionRewriteHostnameArrayOutput{}) + pulumi.RegisterOutputType(GetGatewayRouteSpecHttpRouteActionRewritePrefixOutput{}) + pulumi.RegisterOutputType(GetGatewayRouteSpecHttpRouteActionRewritePrefixArrayOutput{}) + pulumi.RegisterOutputType(GetGatewayRouteSpecHttpRouteActionTargetOutput{}) + pulumi.RegisterOutputType(GetGatewayRouteSpecHttpRouteActionTargetArrayOutput{}) + pulumi.RegisterOutputType(GetGatewayRouteSpecHttpRouteActionTargetVirtualServiceOutput{}) + pulumi.RegisterOutputType(GetGatewayRouteSpecHttpRouteActionTargetVirtualServiceArrayOutput{}) + pulumi.RegisterOutputType(GetGatewayRouteSpecHttpRouteMatchOutput{}) + pulumi.RegisterOutputType(GetGatewayRouteSpecHttpRouteMatchArrayOutput{}) + pulumi.RegisterOutputType(GetGatewayRouteSpecHttpRouteMatchHeaderOutput{}) + pulumi.RegisterOutputType(GetGatewayRouteSpecHttpRouteMatchHeaderArrayOutput{}) + pulumi.RegisterOutputType(GetGatewayRouteSpecHttpRouteMatchHeaderMatchOutput{}) + pulumi.RegisterOutputType(GetGatewayRouteSpecHttpRouteMatchHeaderMatchArrayOutput{}) + pulumi.RegisterOutputType(GetGatewayRouteSpecHttpRouteMatchHeaderMatchRangeOutput{}) + pulumi.RegisterOutputType(GetGatewayRouteSpecHttpRouteMatchHeaderMatchRangeArrayOutput{}) + pulumi.RegisterOutputType(GetGatewayRouteSpecHttpRouteMatchHostnameOutput{}) + pulumi.RegisterOutputType(GetGatewayRouteSpecHttpRouteMatchHostnameArrayOutput{}) + pulumi.RegisterOutputType(GetGatewayRouteSpecHttpRouteMatchPathOutput{}) + pulumi.RegisterOutputType(GetGatewayRouteSpecHttpRouteMatchPathArrayOutput{}) + pulumi.RegisterOutputType(GetGatewayRouteSpecHttpRouteMatchQueryParameterOutput{}) + pulumi.RegisterOutputType(GetGatewayRouteSpecHttpRouteMatchQueryParameterArrayOutput{}) + pulumi.RegisterOutputType(GetGatewayRouteSpecHttpRouteMatchQueryParameterMatchOutput{}) + pulumi.RegisterOutputType(GetGatewayRouteSpecHttpRouteMatchQueryParameterMatchArrayOutput{}) pulumi.RegisterOutputType(GetMeshSpecOutput{}) pulumi.RegisterOutputType(GetMeshSpecArrayOutput{}) pulumi.RegisterOutputType(GetMeshSpecEgressFilterOutput{}) @@ -38587,6 +53316,12 @@ func init() { pulumi.RegisterOutputType(GetRouteSpecHttp2RouteMatchHeaderMatchArrayOutput{}) pulumi.RegisterOutputType(GetRouteSpecHttp2RouteMatchHeaderMatchRangeOutput{}) pulumi.RegisterOutputType(GetRouteSpecHttp2RouteMatchHeaderMatchRangeArrayOutput{}) + pulumi.RegisterOutputType(GetRouteSpecHttp2RouteMatchPathOutput{}) + pulumi.RegisterOutputType(GetRouteSpecHttp2RouteMatchPathArrayOutput{}) + pulumi.RegisterOutputType(GetRouteSpecHttp2RouteMatchQueryParameterOutput{}) + pulumi.RegisterOutputType(GetRouteSpecHttp2RouteMatchQueryParameterArrayOutput{}) + pulumi.RegisterOutputType(GetRouteSpecHttp2RouteMatchQueryParameterMatchOutput{}) + pulumi.RegisterOutputType(GetRouteSpecHttp2RouteMatchQueryParameterMatchArrayOutput{}) pulumi.RegisterOutputType(GetRouteSpecHttp2RouteRetryPolicyOutput{}) pulumi.RegisterOutputType(GetRouteSpecHttp2RouteRetryPolicyArrayOutput{}) pulumi.RegisterOutputType(GetRouteSpecHttp2RouteRetryPolicyPerRetryTimeoutOutput{}) @@ -38611,6 +53346,12 @@ func init() { pulumi.RegisterOutputType(GetRouteSpecHttpRouteMatchHeaderMatchArrayOutput{}) pulumi.RegisterOutputType(GetRouteSpecHttpRouteMatchHeaderMatchRangeOutput{}) pulumi.RegisterOutputType(GetRouteSpecHttpRouteMatchHeaderMatchRangeArrayOutput{}) + pulumi.RegisterOutputType(GetRouteSpecHttpRouteMatchPathOutput{}) + pulumi.RegisterOutputType(GetRouteSpecHttpRouteMatchPathArrayOutput{}) + pulumi.RegisterOutputType(GetRouteSpecHttpRouteMatchQueryParameterOutput{}) + pulumi.RegisterOutputType(GetRouteSpecHttpRouteMatchQueryParameterArrayOutput{}) + pulumi.RegisterOutputType(GetRouteSpecHttpRouteMatchQueryParameterMatchOutput{}) + pulumi.RegisterOutputType(GetRouteSpecHttpRouteMatchQueryParameterMatchArrayOutput{}) pulumi.RegisterOutputType(GetRouteSpecHttpRouteRetryPolicyOutput{}) pulumi.RegisterOutputType(GetRouteSpecHttpRouteRetryPolicyArrayOutput{}) pulumi.RegisterOutputType(GetRouteSpecHttpRouteRetryPolicyPerRetryTimeoutOutput{}) @@ -38707,6 +53448,152 @@ func init() { pulumi.RegisterOutputType(GetVirtualGatewaySpecLoggingAccessLogFileFormatArrayOutput{}) pulumi.RegisterOutputType(GetVirtualGatewaySpecLoggingAccessLogFileFormatJsonOutput{}) pulumi.RegisterOutputType(GetVirtualGatewaySpecLoggingAccessLogFileFormatJsonArrayOutput{}) + pulumi.RegisterOutputType(GetVirtualNodeSpecOutput{}) + pulumi.RegisterOutputType(GetVirtualNodeSpecArrayOutput{}) + pulumi.RegisterOutputType(GetVirtualNodeSpecBackendOutput{}) + pulumi.RegisterOutputType(GetVirtualNodeSpecBackendArrayOutput{}) + pulumi.RegisterOutputType(GetVirtualNodeSpecBackendDefaultOutput{}) + pulumi.RegisterOutputType(GetVirtualNodeSpecBackendDefaultArrayOutput{}) + pulumi.RegisterOutputType(GetVirtualNodeSpecBackendDefaultClientPolicyOutput{}) + pulumi.RegisterOutputType(GetVirtualNodeSpecBackendDefaultClientPolicyArrayOutput{}) + pulumi.RegisterOutputType(GetVirtualNodeSpecBackendDefaultClientPolicyTlOutput{}) + pulumi.RegisterOutputType(GetVirtualNodeSpecBackendDefaultClientPolicyTlArrayOutput{}) + pulumi.RegisterOutputType(GetVirtualNodeSpecBackendDefaultClientPolicyTlCertificateOutput{}) + pulumi.RegisterOutputType(GetVirtualNodeSpecBackendDefaultClientPolicyTlCertificateArrayOutput{}) + pulumi.RegisterOutputType(GetVirtualNodeSpecBackendDefaultClientPolicyTlCertificateFileOutput{}) + pulumi.RegisterOutputType(GetVirtualNodeSpecBackendDefaultClientPolicyTlCertificateFileArrayOutput{}) + pulumi.RegisterOutputType(GetVirtualNodeSpecBackendDefaultClientPolicyTlCertificateSdOutput{}) + pulumi.RegisterOutputType(GetVirtualNodeSpecBackendDefaultClientPolicyTlCertificateSdArrayOutput{}) + pulumi.RegisterOutputType(GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationOutput{}) + pulumi.RegisterOutputType(GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationArrayOutput{}) + pulumi.RegisterOutputType(GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameOutput{}) + pulumi.RegisterOutputType(GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameArrayOutput{}) + pulumi.RegisterOutputType(GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameMatchOutput{}) + pulumi.RegisterOutputType(GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameMatchArrayOutput{}) + pulumi.RegisterOutputType(GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustOutput{}) + pulumi.RegisterOutputType(GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustArrayOutput{}) + pulumi.RegisterOutputType(GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustAcmOutput{}) + pulumi.RegisterOutputType(GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustAcmArrayOutput{}) + pulumi.RegisterOutputType(GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustFileOutput{}) + pulumi.RegisterOutputType(GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustFileArrayOutput{}) + pulumi.RegisterOutputType(GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustSdOutput{}) + pulumi.RegisterOutputType(GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustSdArrayOutput{}) + pulumi.RegisterOutputType(GetVirtualNodeSpecBackendVirtualServiceOutput{}) + pulumi.RegisterOutputType(GetVirtualNodeSpecBackendVirtualServiceArrayOutput{}) + pulumi.RegisterOutputType(GetVirtualNodeSpecBackendVirtualServiceClientPolicyOutput{}) + pulumi.RegisterOutputType(GetVirtualNodeSpecBackendVirtualServiceClientPolicyArrayOutput{}) + pulumi.RegisterOutputType(GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlOutput{}) + pulumi.RegisterOutputType(GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlArrayOutput{}) + pulumi.RegisterOutputType(GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlCertificateOutput{}) + pulumi.RegisterOutputType(GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlCertificateArrayOutput{}) + pulumi.RegisterOutputType(GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlCertificateFileOutput{}) + pulumi.RegisterOutputType(GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlCertificateFileArrayOutput{}) + pulumi.RegisterOutputType(GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlCertificateSdOutput{}) + pulumi.RegisterOutputType(GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlCertificateSdArrayOutput{}) + pulumi.RegisterOutputType(GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationOutput{}) + pulumi.RegisterOutputType(GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationArrayOutput{}) + pulumi.RegisterOutputType(GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationSubjectAlternativeNameOutput{}) + pulumi.RegisterOutputType(GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationSubjectAlternativeNameArrayOutput{}) + pulumi.RegisterOutputType(GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationSubjectAlternativeNameMatchOutput{}) + pulumi.RegisterOutputType(GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationSubjectAlternativeNameMatchArrayOutput{}) + pulumi.RegisterOutputType(GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustOutput{}) + pulumi.RegisterOutputType(GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustArrayOutput{}) + pulumi.RegisterOutputType(GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustAcmOutput{}) + pulumi.RegisterOutputType(GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustAcmArrayOutput{}) + pulumi.RegisterOutputType(GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustFileOutput{}) + pulumi.RegisterOutputType(GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustFileArrayOutput{}) + pulumi.RegisterOutputType(GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustSdOutput{}) + pulumi.RegisterOutputType(GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustSdArrayOutput{}) + pulumi.RegisterOutputType(GetVirtualNodeSpecListenerOutput{}) + pulumi.RegisterOutputType(GetVirtualNodeSpecListenerArrayOutput{}) + pulumi.RegisterOutputType(GetVirtualNodeSpecListenerConnectionPoolOutput{}) + pulumi.RegisterOutputType(GetVirtualNodeSpecListenerConnectionPoolArrayOutput{}) + pulumi.RegisterOutputType(GetVirtualNodeSpecListenerConnectionPoolGrpcOutput{}) + pulumi.RegisterOutputType(GetVirtualNodeSpecListenerConnectionPoolGrpcArrayOutput{}) + pulumi.RegisterOutputType(GetVirtualNodeSpecListenerConnectionPoolHttp2Output{}) + pulumi.RegisterOutputType(GetVirtualNodeSpecListenerConnectionPoolHttp2ArrayOutput{}) + pulumi.RegisterOutputType(GetVirtualNodeSpecListenerConnectionPoolHttpOutput{}) + pulumi.RegisterOutputType(GetVirtualNodeSpecListenerConnectionPoolHttpArrayOutput{}) + pulumi.RegisterOutputType(GetVirtualNodeSpecListenerConnectionPoolTcpOutput{}) + pulumi.RegisterOutputType(GetVirtualNodeSpecListenerConnectionPoolTcpArrayOutput{}) + pulumi.RegisterOutputType(GetVirtualNodeSpecListenerHealthCheckOutput{}) + pulumi.RegisterOutputType(GetVirtualNodeSpecListenerHealthCheckArrayOutput{}) + pulumi.RegisterOutputType(GetVirtualNodeSpecListenerOutlierDetectionOutput{}) + pulumi.RegisterOutputType(GetVirtualNodeSpecListenerOutlierDetectionArrayOutput{}) + pulumi.RegisterOutputType(GetVirtualNodeSpecListenerOutlierDetectionBaseEjectionDurationOutput{}) + pulumi.RegisterOutputType(GetVirtualNodeSpecListenerOutlierDetectionBaseEjectionDurationArrayOutput{}) + pulumi.RegisterOutputType(GetVirtualNodeSpecListenerOutlierDetectionIntervalOutput{}) + pulumi.RegisterOutputType(GetVirtualNodeSpecListenerOutlierDetectionIntervalArrayOutput{}) + pulumi.RegisterOutputType(GetVirtualNodeSpecListenerPortMappingOutput{}) + pulumi.RegisterOutputType(GetVirtualNodeSpecListenerPortMappingArrayOutput{}) + pulumi.RegisterOutputType(GetVirtualNodeSpecListenerTimeoutOutput{}) + pulumi.RegisterOutputType(GetVirtualNodeSpecListenerTimeoutArrayOutput{}) + pulumi.RegisterOutputType(GetVirtualNodeSpecListenerTimeoutGrpcOutput{}) + pulumi.RegisterOutputType(GetVirtualNodeSpecListenerTimeoutGrpcArrayOutput{}) + pulumi.RegisterOutputType(GetVirtualNodeSpecListenerTimeoutGrpcIdleOutput{}) + pulumi.RegisterOutputType(GetVirtualNodeSpecListenerTimeoutGrpcIdleArrayOutput{}) + pulumi.RegisterOutputType(GetVirtualNodeSpecListenerTimeoutGrpcPerRequestOutput{}) + pulumi.RegisterOutputType(GetVirtualNodeSpecListenerTimeoutGrpcPerRequestArrayOutput{}) + pulumi.RegisterOutputType(GetVirtualNodeSpecListenerTimeoutHttp2Output{}) + pulumi.RegisterOutputType(GetVirtualNodeSpecListenerTimeoutHttp2ArrayOutput{}) + pulumi.RegisterOutputType(GetVirtualNodeSpecListenerTimeoutHttp2IdleOutput{}) + pulumi.RegisterOutputType(GetVirtualNodeSpecListenerTimeoutHttp2IdleArrayOutput{}) + pulumi.RegisterOutputType(GetVirtualNodeSpecListenerTimeoutHttp2PerRequestOutput{}) + pulumi.RegisterOutputType(GetVirtualNodeSpecListenerTimeoutHttp2PerRequestArrayOutput{}) + pulumi.RegisterOutputType(GetVirtualNodeSpecListenerTimeoutHttpOutput{}) + pulumi.RegisterOutputType(GetVirtualNodeSpecListenerTimeoutHttpArrayOutput{}) + pulumi.RegisterOutputType(GetVirtualNodeSpecListenerTimeoutHttpIdleOutput{}) + pulumi.RegisterOutputType(GetVirtualNodeSpecListenerTimeoutHttpIdleArrayOutput{}) + pulumi.RegisterOutputType(GetVirtualNodeSpecListenerTimeoutHttpPerRequestOutput{}) + pulumi.RegisterOutputType(GetVirtualNodeSpecListenerTimeoutHttpPerRequestArrayOutput{}) + pulumi.RegisterOutputType(GetVirtualNodeSpecListenerTimeoutTcpOutput{}) + pulumi.RegisterOutputType(GetVirtualNodeSpecListenerTimeoutTcpArrayOutput{}) + pulumi.RegisterOutputType(GetVirtualNodeSpecListenerTimeoutTcpIdleOutput{}) + pulumi.RegisterOutputType(GetVirtualNodeSpecListenerTimeoutTcpIdleArrayOutput{}) + pulumi.RegisterOutputType(GetVirtualNodeSpecListenerTlOutput{}) + pulumi.RegisterOutputType(GetVirtualNodeSpecListenerTlArrayOutput{}) + pulumi.RegisterOutputType(GetVirtualNodeSpecListenerTlCertificateOutput{}) + pulumi.RegisterOutputType(GetVirtualNodeSpecListenerTlCertificateArrayOutput{}) + pulumi.RegisterOutputType(GetVirtualNodeSpecListenerTlCertificateAcmOutput{}) + pulumi.RegisterOutputType(GetVirtualNodeSpecListenerTlCertificateAcmArrayOutput{}) + pulumi.RegisterOutputType(GetVirtualNodeSpecListenerTlCertificateFileOutput{}) + pulumi.RegisterOutputType(GetVirtualNodeSpecListenerTlCertificateFileArrayOutput{}) + pulumi.RegisterOutputType(GetVirtualNodeSpecListenerTlCertificateSdOutput{}) + pulumi.RegisterOutputType(GetVirtualNodeSpecListenerTlCertificateSdArrayOutput{}) + pulumi.RegisterOutputType(GetVirtualNodeSpecListenerTlValidationOutput{}) + pulumi.RegisterOutputType(GetVirtualNodeSpecListenerTlValidationArrayOutput{}) + pulumi.RegisterOutputType(GetVirtualNodeSpecListenerTlValidationSubjectAlternativeNameOutput{}) + pulumi.RegisterOutputType(GetVirtualNodeSpecListenerTlValidationSubjectAlternativeNameArrayOutput{}) + pulumi.RegisterOutputType(GetVirtualNodeSpecListenerTlValidationSubjectAlternativeNameMatchOutput{}) + pulumi.RegisterOutputType(GetVirtualNodeSpecListenerTlValidationSubjectAlternativeNameMatchArrayOutput{}) + pulumi.RegisterOutputType(GetVirtualNodeSpecListenerTlValidationTrustOutput{}) + pulumi.RegisterOutputType(GetVirtualNodeSpecListenerTlValidationTrustArrayOutput{}) + pulumi.RegisterOutputType(GetVirtualNodeSpecListenerTlValidationTrustFileOutput{}) + pulumi.RegisterOutputType(GetVirtualNodeSpecListenerTlValidationTrustFileArrayOutput{}) + pulumi.RegisterOutputType(GetVirtualNodeSpecListenerTlValidationTrustSdOutput{}) + pulumi.RegisterOutputType(GetVirtualNodeSpecListenerTlValidationTrustSdArrayOutput{}) + pulumi.RegisterOutputType(GetVirtualNodeSpecLoggingOutput{}) + pulumi.RegisterOutputType(GetVirtualNodeSpecLoggingArrayOutput{}) + pulumi.RegisterOutputType(GetVirtualNodeSpecLoggingAccessLogOutput{}) + pulumi.RegisterOutputType(GetVirtualNodeSpecLoggingAccessLogArrayOutput{}) + pulumi.RegisterOutputType(GetVirtualNodeSpecLoggingAccessLogFileOutput{}) + pulumi.RegisterOutputType(GetVirtualNodeSpecLoggingAccessLogFileArrayOutput{}) + pulumi.RegisterOutputType(GetVirtualNodeSpecLoggingAccessLogFileFormatOutput{}) + pulumi.RegisterOutputType(GetVirtualNodeSpecLoggingAccessLogFileFormatArrayOutput{}) + pulumi.RegisterOutputType(GetVirtualNodeSpecLoggingAccessLogFileFormatJsonOutput{}) + pulumi.RegisterOutputType(GetVirtualNodeSpecLoggingAccessLogFileFormatJsonArrayOutput{}) + pulumi.RegisterOutputType(GetVirtualNodeSpecServiceDiscoveryOutput{}) + pulumi.RegisterOutputType(GetVirtualNodeSpecServiceDiscoveryArrayOutput{}) + pulumi.RegisterOutputType(GetVirtualNodeSpecServiceDiscoveryAwsCloudMapOutput{}) + pulumi.RegisterOutputType(GetVirtualNodeSpecServiceDiscoveryAwsCloudMapArrayOutput{}) + pulumi.RegisterOutputType(GetVirtualNodeSpecServiceDiscoveryDnOutput{}) + pulumi.RegisterOutputType(GetVirtualNodeSpecServiceDiscoveryDnArrayOutput{}) + pulumi.RegisterOutputType(GetVirtualRouterSpecOutput{}) + pulumi.RegisterOutputType(GetVirtualRouterSpecArrayOutput{}) + pulumi.RegisterOutputType(GetVirtualRouterSpecListenerOutput{}) + pulumi.RegisterOutputType(GetVirtualRouterSpecListenerArrayOutput{}) + pulumi.RegisterOutputType(GetVirtualRouterSpecListenerPortMappingOutput{}) + pulumi.RegisterOutputType(GetVirtualRouterSpecListenerPortMappingArrayOutput{}) pulumi.RegisterOutputType(GetVirtualServiceSpecOutput{}) pulumi.RegisterOutputType(GetVirtualServiceSpecArrayOutput{}) pulumi.RegisterOutputType(GetVirtualServiceSpecProviderOutput{}) diff --git a/sdk/go/aws/appmesh/virtualNode.go b/sdk/go/aws/appmesh/virtualNode.go index eb9a6ccc0f8..5eaf6906ba0 100644 --- a/sdk/go/aws/appmesh/virtualNode.go +++ b/sdk/go/aws/appmesh/virtualNode.go @@ -359,6 +359,8 @@ type virtualNodeArgs struct { Spec VirtualNodeSpec `pulumi:"spec"` // 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. Tags map[string]string `pulumi:"tags"` + // Map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. + TagsAll map[string]string `pulumi:"tagsAll"` } // The set of arguments for constructing a VirtualNode resource. @@ -373,6 +375,8 @@ type VirtualNodeArgs struct { Spec VirtualNodeSpecInput // 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. Tags pulumi.StringMapInput + // Map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. + TagsAll pulumi.StringMapInput } func (VirtualNodeArgs) ElementType() reflect.Type { diff --git a/sdk/go/aws/appmesh/virtualRouter.go b/sdk/go/aws/appmesh/virtualRouter.go index 2e5fc25ad26..71877692e3d 100644 --- a/sdk/go/aws/appmesh/virtualRouter.go +++ b/sdk/go/aws/appmesh/virtualRouter.go @@ -188,6 +188,8 @@ type virtualRouterArgs struct { Spec VirtualRouterSpec `pulumi:"spec"` // 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. Tags map[string]string `pulumi:"tags"` + // Map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. + TagsAll map[string]string `pulumi:"tagsAll"` } // The set of arguments for constructing a VirtualRouter resource. @@ -202,6 +204,8 @@ type VirtualRouterArgs struct { Spec VirtualRouterSpecInput // 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. Tags pulumi.StringMapInput + // Map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. + TagsAll pulumi.StringMapInput } func (VirtualRouterArgs) ElementType() reflect.Type { diff --git a/sdk/go/aws/cloudwatch/logDestination.go b/sdk/go/aws/cloudwatch/logDestination.go index 80383863666..571454b32d9 100644 --- a/sdk/go/aws/cloudwatch/logDestination.go +++ b/sdk/go/aws/cloudwatch/logDestination.go @@ -141,6 +141,8 @@ type logDestinationArgs struct { RoleArn string `pulumi:"roleArn"` // 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. Tags map[string]string `pulumi:"tags"` + // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. + TagsAll map[string]string `pulumi:"tagsAll"` // The ARN of the target Amazon Kinesis stream resource for the destination. TargetArn string `pulumi:"targetArn"` } @@ -153,6 +155,8 @@ type LogDestinationArgs struct { RoleArn pulumi.StringInput // 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. Tags pulumi.StringMapInput + // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. + TagsAll pulumi.StringMapInput // The ARN of the target Amazon Kinesis stream resource for the destination. TargetArn pulumi.StringInput } diff --git a/sdk/go/aws/cloudwatch/logGroup.go b/sdk/go/aws/cloudwatch/logGroup.go index 34f7f2a5151..8221d606733 100644 --- a/sdk/go/aws/cloudwatch/logGroup.go +++ b/sdk/go/aws/cloudwatch/logGroup.go @@ -170,6 +170,8 @@ type logGroupArgs struct { SkipDestroy *bool `pulumi:"skipDestroy"` // 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. Tags map[string]string `pulumi:"tags"` + // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. + TagsAll map[string]string `pulumi:"tagsAll"` } // The set of arguments for constructing a LogGroup resource. @@ -190,6 +192,8 @@ type LogGroupArgs struct { SkipDestroy pulumi.BoolPtrInput // 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. Tags pulumi.StringMapInput + // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. + TagsAll pulumi.StringMapInput } func (LogGroupArgs) ElementType() reflect.Type { diff --git a/sdk/go/aws/globalaccelerator/accelerator.go b/sdk/go/aws/globalaccelerator/accelerator.go index 603e5b5e8cb..1d95f7b2019 100644 --- a/sdk/go/aws/globalaccelerator/accelerator.go +++ b/sdk/go/aws/globalaccelerator/accelerator.go @@ -63,6 +63,8 @@ type Accelerator struct { Attributes AcceleratorAttributesPtrOutput `pulumi:"attributes"` // The DNS name of the accelerator. For example, `a5d53ff5ee6bca4ce.awsglobalaccelerator.com`. DnsName pulumi.StringOutput `pulumi:"dnsName"` + // The Domain Name System (DNS) name that Global Accelerator creates that points to a dual-stack accelerator's four static IP addresses: two IPv4 addresses and two IPv6 addresses. For example, `a1234567890abcdef.dualstack.awsglobalaccelerator.com`. + DualStackDnsName pulumi.StringOutput `pulumi:"dualStackDnsName"` // Indicates whether the accelerator is enabled. Defaults to `true`. Valid values: `true`, `false`. Enabled pulumi.BoolPtrOutput `pulumi:"enabled"` // - The Global Accelerator Route 53 zone ID that can be used to @@ -116,6 +118,8 @@ type acceleratorState struct { Attributes *AcceleratorAttributes `pulumi:"attributes"` // The DNS name of the accelerator. For example, `a5d53ff5ee6bca4ce.awsglobalaccelerator.com`. DnsName *string `pulumi:"dnsName"` + // The Domain Name System (DNS) name that Global Accelerator creates that points to a dual-stack accelerator's four static IP addresses: two IPv4 addresses and two IPv6 addresses. For example, `a1234567890abcdef.dualstack.awsglobalaccelerator.com`. + DualStackDnsName *string `pulumi:"dualStackDnsName"` // Indicates whether the accelerator is enabled. Defaults to `true`. Valid values: `true`, `false`. Enabled *bool `pulumi:"enabled"` // - The Global Accelerator Route 53 zone ID that can be used to @@ -141,6 +145,8 @@ type AcceleratorState struct { Attributes AcceleratorAttributesPtrInput // The DNS name of the accelerator. For example, `a5d53ff5ee6bca4ce.awsglobalaccelerator.com`. DnsName pulumi.StringPtrInput + // The Domain Name System (DNS) name that Global Accelerator creates that points to a dual-stack accelerator's four static IP addresses: two IPv4 addresses and two IPv6 addresses. For example, `a1234567890abcdef.dualstack.awsglobalaccelerator.com`. + DualStackDnsName pulumi.StringPtrInput // Indicates whether the accelerator is enabled. Defaults to `true`. Valid values: `true`, `false`. Enabled pulumi.BoolPtrInput // - The Global Accelerator Route 53 zone ID that can be used to @@ -293,6 +299,11 @@ func (o AcceleratorOutput) DnsName() pulumi.StringOutput { return o.ApplyT(func(v *Accelerator) pulumi.StringOutput { return v.DnsName }).(pulumi.StringOutput) } +// The Domain Name System (DNS) name that Global Accelerator creates that points to a dual-stack accelerator's four static IP addresses: two IPv4 addresses and two IPv6 addresses. For example, `a1234567890abcdef.dualstack.awsglobalaccelerator.com`. +func (o AcceleratorOutput) DualStackDnsName() pulumi.StringOutput { + return o.ApplyT(func(v *Accelerator) pulumi.StringOutput { return v.DualStackDnsName }).(pulumi.StringOutput) +} + // Indicates whether the accelerator is enabled. Defaults to `true`. Valid values: `true`, `false`. func (o AcceleratorOutput) Enabled() pulumi.BoolPtrOutput { return o.ApplyT(func(v *Accelerator) pulumi.BoolPtrOutput { return v.Enabled }).(pulumi.BoolPtrOutput) diff --git a/sdk/go/aws/iam/instanceProfile.go b/sdk/go/aws/iam/instanceProfile.go index 3c63a31cef0..b42587ae32e 100644 --- a/sdk/go/aws/iam/instanceProfile.go +++ b/sdk/go/aws/iam/instanceProfile.go @@ -85,7 +85,7 @@ type InstanceProfile struct { // Name of the instance profile. If omitted, this provider will assign a random, unique name. Conflicts with `namePrefix`. Can be a string of characters consisting of upper and lowercase alphanumeric characters and these special characters: `_`, `+`, `=`, `,`, `.`, `@`, `-`. Spaces are not allowed. Name pulumi.StringOutput `pulumi:"name"` // Creates a unique name beginning with the specified prefix. Conflicts with `name`. - NamePrefix pulumi.StringPtrOutput `pulumi:"namePrefix"` + NamePrefix pulumi.StringOutput `pulumi:"namePrefix"` // Path to the instance profile. For more information about paths, see [IAM Identifiers](https://docs.aws.amazon.com/IAM/latest/UserGuide/Using_Identifiers.html) in the IAM User Guide. Can be a string of characters consisting of either a forward slash (`/`) by itself or a string that must begin and end with forward slashes. Can include any ASCII character from the ! (\u0021) through the DEL character (\u007F), including most punctuation characters, digits, and upper and lowercase letters. Path pulumi.StringPtrOutput `pulumi:"path"` // Name of the role to add to the profile. @@ -183,6 +183,8 @@ type instanceProfileArgs struct { Role interface{} `pulumi:"role"` // Map of resource tags for the IAM Instance Profile. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. Tags map[string]string `pulumi:"tags"` + // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. + TagsAll map[string]string `pulumi:"tagsAll"` } // The set of arguments for constructing a InstanceProfile resource. @@ -197,6 +199,8 @@ type InstanceProfileArgs struct { Role pulumi.Input // Map of resource tags for the IAM Instance Profile. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. Tags pulumi.StringMapInput + // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. + TagsAll pulumi.StringMapInput } func (InstanceProfileArgs) ElementType() reflect.Type { @@ -302,8 +306,8 @@ func (o InstanceProfileOutput) Name() pulumi.StringOutput { } // Creates a unique name beginning with the specified prefix. Conflicts with `name`. -func (o InstanceProfileOutput) NamePrefix() pulumi.StringPtrOutput { - return o.ApplyT(func(v *InstanceProfile) pulumi.StringPtrOutput { return v.NamePrefix }).(pulumi.StringPtrOutput) +func (o InstanceProfileOutput) NamePrefix() pulumi.StringOutput { + return o.ApplyT(func(v *InstanceProfile) pulumi.StringOutput { return v.NamePrefix }).(pulumi.StringOutput) } // Path to the instance profile. For more information about paths, see [IAM Identifiers](https://docs.aws.amazon.com/IAM/latest/UserGuide/Using_Identifiers.html) in the IAM User Guide. Can be a string of characters consisting of either a forward slash (`/`) by itself or a string that must begin and end with forward slashes. Can include any ASCII character from the ! (\u0021) through the DEL character (\u007F), including most punctuation characters, digits, and upper and lowercase letters. diff --git a/sdk/go/aws/iam/openIdConnectProvider.go b/sdk/go/aws/iam/openIdConnectProvider.go index 47b80206607..d1db251aaad 100644 --- a/sdk/go/aws/iam/openIdConnectProvider.go +++ b/sdk/go/aws/iam/openIdConnectProvider.go @@ -145,6 +145,8 @@ type openIdConnectProviderArgs struct { ClientIdLists []string `pulumi:"clientIdLists"` // Map of resource tags for the IAM OIDC provider. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. Tags map[string]string `pulumi:"tags"` + // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. + TagsAll map[string]string `pulumi:"tagsAll"` // A list of server certificate thumbprints for the OpenID Connect (OIDC) identity provider's server certificate(s). ThumbprintLists []string `pulumi:"thumbprintLists"` // The URL of the identity provider. Corresponds to the _iss_ claim. @@ -157,6 +159,8 @@ type OpenIdConnectProviderArgs struct { ClientIdLists pulumi.StringArrayInput // Map of resource tags for the IAM OIDC provider. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. Tags pulumi.StringMapInput + // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. + TagsAll pulumi.StringMapInput // A list of server certificate thumbprints for the OpenID Connect (OIDC) identity provider's server certificate(s). ThumbprintLists pulumi.StringArrayInput // The URL of the identity provider. Corresponds to the _iss_ claim. diff --git a/sdk/go/aws/iam/policy.go b/sdk/go/aws/iam/policy.go index 37aea142dfd..5261a7196f4 100644 --- a/sdk/go/aws/iam/policy.go +++ b/sdk/go/aws/iam/policy.go @@ -78,7 +78,7 @@ type Policy struct { // The name of the policy. If omitted, this provider will assign a random, unique name. Name pulumi.StringOutput `pulumi:"name"` // Creates a unique name beginning with the specified prefix. Conflicts with `name`. - NamePrefix pulumi.StringPtrOutput `pulumi:"namePrefix"` + NamePrefix pulumi.StringOutput `pulumi:"namePrefix"` // Path in which to create the policy. // See [IAM Identifiers](https://docs.aws.amazon.com/IAM/latest/UserGuide/Using_Identifiers.html) for more information. Path pulumi.StringPtrOutput `pulumi:"path"` @@ -185,6 +185,8 @@ type policyArgs struct { Policy interface{} `pulumi:"policy"` // Map of resource tags for the IAM Policy. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. Tags map[string]string `pulumi:"tags"` + // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. + TagsAll map[string]string `pulumi:"tagsAll"` } // The set of arguments for constructing a Policy resource. @@ -202,6 +204,8 @@ type PolicyArgs struct { Policy pulumi.Input // Map of resource tags for the IAM Policy. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. Tags pulumi.StringMapInput + // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. + TagsAll pulumi.StringMapInput } func (PolicyArgs) ElementType() reflect.Type { @@ -307,8 +311,8 @@ func (o PolicyOutput) Name() pulumi.StringOutput { } // Creates a unique name beginning with the specified prefix. Conflicts with `name`. -func (o PolicyOutput) NamePrefix() pulumi.StringPtrOutput { - return o.ApplyT(func(v *Policy) pulumi.StringPtrOutput { return v.NamePrefix }).(pulumi.StringPtrOutput) +func (o PolicyOutput) NamePrefix() pulumi.StringOutput { + return o.ApplyT(func(v *Policy) pulumi.StringOutput { return v.NamePrefix }).(pulumi.StringOutput) } // Path in which to create the policy. diff --git a/sdk/go/aws/iam/role.go b/sdk/go/aws/iam/role.go index cfc9b0a8a90..f155bf44ff0 100644 --- a/sdk/go/aws/iam/role.go +++ b/sdk/go/aws/iam/role.go @@ -483,6 +483,8 @@ type roleArgs struct { PermissionsBoundary *string `pulumi:"permissionsBoundary"` // Key-value mapping of tags for the IAM role. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. Tags map[string]string `pulumi:"tags"` + // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. + TagsAll map[string]string `pulumi:"tagsAll"` } // The set of arguments for constructing a Role resource. @@ -508,6 +510,8 @@ type RoleArgs struct { PermissionsBoundary pulumi.StringPtrInput // Key-value mapping of tags for the IAM role. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. Tags pulumi.StringMapInput + // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. + TagsAll pulumi.StringMapInput } func (RoleArgs) ElementType() reflect.Type { diff --git a/sdk/go/aws/iam/samlProvider.go b/sdk/go/aws/iam/samlProvider.go index 5d8498d418c..f46d0014bda 100644 --- a/sdk/go/aws/iam/samlProvider.go +++ b/sdk/go/aws/iam/samlProvider.go @@ -147,6 +147,8 @@ type samlProviderArgs struct { SamlMetadataDocument string `pulumi:"samlMetadataDocument"` // Map of resource tags for the IAM SAML provider. .If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. Tags map[string]string `pulumi:"tags"` + // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. + TagsAll map[string]string `pulumi:"tagsAll"` } // The set of arguments for constructing a SamlProvider resource. @@ -157,6 +159,8 @@ type SamlProviderArgs struct { SamlMetadataDocument pulumi.StringInput // Map of resource tags for the IAM SAML provider. .If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. Tags pulumi.StringMapInput + // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. + TagsAll pulumi.StringMapInput } func (SamlProviderArgs) ElementType() reflect.Type { diff --git a/sdk/go/aws/iam/serverCertificate.go b/sdk/go/aws/iam/serverCertificate.go index c3d13b59b0b..6b678404172 100644 --- a/sdk/go/aws/iam/serverCertificate.go +++ b/sdk/go/aws/iam/serverCertificate.go @@ -332,6 +332,8 @@ type serverCertificateArgs struct { PrivateKey string `pulumi:"privateKey"` // Map of resource tags for the server certificate. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. Tags map[string]string `pulumi:"tags"` + // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. + TagsAll map[string]string `pulumi:"tagsAll"` } // The set of arguments for constructing a ServerCertificate resource. @@ -358,6 +360,8 @@ type ServerCertificateArgs struct { PrivateKey pulumi.StringInput // Map of resource tags for the server certificate. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. Tags pulumi.StringMapInput + // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. + TagsAll pulumi.StringMapInput } func (ServerCertificateArgs) ElementType() reflect.Type { diff --git a/sdk/go/aws/iam/serviceLinkedRole.go b/sdk/go/aws/iam/serviceLinkedRole.go index 098c76cbf56..eb881c6c644 100644 --- a/sdk/go/aws/iam/serviceLinkedRole.go +++ b/sdk/go/aws/iam/serviceLinkedRole.go @@ -163,6 +163,8 @@ type serviceLinkedRoleArgs struct { Description *string `pulumi:"description"` // Key-value mapping of tags for the IAM role. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. Tags map[string]string `pulumi:"tags"` + // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. + TagsAll map[string]string `pulumi:"tagsAll"` } // The set of arguments for constructing a ServiceLinkedRole resource. @@ -175,6 +177,8 @@ type ServiceLinkedRoleArgs struct { Description pulumi.StringPtrInput // Key-value mapping of tags for the IAM role. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. Tags pulumi.StringMapInput + // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. + TagsAll pulumi.StringMapInput } func (ServiceLinkedRoleArgs) ElementType() reflect.Type { diff --git a/sdk/go/aws/iam/user.go b/sdk/go/aws/iam/user.go index e50c7d7ae46..33e552ce8f9 100644 --- a/sdk/go/aws/iam/user.go +++ b/sdk/go/aws/iam/user.go @@ -191,6 +191,8 @@ type userArgs struct { PermissionsBoundary *string `pulumi:"permissionsBoundary"` // Key-value mapping of tags for the IAM user. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. Tags map[string]string `pulumi:"tags"` + // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. + TagsAll map[string]string `pulumi:"tagsAll"` } // The set of arguments for constructing a User resource. @@ -207,6 +209,8 @@ type UserArgs struct { PermissionsBoundary pulumi.StringPtrInput // Key-value mapping of tags for the IAM user. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. Tags pulumi.StringMapInput + // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. + TagsAll pulumi.StringMapInput } func (UserArgs) ElementType() reflect.Type { diff --git a/sdk/go/aws/iam/virtualMfaDevice.go b/sdk/go/aws/iam/virtualMfaDevice.go index 677d7fee150..abef77abe11 100644 --- a/sdk/go/aws/iam/virtualMfaDevice.go +++ b/sdk/go/aws/iam/virtualMfaDevice.go @@ -143,6 +143,8 @@ type virtualMfaDeviceArgs struct { Path *string `pulumi:"path"` // Map of resource tags for the virtual mfa device. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. Tags map[string]string `pulumi:"tags"` + // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. + TagsAll map[string]string `pulumi:"tagsAll"` // The name of the virtual MFA device. Use with path to uniquely identify a virtual MFA device. VirtualMfaDeviceName string `pulumi:"virtualMfaDeviceName"` } @@ -153,6 +155,8 @@ type VirtualMfaDeviceArgs struct { Path pulumi.StringPtrInput // Map of resource tags for the virtual mfa device. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. Tags pulumi.StringMapInput + // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. + TagsAll pulumi.StringMapInput // The name of the virtual MFA device. Use with path to uniquely identify a virtual MFA device. VirtualMfaDeviceName pulumi.StringInput } diff --git a/sdk/go/aws/inspector/assessmentTemplate.go b/sdk/go/aws/inspector/assessmentTemplate.go index ff31f889341..2db018a4d3b 100644 --- a/sdk/go/aws/inspector/assessmentTemplate.go +++ b/sdk/go/aws/inspector/assessmentTemplate.go @@ -172,6 +172,8 @@ type assessmentTemplateArgs struct { RulesPackageArns []string `pulumi:"rulesPackageArns"` // Key-value map of tags for the Inspector assessment template. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. Tags map[string]string `pulumi:"tags"` + // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. + TagsAll map[string]string `pulumi:"tagsAll"` // The assessment target ARN to attach the template to. TargetArn string `pulumi:"targetArn"` } @@ -188,6 +190,8 @@ type AssessmentTemplateArgs struct { RulesPackageArns pulumi.StringArrayInput // Key-value map of tags for the Inspector assessment template. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. Tags pulumi.StringMapInput + // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. + TagsAll pulumi.StringMapInput // The assessment target ARN to attach the template to. TargetArn pulumi.StringInput } diff --git a/sdk/go/aws/oam/getSink.go b/sdk/go/aws/oam/getSink.go new file mode 100644 index 00000000000..e26f29dabec --- /dev/null +++ b/sdk/go/aws/oam/getSink.go @@ -0,0 +1,144 @@ +// Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package oam + +import ( + "context" + "reflect" + + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +// Data source for managing an AWS CloudWatch Observability Access Manager Sink. +// +// ## Example Usage +// ### Basic Usage +// +// ```go +// package main +// +// import ( +// +// "github.com/pulumi/pulumi-aws/sdk/v5/go/aws/oam" +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// _, err := oam.LookupSink(ctx, &oam.LookupSinkArgs{ +// SinkIdentifier: "arn:aws:oam:us-west-1:111111111111:sink/abcd1234-a123-456a-a12b-a123b456c789", +// }, nil) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +func LookupSink(ctx *pulumi.Context, args *LookupSinkArgs, opts ...pulumi.InvokeOption) (*LookupSinkResult, error) { + var rv LookupSinkResult + err := ctx.Invoke("aws:oam/getSink:getSink", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getSink. +type LookupSinkArgs struct { + // ARN of the sink. + SinkIdentifier string `pulumi:"sinkIdentifier"` + // Tags assigned to the sink. + Tags map[string]string `pulumi:"tags"` +} + +// A collection of values returned by getSink. +type LookupSinkResult struct { + // ARN of the sink. + Arn string `pulumi:"arn"` + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + // Name of the sink. + Name string `pulumi:"name"` + // Random ID string that AWS generated as part of the sink ARN. + SinkId string `pulumi:"sinkId"` + SinkIdentifier string `pulumi:"sinkIdentifier"` + // Tags assigned to the sink. + Tags map[string]string `pulumi:"tags"` +} + +func LookupSinkOutput(ctx *pulumi.Context, args LookupSinkOutputArgs, opts ...pulumi.InvokeOption) LookupSinkResultOutput { + return pulumi.ToOutputWithContext(context.Background(), args). + ApplyT(func(v interface{}) (LookupSinkResult, error) { + args := v.(LookupSinkArgs) + r, err := LookupSink(ctx, &args, opts...) + var s LookupSinkResult + if r != nil { + s = *r + } + return s, err + }).(LookupSinkResultOutput) +} + +// A collection of arguments for invoking getSink. +type LookupSinkOutputArgs struct { + // ARN of the sink. + SinkIdentifier pulumi.StringInput `pulumi:"sinkIdentifier"` + // Tags assigned to the sink. + Tags pulumi.StringMapInput `pulumi:"tags"` +} + +func (LookupSinkOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*LookupSinkArgs)(nil)).Elem() +} + +// A collection of values returned by getSink. +type LookupSinkResultOutput struct{ *pulumi.OutputState } + +func (LookupSinkResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*LookupSinkResult)(nil)).Elem() +} + +func (o LookupSinkResultOutput) ToLookupSinkResultOutput() LookupSinkResultOutput { + return o +} + +func (o LookupSinkResultOutput) ToLookupSinkResultOutputWithContext(ctx context.Context) LookupSinkResultOutput { + return o +} + +// ARN of the sink. +func (o LookupSinkResultOutput) Arn() pulumi.StringOutput { + return o.ApplyT(func(v LookupSinkResult) string { return v.Arn }).(pulumi.StringOutput) +} + +// The provider-assigned unique ID for this managed resource. +func (o LookupSinkResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v LookupSinkResult) string { return v.Id }).(pulumi.StringOutput) +} + +// Name of the sink. +func (o LookupSinkResultOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v LookupSinkResult) string { return v.Name }).(pulumi.StringOutput) +} + +// Random ID string that AWS generated as part of the sink ARN. +func (o LookupSinkResultOutput) SinkId() pulumi.StringOutput { + return o.ApplyT(func(v LookupSinkResult) string { return v.SinkId }).(pulumi.StringOutput) +} + +func (o LookupSinkResultOutput) SinkIdentifier() pulumi.StringOutput { + return o.ApplyT(func(v LookupSinkResult) string { return v.SinkIdentifier }).(pulumi.StringOutput) +} + +// Tags assigned to the sink. +func (o LookupSinkResultOutput) Tags() pulumi.StringMapOutput { + return o.ApplyT(func(v LookupSinkResult) map[string]string { return v.Tags }).(pulumi.StringMapOutput) +} + +func init() { + pulumi.RegisterOutputType(LookupSinkResultOutput{}) +} diff --git a/sdk/go/aws/oam/getSinks.go b/sdk/go/aws/oam/getSinks.go new file mode 100644 index 00000000000..26cba226700 --- /dev/null +++ b/sdk/go/aws/oam/getSinks.go @@ -0,0 +1,51 @@ +// Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package oam + +import ( + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +// Data source for managing an AWS CloudWatch Observability Access Manager Sinks. +// +// ## Example Usage +// ### Basic Usage +// +// ```go +// package main +// +// import ( +// +// "github.com/pulumi/pulumi-aws/sdk/v5/go/aws/oam" +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// _, err := oam.GetSinks(ctx, nil, nil) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +func GetSinks(ctx *pulumi.Context, opts ...pulumi.InvokeOption) (*GetSinksResult, error) { + var rv GetSinksResult + err := ctx.Invoke("aws:oam/getSinks:getSinks", nil, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of values returned by getSinks. +type GetSinksResult struct { + // Set of ARN of the Sinks. + Arns []string `pulumi:"arns"` + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` +} diff --git a/sdk/go/aws/rbin/init.go b/sdk/go/aws/rbin/init.go new file mode 100644 index 00000000000..d703cbd6fc8 --- /dev/null +++ b/sdk/go/aws/rbin/init.go @@ -0,0 +1,44 @@ +// Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package rbin + +import ( + "fmt" + + "github.com/blang/semver" + "github.com/pulumi/pulumi-aws/sdk/v5/go/aws" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +type module struct { + version semver.Version +} + +func (m *module) Version() semver.Version { + return m.version +} + +func (m *module) Construct(ctx *pulumi.Context, name, typ, urn string) (r pulumi.Resource, err error) { + switch typ { + case "aws:rbin/rule:Rule": + r = &Rule{} + default: + return nil, fmt.Errorf("unknown resource type: %s", typ) + } + + err = ctx.RegisterResource(typ, name, nil, r, pulumi.URN_(urn)) + return +} + +func init() { + version, err := aws.PkgVersion() + if err != nil { + version = semver.Version{Major: 1} + } + pulumi.RegisterResourceModule( + "aws", + "rbin/rule", + &module{version}, + ) +} diff --git a/sdk/go/aws/rbin/pulumiTypes.go b/sdk/go/aws/rbin/pulumiTypes.go new file mode 100644 index 00000000000..51441ccf088 --- /dev/null +++ b/sdk/go/aws/rbin/pulumiTypes.go @@ -0,0 +1,585 @@ +// Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package rbin + +import ( + "context" + "reflect" + + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +type RuleLockConfiguration struct { + // Information about the retention rule unlock delay. See `unlockDelay` below. + UnlockDelay RuleLockConfigurationUnlockDelay `pulumi:"unlockDelay"` +} + +// RuleLockConfigurationInput is an input type that accepts RuleLockConfigurationArgs and RuleLockConfigurationOutput values. +// You can construct a concrete instance of `RuleLockConfigurationInput` via: +// +// RuleLockConfigurationArgs{...} +type RuleLockConfigurationInput interface { + pulumi.Input + + ToRuleLockConfigurationOutput() RuleLockConfigurationOutput + ToRuleLockConfigurationOutputWithContext(context.Context) RuleLockConfigurationOutput +} + +type RuleLockConfigurationArgs struct { + // Information about the retention rule unlock delay. See `unlockDelay` below. + UnlockDelay RuleLockConfigurationUnlockDelayInput `pulumi:"unlockDelay"` +} + +func (RuleLockConfigurationArgs) ElementType() reflect.Type { + return reflect.TypeOf((*RuleLockConfiguration)(nil)).Elem() +} + +func (i RuleLockConfigurationArgs) ToRuleLockConfigurationOutput() RuleLockConfigurationOutput { + return i.ToRuleLockConfigurationOutputWithContext(context.Background()) +} + +func (i RuleLockConfigurationArgs) ToRuleLockConfigurationOutputWithContext(ctx context.Context) RuleLockConfigurationOutput { + return pulumi.ToOutputWithContext(ctx, i).(RuleLockConfigurationOutput) +} + +func (i RuleLockConfigurationArgs) ToRuleLockConfigurationPtrOutput() RuleLockConfigurationPtrOutput { + return i.ToRuleLockConfigurationPtrOutputWithContext(context.Background()) +} + +func (i RuleLockConfigurationArgs) ToRuleLockConfigurationPtrOutputWithContext(ctx context.Context) RuleLockConfigurationPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(RuleLockConfigurationOutput).ToRuleLockConfigurationPtrOutputWithContext(ctx) +} + +// RuleLockConfigurationPtrInput is an input type that accepts RuleLockConfigurationArgs, RuleLockConfigurationPtr and RuleLockConfigurationPtrOutput values. +// You can construct a concrete instance of `RuleLockConfigurationPtrInput` via: +// +// RuleLockConfigurationArgs{...} +// +// or: +// +// nil +type RuleLockConfigurationPtrInput interface { + pulumi.Input + + ToRuleLockConfigurationPtrOutput() RuleLockConfigurationPtrOutput + ToRuleLockConfigurationPtrOutputWithContext(context.Context) RuleLockConfigurationPtrOutput +} + +type ruleLockConfigurationPtrType RuleLockConfigurationArgs + +func RuleLockConfigurationPtr(v *RuleLockConfigurationArgs) RuleLockConfigurationPtrInput { + return (*ruleLockConfigurationPtrType)(v) +} + +func (*ruleLockConfigurationPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**RuleLockConfiguration)(nil)).Elem() +} + +func (i *ruleLockConfigurationPtrType) ToRuleLockConfigurationPtrOutput() RuleLockConfigurationPtrOutput { + return i.ToRuleLockConfigurationPtrOutputWithContext(context.Background()) +} + +func (i *ruleLockConfigurationPtrType) ToRuleLockConfigurationPtrOutputWithContext(ctx context.Context) RuleLockConfigurationPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(RuleLockConfigurationPtrOutput) +} + +type RuleLockConfigurationOutput struct{ *pulumi.OutputState } + +func (RuleLockConfigurationOutput) ElementType() reflect.Type { + return reflect.TypeOf((*RuleLockConfiguration)(nil)).Elem() +} + +func (o RuleLockConfigurationOutput) ToRuleLockConfigurationOutput() RuleLockConfigurationOutput { + return o +} + +func (o RuleLockConfigurationOutput) ToRuleLockConfigurationOutputWithContext(ctx context.Context) RuleLockConfigurationOutput { + return o +} + +func (o RuleLockConfigurationOutput) ToRuleLockConfigurationPtrOutput() RuleLockConfigurationPtrOutput { + return o.ToRuleLockConfigurationPtrOutputWithContext(context.Background()) +} + +func (o RuleLockConfigurationOutput) ToRuleLockConfigurationPtrOutputWithContext(ctx context.Context) RuleLockConfigurationPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v RuleLockConfiguration) *RuleLockConfiguration { + return &v + }).(RuleLockConfigurationPtrOutput) +} + +// Information about the retention rule unlock delay. See `unlockDelay` below. +func (o RuleLockConfigurationOutput) UnlockDelay() RuleLockConfigurationUnlockDelayOutput { + return o.ApplyT(func(v RuleLockConfiguration) RuleLockConfigurationUnlockDelay { return v.UnlockDelay }).(RuleLockConfigurationUnlockDelayOutput) +} + +type RuleLockConfigurationPtrOutput struct{ *pulumi.OutputState } + +func (RuleLockConfigurationPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**RuleLockConfiguration)(nil)).Elem() +} + +func (o RuleLockConfigurationPtrOutput) ToRuleLockConfigurationPtrOutput() RuleLockConfigurationPtrOutput { + return o +} + +func (o RuleLockConfigurationPtrOutput) ToRuleLockConfigurationPtrOutputWithContext(ctx context.Context) RuleLockConfigurationPtrOutput { + return o +} + +func (o RuleLockConfigurationPtrOutput) Elem() RuleLockConfigurationOutput { + return o.ApplyT(func(v *RuleLockConfiguration) RuleLockConfiguration { + if v != nil { + return *v + } + var ret RuleLockConfiguration + return ret + }).(RuleLockConfigurationOutput) +} + +// Information about the retention rule unlock delay. See `unlockDelay` below. +func (o RuleLockConfigurationPtrOutput) UnlockDelay() RuleLockConfigurationUnlockDelayPtrOutput { + return o.ApplyT(func(v *RuleLockConfiguration) *RuleLockConfigurationUnlockDelay { + if v == nil { + return nil + } + return &v.UnlockDelay + }).(RuleLockConfigurationUnlockDelayPtrOutput) +} + +type RuleLockConfigurationUnlockDelay struct { + // The unit of time in which to measure the unlock delay. Currently, the unlock delay can be measure only in days. + UnlockDelayUnit string `pulumi:"unlockDelayUnit"` + // The unlock delay period, measured in the unit specified for UnlockDelayUnit. + UnlockDelayValue int `pulumi:"unlockDelayValue"` +} + +// RuleLockConfigurationUnlockDelayInput is an input type that accepts RuleLockConfigurationUnlockDelayArgs and RuleLockConfigurationUnlockDelayOutput values. +// You can construct a concrete instance of `RuleLockConfigurationUnlockDelayInput` via: +// +// RuleLockConfigurationUnlockDelayArgs{...} +type RuleLockConfigurationUnlockDelayInput interface { + pulumi.Input + + ToRuleLockConfigurationUnlockDelayOutput() RuleLockConfigurationUnlockDelayOutput + ToRuleLockConfigurationUnlockDelayOutputWithContext(context.Context) RuleLockConfigurationUnlockDelayOutput +} + +type RuleLockConfigurationUnlockDelayArgs struct { + // The unit of time in which to measure the unlock delay. Currently, the unlock delay can be measure only in days. + UnlockDelayUnit pulumi.StringInput `pulumi:"unlockDelayUnit"` + // The unlock delay period, measured in the unit specified for UnlockDelayUnit. + UnlockDelayValue pulumi.IntInput `pulumi:"unlockDelayValue"` +} + +func (RuleLockConfigurationUnlockDelayArgs) ElementType() reflect.Type { + return reflect.TypeOf((*RuleLockConfigurationUnlockDelay)(nil)).Elem() +} + +func (i RuleLockConfigurationUnlockDelayArgs) ToRuleLockConfigurationUnlockDelayOutput() RuleLockConfigurationUnlockDelayOutput { + return i.ToRuleLockConfigurationUnlockDelayOutputWithContext(context.Background()) +} + +func (i RuleLockConfigurationUnlockDelayArgs) ToRuleLockConfigurationUnlockDelayOutputWithContext(ctx context.Context) RuleLockConfigurationUnlockDelayOutput { + return pulumi.ToOutputWithContext(ctx, i).(RuleLockConfigurationUnlockDelayOutput) +} + +func (i RuleLockConfigurationUnlockDelayArgs) ToRuleLockConfigurationUnlockDelayPtrOutput() RuleLockConfigurationUnlockDelayPtrOutput { + return i.ToRuleLockConfigurationUnlockDelayPtrOutputWithContext(context.Background()) +} + +func (i RuleLockConfigurationUnlockDelayArgs) ToRuleLockConfigurationUnlockDelayPtrOutputWithContext(ctx context.Context) RuleLockConfigurationUnlockDelayPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(RuleLockConfigurationUnlockDelayOutput).ToRuleLockConfigurationUnlockDelayPtrOutputWithContext(ctx) +} + +// RuleLockConfigurationUnlockDelayPtrInput is an input type that accepts RuleLockConfigurationUnlockDelayArgs, RuleLockConfigurationUnlockDelayPtr and RuleLockConfigurationUnlockDelayPtrOutput values. +// You can construct a concrete instance of `RuleLockConfigurationUnlockDelayPtrInput` via: +// +// RuleLockConfigurationUnlockDelayArgs{...} +// +// or: +// +// nil +type RuleLockConfigurationUnlockDelayPtrInput interface { + pulumi.Input + + ToRuleLockConfigurationUnlockDelayPtrOutput() RuleLockConfigurationUnlockDelayPtrOutput + ToRuleLockConfigurationUnlockDelayPtrOutputWithContext(context.Context) RuleLockConfigurationUnlockDelayPtrOutput +} + +type ruleLockConfigurationUnlockDelayPtrType RuleLockConfigurationUnlockDelayArgs + +func RuleLockConfigurationUnlockDelayPtr(v *RuleLockConfigurationUnlockDelayArgs) RuleLockConfigurationUnlockDelayPtrInput { + return (*ruleLockConfigurationUnlockDelayPtrType)(v) +} + +func (*ruleLockConfigurationUnlockDelayPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**RuleLockConfigurationUnlockDelay)(nil)).Elem() +} + +func (i *ruleLockConfigurationUnlockDelayPtrType) ToRuleLockConfigurationUnlockDelayPtrOutput() RuleLockConfigurationUnlockDelayPtrOutput { + return i.ToRuleLockConfigurationUnlockDelayPtrOutputWithContext(context.Background()) +} + +func (i *ruleLockConfigurationUnlockDelayPtrType) ToRuleLockConfigurationUnlockDelayPtrOutputWithContext(ctx context.Context) RuleLockConfigurationUnlockDelayPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(RuleLockConfigurationUnlockDelayPtrOutput) +} + +type RuleLockConfigurationUnlockDelayOutput struct{ *pulumi.OutputState } + +func (RuleLockConfigurationUnlockDelayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*RuleLockConfigurationUnlockDelay)(nil)).Elem() +} + +func (o RuleLockConfigurationUnlockDelayOutput) ToRuleLockConfigurationUnlockDelayOutput() RuleLockConfigurationUnlockDelayOutput { + return o +} + +func (o RuleLockConfigurationUnlockDelayOutput) ToRuleLockConfigurationUnlockDelayOutputWithContext(ctx context.Context) RuleLockConfigurationUnlockDelayOutput { + return o +} + +func (o RuleLockConfigurationUnlockDelayOutput) ToRuleLockConfigurationUnlockDelayPtrOutput() RuleLockConfigurationUnlockDelayPtrOutput { + return o.ToRuleLockConfigurationUnlockDelayPtrOutputWithContext(context.Background()) +} + +func (o RuleLockConfigurationUnlockDelayOutput) ToRuleLockConfigurationUnlockDelayPtrOutputWithContext(ctx context.Context) RuleLockConfigurationUnlockDelayPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v RuleLockConfigurationUnlockDelay) *RuleLockConfigurationUnlockDelay { + return &v + }).(RuleLockConfigurationUnlockDelayPtrOutput) +} + +// The unit of time in which to measure the unlock delay. Currently, the unlock delay can be measure only in days. +func (o RuleLockConfigurationUnlockDelayOutput) UnlockDelayUnit() pulumi.StringOutput { + return o.ApplyT(func(v RuleLockConfigurationUnlockDelay) string { return v.UnlockDelayUnit }).(pulumi.StringOutput) +} + +// The unlock delay period, measured in the unit specified for UnlockDelayUnit. +func (o RuleLockConfigurationUnlockDelayOutput) UnlockDelayValue() pulumi.IntOutput { + return o.ApplyT(func(v RuleLockConfigurationUnlockDelay) int { return v.UnlockDelayValue }).(pulumi.IntOutput) +} + +type RuleLockConfigurationUnlockDelayPtrOutput struct{ *pulumi.OutputState } + +func (RuleLockConfigurationUnlockDelayPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**RuleLockConfigurationUnlockDelay)(nil)).Elem() +} + +func (o RuleLockConfigurationUnlockDelayPtrOutput) ToRuleLockConfigurationUnlockDelayPtrOutput() RuleLockConfigurationUnlockDelayPtrOutput { + return o +} + +func (o RuleLockConfigurationUnlockDelayPtrOutput) ToRuleLockConfigurationUnlockDelayPtrOutputWithContext(ctx context.Context) RuleLockConfigurationUnlockDelayPtrOutput { + return o +} + +func (o RuleLockConfigurationUnlockDelayPtrOutput) Elem() RuleLockConfigurationUnlockDelayOutput { + return o.ApplyT(func(v *RuleLockConfigurationUnlockDelay) RuleLockConfigurationUnlockDelay { + if v != nil { + return *v + } + var ret RuleLockConfigurationUnlockDelay + return ret + }).(RuleLockConfigurationUnlockDelayOutput) +} + +// The unit of time in which to measure the unlock delay. Currently, the unlock delay can be measure only in days. +func (o RuleLockConfigurationUnlockDelayPtrOutput) UnlockDelayUnit() pulumi.StringPtrOutput { + return o.ApplyT(func(v *RuleLockConfigurationUnlockDelay) *string { + if v == nil { + return nil + } + return &v.UnlockDelayUnit + }).(pulumi.StringPtrOutput) +} + +// The unlock delay period, measured in the unit specified for UnlockDelayUnit. +func (o RuleLockConfigurationUnlockDelayPtrOutput) UnlockDelayValue() pulumi.IntPtrOutput { + return o.ApplyT(func(v *RuleLockConfigurationUnlockDelay) *int { + if v == nil { + return nil + } + return &v.UnlockDelayValue + }).(pulumi.IntPtrOutput) +} + +type RuleResourceTag struct { + // The tag key. + ResourceTagKey string `pulumi:"resourceTagKey"` + // The tag value. + ResourceTagValue *string `pulumi:"resourceTagValue"` +} + +// RuleResourceTagInput is an input type that accepts RuleResourceTagArgs and RuleResourceTagOutput values. +// You can construct a concrete instance of `RuleResourceTagInput` via: +// +// RuleResourceTagArgs{...} +type RuleResourceTagInput interface { + pulumi.Input + + ToRuleResourceTagOutput() RuleResourceTagOutput + ToRuleResourceTagOutputWithContext(context.Context) RuleResourceTagOutput +} + +type RuleResourceTagArgs struct { + // The tag key. + ResourceTagKey pulumi.StringInput `pulumi:"resourceTagKey"` + // The tag value. + ResourceTagValue pulumi.StringPtrInput `pulumi:"resourceTagValue"` +} + +func (RuleResourceTagArgs) ElementType() reflect.Type { + return reflect.TypeOf((*RuleResourceTag)(nil)).Elem() +} + +func (i RuleResourceTagArgs) ToRuleResourceTagOutput() RuleResourceTagOutput { + return i.ToRuleResourceTagOutputWithContext(context.Background()) +} + +func (i RuleResourceTagArgs) ToRuleResourceTagOutputWithContext(ctx context.Context) RuleResourceTagOutput { + return pulumi.ToOutputWithContext(ctx, i).(RuleResourceTagOutput) +} + +// RuleResourceTagArrayInput is an input type that accepts RuleResourceTagArray and RuleResourceTagArrayOutput values. +// You can construct a concrete instance of `RuleResourceTagArrayInput` via: +// +// RuleResourceTagArray{ RuleResourceTagArgs{...} } +type RuleResourceTagArrayInput interface { + pulumi.Input + + ToRuleResourceTagArrayOutput() RuleResourceTagArrayOutput + ToRuleResourceTagArrayOutputWithContext(context.Context) RuleResourceTagArrayOutput +} + +type RuleResourceTagArray []RuleResourceTagInput + +func (RuleResourceTagArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]RuleResourceTag)(nil)).Elem() +} + +func (i RuleResourceTagArray) ToRuleResourceTagArrayOutput() RuleResourceTagArrayOutput { + return i.ToRuleResourceTagArrayOutputWithContext(context.Background()) +} + +func (i RuleResourceTagArray) ToRuleResourceTagArrayOutputWithContext(ctx context.Context) RuleResourceTagArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(RuleResourceTagArrayOutput) +} + +type RuleResourceTagOutput struct{ *pulumi.OutputState } + +func (RuleResourceTagOutput) ElementType() reflect.Type { + return reflect.TypeOf((*RuleResourceTag)(nil)).Elem() +} + +func (o RuleResourceTagOutput) ToRuleResourceTagOutput() RuleResourceTagOutput { + return o +} + +func (o RuleResourceTagOutput) ToRuleResourceTagOutputWithContext(ctx context.Context) RuleResourceTagOutput { + return o +} + +// The tag key. +func (o RuleResourceTagOutput) ResourceTagKey() pulumi.StringOutput { + return o.ApplyT(func(v RuleResourceTag) string { return v.ResourceTagKey }).(pulumi.StringOutput) +} + +// The tag value. +func (o RuleResourceTagOutput) ResourceTagValue() pulumi.StringPtrOutput { + return o.ApplyT(func(v RuleResourceTag) *string { return v.ResourceTagValue }).(pulumi.StringPtrOutput) +} + +type RuleResourceTagArrayOutput struct{ *pulumi.OutputState } + +func (RuleResourceTagArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]RuleResourceTag)(nil)).Elem() +} + +func (o RuleResourceTagArrayOutput) ToRuleResourceTagArrayOutput() RuleResourceTagArrayOutput { + return o +} + +func (o RuleResourceTagArrayOutput) ToRuleResourceTagArrayOutputWithContext(ctx context.Context) RuleResourceTagArrayOutput { + return o +} + +func (o RuleResourceTagArrayOutput) Index(i pulumi.IntInput) RuleResourceTagOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) RuleResourceTag { + return vs[0].([]RuleResourceTag)[vs[1].(int)] + }).(RuleResourceTagOutput) +} + +type RuleRetentionPeriod struct { + // The unit of time in which the retention period is measured. Currently, only DAYS is supported. + RetentionPeriodUnit string `pulumi:"retentionPeriodUnit"` + // The period value for which the retention rule is to retain resources. The period is measured using the unit specified for RetentionPeriodUnit. + RetentionPeriodValue int `pulumi:"retentionPeriodValue"` +} + +// RuleRetentionPeriodInput is an input type that accepts RuleRetentionPeriodArgs and RuleRetentionPeriodOutput values. +// You can construct a concrete instance of `RuleRetentionPeriodInput` via: +// +// RuleRetentionPeriodArgs{...} +type RuleRetentionPeriodInput interface { + pulumi.Input + + ToRuleRetentionPeriodOutput() RuleRetentionPeriodOutput + ToRuleRetentionPeriodOutputWithContext(context.Context) RuleRetentionPeriodOutput +} + +type RuleRetentionPeriodArgs struct { + // The unit of time in which the retention period is measured. Currently, only DAYS is supported. + RetentionPeriodUnit pulumi.StringInput `pulumi:"retentionPeriodUnit"` + // The period value for which the retention rule is to retain resources. The period is measured using the unit specified for RetentionPeriodUnit. + RetentionPeriodValue pulumi.IntInput `pulumi:"retentionPeriodValue"` +} + +func (RuleRetentionPeriodArgs) ElementType() reflect.Type { + return reflect.TypeOf((*RuleRetentionPeriod)(nil)).Elem() +} + +func (i RuleRetentionPeriodArgs) ToRuleRetentionPeriodOutput() RuleRetentionPeriodOutput { + return i.ToRuleRetentionPeriodOutputWithContext(context.Background()) +} + +func (i RuleRetentionPeriodArgs) ToRuleRetentionPeriodOutputWithContext(ctx context.Context) RuleRetentionPeriodOutput { + return pulumi.ToOutputWithContext(ctx, i).(RuleRetentionPeriodOutput) +} + +func (i RuleRetentionPeriodArgs) ToRuleRetentionPeriodPtrOutput() RuleRetentionPeriodPtrOutput { + return i.ToRuleRetentionPeriodPtrOutputWithContext(context.Background()) +} + +func (i RuleRetentionPeriodArgs) ToRuleRetentionPeriodPtrOutputWithContext(ctx context.Context) RuleRetentionPeriodPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(RuleRetentionPeriodOutput).ToRuleRetentionPeriodPtrOutputWithContext(ctx) +} + +// RuleRetentionPeriodPtrInput is an input type that accepts RuleRetentionPeriodArgs, RuleRetentionPeriodPtr and RuleRetentionPeriodPtrOutput values. +// You can construct a concrete instance of `RuleRetentionPeriodPtrInput` via: +// +// RuleRetentionPeriodArgs{...} +// +// or: +// +// nil +type RuleRetentionPeriodPtrInput interface { + pulumi.Input + + ToRuleRetentionPeriodPtrOutput() RuleRetentionPeriodPtrOutput + ToRuleRetentionPeriodPtrOutputWithContext(context.Context) RuleRetentionPeriodPtrOutput +} + +type ruleRetentionPeriodPtrType RuleRetentionPeriodArgs + +func RuleRetentionPeriodPtr(v *RuleRetentionPeriodArgs) RuleRetentionPeriodPtrInput { + return (*ruleRetentionPeriodPtrType)(v) +} + +func (*ruleRetentionPeriodPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**RuleRetentionPeriod)(nil)).Elem() +} + +func (i *ruleRetentionPeriodPtrType) ToRuleRetentionPeriodPtrOutput() RuleRetentionPeriodPtrOutput { + return i.ToRuleRetentionPeriodPtrOutputWithContext(context.Background()) +} + +func (i *ruleRetentionPeriodPtrType) ToRuleRetentionPeriodPtrOutputWithContext(ctx context.Context) RuleRetentionPeriodPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(RuleRetentionPeriodPtrOutput) +} + +type RuleRetentionPeriodOutput struct{ *pulumi.OutputState } + +func (RuleRetentionPeriodOutput) ElementType() reflect.Type { + return reflect.TypeOf((*RuleRetentionPeriod)(nil)).Elem() +} + +func (o RuleRetentionPeriodOutput) ToRuleRetentionPeriodOutput() RuleRetentionPeriodOutput { + return o +} + +func (o RuleRetentionPeriodOutput) ToRuleRetentionPeriodOutputWithContext(ctx context.Context) RuleRetentionPeriodOutput { + return o +} + +func (o RuleRetentionPeriodOutput) ToRuleRetentionPeriodPtrOutput() RuleRetentionPeriodPtrOutput { + return o.ToRuleRetentionPeriodPtrOutputWithContext(context.Background()) +} + +func (o RuleRetentionPeriodOutput) ToRuleRetentionPeriodPtrOutputWithContext(ctx context.Context) RuleRetentionPeriodPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v RuleRetentionPeriod) *RuleRetentionPeriod { + return &v + }).(RuleRetentionPeriodPtrOutput) +} + +// The unit of time in which the retention period is measured. Currently, only DAYS is supported. +func (o RuleRetentionPeriodOutput) RetentionPeriodUnit() pulumi.StringOutput { + return o.ApplyT(func(v RuleRetentionPeriod) string { return v.RetentionPeriodUnit }).(pulumi.StringOutput) +} + +// The period value for which the retention rule is to retain resources. The period is measured using the unit specified for RetentionPeriodUnit. +func (o RuleRetentionPeriodOutput) RetentionPeriodValue() pulumi.IntOutput { + return o.ApplyT(func(v RuleRetentionPeriod) int { return v.RetentionPeriodValue }).(pulumi.IntOutput) +} + +type RuleRetentionPeriodPtrOutput struct{ *pulumi.OutputState } + +func (RuleRetentionPeriodPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**RuleRetentionPeriod)(nil)).Elem() +} + +func (o RuleRetentionPeriodPtrOutput) ToRuleRetentionPeriodPtrOutput() RuleRetentionPeriodPtrOutput { + return o +} + +func (o RuleRetentionPeriodPtrOutput) ToRuleRetentionPeriodPtrOutputWithContext(ctx context.Context) RuleRetentionPeriodPtrOutput { + return o +} + +func (o RuleRetentionPeriodPtrOutput) Elem() RuleRetentionPeriodOutput { + return o.ApplyT(func(v *RuleRetentionPeriod) RuleRetentionPeriod { + if v != nil { + return *v + } + var ret RuleRetentionPeriod + return ret + }).(RuleRetentionPeriodOutput) +} + +// The unit of time in which the retention period is measured. Currently, only DAYS is supported. +func (o RuleRetentionPeriodPtrOutput) RetentionPeriodUnit() pulumi.StringPtrOutput { + return o.ApplyT(func(v *RuleRetentionPeriod) *string { + if v == nil { + return nil + } + return &v.RetentionPeriodUnit + }).(pulumi.StringPtrOutput) +} + +// The period value for which the retention rule is to retain resources. The period is measured using the unit specified for RetentionPeriodUnit. +func (o RuleRetentionPeriodPtrOutput) RetentionPeriodValue() pulumi.IntPtrOutput { + return o.ApplyT(func(v *RuleRetentionPeriod) *int { + if v == nil { + return nil + } + return &v.RetentionPeriodValue + }).(pulumi.IntPtrOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*RuleLockConfigurationInput)(nil)).Elem(), RuleLockConfigurationArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*RuleLockConfigurationPtrInput)(nil)).Elem(), RuleLockConfigurationArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*RuleLockConfigurationUnlockDelayInput)(nil)).Elem(), RuleLockConfigurationUnlockDelayArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*RuleLockConfigurationUnlockDelayPtrInput)(nil)).Elem(), RuleLockConfigurationUnlockDelayArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*RuleResourceTagInput)(nil)).Elem(), RuleResourceTagArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*RuleResourceTagArrayInput)(nil)).Elem(), RuleResourceTagArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*RuleRetentionPeriodInput)(nil)).Elem(), RuleRetentionPeriodArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*RuleRetentionPeriodPtrInput)(nil)).Elem(), RuleRetentionPeriodArgs{}) + pulumi.RegisterOutputType(RuleLockConfigurationOutput{}) + pulumi.RegisterOutputType(RuleLockConfigurationPtrOutput{}) + pulumi.RegisterOutputType(RuleLockConfigurationUnlockDelayOutput{}) + pulumi.RegisterOutputType(RuleLockConfigurationUnlockDelayPtrOutput{}) + pulumi.RegisterOutputType(RuleResourceTagOutput{}) + pulumi.RegisterOutputType(RuleResourceTagArrayOutput{}) + pulumi.RegisterOutputType(RuleRetentionPeriodOutput{}) + pulumi.RegisterOutputType(RuleRetentionPeriodPtrOutput{}) +} diff --git a/sdk/go/aws/rbin/rule.go b/sdk/go/aws/rbin/rule.go new file mode 100644 index 00000000000..c7d8a22d745 --- /dev/null +++ b/sdk/go/aws/rbin/rule.go @@ -0,0 +1,387 @@ +// Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package rbin + +import ( + "context" + "reflect" + + "errors" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +// Resource for managing an AWS RBin Rule. +// +// ## Example Usage +// ### Basic Usage +// +// ```go +// package main +// +// import ( +// +// "github.com/pulumi/pulumi-aws/sdk/v5/go/aws/rbin" +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// _, err := rbin.NewRule(ctx, "example", &rbin.RuleArgs{ +// Description: pulumi.String("example_rule"), +// ResourceType: pulumi.String("EBS_SNAPSHOT"), +// ResourceTags: rbin.RuleResourceTagArray{ +// &rbin.RuleResourceTagArgs{ +// ResourceTagKey: pulumi.Any(tag_key), +// ResourceTagValue: pulumi.String("tag_value"), +// }, +// }, +// RetentionPeriod: &rbin.RuleRetentionPeriodArgs{ +// RetentionPeriodValue: pulumi.Int(10), +// RetentionPeriodUnit: pulumi.String("DAYS"), +// }, +// Tags: pulumi.StringMap{ +// "test_tag_key": pulumi.String("test_tag_value"), +// }, +// }) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +// +// ## Import +// +// RBin Rule can be imported using the `id`, e.g., +// +// ```sh +// +// $ pulumi import aws:rbin/rule:Rule example examplerule +// +// ``` +type Rule struct { + pulumi.CustomResourceState + + Arn pulumi.StringOutput `pulumi:"arn"` + // The retention rule description. + Description pulumi.StringOutput `pulumi:"description"` + // Information about the retention rule lock configuration. See `lockConfiguration` below. + LockConfiguration RuleLockConfigurationPtrOutput `pulumi:"lockConfiguration"` + // (Timestamp) The date and time at which the unlock delay is set to expire. Only returned for retention rules that have been unlocked and that are still within the unlock delay period. + LockEndTime pulumi.StringOutput `pulumi:"lockEndTime"` + // (Optional) The lock state of the retention rules to list. Only retention rules with the specified lock state are returned. Valid values are `locked`, `pendingUnlock`, `unlocked`. + LockState pulumi.StringOutput `pulumi:"lockState"` + // Specifies the resource tags to use to identify resources that are to be retained by a tag-level retention rule. See `resourceTags` below. + ResourceTags RuleResourceTagArrayOutput `pulumi:"resourceTags"` + // The resource type to be retained by the retention rule. Valid values are `EBS_SNAPSHOT` and `EC2_IMAGE`. + ResourceType pulumi.StringOutput `pulumi:"resourceType"` + // Information about the retention period for which the retention rule is to retain resources. See `retentionPeriod` below. + RetentionPeriod RuleRetentionPeriodOutput `pulumi:"retentionPeriod"` + // (String) The state of the retention rule. Only retention rules that are in the `available` state retain resources. Valid values include `pending` and `available`. + Status pulumi.StringOutput `pulumi:"status"` + Tags pulumi.StringMapOutput `pulumi:"tags"` + TagsAll pulumi.StringMapOutput `pulumi:"tagsAll"` +} + +// NewRule registers a new resource with the given unique name, arguments, and options. +func NewRule(ctx *pulumi.Context, + name string, args *RuleArgs, opts ...pulumi.ResourceOption) (*Rule, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.ResourceType == nil { + return nil, errors.New("invalid value for required argument 'ResourceType'") + } + if args.RetentionPeriod == nil { + return nil, errors.New("invalid value for required argument 'RetentionPeriod'") + } + var resource Rule + err := ctx.RegisterResource("aws:rbin/rule:Rule", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetRule gets an existing Rule resource's state with the given name, ID, and optional +// state properties that are used to uniquely qualify the lookup (nil if not required). +func GetRule(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *RuleState, opts ...pulumi.ResourceOption) (*Rule, error) { + var resource Rule + err := ctx.ReadResource("aws:rbin/rule:Rule", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering Rule resources. +type ruleState struct { + Arn *string `pulumi:"arn"` + // The retention rule description. + Description *string `pulumi:"description"` + // Information about the retention rule lock configuration. See `lockConfiguration` below. + LockConfiguration *RuleLockConfiguration `pulumi:"lockConfiguration"` + // (Timestamp) The date and time at which the unlock delay is set to expire. Only returned for retention rules that have been unlocked and that are still within the unlock delay period. + LockEndTime *string `pulumi:"lockEndTime"` + // (Optional) The lock state of the retention rules to list. Only retention rules with the specified lock state are returned. Valid values are `locked`, `pendingUnlock`, `unlocked`. + LockState *string `pulumi:"lockState"` + // Specifies the resource tags to use to identify resources that are to be retained by a tag-level retention rule. See `resourceTags` below. + ResourceTags []RuleResourceTag `pulumi:"resourceTags"` + // The resource type to be retained by the retention rule. Valid values are `EBS_SNAPSHOT` and `EC2_IMAGE`. + ResourceType *string `pulumi:"resourceType"` + // Information about the retention period for which the retention rule is to retain resources. See `retentionPeriod` below. + RetentionPeriod *RuleRetentionPeriod `pulumi:"retentionPeriod"` + // (String) The state of the retention rule. Only retention rules that are in the `available` state retain resources. Valid values include `pending` and `available`. + Status *string `pulumi:"status"` + Tags map[string]string `pulumi:"tags"` + TagsAll map[string]string `pulumi:"tagsAll"` +} + +type RuleState struct { + Arn pulumi.StringPtrInput + // The retention rule description. + Description pulumi.StringPtrInput + // Information about the retention rule lock configuration. See `lockConfiguration` below. + LockConfiguration RuleLockConfigurationPtrInput + // (Timestamp) The date and time at which the unlock delay is set to expire. Only returned for retention rules that have been unlocked and that are still within the unlock delay period. + LockEndTime pulumi.StringPtrInput + // (Optional) The lock state of the retention rules to list. Only retention rules with the specified lock state are returned. Valid values are `locked`, `pendingUnlock`, `unlocked`. + LockState pulumi.StringPtrInput + // Specifies the resource tags to use to identify resources that are to be retained by a tag-level retention rule. See `resourceTags` below. + ResourceTags RuleResourceTagArrayInput + // The resource type to be retained by the retention rule. Valid values are `EBS_SNAPSHOT` and `EC2_IMAGE`. + ResourceType pulumi.StringPtrInput + // Information about the retention period for which the retention rule is to retain resources. See `retentionPeriod` below. + RetentionPeriod RuleRetentionPeriodPtrInput + // (String) The state of the retention rule. Only retention rules that are in the `available` state retain resources. Valid values include `pending` and `available`. + Status pulumi.StringPtrInput + Tags pulumi.StringMapInput + TagsAll pulumi.StringMapInput +} + +func (RuleState) ElementType() reflect.Type { + return reflect.TypeOf((*ruleState)(nil)).Elem() +} + +type ruleArgs struct { + // The retention rule description. + Description *string `pulumi:"description"` + // Information about the retention rule lock configuration. See `lockConfiguration` below. + LockConfiguration *RuleLockConfiguration `pulumi:"lockConfiguration"` + // Specifies the resource tags to use to identify resources that are to be retained by a tag-level retention rule. See `resourceTags` below. + ResourceTags []RuleResourceTag `pulumi:"resourceTags"` + // The resource type to be retained by the retention rule. Valid values are `EBS_SNAPSHOT` and `EC2_IMAGE`. + ResourceType string `pulumi:"resourceType"` + // Information about the retention period for which the retention rule is to retain resources. See `retentionPeriod` below. + RetentionPeriod RuleRetentionPeriod `pulumi:"retentionPeriod"` + Tags map[string]string `pulumi:"tags"` +} + +// The set of arguments for constructing a Rule resource. +type RuleArgs struct { + // The retention rule description. + Description pulumi.StringPtrInput + // Information about the retention rule lock configuration. See `lockConfiguration` below. + LockConfiguration RuleLockConfigurationPtrInput + // Specifies the resource tags to use to identify resources that are to be retained by a tag-level retention rule. See `resourceTags` below. + ResourceTags RuleResourceTagArrayInput + // The resource type to be retained by the retention rule. Valid values are `EBS_SNAPSHOT` and `EC2_IMAGE`. + ResourceType pulumi.StringInput + // Information about the retention period for which the retention rule is to retain resources. See `retentionPeriod` below. + RetentionPeriod RuleRetentionPeriodInput + Tags pulumi.StringMapInput +} + +func (RuleArgs) ElementType() reflect.Type { + return reflect.TypeOf((*ruleArgs)(nil)).Elem() +} + +type RuleInput interface { + pulumi.Input + + ToRuleOutput() RuleOutput + ToRuleOutputWithContext(ctx context.Context) RuleOutput +} + +func (*Rule) ElementType() reflect.Type { + return reflect.TypeOf((**Rule)(nil)).Elem() +} + +func (i *Rule) ToRuleOutput() RuleOutput { + return i.ToRuleOutputWithContext(context.Background()) +} + +func (i *Rule) ToRuleOutputWithContext(ctx context.Context) RuleOutput { + return pulumi.ToOutputWithContext(ctx, i).(RuleOutput) +} + +// RuleArrayInput is an input type that accepts RuleArray and RuleArrayOutput values. +// You can construct a concrete instance of `RuleArrayInput` via: +// +// RuleArray{ RuleArgs{...} } +type RuleArrayInput interface { + pulumi.Input + + ToRuleArrayOutput() RuleArrayOutput + ToRuleArrayOutputWithContext(context.Context) RuleArrayOutput +} + +type RuleArray []RuleInput + +func (RuleArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]*Rule)(nil)).Elem() +} + +func (i RuleArray) ToRuleArrayOutput() RuleArrayOutput { + return i.ToRuleArrayOutputWithContext(context.Background()) +} + +func (i RuleArray) ToRuleArrayOutputWithContext(ctx context.Context) RuleArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(RuleArrayOutput) +} + +// RuleMapInput is an input type that accepts RuleMap and RuleMapOutput values. +// You can construct a concrete instance of `RuleMapInput` via: +// +// RuleMap{ "key": RuleArgs{...} } +type RuleMapInput interface { + pulumi.Input + + ToRuleMapOutput() RuleMapOutput + ToRuleMapOutputWithContext(context.Context) RuleMapOutput +} + +type RuleMap map[string]RuleInput + +func (RuleMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*Rule)(nil)).Elem() +} + +func (i RuleMap) ToRuleMapOutput() RuleMapOutput { + return i.ToRuleMapOutputWithContext(context.Background()) +} + +func (i RuleMap) ToRuleMapOutputWithContext(ctx context.Context) RuleMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(RuleMapOutput) +} + +type RuleOutput struct{ *pulumi.OutputState } + +func (RuleOutput) ElementType() reflect.Type { + return reflect.TypeOf((**Rule)(nil)).Elem() +} + +func (o RuleOutput) ToRuleOutput() RuleOutput { + return o +} + +func (o RuleOutput) ToRuleOutputWithContext(ctx context.Context) RuleOutput { + return o +} + +func (o RuleOutput) Arn() pulumi.StringOutput { + return o.ApplyT(func(v *Rule) pulumi.StringOutput { return v.Arn }).(pulumi.StringOutput) +} + +// The retention rule description. +func (o RuleOutput) Description() pulumi.StringOutput { + return o.ApplyT(func(v *Rule) pulumi.StringOutput { return v.Description }).(pulumi.StringOutput) +} + +// Information about the retention rule lock configuration. See `lockConfiguration` below. +func (o RuleOutput) LockConfiguration() RuleLockConfigurationPtrOutput { + return o.ApplyT(func(v *Rule) RuleLockConfigurationPtrOutput { return v.LockConfiguration }).(RuleLockConfigurationPtrOutput) +} + +// (Timestamp) The date and time at which the unlock delay is set to expire. Only returned for retention rules that have been unlocked and that are still within the unlock delay period. +func (o RuleOutput) LockEndTime() pulumi.StringOutput { + return o.ApplyT(func(v *Rule) pulumi.StringOutput { return v.LockEndTime }).(pulumi.StringOutput) +} + +// (Optional) The lock state of the retention rules to list. Only retention rules with the specified lock state are returned. Valid values are `locked`, `pendingUnlock`, `unlocked`. +func (o RuleOutput) LockState() pulumi.StringOutput { + return o.ApplyT(func(v *Rule) pulumi.StringOutput { return v.LockState }).(pulumi.StringOutput) +} + +// Specifies the resource tags to use to identify resources that are to be retained by a tag-level retention rule. See `resourceTags` below. +func (o RuleOutput) ResourceTags() RuleResourceTagArrayOutput { + return o.ApplyT(func(v *Rule) RuleResourceTagArrayOutput { return v.ResourceTags }).(RuleResourceTagArrayOutput) +} + +// The resource type to be retained by the retention rule. Valid values are `EBS_SNAPSHOT` and `EC2_IMAGE`. +func (o RuleOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v *Rule) pulumi.StringOutput { return v.ResourceType }).(pulumi.StringOutput) +} + +// Information about the retention period for which the retention rule is to retain resources. See `retentionPeriod` below. +func (o RuleOutput) RetentionPeriod() RuleRetentionPeriodOutput { + return o.ApplyT(func(v *Rule) RuleRetentionPeriodOutput { return v.RetentionPeriod }).(RuleRetentionPeriodOutput) +} + +// (String) The state of the retention rule. Only retention rules that are in the `available` state retain resources. Valid values include `pending` and `available`. +func (o RuleOutput) Status() pulumi.StringOutput { + return o.ApplyT(func(v *Rule) pulumi.StringOutput { return v.Status }).(pulumi.StringOutput) +} + +func (o RuleOutput) Tags() pulumi.StringMapOutput { + return o.ApplyT(func(v *Rule) pulumi.StringMapOutput { return v.Tags }).(pulumi.StringMapOutput) +} + +func (o RuleOutput) TagsAll() pulumi.StringMapOutput { + return o.ApplyT(func(v *Rule) pulumi.StringMapOutput { return v.TagsAll }).(pulumi.StringMapOutput) +} + +type RuleArrayOutput struct{ *pulumi.OutputState } + +func (RuleArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]*Rule)(nil)).Elem() +} + +func (o RuleArrayOutput) ToRuleArrayOutput() RuleArrayOutput { + return o +} + +func (o RuleArrayOutput) ToRuleArrayOutputWithContext(ctx context.Context) RuleArrayOutput { + return o +} + +func (o RuleArrayOutput) Index(i pulumi.IntInput) RuleOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) *Rule { + return vs[0].([]*Rule)[vs[1].(int)] + }).(RuleOutput) +} + +type RuleMapOutput struct{ *pulumi.OutputState } + +func (RuleMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*Rule)(nil)).Elem() +} + +func (o RuleMapOutput) ToRuleMapOutput() RuleMapOutput { + return o +} + +func (o RuleMapOutput) ToRuleMapOutputWithContext(ctx context.Context) RuleMapOutput { + return o +} + +func (o RuleMapOutput) MapIndex(k pulumi.StringInput) RuleOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) *Rule { + return vs[0].(map[string]*Rule)[vs[1].(string)] + }).(RuleOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*RuleInput)(nil)).Elem(), &Rule{}) + pulumi.RegisterInputType(reflect.TypeOf((*RuleArrayInput)(nil)).Elem(), RuleArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*RuleMapInput)(nil)).Elem(), RuleMap{}) + pulumi.RegisterOutputType(RuleOutput{}) + pulumi.RegisterOutputType(RuleArrayOutput{}) + pulumi.RegisterOutputType(RuleMapOutput{}) +} diff --git a/sdk/go/aws/rds/cluster.go b/sdk/go/aws/rds/cluster.go index e83ee530bc0..7c92624a2bb 100644 --- a/sdk/go/aws/rds/cluster.go +++ b/sdk/go/aws/rds/cluster.go @@ -257,6 +257,78 @@ import ( // } // // ``` +// ### RDS/Aurora Managed Master Passwords via Secrets Manager, default KMS Key +// +// > More information about RDS/Aurora Aurora integrates with Secrets Manager to manage master user passwords for your DB clusters can be found in the [RDS User Guide](https://aws.amazon.com/about-aws/whats-new/2022/12/amazon-rds-integration-aws-secrets-manager/) and [Aurora User Guide](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/rds-secrets-manager.html). +// +// You can specify the `manageMasterUserPassword` attribute to enable managing the master password with Secrets Manager. You can also update an existing cluster to use Secrets Manager by specify the `manageMasterUserPassword` attribute and removing the `masterPassword` attribute (removal is required). +// +// ```go +// package main +// +// import ( +// +// "github.com/pulumi/pulumi-aws/sdk/v5/go/aws/rds" +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// _, err := rds.NewCluster(ctx, "test", &rds.ClusterArgs{ +// ClusterIdentifier: pulumi.String("example"), +// DatabaseName: pulumi.String("test"), +// ManageMasterUserPassword: pulumi.Bool(true), +// MasterUsername: pulumi.String("test"), +// }) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +// ### RDS/Aurora Managed Master Passwords via Secrets Manager, specific KMS Key +// +// > More information about RDS/Aurora Aurora integrates with Secrets Manager to manage master user passwords for your DB clusters can be found in the [RDS User Guide](https://aws.amazon.com/about-aws/whats-new/2022/12/amazon-rds-integration-aws-secrets-manager/) and [Aurora User Guide](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/rds-secrets-manager.html). +// +// You can specify the `masterUserSecretKmsKeyId` attribute to specify a specific KMS Key. +// +// ```go +// package main +// +// import ( +// +// "github.com/pulumi/pulumi-aws/sdk/v5/go/aws/kms" +// "github.com/pulumi/pulumi-aws/sdk/v5/go/aws/rds" +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// example, err := kms.NewKey(ctx, "example", &kms.KeyArgs{ +// Description: pulumi.String("Example KMS Key"), +// }) +// if err != nil { +// return err +// } +// _, err = rds.NewCluster(ctx, "test", &rds.ClusterArgs{ +// ClusterIdentifier: pulumi.String("example"), +// DatabaseName: pulumi.String("test"), +// ManageMasterUserPassword: pulumi.Bool(true), +// MasterUsername: pulumi.String("test"), +// MasterUserSecretKmsKeyId: example.KeyId, +// }) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` // ### Global Cluster Restored From Snapshot // // ```go @@ -379,8 +451,14 @@ type Cluster struct { Iops pulumi.IntPtrOutput `pulumi:"iops"` // The ARN for the KMS encryption key. When specifying `kmsKeyId`, `storageEncrypted` needs to be set to true. KmsKeyId pulumi.StringOutput `pulumi:"kmsKeyId"` - // Password for the master DB user. Note that this may show up in logs, and it will be stored in the state file. Please refer to the [RDS Naming Constraints](http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Limits.html#RDS_Limits.Constraints) + // Set to true to allow RDS to manage the master user password in Secrets Manager. Cannot be set if `masterPassword` is provided. + ManageMasterUserPassword pulumi.BoolPtrOutput `pulumi:"manageMasterUserPassword"` + // Password for the master DB user. Note that this may show up in logs, and it will be stored in the state file. Please refer to the [RDS Naming Constraints](http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Limits.html#RDS_Limits.Constraints). Cannot be set if `manageMasterUserPassword` is set to `true`. MasterPassword pulumi.StringPtrOutput `pulumi:"masterPassword"` + // The Amazon Web Services KMS key identifier is the key ARN, key ID, alias ARN, or alias name for the KMS key. To use a KMS key in a different Amazon Web Services account, specify the key ARN or alias ARN. If not specified, the default KMS key for your Amazon Web Services account is used. + MasterUserSecretKmsKeyId pulumi.StringOutput `pulumi:"masterUserSecretKmsKeyId"` + // A block that specifies the master user secret. Only available when `manageMasterUserPassword` is set to true. Documented below. + MasterUserSecrets ClusterMasterUserSecretArrayOutput `pulumi:"masterUserSecrets"` // Username for the master DB user. Please refer to the [RDS Naming Constraints](http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Limits.html#RDS_Limits.Constraints). This argument does not support in-place updates and cannot be changed during a restore from snapshot. MasterUsername pulumi.StringOutput `pulumi:"masterUsername"` // The network type of the cluster. Valid values: `IPV4`, `DUAL`. @@ -523,8 +601,14 @@ type clusterState struct { Iops *int `pulumi:"iops"` // The ARN for the KMS encryption key. When specifying `kmsKeyId`, `storageEncrypted` needs to be set to true. KmsKeyId *string `pulumi:"kmsKeyId"` - // Password for the master DB user. Note that this may show up in logs, and it will be stored in the state file. Please refer to the [RDS Naming Constraints](http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Limits.html#RDS_Limits.Constraints) + // Set to true to allow RDS to manage the master user password in Secrets Manager. Cannot be set if `masterPassword` is provided. + ManageMasterUserPassword *bool `pulumi:"manageMasterUserPassword"` + // Password for the master DB user. Note that this may show up in logs, and it will be stored in the state file. Please refer to the [RDS Naming Constraints](http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Limits.html#RDS_Limits.Constraints). Cannot be set if `manageMasterUserPassword` is set to `true`. MasterPassword *string `pulumi:"masterPassword"` + // The Amazon Web Services KMS key identifier is the key ARN, key ID, alias ARN, or alias name for the KMS key. To use a KMS key in a different Amazon Web Services account, specify the key ARN or alias ARN. If not specified, the default KMS key for your Amazon Web Services account is used. + MasterUserSecretKmsKeyId *string `pulumi:"masterUserSecretKmsKeyId"` + // A block that specifies the master user secret. Only available when `manageMasterUserPassword` is set to true. Documented below. + MasterUserSecrets []ClusterMasterUserSecret `pulumi:"masterUserSecrets"` // Username for the master DB user. Please refer to the [RDS Naming Constraints](http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Limits.html#RDS_Limits.Constraints). This argument does not support in-place updates and cannot be changed during a restore from snapshot. MasterUsername *string `pulumi:"masterUsername"` // The network type of the cluster. Valid values: `IPV4`, `DUAL`. @@ -632,8 +716,14 @@ type ClusterState struct { Iops pulumi.IntPtrInput // The ARN for the KMS encryption key. When specifying `kmsKeyId`, `storageEncrypted` needs to be set to true. KmsKeyId pulumi.StringPtrInput - // Password for the master DB user. Note that this may show up in logs, and it will be stored in the state file. Please refer to the [RDS Naming Constraints](http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Limits.html#RDS_Limits.Constraints) + // Set to true to allow RDS to manage the master user password in Secrets Manager. Cannot be set if `masterPassword` is provided. + ManageMasterUserPassword pulumi.BoolPtrInput + // Password for the master DB user. Note that this may show up in logs, and it will be stored in the state file. Please refer to the [RDS Naming Constraints](http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Limits.html#RDS_Limits.Constraints). Cannot be set if `manageMasterUserPassword` is set to `true`. MasterPassword pulumi.StringPtrInput + // The Amazon Web Services KMS key identifier is the key ARN, key ID, alias ARN, or alias name for the KMS key. To use a KMS key in a different Amazon Web Services account, specify the key ARN or alias ARN. If not specified, the default KMS key for your Amazon Web Services account is used. + MasterUserSecretKmsKeyId pulumi.StringPtrInput + // A block that specifies the master user secret. Only available when `manageMasterUserPassword` is set to true. Documented below. + MasterUserSecrets ClusterMasterUserSecretArrayInput // Username for the master DB user. Please refer to the [RDS Naming Constraints](http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Limits.html#RDS_Limits.Constraints). This argument does not support in-place updates and cannot be changed during a restore from snapshot. MasterUsername pulumi.StringPtrInput // The network type of the cluster. Valid values: `IPV4`, `DUAL`. @@ -735,8 +825,12 @@ type clusterArgs struct { Iops *int `pulumi:"iops"` // The ARN for the KMS encryption key. When specifying `kmsKeyId`, `storageEncrypted` needs to be set to true. KmsKeyId *string `pulumi:"kmsKeyId"` - // Password for the master DB user. Note that this may show up in logs, and it will be stored in the state file. Please refer to the [RDS Naming Constraints](http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Limits.html#RDS_Limits.Constraints) + // Set to true to allow RDS to manage the master user password in Secrets Manager. Cannot be set if `masterPassword` is provided. + ManageMasterUserPassword *bool `pulumi:"manageMasterUserPassword"` + // Password for the master DB user. Note that this may show up in logs, and it will be stored in the state file. Please refer to the [RDS Naming Constraints](http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Limits.html#RDS_Limits.Constraints). Cannot be set if `manageMasterUserPassword` is set to `true`. MasterPassword *string `pulumi:"masterPassword"` + // The Amazon Web Services KMS key identifier is the key ARN, key ID, alias ARN, or alias name for the KMS key. To use a KMS key in a different Amazon Web Services account, specify the key ARN or alias ARN. If not specified, the default KMS key for your Amazon Web Services account is used. + MasterUserSecretKmsKeyId *string `pulumi:"masterUserSecretKmsKeyId"` // Username for the master DB user. Please refer to the [RDS Naming Constraints](http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Limits.html#RDS_Limits.Constraints). This argument does not support in-place updates and cannot be changed during a restore from snapshot. MasterUsername *string `pulumi:"masterUsername"` // The network type of the cluster. Valid values: `IPV4`, `DUAL`. @@ -830,8 +924,12 @@ type ClusterArgs struct { Iops pulumi.IntPtrInput // The ARN for the KMS encryption key. When specifying `kmsKeyId`, `storageEncrypted` needs to be set to true. KmsKeyId pulumi.StringPtrInput - // Password for the master DB user. Note that this may show up in logs, and it will be stored in the state file. Please refer to the [RDS Naming Constraints](http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Limits.html#RDS_Limits.Constraints) + // Set to true to allow RDS to manage the master user password in Secrets Manager. Cannot be set if `masterPassword` is provided. + ManageMasterUserPassword pulumi.BoolPtrInput + // Password for the master DB user. Note that this may show up in logs, and it will be stored in the state file. Please refer to the [RDS Naming Constraints](http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Limits.html#RDS_Limits.Constraints). Cannot be set if `manageMasterUserPassword` is set to `true`. MasterPassword pulumi.StringPtrInput + // The Amazon Web Services KMS key identifier is the key ARN, key ID, alias ARN, or alias name for the KMS key. To use a KMS key in a different Amazon Web Services account, specify the key ARN or alias ARN. If not specified, the default KMS key for your Amazon Web Services account is used. + MasterUserSecretKmsKeyId pulumi.StringPtrInput // Username for the master DB user. Please refer to the [RDS Naming Constraints](http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Limits.html#RDS_Limits.Constraints). This argument does not support in-place updates and cannot be changed during a restore from snapshot. MasterUsername pulumi.StringPtrInput // The network type of the cluster. Valid values: `IPV4`, `DUAL`. @@ -1119,11 +1217,26 @@ func (o ClusterOutput) KmsKeyId() pulumi.StringOutput { return o.ApplyT(func(v *Cluster) pulumi.StringOutput { return v.KmsKeyId }).(pulumi.StringOutput) } -// Password for the master DB user. Note that this may show up in logs, and it will be stored in the state file. Please refer to the [RDS Naming Constraints](http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Limits.html#RDS_Limits.Constraints) +// Set to true to allow RDS to manage the master user password in Secrets Manager. Cannot be set if `masterPassword` is provided. +func (o ClusterOutput) ManageMasterUserPassword() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *Cluster) pulumi.BoolPtrOutput { return v.ManageMasterUserPassword }).(pulumi.BoolPtrOutput) +} + +// Password for the master DB user. Note that this may show up in logs, and it will be stored in the state file. Please refer to the [RDS Naming Constraints](http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Limits.html#RDS_Limits.Constraints). Cannot be set if `manageMasterUserPassword` is set to `true`. func (o ClusterOutput) MasterPassword() pulumi.StringPtrOutput { return o.ApplyT(func(v *Cluster) pulumi.StringPtrOutput { return v.MasterPassword }).(pulumi.StringPtrOutput) } +// The Amazon Web Services KMS key identifier is the key ARN, key ID, alias ARN, or alias name for the KMS key. To use a KMS key in a different Amazon Web Services account, specify the key ARN or alias ARN. If not specified, the default KMS key for your Amazon Web Services account is used. +func (o ClusterOutput) MasterUserSecretKmsKeyId() pulumi.StringOutput { + return o.ApplyT(func(v *Cluster) pulumi.StringOutput { return v.MasterUserSecretKmsKeyId }).(pulumi.StringOutput) +} + +// A block that specifies the master user secret. Only available when `manageMasterUserPassword` is set to true. Documented below. +func (o ClusterOutput) MasterUserSecrets() ClusterMasterUserSecretArrayOutput { + return o.ApplyT(func(v *Cluster) ClusterMasterUserSecretArrayOutput { return v.MasterUserSecrets }).(ClusterMasterUserSecretArrayOutput) +} + // Username for the master DB user. Please refer to the [RDS Naming Constraints](http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Limits.html#RDS_Limits.Constraints). This argument does not support in-place updates and cannot be changed during a restore from snapshot. func (o ClusterOutput) MasterUsername() pulumi.StringOutput { return o.ApplyT(func(v *Cluster) pulumi.StringOutput { return v.MasterUsername }).(pulumi.StringOutput) diff --git a/sdk/go/aws/rds/getCluster.go b/sdk/go/aws/rds/getCluster.go index f5c2a0f56d6..de93b7e7b89 100644 --- a/sdk/go/aws/rds/getCluster.go +++ b/sdk/go/aws/rds/getCluster.go @@ -76,16 +76,17 @@ type LookupClusterResult struct { IamDatabaseAuthenticationEnabled bool `pulumi:"iamDatabaseAuthenticationEnabled"` IamRoles []string `pulumi:"iamRoles"` // The provider-assigned unique ID for this managed resource. - Id string `pulumi:"id"` - KmsKeyId string `pulumi:"kmsKeyId"` - MasterUsername string `pulumi:"masterUsername"` - NetworkType string `pulumi:"networkType"` - Port int `pulumi:"port"` - PreferredBackupWindow string `pulumi:"preferredBackupWindow"` - PreferredMaintenanceWindow string `pulumi:"preferredMaintenanceWindow"` - ReaderEndpoint string `pulumi:"readerEndpoint"` - ReplicationSourceIdentifier string `pulumi:"replicationSourceIdentifier"` - StorageEncrypted bool `pulumi:"storageEncrypted"` + Id string `pulumi:"id"` + KmsKeyId string `pulumi:"kmsKeyId"` + MasterUserSecrets []GetClusterMasterUserSecret `pulumi:"masterUserSecrets"` + MasterUsername string `pulumi:"masterUsername"` + NetworkType string `pulumi:"networkType"` + Port int `pulumi:"port"` + PreferredBackupWindow string `pulumi:"preferredBackupWindow"` + PreferredMaintenanceWindow string `pulumi:"preferredMaintenanceWindow"` + ReaderEndpoint string `pulumi:"readerEndpoint"` + ReplicationSourceIdentifier string `pulumi:"replicationSourceIdentifier"` + StorageEncrypted bool `pulumi:"storageEncrypted"` // A map of tags assigned to the resource. Tags map[string]string `pulumi:"tags"` VpcSecurityGroupIds []string `pulumi:"vpcSecurityGroupIds"` @@ -216,6 +217,10 @@ func (o LookupClusterResultOutput) KmsKeyId() pulumi.StringOutput { return o.ApplyT(func(v LookupClusterResult) string { return v.KmsKeyId }).(pulumi.StringOutput) } +func (o LookupClusterResultOutput) MasterUserSecrets() GetClusterMasterUserSecretArrayOutput { + return o.ApplyT(func(v LookupClusterResult) []GetClusterMasterUserSecret { return v.MasterUserSecrets }).(GetClusterMasterUserSecretArrayOutput) +} + func (o LookupClusterResultOutput) MasterUsername() pulumi.StringOutput { return o.ApplyT(func(v LookupClusterResult) string { return v.MasterUsername }).(pulumi.StringOutput) } diff --git a/sdk/go/aws/rds/getInstance.go b/sdk/go/aws/rds/getInstance.go index 89760371a06..3eed67d17fe 100644 --- a/sdk/go/aws/rds/getInstance.go +++ b/sdk/go/aws/rds/getInstance.go @@ -98,10 +98,12 @@ type LookupInstanceResult struct { Id string `pulumi:"id"` // Provisioned IOPS (I/O operations per second) value. Iops int `pulumi:"iops"` - // If StorageEncrypted is true, the KMS key identifier for the encrypted DB instance. + // The Amazon Web Services KMS key identifier that is used to encrypt the secret. KmsKeyId string `pulumi:"kmsKeyId"` // License model information for this DB instance. LicenseModel string `pulumi:"licenseModel"` + // Provides the master user secret. Only available when `manageMasterUserPassword` is set to true. Documented below. + MasterUserSecrets []GetInstanceMasterUserSecret `pulumi:"masterUserSecrets"` // Contains the master username for the DB instance. MasterUsername string `pulumi:"masterUsername"` // Interval, in seconds, between points when Enhanced Monitoring metrics are collected for the DB instance. @@ -287,7 +289,7 @@ func (o LookupInstanceResultOutput) Iops() pulumi.IntOutput { return o.ApplyT(func(v LookupInstanceResult) int { return v.Iops }).(pulumi.IntOutput) } -// If StorageEncrypted is true, the KMS key identifier for the encrypted DB instance. +// The Amazon Web Services KMS key identifier that is used to encrypt the secret. func (o LookupInstanceResultOutput) KmsKeyId() pulumi.StringOutput { return o.ApplyT(func(v LookupInstanceResult) string { return v.KmsKeyId }).(pulumi.StringOutput) } @@ -297,6 +299,11 @@ func (o LookupInstanceResultOutput) LicenseModel() pulumi.StringOutput { return o.ApplyT(func(v LookupInstanceResult) string { return v.LicenseModel }).(pulumi.StringOutput) } +// Provides the master user secret. Only available when `manageMasterUserPassword` is set to true. Documented below. +func (o LookupInstanceResultOutput) MasterUserSecrets() GetInstanceMasterUserSecretArrayOutput { + return o.ApplyT(func(v LookupInstanceResult) []GetInstanceMasterUserSecret { return v.MasterUserSecrets }).(GetInstanceMasterUserSecretArrayOutput) +} + // Contains the master username for the DB instance. func (o LookupInstanceResultOutput) MasterUsername() pulumi.StringOutput { return o.ApplyT(func(v LookupInstanceResult) string { return v.MasterUsername }).(pulumi.StringOutput) diff --git a/sdk/go/aws/rds/instance.go b/sdk/go/aws/rds/instance.go index 617c6cd785d..0f90c98eef2 100644 --- a/sdk/go/aws/rds/instance.go +++ b/sdk/go/aws/rds/instance.go @@ -109,6 +109,86 @@ import ( // } // // ``` +// ### Managed Master Passwords via Secrets Manager, default KMS Key +// +// > More information about RDS/Aurora Aurora integrates with Secrets Manager to manage master user passwords for your DB clusters can be found in the [RDS User Guide](https://aws.amazon.com/about-aws/whats-new/2022/12/amazon-rds-integration-aws-secrets-manager/) and [Aurora User Guide](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/rds-secrets-manager.html). +// +// You can specify the `manageMasterUserPassword` attribute to enable managing the master password with Secrets Manager. You can also update an existing cluster to use Secrets Manager by specify the `manageMasterUserPassword` attribute and removing the `password` attribute (removal is required). +// +// ```go +// package main +// +// import ( +// +// "github.com/pulumi/pulumi-aws/sdk/v5/go/aws/rds" +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// _, err := rds.NewInstance(ctx, "default", &rds.InstanceArgs{ +// AllocatedStorage: pulumi.Int(10), +// DbName: pulumi.String("mydb"), +// Engine: pulumi.String("mysql"), +// EngineVersion: pulumi.String("5.7"), +// InstanceClass: pulumi.String("db.t3.micro"), +// ManageMasterUserPassword: pulumi.Bool(true), +// ParameterGroupName: pulumi.String("default.mysql5.7"), +// Username: pulumi.String("foo"), +// }) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +// ### Managed Master Passwords via Secrets Manager, specific KMS Key +// +// > More information about RDS/Aurora Aurora integrates with Secrets Manager to manage master user passwords for your DB clusters can be found in the [RDS User Guide](https://aws.amazon.com/about-aws/whats-new/2022/12/amazon-rds-integration-aws-secrets-manager/) and [Aurora User Guide](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/rds-secrets-manager.html). +// +// You can specify the `masterUserSecretKmsKeyId` attribute to specify a specific KMS Key. +// +// ```go +// package main +// +// import ( +// +// "github.com/pulumi/pulumi-aws/sdk/v5/go/aws/kms" +// "github.com/pulumi/pulumi-aws/sdk/v5/go/aws/rds" +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// example, err := kms.NewKey(ctx, "example", &kms.KeyArgs{ +// Description: pulumi.String("Example KMS Key"), +// }) +// if err != nil { +// return err +// } +// _, err = rds.NewInstance(ctx, "default", &rds.InstanceArgs{ +// AllocatedStorage: pulumi.Int(10), +// DbName: pulumi.String("mydb"), +// Engine: pulumi.String("mysql"), +// EngineVersion: pulumi.String("5.7"), +// InstanceClass: pulumi.String("db.t3.micro"), +// ManageMasterUserPassword: pulumi.Bool(true), +// MasterUserSecretKmsKeyId: example.KeyId, +// Username: pulumi.String("foo"), +// ParameterGroupName: pulumi.String("default.mysql5.7"), +// }) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` // // ## Import // @@ -244,6 +324,12 @@ type Instance struct { // docs](http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_UpgradeDBInstance.Maintenance.html#AdjustingTheMaintenanceWindow) // for more information. MaintenanceWindow pulumi.StringOutput `pulumi:"maintenanceWindow"` + // Set to true to allow RDS to manage the master user password in Secrets Manager. Cannot be set if `password` is provided. + ManageMasterUserPassword pulumi.BoolPtrOutput `pulumi:"manageMasterUserPassword"` + // The Amazon Web Services KMS key identifier is the key ARN, key ID, alias ARN, or alias name for the KMS key. To use a KMS key in a different Amazon Web Services account, specify the key ARN or alias ARN. If not specified, the default KMS key for your Amazon Web Services account is used. + MasterUserSecretKmsKeyId pulumi.StringOutput `pulumi:"masterUserSecretKmsKeyId"` + // A block that specifies the master user secret. Only available when `manageMasterUserPassword` is set to true. Documented below. + MasterUserSecrets InstanceMasterUserSecretArrayOutput `pulumi:"masterUserSecrets"` // When configured, the upper limit to which Amazon RDS can automatically scale the storage of the DB instance. Configuring this will automatically ignore differences to `allocatedStorage`. Must be greater than or equal to `allocatedStorage` or `0` to disable Storage Autoscaling. MaxAllocatedStorage pulumi.IntPtrOutput `pulumi:"maxAllocatedStorage"` // The interval, in seconds, between points @@ -271,9 +357,9 @@ type Instance struct { // Name of the DB parameter group to // associate. ParameterGroupName pulumi.StringOutput `pulumi:"parameterGroupName"` - // (Required unless a `snapshotIdentifier` or `replicateSourceDb` - // is provided) Password for the master DB user. Note that this may show up in - // logs, and it will be stored in the state file. + // (Required unless `manageMasterUserPassword` is set to true or unless a `snapshotIdentifier` or `replicateSourceDb` + // is provided or `manageMasterUserPassword` is set.) Password for the master DB user. Note that this may show up in + // logs, and it will be stored in the state file. Cannot be set if `manageMasterUserPassword` is set to `true`. Password pulumi.StringPtrOutput `pulumi:"password"` // Specifies whether Performance Insights are enabled. Defaults to false. PerformanceInsightsEnabled pulumi.BoolPtrOutput `pulumi:"performanceInsightsEnabled"` @@ -515,6 +601,12 @@ type instanceState struct { // docs](http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_UpgradeDBInstance.Maintenance.html#AdjustingTheMaintenanceWindow) // for more information. MaintenanceWindow *string `pulumi:"maintenanceWindow"` + // Set to true to allow RDS to manage the master user password in Secrets Manager. Cannot be set if `password` is provided. + ManageMasterUserPassword *bool `pulumi:"manageMasterUserPassword"` + // The Amazon Web Services KMS key identifier is the key ARN, key ID, alias ARN, or alias name for the KMS key. To use a KMS key in a different Amazon Web Services account, specify the key ARN or alias ARN. If not specified, the default KMS key for your Amazon Web Services account is used. + MasterUserSecretKmsKeyId *string `pulumi:"masterUserSecretKmsKeyId"` + // A block that specifies the master user secret. Only available when `manageMasterUserPassword` is set to true. Documented below. + MasterUserSecrets []InstanceMasterUserSecret `pulumi:"masterUserSecrets"` // When configured, the upper limit to which Amazon RDS can automatically scale the storage of the DB instance. Configuring this will automatically ignore differences to `allocatedStorage`. Must be greater than or equal to `allocatedStorage` or `0` to disable Storage Autoscaling. MaxAllocatedStorage *int `pulumi:"maxAllocatedStorage"` // The interval, in seconds, between points @@ -542,9 +634,9 @@ type instanceState struct { // Name of the DB parameter group to // associate. ParameterGroupName *string `pulumi:"parameterGroupName"` - // (Required unless a `snapshotIdentifier` or `replicateSourceDb` - // is provided) Password for the master DB user. Note that this may show up in - // logs, and it will be stored in the state file. + // (Required unless `manageMasterUserPassword` is set to true or unless a `snapshotIdentifier` or `replicateSourceDb` + // is provided or `manageMasterUserPassword` is set.) Password for the master DB user. Note that this may show up in + // logs, and it will be stored in the state file. Cannot be set if `manageMasterUserPassword` is set to `true`. Password *string `pulumi:"password"` // Specifies whether Performance Insights are enabled. Defaults to false. PerformanceInsightsEnabled *bool `pulumi:"performanceInsightsEnabled"` @@ -748,6 +840,12 @@ type InstanceState struct { // docs](http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_UpgradeDBInstance.Maintenance.html#AdjustingTheMaintenanceWindow) // for more information. MaintenanceWindow pulumi.StringPtrInput + // Set to true to allow RDS to manage the master user password in Secrets Manager. Cannot be set if `password` is provided. + ManageMasterUserPassword pulumi.BoolPtrInput + // The Amazon Web Services KMS key identifier is the key ARN, key ID, alias ARN, or alias name for the KMS key. To use a KMS key in a different Amazon Web Services account, specify the key ARN or alias ARN. If not specified, the default KMS key for your Amazon Web Services account is used. + MasterUserSecretKmsKeyId pulumi.StringPtrInput + // A block that specifies the master user secret. Only available when `manageMasterUserPassword` is set to true. Documented below. + MasterUserSecrets InstanceMasterUserSecretArrayInput // When configured, the upper limit to which Amazon RDS can automatically scale the storage of the DB instance. Configuring this will automatically ignore differences to `allocatedStorage`. Must be greater than or equal to `allocatedStorage` or `0` to disable Storage Autoscaling. MaxAllocatedStorage pulumi.IntPtrInput // The interval, in seconds, between points @@ -775,9 +873,9 @@ type InstanceState struct { // Name of the DB parameter group to // associate. ParameterGroupName pulumi.StringPtrInput - // (Required unless a `snapshotIdentifier` or `replicateSourceDb` - // is provided) Password for the master DB user. Note that this may show up in - // logs, and it will be stored in the state file. + // (Required unless `manageMasterUserPassword` is set to true or unless a `snapshotIdentifier` or `replicateSourceDb` + // is provided or `manageMasterUserPassword` is set.) Password for the master DB user. Note that this may show up in + // logs, and it will be stored in the state file. Cannot be set if `manageMasterUserPassword` is set to `true`. Password pulumi.StringPtrInput // Specifies whether Performance Insights are enabled. Defaults to false. PerformanceInsightsEnabled pulumi.BoolPtrInput @@ -971,6 +1069,10 @@ type instanceArgs struct { // docs](http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_UpgradeDBInstance.Maintenance.html#AdjustingTheMaintenanceWindow) // for more information. MaintenanceWindow *string `pulumi:"maintenanceWindow"` + // Set to true to allow RDS to manage the master user password in Secrets Manager. Cannot be set if `password` is provided. + ManageMasterUserPassword *bool `pulumi:"manageMasterUserPassword"` + // The Amazon Web Services KMS key identifier is the key ARN, key ID, alias ARN, or alias name for the KMS key. To use a KMS key in a different Amazon Web Services account, specify the key ARN or alias ARN. If not specified, the default KMS key for your Amazon Web Services account is used. + MasterUserSecretKmsKeyId *string `pulumi:"masterUserSecretKmsKeyId"` // When configured, the upper limit to which Amazon RDS can automatically scale the storage of the DB instance. Configuring this will automatically ignore differences to `allocatedStorage`. Must be greater than or equal to `allocatedStorage` or `0` to disable Storage Autoscaling. MaxAllocatedStorage *int `pulumi:"maxAllocatedStorage"` // The interval, in seconds, between points @@ -998,9 +1100,9 @@ type instanceArgs struct { // Name of the DB parameter group to // associate. ParameterGroupName *string `pulumi:"parameterGroupName"` - // (Required unless a `snapshotIdentifier` or `replicateSourceDb` - // is provided) Password for the master DB user. Note that this may show up in - // logs, and it will be stored in the state file. + // (Required unless `manageMasterUserPassword` is set to true or unless a `snapshotIdentifier` or `replicateSourceDb` + // is provided or `manageMasterUserPassword` is set.) Password for the master DB user. Note that this may show up in + // logs, and it will be stored in the state file. Cannot be set if `manageMasterUserPassword` is set to `true`. Password *string `pulumi:"password"` // Specifies whether Performance Insights are enabled. Defaults to false. PerformanceInsightsEnabled *bool `pulumi:"performanceInsightsEnabled"` @@ -1184,6 +1286,10 @@ type InstanceArgs struct { // docs](http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_UpgradeDBInstance.Maintenance.html#AdjustingTheMaintenanceWindow) // for more information. MaintenanceWindow pulumi.StringPtrInput + // Set to true to allow RDS to manage the master user password in Secrets Manager. Cannot be set if `password` is provided. + ManageMasterUserPassword pulumi.BoolPtrInput + // The Amazon Web Services KMS key identifier is the key ARN, key ID, alias ARN, or alias name for the KMS key. To use a KMS key in a different Amazon Web Services account, specify the key ARN or alias ARN. If not specified, the default KMS key for your Amazon Web Services account is used. + MasterUserSecretKmsKeyId pulumi.StringPtrInput // When configured, the upper limit to which Amazon RDS can automatically scale the storage of the DB instance. Configuring this will automatically ignore differences to `allocatedStorage`. Must be greater than or equal to `allocatedStorage` or `0` to disable Storage Autoscaling. MaxAllocatedStorage pulumi.IntPtrInput // The interval, in seconds, between points @@ -1211,9 +1317,9 @@ type InstanceArgs struct { // Name of the DB parameter group to // associate. ParameterGroupName pulumi.StringPtrInput - // (Required unless a `snapshotIdentifier` or `replicateSourceDb` - // is provided) Password for the master DB user. Note that this may show up in - // logs, and it will be stored in the state file. + // (Required unless `manageMasterUserPassword` is set to true or unless a `snapshotIdentifier` or `replicateSourceDb` + // is provided or `manageMasterUserPassword` is set.) Password for the master DB user. Note that this may show up in + // logs, and it will be stored in the state file. Cannot be set if `manageMasterUserPassword` is set to `true`. Password pulumi.StringPtrInput // Specifies whether Performance Insights are enabled. Defaults to false. PerformanceInsightsEnabled pulumi.BoolPtrInput @@ -1610,6 +1716,21 @@ func (o InstanceOutput) MaintenanceWindow() pulumi.StringOutput { return o.ApplyT(func(v *Instance) pulumi.StringOutput { return v.MaintenanceWindow }).(pulumi.StringOutput) } +// Set to true to allow RDS to manage the master user password in Secrets Manager. Cannot be set if `password` is provided. +func (o InstanceOutput) ManageMasterUserPassword() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *Instance) pulumi.BoolPtrOutput { return v.ManageMasterUserPassword }).(pulumi.BoolPtrOutput) +} + +// The Amazon Web Services KMS key identifier is the key ARN, key ID, alias ARN, or alias name for the KMS key. To use a KMS key in a different Amazon Web Services account, specify the key ARN or alias ARN. If not specified, the default KMS key for your Amazon Web Services account is used. +func (o InstanceOutput) MasterUserSecretKmsKeyId() pulumi.StringOutput { + return o.ApplyT(func(v *Instance) pulumi.StringOutput { return v.MasterUserSecretKmsKeyId }).(pulumi.StringOutput) +} + +// A block that specifies the master user secret. Only available when `manageMasterUserPassword` is set to true. Documented below. +func (o InstanceOutput) MasterUserSecrets() InstanceMasterUserSecretArrayOutput { + return o.ApplyT(func(v *Instance) InstanceMasterUserSecretArrayOutput { return v.MasterUserSecrets }).(InstanceMasterUserSecretArrayOutput) +} + // When configured, the upper limit to which Amazon RDS can automatically scale the storage of the DB instance. Configuring this will automatically ignore differences to `allocatedStorage`. Must be greater than or equal to `allocatedStorage` or `0` to disable Storage Autoscaling. func (o InstanceOutput) MaxAllocatedStorage() pulumi.IntPtrOutput { return o.ApplyT(func(v *Instance) pulumi.IntPtrOutput { return v.MaxAllocatedStorage }).(pulumi.IntPtrOutput) @@ -1664,9 +1785,9 @@ func (o InstanceOutput) ParameterGroupName() pulumi.StringOutput { return o.ApplyT(func(v *Instance) pulumi.StringOutput { return v.ParameterGroupName }).(pulumi.StringOutput) } -// (Required unless a `snapshotIdentifier` or `replicateSourceDb` -// is provided) Password for the master DB user. Note that this may show up in -// logs, and it will be stored in the state file. +// (Required unless `manageMasterUserPassword` is set to true or unless a `snapshotIdentifier` or `replicateSourceDb` +// is provided or `manageMasterUserPassword` is set.) Password for the master DB user. Note that this may show up in +// logs, and it will be stored in the state file. Cannot be set if `manageMasterUserPassword` is set to `true`. func (o InstanceOutput) Password() pulumi.StringPtrOutput { return o.ApplyT(func(v *Instance) pulumi.StringPtrOutput { return v.Password }).(pulumi.StringPtrOutput) } diff --git a/sdk/go/aws/rds/pulumiTypes.go b/sdk/go/aws/rds/pulumiTypes.go index 496a627b466..8fdfec28389 100644 --- a/sdk/go/aws/rds/pulumiTypes.go +++ b/sdk/go/aws/rds/pulumiTypes.go @@ -10,6 +10,121 @@ import ( "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) +type ClusterMasterUserSecret struct { + // The ARN for the KMS encryption key. When specifying `kmsKeyId`, `storageEncrypted` needs to be set to true. + KmsKeyId *string `pulumi:"kmsKeyId"` + // The Amazon Resource Name (ARN) of the secret. + SecretArn *string `pulumi:"secretArn"` + // The status of the secret. Valid Values: `creating` | `active` | `rotating` | `impaired`. + SecretStatus *string `pulumi:"secretStatus"` +} + +// ClusterMasterUserSecretInput is an input type that accepts ClusterMasterUserSecretArgs and ClusterMasterUserSecretOutput values. +// You can construct a concrete instance of `ClusterMasterUserSecretInput` via: +// +// ClusterMasterUserSecretArgs{...} +type ClusterMasterUserSecretInput interface { + pulumi.Input + + ToClusterMasterUserSecretOutput() ClusterMasterUserSecretOutput + ToClusterMasterUserSecretOutputWithContext(context.Context) ClusterMasterUserSecretOutput +} + +type ClusterMasterUserSecretArgs struct { + // The ARN for the KMS encryption key. When specifying `kmsKeyId`, `storageEncrypted` needs to be set to true. + KmsKeyId pulumi.StringPtrInput `pulumi:"kmsKeyId"` + // The Amazon Resource Name (ARN) of the secret. + SecretArn pulumi.StringPtrInput `pulumi:"secretArn"` + // The status of the secret. Valid Values: `creating` | `active` | `rotating` | `impaired`. + SecretStatus pulumi.StringPtrInput `pulumi:"secretStatus"` +} + +func (ClusterMasterUserSecretArgs) ElementType() reflect.Type { + return reflect.TypeOf((*ClusterMasterUserSecret)(nil)).Elem() +} + +func (i ClusterMasterUserSecretArgs) ToClusterMasterUserSecretOutput() ClusterMasterUserSecretOutput { + return i.ToClusterMasterUserSecretOutputWithContext(context.Background()) +} + +func (i ClusterMasterUserSecretArgs) ToClusterMasterUserSecretOutputWithContext(ctx context.Context) ClusterMasterUserSecretOutput { + return pulumi.ToOutputWithContext(ctx, i).(ClusterMasterUserSecretOutput) +} + +// ClusterMasterUserSecretArrayInput is an input type that accepts ClusterMasterUserSecretArray and ClusterMasterUserSecretArrayOutput values. +// You can construct a concrete instance of `ClusterMasterUserSecretArrayInput` via: +// +// ClusterMasterUserSecretArray{ ClusterMasterUserSecretArgs{...} } +type ClusterMasterUserSecretArrayInput interface { + pulumi.Input + + ToClusterMasterUserSecretArrayOutput() ClusterMasterUserSecretArrayOutput + ToClusterMasterUserSecretArrayOutputWithContext(context.Context) ClusterMasterUserSecretArrayOutput +} + +type ClusterMasterUserSecretArray []ClusterMasterUserSecretInput + +func (ClusterMasterUserSecretArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]ClusterMasterUserSecret)(nil)).Elem() +} + +func (i ClusterMasterUserSecretArray) ToClusterMasterUserSecretArrayOutput() ClusterMasterUserSecretArrayOutput { + return i.ToClusterMasterUserSecretArrayOutputWithContext(context.Background()) +} + +func (i ClusterMasterUserSecretArray) ToClusterMasterUserSecretArrayOutputWithContext(ctx context.Context) ClusterMasterUserSecretArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(ClusterMasterUserSecretArrayOutput) +} + +type ClusterMasterUserSecretOutput struct{ *pulumi.OutputState } + +func (ClusterMasterUserSecretOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ClusterMasterUserSecret)(nil)).Elem() +} + +func (o ClusterMasterUserSecretOutput) ToClusterMasterUserSecretOutput() ClusterMasterUserSecretOutput { + return o +} + +func (o ClusterMasterUserSecretOutput) ToClusterMasterUserSecretOutputWithContext(ctx context.Context) ClusterMasterUserSecretOutput { + return o +} + +// The ARN for the KMS encryption key. When specifying `kmsKeyId`, `storageEncrypted` needs to be set to true. +func (o ClusterMasterUserSecretOutput) KmsKeyId() pulumi.StringPtrOutput { + return o.ApplyT(func(v ClusterMasterUserSecret) *string { return v.KmsKeyId }).(pulumi.StringPtrOutput) +} + +// The Amazon Resource Name (ARN) of the secret. +func (o ClusterMasterUserSecretOutput) SecretArn() pulumi.StringPtrOutput { + return o.ApplyT(func(v ClusterMasterUserSecret) *string { return v.SecretArn }).(pulumi.StringPtrOutput) +} + +// The status of the secret. Valid Values: `creating` | `active` | `rotating` | `impaired`. +func (o ClusterMasterUserSecretOutput) SecretStatus() pulumi.StringPtrOutput { + return o.ApplyT(func(v ClusterMasterUserSecret) *string { return v.SecretStatus }).(pulumi.StringPtrOutput) +} + +type ClusterMasterUserSecretArrayOutput struct{ *pulumi.OutputState } + +func (ClusterMasterUserSecretArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]ClusterMasterUserSecret)(nil)).Elem() +} + +func (o ClusterMasterUserSecretArrayOutput) ToClusterMasterUserSecretArrayOutput() ClusterMasterUserSecretArrayOutput { + return o +} + +func (o ClusterMasterUserSecretArrayOutput) ToClusterMasterUserSecretArrayOutputWithContext(ctx context.Context) ClusterMasterUserSecretArrayOutput { + return o +} + +func (o ClusterMasterUserSecretArrayOutput) Index(i pulumi.IntInput) ClusterMasterUserSecretOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) ClusterMasterUserSecret { + return vs[0].([]ClusterMasterUserSecret)[vs[1].(int)] + }).(ClusterMasterUserSecretOutput) +} + type ClusterParameterGroupParameter struct { // "immediate" (default), or "pending-reboot". Some // engines can't apply some parameters without a reboot, and you will need to @@ -1273,6 +1388,124 @@ func (o InstanceListenerEndpointArrayOutput) Index(i pulumi.IntInput) InstanceLi }).(InstanceListenerEndpointOutput) } +type InstanceMasterUserSecret struct { + // The ARN for the KMS encryption key. If creating an + // encrypted replica, set this to the destination KMS ARN. + KmsKeyId *string `pulumi:"kmsKeyId"` + // The Amazon Resource Name (ARN) of the secret. + SecretArn *string `pulumi:"secretArn"` + // The status of the secret. Valid Values: `creating` | `active` | `rotating` | `impaired`. + SecretStatus *string `pulumi:"secretStatus"` +} + +// InstanceMasterUserSecretInput is an input type that accepts InstanceMasterUserSecretArgs and InstanceMasterUserSecretOutput values. +// You can construct a concrete instance of `InstanceMasterUserSecretInput` via: +// +// InstanceMasterUserSecretArgs{...} +type InstanceMasterUserSecretInput interface { + pulumi.Input + + ToInstanceMasterUserSecretOutput() InstanceMasterUserSecretOutput + ToInstanceMasterUserSecretOutputWithContext(context.Context) InstanceMasterUserSecretOutput +} + +type InstanceMasterUserSecretArgs struct { + // The ARN for the KMS encryption key. If creating an + // encrypted replica, set this to the destination KMS ARN. + KmsKeyId pulumi.StringPtrInput `pulumi:"kmsKeyId"` + // The Amazon Resource Name (ARN) of the secret. + SecretArn pulumi.StringPtrInput `pulumi:"secretArn"` + // The status of the secret. Valid Values: `creating` | `active` | `rotating` | `impaired`. + SecretStatus pulumi.StringPtrInput `pulumi:"secretStatus"` +} + +func (InstanceMasterUserSecretArgs) ElementType() reflect.Type { + return reflect.TypeOf((*InstanceMasterUserSecret)(nil)).Elem() +} + +func (i InstanceMasterUserSecretArgs) ToInstanceMasterUserSecretOutput() InstanceMasterUserSecretOutput { + return i.ToInstanceMasterUserSecretOutputWithContext(context.Background()) +} + +func (i InstanceMasterUserSecretArgs) ToInstanceMasterUserSecretOutputWithContext(ctx context.Context) InstanceMasterUserSecretOutput { + return pulumi.ToOutputWithContext(ctx, i).(InstanceMasterUserSecretOutput) +} + +// InstanceMasterUserSecretArrayInput is an input type that accepts InstanceMasterUserSecretArray and InstanceMasterUserSecretArrayOutput values. +// You can construct a concrete instance of `InstanceMasterUserSecretArrayInput` via: +// +// InstanceMasterUserSecretArray{ InstanceMasterUserSecretArgs{...} } +type InstanceMasterUserSecretArrayInput interface { + pulumi.Input + + ToInstanceMasterUserSecretArrayOutput() InstanceMasterUserSecretArrayOutput + ToInstanceMasterUserSecretArrayOutputWithContext(context.Context) InstanceMasterUserSecretArrayOutput +} + +type InstanceMasterUserSecretArray []InstanceMasterUserSecretInput + +func (InstanceMasterUserSecretArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]InstanceMasterUserSecret)(nil)).Elem() +} + +func (i InstanceMasterUserSecretArray) ToInstanceMasterUserSecretArrayOutput() InstanceMasterUserSecretArrayOutput { + return i.ToInstanceMasterUserSecretArrayOutputWithContext(context.Background()) +} + +func (i InstanceMasterUserSecretArray) ToInstanceMasterUserSecretArrayOutputWithContext(ctx context.Context) InstanceMasterUserSecretArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(InstanceMasterUserSecretArrayOutput) +} + +type InstanceMasterUserSecretOutput struct{ *pulumi.OutputState } + +func (InstanceMasterUserSecretOutput) ElementType() reflect.Type { + return reflect.TypeOf((*InstanceMasterUserSecret)(nil)).Elem() +} + +func (o InstanceMasterUserSecretOutput) ToInstanceMasterUserSecretOutput() InstanceMasterUserSecretOutput { + return o +} + +func (o InstanceMasterUserSecretOutput) ToInstanceMasterUserSecretOutputWithContext(ctx context.Context) InstanceMasterUserSecretOutput { + return o +} + +// The ARN for the KMS encryption key. If creating an +// encrypted replica, set this to the destination KMS ARN. +func (o InstanceMasterUserSecretOutput) KmsKeyId() pulumi.StringPtrOutput { + return o.ApplyT(func(v InstanceMasterUserSecret) *string { return v.KmsKeyId }).(pulumi.StringPtrOutput) +} + +// The Amazon Resource Name (ARN) of the secret. +func (o InstanceMasterUserSecretOutput) SecretArn() pulumi.StringPtrOutput { + return o.ApplyT(func(v InstanceMasterUserSecret) *string { return v.SecretArn }).(pulumi.StringPtrOutput) +} + +// The status of the secret. Valid Values: `creating` | `active` | `rotating` | `impaired`. +func (o InstanceMasterUserSecretOutput) SecretStatus() pulumi.StringPtrOutput { + return o.ApplyT(func(v InstanceMasterUserSecret) *string { return v.SecretStatus }).(pulumi.StringPtrOutput) +} + +type InstanceMasterUserSecretArrayOutput struct{ *pulumi.OutputState } + +func (InstanceMasterUserSecretArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]InstanceMasterUserSecret)(nil)).Elem() +} + +func (o InstanceMasterUserSecretArrayOutput) ToInstanceMasterUserSecretArrayOutput() InstanceMasterUserSecretArrayOutput { + return o +} + +func (o InstanceMasterUserSecretArrayOutput) ToInstanceMasterUserSecretArrayOutputWithContext(ctx context.Context) InstanceMasterUserSecretArrayOutput { + return o +} + +func (o InstanceMasterUserSecretArrayOutput) Index(i pulumi.IntInput) InstanceMasterUserSecretOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) InstanceMasterUserSecret { + return vs[0].([]InstanceMasterUserSecret)[vs[1].(int)] + }).(InstanceMasterUserSecretOutput) +} + type InstanceRestoreToPointInTime struct { // The date and time to restore from. Value must be a time in Universal Coordinated Time (UTC) format and must be before the latest restorable time for the DB instance. Cannot be specified with `useLatestRestorableTime`. RestoreTime *string `pulumi:"restoreTime"` @@ -2650,6 +2883,112 @@ func (o SecurityGroupIngressArrayOutput) Index(i pulumi.IntInput) SecurityGroupI }).(SecurityGroupIngressOutput) } +type GetClusterMasterUserSecret struct { + KmsKeyId string `pulumi:"kmsKeyId"` + SecretArn string `pulumi:"secretArn"` + SecretStatus string `pulumi:"secretStatus"` +} + +// GetClusterMasterUserSecretInput is an input type that accepts GetClusterMasterUserSecretArgs and GetClusterMasterUserSecretOutput values. +// You can construct a concrete instance of `GetClusterMasterUserSecretInput` via: +// +// GetClusterMasterUserSecretArgs{...} +type GetClusterMasterUserSecretInput interface { + pulumi.Input + + ToGetClusterMasterUserSecretOutput() GetClusterMasterUserSecretOutput + ToGetClusterMasterUserSecretOutputWithContext(context.Context) GetClusterMasterUserSecretOutput +} + +type GetClusterMasterUserSecretArgs struct { + KmsKeyId pulumi.StringInput `pulumi:"kmsKeyId"` + SecretArn pulumi.StringInput `pulumi:"secretArn"` + SecretStatus pulumi.StringInput `pulumi:"secretStatus"` +} + +func (GetClusterMasterUserSecretArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetClusterMasterUserSecret)(nil)).Elem() +} + +func (i GetClusterMasterUserSecretArgs) ToGetClusterMasterUserSecretOutput() GetClusterMasterUserSecretOutput { + return i.ToGetClusterMasterUserSecretOutputWithContext(context.Background()) +} + +func (i GetClusterMasterUserSecretArgs) ToGetClusterMasterUserSecretOutputWithContext(ctx context.Context) GetClusterMasterUserSecretOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetClusterMasterUserSecretOutput) +} + +// GetClusterMasterUserSecretArrayInput is an input type that accepts GetClusterMasterUserSecretArray and GetClusterMasterUserSecretArrayOutput values. +// You can construct a concrete instance of `GetClusterMasterUserSecretArrayInput` via: +// +// GetClusterMasterUserSecretArray{ GetClusterMasterUserSecretArgs{...} } +type GetClusterMasterUserSecretArrayInput interface { + pulumi.Input + + ToGetClusterMasterUserSecretArrayOutput() GetClusterMasterUserSecretArrayOutput + ToGetClusterMasterUserSecretArrayOutputWithContext(context.Context) GetClusterMasterUserSecretArrayOutput +} + +type GetClusterMasterUserSecretArray []GetClusterMasterUserSecretInput + +func (GetClusterMasterUserSecretArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetClusterMasterUserSecret)(nil)).Elem() +} + +func (i GetClusterMasterUserSecretArray) ToGetClusterMasterUserSecretArrayOutput() GetClusterMasterUserSecretArrayOutput { + return i.ToGetClusterMasterUserSecretArrayOutputWithContext(context.Background()) +} + +func (i GetClusterMasterUserSecretArray) ToGetClusterMasterUserSecretArrayOutputWithContext(ctx context.Context) GetClusterMasterUserSecretArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetClusterMasterUserSecretArrayOutput) +} + +type GetClusterMasterUserSecretOutput struct{ *pulumi.OutputState } + +func (GetClusterMasterUserSecretOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetClusterMasterUserSecret)(nil)).Elem() +} + +func (o GetClusterMasterUserSecretOutput) ToGetClusterMasterUserSecretOutput() GetClusterMasterUserSecretOutput { + return o +} + +func (o GetClusterMasterUserSecretOutput) ToGetClusterMasterUserSecretOutputWithContext(ctx context.Context) GetClusterMasterUserSecretOutput { + return o +} + +func (o GetClusterMasterUserSecretOutput) KmsKeyId() pulumi.StringOutput { + return o.ApplyT(func(v GetClusterMasterUserSecret) string { return v.KmsKeyId }).(pulumi.StringOutput) +} + +func (o GetClusterMasterUserSecretOutput) SecretArn() pulumi.StringOutput { + return o.ApplyT(func(v GetClusterMasterUserSecret) string { return v.SecretArn }).(pulumi.StringOutput) +} + +func (o GetClusterMasterUserSecretOutput) SecretStatus() pulumi.StringOutput { + return o.ApplyT(func(v GetClusterMasterUserSecret) string { return v.SecretStatus }).(pulumi.StringOutput) +} + +type GetClusterMasterUserSecretArrayOutput struct{ *pulumi.OutputState } + +func (GetClusterMasterUserSecretArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetClusterMasterUserSecret)(nil)).Elem() +} + +func (o GetClusterMasterUserSecretArrayOutput) ToGetClusterMasterUserSecretArrayOutput() GetClusterMasterUserSecretArrayOutput { + return o +} + +func (o GetClusterMasterUserSecretArrayOutput) ToGetClusterMasterUserSecretArrayOutputWithContext(ctx context.Context) GetClusterMasterUserSecretArrayOutput { + return o +} + +func (o GetClusterMasterUserSecretArrayOutput) Index(i pulumi.IntInput) GetClusterMasterUserSecretOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetClusterMasterUserSecret { + return vs[0].([]GetClusterMasterUserSecret)[vs[1].(int)] + }).(GetClusterMasterUserSecretOutput) +} + type GetClustersFilter struct { // Name of the filter field. Valid values can be found in the [RDS DescribeDBClusters API Reference](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_DescribeDBClusters.html). Name string `pulumi:"name"` @@ -2856,6 +3195,121 @@ func (o GetEngineVersionFilterArrayOutput) Index(i pulumi.IntInput) GetEngineVer }).(GetEngineVersionFilterOutput) } +type GetInstanceMasterUserSecret struct { + // The Amazon Web Services KMS key identifier that is used to encrypt the secret. + KmsKeyId string `pulumi:"kmsKeyId"` + // The Amazon Resource Name (ARN) of the secret. + SecretArn string `pulumi:"secretArn"` + // The status of the secret. Valid Values: `creating` | `active` | `rotating` | `impaired`. + SecretStatus string `pulumi:"secretStatus"` +} + +// GetInstanceMasterUserSecretInput is an input type that accepts GetInstanceMasterUserSecretArgs and GetInstanceMasterUserSecretOutput values. +// You can construct a concrete instance of `GetInstanceMasterUserSecretInput` via: +// +// GetInstanceMasterUserSecretArgs{...} +type GetInstanceMasterUserSecretInput interface { + pulumi.Input + + ToGetInstanceMasterUserSecretOutput() GetInstanceMasterUserSecretOutput + ToGetInstanceMasterUserSecretOutputWithContext(context.Context) GetInstanceMasterUserSecretOutput +} + +type GetInstanceMasterUserSecretArgs struct { + // The Amazon Web Services KMS key identifier that is used to encrypt the secret. + KmsKeyId pulumi.StringInput `pulumi:"kmsKeyId"` + // The Amazon Resource Name (ARN) of the secret. + SecretArn pulumi.StringInput `pulumi:"secretArn"` + // The status of the secret. Valid Values: `creating` | `active` | `rotating` | `impaired`. + SecretStatus pulumi.StringInput `pulumi:"secretStatus"` +} + +func (GetInstanceMasterUserSecretArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetInstanceMasterUserSecret)(nil)).Elem() +} + +func (i GetInstanceMasterUserSecretArgs) ToGetInstanceMasterUserSecretOutput() GetInstanceMasterUserSecretOutput { + return i.ToGetInstanceMasterUserSecretOutputWithContext(context.Background()) +} + +func (i GetInstanceMasterUserSecretArgs) ToGetInstanceMasterUserSecretOutputWithContext(ctx context.Context) GetInstanceMasterUserSecretOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetInstanceMasterUserSecretOutput) +} + +// GetInstanceMasterUserSecretArrayInput is an input type that accepts GetInstanceMasterUserSecretArray and GetInstanceMasterUserSecretArrayOutput values. +// You can construct a concrete instance of `GetInstanceMasterUserSecretArrayInput` via: +// +// GetInstanceMasterUserSecretArray{ GetInstanceMasterUserSecretArgs{...} } +type GetInstanceMasterUserSecretArrayInput interface { + pulumi.Input + + ToGetInstanceMasterUserSecretArrayOutput() GetInstanceMasterUserSecretArrayOutput + ToGetInstanceMasterUserSecretArrayOutputWithContext(context.Context) GetInstanceMasterUserSecretArrayOutput +} + +type GetInstanceMasterUserSecretArray []GetInstanceMasterUserSecretInput + +func (GetInstanceMasterUserSecretArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetInstanceMasterUserSecret)(nil)).Elem() +} + +func (i GetInstanceMasterUserSecretArray) ToGetInstanceMasterUserSecretArrayOutput() GetInstanceMasterUserSecretArrayOutput { + return i.ToGetInstanceMasterUserSecretArrayOutputWithContext(context.Background()) +} + +func (i GetInstanceMasterUserSecretArray) ToGetInstanceMasterUserSecretArrayOutputWithContext(ctx context.Context) GetInstanceMasterUserSecretArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetInstanceMasterUserSecretArrayOutput) +} + +type GetInstanceMasterUserSecretOutput struct{ *pulumi.OutputState } + +func (GetInstanceMasterUserSecretOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetInstanceMasterUserSecret)(nil)).Elem() +} + +func (o GetInstanceMasterUserSecretOutput) ToGetInstanceMasterUserSecretOutput() GetInstanceMasterUserSecretOutput { + return o +} + +func (o GetInstanceMasterUserSecretOutput) ToGetInstanceMasterUserSecretOutputWithContext(ctx context.Context) GetInstanceMasterUserSecretOutput { + return o +} + +// The Amazon Web Services KMS key identifier that is used to encrypt the secret. +func (o GetInstanceMasterUserSecretOutput) KmsKeyId() pulumi.StringOutput { + return o.ApplyT(func(v GetInstanceMasterUserSecret) string { return v.KmsKeyId }).(pulumi.StringOutput) +} + +// The Amazon Resource Name (ARN) of the secret. +func (o GetInstanceMasterUserSecretOutput) SecretArn() pulumi.StringOutput { + return o.ApplyT(func(v GetInstanceMasterUserSecret) string { return v.SecretArn }).(pulumi.StringOutput) +} + +// The status of the secret. Valid Values: `creating` | `active` | `rotating` | `impaired`. +func (o GetInstanceMasterUserSecretOutput) SecretStatus() pulumi.StringOutput { + return o.ApplyT(func(v GetInstanceMasterUserSecret) string { return v.SecretStatus }).(pulumi.StringOutput) +} + +type GetInstanceMasterUserSecretArrayOutput struct{ *pulumi.OutputState } + +func (GetInstanceMasterUserSecretArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetInstanceMasterUserSecret)(nil)).Elem() +} + +func (o GetInstanceMasterUserSecretArrayOutput) ToGetInstanceMasterUserSecretArrayOutput() GetInstanceMasterUserSecretArrayOutput { + return o +} + +func (o GetInstanceMasterUserSecretArrayOutput) ToGetInstanceMasterUserSecretArrayOutputWithContext(ctx context.Context) GetInstanceMasterUserSecretArrayOutput { + return o +} + +func (o GetInstanceMasterUserSecretArrayOutput) Index(i pulumi.IntInput) GetInstanceMasterUserSecretOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetInstanceMasterUserSecret { + return vs[0].([]GetInstanceMasterUserSecret)[vs[1].(int)] + }).(GetInstanceMasterUserSecretOutput) +} + type GetInstancesFilter struct { // Name of the filter field. Valid values can be found in the [RDS DescribeDBClusters API Reference](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_DescribeDBClusters.html). Name string `pulumi:"name"` @@ -3081,6 +3535,8 @@ func (o GetProxyAuthArrayOutput) Index(i pulumi.IntInput) GetProxyAuthOutput { } func init() { + pulumi.RegisterInputType(reflect.TypeOf((*ClusterMasterUserSecretInput)(nil)).Elem(), ClusterMasterUserSecretArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*ClusterMasterUserSecretArrayInput)(nil)).Elem(), ClusterMasterUserSecretArray{}) pulumi.RegisterInputType(reflect.TypeOf((*ClusterParameterGroupParameterInput)(nil)).Elem(), ClusterParameterGroupParameterArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*ClusterParameterGroupParameterArrayInput)(nil)).Elem(), ClusterParameterGroupParameterArray{}) pulumi.RegisterInputType(reflect.TypeOf((*ClusterRestoreToPointInTimeInput)(nil)).Elem(), ClusterRestoreToPointInTimeArgs{}) @@ -3097,6 +3553,8 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*InstanceBlueGreenUpdatePtrInput)(nil)).Elem(), InstanceBlueGreenUpdateArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*InstanceListenerEndpointInput)(nil)).Elem(), InstanceListenerEndpointArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*InstanceListenerEndpointArrayInput)(nil)).Elem(), InstanceListenerEndpointArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*InstanceMasterUserSecretInput)(nil)).Elem(), InstanceMasterUserSecretArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*InstanceMasterUserSecretArrayInput)(nil)).Elem(), InstanceMasterUserSecretArray{}) pulumi.RegisterInputType(reflect.TypeOf((*InstanceRestoreToPointInTimeInput)(nil)).Elem(), InstanceRestoreToPointInTimeArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*InstanceRestoreToPointInTimePtrInput)(nil)).Elem(), InstanceRestoreToPointInTimeArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*InstanceS3ImportInput)(nil)).Elem(), InstanceS3ImportArgs{}) @@ -3115,14 +3573,20 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*ReservedInstanceRecurringChargeArrayInput)(nil)).Elem(), ReservedInstanceRecurringChargeArray{}) pulumi.RegisterInputType(reflect.TypeOf((*SecurityGroupIngressInput)(nil)).Elem(), SecurityGroupIngressArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*SecurityGroupIngressArrayInput)(nil)).Elem(), SecurityGroupIngressArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetClusterMasterUserSecretInput)(nil)).Elem(), GetClusterMasterUserSecretArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetClusterMasterUserSecretArrayInput)(nil)).Elem(), GetClusterMasterUserSecretArray{}) pulumi.RegisterInputType(reflect.TypeOf((*GetClustersFilterInput)(nil)).Elem(), GetClustersFilterArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GetClustersFilterArrayInput)(nil)).Elem(), GetClustersFilterArray{}) pulumi.RegisterInputType(reflect.TypeOf((*GetEngineVersionFilterInput)(nil)).Elem(), GetEngineVersionFilterArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GetEngineVersionFilterArrayInput)(nil)).Elem(), GetEngineVersionFilterArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetInstanceMasterUserSecretInput)(nil)).Elem(), GetInstanceMasterUserSecretArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetInstanceMasterUserSecretArrayInput)(nil)).Elem(), GetInstanceMasterUserSecretArray{}) pulumi.RegisterInputType(reflect.TypeOf((*GetInstancesFilterInput)(nil)).Elem(), GetInstancesFilterArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GetInstancesFilterArrayInput)(nil)).Elem(), GetInstancesFilterArray{}) pulumi.RegisterInputType(reflect.TypeOf((*GetProxyAuthInput)(nil)).Elem(), GetProxyAuthArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GetProxyAuthArrayInput)(nil)).Elem(), GetProxyAuthArray{}) + pulumi.RegisterOutputType(ClusterMasterUserSecretOutput{}) + pulumi.RegisterOutputType(ClusterMasterUserSecretArrayOutput{}) pulumi.RegisterOutputType(ClusterParameterGroupParameterOutput{}) pulumi.RegisterOutputType(ClusterParameterGroupParameterArrayOutput{}) pulumi.RegisterOutputType(ClusterRestoreToPointInTimeOutput{}) @@ -3139,6 +3603,8 @@ func init() { pulumi.RegisterOutputType(InstanceBlueGreenUpdatePtrOutput{}) pulumi.RegisterOutputType(InstanceListenerEndpointOutput{}) pulumi.RegisterOutputType(InstanceListenerEndpointArrayOutput{}) + pulumi.RegisterOutputType(InstanceMasterUserSecretOutput{}) + pulumi.RegisterOutputType(InstanceMasterUserSecretArrayOutput{}) pulumi.RegisterOutputType(InstanceRestoreToPointInTimeOutput{}) pulumi.RegisterOutputType(InstanceRestoreToPointInTimePtrOutput{}) pulumi.RegisterOutputType(InstanceS3ImportOutput{}) @@ -3157,10 +3623,14 @@ func init() { pulumi.RegisterOutputType(ReservedInstanceRecurringChargeArrayOutput{}) pulumi.RegisterOutputType(SecurityGroupIngressOutput{}) pulumi.RegisterOutputType(SecurityGroupIngressArrayOutput{}) + pulumi.RegisterOutputType(GetClusterMasterUserSecretOutput{}) + pulumi.RegisterOutputType(GetClusterMasterUserSecretArrayOutput{}) pulumi.RegisterOutputType(GetClustersFilterOutput{}) pulumi.RegisterOutputType(GetClustersFilterArrayOutput{}) pulumi.RegisterOutputType(GetEngineVersionFilterOutput{}) pulumi.RegisterOutputType(GetEngineVersionFilterArrayOutput{}) + pulumi.RegisterOutputType(GetInstanceMasterUserSecretOutput{}) + pulumi.RegisterOutputType(GetInstanceMasterUserSecretArrayOutput{}) pulumi.RegisterOutputType(GetInstancesFilterOutput{}) pulumi.RegisterOutputType(GetInstancesFilterArrayOutput{}) pulumi.RegisterOutputType(GetProxyAuthOutput{}) diff --git a/sdk/go/aws/route53/healthCheck.go b/sdk/go/aws/route53/healthCheck.go index 5141211a967..137b652a2ae 100644 --- a/sdk/go/aws/route53/healthCheck.go +++ b/sdk/go/aws/route53/healthCheck.go @@ -403,6 +403,8 @@ type healthCheckArgs struct { SearchString *string `pulumi:"searchString"` // A map of tags to assign to the health check. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. Tags map[string]string `pulumi:"tags"` + // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. + TagsAll map[string]string `pulumi:"tagsAll"` // The protocol to use when performing health checks. Valid values are `HTTP`, `HTTPS`, `HTTP_STR_MATCH`, `HTTPS_STR_MATCH`, `TCP`, `CALCULATED`, `CLOUDWATCH_METRIC` and `RECOVERY_CONTROL`. Type string `pulumi:"type"` } @@ -453,6 +455,8 @@ type HealthCheckArgs struct { SearchString pulumi.StringPtrInput // A map of tags to assign to the health check. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. Tags pulumi.StringMapInput + // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. + TagsAll pulumi.StringMapInput // The protocol to use when performing health checks. Valid values are `HTTP`, `HTTPS`, `HTTP_STR_MATCH`, `HTTPS_STR_MATCH`, `TCP`, `CALCULATED`, `CLOUDWATCH_METRIC` and `RECOVERY_CONTROL`. Type pulumi.StringInput } diff --git a/sdk/go/aws/route53/zone.go b/sdk/go/aws/route53/zone.go index 0341f5198dd..7dcd0a8d7a0 100644 --- a/sdk/go/aws/route53/zone.go +++ b/sdk/go/aws/route53/zone.go @@ -250,6 +250,8 @@ type zoneArgs struct { Name *string `pulumi:"name"` // A mapping of tags to assign to the zone. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. Tags map[string]string `pulumi:"tags"` + // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. + TagsAll map[string]string `pulumi:"tagsAll"` // Configuration block(s) specifying VPC(s) to associate with a private hosted zone. Conflicts with the `delegationSetId` argument in this resource and any `route53.ZoneAssociation` resource specifying the same zone ID. Detailed below. Vpcs []ZoneVpc `pulumi:"vpcs"` } @@ -266,6 +268,8 @@ type ZoneArgs struct { Name pulumi.StringPtrInput // A mapping of tags to assign to the zone. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. Tags pulumi.StringMapInput + // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. + TagsAll pulumi.StringMapInput // Configuration block(s) specifying VPC(s) to associate with a private hosted zone. Conflicts with the `delegationSetId` argument in this resource and any `route53.ZoneAssociation` resource specifying the same zone ID. Detailed below. Vpcs ZoneVpcArrayInput } diff --git a/sdk/go/aws/s3/bucketObject.go b/sdk/go/aws/s3/bucketObject.go index caa22fd47d3..87dfa6917fc 100644 --- a/sdk/go/aws/s3/bucketObject.go +++ b/sdk/go/aws/s3/bucketObject.go @@ -461,6 +461,8 @@ type bucketObjectArgs struct { StorageClass *string `pulumi:"storageClass"` // Map of tags to assign to the object. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. Tags map[string]string `pulumi:"tags"` + // Map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. + TagsAll map[string]string `pulumi:"tagsAll"` // Target URL for [website redirect](http://docs.aws.amazon.com/AmazonS3/latest/dev/how-to-page-redirect.html). WebsiteRedirect *string `pulumi:"websiteRedirect"` } @@ -513,6 +515,8 @@ type BucketObjectArgs struct { StorageClass pulumi.StringPtrInput // Map of tags to assign to the object. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. Tags pulumi.StringMapInput + // Map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. + TagsAll pulumi.StringMapInput // Target URL for [website redirect](http://docs.aws.amazon.com/AmazonS3/latest/dev/how-to-page-redirect.html). WebsiteRedirect pulumi.StringPtrInput } diff --git a/sdk/go/aws/s3/bucketObjectv2.go b/sdk/go/aws/s3/bucketObjectv2.go index 5cf4322e225..33cac96395f 100644 --- a/sdk/go/aws/s3/bucketObjectv2.go +++ b/sdk/go/aws/s3/bucketObjectv2.go @@ -467,6 +467,8 @@ type bucketObjectv2Args struct { StorageClass *string `pulumi:"storageClass"` // Map of tags to assign to the object. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. Tags map[string]string `pulumi:"tags"` + // Map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. + TagsAll map[string]string `pulumi:"tagsAll"` // Target URL for [website redirect](http://docs.aws.amazon.com/AmazonS3/latest/dev/how-to-page-redirect.html). WebsiteRedirect *string `pulumi:"websiteRedirect"` } @@ -519,6 +521,8 @@ type BucketObjectv2Args struct { StorageClass pulumi.StringPtrInput // Map of tags to assign to the object. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. Tags pulumi.StringMapInput + // Map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. + TagsAll pulumi.StringMapInput // Target URL for [website redirect](http://docs.aws.amazon.com/AmazonS3/latest/dev/how-to-page-redirect.html). WebsiteRedirect pulumi.StringPtrInput } diff --git a/sdk/go/aws/s3/bucketV2.go b/sdk/go/aws/s3/bucketV2.go index 1e0e0c18355..e0caa6a8027 100644 --- a/sdk/go/aws/s3/bucketV2.go +++ b/sdk/go/aws/s3/bucketV2.go @@ -634,7 +634,7 @@ type BucketV2 struct { // Bucket domain name. Will be of format `bucketname.s3.amazonaws.com`. BucketDomainName pulumi.StringOutput `pulumi:"bucketDomainName"` // Creates a unique bucket name beginning with the specified prefix. Conflicts with `bucket`. Must be lowercase and less than or equal to 37 characters in length. A full list of bucket naming rules [may be found here](https://docs.aws.amazon.com/AmazonS3/latest/userguide/bucketnamingrules.html). - BucketPrefix pulumi.StringPtrOutput `pulumi:"bucketPrefix"` + BucketPrefix pulumi.StringOutput `pulumi:"bucketPrefix"` // Bucket region-specific domain name. The bucket domain name including the region name, please refer [here](https://docs.aws.amazon.com/general/latest/gr/rande.html#s3_region) for format. Note: The AWS CloudFront allows specifying S3 region-specific endpoint when creating S3 origin, it will prevent [redirect issues](https://forums.aws.amazon.com/thread.jspa?threadID=216814) from CloudFront to S3 Origin URL. BucketRegionalDomainName pulumi.StringOutput `pulumi:"bucketRegionalDomainName"` // Rule of [Cross-Origin Resource Sharing](https://docs.aws.amazon.com/AmazonS3/latest/dev/cors.html). See CORS rule below for details. This provider will only perform drift detection if a configuration value is provided. Use the resource `s3.BucketCorsConfigurationV2` instead. @@ -1024,6 +1024,8 @@ type bucketV2Args struct { ServerSideEncryptionConfigurations []BucketV2ServerSideEncryptionConfiguration `pulumi:"serverSideEncryptionConfigurations"` // Map of tags to assign to the bucket. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. Tags map[string]string `pulumi:"tags"` + // Map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. + TagsAll map[string]string `pulumi:"tagsAll"` // Configuration of the [S3 bucket versioning state](https://docs.aws.amazon.com/AmazonS3/latest/dev/Versioning.html). See Versioning below for details. The provider will only perform drift detection if a configuration value is provided. Use the resource `s3.BucketVersioningV2` instead. // // Deprecated: Use the aws_s3_bucket_versioning resource instead @@ -1105,6 +1107,8 @@ type BucketV2Args struct { ServerSideEncryptionConfigurations BucketV2ServerSideEncryptionConfigurationArrayInput // Map of tags to assign to the bucket. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. Tags pulumi.StringMapInput + // Map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. + TagsAll pulumi.StringMapInput // Configuration of the [S3 bucket versioning state](https://docs.aws.amazon.com/AmazonS3/latest/dev/Versioning.html). See Versioning below for details. The provider will only perform drift detection if a configuration value is provided. Use the resource `s3.BucketVersioningV2` instead. // // Deprecated: Use the aws_s3_bucket_versioning resource instead @@ -1234,8 +1238,8 @@ func (o BucketV2Output) BucketDomainName() pulumi.StringOutput { } // Creates a unique bucket name beginning with the specified prefix. Conflicts with `bucket`. Must be lowercase and less than or equal to 37 characters in length. A full list of bucket naming rules [may be found here](https://docs.aws.amazon.com/AmazonS3/latest/userguide/bucketnamingrules.html). -func (o BucketV2Output) BucketPrefix() pulumi.StringPtrOutput { - return o.ApplyT(func(v *BucketV2) pulumi.StringPtrOutput { return v.BucketPrefix }).(pulumi.StringPtrOutput) +func (o BucketV2Output) BucketPrefix() pulumi.StringOutput { + return o.ApplyT(func(v *BucketV2) pulumi.StringOutput { return v.BucketPrefix }).(pulumi.StringOutput) } // Bucket region-specific domain name. The bucket domain name including the region name, please refer [here](https://docs.aws.amazon.com/general/latest/gr/rande.html#s3_region) for format. Note: The AWS CloudFront allows specifying S3 region-specific endpoint when creating S3 origin, it will prevent [redirect issues](https://forums.aws.amazon.com/thread.jspa?threadID=216814) from CloudFront to S3 Origin URL. diff --git a/sdk/go/aws/s3/objectCopy.go b/sdk/go/aws/s3/objectCopy.go index c335aa33134..99cb63b4e8d 100644 --- a/sdk/go/aws/s3/objectCopy.go +++ b/sdk/go/aws/s3/objectCopy.go @@ -461,6 +461,8 @@ type objectCopyArgs struct { TaggingDirective *string `pulumi:"taggingDirective"` // Map of tags to assign to the object. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. Tags map[string]string `pulumi:"tags"` + // Map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. + TagsAll map[string]string `pulumi:"tagsAll"` // Specifies a target URL for [website redirect](http://docs.aws.amazon.com/AmazonS3/latest/dev/how-to-page-redirect.html). WebsiteRedirect *string `pulumi:"websiteRedirect"` } @@ -540,6 +542,8 @@ type ObjectCopyArgs struct { TaggingDirective pulumi.StringPtrInput // Map of tags to assign to the object. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. Tags pulumi.StringMapInput + // Map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. + TagsAll pulumi.StringMapInput // Specifies a target URL for [website redirect](http://docs.aws.amazon.com/AmazonS3/latest/dev/how-to-page-redirect.html). WebsiteRedirect pulumi.StringPtrInput } diff --git a/sdk/go/aws/sagemaker/pulumiTypes.go b/sdk/go/aws/sagemaker/pulumiTypes.go index 1dca362ea60..6986156283f 100644 --- a/sdk/go/aws/sagemaker/pulumiTypes.go +++ b/sdk/go/aws/sagemaker/pulumiTypes.go @@ -6354,6 +6354,8 @@ type EndpointConfigurationProductionVariant struct { ContainerStartupHealthCheckTimeoutInSeconds *int `pulumi:"containerStartupHealthCheckTimeoutInSeconds"` // Specifies configuration for a core dump from the model container when the process crashes. Fields are documented below. CoreDumpConfig *EndpointConfigurationProductionVariantCoreDumpConfig `pulumi:"coreDumpConfig"` + // You can use this parameter to turn on native Amazon Web Services Systems Manager (SSM) access for a production variant behind an endpoint. By default, SSM access is disabled for all production variants behind an endpoints. + EnableSsmAccess *bool `pulumi:"enableSsmAccess"` // Initial number of instances used for auto-scaling. InitialInstanceCount *int `pulumi:"initialInstanceCount"` // Determines initial traffic distribution among all of the models that you specify in the endpoint configuration. If unspecified, it defaults to `1.0`. @@ -6390,6 +6392,8 @@ type EndpointConfigurationProductionVariantArgs struct { ContainerStartupHealthCheckTimeoutInSeconds pulumi.IntPtrInput `pulumi:"containerStartupHealthCheckTimeoutInSeconds"` // Specifies configuration for a core dump from the model container when the process crashes. Fields are documented below. CoreDumpConfig EndpointConfigurationProductionVariantCoreDumpConfigPtrInput `pulumi:"coreDumpConfig"` + // You can use this parameter to turn on native Amazon Web Services Systems Manager (SSM) access for a production variant behind an endpoint. By default, SSM access is disabled for all production variants behind an endpoints. + EnableSsmAccess pulumi.BoolPtrInput `pulumi:"enableSsmAccess"` // Initial number of instances used for auto-scaling. InitialInstanceCount pulumi.IntPtrInput `pulumi:"initialInstanceCount"` // Determines initial traffic distribution among all of the models that you specify in the endpoint configuration. If unspecified, it defaults to `1.0`. @@ -6478,6 +6482,11 @@ func (o EndpointConfigurationProductionVariantOutput) CoreDumpConfig() EndpointC }).(EndpointConfigurationProductionVariantCoreDumpConfigPtrOutput) } +// You can use this parameter to turn on native Amazon Web Services Systems Manager (SSM) access for a production variant behind an endpoint. By default, SSM access is disabled for all production variants behind an endpoints. +func (o EndpointConfigurationProductionVariantOutput) EnableSsmAccess() pulumi.BoolPtrOutput { + return o.ApplyT(func(v EndpointConfigurationProductionVariant) *bool { return v.EnableSsmAccess }).(pulumi.BoolPtrOutput) +} + // Initial number of instances used for auto-scaling. func (o EndpointConfigurationProductionVariantOutput) InitialInstanceCount() pulumi.IntPtrOutput { return o.ApplyT(func(v EndpointConfigurationProductionVariant) *int { return v.InitialInstanceCount }).(pulumi.IntPtrOutput) @@ -6859,6 +6868,8 @@ type EndpointConfigurationShadowProductionVariant struct { ContainerStartupHealthCheckTimeoutInSeconds *int `pulumi:"containerStartupHealthCheckTimeoutInSeconds"` // Specifies configuration for a core dump from the model container when the process crashes. Fields are documented below. CoreDumpConfig *EndpointConfigurationShadowProductionVariantCoreDumpConfig `pulumi:"coreDumpConfig"` + // You can use this parameter to turn on native Amazon Web Services Systems Manager (SSM) access for a production variant behind an endpoint. By default, SSM access is disabled for all production variants behind an endpoints. + EnableSsmAccess *bool `pulumi:"enableSsmAccess"` // Initial number of instances used for auto-scaling. InitialInstanceCount *int `pulumi:"initialInstanceCount"` // Determines initial traffic distribution among all of the models that you specify in the endpoint configuration. If unspecified, it defaults to `1.0`. @@ -6895,6 +6906,8 @@ type EndpointConfigurationShadowProductionVariantArgs struct { ContainerStartupHealthCheckTimeoutInSeconds pulumi.IntPtrInput `pulumi:"containerStartupHealthCheckTimeoutInSeconds"` // Specifies configuration for a core dump from the model container when the process crashes. Fields are documented below. CoreDumpConfig EndpointConfigurationShadowProductionVariantCoreDumpConfigPtrInput `pulumi:"coreDumpConfig"` + // You can use this parameter to turn on native Amazon Web Services Systems Manager (SSM) access for a production variant behind an endpoint. By default, SSM access is disabled for all production variants behind an endpoints. + EnableSsmAccess pulumi.BoolPtrInput `pulumi:"enableSsmAccess"` // Initial number of instances used for auto-scaling. InitialInstanceCount pulumi.IntPtrInput `pulumi:"initialInstanceCount"` // Determines initial traffic distribution among all of the models that you specify in the endpoint configuration. If unspecified, it defaults to `1.0`. @@ -6983,6 +6996,11 @@ func (o EndpointConfigurationShadowProductionVariantOutput) CoreDumpConfig() End }).(EndpointConfigurationShadowProductionVariantCoreDumpConfigPtrOutput) } +// You can use this parameter to turn on native Amazon Web Services Systems Manager (SSM) access for a production variant behind an endpoint. By default, SSM access is disabled for all production variants behind an endpoints. +func (o EndpointConfigurationShadowProductionVariantOutput) EnableSsmAccess() pulumi.BoolPtrOutput { + return o.ApplyT(func(v EndpointConfigurationShadowProductionVariant) *bool { return v.EnableSsmAccess }).(pulumi.BoolPtrOutput) +} + // Initial number of instances used for auto-scaling. func (o EndpointConfigurationShadowProductionVariantOutput) InitialInstanceCount() pulumi.IntPtrOutput { return o.ApplyT(func(v EndpointConfigurationShadowProductionVariant) *int { return v.InitialInstanceCount }).(pulumi.IntPtrOutput) diff --git a/sdk/go/aws/servicecatalog/portfolio.go b/sdk/go/aws/servicecatalog/portfolio.go index c3844d1b2f4..6cf57f791f4 100644 --- a/sdk/go/aws/servicecatalog/portfolio.go +++ b/sdk/go/aws/servicecatalog/portfolio.go @@ -140,6 +140,8 @@ type portfolioArgs struct { ProviderName string `pulumi:"providerName"` // Tags to apply to the connection. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. Tags map[string]string `pulumi:"tags"` + // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. + TagsAll map[string]string `pulumi:"tagsAll"` } // The set of arguments for constructing a Portfolio resource. @@ -152,6 +154,8 @@ type PortfolioArgs struct { ProviderName pulumi.StringInput // Tags to apply to the connection. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. Tags pulumi.StringMapInput + // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. + TagsAll pulumi.StringMapInput } func (PortfolioArgs) ElementType() reflect.Type { diff --git a/sdk/go/aws/servicecatalog/product.go b/sdk/go/aws/servicecatalog/product.go index 88693857596..9ae56d6f0cf 100644 --- a/sdk/go/aws/servicecatalog/product.go +++ b/sdk/go/aws/servicecatalog/product.go @@ -229,6 +229,8 @@ type productArgs struct { SupportUrl *string `pulumi:"supportUrl"` // Tags to apply to the product. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. Tags map[string]string `pulumi:"tags"` + // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. + TagsAll map[string]string `pulumi:"tagsAll"` // Type of product. See [AWS Docs](https://docs.aws.amazon.com/servicecatalog/latest/dg/API_CreateProduct.html#API_CreateProduct_RequestSyntax) for valid list of values. Type string `pulumi:"type"` } @@ -255,6 +257,8 @@ type ProductArgs struct { SupportUrl pulumi.StringPtrInput // Tags to apply to the product. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. Tags pulumi.StringMapInput + // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. + TagsAll pulumi.StringMapInput // Type of product. See [AWS Docs](https://docs.aws.amazon.com/servicecatalog/latest/dg/API_CreateProduct.html#API_CreateProduct_RequestSyntax) for valid list of values. Type pulumi.StringInput } diff --git a/sdk/go/aws/servicecatalog/provisionedProduct.go b/sdk/go/aws/servicecatalog/provisionedProduct.go index b6db82f56fc..04163b0ae0f 100644 --- a/sdk/go/aws/servicecatalog/provisionedProduct.go +++ b/sdk/go/aws/servicecatalog/provisionedProduct.go @@ -294,6 +294,8 @@ type provisionedProductArgs struct { StackSetProvisioningPreferences *ProvisionedProductStackSetProvisioningPreferences `pulumi:"stackSetProvisioningPreferences"` // Tags to apply to the provisioned product. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. Tags map[string]string `pulumi:"tags"` + // Map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. + TagsAll map[string]string `pulumi:"tagsAll"` } // The set of arguments for constructing a ProvisionedProduct resource. @@ -326,6 +328,8 @@ type ProvisionedProductArgs struct { StackSetProvisioningPreferences ProvisionedProductStackSetProvisioningPreferencesPtrInput // Tags to apply to the provisioned product. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. Tags pulumi.StringMapInput + // Map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. + TagsAll pulumi.StringMapInput } func (ProvisionedProductArgs) ElementType() reflect.Type { diff --git a/sdk/go/aws/sns/dataProtectionPolicy.go b/sdk/go/aws/sns/dataProtectionPolicy.go new file mode 100644 index 00000000000..e2cef13daf1 --- /dev/null +++ b/sdk/go/aws/sns/dataProtectionPolicy.go @@ -0,0 +1,302 @@ +// Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package sns + +import ( + "context" + "reflect" + + "errors" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +// Provides an SNS data protection topic policy resource +// +// ## Example Usage +// +// ```go +// package main +// +// import ( +// +// "encoding/json" +// +// "github.com/pulumi/pulumi-aws/sdk/v5/go/aws/sns" +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// exampleTopic, err := sns.NewTopic(ctx, "exampleTopic", nil) +// if err != nil { +// return err +// } +// tmpJSON0, err := json.Marshal(map[string]interface{}{ +// "Description": "Example data protection policy", +// "Name": "__example_data_protection_policy", +// "Statement": []map[string]interface{}{ +// map[string]interface{}{ +// "DataDirection": "Inbound", +// "DataIdentifier": []string{ +// "arn:aws:dataprotection::aws:data-identifier/EmailAddress", +// }, +// "Operation": map[string]interface{}{ +// "Deny": nil, +// }, +// "Principal": []string{ +// "*", +// }, +// "Sid": "__deny_statement_11ba9d96", +// }, +// }, +// "Version": "2021-06-01", +// }) +// if err != nil { +// return err +// } +// json0 := string(tmpJSON0) +// _, err = sns.NewDataProtectionPolicy(ctx, "exampleDataProtectionPolicy", &sns.DataProtectionPolicyArgs{ +// Arn: exampleTopic.Arn, +// Policy: pulumi.String(json0), +// }) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +// +// ## Import +// +// SNS Data Protection Topic Policy can be imported using the topic ARN, e.g., +// +// ```sh +// +// $ pulumi import aws:sns/dataProtectionPolicy:DataProtectionPolicy example arn:aws:sns:us-west-2:0123456789012:example +// +// ``` +type DataProtectionPolicy struct { + pulumi.CustomResourceState + + // The ARN of the SNS topic + Arn pulumi.StringOutput `pulumi:"arn"` + // The fully-formed AWS policy as JSON. For more information about building AWS IAM policy documents with this provider, see the AWS IAM Policy Document Guide. + Policy pulumi.StringOutput `pulumi:"policy"` +} + +// NewDataProtectionPolicy registers a new resource with the given unique name, arguments, and options. +func NewDataProtectionPolicy(ctx *pulumi.Context, + name string, args *DataProtectionPolicyArgs, opts ...pulumi.ResourceOption) (*DataProtectionPolicy, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.Arn == nil { + return nil, errors.New("invalid value for required argument 'Arn'") + } + if args.Policy == nil { + return nil, errors.New("invalid value for required argument 'Policy'") + } + var resource DataProtectionPolicy + err := ctx.RegisterResource("aws:sns/dataProtectionPolicy:DataProtectionPolicy", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetDataProtectionPolicy gets an existing DataProtectionPolicy resource's state with the given name, ID, and optional +// state properties that are used to uniquely qualify the lookup (nil if not required). +func GetDataProtectionPolicy(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *DataProtectionPolicyState, opts ...pulumi.ResourceOption) (*DataProtectionPolicy, error) { + var resource DataProtectionPolicy + err := ctx.ReadResource("aws:sns/dataProtectionPolicy:DataProtectionPolicy", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering DataProtectionPolicy resources. +type dataProtectionPolicyState struct { + // The ARN of the SNS topic + Arn *string `pulumi:"arn"` + // The fully-formed AWS policy as JSON. For more information about building AWS IAM policy documents with this provider, see the AWS IAM Policy Document Guide. + Policy *string `pulumi:"policy"` +} + +type DataProtectionPolicyState struct { + // The ARN of the SNS topic + Arn pulumi.StringPtrInput + // The fully-formed AWS policy as JSON. For more information about building AWS IAM policy documents with this provider, see the AWS IAM Policy Document Guide. + Policy pulumi.StringPtrInput +} + +func (DataProtectionPolicyState) ElementType() reflect.Type { + return reflect.TypeOf((*dataProtectionPolicyState)(nil)).Elem() +} + +type dataProtectionPolicyArgs struct { + // The ARN of the SNS topic + Arn string `pulumi:"arn"` + // The fully-formed AWS policy as JSON. For more information about building AWS IAM policy documents with this provider, see the AWS IAM Policy Document Guide. + Policy string `pulumi:"policy"` +} + +// The set of arguments for constructing a DataProtectionPolicy resource. +type DataProtectionPolicyArgs struct { + // The ARN of the SNS topic + Arn pulumi.StringInput + // The fully-formed AWS policy as JSON. For more information about building AWS IAM policy documents with this provider, see the AWS IAM Policy Document Guide. + Policy pulumi.StringInput +} + +func (DataProtectionPolicyArgs) ElementType() reflect.Type { + return reflect.TypeOf((*dataProtectionPolicyArgs)(nil)).Elem() +} + +type DataProtectionPolicyInput interface { + pulumi.Input + + ToDataProtectionPolicyOutput() DataProtectionPolicyOutput + ToDataProtectionPolicyOutputWithContext(ctx context.Context) DataProtectionPolicyOutput +} + +func (*DataProtectionPolicy) ElementType() reflect.Type { + return reflect.TypeOf((**DataProtectionPolicy)(nil)).Elem() +} + +func (i *DataProtectionPolicy) ToDataProtectionPolicyOutput() DataProtectionPolicyOutput { + return i.ToDataProtectionPolicyOutputWithContext(context.Background()) +} + +func (i *DataProtectionPolicy) ToDataProtectionPolicyOutputWithContext(ctx context.Context) DataProtectionPolicyOutput { + return pulumi.ToOutputWithContext(ctx, i).(DataProtectionPolicyOutput) +} + +// DataProtectionPolicyArrayInput is an input type that accepts DataProtectionPolicyArray and DataProtectionPolicyArrayOutput values. +// You can construct a concrete instance of `DataProtectionPolicyArrayInput` via: +// +// DataProtectionPolicyArray{ DataProtectionPolicyArgs{...} } +type DataProtectionPolicyArrayInput interface { + pulumi.Input + + ToDataProtectionPolicyArrayOutput() DataProtectionPolicyArrayOutput + ToDataProtectionPolicyArrayOutputWithContext(context.Context) DataProtectionPolicyArrayOutput +} + +type DataProtectionPolicyArray []DataProtectionPolicyInput + +func (DataProtectionPolicyArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]*DataProtectionPolicy)(nil)).Elem() +} + +func (i DataProtectionPolicyArray) ToDataProtectionPolicyArrayOutput() DataProtectionPolicyArrayOutput { + return i.ToDataProtectionPolicyArrayOutputWithContext(context.Background()) +} + +func (i DataProtectionPolicyArray) ToDataProtectionPolicyArrayOutputWithContext(ctx context.Context) DataProtectionPolicyArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(DataProtectionPolicyArrayOutput) +} + +// DataProtectionPolicyMapInput is an input type that accepts DataProtectionPolicyMap and DataProtectionPolicyMapOutput values. +// You can construct a concrete instance of `DataProtectionPolicyMapInput` via: +// +// DataProtectionPolicyMap{ "key": DataProtectionPolicyArgs{...} } +type DataProtectionPolicyMapInput interface { + pulumi.Input + + ToDataProtectionPolicyMapOutput() DataProtectionPolicyMapOutput + ToDataProtectionPolicyMapOutputWithContext(context.Context) DataProtectionPolicyMapOutput +} + +type DataProtectionPolicyMap map[string]DataProtectionPolicyInput + +func (DataProtectionPolicyMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*DataProtectionPolicy)(nil)).Elem() +} + +func (i DataProtectionPolicyMap) ToDataProtectionPolicyMapOutput() DataProtectionPolicyMapOutput { + return i.ToDataProtectionPolicyMapOutputWithContext(context.Background()) +} + +func (i DataProtectionPolicyMap) ToDataProtectionPolicyMapOutputWithContext(ctx context.Context) DataProtectionPolicyMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(DataProtectionPolicyMapOutput) +} + +type DataProtectionPolicyOutput struct{ *pulumi.OutputState } + +func (DataProtectionPolicyOutput) ElementType() reflect.Type { + return reflect.TypeOf((**DataProtectionPolicy)(nil)).Elem() +} + +func (o DataProtectionPolicyOutput) ToDataProtectionPolicyOutput() DataProtectionPolicyOutput { + return o +} + +func (o DataProtectionPolicyOutput) ToDataProtectionPolicyOutputWithContext(ctx context.Context) DataProtectionPolicyOutput { + return o +} + +// The ARN of the SNS topic +func (o DataProtectionPolicyOutput) Arn() pulumi.StringOutput { + return o.ApplyT(func(v *DataProtectionPolicy) pulumi.StringOutput { return v.Arn }).(pulumi.StringOutput) +} + +// The fully-formed AWS policy as JSON. For more information about building AWS IAM policy documents with this provider, see the AWS IAM Policy Document Guide. +func (o DataProtectionPolicyOutput) Policy() pulumi.StringOutput { + return o.ApplyT(func(v *DataProtectionPolicy) pulumi.StringOutput { return v.Policy }).(pulumi.StringOutput) +} + +type DataProtectionPolicyArrayOutput struct{ *pulumi.OutputState } + +func (DataProtectionPolicyArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]*DataProtectionPolicy)(nil)).Elem() +} + +func (o DataProtectionPolicyArrayOutput) ToDataProtectionPolicyArrayOutput() DataProtectionPolicyArrayOutput { + return o +} + +func (o DataProtectionPolicyArrayOutput) ToDataProtectionPolicyArrayOutputWithContext(ctx context.Context) DataProtectionPolicyArrayOutput { + return o +} + +func (o DataProtectionPolicyArrayOutput) Index(i pulumi.IntInput) DataProtectionPolicyOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) *DataProtectionPolicy { + return vs[0].([]*DataProtectionPolicy)[vs[1].(int)] + }).(DataProtectionPolicyOutput) +} + +type DataProtectionPolicyMapOutput struct{ *pulumi.OutputState } + +func (DataProtectionPolicyMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*DataProtectionPolicy)(nil)).Elem() +} + +func (o DataProtectionPolicyMapOutput) ToDataProtectionPolicyMapOutput() DataProtectionPolicyMapOutput { + return o +} + +func (o DataProtectionPolicyMapOutput) ToDataProtectionPolicyMapOutputWithContext(ctx context.Context) DataProtectionPolicyMapOutput { + return o +} + +func (o DataProtectionPolicyMapOutput) MapIndex(k pulumi.StringInput) DataProtectionPolicyOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) *DataProtectionPolicy { + return vs[0].(map[string]*DataProtectionPolicy)[vs[1].(string)] + }).(DataProtectionPolicyOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*DataProtectionPolicyInput)(nil)).Elem(), &DataProtectionPolicy{}) + pulumi.RegisterInputType(reflect.TypeOf((*DataProtectionPolicyArrayInput)(nil)).Elem(), DataProtectionPolicyArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*DataProtectionPolicyMapInput)(nil)).Elem(), DataProtectionPolicyMap{}) + pulumi.RegisterOutputType(DataProtectionPolicyOutput{}) + pulumi.RegisterOutputType(DataProtectionPolicyArrayOutput{}) + pulumi.RegisterOutputType(DataProtectionPolicyMapOutput{}) +} diff --git a/sdk/go/aws/sns/init.go b/sdk/go/aws/sns/init.go index aedf63833aa..28f96aa9055 100644 --- a/sdk/go/aws/sns/init.go +++ b/sdk/go/aws/sns/init.go @@ -21,6 +21,8 @@ func (m *module) Version() semver.Version { func (m *module) Construct(ctx *pulumi.Context, name, typ, urn string) (r pulumi.Resource, err error) { switch typ { + case "aws:sns/dataProtectionPolicy:DataProtectionPolicy": + r = &DataProtectionPolicy{} case "aws:sns/platformApplication:PlatformApplication": r = &PlatformApplication{} case "aws:sns/smsPreferences:SmsPreferences": @@ -44,6 +46,11 @@ func init() { if err != nil { version = semver.Version{Major: 1} } + pulumi.RegisterResourceModule( + "aws", + "sns/dataProtectionPolicy", + &module{version}, + ) pulumi.RegisterResourceModule( "aws", "sns/platformApplication", diff --git a/sdk/go/aws/ssm/activation.go b/sdk/go/aws/ssm/activation.go index 3c3a5c6222b..67f69756fa7 100644 --- a/sdk/go/aws/ssm/activation.go +++ b/sdk/go/aws/ssm/activation.go @@ -206,6 +206,8 @@ type activationArgs struct { RegistrationLimit *int `pulumi:"registrationLimit"` // A map of tags to assign to the object. .If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. Tags map[string]string `pulumi:"tags"` + // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. + TagsAll map[string]string `pulumi:"tagsAll"` } // The set of arguments for constructing a Activation resource. @@ -222,6 +224,8 @@ type ActivationArgs struct { RegistrationLimit pulumi.IntPtrInput // A map of tags to assign to the object. .If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. Tags pulumi.StringMapInput + // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. + TagsAll pulumi.StringMapInput } func (ActivationArgs) ElementType() reflect.Type { diff --git a/sdk/go/aws/ssm/document.go b/sdk/go/aws/ssm/document.go index 4f428f289e0..a756a74e4ac 100644 --- a/sdk/go/aws/ssm/document.go +++ b/sdk/go/aws/ssm/document.go @@ -315,6 +315,8 @@ type documentArgs struct { Permissions map[string]string `pulumi:"permissions"` // A map of tags to assign to the object. .If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. Tags map[string]string `pulumi:"tags"` + // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. + TagsAll map[string]string `pulumi:"tagsAll"` // The target type which defines the kinds of resources the document can run on. For example, /AWS::EC2::Instance. For a list of valid resource types, see AWS Resource Types Reference (http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-template-resource-type-ref.html) TargetType *string `pulumi:"targetType"` // A field specifying the version of the artifact you are creating with the document. For example, "Release 12, Update 6". This value is unique across all versions of a document and cannot be changed for an existing document version. @@ -337,6 +339,8 @@ type DocumentArgs struct { Permissions pulumi.StringMapInput // A map of tags to assign to the object. .If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. Tags pulumi.StringMapInput + // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. + TagsAll pulumi.StringMapInput // The target type which defines the kinds of resources the document can run on. For example, /AWS::EC2::Instance. For a list of valid resource types, see AWS Resource Types Reference (http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-template-resource-type-ref.html) TargetType pulumi.StringPtrInput // A field specifying the version of the artifact you are creating with the document. For example, "Release 12, Update 6". This value is unique across all versions of a document and cannot be changed for an existing document version. diff --git a/sdk/go/aws/ssm/maintenanceWindow.go b/sdk/go/aws/ssm/maintenanceWindow.go index 40b0cb582c8..1e78180f2cb 100644 --- a/sdk/go/aws/ssm/maintenanceWindow.go +++ b/sdk/go/aws/ssm/maintenanceWindow.go @@ -207,6 +207,8 @@ type maintenanceWindowArgs struct { StartDate *string `pulumi:"startDate"` // 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. Tags map[string]string `pulumi:"tags"` + // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. + TagsAll map[string]string `pulumi:"tagsAll"` } // The set of arguments for constructing a MaintenanceWindow resource. @@ -235,6 +237,8 @@ type MaintenanceWindowArgs struct { StartDate pulumi.StringPtrInput // 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. Tags pulumi.StringMapInput + // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. + TagsAll pulumi.StringMapInput } func (MaintenanceWindowArgs) ElementType() reflect.Type { diff --git a/sdk/go/aws/ssm/parameter.go b/sdk/go/aws/ssm/parameter.go index 7b60f2793d4..fdd3fb241d2 100644 --- a/sdk/go/aws/ssm/parameter.go +++ b/sdk/go/aws/ssm/parameter.go @@ -254,6 +254,8 @@ type parameterArgs struct { Overwrite *bool `pulumi:"overwrite"` // Map of tags to assign to the object. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. Tags map[string]string `pulumi:"tags"` + // Map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. + TagsAll map[string]string `pulumi:"tagsAll"` // Parameter tier to assign to the parameter. If not specified, will use the default parameter tier for the region. Valid tiers are `Standard`, `Advanced`, and `Intelligent-Tiering`. Downgrading an `Advanced` tier parameter to `Standard` will recreate the resource. For more information on parameter tiers, see the [AWS SSM Parameter tier comparison and guide](https://docs.aws.amazon.com/systems-manager/latest/userguide/parameter-store-advanced-parameters.html). Tier *string `pulumi:"tier"` // Type of the parameter. Valid types are `String`, `StringList` and `SecureString`. @@ -282,6 +284,8 @@ type ParameterArgs struct { Overwrite pulumi.BoolPtrInput // Map of tags to assign to the object. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. Tags pulumi.StringMapInput + // Map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. + TagsAll pulumi.StringMapInput // Parameter tier to assign to the parameter. If not specified, will use the default parameter tier for the region. Valid tiers are `Standard`, `Advanced`, and `Intelligent-Tiering`. Downgrading an `Advanced` tier parameter to `Standard` will recreate the resource. For more information on parameter tiers, see the [AWS SSM Parameter tier comparison and guide](https://docs.aws.amazon.com/systems-manager/latest/userguide/parameter-store-advanced-parameters.html). Tier pulumi.StringPtrInput // Type of the parameter. Valid types are `String`, `StringList` and `SecureString`. diff --git a/sdk/go/aws/ssm/patchBaseline.go b/sdk/go/aws/ssm/patchBaseline.go index 8a4cdacc253..073b6518b61 100644 --- a/sdk/go/aws/ssm/patchBaseline.go +++ b/sdk/go/aws/ssm/patchBaseline.go @@ -512,6 +512,8 @@ type patchBaselineArgs struct { Sources []PatchBaselineSource `pulumi:"sources"` // 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. Tags map[string]string `pulumi:"tags"` + // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. + TagsAll map[string]string `pulumi:"tagsAll"` } // The set of arguments for constructing a PatchBaseline resource. @@ -567,6 +569,8 @@ type PatchBaselineArgs struct { Sources PatchBaselineSourceArrayInput // 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. Tags pulumi.StringMapInput + // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. + TagsAll pulumi.StringMapInput } func (PatchBaselineArgs) ElementType() reflect.Type { diff --git a/sdk/go/aws/ssmincidents/getReplicationSet.go b/sdk/go/aws/ssmincidents/getReplicationSet.go new file mode 100644 index 00000000000..2f106ca01ca --- /dev/null +++ b/sdk/go/aws/ssmincidents/getReplicationSet.go @@ -0,0 +1,156 @@ +// Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ssmincidents + +import ( + "context" + "reflect" + + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +// > **NOTE:** The AWS Region specified by a provider must always be one of the Regions specified for the replication set. +// +// Use this data source to manage a replication set in AWS Systems Manager Incident Manager. +// +// ## Example Usage +// ### Basic Usage +// +// ```go +// package main +// +// import ( +// +// "github.com/pulumi/pulumi-aws/sdk/v5/go/aws/ssmincidents" +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// _, err := ssmincidents.LookupReplicationSet(ctx, nil, nil) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +func LookupReplicationSet(ctx *pulumi.Context, args *LookupReplicationSetArgs, opts ...pulumi.InvokeOption) (*LookupReplicationSetResult, error) { + var rv LookupReplicationSetResult + err := ctx.Invoke("aws:ssmincidents/getReplicationSet:getReplicationSet", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getReplicationSet. +type LookupReplicationSetArgs struct { + // All tags applied to the replication set. + Tags map[string]string `pulumi:"tags"` +} + +// A collection of values returned by getReplicationSet. +type LookupReplicationSetResult struct { + // The Amazon Resouce Name (ARN) of the replication set. + Arn string `pulumi:"arn"` + // The ARN of the user who created the replication set. + CreatedBy string `pulumi:"createdBy"` + // If `true`, the last remaining Region in a replication set can’t be deleted. + DeletionProtected bool `pulumi:"deletionProtected"` + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + // The ARN of the user who last modified the replication set. + LastModifiedBy string `pulumi:"lastModifiedBy"` + Regions []GetReplicationSetRegion `pulumi:"regions"` + // The current status of the Region. + // * Valid Values: `ACTIVE` | `CREATING` | `UPDATING` | `DELETING` | `FAILED` + Status string `pulumi:"status"` + // All tags applied to the replication set. + Tags map[string]string `pulumi:"tags"` +} + +func LookupReplicationSetOutput(ctx *pulumi.Context, args LookupReplicationSetOutputArgs, opts ...pulumi.InvokeOption) LookupReplicationSetResultOutput { + return pulumi.ToOutputWithContext(context.Background(), args). + ApplyT(func(v interface{}) (LookupReplicationSetResult, error) { + args := v.(LookupReplicationSetArgs) + r, err := LookupReplicationSet(ctx, &args, opts...) + var s LookupReplicationSetResult + if r != nil { + s = *r + } + return s, err + }).(LookupReplicationSetResultOutput) +} + +// A collection of arguments for invoking getReplicationSet. +type LookupReplicationSetOutputArgs struct { + // All tags applied to the replication set. + Tags pulumi.StringMapInput `pulumi:"tags"` +} + +func (LookupReplicationSetOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*LookupReplicationSetArgs)(nil)).Elem() +} + +// A collection of values returned by getReplicationSet. +type LookupReplicationSetResultOutput struct{ *pulumi.OutputState } + +func (LookupReplicationSetResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*LookupReplicationSetResult)(nil)).Elem() +} + +func (o LookupReplicationSetResultOutput) ToLookupReplicationSetResultOutput() LookupReplicationSetResultOutput { + return o +} + +func (o LookupReplicationSetResultOutput) ToLookupReplicationSetResultOutputWithContext(ctx context.Context) LookupReplicationSetResultOutput { + return o +} + +// The Amazon Resouce Name (ARN) of the replication set. +func (o LookupReplicationSetResultOutput) Arn() pulumi.StringOutput { + return o.ApplyT(func(v LookupReplicationSetResult) string { return v.Arn }).(pulumi.StringOutput) +} + +// The ARN of the user who created the replication set. +func (o LookupReplicationSetResultOutput) CreatedBy() pulumi.StringOutput { + return o.ApplyT(func(v LookupReplicationSetResult) string { return v.CreatedBy }).(pulumi.StringOutput) +} + +// If `true`, the last remaining Region in a replication set can’t be deleted. +func (o LookupReplicationSetResultOutput) DeletionProtected() pulumi.BoolOutput { + return o.ApplyT(func(v LookupReplicationSetResult) bool { return v.DeletionProtected }).(pulumi.BoolOutput) +} + +// The provider-assigned unique ID for this managed resource. +func (o LookupReplicationSetResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v LookupReplicationSetResult) string { return v.Id }).(pulumi.StringOutput) +} + +// The ARN of the user who last modified the replication set. +func (o LookupReplicationSetResultOutput) LastModifiedBy() pulumi.StringOutput { + return o.ApplyT(func(v LookupReplicationSetResult) string { return v.LastModifiedBy }).(pulumi.StringOutput) +} + +func (o LookupReplicationSetResultOutput) Regions() GetReplicationSetRegionArrayOutput { + return o.ApplyT(func(v LookupReplicationSetResult) []GetReplicationSetRegion { return v.Regions }).(GetReplicationSetRegionArrayOutput) +} + +// The current status of the Region. +// * Valid Values: `ACTIVE` | `CREATING` | `UPDATING` | `DELETING` | `FAILED` +func (o LookupReplicationSetResultOutput) Status() pulumi.StringOutput { + return o.ApplyT(func(v LookupReplicationSetResult) string { return v.Status }).(pulumi.StringOutput) +} + +// All tags applied to the replication set. +func (o LookupReplicationSetResultOutput) Tags() pulumi.StringMapOutput { + return o.ApplyT(func(v LookupReplicationSetResult) map[string]string { return v.Tags }).(pulumi.StringMapOutput) +} + +func init() { + pulumi.RegisterOutputType(LookupReplicationSetResultOutput{}) +} diff --git a/sdk/go/aws/ssmincidents/init.go b/sdk/go/aws/ssmincidents/init.go new file mode 100644 index 00000000000..ca5b113fd17 --- /dev/null +++ b/sdk/go/aws/ssmincidents/init.go @@ -0,0 +1,44 @@ +// Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ssmincidents + +import ( + "fmt" + + "github.com/blang/semver" + "github.com/pulumi/pulumi-aws/sdk/v5/go/aws" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +type module struct { + version semver.Version +} + +func (m *module) Version() semver.Version { + return m.version +} + +func (m *module) Construct(ctx *pulumi.Context, name, typ, urn string) (r pulumi.Resource, err error) { + switch typ { + case "aws:ssmincidents/replicationSet:ReplicationSet": + r = &ReplicationSet{} + default: + return nil, fmt.Errorf("unknown resource type: %s", typ) + } + + err = ctx.RegisterResource(typ, name, nil, r, pulumi.URN_(urn)) + return +} + +func init() { + version, err := aws.PkgVersion() + if err != nil { + version = semver.Version{Major: 1} + } + pulumi.RegisterResourceModule( + "aws", + "ssmincidents/replicationSet", + &module{version}, + ) +} diff --git a/sdk/go/aws/ssmincidents/pulumiTypes.go b/sdk/go/aws/ssmincidents/pulumiTypes.go new file mode 100644 index 00000000000..81e94dbb617 --- /dev/null +++ b/sdk/go/aws/ssmincidents/pulumiTypes.go @@ -0,0 +1,276 @@ +// Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ssmincidents + +import ( + "context" + "reflect" + + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +type ReplicationSetRegion struct { + // The Amazon Resource name (ARN) of the customer managed key. If omitted, AWS manages the AWS KMS keys for you, using an AWS owned key, as indicated by a default value of `DefaultKey`. + KmsKeyArn *string `pulumi:"kmsKeyArn"` + // The name of the Region, such as `ap-southeast-2`. + Name string `pulumi:"name"` + // The current status of the Region. + // * Valid Values: `ACTIVE` | `CREATING` | `UPDATING` | `DELETING` | `FAILED` + Status *string `pulumi:"status"` + // More information about the status of a Region. + StatusMessage *string `pulumi:"statusMessage"` +} + +// ReplicationSetRegionInput is an input type that accepts ReplicationSetRegionArgs and ReplicationSetRegionOutput values. +// You can construct a concrete instance of `ReplicationSetRegionInput` via: +// +// ReplicationSetRegionArgs{...} +type ReplicationSetRegionInput interface { + pulumi.Input + + ToReplicationSetRegionOutput() ReplicationSetRegionOutput + ToReplicationSetRegionOutputWithContext(context.Context) ReplicationSetRegionOutput +} + +type ReplicationSetRegionArgs struct { + // The Amazon Resource name (ARN) of the customer managed key. If omitted, AWS manages the AWS KMS keys for you, using an AWS owned key, as indicated by a default value of `DefaultKey`. + KmsKeyArn pulumi.StringPtrInput `pulumi:"kmsKeyArn"` + // The name of the Region, such as `ap-southeast-2`. + Name pulumi.StringInput `pulumi:"name"` + // The current status of the Region. + // * Valid Values: `ACTIVE` | `CREATING` | `UPDATING` | `DELETING` | `FAILED` + Status pulumi.StringPtrInput `pulumi:"status"` + // More information about the status of a Region. + StatusMessage pulumi.StringPtrInput `pulumi:"statusMessage"` +} + +func (ReplicationSetRegionArgs) ElementType() reflect.Type { + return reflect.TypeOf((*ReplicationSetRegion)(nil)).Elem() +} + +func (i ReplicationSetRegionArgs) ToReplicationSetRegionOutput() ReplicationSetRegionOutput { + return i.ToReplicationSetRegionOutputWithContext(context.Background()) +} + +func (i ReplicationSetRegionArgs) ToReplicationSetRegionOutputWithContext(ctx context.Context) ReplicationSetRegionOutput { + return pulumi.ToOutputWithContext(ctx, i).(ReplicationSetRegionOutput) +} + +// ReplicationSetRegionArrayInput is an input type that accepts ReplicationSetRegionArray and ReplicationSetRegionArrayOutput values. +// You can construct a concrete instance of `ReplicationSetRegionArrayInput` via: +// +// ReplicationSetRegionArray{ ReplicationSetRegionArgs{...} } +type ReplicationSetRegionArrayInput interface { + pulumi.Input + + ToReplicationSetRegionArrayOutput() ReplicationSetRegionArrayOutput + ToReplicationSetRegionArrayOutputWithContext(context.Context) ReplicationSetRegionArrayOutput +} + +type ReplicationSetRegionArray []ReplicationSetRegionInput + +func (ReplicationSetRegionArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]ReplicationSetRegion)(nil)).Elem() +} + +func (i ReplicationSetRegionArray) ToReplicationSetRegionArrayOutput() ReplicationSetRegionArrayOutput { + return i.ToReplicationSetRegionArrayOutputWithContext(context.Background()) +} + +func (i ReplicationSetRegionArray) ToReplicationSetRegionArrayOutputWithContext(ctx context.Context) ReplicationSetRegionArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(ReplicationSetRegionArrayOutput) +} + +type ReplicationSetRegionOutput struct{ *pulumi.OutputState } + +func (ReplicationSetRegionOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ReplicationSetRegion)(nil)).Elem() +} + +func (o ReplicationSetRegionOutput) ToReplicationSetRegionOutput() ReplicationSetRegionOutput { + return o +} + +func (o ReplicationSetRegionOutput) ToReplicationSetRegionOutputWithContext(ctx context.Context) ReplicationSetRegionOutput { + return o +} + +// The Amazon Resource name (ARN) of the customer managed key. If omitted, AWS manages the AWS KMS keys for you, using an AWS owned key, as indicated by a default value of `DefaultKey`. +func (o ReplicationSetRegionOutput) KmsKeyArn() pulumi.StringPtrOutput { + return o.ApplyT(func(v ReplicationSetRegion) *string { return v.KmsKeyArn }).(pulumi.StringPtrOutput) +} + +// The name of the Region, such as `ap-southeast-2`. +func (o ReplicationSetRegionOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v ReplicationSetRegion) string { return v.Name }).(pulumi.StringOutput) +} + +// The current status of the Region. +// * Valid Values: `ACTIVE` | `CREATING` | `UPDATING` | `DELETING` | `FAILED` +func (o ReplicationSetRegionOutput) Status() pulumi.StringPtrOutput { + return o.ApplyT(func(v ReplicationSetRegion) *string { return v.Status }).(pulumi.StringPtrOutput) +} + +// More information about the status of a Region. +func (o ReplicationSetRegionOutput) StatusMessage() pulumi.StringPtrOutput { + return o.ApplyT(func(v ReplicationSetRegion) *string { return v.StatusMessage }).(pulumi.StringPtrOutput) +} + +type ReplicationSetRegionArrayOutput struct{ *pulumi.OutputState } + +func (ReplicationSetRegionArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]ReplicationSetRegion)(nil)).Elem() +} + +func (o ReplicationSetRegionArrayOutput) ToReplicationSetRegionArrayOutput() ReplicationSetRegionArrayOutput { + return o +} + +func (o ReplicationSetRegionArrayOutput) ToReplicationSetRegionArrayOutputWithContext(ctx context.Context) ReplicationSetRegionArrayOutput { + return o +} + +func (o ReplicationSetRegionArrayOutput) Index(i pulumi.IntInput) ReplicationSetRegionOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) ReplicationSetRegion { + return vs[0].([]ReplicationSetRegion)[vs[1].(int)] + }).(ReplicationSetRegionOutput) +} + +type GetReplicationSetRegion struct { + // The ARN of the AWS Key Management Service (AWS KMS) encryption key. + KmsKeyArn string `pulumi:"kmsKeyArn"` + // The name of the Region. + Name string `pulumi:"name"` + // The current status of the Region. + // * Valid Values: `ACTIVE` | `CREATING` | `UPDATING` | `DELETING` | `FAILED` + Status string `pulumi:"status"` + // More information about the status of a Region. + StatusMessage string `pulumi:"statusMessage"` +} + +// GetReplicationSetRegionInput is an input type that accepts GetReplicationSetRegionArgs and GetReplicationSetRegionOutput values. +// You can construct a concrete instance of `GetReplicationSetRegionInput` via: +// +// GetReplicationSetRegionArgs{...} +type GetReplicationSetRegionInput interface { + pulumi.Input + + ToGetReplicationSetRegionOutput() GetReplicationSetRegionOutput + ToGetReplicationSetRegionOutputWithContext(context.Context) GetReplicationSetRegionOutput +} + +type GetReplicationSetRegionArgs struct { + // The ARN of the AWS Key Management Service (AWS KMS) encryption key. + KmsKeyArn pulumi.StringInput `pulumi:"kmsKeyArn"` + // The name of the Region. + Name pulumi.StringInput `pulumi:"name"` + // The current status of the Region. + // * Valid Values: `ACTIVE` | `CREATING` | `UPDATING` | `DELETING` | `FAILED` + Status pulumi.StringInput `pulumi:"status"` + // More information about the status of a Region. + StatusMessage pulumi.StringInput `pulumi:"statusMessage"` +} + +func (GetReplicationSetRegionArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetReplicationSetRegion)(nil)).Elem() +} + +func (i GetReplicationSetRegionArgs) ToGetReplicationSetRegionOutput() GetReplicationSetRegionOutput { + return i.ToGetReplicationSetRegionOutputWithContext(context.Background()) +} + +func (i GetReplicationSetRegionArgs) ToGetReplicationSetRegionOutputWithContext(ctx context.Context) GetReplicationSetRegionOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetReplicationSetRegionOutput) +} + +// GetReplicationSetRegionArrayInput is an input type that accepts GetReplicationSetRegionArray and GetReplicationSetRegionArrayOutput values. +// You can construct a concrete instance of `GetReplicationSetRegionArrayInput` via: +// +// GetReplicationSetRegionArray{ GetReplicationSetRegionArgs{...} } +type GetReplicationSetRegionArrayInput interface { + pulumi.Input + + ToGetReplicationSetRegionArrayOutput() GetReplicationSetRegionArrayOutput + ToGetReplicationSetRegionArrayOutputWithContext(context.Context) GetReplicationSetRegionArrayOutput +} + +type GetReplicationSetRegionArray []GetReplicationSetRegionInput + +func (GetReplicationSetRegionArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetReplicationSetRegion)(nil)).Elem() +} + +func (i GetReplicationSetRegionArray) ToGetReplicationSetRegionArrayOutput() GetReplicationSetRegionArrayOutput { + return i.ToGetReplicationSetRegionArrayOutputWithContext(context.Background()) +} + +func (i GetReplicationSetRegionArray) ToGetReplicationSetRegionArrayOutputWithContext(ctx context.Context) GetReplicationSetRegionArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetReplicationSetRegionArrayOutput) +} + +type GetReplicationSetRegionOutput struct{ *pulumi.OutputState } + +func (GetReplicationSetRegionOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetReplicationSetRegion)(nil)).Elem() +} + +func (o GetReplicationSetRegionOutput) ToGetReplicationSetRegionOutput() GetReplicationSetRegionOutput { + return o +} + +func (o GetReplicationSetRegionOutput) ToGetReplicationSetRegionOutputWithContext(ctx context.Context) GetReplicationSetRegionOutput { + return o +} + +// The ARN of the AWS Key Management Service (AWS KMS) encryption key. +func (o GetReplicationSetRegionOutput) KmsKeyArn() pulumi.StringOutput { + return o.ApplyT(func(v GetReplicationSetRegion) string { return v.KmsKeyArn }).(pulumi.StringOutput) +} + +// The name of the Region. +func (o GetReplicationSetRegionOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetReplicationSetRegion) string { return v.Name }).(pulumi.StringOutput) +} + +// The current status of the Region. +// * Valid Values: `ACTIVE` | `CREATING` | `UPDATING` | `DELETING` | `FAILED` +func (o GetReplicationSetRegionOutput) Status() pulumi.StringOutput { + return o.ApplyT(func(v GetReplicationSetRegion) string { return v.Status }).(pulumi.StringOutput) +} + +// More information about the status of a Region. +func (o GetReplicationSetRegionOutput) StatusMessage() pulumi.StringOutput { + return o.ApplyT(func(v GetReplicationSetRegion) string { return v.StatusMessage }).(pulumi.StringOutput) +} + +type GetReplicationSetRegionArrayOutput struct{ *pulumi.OutputState } + +func (GetReplicationSetRegionArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetReplicationSetRegion)(nil)).Elem() +} + +func (o GetReplicationSetRegionArrayOutput) ToGetReplicationSetRegionArrayOutput() GetReplicationSetRegionArrayOutput { + return o +} + +func (o GetReplicationSetRegionArrayOutput) ToGetReplicationSetRegionArrayOutputWithContext(ctx context.Context) GetReplicationSetRegionArrayOutput { + return o +} + +func (o GetReplicationSetRegionArrayOutput) Index(i pulumi.IntInput) GetReplicationSetRegionOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetReplicationSetRegion { + return vs[0].([]GetReplicationSetRegion)[vs[1].(int)] + }).(GetReplicationSetRegionOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*ReplicationSetRegionInput)(nil)).Elem(), ReplicationSetRegionArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*ReplicationSetRegionArrayInput)(nil)).Elem(), ReplicationSetRegionArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetReplicationSetRegionInput)(nil)).Elem(), GetReplicationSetRegionArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetReplicationSetRegionArrayInput)(nil)).Elem(), GetReplicationSetRegionArray{}) + pulumi.RegisterOutputType(ReplicationSetRegionOutput{}) + pulumi.RegisterOutputType(ReplicationSetRegionArrayOutput{}) + pulumi.RegisterOutputType(GetReplicationSetRegionOutput{}) + pulumi.RegisterOutputType(GetReplicationSetRegionArrayOutput{}) +} diff --git a/sdk/go/aws/ssmincidents/replicationSet.go b/sdk/go/aws/ssmincidents/replicationSet.go new file mode 100644 index 00000000000..6704f503b94 --- /dev/null +++ b/sdk/go/aws/ssmincidents/replicationSet.go @@ -0,0 +1,447 @@ +// Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package ssmincidents + +import ( + "context" + "reflect" + + "errors" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +) + +// Provides a resource for managing a replication set in AWS Systems Manager Incident Manager. +// +// > **NOTE:** Deleting a replication set also deletes all Incident Manager related data including response plans, incident records, contacts and escalation plans. +// +// ## Example Usage +// ### Basic Usage +// +// Create a replication set. +// +// ```go +// package main +// +// import ( +// +// "github.com/pulumi/pulumi-aws/sdk/v5/go/aws/ssmincidents" +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// _, err := ssmincidents.NewReplicationSet(ctx, "replicationSetName", &ssmincidents.ReplicationSetArgs{ +// Regions: ssmincidents.ReplicationSetRegionArray{ +// &ssmincidents.ReplicationSetRegionArgs{ +// Name: pulumi.String("us-west-2"), +// }, +// }, +// Tags: pulumi.StringMap{ +// "exampleTag": pulumi.String("exampleValue"), +// }, +// }) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +// +// Add a Region to a replication set. (You can add only one Region at a time.) +// +// ```go +// package main +// +// import ( +// +// "github.com/pulumi/pulumi-aws/sdk/v5/go/aws/ssmincidents" +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// _, err := ssmincidents.NewReplicationSet(ctx, "replicationSetName", &ssmincidents.ReplicationSetArgs{ +// Regions: ssmincidents.ReplicationSetRegionArray{ +// &ssmincidents.ReplicationSetRegionArgs{ +// Name: pulumi.String("us-west-2"), +// }, +// &ssmincidents.ReplicationSetRegionArgs{ +// Name: pulumi.String("ap-southeast-2"), +// }, +// }, +// }) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +// +// Delete a Region from a replication set. (You can delete only one Region at a time.) +// +// ```go +// package main +// +// import ( +// +// "github.com/pulumi/pulumi-aws/sdk/v5/go/aws/ssmincidents" +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// _, err := ssmincidents.NewReplicationSet(ctx, "replicationSetName", &ssmincidents.ReplicationSetArgs{ +// Regions: ssmincidents.ReplicationSetRegionArray{ +// &ssmincidents.ReplicationSetRegionArgs{ +// Name: pulumi.String("us-west-2"), +// }, +// }, +// }) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +// ## Basic Usage with an AWS Customer Managed Key +// +// Create a replication set with an AWS Key Management Service (AWS KMS) customer manager key: +// +// ```go +// package main +// +// import ( +// +// "github.com/pulumi/pulumi-aws/sdk/v5/go/aws/kms" +// "github.com/pulumi/pulumi-aws/sdk/v5/go/aws/ssmincidents" +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// exampleKey, err := kms.NewKey(ctx, "exampleKey", nil) +// if err != nil { +// return err +// } +// _, err = ssmincidents.NewReplicationSet(ctx, "replicationSetName", &ssmincidents.ReplicationSetArgs{ +// Regions: ssmincidents.ReplicationSetRegionArray{ +// &ssmincidents.ReplicationSetRegionArgs{ +// Name: pulumi.String("us-west-2"), +// KmsKeyArn: exampleKey.Arn, +// }, +// }, +// Tags: pulumi.StringMap{ +// "exampleTag": pulumi.String("exampleValue"), +// }, +// }) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +// +// ## Import +// +// # Use the following command to import an Incident Manager replication set +// +// ```sh +// +// $ pulumi import aws:ssmincidents/replicationSet:ReplicationSet replicationSetName import +// +// ``` +type ReplicationSet struct { + pulumi.CustomResourceState + + // The ARN of the replication set. + Arn pulumi.StringOutput `pulumi:"arn"` + // The ARN of the user who created the replication set. + CreatedBy pulumi.StringOutput `pulumi:"createdBy"` + // If `true`, the last region in a replication set cannot be deleted. + DeletionProtected pulumi.BoolOutput `pulumi:"deletionProtected"` + // A timestamp showing when the replication set was last modified. + LastModifiedBy pulumi.StringOutput `pulumi:"lastModifiedBy"` + Regions ReplicationSetRegionArrayOutput `pulumi:"regions"` + // The current status of the Region. + // * Valid Values: `ACTIVE` | `CREATING` | `UPDATING` | `DELETING` | `FAILED` + Status pulumi.StringOutput `pulumi:"status"` + // Tags applied to the replication set. + Tags pulumi.StringMapOutput `pulumi:"tags"` + // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. + TagsAll pulumi.StringMapOutput `pulumi:"tagsAll"` +} + +// NewReplicationSet registers a new resource with the given unique name, arguments, and options. +func NewReplicationSet(ctx *pulumi.Context, + name string, args *ReplicationSetArgs, opts ...pulumi.ResourceOption) (*ReplicationSet, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.Regions == nil { + return nil, errors.New("invalid value for required argument 'Regions'") + } + var resource ReplicationSet + err := ctx.RegisterResource("aws:ssmincidents/replicationSet:ReplicationSet", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetReplicationSet gets an existing ReplicationSet resource's state with the given name, ID, and optional +// state properties that are used to uniquely qualify the lookup (nil if not required). +func GetReplicationSet(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *ReplicationSetState, opts ...pulumi.ResourceOption) (*ReplicationSet, error) { + var resource ReplicationSet + err := ctx.ReadResource("aws:ssmincidents/replicationSet:ReplicationSet", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering ReplicationSet resources. +type replicationSetState struct { + // The ARN of the replication set. + Arn *string `pulumi:"arn"` + // The ARN of the user who created the replication set. + CreatedBy *string `pulumi:"createdBy"` + // If `true`, the last region in a replication set cannot be deleted. + DeletionProtected *bool `pulumi:"deletionProtected"` + // A timestamp showing when the replication set was last modified. + LastModifiedBy *string `pulumi:"lastModifiedBy"` + Regions []ReplicationSetRegion `pulumi:"regions"` + // The current status of the Region. + // * Valid Values: `ACTIVE` | `CREATING` | `UPDATING` | `DELETING` | `FAILED` + Status *string `pulumi:"status"` + // Tags applied to the replication set. + Tags map[string]string `pulumi:"tags"` + // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. + TagsAll map[string]string `pulumi:"tagsAll"` +} + +type ReplicationSetState struct { + // The ARN of the replication set. + Arn pulumi.StringPtrInput + // The ARN of the user who created the replication set. + CreatedBy pulumi.StringPtrInput + // If `true`, the last region in a replication set cannot be deleted. + DeletionProtected pulumi.BoolPtrInput + // A timestamp showing when the replication set was last modified. + LastModifiedBy pulumi.StringPtrInput + Regions ReplicationSetRegionArrayInput + // The current status of the Region. + // * Valid Values: `ACTIVE` | `CREATING` | `UPDATING` | `DELETING` | `FAILED` + Status pulumi.StringPtrInput + // Tags applied to the replication set. + Tags pulumi.StringMapInput + // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. + TagsAll pulumi.StringMapInput +} + +func (ReplicationSetState) ElementType() reflect.Type { + return reflect.TypeOf((*replicationSetState)(nil)).Elem() +} + +type replicationSetArgs struct { + Regions []ReplicationSetRegion `pulumi:"regions"` + // Tags applied to the replication set. + Tags map[string]string `pulumi:"tags"` +} + +// The set of arguments for constructing a ReplicationSet resource. +type ReplicationSetArgs struct { + Regions ReplicationSetRegionArrayInput + // Tags applied to the replication set. + Tags pulumi.StringMapInput +} + +func (ReplicationSetArgs) ElementType() reflect.Type { + return reflect.TypeOf((*replicationSetArgs)(nil)).Elem() +} + +type ReplicationSetInput interface { + pulumi.Input + + ToReplicationSetOutput() ReplicationSetOutput + ToReplicationSetOutputWithContext(ctx context.Context) ReplicationSetOutput +} + +func (*ReplicationSet) ElementType() reflect.Type { + return reflect.TypeOf((**ReplicationSet)(nil)).Elem() +} + +func (i *ReplicationSet) ToReplicationSetOutput() ReplicationSetOutput { + return i.ToReplicationSetOutputWithContext(context.Background()) +} + +func (i *ReplicationSet) ToReplicationSetOutputWithContext(ctx context.Context) ReplicationSetOutput { + return pulumi.ToOutputWithContext(ctx, i).(ReplicationSetOutput) +} + +// ReplicationSetArrayInput is an input type that accepts ReplicationSetArray and ReplicationSetArrayOutput values. +// You can construct a concrete instance of `ReplicationSetArrayInput` via: +// +// ReplicationSetArray{ ReplicationSetArgs{...} } +type ReplicationSetArrayInput interface { + pulumi.Input + + ToReplicationSetArrayOutput() ReplicationSetArrayOutput + ToReplicationSetArrayOutputWithContext(context.Context) ReplicationSetArrayOutput +} + +type ReplicationSetArray []ReplicationSetInput + +func (ReplicationSetArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]*ReplicationSet)(nil)).Elem() +} + +func (i ReplicationSetArray) ToReplicationSetArrayOutput() ReplicationSetArrayOutput { + return i.ToReplicationSetArrayOutputWithContext(context.Background()) +} + +func (i ReplicationSetArray) ToReplicationSetArrayOutputWithContext(ctx context.Context) ReplicationSetArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(ReplicationSetArrayOutput) +} + +// ReplicationSetMapInput is an input type that accepts ReplicationSetMap and ReplicationSetMapOutput values. +// You can construct a concrete instance of `ReplicationSetMapInput` via: +// +// ReplicationSetMap{ "key": ReplicationSetArgs{...} } +type ReplicationSetMapInput interface { + pulumi.Input + + ToReplicationSetMapOutput() ReplicationSetMapOutput + ToReplicationSetMapOutputWithContext(context.Context) ReplicationSetMapOutput +} + +type ReplicationSetMap map[string]ReplicationSetInput + +func (ReplicationSetMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*ReplicationSet)(nil)).Elem() +} + +func (i ReplicationSetMap) ToReplicationSetMapOutput() ReplicationSetMapOutput { + return i.ToReplicationSetMapOutputWithContext(context.Background()) +} + +func (i ReplicationSetMap) ToReplicationSetMapOutputWithContext(ctx context.Context) ReplicationSetMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(ReplicationSetMapOutput) +} + +type ReplicationSetOutput struct{ *pulumi.OutputState } + +func (ReplicationSetOutput) ElementType() reflect.Type { + return reflect.TypeOf((**ReplicationSet)(nil)).Elem() +} + +func (o ReplicationSetOutput) ToReplicationSetOutput() ReplicationSetOutput { + return o +} + +func (o ReplicationSetOutput) ToReplicationSetOutputWithContext(ctx context.Context) ReplicationSetOutput { + return o +} + +// The ARN of the replication set. +func (o ReplicationSetOutput) Arn() pulumi.StringOutput { + return o.ApplyT(func(v *ReplicationSet) pulumi.StringOutput { return v.Arn }).(pulumi.StringOutput) +} + +// The ARN of the user who created the replication set. +func (o ReplicationSetOutput) CreatedBy() pulumi.StringOutput { + return o.ApplyT(func(v *ReplicationSet) pulumi.StringOutput { return v.CreatedBy }).(pulumi.StringOutput) +} + +// If `true`, the last region in a replication set cannot be deleted. +func (o ReplicationSetOutput) DeletionProtected() pulumi.BoolOutput { + return o.ApplyT(func(v *ReplicationSet) pulumi.BoolOutput { return v.DeletionProtected }).(pulumi.BoolOutput) +} + +// A timestamp showing when the replication set was last modified. +func (o ReplicationSetOutput) LastModifiedBy() pulumi.StringOutput { + return o.ApplyT(func(v *ReplicationSet) pulumi.StringOutput { return v.LastModifiedBy }).(pulumi.StringOutput) +} + +func (o ReplicationSetOutput) Regions() ReplicationSetRegionArrayOutput { + return o.ApplyT(func(v *ReplicationSet) ReplicationSetRegionArrayOutput { return v.Regions }).(ReplicationSetRegionArrayOutput) +} + +// The current status of the Region. +// * Valid Values: `ACTIVE` | `CREATING` | `UPDATING` | `DELETING` | `FAILED` +func (o ReplicationSetOutput) Status() pulumi.StringOutput { + return o.ApplyT(func(v *ReplicationSet) pulumi.StringOutput { return v.Status }).(pulumi.StringOutput) +} + +// Tags applied to the replication set. +func (o ReplicationSetOutput) Tags() pulumi.StringMapOutput { + return o.ApplyT(func(v *ReplicationSet) pulumi.StringMapOutput { return v.Tags }).(pulumi.StringMapOutput) +} + +// A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. +func (o ReplicationSetOutput) TagsAll() pulumi.StringMapOutput { + return o.ApplyT(func(v *ReplicationSet) pulumi.StringMapOutput { return v.TagsAll }).(pulumi.StringMapOutput) +} + +type ReplicationSetArrayOutput struct{ *pulumi.OutputState } + +func (ReplicationSetArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]*ReplicationSet)(nil)).Elem() +} + +func (o ReplicationSetArrayOutput) ToReplicationSetArrayOutput() ReplicationSetArrayOutput { + return o +} + +func (o ReplicationSetArrayOutput) ToReplicationSetArrayOutputWithContext(ctx context.Context) ReplicationSetArrayOutput { + return o +} + +func (o ReplicationSetArrayOutput) Index(i pulumi.IntInput) ReplicationSetOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) *ReplicationSet { + return vs[0].([]*ReplicationSet)[vs[1].(int)] + }).(ReplicationSetOutput) +} + +type ReplicationSetMapOutput struct{ *pulumi.OutputState } + +func (ReplicationSetMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*ReplicationSet)(nil)).Elem() +} + +func (o ReplicationSetMapOutput) ToReplicationSetMapOutput() ReplicationSetMapOutput { + return o +} + +func (o ReplicationSetMapOutput) ToReplicationSetMapOutputWithContext(ctx context.Context) ReplicationSetMapOutput { + return o +} + +func (o ReplicationSetMapOutput) MapIndex(k pulumi.StringInput) ReplicationSetOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) *ReplicationSet { + return vs[0].(map[string]*ReplicationSet)[vs[1].(string)] + }).(ReplicationSetOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*ReplicationSetInput)(nil)).Elem(), &ReplicationSet{}) + pulumi.RegisterInputType(reflect.TypeOf((*ReplicationSetArrayInput)(nil)).Elem(), ReplicationSetArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*ReplicationSetMapInput)(nil)).Elem(), ReplicationSetMap{}) + pulumi.RegisterOutputType(ReplicationSetOutput{}) + pulumi.RegisterOutputType(ReplicationSetArrayOutput{}) + pulumi.RegisterOutputType(ReplicationSetMapOutput{}) +} diff --git a/sdk/go/aws/ssoadmin/permissionSet.go b/sdk/go/aws/ssoadmin/permissionSet.go index 4be5f190c3f..59f0e79efd6 100644 --- a/sdk/go/aws/ssoadmin/permissionSet.go +++ b/sdk/go/aws/ssoadmin/permissionSet.go @@ -137,6 +137,8 @@ type permissionSetArgs struct { SessionDuration *string `pulumi:"sessionDuration"` // Key-value map of resource tags. .If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. Tags map[string]string `pulumi:"tags"` + // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. + TagsAll map[string]string `pulumi:"tagsAll"` } // The set of arguments for constructing a PermissionSet resource. @@ -153,6 +155,8 @@ type PermissionSetArgs struct { SessionDuration pulumi.StringPtrInput // Key-value map of resource tags. .If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. Tags pulumi.StringMapInput + // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. + TagsAll pulumi.StringMapInput } func (PermissionSetArgs) ElementType() reflect.Type { diff --git a/sdk/java/src/main/java/com/pulumi/aws/appmesh/AppmeshFunctions.java b/sdk/java/src/main/java/com/pulumi/aws/appmesh/AppmeshFunctions.java index 604f8a9b487..a95214ac41e 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/appmesh/AppmeshFunctions.java +++ b/sdk/java/src/main/java/com/pulumi/aws/appmesh/AppmeshFunctions.java @@ -4,17 +4,26 @@ package com.pulumi.aws.appmesh; import com.pulumi.aws.Utilities; +import com.pulumi.aws.appmesh.inputs.GetGatewayRouteArgs; +import com.pulumi.aws.appmesh.inputs.GetGatewayRoutePlainArgs; import com.pulumi.aws.appmesh.inputs.GetMeshArgs; import com.pulumi.aws.appmesh.inputs.GetMeshPlainArgs; import com.pulumi.aws.appmesh.inputs.GetRouteArgs; import com.pulumi.aws.appmesh.inputs.GetRoutePlainArgs; import com.pulumi.aws.appmesh.inputs.GetVirtualGatewayArgs; import com.pulumi.aws.appmesh.inputs.GetVirtualGatewayPlainArgs; +import com.pulumi.aws.appmesh.inputs.GetVirtualNodeArgs; +import com.pulumi.aws.appmesh.inputs.GetVirtualNodePlainArgs; +import com.pulumi.aws.appmesh.inputs.GetVirtualRouterArgs; +import com.pulumi.aws.appmesh.inputs.GetVirtualRouterPlainArgs; import com.pulumi.aws.appmesh.inputs.GetVirtualServiceArgs; import com.pulumi.aws.appmesh.inputs.GetVirtualServicePlainArgs; +import com.pulumi.aws.appmesh.outputs.GetGatewayRouteResult; import com.pulumi.aws.appmesh.outputs.GetMeshResult; import com.pulumi.aws.appmesh.outputs.GetRouteResult; import com.pulumi.aws.appmesh.outputs.GetVirtualGatewayResult; +import com.pulumi.aws.appmesh.outputs.GetVirtualNodeResult; +import com.pulumi.aws.appmesh.outputs.GetVirtualRouterResult; import com.pulumi.aws.appmesh.outputs.GetVirtualServiceResult; import com.pulumi.core.Output; import com.pulumi.core.TypeShape; @@ -23,6 +32,162 @@ import java.util.concurrent.CompletableFuture; public final class AppmeshFunctions { + /** + * 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. + * + * ## Example Usage + * ```java + * package generated_program; + * + * import com.pulumi.Context; + * import com.pulumi.Pulumi; + * import com.pulumi.core.Output; + * import com.pulumi.aws.appmesh.AppmeshFunctions; + * import com.pulumi.aws.appmesh.inputs.GetGatewayRouteArgs; + * import java.util.List; + * import java.util.ArrayList; + * import java.util.Map; + * import java.io.File; + * import java.nio.file.Files; + * import java.nio.file.Paths; + * + * public class App { + * public static void main(String[] args) { + * Pulumi.run(App::stack); + * } + * + * public static void stack(Context ctx) { + * final var test = AppmeshFunctions.getGatewayRoute(GetGatewayRouteArgs.builder() + * .meshName("test-mesh") + * .name("test-route") + * .virtualGatewayName("test-gateway") + * .build()); + * + * } + * } + * ``` + * + */ + public static Output getGatewayRoute(GetGatewayRouteArgs args) { + return getGatewayRoute(args, InvokeOptions.Empty); + } + /** + * 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. + * + * ## Example Usage + * ```java + * package generated_program; + * + * import com.pulumi.Context; + * import com.pulumi.Pulumi; + * import com.pulumi.core.Output; + * import com.pulumi.aws.appmesh.AppmeshFunctions; + * import com.pulumi.aws.appmesh.inputs.GetGatewayRouteArgs; + * import java.util.List; + * import java.util.ArrayList; + * import java.util.Map; + * import java.io.File; + * import java.nio.file.Files; + * import java.nio.file.Paths; + * + * public class App { + * public static void main(String[] args) { + * Pulumi.run(App::stack); + * } + * + * public static void stack(Context ctx) { + * final var test = AppmeshFunctions.getGatewayRoute(GetGatewayRouteArgs.builder() + * .meshName("test-mesh") + * .name("test-route") + * .virtualGatewayName("test-gateway") + * .build()); + * + * } + * } + * ``` + * + */ + public static CompletableFuture getGatewayRoutePlain(GetGatewayRoutePlainArgs args) { + return getGatewayRoutePlain(args, InvokeOptions.Empty); + } + /** + * 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. + * + * ## Example Usage + * ```java + * package generated_program; + * + * import com.pulumi.Context; + * import com.pulumi.Pulumi; + * import com.pulumi.core.Output; + * import com.pulumi.aws.appmesh.AppmeshFunctions; + * import com.pulumi.aws.appmesh.inputs.GetGatewayRouteArgs; + * import java.util.List; + * import java.util.ArrayList; + * import java.util.Map; + * import java.io.File; + * import java.nio.file.Files; + * import java.nio.file.Paths; + * + * public class App { + * public static void main(String[] args) { + * Pulumi.run(App::stack); + * } + * + * public static void stack(Context ctx) { + * final var test = AppmeshFunctions.getGatewayRoute(GetGatewayRouteArgs.builder() + * .meshName("test-mesh") + * .name("test-route") + * .virtualGatewayName("test-gateway") + * .build()); + * + * } + * } + * ``` + * + */ + public static Output getGatewayRoute(GetGatewayRouteArgs args, InvokeOptions options) { + return Deployment.getInstance().invoke("aws:appmesh/getGatewayRoute:getGatewayRoute", TypeShape.of(GetGatewayRouteResult.class), args, Utilities.withVersion(options)); + } + /** + * 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. + * + * ## Example Usage + * ```java + * package generated_program; + * + * import com.pulumi.Context; + * import com.pulumi.Pulumi; + * import com.pulumi.core.Output; + * import com.pulumi.aws.appmesh.AppmeshFunctions; + * import com.pulumi.aws.appmesh.inputs.GetGatewayRouteArgs; + * import java.util.List; + * import java.util.ArrayList; + * import java.util.Map; + * import java.io.File; + * import java.nio.file.Files; + * import java.nio.file.Paths; + * + * public class App { + * public static void main(String[] args) { + * Pulumi.run(App::stack); + * } + * + * public static void stack(Context ctx) { + * final var test = AppmeshFunctions.getGatewayRoute(GetGatewayRouteArgs.builder() + * .meshName("test-mesh") + * .name("test-route") + * .virtualGatewayName("test-gateway") + * .build()); + * + * } + * } + * ``` + * + */ + public static CompletableFuture getGatewayRoutePlain(GetGatewayRoutePlainArgs args, InvokeOptions options) { + return Deployment.getInstance().invokeAsync("aws:appmesh/getGatewayRoute:getGatewayRoute", TypeShape.of(GetGatewayRouteResult.class), args, Utilities.withVersion(options)); + } /** * The App Mesh Mesh data source allows details of an App Mesh Mesh to be retrieved by its name and optionally the mesh_owner. * @@ -751,6 +916,310 @@ public static Output getVirtualGateway(GetVirtualGatewa public static CompletableFuture getVirtualGatewayPlain(GetVirtualGatewayPlainArgs args, InvokeOptions options) { return Deployment.getInstance().invokeAsync("aws:appmesh/getVirtualGateway:getVirtualGateway", TypeShape.of(GetVirtualGatewayResult.class), args, Utilities.withVersion(options)); } + /** + * Data source for managing an AWS App Mesh Virtual Node. + * + * ## Example Usage + * ```java + * package generated_program; + * + * import com.pulumi.Context; + * import com.pulumi.Pulumi; + * import com.pulumi.core.Output; + * import com.pulumi.aws.appmesh.AppmeshFunctions; + * import com.pulumi.aws.appmesh.inputs.GetVirtualNodeArgs; + * import java.util.List; + * import java.util.ArrayList; + * import java.util.Map; + * import java.io.File; + * import java.nio.file.Files; + * import java.nio.file.Paths; + * + * public class App { + * public static void main(String[] args) { + * Pulumi.run(App::stack); + * } + * + * public static void stack(Context ctx) { + * final var test = AppmeshFunctions.getVirtualNode(GetVirtualNodeArgs.builder() + * .meshName("example-mesh") + * .name("serviceBv1") + * .build()); + * + * } + * } + * ``` + * + */ + public static Output getVirtualNode(GetVirtualNodeArgs args) { + return getVirtualNode(args, InvokeOptions.Empty); + } + /** + * Data source for managing an AWS App Mesh Virtual Node. + * + * ## Example Usage + * ```java + * package generated_program; + * + * import com.pulumi.Context; + * import com.pulumi.Pulumi; + * import com.pulumi.core.Output; + * import com.pulumi.aws.appmesh.AppmeshFunctions; + * import com.pulumi.aws.appmesh.inputs.GetVirtualNodeArgs; + * import java.util.List; + * import java.util.ArrayList; + * import java.util.Map; + * import java.io.File; + * import java.nio.file.Files; + * import java.nio.file.Paths; + * + * public class App { + * public static void main(String[] args) { + * Pulumi.run(App::stack); + * } + * + * public static void stack(Context ctx) { + * final var test = AppmeshFunctions.getVirtualNode(GetVirtualNodeArgs.builder() + * .meshName("example-mesh") + * .name("serviceBv1") + * .build()); + * + * } + * } + * ``` + * + */ + public static CompletableFuture getVirtualNodePlain(GetVirtualNodePlainArgs args) { + return getVirtualNodePlain(args, InvokeOptions.Empty); + } + /** + * Data source for managing an AWS App Mesh Virtual Node. + * + * ## Example Usage + * ```java + * package generated_program; + * + * import com.pulumi.Context; + * import com.pulumi.Pulumi; + * import com.pulumi.core.Output; + * import com.pulumi.aws.appmesh.AppmeshFunctions; + * import com.pulumi.aws.appmesh.inputs.GetVirtualNodeArgs; + * import java.util.List; + * import java.util.ArrayList; + * import java.util.Map; + * import java.io.File; + * import java.nio.file.Files; + * import java.nio.file.Paths; + * + * public class App { + * public static void main(String[] args) { + * Pulumi.run(App::stack); + * } + * + * public static void stack(Context ctx) { + * final var test = AppmeshFunctions.getVirtualNode(GetVirtualNodeArgs.builder() + * .meshName("example-mesh") + * .name("serviceBv1") + * .build()); + * + * } + * } + * ``` + * + */ + public static Output getVirtualNode(GetVirtualNodeArgs args, InvokeOptions options) { + return Deployment.getInstance().invoke("aws:appmesh/getVirtualNode:getVirtualNode", TypeShape.of(GetVirtualNodeResult.class), args, Utilities.withVersion(options)); + } + /** + * Data source for managing an AWS App Mesh Virtual Node. + * + * ## Example Usage + * ```java + * package generated_program; + * + * import com.pulumi.Context; + * import com.pulumi.Pulumi; + * import com.pulumi.core.Output; + * import com.pulumi.aws.appmesh.AppmeshFunctions; + * import com.pulumi.aws.appmesh.inputs.GetVirtualNodeArgs; + * import java.util.List; + * import java.util.ArrayList; + * import java.util.Map; + * import java.io.File; + * import java.nio.file.Files; + * import java.nio.file.Paths; + * + * public class App { + * public static void main(String[] args) { + * Pulumi.run(App::stack); + * } + * + * public static void stack(Context ctx) { + * final var test = AppmeshFunctions.getVirtualNode(GetVirtualNodeArgs.builder() + * .meshName("example-mesh") + * .name("serviceBv1") + * .build()); + * + * } + * } + * ``` + * + */ + public static CompletableFuture getVirtualNodePlain(GetVirtualNodePlainArgs args, InvokeOptions options) { + return Deployment.getInstance().invokeAsync("aws:appmesh/getVirtualNode:getVirtualNode", TypeShape.of(GetVirtualNodeResult.class), args, Utilities.withVersion(options)); + } + /** + * The App Mesh Virtual Router data source allows details of an App Mesh Virtual Service to be retrieved by its name and mesh_name. + * + * ## Example Usage + * ```java + * package generated_program; + * + * import com.pulumi.Context; + * import com.pulumi.Pulumi; + * import com.pulumi.core.Output; + * import com.pulumi.aws.appmesh.AppmeshFunctions; + * import com.pulumi.aws.appmesh.inputs.GetVirtualRouterArgs; + * import java.util.List; + * import java.util.ArrayList; + * import java.util.Map; + * import java.io.File; + * import java.nio.file.Files; + * import java.nio.file.Paths; + * + * public class App { + * public static void main(String[] args) { + * Pulumi.run(App::stack); + * } + * + * public static void stack(Context ctx) { + * final var test = AppmeshFunctions.getVirtualRouter(GetVirtualRouterArgs.builder() + * .meshName("example-mesh-name") + * .name("example-router-name") + * .build()); + * + * } + * } + * ``` + * + */ + public static Output getVirtualRouter(GetVirtualRouterArgs args) { + return getVirtualRouter(args, InvokeOptions.Empty); + } + /** + * The App Mesh Virtual Router data source allows details of an App Mesh Virtual Service to be retrieved by its name and mesh_name. + * + * ## Example Usage + * ```java + * package generated_program; + * + * import com.pulumi.Context; + * import com.pulumi.Pulumi; + * import com.pulumi.core.Output; + * import com.pulumi.aws.appmesh.AppmeshFunctions; + * import com.pulumi.aws.appmesh.inputs.GetVirtualRouterArgs; + * import java.util.List; + * import java.util.ArrayList; + * import java.util.Map; + * import java.io.File; + * import java.nio.file.Files; + * import java.nio.file.Paths; + * + * public class App { + * public static void main(String[] args) { + * Pulumi.run(App::stack); + * } + * + * public static void stack(Context ctx) { + * final var test = AppmeshFunctions.getVirtualRouter(GetVirtualRouterArgs.builder() + * .meshName("example-mesh-name") + * .name("example-router-name") + * .build()); + * + * } + * } + * ``` + * + */ + public static CompletableFuture getVirtualRouterPlain(GetVirtualRouterPlainArgs args) { + return getVirtualRouterPlain(args, InvokeOptions.Empty); + } + /** + * The App Mesh Virtual Router data source allows details of an App Mesh Virtual Service to be retrieved by its name and mesh_name. + * + * ## Example Usage + * ```java + * package generated_program; + * + * import com.pulumi.Context; + * import com.pulumi.Pulumi; + * import com.pulumi.core.Output; + * import com.pulumi.aws.appmesh.AppmeshFunctions; + * import com.pulumi.aws.appmesh.inputs.GetVirtualRouterArgs; + * import java.util.List; + * import java.util.ArrayList; + * import java.util.Map; + * import java.io.File; + * import java.nio.file.Files; + * import java.nio.file.Paths; + * + * public class App { + * public static void main(String[] args) { + * Pulumi.run(App::stack); + * } + * + * public static void stack(Context ctx) { + * final var test = AppmeshFunctions.getVirtualRouter(GetVirtualRouterArgs.builder() + * .meshName("example-mesh-name") + * .name("example-router-name") + * .build()); + * + * } + * } + * ``` + * + */ + public static Output getVirtualRouter(GetVirtualRouterArgs args, InvokeOptions options) { + return Deployment.getInstance().invoke("aws:appmesh/getVirtualRouter:getVirtualRouter", TypeShape.of(GetVirtualRouterResult.class), args, Utilities.withVersion(options)); + } + /** + * The App Mesh Virtual Router data source allows details of an App Mesh Virtual Service to be retrieved by its name and mesh_name. + * + * ## Example Usage + * ```java + * package generated_program; + * + * import com.pulumi.Context; + * import com.pulumi.Pulumi; + * import com.pulumi.core.Output; + * import com.pulumi.aws.appmesh.AppmeshFunctions; + * import com.pulumi.aws.appmesh.inputs.GetVirtualRouterArgs; + * import java.util.List; + * import java.util.ArrayList; + * import java.util.Map; + * import java.io.File; + * import java.nio.file.Files; + * import java.nio.file.Paths; + * + * public class App { + * public static void main(String[] args) { + * Pulumi.run(App::stack); + * } + * + * public static void stack(Context ctx) { + * final var test = AppmeshFunctions.getVirtualRouter(GetVirtualRouterArgs.builder() + * .meshName("example-mesh-name") + * .name("example-router-name") + * .build()); + * + * } + * } + * ``` + * + */ + public static CompletableFuture getVirtualRouterPlain(GetVirtualRouterPlainArgs args, InvokeOptions options) { + return Deployment.getInstance().invokeAsync("aws:appmesh/getVirtualRouter:getVirtualRouter", TypeShape.of(GetVirtualRouterResult.class), args, Utilities.withVersion(options)); + } /** * The App Mesh Virtual Service data source allows details of an App Mesh Virtual Service to be retrieved by its name, mesh_name, and optionally the mesh_owner. * diff --git a/sdk/java/src/main/java/com/pulumi/aws/appmesh/GatewayRouteArgs.java b/sdk/java/src/main/java/com/pulumi/aws/appmesh/GatewayRouteArgs.java index 1ade46f8e2a..1b831547b54 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/appmesh/GatewayRouteArgs.java +++ b/sdk/java/src/main/java/com/pulumi/aws/appmesh/GatewayRouteArgs.java @@ -92,6 +92,21 @@ public Optional>> tags() { return Optional.ofNullable(this.tags); } + /** + * Map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. + * + */ + @Import(name="tagsAll") + private @Nullable Output> tagsAll; + + /** + * @return Map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. + * + */ + public Optional>> tagsAll() { + return Optional.ofNullable(this.tagsAll); + } + /** * Name of the virtual gateway to associate the gateway route with. Must be between 1 and 255 characters in length. * @@ -115,6 +130,7 @@ private GatewayRouteArgs(GatewayRouteArgs $) { this.name = $.name; this.spec = $.spec; this.tags = $.tags; + this.tagsAll = $.tagsAll; this.virtualGatewayName = $.virtualGatewayName; } @@ -241,6 +257,27 @@ public Builder tags(Map tags) { return tags(Output.of(tags)); } + /** + * @param tagsAll Map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. + * + * @return builder + * + */ + public Builder tagsAll(@Nullable Output> tagsAll) { + $.tagsAll = tagsAll; + return this; + } + + /** + * @param tagsAll Map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. + * + * @return builder + * + */ + public Builder tagsAll(Map tagsAll) { + return tagsAll(Output.of(tagsAll)); + } + /** * @param virtualGatewayName Name of the virtual gateway to associate the gateway route with. Must be between 1 and 255 characters in length. * diff --git a/sdk/java/src/main/java/com/pulumi/aws/appmesh/VirtualNodeArgs.java b/sdk/java/src/main/java/com/pulumi/aws/appmesh/VirtualNodeArgs.java index 80c540ae43b..c17aa0a3f64 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/appmesh/VirtualNodeArgs.java +++ b/sdk/java/src/main/java/com/pulumi/aws/appmesh/VirtualNodeArgs.java @@ -92,6 +92,21 @@ public Optional>> tags() { return Optional.ofNullable(this.tags); } + /** + * Map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. + * + */ + @Import(name="tagsAll") + private @Nullable Output> tagsAll; + + /** + * @return Map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. + * + */ + public Optional>> tagsAll() { + return Optional.ofNullable(this.tagsAll); + } + private VirtualNodeArgs() {} private VirtualNodeArgs(VirtualNodeArgs $) { @@ -100,6 +115,7 @@ private VirtualNodeArgs(VirtualNodeArgs $) { this.name = $.name; this.spec = $.spec; this.tags = $.tags; + this.tagsAll = $.tagsAll; } public static Builder builder() { @@ -225,6 +241,27 @@ public Builder tags(Map tags) { return tags(Output.of(tags)); } + /** + * @param tagsAll Map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. + * + * @return builder + * + */ + public Builder tagsAll(@Nullable Output> tagsAll) { + $.tagsAll = tagsAll; + return this; + } + + /** + * @param tagsAll Map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. + * + * @return builder + * + */ + public Builder tagsAll(Map tagsAll) { + return tagsAll(Output.of(tagsAll)); + } + public VirtualNodeArgs build() { $.meshName = Objects.requireNonNull($.meshName, "expected parameter 'meshName' to be non-null"); $.spec = Objects.requireNonNull($.spec, "expected parameter 'spec' to be non-null"); diff --git a/sdk/java/src/main/java/com/pulumi/aws/appmesh/VirtualRouterArgs.java b/sdk/java/src/main/java/com/pulumi/aws/appmesh/VirtualRouterArgs.java index 81ef16bbd35..a82597512cc 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/appmesh/VirtualRouterArgs.java +++ b/sdk/java/src/main/java/com/pulumi/aws/appmesh/VirtualRouterArgs.java @@ -92,6 +92,21 @@ public Optional>> tags() { return Optional.ofNullable(this.tags); } + /** + * Map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. + * + */ + @Import(name="tagsAll") + private @Nullable Output> tagsAll; + + /** + * @return Map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. + * + */ + public Optional>> tagsAll() { + return Optional.ofNullable(this.tagsAll); + } + private VirtualRouterArgs() {} private VirtualRouterArgs(VirtualRouterArgs $) { @@ -100,6 +115,7 @@ private VirtualRouterArgs(VirtualRouterArgs $) { this.name = $.name; this.spec = $.spec; this.tags = $.tags; + this.tagsAll = $.tagsAll; } public static Builder builder() { @@ -225,6 +241,27 @@ public Builder tags(Map tags) { return tags(Output.of(tags)); } + /** + * @param tagsAll Map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. + * + * @return builder + * + */ + public Builder tagsAll(@Nullable Output> tagsAll) { + $.tagsAll = tagsAll; + return this; + } + + /** + * @param tagsAll Map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. + * + * @return builder + * + */ + public Builder tagsAll(Map tagsAll) { + return tagsAll(Output.of(tagsAll)); + } + public VirtualRouterArgs build() { $.meshName = Objects.requireNonNull($.meshName, "expected parameter 'meshName' to be non-null"); $.spec = Objects.requireNonNull($.spec, "expected parameter 'spec' to be non-null"); diff --git a/sdk/java/src/main/java/com/pulumi/aws/appmesh/inputs/GatewayRouteSpecArgs.java b/sdk/java/src/main/java/com/pulumi/aws/appmesh/inputs/GatewayRouteSpecArgs.java index 195f4cbae6e..8fc5619344f 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/appmesh/inputs/GatewayRouteSpecArgs.java +++ b/sdk/java/src/main/java/com/pulumi/aws/appmesh/inputs/GatewayRouteSpecArgs.java @@ -8,6 +8,7 @@ import com.pulumi.aws.appmesh.inputs.GatewayRouteSpecHttpRouteArgs; import com.pulumi.core.Output; import com.pulumi.core.annotations.Import; +import java.lang.Integer; import java.util.Objects; import java.util.Optional; import javax.annotation.Nullable; @@ -62,12 +63,28 @@ public Optional> httpRoute() { return Optional.ofNullable(this.httpRoute); } + /** + * Priority for the gateway route, between `0` and `1000`. + * + */ + @Import(name="priority") + private @Nullable Output priority; + + /** + * @return Priority for the gateway route, between `0` and `1000`. + * + */ + public Optional> priority() { + return Optional.ofNullable(this.priority); + } + private GatewayRouteSpecArgs() {} private GatewayRouteSpecArgs(GatewayRouteSpecArgs $) { this.grpcRoute = $.grpcRoute; this.http2Route = $.http2Route; this.httpRoute = $.httpRoute; + this.priority = $.priority; } public static Builder builder() { @@ -151,6 +168,27 @@ public Builder httpRoute(GatewayRouteSpecHttpRouteArgs httpRoute) { return httpRoute(Output.of(httpRoute)); } + /** + * @param priority Priority for the gateway route, between `0` and `1000`. + * + * @return builder + * + */ + public Builder priority(@Nullable Output priority) { + $.priority = priority; + return this; + } + + /** + * @param priority Priority for the gateway route, between `0` and `1000`. + * + * @return builder + * + */ + public Builder priority(Integer priority) { + return priority(Output.of(priority)); + } + public GatewayRouteSpecArgs build() { return $; } diff --git a/sdk/java/src/main/java/com/pulumi/aws/appmesh/inputs/GatewayRouteSpecGrpcRouteActionTargetArgs.java b/sdk/java/src/main/java/com/pulumi/aws/appmesh/inputs/GatewayRouteSpecGrpcRouteActionTargetArgs.java index ce33581dcb6..8bd61d02576 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/appmesh/inputs/GatewayRouteSpecGrpcRouteActionTargetArgs.java +++ b/sdk/java/src/main/java/com/pulumi/aws/appmesh/inputs/GatewayRouteSpecGrpcRouteActionTargetArgs.java @@ -6,13 +6,31 @@ import com.pulumi.aws.appmesh.inputs.GatewayRouteSpecGrpcRouteActionTargetVirtualServiceArgs; import com.pulumi.core.Output; import com.pulumi.core.annotations.Import; +import java.lang.Integer; import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; public final class GatewayRouteSpecGrpcRouteActionTargetArgs extends com.pulumi.resources.ResourceArgs { public static final GatewayRouteSpecGrpcRouteActionTargetArgs Empty = new GatewayRouteSpecGrpcRouteActionTargetArgs(); + /** + * The port number that corresponds to the target for Virtual Service provider port. This is required when the provider (router or node) of the Virtual Service has multiple listeners. + * + */ + @Import(name="port") + private @Nullable Output port; + + /** + * @return The port number that corresponds to the target for Virtual Service provider port. This is required when the provider (router or node) of the Virtual Service has multiple listeners. + * + */ + public Optional> port() { + return Optional.ofNullable(this.port); + } + /** * Virtual service gateway route target. * @@ -31,6 +49,7 @@ public Output virtualSe private GatewayRouteSpecGrpcRouteActionTargetArgs() {} private GatewayRouteSpecGrpcRouteActionTargetArgs(GatewayRouteSpecGrpcRouteActionTargetArgs $) { + this.port = $.port; this.virtualService = $.virtualService; } @@ -52,6 +71,27 @@ public Builder(GatewayRouteSpecGrpcRouteActionTargetArgs defaults) { $ = new GatewayRouteSpecGrpcRouteActionTargetArgs(Objects.requireNonNull(defaults)); } + /** + * @param port The port number that corresponds to the target for Virtual Service provider port. This is required when the provider (router or node) of the Virtual Service has multiple listeners. + * + * @return builder + * + */ + public Builder port(@Nullable Output port) { + $.port = port; + return this; + } + + /** + * @param port The port number that corresponds to the target for Virtual Service provider port. This is required when the provider (router or node) of the Virtual Service has multiple listeners. + * + * @return builder + * + */ + public Builder port(Integer port) { + return port(Output.of(port)); + } + /** * @param virtualService Virtual service gateway route target. * diff --git a/sdk/java/src/main/java/com/pulumi/aws/appmesh/inputs/GatewayRouteSpecGrpcRouteMatchArgs.java b/sdk/java/src/main/java/com/pulumi/aws/appmesh/inputs/GatewayRouteSpecGrpcRouteMatchArgs.java index f1a663f26b1..0487950c90f 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/appmesh/inputs/GatewayRouteSpecGrpcRouteMatchArgs.java +++ b/sdk/java/src/main/java/com/pulumi/aws/appmesh/inputs/GatewayRouteSpecGrpcRouteMatchArgs.java @@ -17,14 +17,14 @@ public final class GatewayRouteSpecGrpcRouteMatchArgs extends com.pulumi.resourc public static final GatewayRouteSpecGrpcRouteMatchArgs Empty = new GatewayRouteSpecGrpcRouteMatchArgs(); /** - * The port number to match from the request. + * The port number that corresponds to the target for Virtual Service provider port. This is required when the provider (router or node) of the Virtual Service has multiple listeners. * */ @Import(name="port") private @Nullable Output port; /** - * @return The port number to match from the request. + * @return The port number that corresponds to the target for Virtual Service provider port. This is required when the provider (router or node) of the Virtual Service has multiple listeners. * */ public Optional> port() { @@ -72,7 +72,7 @@ public Builder(GatewayRouteSpecGrpcRouteMatchArgs defaults) { } /** - * @param port The port number to match from the request. + * @param port The port number that corresponds to the target for Virtual Service provider port. This is required when the provider (router or node) of the Virtual Service has multiple listeners. * * @return builder * @@ -83,7 +83,7 @@ public Builder port(@Nullable Output port) { } /** - * @param port The port number to match from the request. + * @param port The port number that corresponds to the target for Virtual Service provider port. This is required when the provider (router or node) of the Virtual Service has multiple listeners. * * @return builder * diff --git a/sdk/java/src/main/java/com/pulumi/aws/appmesh/inputs/GatewayRouteSpecHttp2RouteActionTargetArgs.java b/sdk/java/src/main/java/com/pulumi/aws/appmesh/inputs/GatewayRouteSpecHttp2RouteActionTargetArgs.java index 7a20c619ee7..9d30615d611 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/appmesh/inputs/GatewayRouteSpecHttp2RouteActionTargetArgs.java +++ b/sdk/java/src/main/java/com/pulumi/aws/appmesh/inputs/GatewayRouteSpecHttp2RouteActionTargetArgs.java @@ -6,13 +6,31 @@ import com.pulumi.aws.appmesh.inputs.GatewayRouteSpecHttp2RouteActionTargetVirtualServiceArgs; import com.pulumi.core.Output; import com.pulumi.core.annotations.Import; +import java.lang.Integer; import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; public final class GatewayRouteSpecHttp2RouteActionTargetArgs extends com.pulumi.resources.ResourceArgs { public static final GatewayRouteSpecHttp2RouteActionTargetArgs Empty = new GatewayRouteSpecHttp2RouteActionTargetArgs(); + /** + * The port number that corresponds to the target for Virtual Service provider port. This is required when the provider (router or node) of the Virtual Service has multiple listeners. + * + */ + @Import(name="port") + private @Nullable Output port; + + /** + * @return The port number that corresponds to the target for Virtual Service provider port. This is required when the provider (router or node) of the Virtual Service has multiple listeners. + * + */ + public Optional> port() { + return Optional.ofNullable(this.port); + } + /** * Virtual service gateway route target. * @@ -31,6 +49,7 @@ public Output virtualS private GatewayRouteSpecHttp2RouteActionTargetArgs() {} private GatewayRouteSpecHttp2RouteActionTargetArgs(GatewayRouteSpecHttp2RouteActionTargetArgs $) { + this.port = $.port; this.virtualService = $.virtualService; } @@ -52,6 +71,27 @@ public Builder(GatewayRouteSpecHttp2RouteActionTargetArgs defaults) { $ = new GatewayRouteSpecHttp2RouteActionTargetArgs(Objects.requireNonNull(defaults)); } + /** + * @param port The port number that corresponds to the target for Virtual Service provider port. This is required when the provider (router or node) of the Virtual Service has multiple listeners. + * + * @return builder + * + */ + public Builder port(@Nullable Output port) { + $.port = port; + return this; + } + + /** + * @param port The port number that corresponds to the target for Virtual Service provider port. This is required when the provider (router or node) of the Virtual Service has multiple listeners. + * + * @return builder + * + */ + public Builder port(Integer port) { + return port(Output.of(port)); + } + /** * @param virtualService Virtual service gateway route target. * diff --git a/sdk/java/src/main/java/com/pulumi/aws/appmesh/inputs/GatewayRouteSpecHttp2RouteMatchArgs.java b/sdk/java/src/main/java/com/pulumi/aws/appmesh/inputs/GatewayRouteSpecHttp2RouteMatchArgs.java index 6ddb6f54877..34ba5056221 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/appmesh/inputs/GatewayRouteSpecHttp2RouteMatchArgs.java +++ b/sdk/java/src/main/java/com/pulumi/aws/appmesh/inputs/GatewayRouteSpecHttp2RouteMatchArgs.java @@ -3,11 +3,15 @@ package com.pulumi.aws.appmesh.inputs; +import com.pulumi.aws.appmesh.inputs.GatewayRouteSpecHttp2RouteMatchHeaderArgs; import com.pulumi.aws.appmesh.inputs.GatewayRouteSpecHttp2RouteMatchHostnameArgs; +import com.pulumi.aws.appmesh.inputs.GatewayRouteSpecHttp2RouteMatchPathArgs; +import com.pulumi.aws.appmesh.inputs.GatewayRouteSpecHttp2RouteMatchQueryParameterArgs; import com.pulumi.core.Output; import com.pulumi.core.annotations.Import; import java.lang.Integer; import java.lang.String; +import java.util.List; import java.util.Objects; import java.util.Optional; import javax.annotation.Nullable; @@ -17,6 +21,21 @@ public final class GatewayRouteSpecHttp2RouteMatchArgs extends com.pulumi.resour public static final GatewayRouteSpecHttp2RouteMatchArgs Empty = new GatewayRouteSpecHttp2RouteMatchArgs(); + /** + * Client request headers to match on. + * + */ + @Import(name="headers") + private @Nullable Output> headers; + + /** + * @return Client request headers to match on. + * + */ + public Optional>> headers() { + return Optional.ofNullable(this.headers); + } + /** * Host name to rewrite. * @@ -33,14 +52,29 @@ public Optional> hostname() } /** - * The port number to match from the request. + * Client request path to match on. + * + */ + @Import(name="path") + private @Nullable Output path; + + /** + * @return Client request path to match on. + * + */ + public Optional> path() { + return Optional.ofNullable(this.path); + } + + /** + * The port number that corresponds to the target for Virtual Service provider port. This is required when the provider (router or node) of the Virtual Service has multiple listeners. * */ @Import(name="port") private @Nullable Output port; /** - * @return The port number to match from the request. + * @return The port number that corresponds to the target for Virtual Service provider port. This is required when the provider (router or node) of the Virtual Service has multiple listeners. * */ public Optional> port() { @@ -62,12 +96,30 @@ public Optional> prefix() { return Optional.ofNullable(this.prefix); } + /** + * Client request query parameters to match on. + * + */ + @Import(name="queryParameters") + private @Nullable Output> queryParameters; + + /** + * @return Client request query parameters to match on. + * + */ + public Optional>> queryParameters() { + return Optional.ofNullable(this.queryParameters); + } + private GatewayRouteSpecHttp2RouteMatchArgs() {} private GatewayRouteSpecHttp2RouteMatchArgs(GatewayRouteSpecHttp2RouteMatchArgs $) { + this.headers = $.headers; this.hostname = $.hostname; + this.path = $.path; this.port = $.port; this.prefix = $.prefix; + this.queryParameters = $.queryParameters; } public static Builder builder() { @@ -88,6 +140,37 @@ public Builder(GatewayRouteSpecHttp2RouteMatchArgs defaults) { $ = new GatewayRouteSpecHttp2RouteMatchArgs(Objects.requireNonNull(defaults)); } + /** + * @param headers Client request headers to match on. + * + * @return builder + * + */ + public Builder headers(@Nullable Output> headers) { + $.headers = headers; + return this; + } + + /** + * @param headers Client request headers to match on. + * + * @return builder + * + */ + public Builder headers(List headers) { + return headers(Output.of(headers)); + } + + /** + * @param headers Client request headers to match on. + * + * @return builder + * + */ + public Builder headers(GatewayRouteSpecHttp2RouteMatchHeaderArgs... headers) { + return headers(List.of(headers)); + } + /** * @param hostname Host name to rewrite. * @@ -110,7 +193,28 @@ public Builder hostname(GatewayRouteSpecHttp2RouteMatchHostnameArgs hostname) { } /** - * @param port The port number to match from the request. + * @param path Client request path to match on. + * + * @return builder + * + */ + public Builder path(@Nullable Output path) { + $.path = path; + return this; + } + + /** + * @param path Client request path to match on. + * + * @return builder + * + */ + public Builder path(GatewayRouteSpecHttp2RouteMatchPathArgs path) { + return path(Output.of(path)); + } + + /** + * @param port The port number that corresponds to the target for Virtual Service provider port. This is required when the provider (router or node) of the Virtual Service has multiple listeners. * * @return builder * @@ -121,7 +225,7 @@ public Builder port(@Nullable Output port) { } /** - * @param port The port number to match from the request. + * @param port The port number that corresponds to the target for Virtual Service provider port. This is required when the provider (router or node) of the Virtual Service has multiple listeners. * * @return builder * @@ -151,6 +255,37 @@ public Builder prefix(String prefix) { return prefix(Output.of(prefix)); } + /** + * @param queryParameters Client request query parameters to match on. + * + * @return builder + * + */ + public Builder queryParameters(@Nullable Output> queryParameters) { + $.queryParameters = queryParameters; + return this; + } + + /** + * @param queryParameters Client request query parameters to match on. + * + * @return builder + * + */ + public Builder queryParameters(List queryParameters) { + return queryParameters(Output.of(queryParameters)); + } + + /** + * @param queryParameters Client request query parameters to match on. + * + * @return builder + * + */ + public Builder queryParameters(GatewayRouteSpecHttp2RouteMatchQueryParameterArgs... queryParameters) { + return queryParameters(List.of(queryParameters)); + } + public GatewayRouteSpecHttp2RouteMatchArgs build() { return $; } diff --git a/sdk/java/src/main/java/com/pulumi/aws/appmesh/inputs/GatewayRouteSpecHttp2RouteMatchHeaderArgs.java b/sdk/java/src/main/java/com/pulumi/aws/appmesh/inputs/GatewayRouteSpecHttp2RouteMatchHeaderArgs.java new file mode 100644 index 00000000000..06844be2e80 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/appmesh/inputs/GatewayRouteSpecHttp2RouteMatchHeaderArgs.java @@ -0,0 +1,160 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.appmesh.inputs; + +import com.pulumi.aws.appmesh.inputs.GatewayRouteSpecHttp2RouteMatchHeaderMatchArgs; +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.Boolean; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class GatewayRouteSpecHttp2RouteMatchHeaderArgs extends com.pulumi.resources.ResourceArgs { + + public static final GatewayRouteSpecHttp2RouteMatchHeaderArgs Empty = new GatewayRouteSpecHttp2RouteMatchHeaderArgs(); + + /** + * If `true`, the match is on the opposite of the `match` method and value. Default is `false`. + * + */ + @Import(name="invert") + private @Nullable Output invert; + + /** + * @return If `true`, the match is on the opposite of the `match` method and value. Default is `false`. + * + */ + public Optional> invert() { + return Optional.ofNullable(this.invert); + } + + /** + * Method and value to match the header value sent with a request. Specify one match method. + * + */ + @Import(name="match") + private @Nullable Output match; + + /** + * @return Method and value to match the header value sent with a request. Specify one match method. + * + */ + public Optional> match() { + return Optional.ofNullable(this.match); + } + + /** + * Name for the HTTP header in the client request that will be matched on. + * + */ + @Import(name="name", required=true) + private Output name; + + /** + * @return Name for the HTTP header in the client request that will be matched on. + * + */ + public Output name() { + return this.name; + } + + private GatewayRouteSpecHttp2RouteMatchHeaderArgs() {} + + private GatewayRouteSpecHttp2RouteMatchHeaderArgs(GatewayRouteSpecHttp2RouteMatchHeaderArgs $) { + this.invert = $.invert; + this.match = $.match; + this.name = $.name; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(GatewayRouteSpecHttp2RouteMatchHeaderArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private GatewayRouteSpecHttp2RouteMatchHeaderArgs $; + + public Builder() { + $ = new GatewayRouteSpecHttp2RouteMatchHeaderArgs(); + } + + public Builder(GatewayRouteSpecHttp2RouteMatchHeaderArgs defaults) { + $ = new GatewayRouteSpecHttp2RouteMatchHeaderArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param invert If `true`, the match is on the opposite of the `match` method and value. Default is `false`. + * + * @return builder + * + */ + public Builder invert(@Nullable Output invert) { + $.invert = invert; + return this; + } + + /** + * @param invert If `true`, the match is on the opposite of the `match` method and value. Default is `false`. + * + * @return builder + * + */ + public Builder invert(Boolean invert) { + return invert(Output.of(invert)); + } + + /** + * @param match Method and value to match the header value sent with a request. Specify one match method. + * + * @return builder + * + */ + public Builder match(@Nullable Output match) { + $.match = match; + return this; + } + + /** + * @param match Method and value to match the header value sent with a request. Specify one match method. + * + * @return builder + * + */ + public Builder match(GatewayRouteSpecHttp2RouteMatchHeaderMatchArgs match) { + return match(Output.of(match)); + } + + /** + * @param name Name for the HTTP header in the client request that will be matched on. + * + * @return builder + * + */ + public Builder name(Output name) { + $.name = name; + return this; + } + + /** + * @param name Name for the HTTP header in the client request that will be matched on. + * + * @return builder + * + */ + public Builder name(String name) { + return name(Output.of(name)); + } + + public GatewayRouteSpecHttp2RouteMatchHeaderArgs build() { + $.name = Objects.requireNonNull($.name, "expected parameter 'name' to be non-null"); + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/appmesh/inputs/GatewayRouteSpecHttp2RouteMatchHeaderMatchArgs.java b/sdk/java/src/main/java/com/pulumi/aws/appmesh/inputs/GatewayRouteSpecHttp2RouteMatchHeaderMatchArgs.java new file mode 100644 index 00000000000..98820d1c9e4 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/appmesh/inputs/GatewayRouteSpecHttp2RouteMatchHeaderMatchArgs.java @@ -0,0 +1,232 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.appmesh.inputs; + +import com.pulumi.aws.appmesh.inputs.GatewayRouteSpecHttp2RouteMatchHeaderMatchRangeArgs; +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class GatewayRouteSpecHttp2RouteMatchHeaderMatchArgs extends com.pulumi.resources.ResourceArgs { + + public static final GatewayRouteSpecHttp2RouteMatchHeaderMatchArgs Empty = new GatewayRouteSpecHttp2RouteMatchHeaderMatchArgs(); + + /** + * Header value sent by the client must match the specified value exactly. + * + */ + @Import(name="exact") + private @Nullable Output exact; + + /** + * @return Header value sent by the client must match the specified value exactly. + * + */ + public Optional> exact() { + return Optional.ofNullable(this.exact); + } + + /** + * Specified beginning characters to rewrite. + * + */ + @Import(name="prefix") + private @Nullable Output prefix; + + /** + * @return Specified beginning characters to rewrite. + * + */ + public Optional> prefix() { + return Optional.ofNullable(this.prefix); + } + + /** + * Object that specifies the range of numbers that the header value sent by the client must be included in. + * + */ + @Import(name="range") + private @Nullable Output range; + + /** + * @return Object that specifies the range of numbers that the header value sent by the client must be included in. + * + */ + public Optional> range() { + return Optional.ofNullable(this.range); + } + + /** + * Header value sent by the client must include the specified characters. + * + */ + @Import(name="regex") + private @Nullable Output regex; + + /** + * @return Header value sent by the client must include the specified characters. + * + */ + public Optional> regex() { + return Optional.ofNullable(this.regex); + } + + /** + * Header value sent by the client must end with the specified characters. + * + */ + @Import(name="suffix") + private @Nullable Output suffix; + + /** + * @return Header value sent by the client must end with the specified characters. + * + */ + public Optional> suffix() { + return Optional.ofNullable(this.suffix); + } + + private GatewayRouteSpecHttp2RouteMatchHeaderMatchArgs() {} + + private GatewayRouteSpecHttp2RouteMatchHeaderMatchArgs(GatewayRouteSpecHttp2RouteMatchHeaderMatchArgs $) { + this.exact = $.exact; + this.prefix = $.prefix; + this.range = $.range; + this.regex = $.regex; + this.suffix = $.suffix; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(GatewayRouteSpecHttp2RouteMatchHeaderMatchArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private GatewayRouteSpecHttp2RouteMatchHeaderMatchArgs $; + + public Builder() { + $ = new GatewayRouteSpecHttp2RouteMatchHeaderMatchArgs(); + } + + public Builder(GatewayRouteSpecHttp2RouteMatchHeaderMatchArgs defaults) { + $ = new GatewayRouteSpecHttp2RouteMatchHeaderMatchArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param exact Header value sent by the client must match the specified value exactly. + * + * @return builder + * + */ + public Builder exact(@Nullable Output exact) { + $.exact = exact; + return this; + } + + /** + * @param exact Header value sent by the client must match the specified value exactly. + * + * @return builder + * + */ + public Builder exact(String exact) { + return exact(Output.of(exact)); + } + + /** + * @param prefix Specified beginning characters to rewrite. + * + * @return builder + * + */ + public Builder prefix(@Nullable Output prefix) { + $.prefix = prefix; + return this; + } + + /** + * @param prefix Specified beginning characters to rewrite. + * + * @return builder + * + */ + public Builder prefix(String prefix) { + return prefix(Output.of(prefix)); + } + + /** + * @param range Object that specifies the range of numbers that the header value sent by the client must be included in. + * + * @return builder + * + */ + public Builder range(@Nullable Output range) { + $.range = range; + return this; + } + + /** + * @param range Object that specifies the range of numbers that the header value sent by the client must be included in. + * + * @return builder + * + */ + public Builder range(GatewayRouteSpecHttp2RouteMatchHeaderMatchRangeArgs range) { + return range(Output.of(range)); + } + + /** + * @param regex Header value sent by the client must include the specified characters. + * + * @return builder + * + */ + public Builder regex(@Nullable Output regex) { + $.regex = regex; + return this; + } + + /** + * @param regex Header value sent by the client must include the specified characters. + * + * @return builder + * + */ + public Builder regex(String regex) { + return regex(Output.of(regex)); + } + + /** + * @param suffix Header value sent by the client must end with the specified characters. + * + * @return builder + * + */ + public Builder suffix(@Nullable Output suffix) { + $.suffix = suffix; + return this; + } + + /** + * @param suffix Header value sent by the client must end with the specified characters. + * + * @return builder + * + */ + public Builder suffix(String suffix) { + return suffix(Output.of(suffix)); + } + + public GatewayRouteSpecHttp2RouteMatchHeaderMatchArgs build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/appmesh/inputs/GatewayRouteSpecHttp2RouteMatchHeaderMatchRangeArgs.java b/sdk/java/src/main/java/com/pulumi/aws/appmesh/inputs/GatewayRouteSpecHttp2RouteMatchHeaderMatchRangeArgs.java new file mode 100644 index 00000000000..ba9c955a03d --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/appmesh/inputs/GatewayRouteSpecHttp2RouteMatchHeaderMatchRangeArgs.java @@ -0,0 +1,120 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.appmesh.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.Integer; +import java.util.Objects; + + +public final class GatewayRouteSpecHttp2RouteMatchHeaderMatchRangeArgs extends com.pulumi.resources.ResourceArgs { + + public static final GatewayRouteSpecHttp2RouteMatchHeaderMatchRangeArgs Empty = new GatewayRouteSpecHttp2RouteMatchHeaderMatchRangeArgs(); + + /** + * End of the range. + * + */ + @Import(name="end", required=true) + private Output end; + + /** + * @return End of the range. + * + */ + public Output end() { + return this.end; + } + + /** + * Start of the range. + * + */ + @Import(name="start", required=true) + private Output start; + + /** + * @return Start of the range. + * + */ + public Output start() { + return this.start; + } + + private GatewayRouteSpecHttp2RouteMatchHeaderMatchRangeArgs() {} + + private GatewayRouteSpecHttp2RouteMatchHeaderMatchRangeArgs(GatewayRouteSpecHttp2RouteMatchHeaderMatchRangeArgs $) { + this.end = $.end; + this.start = $.start; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(GatewayRouteSpecHttp2RouteMatchHeaderMatchRangeArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private GatewayRouteSpecHttp2RouteMatchHeaderMatchRangeArgs $; + + public Builder() { + $ = new GatewayRouteSpecHttp2RouteMatchHeaderMatchRangeArgs(); + } + + public Builder(GatewayRouteSpecHttp2RouteMatchHeaderMatchRangeArgs defaults) { + $ = new GatewayRouteSpecHttp2RouteMatchHeaderMatchRangeArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param end End of the range. + * + * @return builder + * + */ + public Builder end(Output end) { + $.end = end; + return this; + } + + /** + * @param end End of the range. + * + * @return builder + * + */ + public Builder end(Integer end) { + return end(Output.of(end)); + } + + /** + * @param start Start of the range. + * + * @return builder + * + */ + public Builder start(Output start) { + $.start = start; + return this; + } + + /** + * @param start Start of the range. + * + * @return builder + * + */ + public Builder start(Integer start) { + return start(Output.of(start)); + } + + public GatewayRouteSpecHttp2RouteMatchHeaderMatchRangeArgs build() { + $.end = Objects.requireNonNull($.end, "expected parameter 'end' to be non-null"); + $.start = Objects.requireNonNull($.start, "expected parameter 'start' to be non-null"); + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/appmesh/inputs/GatewayRouteSpecHttp2RouteMatchPathArgs.java b/sdk/java/src/main/java/com/pulumi/aws/appmesh/inputs/GatewayRouteSpecHttp2RouteMatchPathArgs.java new file mode 100644 index 00000000000..812169ce4e5 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/appmesh/inputs/GatewayRouteSpecHttp2RouteMatchPathArgs.java @@ -0,0 +1,120 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.appmesh.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class GatewayRouteSpecHttp2RouteMatchPathArgs extends com.pulumi.resources.ResourceArgs { + + public static final GatewayRouteSpecHttp2RouteMatchPathArgs Empty = new GatewayRouteSpecHttp2RouteMatchPathArgs(); + + /** + * The exact path to match on. + * + */ + @Import(name="exact") + private @Nullable Output exact; + + /** + * @return The exact path to match on. + * + */ + public Optional> exact() { + return Optional.ofNullable(this.exact); + } + + /** + * The regex used to match the path. + * + */ + @Import(name="regex") + private @Nullable Output regex; + + /** + * @return The regex used to match the path. + * + */ + public Optional> regex() { + return Optional.ofNullable(this.regex); + } + + private GatewayRouteSpecHttp2RouteMatchPathArgs() {} + + private GatewayRouteSpecHttp2RouteMatchPathArgs(GatewayRouteSpecHttp2RouteMatchPathArgs $) { + this.exact = $.exact; + this.regex = $.regex; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(GatewayRouteSpecHttp2RouteMatchPathArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private GatewayRouteSpecHttp2RouteMatchPathArgs $; + + public Builder() { + $ = new GatewayRouteSpecHttp2RouteMatchPathArgs(); + } + + public Builder(GatewayRouteSpecHttp2RouteMatchPathArgs defaults) { + $ = new GatewayRouteSpecHttp2RouteMatchPathArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param exact The exact path to match on. + * + * @return builder + * + */ + public Builder exact(@Nullable Output exact) { + $.exact = exact; + return this; + } + + /** + * @param exact The exact path to match on. + * + * @return builder + * + */ + public Builder exact(String exact) { + return exact(Output.of(exact)); + } + + /** + * @param regex The regex used to match the path. + * + * @return builder + * + */ + public Builder regex(@Nullable Output regex) { + $.regex = regex; + return this; + } + + /** + * @param regex The regex used to match the path. + * + * @return builder + * + */ + public Builder regex(String regex) { + return regex(Output.of(regex)); + } + + public GatewayRouteSpecHttp2RouteMatchPathArgs build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/appmesh/inputs/GatewayRouteSpecHttp2RouteMatchQueryParameterArgs.java b/sdk/java/src/main/java/com/pulumi/aws/appmesh/inputs/GatewayRouteSpecHttp2RouteMatchQueryParameterArgs.java new file mode 100644 index 00000000000..8c876976a0f --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/appmesh/inputs/GatewayRouteSpecHttp2RouteMatchQueryParameterArgs.java @@ -0,0 +1,122 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.appmesh.inputs; + +import com.pulumi.aws.appmesh.inputs.GatewayRouteSpecHttp2RouteMatchQueryParameterMatchArgs; +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class GatewayRouteSpecHttp2RouteMatchQueryParameterArgs extends com.pulumi.resources.ResourceArgs { + + public static final GatewayRouteSpecHttp2RouteMatchQueryParameterArgs Empty = new GatewayRouteSpecHttp2RouteMatchQueryParameterArgs(); + + /** + * The query parameter to match on. + * + */ + @Import(name="match") + private @Nullable Output match; + + /** + * @return The query parameter to match on. + * + */ + public Optional> match() { + return Optional.ofNullable(this.match); + } + + /** + * Name for the query parameter that will be matched on. + * + */ + @Import(name="name", required=true) + private Output name; + + /** + * @return Name for the query parameter that will be matched on. + * + */ + public Output name() { + return this.name; + } + + private GatewayRouteSpecHttp2RouteMatchQueryParameterArgs() {} + + private GatewayRouteSpecHttp2RouteMatchQueryParameterArgs(GatewayRouteSpecHttp2RouteMatchQueryParameterArgs $) { + this.match = $.match; + this.name = $.name; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(GatewayRouteSpecHttp2RouteMatchQueryParameterArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private GatewayRouteSpecHttp2RouteMatchQueryParameterArgs $; + + public Builder() { + $ = new GatewayRouteSpecHttp2RouteMatchQueryParameterArgs(); + } + + public Builder(GatewayRouteSpecHttp2RouteMatchQueryParameterArgs defaults) { + $ = new GatewayRouteSpecHttp2RouteMatchQueryParameterArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param match The query parameter to match on. + * + * @return builder + * + */ + public Builder match(@Nullable Output match) { + $.match = match; + return this; + } + + /** + * @param match The query parameter to match on. + * + * @return builder + * + */ + public Builder match(GatewayRouteSpecHttp2RouteMatchQueryParameterMatchArgs match) { + return match(Output.of(match)); + } + + /** + * @param name Name for the query parameter that will be matched on. + * + * @return builder + * + */ + public Builder name(Output name) { + $.name = name; + return this; + } + + /** + * @param name Name for the query parameter that will be matched on. + * + * @return builder + * + */ + public Builder name(String name) { + return name(Output.of(name)); + } + + public GatewayRouteSpecHttp2RouteMatchQueryParameterArgs build() { + $.name = Objects.requireNonNull($.name, "expected parameter 'name' to be non-null"); + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/appmesh/inputs/GatewayRouteSpecHttp2RouteMatchQueryParameterMatchArgs.java b/sdk/java/src/main/java/com/pulumi/aws/appmesh/inputs/GatewayRouteSpecHttp2RouteMatchQueryParameterMatchArgs.java new file mode 100644 index 00000000000..2b9594e29c4 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/appmesh/inputs/GatewayRouteSpecHttp2RouteMatchQueryParameterMatchArgs.java @@ -0,0 +1,83 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.appmesh.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class GatewayRouteSpecHttp2RouteMatchQueryParameterMatchArgs extends com.pulumi.resources.ResourceArgs { + + public static final GatewayRouteSpecHttp2RouteMatchQueryParameterMatchArgs Empty = new GatewayRouteSpecHttp2RouteMatchQueryParameterMatchArgs(); + + /** + * Header value sent by the client must match the specified value exactly. + * + */ + @Import(name="exact") + private @Nullable Output exact; + + /** + * @return Header value sent by the client must match the specified value exactly. + * + */ + public Optional> exact() { + return Optional.ofNullable(this.exact); + } + + private GatewayRouteSpecHttp2RouteMatchQueryParameterMatchArgs() {} + + private GatewayRouteSpecHttp2RouteMatchQueryParameterMatchArgs(GatewayRouteSpecHttp2RouteMatchQueryParameterMatchArgs $) { + this.exact = $.exact; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(GatewayRouteSpecHttp2RouteMatchQueryParameterMatchArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private GatewayRouteSpecHttp2RouteMatchQueryParameterMatchArgs $; + + public Builder() { + $ = new GatewayRouteSpecHttp2RouteMatchQueryParameterMatchArgs(); + } + + public Builder(GatewayRouteSpecHttp2RouteMatchQueryParameterMatchArgs defaults) { + $ = new GatewayRouteSpecHttp2RouteMatchQueryParameterMatchArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param exact Header value sent by the client must match the specified value exactly. + * + * @return builder + * + */ + public Builder exact(@Nullable Output exact) { + $.exact = exact; + return this; + } + + /** + * @param exact Header value sent by the client must match the specified value exactly. + * + * @return builder + * + */ + public Builder exact(String exact) { + return exact(Output.of(exact)); + } + + public GatewayRouteSpecHttp2RouteMatchQueryParameterMatchArgs build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/appmesh/inputs/GatewayRouteSpecHttpRouteActionTargetArgs.java b/sdk/java/src/main/java/com/pulumi/aws/appmesh/inputs/GatewayRouteSpecHttpRouteActionTargetArgs.java index 23f54e37a50..79bd465176a 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/appmesh/inputs/GatewayRouteSpecHttpRouteActionTargetArgs.java +++ b/sdk/java/src/main/java/com/pulumi/aws/appmesh/inputs/GatewayRouteSpecHttpRouteActionTargetArgs.java @@ -6,13 +6,31 @@ import com.pulumi.aws.appmesh.inputs.GatewayRouteSpecHttpRouteActionTargetVirtualServiceArgs; import com.pulumi.core.Output; import com.pulumi.core.annotations.Import; +import java.lang.Integer; import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; public final class GatewayRouteSpecHttpRouteActionTargetArgs extends com.pulumi.resources.ResourceArgs { public static final GatewayRouteSpecHttpRouteActionTargetArgs Empty = new GatewayRouteSpecHttpRouteActionTargetArgs(); + /** + * The port number that corresponds to the target for Virtual Service provider port. This is required when the provider (router or node) of the Virtual Service has multiple listeners. + * + */ + @Import(name="port") + private @Nullable Output port; + + /** + * @return The port number that corresponds to the target for Virtual Service provider port. This is required when the provider (router or node) of the Virtual Service has multiple listeners. + * + */ + public Optional> port() { + return Optional.ofNullable(this.port); + } + /** * Virtual service gateway route target. * @@ -31,6 +49,7 @@ public Output virtualSe private GatewayRouteSpecHttpRouteActionTargetArgs() {} private GatewayRouteSpecHttpRouteActionTargetArgs(GatewayRouteSpecHttpRouteActionTargetArgs $) { + this.port = $.port; this.virtualService = $.virtualService; } @@ -52,6 +71,27 @@ public Builder(GatewayRouteSpecHttpRouteActionTargetArgs defaults) { $ = new GatewayRouteSpecHttpRouteActionTargetArgs(Objects.requireNonNull(defaults)); } + /** + * @param port The port number that corresponds to the target for Virtual Service provider port. This is required when the provider (router or node) of the Virtual Service has multiple listeners. + * + * @return builder + * + */ + public Builder port(@Nullable Output port) { + $.port = port; + return this; + } + + /** + * @param port The port number that corresponds to the target for Virtual Service provider port. This is required when the provider (router or node) of the Virtual Service has multiple listeners. + * + * @return builder + * + */ + public Builder port(Integer port) { + return port(Output.of(port)); + } + /** * @param virtualService Virtual service gateway route target. * diff --git a/sdk/java/src/main/java/com/pulumi/aws/appmesh/inputs/GatewayRouteSpecHttpRouteMatchArgs.java b/sdk/java/src/main/java/com/pulumi/aws/appmesh/inputs/GatewayRouteSpecHttpRouteMatchArgs.java index c507a88991f..1643f0b6601 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/appmesh/inputs/GatewayRouteSpecHttpRouteMatchArgs.java +++ b/sdk/java/src/main/java/com/pulumi/aws/appmesh/inputs/GatewayRouteSpecHttpRouteMatchArgs.java @@ -3,11 +3,15 @@ package com.pulumi.aws.appmesh.inputs; +import com.pulumi.aws.appmesh.inputs.GatewayRouteSpecHttpRouteMatchHeaderArgs; import com.pulumi.aws.appmesh.inputs.GatewayRouteSpecHttpRouteMatchHostnameArgs; +import com.pulumi.aws.appmesh.inputs.GatewayRouteSpecHttpRouteMatchPathArgs; +import com.pulumi.aws.appmesh.inputs.GatewayRouteSpecHttpRouteMatchQueryParameterArgs; import com.pulumi.core.Output; import com.pulumi.core.annotations.Import; import java.lang.Integer; import java.lang.String; +import java.util.List; import java.util.Objects; import java.util.Optional; import javax.annotation.Nullable; @@ -17,6 +21,21 @@ public final class GatewayRouteSpecHttpRouteMatchArgs extends com.pulumi.resourc public static final GatewayRouteSpecHttpRouteMatchArgs Empty = new GatewayRouteSpecHttpRouteMatchArgs(); + /** + * Client request headers to match on. + * + */ + @Import(name="headers") + private @Nullable Output> headers; + + /** + * @return Client request headers to match on. + * + */ + public Optional>> headers() { + return Optional.ofNullable(this.headers); + } + /** * Host name to rewrite. * @@ -33,14 +52,29 @@ public Optional> hostname() { } /** - * The port number to match from the request. + * Client request path to match on. + * + */ + @Import(name="path") + private @Nullable Output path; + + /** + * @return Client request path to match on. + * + */ + public Optional> path() { + return Optional.ofNullable(this.path); + } + + /** + * The port number that corresponds to the target for Virtual Service provider port. This is required when the provider (router or node) of the Virtual Service has multiple listeners. * */ @Import(name="port") private @Nullable Output port; /** - * @return The port number to match from the request. + * @return The port number that corresponds to the target for Virtual Service provider port. This is required when the provider (router or node) of the Virtual Service has multiple listeners. * */ public Optional> port() { @@ -62,12 +96,30 @@ public Optional> prefix() { return Optional.ofNullable(this.prefix); } + /** + * Client request query parameters to match on. + * + */ + @Import(name="queryParameters") + private @Nullable Output> queryParameters; + + /** + * @return Client request query parameters to match on. + * + */ + public Optional>> queryParameters() { + return Optional.ofNullable(this.queryParameters); + } + private GatewayRouteSpecHttpRouteMatchArgs() {} private GatewayRouteSpecHttpRouteMatchArgs(GatewayRouteSpecHttpRouteMatchArgs $) { + this.headers = $.headers; this.hostname = $.hostname; + this.path = $.path; this.port = $.port; this.prefix = $.prefix; + this.queryParameters = $.queryParameters; } public static Builder builder() { @@ -88,6 +140,37 @@ public Builder(GatewayRouteSpecHttpRouteMatchArgs defaults) { $ = new GatewayRouteSpecHttpRouteMatchArgs(Objects.requireNonNull(defaults)); } + /** + * @param headers Client request headers to match on. + * + * @return builder + * + */ + public Builder headers(@Nullable Output> headers) { + $.headers = headers; + return this; + } + + /** + * @param headers Client request headers to match on. + * + * @return builder + * + */ + public Builder headers(List headers) { + return headers(Output.of(headers)); + } + + /** + * @param headers Client request headers to match on. + * + * @return builder + * + */ + public Builder headers(GatewayRouteSpecHttpRouteMatchHeaderArgs... headers) { + return headers(List.of(headers)); + } + /** * @param hostname Host name to rewrite. * @@ -110,7 +193,28 @@ public Builder hostname(GatewayRouteSpecHttpRouteMatchHostnameArgs hostname) { } /** - * @param port The port number to match from the request. + * @param path Client request path to match on. + * + * @return builder + * + */ + public Builder path(@Nullable Output path) { + $.path = path; + return this; + } + + /** + * @param path Client request path to match on. + * + * @return builder + * + */ + public Builder path(GatewayRouteSpecHttpRouteMatchPathArgs path) { + return path(Output.of(path)); + } + + /** + * @param port The port number that corresponds to the target for Virtual Service provider port. This is required when the provider (router or node) of the Virtual Service has multiple listeners. * * @return builder * @@ -121,7 +225,7 @@ public Builder port(@Nullable Output port) { } /** - * @param port The port number to match from the request. + * @param port The port number that corresponds to the target for Virtual Service provider port. This is required when the provider (router or node) of the Virtual Service has multiple listeners. * * @return builder * @@ -151,6 +255,37 @@ public Builder prefix(String prefix) { return prefix(Output.of(prefix)); } + /** + * @param queryParameters Client request query parameters to match on. + * + * @return builder + * + */ + public Builder queryParameters(@Nullable Output> queryParameters) { + $.queryParameters = queryParameters; + return this; + } + + /** + * @param queryParameters Client request query parameters to match on. + * + * @return builder + * + */ + public Builder queryParameters(List queryParameters) { + return queryParameters(Output.of(queryParameters)); + } + + /** + * @param queryParameters Client request query parameters to match on. + * + * @return builder + * + */ + public Builder queryParameters(GatewayRouteSpecHttpRouteMatchQueryParameterArgs... queryParameters) { + return queryParameters(List.of(queryParameters)); + } + public GatewayRouteSpecHttpRouteMatchArgs build() { return $; } diff --git a/sdk/java/src/main/java/com/pulumi/aws/appmesh/inputs/GatewayRouteSpecHttpRouteMatchHeaderArgs.java b/sdk/java/src/main/java/com/pulumi/aws/appmesh/inputs/GatewayRouteSpecHttpRouteMatchHeaderArgs.java new file mode 100644 index 00000000000..95b766961b1 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/appmesh/inputs/GatewayRouteSpecHttpRouteMatchHeaderArgs.java @@ -0,0 +1,160 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.appmesh.inputs; + +import com.pulumi.aws.appmesh.inputs.GatewayRouteSpecHttpRouteMatchHeaderMatchArgs; +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.Boolean; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class GatewayRouteSpecHttpRouteMatchHeaderArgs extends com.pulumi.resources.ResourceArgs { + + public static final GatewayRouteSpecHttpRouteMatchHeaderArgs Empty = new GatewayRouteSpecHttpRouteMatchHeaderArgs(); + + /** + * If `true`, the match is on the opposite of the `match` method and value. Default is `false`. + * + */ + @Import(name="invert") + private @Nullable Output invert; + + /** + * @return If `true`, the match is on the opposite of the `match` method and value. Default is `false`. + * + */ + public Optional> invert() { + return Optional.ofNullable(this.invert); + } + + /** + * Method and value to match the header value sent with a request. Specify one match method. + * + */ + @Import(name="match") + private @Nullable Output match; + + /** + * @return Method and value to match the header value sent with a request. Specify one match method. + * + */ + public Optional> match() { + return Optional.ofNullable(this.match); + } + + /** + * Name for the HTTP header in the client request that will be matched on. + * + */ + @Import(name="name", required=true) + private Output name; + + /** + * @return Name for the HTTP header in the client request that will be matched on. + * + */ + public Output name() { + return this.name; + } + + private GatewayRouteSpecHttpRouteMatchHeaderArgs() {} + + private GatewayRouteSpecHttpRouteMatchHeaderArgs(GatewayRouteSpecHttpRouteMatchHeaderArgs $) { + this.invert = $.invert; + this.match = $.match; + this.name = $.name; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(GatewayRouteSpecHttpRouteMatchHeaderArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private GatewayRouteSpecHttpRouteMatchHeaderArgs $; + + public Builder() { + $ = new GatewayRouteSpecHttpRouteMatchHeaderArgs(); + } + + public Builder(GatewayRouteSpecHttpRouteMatchHeaderArgs defaults) { + $ = new GatewayRouteSpecHttpRouteMatchHeaderArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param invert If `true`, the match is on the opposite of the `match` method and value. Default is `false`. + * + * @return builder + * + */ + public Builder invert(@Nullable Output invert) { + $.invert = invert; + return this; + } + + /** + * @param invert If `true`, the match is on the opposite of the `match` method and value. Default is `false`. + * + * @return builder + * + */ + public Builder invert(Boolean invert) { + return invert(Output.of(invert)); + } + + /** + * @param match Method and value to match the header value sent with a request. Specify one match method. + * + * @return builder + * + */ + public Builder match(@Nullable Output match) { + $.match = match; + return this; + } + + /** + * @param match Method and value to match the header value sent with a request. Specify one match method. + * + * @return builder + * + */ + public Builder match(GatewayRouteSpecHttpRouteMatchHeaderMatchArgs match) { + return match(Output.of(match)); + } + + /** + * @param name Name for the HTTP header in the client request that will be matched on. + * + * @return builder + * + */ + public Builder name(Output name) { + $.name = name; + return this; + } + + /** + * @param name Name for the HTTP header in the client request that will be matched on. + * + * @return builder + * + */ + public Builder name(String name) { + return name(Output.of(name)); + } + + public GatewayRouteSpecHttpRouteMatchHeaderArgs build() { + $.name = Objects.requireNonNull($.name, "expected parameter 'name' to be non-null"); + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/appmesh/inputs/GatewayRouteSpecHttpRouteMatchHeaderMatchArgs.java b/sdk/java/src/main/java/com/pulumi/aws/appmesh/inputs/GatewayRouteSpecHttpRouteMatchHeaderMatchArgs.java new file mode 100644 index 00000000000..dc536eb8168 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/appmesh/inputs/GatewayRouteSpecHttpRouteMatchHeaderMatchArgs.java @@ -0,0 +1,232 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.appmesh.inputs; + +import com.pulumi.aws.appmesh.inputs.GatewayRouteSpecHttpRouteMatchHeaderMatchRangeArgs; +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class GatewayRouteSpecHttpRouteMatchHeaderMatchArgs extends com.pulumi.resources.ResourceArgs { + + public static final GatewayRouteSpecHttpRouteMatchHeaderMatchArgs Empty = new GatewayRouteSpecHttpRouteMatchHeaderMatchArgs(); + + /** + * Header value sent by the client must match the specified value exactly. + * + */ + @Import(name="exact") + private @Nullable Output exact; + + /** + * @return Header value sent by the client must match the specified value exactly. + * + */ + public Optional> exact() { + return Optional.ofNullable(this.exact); + } + + /** + * Specified beginning characters to rewrite. + * + */ + @Import(name="prefix") + private @Nullable Output prefix; + + /** + * @return Specified beginning characters to rewrite. + * + */ + public Optional> prefix() { + return Optional.ofNullable(this.prefix); + } + + /** + * Object that specifies the range of numbers that the header value sent by the client must be included in. + * + */ + @Import(name="range") + private @Nullable Output range; + + /** + * @return Object that specifies the range of numbers that the header value sent by the client must be included in. + * + */ + public Optional> range() { + return Optional.ofNullable(this.range); + } + + /** + * Header value sent by the client must include the specified characters. + * + */ + @Import(name="regex") + private @Nullable Output regex; + + /** + * @return Header value sent by the client must include the specified characters. + * + */ + public Optional> regex() { + return Optional.ofNullable(this.regex); + } + + /** + * Header value sent by the client must end with the specified characters. + * + */ + @Import(name="suffix") + private @Nullable Output suffix; + + /** + * @return Header value sent by the client must end with the specified characters. + * + */ + public Optional> suffix() { + return Optional.ofNullable(this.suffix); + } + + private GatewayRouteSpecHttpRouteMatchHeaderMatchArgs() {} + + private GatewayRouteSpecHttpRouteMatchHeaderMatchArgs(GatewayRouteSpecHttpRouteMatchHeaderMatchArgs $) { + this.exact = $.exact; + this.prefix = $.prefix; + this.range = $.range; + this.regex = $.regex; + this.suffix = $.suffix; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(GatewayRouteSpecHttpRouteMatchHeaderMatchArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private GatewayRouteSpecHttpRouteMatchHeaderMatchArgs $; + + public Builder() { + $ = new GatewayRouteSpecHttpRouteMatchHeaderMatchArgs(); + } + + public Builder(GatewayRouteSpecHttpRouteMatchHeaderMatchArgs defaults) { + $ = new GatewayRouteSpecHttpRouteMatchHeaderMatchArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param exact Header value sent by the client must match the specified value exactly. + * + * @return builder + * + */ + public Builder exact(@Nullable Output exact) { + $.exact = exact; + return this; + } + + /** + * @param exact Header value sent by the client must match the specified value exactly. + * + * @return builder + * + */ + public Builder exact(String exact) { + return exact(Output.of(exact)); + } + + /** + * @param prefix Specified beginning characters to rewrite. + * + * @return builder + * + */ + public Builder prefix(@Nullable Output prefix) { + $.prefix = prefix; + return this; + } + + /** + * @param prefix Specified beginning characters to rewrite. + * + * @return builder + * + */ + public Builder prefix(String prefix) { + return prefix(Output.of(prefix)); + } + + /** + * @param range Object that specifies the range of numbers that the header value sent by the client must be included in. + * + * @return builder + * + */ + public Builder range(@Nullable Output range) { + $.range = range; + return this; + } + + /** + * @param range Object that specifies the range of numbers that the header value sent by the client must be included in. + * + * @return builder + * + */ + public Builder range(GatewayRouteSpecHttpRouteMatchHeaderMatchRangeArgs range) { + return range(Output.of(range)); + } + + /** + * @param regex Header value sent by the client must include the specified characters. + * + * @return builder + * + */ + public Builder regex(@Nullable Output regex) { + $.regex = regex; + return this; + } + + /** + * @param regex Header value sent by the client must include the specified characters. + * + * @return builder + * + */ + public Builder regex(String regex) { + return regex(Output.of(regex)); + } + + /** + * @param suffix Header value sent by the client must end with the specified characters. + * + * @return builder + * + */ + public Builder suffix(@Nullable Output suffix) { + $.suffix = suffix; + return this; + } + + /** + * @param suffix Header value sent by the client must end with the specified characters. + * + * @return builder + * + */ + public Builder suffix(String suffix) { + return suffix(Output.of(suffix)); + } + + public GatewayRouteSpecHttpRouteMatchHeaderMatchArgs build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/appmesh/inputs/GatewayRouteSpecHttpRouteMatchHeaderMatchRangeArgs.java b/sdk/java/src/main/java/com/pulumi/aws/appmesh/inputs/GatewayRouteSpecHttpRouteMatchHeaderMatchRangeArgs.java new file mode 100644 index 00000000000..14b8b991aa4 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/appmesh/inputs/GatewayRouteSpecHttpRouteMatchHeaderMatchRangeArgs.java @@ -0,0 +1,120 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.appmesh.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.Integer; +import java.util.Objects; + + +public final class GatewayRouteSpecHttpRouteMatchHeaderMatchRangeArgs extends com.pulumi.resources.ResourceArgs { + + public static final GatewayRouteSpecHttpRouteMatchHeaderMatchRangeArgs Empty = new GatewayRouteSpecHttpRouteMatchHeaderMatchRangeArgs(); + + /** + * End of the range. + * + */ + @Import(name="end", required=true) + private Output end; + + /** + * @return End of the range. + * + */ + public Output end() { + return this.end; + } + + /** + * Start of the range. + * + */ + @Import(name="start", required=true) + private Output start; + + /** + * @return Start of the range. + * + */ + public Output start() { + return this.start; + } + + private GatewayRouteSpecHttpRouteMatchHeaderMatchRangeArgs() {} + + private GatewayRouteSpecHttpRouteMatchHeaderMatchRangeArgs(GatewayRouteSpecHttpRouteMatchHeaderMatchRangeArgs $) { + this.end = $.end; + this.start = $.start; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(GatewayRouteSpecHttpRouteMatchHeaderMatchRangeArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private GatewayRouteSpecHttpRouteMatchHeaderMatchRangeArgs $; + + public Builder() { + $ = new GatewayRouteSpecHttpRouteMatchHeaderMatchRangeArgs(); + } + + public Builder(GatewayRouteSpecHttpRouteMatchHeaderMatchRangeArgs defaults) { + $ = new GatewayRouteSpecHttpRouteMatchHeaderMatchRangeArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param end End of the range. + * + * @return builder + * + */ + public Builder end(Output end) { + $.end = end; + return this; + } + + /** + * @param end End of the range. + * + * @return builder + * + */ + public Builder end(Integer end) { + return end(Output.of(end)); + } + + /** + * @param start Start of the range. + * + * @return builder + * + */ + public Builder start(Output start) { + $.start = start; + return this; + } + + /** + * @param start Start of the range. + * + * @return builder + * + */ + public Builder start(Integer start) { + return start(Output.of(start)); + } + + public GatewayRouteSpecHttpRouteMatchHeaderMatchRangeArgs build() { + $.end = Objects.requireNonNull($.end, "expected parameter 'end' to be non-null"); + $.start = Objects.requireNonNull($.start, "expected parameter 'start' to be non-null"); + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/appmesh/inputs/GatewayRouteSpecHttpRouteMatchPathArgs.java b/sdk/java/src/main/java/com/pulumi/aws/appmesh/inputs/GatewayRouteSpecHttpRouteMatchPathArgs.java new file mode 100644 index 00000000000..83c6976cce7 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/appmesh/inputs/GatewayRouteSpecHttpRouteMatchPathArgs.java @@ -0,0 +1,120 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.appmesh.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class GatewayRouteSpecHttpRouteMatchPathArgs extends com.pulumi.resources.ResourceArgs { + + public static final GatewayRouteSpecHttpRouteMatchPathArgs Empty = new GatewayRouteSpecHttpRouteMatchPathArgs(); + + /** + * The exact path to match on. + * + */ + @Import(name="exact") + private @Nullable Output exact; + + /** + * @return The exact path to match on. + * + */ + public Optional> exact() { + return Optional.ofNullable(this.exact); + } + + /** + * The regex used to match the path. + * + */ + @Import(name="regex") + private @Nullable Output regex; + + /** + * @return The regex used to match the path. + * + */ + public Optional> regex() { + return Optional.ofNullable(this.regex); + } + + private GatewayRouteSpecHttpRouteMatchPathArgs() {} + + private GatewayRouteSpecHttpRouteMatchPathArgs(GatewayRouteSpecHttpRouteMatchPathArgs $) { + this.exact = $.exact; + this.regex = $.regex; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(GatewayRouteSpecHttpRouteMatchPathArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private GatewayRouteSpecHttpRouteMatchPathArgs $; + + public Builder() { + $ = new GatewayRouteSpecHttpRouteMatchPathArgs(); + } + + public Builder(GatewayRouteSpecHttpRouteMatchPathArgs defaults) { + $ = new GatewayRouteSpecHttpRouteMatchPathArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param exact The exact path to match on. + * + * @return builder + * + */ + public Builder exact(@Nullable Output exact) { + $.exact = exact; + return this; + } + + /** + * @param exact The exact path to match on. + * + * @return builder + * + */ + public Builder exact(String exact) { + return exact(Output.of(exact)); + } + + /** + * @param regex The regex used to match the path. + * + * @return builder + * + */ + public Builder regex(@Nullable Output regex) { + $.regex = regex; + return this; + } + + /** + * @param regex The regex used to match the path. + * + * @return builder + * + */ + public Builder regex(String regex) { + return regex(Output.of(regex)); + } + + public GatewayRouteSpecHttpRouteMatchPathArgs build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/appmesh/inputs/GatewayRouteSpecHttpRouteMatchQueryParameterArgs.java b/sdk/java/src/main/java/com/pulumi/aws/appmesh/inputs/GatewayRouteSpecHttpRouteMatchQueryParameterArgs.java new file mode 100644 index 00000000000..cf69c6b1432 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/appmesh/inputs/GatewayRouteSpecHttpRouteMatchQueryParameterArgs.java @@ -0,0 +1,122 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.appmesh.inputs; + +import com.pulumi.aws.appmesh.inputs.GatewayRouteSpecHttpRouteMatchQueryParameterMatchArgs; +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class GatewayRouteSpecHttpRouteMatchQueryParameterArgs extends com.pulumi.resources.ResourceArgs { + + public static final GatewayRouteSpecHttpRouteMatchQueryParameterArgs Empty = new GatewayRouteSpecHttpRouteMatchQueryParameterArgs(); + + /** + * The query parameter to match on. + * + */ + @Import(name="match") + private @Nullable Output match; + + /** + * @return The query parameter to match on. + * + */ + public Optional> match() { + return Optional.ofNullable(this.match); + } + + /** + * Name for the query parameter that will be matched on. + * + */ + @Import(name="name", required=true) + private Output name; + + /** + * @return Name for the query parameter that will be matched on. + * + */ + public Output name() { + return this.name; + } + + private GatewayRouteSpecHttpRouteMatchQueryParameterArgs() {} + + private GatewayRouteSpecHttpRouteMatchQueryParameterArgs(GatewayRouteSpecHttpRouteMatchQueryParameterArgs $) { + this.match = $.match; + this.name = $.name; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(GatewayRouteSpecHttpRouteMatchQueryParameterArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private GatewayRouteSpecHttpRouteMatchQueryParameterArgs $; + + public Builder() { + $ = new GatewayRouteSpecHttpRouteMatchQueryParameterArgs(); + } + + public Builder(GatewayRouteSpecHttpRouteMatchQueryParameterArgs defaults) { + $ = new GatewayRouteSpecHttpRouteMatchQueryParameterArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param match The query parameter to match on. + * + * @return builder + * + */ + public Builder match(@Nullable Output match) { + $.match = match; + return this; + } + + /** + * @param match The query parameter to match on. + * + * @return builder + * + */ + public Builder match(GatewayRouteSpecHttpRouteMatchQueryParameterMatchArgs match) { + return match(Output.of(match)); + } + + /** + * @param name Name for the query parameter that will be matched on. + * + * @return builder + * + */ + public Builder name(Output name) { + $.name = name; + return this; + } + + /** + * @param name Name for the query parameter that will be matched on. + * + * @return builder + * + */ + public Builder name(String name) { + return name(Output.of(name)); + } + + public GatewayRouteSpecHttpRouteMatchQueryParameterArgs build() { + $.name = Objects.requireNonNull($.name, "expected parameter 'name' to be non-null"); + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/appmesh/inputs/GatewayRouteSpecHttpRouteMatchQueryParameterMatchArgs.java b/sdk/java/src/main/java/com/pulumi/aws/appmesh/inputs/GatewayRouteSpecHttpRouteMatchQueryParameterMatchArgs.java new file mode 100644 index 00000000000..2d9994dcf21 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/appmesh/inputs/GatewayRouteSpecHttpRouteMatchQueryParameterMatchArgs.java @@ -0,0 +1,83 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.appmesh.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class GatewayRouteSpecHttpRouteMatchQueryParameterMatchArgs extends com.pulumi.resources.ResourceArgs { + + public static final GatewayRouteSpecHttpRouteMatchQueryParameterMatchArgs Empty = new GatewayRouteSpecHttpRouteMatchQueryParameterMatchArgs(); + + /** + * Header value sent by the client must match the specified value exactly. + * + */ + @Import(name="exact") + private @Nullable Output exact; + + /** + * @return Header value sent by the client must match the specified value exactly. + * + */ + public Optional> exact() { + return Optional.ofNullable(this.exact); + } + + private GatewayRouteSpecHttpRouteMatchQueryParameterMatchArgs() {} + + private GatewayRouteSpecHttpRouteMatchQueryParameterMatchArgs(GatewayRouteSpecHttpRouteMatchQueryParameterMatchArgs $) { + this.exact = $.exact; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(GatewayRouteSpecHttpRouteMatchQueryParameterMatchArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private GatewayRouteSpecHttpRouteMatchQueryParameterMatchArgs $; + + public Builder() { + $ = new GatewayRouteSpecHttpRouteMatchQueryParameterMatchArgs(); + } + + public Builder(GatewayRouteSpecHttpRouteMatchQueryParameterMatchArgs defaults) { + $ = new GatewayRouteSpecHttpRouteMatchQueryParameterMatchArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param exact Header value sent by the client must match the specified value exactly. + * + * @return builder + * + */ + public Builder exact(@Nullable Output exact) { + $.exact = exact; + return this; + } + + /** + * @param exact Header value sent by the client must match the specified value exactly. + * + * @return builder + * + */ + public Builder exact(String exact) { + return exact(Output.of(exact)); + } + + public GatewayRouteSpecHttpRouteMatchQueryParameterMatchArgs build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/appmesh/inputs/GetGatewayRouteArgs.java b/sdk/java/src/main/java/com/pulumi/aws/appmesh/inputs/GetGatewayRouteArgs.java new file mode 100644 index 00000000000..238b8be0c9d --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/appmesh/inputs/GetGatewayRouteArgs.java @@ -0,0 +1,235 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.appmesh.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.String; +import java.util.Map; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class GetGatewayRouteArgs extends com.pulumi.resources.InvokeArgs { + + public static final GetGatewayRouteArgs Empty = new GetGatewayRouteArgs(); + + /** + * Name of the service mesh in which the virtual gateway exists. + * + */ + @Import(name="meshName", required=true) + private Output meshName; + + /** + * @return Name of the service mesh in which the virtual gateway exists. + * + */ + public Output meshName() { + return this.meshName; + } + + /** + * AWS account ID of the service mesh's owner. + * + */ + @Import(name="meshOwner") + private @Nullable Output meshOwner; + + /** + * @return AWS account ID of the service mesh's owner. + * + */ + public Optional> meshOwner() { + return Optional.ofNullable(this.meshOwner); + } + + /** + * Name of the gateway route. + * + */ + @Import(name="name", required=true) + private Output name; + + /** + * @return Name of the gateway route. + * + */ + public Output name() { + return this.name; + } + + /** + * Map of tags. + * + */ + @Import(name="tags") + private @Nullable Output> tags; + + /** + * @return Map of tags. + * + */ + public Optional>> tags() { + return Optional.ofNullable(this.tags); + } + + /** + * Name of the virtual gateway in which the route exists. + * + */ + @Import(name="virtualGatewayName", required=true) + private Output virtualGatewayName; + + /** + * @return Name of the virtual gateway in which the route exists. + * + */ + public Output virtualGatewayName() { + return this.virtualGatewayName; + } + + private GetGatewayRouteArgs() {} + + private GetGatewayRouteArgs(GetGatewayRouteArgs $) { + this.meshName = $.meshName; + this.meshOwner = $.meshOwner; + this.name = $.name; + this.tags = $.tags; + this.virtualGatewayName = $.virtualGatewayName; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(GetGatewayRouteArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private GetGatewayRouteArgs $; + + public Builder() { + $ = new GetGatewayRouteArgs(); + } + + public Builder(GetGatewayRouteArgs defaults) { + $ = new GetGatewayRouteArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param meshName Name of the service mesh in which the virtual gateway exists. + * + * @return builder + * + */ + public Builder meshName(Output meshName) { + $.meshName = meshName; + return this; + } + + /** + * @param meshName Name of the service mesh in which the virtual gateway exists. + * + * @return builder + * + */ + public Builder meshName(String meshName) { + return meshName(Output.of(meshName)); + } + + /** + * @param meshOwner AWS account ID of the service mesh's owner. + * + * @return builder + * + */ + public Builder meshOwner(@Nullable Output meshOwner) { + $.meshOwner = meshOwner; + return this; + } + + /** + * @param meshOwner AWS account ID of the service mesh's owner. + * + * @return builder + * + */ + public Builder meshOwner(String meshOwner) { + return meshOwner(Output.of(meshOwner)); + } + + /** + * @param name Name of the gateway route. + * + * @return builder + * + */ + public Builder name(Output name) { + $.name = name; + return this; + } + + /** + * @param name Name of the gateway route. + * + * @return builder + * + */ + public Builder name(String name) { + return name(Output.of(name)); + } + + /** + * @param tags Map of tags. + * + * @return builder + * + */ + public Builder tags(@Nullable Output> tags) { + $.tags = tags; + return this; + } + + /** + * @param tags Map of tags. + * + * @return builder + * + */ + public Builder tags(Map tags) { + return tags(Output.of(tags)); + } + + /** + * @param virtualGatewayName Name of the virtual gateway in which the route exists. + * + * @return builder + * + */ + public Builder virtualGatewayName(Output virtualGatewayName) { + $.virtualGatewayName = virtualGatewayName; + return this; + } + + /** + * @param virtualGatewayName Name of the virtual gateway in which the route exists. + * + * @return builder + * + */ + public Builder virtualGatewayName(String virtualGatewayName) { + return virtualGatewayName(Output.of(virtualGatewayName)); + } + + public GetGatewayRouteArgs build() { + $.meshName = Objects.requireNonNull($.meshName, "expected parameter 'meshName' to be non-null"); + $.name = Objects.requireNonNull($.name, "expected parameter 'name' to be non-null"); + $.virtualGatewayName = Objects.requireNonNull($.virtualGatewayName, "expected parameter 'virtualGatewayName' to be non-null"); + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/appmesh/inputs/GetGatewayRoutePlainArgs.java b/sdk/java/src/main/java/com/pulumi/aws/appmesh/inputs/GetGatewayRoutePlainArgs.java new file mode 100644 index 00000000000..819cd9d6c98 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/appmesh/inputs/GetGatewayRoutePlainArgs.java @@ -0,0 +1,184 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.appmesh.inputs; + +import com.pulumi.core.annotations.Import; +import java.lang.String; +import java.util.Map; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class GetGatewayRoutePlainArgs extends com.pulumi.resources.InvokeArgs { + + public static final GetGatewayRoutePlainArgs Empty = new GetGatewayRoutePlainArgs(); + + /** + * Name of the service mesh in which the virtual gateway exists. + * + */ + @Import(name="meshName", required=true) + private String meshName; + + /** + * @return Name of the service mesh in which the virtual gateway exists. + * + */ + public String meshName() { + return this.meshName; + } + + /** + * AWS account ID of the service mesh's owner. + * + */ + @Import(name="meshOwner") + private @Nullable String meshOwner; + + /** + * @return AWS account ID of the service mesh's owner. + * + */ + public Optional meshOwner() { + return Optional.ofNullable(this.meshOwner); + } + + /** + * Name of the gateway route. + * + */ + @Import(name="name", required=true) + private String name; + + /** + * @return Name of the gateway route. + * + */ + public String name() { + return this.name; + } + + /** + * Map of tags. + * + */ + @Import(name="tags") + private @Nullable Map tags; + + /** + * @return Map of tags. + * + */ + public Optional> tags() { + return Optional.ofNullable(this.tags); + } + + /** + * Name of the virtual gateway in which the route exists. + * + */ + @Import(name="virtualGatewayName", required=true) + private String virtualGatewayName; + + /** + * @return Name of the virtual gateway in which the route exists. + * + */ + public String virtualGatewayName() { + return this.virtualGatewayName; + } + + private GetGatewayRoutePlainArgs() {} + + private GetGatewayRoutePlainArgs(GetGatewayRoutePlainArgs $) { + this.meshName = $.meshName; + this.meshOwner = $.meshOwner; + this.name = $.name; + this.tags = $.tags; + this.virtualGatewayName = $.virtualGatewayName; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(GetGatewayRoutePlainArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private GetGatewayRoutePlainArgs $; + + public Builder() { + $ = new GetGatewayRoutePlainArgs(); + } + + public Builder(GetGatewayRoutePlainArgs defaults) { + $ = new GetGatewayRoutePlainArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param meshName Name of the service mesh in which the virtual gateway exists. + * + * @return builder + * + */ + public Builder meshName(String meshName) { + $.meshName = meshName; + return this; + } + + /** + * @param meshOwner AWS account ID of the service mesh's owner. + * + * @return builder + * + */ + public Builder meshOwner(@Nullable String meshOwner) { + $.meshOwner = meshOwner; + return this; + } + + /** + * @param name Name of the gateway route. + * + * @return builder + * + */ + public Builder name(String name) { + $.name = name; + return this; + } + + /** + * @param tags Map of tags. + * + * @return builder + * + */ + public Builder tags(@Nullable Map tags) { + $.tags = tags; + return this; + } + + /** + * @param virtualGatewayName Name of the virtual gateway in which the route exists. + * + * @return builder + * + */ + public Builder virtualGatewayName(String virtualGatewayName) { + $.virtualGatewayName = virtualGatewayName; + return this; + } + + public GetGatewayRoutePlainArgs build() { + $.meshName = Objects.requireNonNull($.meshName, "expected parameter 'meshName' to be non-null"); + $.name = Objects.requireNonNull($.name, "expected parameter 'name' to be non-null"); + $.virtualGatewayName = Objects.requireNonNull($.virtualGatewayName, "expected parameter 'virtualGatewayName' to be non-null"); + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/appmesh/inputs/GetVirtualNodeArgs.java b/sdk/java/src/main/java/com/pulumi/aws/appmesh/inputs/GetVirtualNodeArgs.java new file mode 100644 index 00000000000..13994e16f6b --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/appmesh/inputs/GetVirtualNodeArgs.java @@ -0,0 +1,197 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.appmesh.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.String; +import java.util.Map; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class GetVirtualNodeArgs extends com.pulumi.resources.InvokeArgs { + + public static final GetVirtualNodeArgs Empty = new GetVirtualNodeArgs(); + + /** + * Name of the service mesh in which the virtual node exists. + * + */ + @Import(name="meshName", required=true) + private Output meshName; + + /** + * @return Name of the service mesh in which the virtual node exists. + * + */ + public Output meshName() { + return this.meshName; + } + + /** + * AWS account ID of the service mesh's owner. + * + */ + @Import(name="meshOwner") + private @Nullable Output meshOwner; + + /** + * @return AWS account ID of the service mesh's owner. + * + */ + public Optional> meshOwner() { + return Optional.ofNullable(this.meshOwner); + } + + /** + * Name of the virtual node. + * + */ + @Import(name="name", required=true) + private Output name; + + /** + * @return Name of the virtual node. + * + */ + public Output name() { + return this.name; + } + + /** + * Map of tags. + * + */ + @Import(name="tags") + private @Nullable Output> tags; + + /** + * @return Map of tags. + * + */ + public Optional>> tags() { + return Optional.ofNullable(this.tags); + } + + private GetVirtualNodeArgs() {} + + private GetVirtualNodeArgs(GetVirtualNodeArgs $) { + this.meshName = $.meshName; + this.meshOwner = $.meshOwner; + this.name = $.name; + this.tags = $.tags; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(GetVirtualNodeArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private GetVirtualNodeArgs $; + + public Builder() { + $ = new GetVirtualNodeArgs(); + } + + public Builder(GetVirtualNodeArgs defaults) { + $ = new GetVirtualNodeArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param meshName Name of the service mesh in which the virtual node exists. + * + * @return builder + * + */ + public Builder meshName(Output meshName) { + $.meshName = meshName; + return this; + } + + /** + * @param meshName Name of the service mesh in which the virtual node exists. + * + * @return builder + * + */ + public Builder meshName(String meshName) { + return meshName(Output.of(meshName)); + } + + /** + * @param meshOwner AWS account ID of the service mesh's owner. + * + * @return builder + * + */ + public Builder meshOwner(@Nullable Output meshOwner) { + $.meshOwner = meshOwner; + return this; + } + + /** + * @param meshOwner AWS account ID of the service mesh's owner. + * + * @return builder + * + */ + public Builder meshOwner(String meshOwner) { + return meshOwner(Output.of(meshOwner)); + } + + /** + * @param name Name of the virtual node. + * + * @return builder + * + */ + public Builder name(Output name) { + $.name = name; + return this; + } + + /** + * @param name Name of the virtual node. + * + * @return builder + * + */ + public Builder name(String name) { + return name(Output.of(name)); + } + + /** + * @param tags Map of tags. + * + * @return builder + * + */ + public Builder tags(@Nullable Output> tags) { + $.tags = tags; + return this; + } + + /** + * @param tags Map of tags. + * + * @return builder + * + */ + public Builder tags(Map tags) { + return tags(Output.of(tags)); + } + + public GetVirtualNodeArgs build() { + $.meshName = Objects.requireNonNull($.meshName, "expected parameter 'meshName' to be non-null"); + $.name = Objects.requireNonNull($.name, "expected parameter 'name' to be non-null"); + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/appmesh/inputs/GetVirtualNodePlainArgs.java b/sdk/java/src/main/java/com/pulumi/aws/appmesh/inputs/GetVirtualNodePlainArgs.java new file mode 100644 index 00000000000..46751538815 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/appmesh/inputs/GetVirtualNodePlainArgs.java @@ -0,0 +1,156 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.appmesh.inputs; + +import com.pulumi.core.annotations.Import; +import java.lang.String; +import java.util.Map; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class GetVirtualNodePlainArgs extends com.pulumi.resources.InvokeArgs { + + public static final GetVirtualNodePlainArgs Empty = new GetVirtualNodePlainArgs(); + + /** + * Name of the service mesh in which the virtual node exists. + * + */ + @Import(name="meshName", required=true) + private String meshName; + + /** + * @return Name of the service mesh in which the virtual node exists. + * + */ + public String meshName() { + return this.meshName; + } + + /** + * AWS account ID of the service mesh's owner. + * + */ + @Import(name="meshOwner") + private @Nullable String meshOwner; + + /** + * @return AWS account ID of the service mesh's owner. + * + */ + public Optional meshOwner() { + return Optional.ofNullable(this.meshOwner); + } + + /** + * Name of the virtual node. + * + */ + @Import(name="name", required=true) + private String name; + + /** + * @return Name of the virtual node. + * + */ + public String name() { + return this.name; + } + + /** + * Map of tags. + * + */ + @Import(name="tags") + private @Nullable Map tags; + + /** + * @return Map of tags. + * + */ + public Optional> tags() { + return Optional.ofNullable(this.tags); + } + + private GetVirtualNodePlainArgs() {} + + private GetVirtualNodePlainArgs(GetVirtualNodePlainArgs $) { + this.meshName = $.meshName; + this.meshOwner = $.meshOwner; + this.name = $.name; + this.tags = $.tags; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(GetVirtualNodePlainArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private GetVirtualNodePlainArgs $; + + public Builder() { + $ = new GetVirtualNodePlainArgs(); + } + + public Builder(GetVirtualNodePlainArgs defaults) { + $ = new GetVirtualNodePlainArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param meshName Name of the service mesh in which the virtual node exists. + * + * @return builder + * + */ + public Builder meshName(String meshName) { + $.meshName = meshName; + return this; + } + + /** + * @param meshOwner AWS account ID of the service mesh's owner. + * + * @return builder + * + */ + public Builder meshOwner(@Nullable String meshOwner) { + $.meshOwner = meshOwner; + return this; + } + + /** + * @param name Name of the virtual node. + * + * @return builder + * + */ + public Builder name(String name) { + $.name = name; + return this; + } + + /** + * @param tags Map of tags. + * + * @return builder + * + */ + public Builder tags(@Nullable Map tags) { + $.tags = tags; + return this; + } + + public GetVirtualNodePlainArgs build() { + $.meshName = Objects.requireNonNull($.meshName, "expected parameter 'meshName' to be non-null"); + $.name = Objects.requireNonNull($.name, "expected parameter 'name' to be non-null"); + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/appmesh/inputs/GetVirtualRouterArgs.java b/sdk/java/src/main/java/com/pulumi/aws/appmesh/inputs/GetVirtualRouterArgs.java new file mode 100644 index 00000000000..f40b11d38a7 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/appmesh/inputs/GetVirtualRouterArgs.java @@ -0,0 +1,177 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.appmesh.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.String; +import java.util.Map; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class GetVirtualRouterArgs extends com.pulumi.resources.InvokeArgs { + + public static final GetVirtualRouterArgs Empty = new GetVirtualRouterArgs(); + + /** + * Name of the mesh in which the virtual router exists + * + */ + @Import(name="meshName", required=true) + private Output meshName; + + /** + * @return Name of the mesh in which the virtual router exists + * + */ + public Output meshName() { + return this.meshName; + } + + @Import(name="meshOwner") + private @Nullable Output meshOwner; + + public Optional> meshOwner() { + return Optional.ofNullable(this.meshOwner); + } + + /** + * Name of the virtual router. + * + */ + @Import(name="name", required=true) + private Output name; + + /** + * @return Name of the virtual router. + * + */ + public Output name() { + return this.name; + } + + /** + * Map of tags. + * + */ + @Import(name="tags") + private @Nullable Output> tags; + + /** + * @return Map of tags. + * + */ + public Optional>> tags() { + return Optional.ofNullable(this.tags); + } + + private GetVirtualRouterArgs() {} + + private GetVirtualRouterArgs(GetVirtualRouterArgs $) { + this.meshName = $.meshName; + this.meshOwner = $.meshOwner; + this.name = $.name; + this.tags = $.tags; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(GetVirtualRouterArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private GetVirtualRouterArgs $; + + public Builder() { + $ = new GetVirtualRouterArgs(); + } + + public Builder(GetVirtualRouterArgs defaults) { + $ = new GetVirtualRouterArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param meshName Name of the mesh in which the virtual router exists + * + * @return builder + * + */ + public Builder meshName(Output meshName) { + $.meshName = meshName; + return this; + } + + /** + * @param meshName Name of the mesh in which the virtual router exists + * + * @return builder + * + */ + public Builder meshName(String meshName) { + return meshName(Output.of(meshName)); + } + + public Builder meshOwner(@Nullable Output meshOwner) { + $.meshOwner = meshOwner; + return this; + } + + public Builder meshOwner(String meshOwner) { + return meshOwner(Output.of(meshOwner)); + } + + /** + * @param name Name of the virtual router. + * + * @return builder + * + */ + public Builder name(Output name) { + $.name = name; + return this; + } + + /** + * @param name Name of the virtual router. + * + * @return builder + * + */ + public Builder name(String name) { + return name(Output.of(name)); + } + + /** + * @param tags Map of tags. + * + * @return builder + * + */ + public Builder tags(@Nullable Output> tags) { + $.tags = tags; + return this; + } + + /** + * @param tags Map of tags. + * + * @return builder + * + */ + public Builder tags(Map tags) { + return tags(Output.of(tags)); + } + + public GetVirtualRouterArgs build() { + $.meshName = Objects.requireNonNull($.meshName, "expected parameter 'meshName' to be non-null"); + $.name = Objects.requireNonNull($.name, "expected parameter 'name' to be non-null"); + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/appmesh/inputs/GetVirtualRouterPlainArgs.java b/sdk/java/src/main/java/com/pulumi/aws/appmesh/inputs/GetVirtualRouterPlainArgs.java new file mode 100644 index 00000000000..42d622a5ccf --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/appmesh/inputs/GetVirtualRouterPlainArgs.java @@ -0,0 +1,142 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.appmesh.inputs; + +import com.pulumi.core.annotations.Import; +import java.lang.String; +import java.util.Map; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class GetVirtualRouterPlainArgs extends com.pulumi.resources.InvokeArgs { + + public static final GetVirtualRouterPlainArgs Empty = new GetVirtualRouterPlainArgs(); + + /** + * Name of the mesh in which the virtual router exists + * + */ + @Import(name="meshName", required=true) + private String meshName; + + /** + * @return Name of the mesh in which the virtual router exists + * + */ + public String meshName() { + return this.meshName; + } + + @Import(name="meshOwner") + private @Nullable String meshOwner; + + public Optional meshOwner() { + return Optional.ofNullable(this.meshOwner); + } + + /** + * Name of the virtual router. + * + */ + @Import(name="name", required=true) + private String name; + + /** + * @return Name of the virtual router. + * + */ + public String name() { + return this.name; + } + + /** + * Map of tags. + * + */ + @Import(name="tags") + private @Nullable Map tags; + + /** + * @return Map of tags. + * + */ + public Optional> tags() { + return Optional.ofNullable(this.tags); + } + + private GetVirtualRouterPlainArgs() {} + + private GetVirtualRouterPlainArgs(GetVirtualRouterPlainArgs $) { + this.meshName = $.meshName; + this.meshOwner = $.meshOwner; + this.name = $.name; + this.tags = $.tags; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(GetVirtualRouterPlainArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private GetVirtualRouterPlainArgs $; + + public Builder() { + $ = new GetVirtualRouterPlainArgs(); + } + + public Builder(GetVirtualRouterPlainArgs defaults) { + $ = new GetVirtualRouterPlainArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param meshName Name of the mesh in which the virtual router exists + * + * @return builder + * + */ + public Builder meshName(String meshName) { + $.meshName = meshName; + return this; + } + + public Builder meshOwner(@Nullable String meshOwner) { + $.meshOwner = meshOwner; + return this; + } + + /** + * @param name Name of the virtual router. + * + * @return builder + * + */ + public Builder name(String name) { + $.name = name; + return this; + } + + /** + * @param tags Map of tags. + * + * @return builder + * + */ + public Builder tags(@Nullable Map tags) { + $.tags = tags; + return this; + } + + public GetVirtualRouterPlainArgs build() { + $.meshName = Objects.requireNonNull($.meshName, "expected parameter 'meshName' to be non-null"); + $.name = Objects.requireNonNull($.name, "expected parameter 'name' to be non-null"); + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/appmesh/inputs/RouteSpecGrpcRouteMatchMetadataMatchArgs.java b/sdk/java/src/main/java/com/pulumi/aws/appmesh/inputs/RouteSpecGrpcRouteMatchMetadataMatchArgs.java index 1ece46db8ff..beb8dcebdcf 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/appmesh/inputs/RouteSpecGrpcRouteMatchMetadataMatchArgs.java +++ b/sdk/java/src/main/java/com/pulumi/aws/appmesh/inputs/RouteSpecGrpcRouteMatchMetadataMatchArgs.java @@ -17,14 +17,14 @@ public final class RouteSpecGrpcRouteMatchMetadataMatchArgs extends com.pulumi.r public static final RouteSpecGrpcRouteMatchMetadataMatchArgs Empty = new RouteSpecGrpcRouteMatchMetadataMatchArgs(); /** - * Value sent by the client must match the specified value exactly. Must be between 1 and 255 characters in length. + * The exact path to match on. * */ @Import(name="exact") private @Nullable Output exact; /** - * @return Value sent by the client must match the specified value exactly. Must be between 1 and 255 characters in length. + * @return The exact path to match on. * */ public Optional> exact() { @@ -64,14 +64,14 @@ public Optional> range() { } /** - * Value sent by the client must include the specified characters. Must be between 1 and 255 characters in length. + * The regex used to match the path. * */ @Import(name="regex") private @Nullable Output regex; /** - * @return Value sent by the client must include the specified characters. Must be between 1 and 255 characters in length. + * @return The regex used to match the path. * */ public Optional> regex() { @@ -122,7 +122,7 @@ public Builder(RouteSpecGrpcRouteMatchMetadataMatchArgs defaults) { } /** - * @param exact Value sent by the client must match the specified value exactly. Must be between 1 and 255 characters in length. + * @param exact The exact path to match on. * * @return builder * @@ -133,7 +133,7 @@ public Builder exact(@Nullable Output exact) { } /** - * @param exact Value sent by the client must match the specified value exactly. Must be between 1 and 255 characters in length. + * @param exact The exact path to match on. * * @return builder * @@ -187,7 +187,7 @@ public Builder range(RouteSpecGrpcRouteMatchMetadataMatchRangeArgs range) { } /** - * @param regex Value sent by the client must include the specified characters. Must be between 1 and 255 characters in length. + * @param regex The regex used to match the path. * * @return builder * @@ -198,7 +198,7 @@ public Builder regex(@Nullable Output regex) { } /** - * @param regex Value sent by the client must include the specified characters. Must be between 1 and 255 characters in length. + * @param regex The regex used to match the path. * * @return builder * diff --git a/sdk/java/src/main/java/com/pulumi/aws/appmesh/inputs/RouteSpecHttp2RouteMatchArgs.java b/sdk/java/src/main/java/com/pulumi/aws/appmesh/inputs/RouteSpecHttp2RouteMatchArgs.java index 3ca1e63feb9..816355ca10d 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/appmesh/inputs/RouteSpecHttp2RouteMatchArgs.java +++ b/sdk/java/src/main/java/com/pulumi/aws/appmesh/inputs/RouteSpecHttp2RouteMatchArgs.java @@ -4,6 +4,8 @@ package com.pulumi.aws.appmesh.inputs; import com.pulumi.aws.appmesh.inputs.RouteSpecHttp2RouteMatchHeaderArgs; +import com.pulumi.aws.appmesh.inputs.RouteSpecHttp2RouteMatchPathArgs; +import com.pulumi.aws.appmesh.inputs.RouteSpecHttp2RouteMatchQueryParameterArgs; import com.pulumi.core.Output; import com.pulumi.core.annotations.Import; import java.lang.Integer; @@ -48,6 +50,21 @@ public Optional> method() { return Optional.ofNullable(this.method); } + /** + * Client request path to match on. + * + */ + @Import(name="path") + private @Nullable Output path; + + /** + * @return Client request path to match on. + * + */ + public Optional> path() { + return Optional.ofNullable(this.path); + } + /** * The port number to match from the request. * @@ -68,16 +85,31 @@ public Optional> port() { * This parameter must always start with /, which by itself matches all requests to the virtual router service name. * */ - @Import(name="prefix", required=true) - private Output prefix; + @Import(name="prefix") + private @Nullable Output prefix; /** * @return Value sent by the client must begin with the specified characters. Must be between 1 and 255 characters in length. * This parameter must always start with /, which by itself matches all requests to the virtual router service name. * */ - public Output prefix() { - return this.prefix; + public Optional> prefix() { + return Optional.ofNullable(this.prefix); + } + + /** + * Client request query parameters to match on. + * + */ + @Import(name="queryParameters") + private @Nullable Output> queryParameters; + + /** + * @return Client request query parameters to match on. + * + */ + public Optional>> queryParameters() { + return Optional.ofNullable(this.queryParameters); } /** @@ -100,8 +132,10 @@ private RouteSpecHttp2RouteMatchArgs() {} private RouteSpecHttp2RouteMatchArgs(RouteSpecHttp2RouteMatchArgs $) { this.headers = $.headers; this.method = $.method; + this.path = $.path; this.port = $.port; this.prefix = $.prefix; + this.queryParameters = $.queryParameters; this.scheme = $.scheme; } @@ -175,6 +209,27 @@ public Builder method(String method) { return method(Output.of(method)); } + /** + * @param path Client request path to match on. + * + * @return builder + * + */ + public Builder path(@Nullable Output path) { + $.path = path; + return this; + } + + /** + * @param path Client request path to match on. + * + * @return builder + * + */ + public Builder path(RouteSpecHttp2RouteMatchPathArgs path) { + return path(Output.of(path)); + } + /** * @param port The port number to match from the request. * @@ -203,7 +258,7 @@ public Builder port(Integer port) { * @return builder * */ - public Builder prefix(Output prefix) { + public Builder prefix(@Nullable Output prefix) { $.prefix = prefix; return this; } @@ -219,6 +274,37 @@ public Builder prefix(String prefix) { return prefix(Output.of(prefix)); } + /** + * @param queryParameters Client request query parameters to match on. + * + * @return builder + * + */ + public Builder queryParameters(@Nullable Output> queryParameters) { + $.queryParameters = queryParameters; + return this; + } + + /** + * @param queryParameters Client request query parameters to match on. + * + * @return builder + * + */ + public Builder queryParameters(List queryParameters) { + return queryParameters(Output.of(queryParameters)); + } + + /** + * @param queryParameters Client request query parameters to match on. + * + * @return builder + * + */ + public Builder queryParameters(RouteSpecHttp2RouteMatchQueryParameterArgs... queryParameters) { + return queryParameters(List.of(queryParameters)); + } + /** * @param scheme Client request header scheme to match on. Valid values: `http`, `https`. * @@ -241,7 +327,6 @@ public Builder scheme(String scheme) { } public RouteSpecHttp2RouteMatchArgs build() { - $.prefix = Objects.requireNonNull($.prefix, "expected parameter 'prefix' to be non-null"); return $; } } diff --git a/sdk/java/src/main/java/com/pulumi/aws/appmesh/inputs/RouteSpecHttp2RouteMatchHeaderMatchArgs.java b/sdk/java/src/main/java/com/pulumi/aws/appmesh/inputs/RouteSpecHttp2RouteMatchHeaderMatchArgs.java index 182aa263340..b4bf9e5ec13 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/appmesh/inputs/RouteSpecHttp2RouteMatchHeaderMatchArgs.java +++ b/sdk/java/src/main/java/com/pulumi/aws/appmesh/inputs/RouteSpecHttp2RouteMatchHeaderMatchArgs.java @@ -17,14 +17,14 @@ public final class RouteSpecHttp2RouteMatchHeaderMatchArgs extends com.pulumi.re public static final RouteSpecHttp2RouteMatchHeaderMatchArgs Empty = new RouteSpecHttp2RouteMatchHeaderMatchArgs(); /** - * Value sent by the client must match the specified value exactly. Must be between 1 and 255 characters in length. + * The exact path to match on. * */ @Import(name="exact") private @Nullable Output exact; /** - * @return Value sent by the client must match the specified value exactly. Must be between 1 and 255 characters in length. + * @return The exact path to match on. * */ public Optional> exact() { @@ -64,14 +64,14 @@ public Optional> range() { } /** - * Value sent by the client must include the specified characters. Must be between 1 and 255 characters in length. + * The regex used to match the path. * */ @Import(name="regex") private @Nullable Output regex; /** - * @return Value sent by the client must include the specified characters. Must be between 1 and 255 characters in length. + * @return The regex used to match the path. * */ public Optional> regex() { @@ -122,7 +122,7 @@ public Builder(RouteSpecHttp2RouteMatchHeaderMatchArgs defaults) { } /** - * @param exact Value sent by the client must match the specified value exactly. Must be between 1 and 255 characters in length. + * @param exact The exact path to match on. * * @return builder * @@ -133,7 +133,7 @@ public Builder exact(@Nullable Output exact) { } /** - * @param exact Value sent by the client must match the specified value exactly. Must be between 1 and 255 characters in length. + * @param exact The exact path to match on. * * @return builder * @@ -187,7 +187,7 @@ public Builder range(RouteSpecHttp2RouteMatchHeaderMatchRangeArgs range) { } /** - * @param regex Value sent by the client must include the specified characters. Must be between 1 and 255 characters in length. + * @param regex The regex used to match the path. * * @return builder * @@ -198,7 +198,7 @@ public Builder regex(@Nullable Output regex) { } /** - * @param regex Value sent by the client must include the specified characters. Must be between 1 and 255 characters in length. + * @param regex The regex used to match the path. * * @return builder * diff --git a/sdk/java/src/main/java/com/pulumi/aws/appmesh/inputs/RouteSpecHttp2RouteMatchPathArgs.java b/sdk/java/src/main/java/com/pulumi/aws/appmesh/inputs/RouteSpecHttp2RouteMatchPathArgs.java new file mode 100644 index 00000000000..aa3efbf2cfd --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/appmesh/inputs/RouteSpecHttp2RouteMatchPathArgs.java @@ -0,0 +1,120 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.appmesh.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class RouteSpecHttp2RouteMatchPathArgs extends com.pulumi.resources.ResourceArgs { + + public static final RouteSpecHttp2RouteMatchPathArgs Empty = new RouteSpecHttp2RouteMatchPathArgs(); + + /** + * Value sent by the client must match the specified value exactly. Must be between 1 and 255 characters in length. + * + */ + @Import(name="exact") + private @Nullable Output exact; + + /** + * @return Value sent by the client must match the specified value exactly. Must be between 1 and 255 characters in length. + * + */ + public Optional> exact() { + return Optional.ofNullable(this.exact); + } + + /** + * Value sent by the client must include the specified characters. Must be between 1 and 255 characters in length. + * + */ + @Import(name="regex") + private @Nullable Output regex; + + /** + * @return Value sent by the client must include the specified characters. Must be between 1 and 255 characters in length. + * + */ + public Optional> regex() { + return Optional.ofNullable(this.regex); + } + + private RouteSpecHttp2RouteMatchPathArgs() {} + + private RouteSpecHttp2RouteMatchPathArgs(RouteSpecHttp2RouteMatchPathArgs $) { + this.exact = $.exact; + this.regex = $.regex; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(RouteSpecHttp2RouteMatchPathArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private RouteSpecHttp2RouteMatchPathArgs $; + + public Builder() { + $ = new RouteSpecHttp2RouteMatchPathArgs(); + } + + public Builder(RouteSpecHttp2RouteMatchPathArgs defaults) { + $ = new RouteSpecHttp2RouteMatchPathArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param exact Value sent by the client must match the specified value exactly. Must be between 1 and 255 characters in length. + * + * @return builder + * + */ + public Builder exact(@Nullable Output exact) { + $.exact = exact; + return this; + } + + /** + * @param exact Value sent by the client must match the specified value exactly. Must be between 1 and 255 characters in length. + * + * @return builder + * + */ + public Builder exact(String exact) { + return exact(Output.of(exact)); + } + + /** + * @param regex Value sent by the client must include the specified characters. Must be between 1 and 255 characters in length. + * + * @return builder + * + */ + public Builder regex(@Nullable Output regex) { + $.regex = regex; + return this; + } + + /** + * @param regex Value sent by the client must include the specified characters. Must be between 1 and 255 characters in length. + * + * @return builder + * + */ + public Builder regex(String regex) { + return regex(Output.of(regex)); + } + + public RouteSpecHttp2RouteMatchPathArgs build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/appmesh/inputs/RouteSpecHttp2RouteMatchQueryParameterArgs.java b/sdk/java/src/main/java/com/pulumi/aws/appmesh/inputs/RouteSpecHttp2RouteMatchQueryParameterArgs.java new file mode 100644 index 00000000000..c2622232dae --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/appmesh/inputs/RouteSpecHttp2RouteMatchQueryParameterArgs.java @@ -0,0 +1,122 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.appmesh.inputs; + +import com.pulumi.aws.appmesh.inputs.RouteSpecHttp2RouteMatchQueryParameterMatchArgs; +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class RouteSpecHttp2RouteMatchQueryParameterArgs extends com.pulumi.resources.ResourceArgs { + + public static final RouteSpecHttp2RouteMatchQueryParameterArgs Empty = new RouteSpecHttp2RouteMatchQueryParameterArgs(); + + /** + * Criteria for determining an gRPC request match. + * + */ + @Import(name="match") + private @Nullable Output match; + + /** + * @return Criteria for determining an gRPC request match. + * + */ + public Optional> match() { + return Optional.ofNullable(this.match); + } + + /** + * Name to use for the route. Must be between 1 and 255 characters in length. + * + */ + @Import(name="name", required=true) + private Output name; + + /** + * @return Name to use for the route. Must be between 1 and 255 characters in length. + * + */ + public Output name() { + return this.name; + } + + private RouteSpecHttp2RouteMatchQueryParameterArgs() {} + + private RouteSpecHttp2RouteMatchQueryParameterArgs(RouteSpecHttp2RouteMatchQueryParameterArgs $) { + this.match = $.match; + this.name = $.name; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(RouteSpecHttp2RouteMatchQueryParameterArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private RouteSpecHttp2RouteMatchQueryParameterArgs $; + + public Builder() { + $ = new RouteSpecHttp2RouteMatchQueryParameterArgs(); + } + + public Builder(RouteSpecHttp2RouteMatchQueryParameterArgs defaults) { + $ = new RouteSpecHttp2RouteMatchQueryParameterArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param match Criteria for determining an gRPC request match. + * + * @return builder + * + */ + public Builder match(@Nullable Output match) { + $.match = match; + return this; + } + + /** + * @param match Criteria for determining an gRPC request match. + * + * @return builder + * + */ + public Builder match(RouteSpecHttp2RouteMatchQueryParameterMatchArgs match) { + return match(Output.of(match)); + } + + /** + * @param name Name to use for the route. Must be between 1 and 255 characters in length. + * + * @return builder + * + */ + public Builder name(Output name) { + $.name = name; + return this; + } + + /** + * @param name Name to use for the route. Must be between 1 and 255 characters in length. + * + * @return builder + * + */ + public Builder name(String name) { + return name(Output.of(name)); + } + + public RouteSpecHttp2RouteMatchQueryParameterArgs build() { + $.name = Objects.requireNonNull($.name, "expected parameter 'name' to be non-null"); + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/appmesh/inputs/RouteSpecHttp2RouteMatchQueryParameterMatchArgs.java b/sdk/java/src/main/java/com/pulumi/aws/appmesh/inputs/RouteSpecHttp2RouteMatchQueryParameterMatchArgs.java new file mode 100644 index 00000000000..77c3aa9bf8b --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/appmesh/inputs/RouteSpecHttp2RouteMatchQueryParameterMatchArgs.java @@ -0,0 +1,83 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.appmesh.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class RouteSpecHttp2RouteMatchQueryParameterMatchArgs extends com.pulumi.resources.ResourceArgs { + + public static final RouteSpecHttp2RouteMatchQueryParameterMatchArgs Empty = new RouteSpecHttp2RouteMatchQueryParameterMatchArgs(); + + /** + * The exact path to match on. + * + */ + @Import(name="exact") + private @Nullable Output exact; + + /** + * @return The exact path to match on. + * + */ + public Optional> exact() { + return Optional.ofNullable(this.exact); + } + + private RouteSpecHttp2RouteMatchQueryParameterMatchArgs() {} + + private RouteSpecHttp2RouteMatchQueryParameterMatchArgs(RouteSpecHttp2RouteMatchQueryParameterMatchArgs $) { + this.exact = $.exact; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(RouteSpecHttp2RouteMatchQueryParameterMatchArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private RouteSpecHttp2RouteMatchQueryParameterMatchArgs $; + + public Builder() { + $ = new RouteSpecHttp2RouteMatchQueryParameterMatchArgs(); + } + + public Builder(RouteSpecHttp2RouteMatchQueryParameterMatchArgs defaults) { + $ = new RouteSpecHttp2RouteMatchQueryParameterMatchArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param exact The exact path to match on. + * + * @return builder + * + */ + public Builder exact(@Nullable Output exact) { + $.exact = exact; + return this; + } + + /** + * @param exact The exact path to match on. + * + * @return builder + * + */ + public Builder exact(String exact) { + return exact(Output.of(exact)); + } + + public RouteSpecHttp2RouteMatchQueryParameterMatchArgs build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/appmesh/inputs/RouteSpecHttpRouteMatchArgs.java b/sdk/java/src/main/java/com/pulumi/aws/appmesh/inputs/RouteSpecHttpRouteMatchArgs.java index 72b5d72c5bc..f3272555f35 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/appmesh/inputs/RouteSpecHttpRouteMatchArgs.java +++ b/sdk/java/src/main/java/com/pulumi/aws/appmesh/inputs/RouteSpecHttpRouteMatchArgs.java @@ -4,6 +4,8 @@ package com.pulumi.aws.appmesh.inputs; import com.pulumi.aws.appmesh.inputs.RouteSpecHttpRouteMatchHeaderArgs; +import com.pulumi.aws.appmesh.inputs.RouteSpecHttpRouteMatchPathArgs; +import com.pulumi.aws.appmesh.inputs.RouteSpecHttpRouteMatchQueryParameterArgs; import com.pulumi.core.Output; import com.pulumi.core.annotations.Import; import java.lang.Integer; @@ -48,6 +50,21 @@ public Optional> method() { return Optional.ofNullable(this.method); } + /** + * Client request path to match on. + * + */ + @Import(name="path") + private @Nullable Output path; + + /** + * @return Client request path to match on. + * + */ + public Optional> path() { + return Optional.ofNullable(this.path); + } + /** * The port number to match from the request. * @@ -68,16 +85,31 @@ public Optional> port() { * This parameter must always start with /, which by itself matches all requests to the virtual router service name. * */ - @Import(name="prefix", required=true) - private Output prefix; + @Import(name="prefix") + private @Nullable Output prefix; /** * @return Value sent by the client must begin with the specified characters. Must be between 1 and 255 characters in length. * This parameter must always start with /, which by itself matches all requests to the virtual router service name. * */ - public Output prefix() { - return this.prefix; + public Optional> prefix() { + return Optional.ofNullable(this.prefix); + } + + /** + * Client request query parameters to match on. + * + */ + @Import(name="queryParameters") + private @Nullable Output> queryParameters; + + /** + * @return Client request query parameters to match on. + * + */ + public Optional>> queryParameters() { + return Optional.ofNullable(this.queryParameters); } /** @@ -100,8 +132,10 @@ private RouteSpecHttpRouteMatchArgs() {} private RouteSpecHttpRouteMatchArgs(RouteSpecHttpRouteMatchArgs $) { this.headers = $.headers; this.method = $.method; + this.path = $.path; this.port = $.port; this.prefix = $.prefix; + this.queryParameters = $.queryParameters; this.scheme = $.scheme; } @@ -175,6 +209,27 @@ public Builder method(String method) { return method(Output.of(method)); } + /** + * @param path Client request path to match on. + * + * @return builder + * + */ + public Builder path(@Nullable Output path) { + $.path = path; + return this; + } + + /** + * @param path Client request path to match on. + * + * @return builder + * + */ + public Builder path(RouteSpecHttpRouteMatchPathArgs path) { + return path(Output.of(path)); + } + /** * @param port The port number to match from the request. * @@ -203,7 +258,7 @@ public Builder port(Integer port) { * @return builder * */ - public Builder prefix(Output prefix) { + public Builder prefix(@Nullable Output prefix) { $.prefix = prefix; return this; } @@ -219,6 +274,37 @@ public Builder prefix(String prefix) { return prefix(Output.of(prefix)); } + /** + * @param queryParameters Client request query parameters to match on. + * + * @return builder + * + */ + public Builder queryParameters(@Nullable Output> queryParameters) { + $.queryParameters = queryParameters; + return this; + } + + /** + * @param queryParameters Client request query parameters to match on. + * + * @return builder + * + */ + public Builder queryParameters(List queryParameters) { + return queryParameters(Output.of(queryParameters)); + } + + /** + * @param queryParameters Client request query parameters to match on. + * + * @return builder + * + */ + public Builder queryParameters(RouteSpecHttpRouteMatchQueryParameterArgs... queryParameters) { + return queryParameters(List.of(queryParameters)); + } + /** * @param scheme Client request header scheme to match on. Valid values: `http`, `https`. * @@ -241,7 +327,6 @@ public Builder scheme(String scheme) { } public RouteSpecHttpRouteMatchArgs build() { - $.prefix = Objects.requireNonNull($.prefix, "expected parameter 'prefix' to be non-null"); return $; } } diff --git a/sdk/java/src/main/java/com/pulumi/aws/appmesh/inputs/RouteSpecHttpRouteMatchHeaderMatchArgs.java b/sdk/java/src/main/java/com/pulumi/aws/appmesh/inputs/RouteSpecHttpRouteMatchHeaderMatchArgs.java index b86e685f97a..2dcd9a235d7 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/appmesh/inputs/RouteSpecHttpRouteMatchHeaderMatchArgs.java +++ b/sdk/java/src/main/java/com/pulumi/aws/appmesh/inputs/RouteSpecHttpRouteMatchHeaderMatchArgs.java @@ -17,14 +17,14 @@ public final class RouteSpecHttpRouteMatchHeaderMatchArgs extends com.pulumi.res public static final RouteSpecHttpRouteMatchHeaderMatchArgs Empty = new RouteSpecHttpRouteMatchHeaderMatchArgs(); /** - * Value sent by the client must match the specified value exactly. Must be between 1 and 255 characters in length. + * The exact path to match on. * */ @Import(name="exact") private @Nullable Output exact; /** - * @return Value sent by the client must match the specified value exactly. Must be between 1 and 255 characters in length. + * @return The exact path to match on. * */ public Optional> exact() { @@ -64,14 +64,14 @@ public Optional> range() { } /** - * Value sent by the client must include the specified characters. Must be between 1 and 255 characters in length. + * The regex used to match the path. * */ @Import(name="regex") private @Nullable Output regex; /** - * @return Value sent by the client must include the specified characters. Must be between 1 and 255 characters in length. + * @return The regex used to match the path. * */ public Optional> regex() { @@ -122,7 +122,7 @@ public Builder(RouteSpecHttpRouteMatchHeaderMatchArgs defaults) { } /** - * @param exact Value sent by the client must match the specified value exactly. Must be between 1 and 255 characters in length. + * @param exact The exact path to match on. * * @return builder * @@ -133,7 +133,7 @@ public Builder exact(@Nullable Output exact) { } /** - * @param exact Value sent by the client must match the specified value exactly. Must be between 1 and 255 characters in length. + * @param exact The exact path to match on. * * @return builder * @@ -187,7 +187,7 @@ public Builder range(RouteSpecHttpRouteMatchHeaderMatchRangeArgs range) { } /** - * @param regex Value sent by the client must include the specified characters. Must be between 1 and 255 characters in length. + * @param regex The regex used to match the path. * * @return builder * @@ -198,7 +198,7 @@ public Builder regex(@Nullable Output regex) { } /** - * @param regex Value sent by the client must include the specified characters. Must be between 1 and 255 characters in length. + * @param regex The regex used to match the path. * * @return builder * diff --git a/sdk/java/src/main/java/com/pulumi/aws/appmesh/inputs/RouteSpecHttpRouteMatchPathArgs.java b/sdk/java/src/main/java/com/pulumi/aws/appmesh/inputs/RouteSpecHttpRouteMatchPathArgs.java new file mode 100644 index 00000000000..e8b153f3def --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/appmesh/inputs/RouteSpecHttpRouteMatchPathArgs.java @@ -0,0 +1,120 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.appmesh.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class RouteSpecHttpRouteMatchPathArgs extends com.pulumi.resources.ResourceArgs { + + public static final RouteSpecHttpRouteMatchPathArgs Empty = new RouteSpecHttpRouteMatchPathArgs(); + + /** + * Value sent by the client must match the specified value exactly. Must be between 1 and 255 characters in length. + * + */ + @Import(name="exact") + private @Nullable Output exact; + + /** + * @return Value sent by the client must match the specified value exactly. Must be between 1 and 255 characters in length. + * + */ + public Optional> exact() { + return Optional.ofNullable(this.exact); + } + + /** + * Value sent by the client must include the specified characters. Must be between 1 and 255 characters in length. + * + */ + @Import(name="regex") + private @Nullable Output regex; + + /** + * @return Value sent by the client must include the specified characters. Must be between 1 and 255 characters in length. + * + */ + public Optional> regex() { + return Optional.ofNullable(this.regex); + } + + private RouteSpecHttpRouteMatchPathArgs() {} + + private RouteSpecHttpRouteMatchPathArgs(RouteSpecHttpRouteMatchPathArgs $) { + this.exact = $.exact; + this.regex = $.regex; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(RouteSpecHttpRouteMatchPathArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private RouteSpecHttpRouteMatchPathArgs $; + + public Builder() { + $ = new RouteSpecHttpRouteMatchPathArgs(); + } + + public Builder(RouteSpecHttpRouteMatchPathArgs defaults) { + $ = new RouteSpecHttpRouteMatchPathArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param exact Value sent by the client must match the specified value exactly. Must be between 1 and 255 characters in length. + * + * @return builder + * + */ + public Builder exact(@Nullable Output exact) { + $.exact = exact; + return this; + } + + /** + * @param exact Value sent by the client must match the specified value exactly. Must be between 1 and 255 characters in length. + * + * @return builder + * + */ + public Builder exact(String exact) { + return exact(Output.of(exact)); + } + + /** + * @param regex Value sent by the client must include the specified characters. Must be between 1 and 255 characters in length. + * + * @return builder + * + */ + public Builder regex(@Nullable Output regex) { + $.regex = regex; + return this; + } + + /** + * @param regex Value sent by the client must include the specified characters. Must be between 1 and 255 characters in length. + * + * @return builder + * + */ + public Builder regex(String regex) { + return regex(Output.of(regex)); + } + + public RouteSpecHttpRouteMatchPathArgs build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/appmesh/inputs/RouteSpecHttpRouteMatchQueryParameterArgs.java b/sdk/java/src/main/java/com/pulumi/aws/appmesh/inputs/RouteSpecHttpRouteMatchQueryParameterArgs.java new file mode 100644 index 00000000000..715e0ea548a --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/appmesh/inputs/RouteSpecHttpRouteMatchQueryParameterArgs.java @@ -0,0 +1,122 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.appmesh.inputs; + +import com.pulumi.aws.appmesh.inputs.RouteSpecHttpRouteMatchQueryParameterMatchArgs; +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class RouteSpecHttpRouteMatchQueryParameterArgs extends com.pulumi.resources.ResourceArgs { + + public static final RouteSpecHttpRouteMatchQueryParameterArgs Empty = new RouteSpecHttpRouteMatchQueryParameterArgs(); + + /** + * Criteria for determining an gRPC request match. + * + */ + @Import(name="match") + private @Nullable Output match; + + /** + * @return Criteria for determining an gRPC request match. + * + */ + public Optional> match() { + return Optional.ofNullable(this.match); + } + + /** + * Name to use for the route. Must be between 1 and 255 characters in length. + * + */ + @Import(name="name", required=true) + private Output name; + + /** + * @return Name to use for the route. Must be between 1 and 255 characters in length. + * + */ + public Output name() { + return this.name; + } + + private RouteSpecHttpRouteMatchQueryParameterArgs() {} + + private RouteSpecHttpRouteMatchQueryParameterArgs(RouteSpecHttpRouteMatchQueryParameterArgs $) { + this.match = $.match; + this.name = $.name; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(RouteSpecHttpRouteMatchQueryParameterArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private RouteSpecHttpRouteMatchQueryParameterArgs $; + + public Builder() { + $ = new RouteSpecHttpRouteMatchQueryParameterArgs(); + } + + public Builder(RouteSpecHttpRouteMatchQueryParameterArgs defaults) { + $ = new RouteSpecHttpRouteMatchQueryParameterArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param match Criteria for determining an gRPC request match. + * + * @return builder + * + */ + public Builder match(@Nullable Output match) { + $.match = match; + return this; + } + + /** + * @param match Criteria for determining an gRPC request match. + * + * @return builder + * + */ + public Builder match(RouteSpecHttpRouteMatchQueryParameterMatchArgs match) { + return match(Output.of(match)); + } + + /** + * @param name Name to use for the route. Must be between 1 and 255 characters in length. + * + * @return builder + * + */ + public Builder name(Output name) { + $.name = name; + return this; + } + + /** + * @param name Name to use for the route. Must be between 1 and 255 characters in length. + * + * @return builder + * + */ + public Builder name(String name) { + return name(Output.of(name)); + } + + public RouteSpecHttpRouteMatchQueryParameterArgs build() { + $.name = Objects.requireNonNull($.name, "expected parameter 'name' to be non-null"); + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/appmesh/inputs/RouteSpecHttpRouteMatchQueryParameterMatchArgs.java b/sdk/java/src/main/java/com/pulumi/aws/appmesh/inputs/RouteSpecHttpRouteMatchQueryParameterMatchArgs.java new file mode 100644 index 00000000000..9777a62dd63 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/appmesh/inputs/RouteSpecHttpRouteMatchQueryParameterMatchArgs.java @@ -0,0 +1,83 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.appmesh.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class RouteSpecHttpRouteMatchQueryParameterMatchArgs extends com.pulumi.resources.ResourceArgs { + + public static final RouteSpecHttpRouteMatchQueryParameterMatchArgs Empty = new RouteSpecHttpRouteMatchQueryParameterMatchArgs(); + + /** + * The exact path to match on. + * + */ + @Import(name="exact") + private @Nullable Output exact; + + /** + * @return The exact path to match on. + * + */ + public Optional> exact() { + return Optional.ofNullable(this.exact); + } + + private RouteSpecHttpRouteMatchQueryParameterMatchArgs() {} + + private RouteSpecHttpRouteMatchQueryParameterMatchArgs(RouteSpecHttpRouteMatchQueryParameterMatchArgs $) { + this.exact = $.exact; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(RouteSpecHttpRouteMatchQueryParameterMatchArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private RouteSpecHttpRouteMatchQueryParameterMatchArgs $; + + public Builder() { + $ = new RouteSpecHttpRouteMatchQueryParameterMatchArgs(); + } + + public Builder(RouteSpecHttpRouteMatchQueryParameterMatchArgs defaults) { + $ = new RouteSpecHttpRouteMatchQueryParameterMatchArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param exact The exact path to match on. + * + * @return builder + * + */ + public Builder exact(@Nullable Output exact) { + $.exact = exact; + return this; + } + + /** + * @param exact The exact path to match on. + * + * @return builder + * + */ + public Builder exact(String exact) { + return exact(Output.of(exact)); + } + + public RouteSpecHttpRouteMatchQueryParameterMatchArgs build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/appmesh/inputs/VirtualNodeSpecServiceDiscoveryDnsArgs.java b/sdk/java/src/main/java/com/pulumi/aws/appmesh/inputs/VirtualNodeSpecServiceDiscoveryDnsArgs.java index 2d128497545..2be31af0ab2 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/appmesh/inputs/VirtualNodeSpecServiceDiscoveryDnsArgs.java +++ b/sdk/java/src/main/java/com/pulumi/aws/appmesh/inputs/VirtualNodeSpecServiceDiscoveryDnsArgs.java @@ -7,6 +7,8 @@ import com.pulumi.core.annotations.Import; import java.lang.String; import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; public final class VirtualNodeSpecServiceDiscoveryDnsArgs extends com.pulumi.resources.ResourceArgs { @@ -28,10 +30,42 @@ public Output hostname() { return this.hostname; } + /** + * The preferred IP version that this virtual node uses. Valid values: `IPv6_PREFERRED`, `IPv4_PREFERRED`, `IPv4_ONLY`, `IPv6_ONLY`. + * + */ + @Import(name="ipPreference") + private @Nullable Output ipPreference; + + /** + * @return The preferred IP version that this virtual node uses. Valid values: `IPv6_PREFERRED`, `IPv4_PREFERRED`, `IPv4_ONLY`, `IPv6_ONLY`. + * + */ + public Optional> ipPreference() { + return Optional.ofNullable(this.ipPreference); + } + + /** + * The DNS response type for the virtual node. Valid values: `LOADBALANCER`, `ENDPOINTS`. + * + */ + @Import(name="responseType") + private @Nullable Output responseType; + + /** + * @return The DNS response type for the virtual node. Valid values: `LOADBALANCER`, `ENDPOINTS`. + * + */ + public Optional> responseType() { + return Optional.ofNullable(this.responseType); + } + private VirtualNodeSpecServiceDiscoveryDnsArgs() {} private VirtualNodeSpecServiceDiscoveryDnsArgs(VirtualNodeSpecServiceDiscoveryDnsArgs $) { this.hostname = $.hostname; + this.ipPreference = $.ipPreference; + this.responseType = $.responseType; } public static Builder builder() { @@ -73,6 +107,48 @@ public Builder hostname(String hostname) { return hostname(Output.of(hostname)); } + /** + * @param ipPreference The preferred IP version that this virtual node uses. Valid values: `IPv6_PREFERRED`, `IPv4_PREFERRED`, `IPv4_ONLY`, `IPv6_ONLY`. + * + * @return builder + * + */ + public Builder ipPreference(@Nullable Output ipPreference) { + $.ipPreference = ipPreference; + return this; + } + + /** + * @param ipPreference The preferred IP version that this virtual node uses. Valid values: `IPv6_PREFERRED`, `IPv4_PREFERRED`, `IPv4_ONLY`, `IPv6_ONLY`. + * + * @return builder + * + */ + public Builder ipPreference(String ipPreference) { + return ipPreference(Output.of(ipPreference)); + } + + /** + * @param responseType The DNS response type for the virtual node. Valid values: `LOADBALANCER`, `ENDPOINTS`. + * + * @return builder + * + */ + public Builder responseType(@Nullable Output responseType) { + $.responseType = responseType; + return this; + } + + /** + * @param responseType The DNS response type for the virtual node. Valid values: `LOADBALANCER`, `ENDPOINTS`. + * + * @return builder + * + */ + public Builder responseType(String responseType) { + return responseType(Output.of(responseType)); + } + public VirtualNodeSpecServiceDiscoveryDnsArgs build() { $.hostname = Objects.requireNonNull($.hostname, "expected parameter 'hostname' to be non-null"); return $; diff --git a/sdk/java/src/main/java/com/pulumi/aws/appmesh/inputs/VirtualRouterSpecArgs.java b/sdk/java/src/main/java/com/pulumi/aws/appmesh/inputs/VirtualRouterSpecArgs.java index 681037b252c..492437c6e7d 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/appmesh/inputs/VirtualRouterSpecArgs.java +++ b/sdk/java/src/main/java/com/pulumi/aws/appmesh/inputs/VirtualRouterSpecArgs.java @@ -7,6 +7,8 @@ import com.pulumi.core.Output; import com.pulumi.core.annotations.Import; import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; public final class VirtualRouterSpecArgs extends com.pulumi.resources.ResourceArgs { @@ -18,16 +20,16 @@ public final class VirtualRouterSpecArgs extends com.pulumi.resources.ResourceAr * Currently only one listener is supported per virtual router. * */ - @Import(name="listener", required=true) - private Output listener; + @Import(name="listener") + private @Nullable Output listener; /** * @return Listeners that the virtual router is expected to receive inbound traffic from. * Currently only one listener is supported per virtual router. * */ - public Output listener() { - return this.listener; + public Optional> listener() { + return Optional.ofNullable(this.listener); } private VirtualRouterSpecArgs() {} @@ -61,7 +63,7 @@ public Builder(VirtualRouterSpecArgs defaults) { * @return builder * */ - public Builder listener(Output listener) { + public Builder listener(@Nullable Output listener) { $.listener = listener; return this; } @@ -78,7 +80,6 @@ public Builder listener(VirtualRouterSpecListenerArgs listener) { } public VirtualRouterSpecArgs build() { - $.listener = Objects.requireNonNull($.listener, "expected parameter 'listener' to be non-null"); return $; } } diff --git a/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GatewayRouteSpec.java b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GatewayRouteSpec.java index d1c64b1cb71..c10700a2898 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GatewayRouteSpec.java +++ b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GatewayRouteSpec.java @@ -7,6 +7,7 @@ import com.pulumi.aws.appmesh.outputs.GatewayRouteSpecHttp2Route; import com.pulumi.aws.appmesh.outputs.GatewayRouteSpecHttpRoute; import com.pulumi.core.annotations.CustomType; +import java.lang.Integer; import java.util.Objects; import java.util.Optional; import javax.annotation.Nullable; @@ -28,6 +29,11 @@ public final class GatewayRouteSpec { * */ private @Nullable GatewayRouteSpecHttpRoute httpRoute; + /** + * @return Priority for the gateway route, between `0` and `1000`. + * + */ + private @Nullable Integer priority; private GatewayRouteSpec() {} /** @@ -51,6 +57,13 @@ public Optional http2Route() { public Optional httpRoute() { return Optional.ofNullable(this.httpRoute); } + /** + * @return Priority for the gateway route, between `0` and `1000`. + * + */ + public Optional priority() { + return Optional.ofNullable(this.priority); + } public static Builder builder() { return new Builder(); @@ -64,12 +77,14 @@ public static final class Builder { private @Nullable GatewayRouteSpecGrpcRoute grpcRoute; private @Nullable GatewayRouteSpecHttp2Route http2Route; private @Nullable GatewayRouteSpecHttpRoute httpRoute; + private @Nullable Integer priority; public Builder() {} public Builder(GatewayRouteSpec defaults) { Objects.requireNonNull(defaults); this.grpcRoute = defaults.grpcRoute; this.http2Route = defaults.http2Route; this.httpRoute = defaults.httpRoute; + this.priority = defaults.priority; } @CustomType.Setter @@ -87,11 +102,17 @@ public Builder httpRoute(@Nullable GatewayRouteSpecHttpRoute httpRoute) { this.httpRoute = httpRoute; return this; } + @CustomType.Setter + public Builder priority(@Nullable Integer priority) { + this.priority = priority; + return this; + } public GatewayRouteSpec build() { final var o = new GatewayRouteSpec(); o.grpcRoute = grpcRoute; o.http2Route = http2Route; o.httpRoute = httpRoute; + o.priority = priority; return o; } } diff --git a/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GatewayRouteSpecGrpcRouteActionTarget.java b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GatewayRouteSpecGrpcRouteActionTarget.java index 9d40f4fe466..955f9b629f3 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GatewayRouteSpecGrpcRouteActionTarget.java +++ b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GatewayRouteSpecGrpcRouteActionTarget.java @@ -5,10 +5,18 @@ import com.pulumi.aws.appmesh.outputs.GatewayRouteSpecGrpcRouteActionTargetVirtualService; import com.pulumi.core.annotations.CustomType; +import java.lang.Integer; import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; @CustomType public final class GatewayRouteSpecGrpcRouteActionTarget { + /** + * @return The port number that corresponds to the target for Virtual Service provider port. This is required when the provider (router or node) of the Virtual Service has multiple listeners. + * + */ + private @Nullable Integer port; /** * @return Virtual service gateway route target. * @@ -16,6 +24,13 @@ public final class GatewayRouteSpecGrpcRouteActionTarget { private GatewayRouteSpecGrpcRouteActionTargetVirtualService virtualService; private GatewayRouteSpecGrpcRouteActionTarget() {} + /** + * @return The port number that corresponds to the target for Virtual Service provider port. This is required when the provider (router or node) of the Virtual Service has multiple listeners. + * + */ + public Optional port() { + return Optional.ofNullable(this.port); + } /** * @return Virtual service gateway route target. * @@ -33,13 +48,20 @@ public static Builder builder(GatewayRouteSpecGrpcRouteActionTarget defaults) { } @CustomType.Builder public static final class Builder { + private @Nullable Integer port; private GatewayRouteSpecGrpcRouteActionTargetVirtualService virtualService; public Builder() {} public Builder(GatewayRouteSpecGrpcRouteActionTarget defaults) { Objects.requireNonNull(defaults); + this.port = defaults.port; this.virtualService = defaults.virtualService; } + @CustomType.Setter + public Builder port(@Nullable Integer port) { + this.port = port; + return this; + } @CustomType.Setter public Builder virtualService(GatewayRouteSpecGrpcRouteActionTargetVirtualService virtualService) { this.virtualService = Objects.requireNonNull(virtualService); @@ -47,6 +69,7 @@ public Builder virtualService(GatewayRouteSpecGrpcRouteActionTargetVirtualServic } public GatewayRouteSpecGrpcRouteActionTarget build() { final var o = new GatewayRouteSpecGrpcRouteActionTarget(); + o.port = port; o.virtualService = virtualService; return o; } diff --git a/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GatewayRouteSpecGrpcRouteMatch.java b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GatewayRouteSpecGrpcRouteMatch.java index 0cf1a879e21..bc91f808ee3 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GatewayRouteSpecGrpcRouteMatch.java +++ b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GatewayRouteSpecGrpcRouteMatch.java @@ -13,7 +13,7 @@ @CustomType public final class GatewayRouteSpecGrpcRouteMatch { /** - * @return The port number to match from the request. + * @return The port number that corresponds to the target for Virtual Service provider port. This is required when the provider (router or node) of the Virtual Service has multiple listeners. * */ private @Nullable Integer port; @@ -25,7 +25,7 @@ public final class GatewayRouteSpecGrpcRouteMatch { private GatewayRouteSpecGrpcRouteMatch() {} /** - * @return The port number to match from the request. + * @return The port number that corresponds to the target for Virtual Service provider port. This is required when the provider (router or node) of the Virtual Service has multiple listeners. * */ public Optional port() { diff --git a/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GatewayRouteSpecHttp2RouteActionTarget.java b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GatewayRouteSpecHttp2RouteActionTarget.java index 537529ccd03..0cc63451629 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GatewayRouteSpecHttp2RouteActionTarget.java +++ b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GatewayRouteSpecHttp2RouteActionTarget.java @@ -5,10 +5,18 @@ import com.pulumi.aws.appmesh.outputs.GatewayRouteSpecHttp2RouteActionTargetVirtualService; import com.pulumi.core.annotations.CustomType; +import java.lang.Integer; import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; @CustomType public final class GatewayRouteSpecHttp2RouteActionTarget { + /** + * @return The port number that corresponds to the target for Virtual Service provider port. This is required when the provider (router or node) of the Virtual Service has multiple listeners. + * + */ + private @Nullable Integer port; /** * @return Virtual service gateway route target. * @@ -16,6 +24,13 @@ public final class GatewayRouteSpecHttp2RouteActionTarget { private GatewayRouteSpecHttp2RouteActionTargetVirtualService virtualService; private GatewayRouteSpecHttp2RouteActionTarget() {} + /** + * @return The port number that corresponds to the target for Virtual Service provider port. This is required when the provider (router or node) of the Virtual Service has multiple listeners. + * + */ + public Optional port() { + return Optional.ofNullable(this.port); + } /** * @return Virtual service gateway route target. * @@ -33,13 +48,20 @@ public static Builder builder(GatewayRouteSpecHttp2RouteActionTarget defaults) { } @CustomType.Builder public static final class Builder { + private @Nullable Integer port; private GatewayRouteSpecHttp2RouteActionTargetVirtualService virtualService; public Builder() {} public Builder(GatewayRouteSpecHttp2RouteActionTarget defaults) { Objects.requireNonNull(defaults); + this.port = defaults.port; this.virtualService = defaults.virtualService; } + @CustomType.Setter + public Builder port(@Nullable Integer port) { + this.port = port; + return this; + } @CustomType.Setter public Builder virtualService(GatewayRouteSpecHttp2RouteActionTargetVirtualService virtualService) { this.virtualService = Objects.requireNonNull(virtualService); @@ -47,6 +69,7 @@ public Builder virtualService(GatewayRouteSpecHttp2RouteActionTargetVirtualServi } public GatewayRouteSpecHttp2RouteActionTarget build() { final var o = new GatewayRouteSpecHttp2RouteActionTarget(); + o.port = port; o.virtualService = virtualService; return o; } diff --git a/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GatewayRouteSpecHttp2RouteMatch.java b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GatewayRouteSpecHttp2RouteMatch.java index 7231c93b4e6..74c3ea7e059 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GatewayRouteSpecHttp2RouteMatch.java +++ b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GatewayRouteSpecHttp2RouteMatch.java @@ -3,23 +3,37 @@ package com.pulumi.aws.appmesh.outputs; +import com.pulumi.aws.appmesh.outputs.GatewayRouteSpecHttp2RouteMatchHeader; import com.pulumi.aws.appmesh.outputs.GatewayRouteSpecHttp2RouteMatchHostname; +import com.pulumi.aws.appmesh.outputs.GatewayRouteSpecHttp2RouteMatchPath; +import com.pulumi.aws.appmesh.outputs.GatewayRouteSpecHttp2RouteMatchQueryParameter; import com.pulumi.core.annotations.CustomType; import java.lang.Integer; import java.lang.String; +import java.util.List; import java.util.Objects; import java.util.Optional; import javax.annotation.Nullable; @CustomType public final class GatewayRouteSpecHttp2RouteMatch { + /** + * @return Client request headers to match on. + * + */ + private @Nullable List headers; /** * @return Host name to rewrite. * */ private @Nullable GatewayRouteSpecHttp2RouteMatchHostname hostname; /** - * @return The port number to match from the request. + * @return Client request path to match on. + * + */ + private @Nullable GatewayRouteSpecHttp2RouteMatchPath path; + /** + * @return The port number that corresponds to the target for Virtual Service provider port. This is required when the provider (router or node) of the Virtual Service has multiple listeners. * */ private @Nullable Integer port; @@ -28,8 +42,20 @@ public final class GatewayRouteSpecHttp2RouteMatch { * */ private @Nullable String prefix; + /** + * @return Client request query parameters to match on. + * + */ + private @Nullable List queryParameters; private GatewayRouteSpecHttp2RouteMatch() {} + /** + * @return Client request headers to match on. + * + */ + public List headers() { + return this.headers == null ? List.of() : this.headers; + } /** * @return Host name to rewrite. * @@ -38,7 +64,14 @@ public Optional hostname() { return Optional.ofNullable(this.hostname); } /** - * @return The port number to match from the request. + * @return Client request path to match on. + * + */ + public Optional path() { + return Optional.ofNullable(this.path); + } + /** + * @return The port number that corresponds to the target for Virtual Service provider port. This is required when the provider (router or node) of the Virtual Service has multiple listeners. * */ public Optional port() { @@ -51,6 +84,13 @@ public Optional port() { public Optional prefix() { return Optional.ofNullable(this.prefix); } + /** + * @return Client request query parameters to match on. + * + */ + public List queryParameters() { + return this.queryParameters == null ? List.of() : this.queryParameters; + } public static Builder builder() { return new Builder(); @@ -61,23 +101,42 @@ public static Builder builder(GatewayRouteSpecHttp2RouteMatch defaults) { } @CustomType.Builder public static final class Builder { + private @Nullable List headers; private @Nullable GatewayRouteSpecHttp2RouteMatchHostname hostname; + private @Nullable GatewayRouteSpecHttp2RouteMatchPath path; private @Nullable Integer port; private @Nullable String prefix; + private @Nullable List queryParameters; public Builder() {} public Builder(GatewayRouteSpecHttp2RouteMatch defaults) { Objects.requireNonNull(defaults); + this.headers = defaults.headers; this.hostname = defaults.hostname; + this.path = defaults.path; this.port = defaults.port; this.prefix = defaults.prefix; + this.queryParameters = defaults.queryParameters; } + @CustomType.Setter + public Builder headers(@Nullable List headers) { + this.headers = headers; + return this; + } + public Builder headers(GatewayRouteSpecHttp2RouteMatchHeader... headers) { + return headers(List.of(headers)); + } @CustomType.Setter public Builder hostname(@Nullable GatewayRouteSpecHttp2RouteMatchHostname hostname) { this.hostname = hostname; return this; } @CustomType.Setter + public Builder path(@Nullable GatewayRouteSpecHttp2RouteMatchPath path) { + this.path = path; + return this; + } + @CustomType.Setter public Builder port(@Nullable Integer port) { this.port = port; return this; @@ -87,11 +146,22 @@ public Builder prefix(@Nullable String prefix) { this.prefix = prefix; return this; } + @CustomType.Setter + public Builder queryParameters(@Nullable List queryParameters) { + this.queryParameters = queryParameters; + return this; + } + public Builder queryParameters(GatewayRouteSpecHttp2RouteMatchQueryParameter... queryParameters) { + return queryParameters(List.of(queryParameters)); + } public GatewayRouteSpecHttp2RouteMatch build() { final var o = new GatewayRouteSpecHttp2RouteMatch(); + o.headers = headers; o.hostname = hostname; + o.path = path; o.port = port; o.prefix = prefix; + o.queryParameters = queryParameters; return o; } } diff --git a/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GatewayRouteSpecHttp2RouteMatchHeader.java b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GatewayRouteSpecHttp2RouteMatchHeader.java new file mode 100644 index 00000000000..5959e8ab365 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GatewayRouteSpecHttp2RouteMatchHeader.java @@ -0,0 +1,98 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.appmesh.outputs; + +import com.pulumi.aws.appmesh.outputs.GatewayRouteSpecHttp2RouteMatchHeaderMatch; +import com.pulumi.core.annotations.CustomType; +import java.lang.Boolean; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + +@CustomType +public final class GatewayRouteSpecHttp2RouteMatchHeader { + /** + * @return If `true`, the match is on the opposite of the `match` method and value. Default is `false`. + * + */ + private @Nullable Boolean invert; + /** + * @return Method and value to match the header value sent with a request. Specify one match method. + * + */ + private @Nullable GatewayRouteSpecHttp2RouteMatchHeaderMatch match; + /** + * @return Name for the HTTP header in the client request that will be matched on. + * + */ + private String name; + + private GatewayRouteSpecHttp2RouteMatchHeader() {} + /** + * @return If `true`, the match is on the opposite of the `match` method and value. Default is `false`. + * + */ + public Optional invert() { + return Optional.ofNullable(this.invert); + } + /** + * @return Method and value to match the header value sent with a request. Specify one match method. + * + */ + public Optional match() { + return Optional.ofNullable(this.match); + } + /** + * @return Name for the HTTP header in the client request that will be matched on. + * + */ + public String name() { + return this.name; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(GatewayRouteSpecHttp2RouteMatchHeader defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private @Nullable Boolean invert; + private @Nullable GatewayRouteSpecHttp2RouteMatchHeaderMatch match; + private String name; + public Builder() {} + public Builder(GatewayRouteSpecHttp2RouteMatchHeader defaults) { + Objects.requireNonNull(defaults); + this.invert = defaults.invert; + this.match = defaults.match; + this.name = defaults.name; + } + + @CustomType.Setter + public Builder invert(@Nullable Boolean invert) { + this.invert = invert; + return this; + } + @CustomType.Setter + public Builder match(@Nullable GatewayRouteSpecHttp2RouteMatchHeaderMatch match) { + this.match = match; + return this; + } + @CustomType.Setter + public Builder name(String name) { + this.name = Objects.requireNonNull(name); + return this; + } + public GatewayRouteSpecHttp2RouteMatchHeader build() { + final var o = new GatewayRouteSpecHttp2RouteMatchHeader(); + o.invert = invert; + o.match = match; + o.name = name; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GatewayRouteSpecHttp2RouteMatchHeaderMatch.java b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GatewayRouteSpecHttp2RouteMatchHeaderMatch.java new file mode 100644 index 00000000000..048f563af58 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GatewayRouteSpecHttp2RouteMatchHeaderMatch.java @@ -0,0 +1,137 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.appmesh.outputs; + +import com.pulumi.aws.appmesh.outputs.GatewayRouteSpecHttp2RouteMatchHeaderMatchRange; +import com.pulumi.core.annotations.CustomType; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + +@CustomType +public final class GatewayRouteSpecHttp2RouteMatchHeaderMatch { + /** + * @return Header value sent by the client must match the specified value exactly. + * + */ + private @Nullable String exact; + /** + * @return Specified beginning characters to rewrite. + * + */ + private @Nullable String prefix; + /** + * @return Object that specifies the range of numbers that the header value sent by the client must be included in. + * + */ + private @Nullable GatewayRouteSpecHttp2RouteMatchHeaderMatchRange range; + /** + * @return Header value sent by the client must include the specified characters. + * + */ + private @Nullable String regex; + /** + * @return Header value sent by the client must end with the specified characters. + * + */ + private @Nullable String suffix; + + private GatewayRouteSpecHttp2RouteMatchHeaderMatch() {} + /** + * @return Header value sent by the client must match the specified value exactly. + * + */ + public Optional exact() { + return Optional.ofNullable(this.exact); + } + /** + * @return Specified beginning characters to rewrite. + * + */ + public Optional prefix() { + return Optional.ofNullable(this.prefix); + } + /** + * @return Object that specifies the range of numbers that the header value sent by the client must be included in. + * + */ + public Optional range() { + return Optional.ofNullable(this.range); + } + /** + * @return Header value sent by the client must include the specified characters. + * + */ + public Optional regex() { + return Optional.ofNullable(this.regex); + } + /** + * @return Header value sent by the client must end with the specified characters. + * + */ + public Optional suffix() { + return Optional.ofNullable(this.suffix); + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(GatewayRouteSpecHttp2RouteMatchHeaderMatch defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private @Nullable String exact; + private @Nullable String prefix; + private @Nullable GatewayRouteSpecHttp2RouteMatchHeaderMatchRange range; + private @Nullable String regex; + private @Nullable String suffix; + public Builder() {} + public Builder(GatewayRouteSpecHttp2RouteMatchHeaderMatch defaults) { + Objects.requireNonNull(defaults); + this.exact = defaults.exact; + this.prefix = defaults.prefix; + this.range = defaults.range; + this.regex = defaults.regex; + this.suffix = defaults.suffix; + } + + @CustomType.Setter + public Builder exact(@Nullable String exact) { + this.exact = exact; + return this; + } + @CustomType.Setter + public Builder prefix(@Nullable String prefix) { + this.prefix = prefix; + return this; + } + @CustomType.Setter + public Builder range(@Nullable GatewayRouteSpecHttp2RouteMatchHeaderMatchRange range) { + this.range = range; + return this; + } + @CustomType.Setter + public Builder regex(@Nullable String regex) { + this.regex = regex; + return this; + } + @CustomType.Setter + public Builder suffix(@Nullable String suffix) { + this.suffix = suffix; + return this; + } + public GatewayRouteSpecHttp2RouteMatchHeaderMatch build() { + final var o = new GatewayRouteSpecHttp2RouteMatchHeaderMatch(); + o.exact = exact; + o.prefix = prefix; + o.range = range; + o.regex = regex; + o.suffix = suffix; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GatewayRouteSpecHttp2RouteMatchHeaderMatchRange.java b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GatewayRouteSpecHttp2RouteMatchHeaderMatchRange.java new file mode 100644 index 00000000000..5b96b496f0e --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GatewayRouteSpecHttp2RouteMatchHeaderMatchRange.java @@ -0,0 +1,74 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.appmesh.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.Integer; +import java.util.Objects; + +@CustomType +public final class GatewayRouteSpecHttp2RouteMatchHeaderMatchRange { + /** + * @return End of the range. + * + */ + private Integer end; + /** + * @return Start of the range. + * + */ + private Integer start; + + private GatewayRouteSpecHttp2RouteMatchHeaderMatchRange() {} + /** + * @return End of the range. + * + */ + public Integer end() { + return this.end; + } + /** + * @return Start of the range. + * + */ + public Integer start() { + return this.start; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(GatewayRouteSpecHttp2RouteMatchHeaderMatchRange defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private Integer end; + private Integer start; + public Builder() {} + public Builder(GatewayRouteSpecHttp2RouteMatchHeaderMatchRange defaults) { + Objects.requireNonNull(defaults); + this.end = defaults.end; + this.start = defaults.start; + } + + @CustomType.Setter + public Builder end(Integer end) { + this.end = Objects.requireNonNull(end); + return this; + } + @CustomType.Setter + public Builder start(Integer start) { + this.start = Objects.requireNonNull(start); + return this; + } + public GatewayRouteSpecHttp2RouteMatchHeaderMatchRange build() { + final var o = new GatewayRouteSpecHttp2RouteMatchHeaderMatchRange(); + o.end = end; + o.start = start; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GatewayRouteSpecHttp2RouteMatchPath.java b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GatewayRouteSpecHttp2RouteMatchPath.java new file mode 100644 index 00000000000..366ac5ca3d5 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GatewayRouteSpecHttp2RouteMatchPath.java @@ -0,0 +1,76 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.appmesh.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + +@CustomType +public final class GatewayRouteSpecHttp2RouteMatchPath { + /** + * @return The exact path to match on. + * + */ + private @Nullable String exact; + /** + * @return The regex used to match the path. + * + */ + private @Nullable String regex; + + private GatewayRouteSpecHttp2RouteMatchPath() {} + /** + * @return The exact path to match on. + * + */ + public Optional exact() { + return Optional.ofNullable(this.exact); + } + /** + * @return The regex used to match the path. + * + */ + public Optional regex() { + return Optional.ofNullable(this.regex); + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(GatewayRouteSpecHttp2RouteMatchPath defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private @Nullable String exact; + private @Nullable String regex; + public Builder() {} + public Builder(GatewayRouteSpecHttp2RouteMatchPath defaults) { + Objects.requireNonNull(defaults); + this.exact = defaults.exact; + this.regex = defaults.regex; + } + + @CustomType.Setter + public Builder exact(@Nullable String exact) { + this.exact = exact; + return this; + } + @CustomType.Setter + public Builder regex(@Nullable String regex) { + this.regex = regex; + return this; + } + public GatewayRouteSpecHttp2RouteMatchPath build() { + final var o = new GatewayRouteSpecHttp2RouteMatchPath(); + o.exact = exact; + o.regex = regex; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GatewayRouteSpecHttp2RouteMatchQueryParameter.java b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GatewayRouteSpecHttp2RouteMatchQueryParameter.java new file mode 100644 index 00000000000..bb9ff36abe8 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GatewayRouteSpecHttp2RouteMatchQueryParameter.java @@ -0,0 +1,77 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.appmesh.outputs; + +import com.pulumi.aws.appmesh.outputs.GatewayRouteSpecHttp2RouteMatchQueryParameterMatch; +import com.pulumi.core.annotations.CustomType; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + +@CustomType +public final class GatewayRouteSpecHttp2RouteMatchQueryParameter { + /** + * @return The query parameter to match on. + * + */ + private @Nullable GatewayRouteSpecHttp2RouteMatchQueryParameterMatch match; + /** + * @return Name for the query parameter that will be matched on. + * + */ + private String name; + + private GatewayRouteSpecHttp2RouteMatchQueryParameter() {} + /** + * @return The query parameter to match on. + * + */ + public Optional match() { + return Optional.ofNullable(this.match); + } + /** + * @return Name for the query parameter that will be matched on. + * + */ + public String name() { + return this.name; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(GatewayRouteSpecHttp2RouteMatchQueryParameter defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private @Nullable GatewayRouteSpecHttp2RouteMatchQueryParameterMatch match; + private String name; + public Builder() {} + public Builder(GatewayRouteSpecHttp2RouteMatchQueryParameter defaults) { + Objects.requireNonNull(defaults); + this.match = defaults.match; + this.name = defaults.name; + } + + @CustomType.Setter + public Builder match(@Nullable GatewayRouteSpecHttp2RouteMatchQueryParameterMatch match) { + this.match = match; + return this; + } + @CustomType.Setter + public Builder name(String name) { + this.name = Objects.requireNonNull(name); + return this; + } + public GatewayRouteSpecHttp2RouteMatchQueryParameter build() { + final var o = new GatewayRouteSpecHttp2RouteMatchQueryParameter(); + o.match = match; + o.name = name; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GatewayRouteSpecHttp2RouteMatchQueryParameterMatch.java b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GatewayRouteSpecHttp2RouteMatchQueryParameterMatch.java new file mode 100644 index 00000000000..4dec7b7b77f --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GatewayRouteSpecHttp2RouteMatchQueryParameterMatch.java @@ -0,0 +1,56 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.appmesh.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + +@CustomType +public final class GatewayRouteSpecHttp2RouteMatchQueryParameterMatch { + /** + * @return Header value sent by the client must match the specified value exactly. + * + */ + private @Nullable String exact; + + private GatewayRouteSpecHttp2RouteMatchQueryParameterMatch() {} + /** + * @return Header value sent by the client must match the specified value exactly. + * + */ + public Optional exact() { + return Optional.ofNullable(this.exact); + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(GatewayRouteSpecHttp2RouteMatchQueryParameterMatch defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private @Nullable String exact; + public Builder() {} + public Builder(GatewayRouteSpecHttp2RouteMatchQueryParameterMatch defaults) { + Objects.requireNonNull(defaults); + this.exact = defaults.exact; + } + + @CustomType.Setter + public Builder exact(@Nullable String exact) { + this.exact = exact; + return this; + } + public GatewayRouteSpecHttp2RouteMatchQueryParameterMatch build() { + final var o = new GatewayRouteSpecHttp2RouteMatchQueryParameterMatch(); + o.exact = exact; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GatewayRouteSpecHttpRouteActionTarget.java b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GatewayRouteSpecHttpRouteActionTarget.java index fbe2edc3f7b..5ac0ef163b8 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GatewayRouteSpecHttpRouteActionTarget.java +++ b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GatewayRouteSpecHttpRouteActionTarget.java @@ -5,10 +5,18 @@ import com.pulumi.aws.appmesh.outputs.GatewayRouteSpecHttpRouteActionTargetVirtualService; import com.pulumi.core.annotations.CustomType; +import java.lang.Integer; import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; @CustomType public final class GatewayRouteSpecHttpRouteActionTarget { + /** + * @return The port number that corresponds to the target for Virtual Service provider port. This is required when the provider (router or node) of the Virtual Service has multiple listeners. + * + */ + private @Nullable Integer port; /** * @return Virtual service gateway route target. * @@ -16,6 +24,13 @@ public final class GatewayRouteSpecHttpRouteActionTarget { private GatewayRouteSpecHttpRouteActionTargetVirtualService virtualService; private GatewayRouteSpecHttpRouteActionTarget() {} + /** + * @return The port number that corresponds to the target for Virtual Service provider port. This is required when the provider (router or node) of the Virtual Service has multiple listeners. + * + */ + public Optional port() { + return Optional.ofNullable(this.port); + } /** * @return Virtual service gateway route target. * @@ -33,13 +48,20 @@ public static Builder builder(GatewayRouteSpecHttpRouteActionTarget defaults) { } @CustomType.Builder public static final class Builder { + private @Nullable Integer port; private GatewayRouteSpecHttpRouteActionTargetVirtualService virtualService; public Builder() {} public Builder(GatewayRouteSpecHttpRouteActionTarget defaults) { Objects.requireNonNull(defaults); + this.port = defaults.port; this.virtualService = defaults.virtualService; } + @CustomType.Setter + public Builder port(@Nullable Integer port) { + this.port = port; + return this; + } @CustomType.Setter public Builder virtualService(GatewayRouteSpecHttpRouteActionTargetVirtualService virtualService) { this.virtualService = Objects.requireNonNull(virtualService); @@ -47,6 +69,7 @@ public Builder virtualService(GatewayRouteSpecHttpRouteActionTargetVirtualServic } public GatewayRouteSpecHttpRouteActionTarget build() { final var o = new GatewayRouteSpecHttpRouteActionTarget(); + o.port = port; o.virtualService = virtualService; return o; } diff --git a/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GatewayRouteSpecHttpRouteMatch.java b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GatewayRouteSpecHttpRouteMatch.java index 8156cb11650..ca843d0832d 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GatewayRouteSpecHttpRouteMatch.java +++ b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GatewayRouteSpecHttpRouteMatch.java @@ -3,23 +3,37 @@ package com.pulumi.aws.appmesh.outputs; +import com.pulumi.aws.appmesh.outputs.GatewayRouteSpecHttpRouteMatchHeader; import com.pulumi.aws.appmesh.outputs.GatewayRouteSpecHttpRouteMatchHostname; +import com.pulumi.aws.appmesh.outputs.GatewayRouteSpecHttpRouteMatchPath; +import com.pulumi.aws.appmesh.outputs.GatewayRouteSpecHttpRouteMatchQueryParameter; import com.pulumi.core.annotations.CustomType; import java.lang.Integer; import java.lang.String; +import java.util.List; import java.util.Objects; import java.util.Optional; import javax.annotation.Nullable; @CustomType public final class GatewayRouteSpecHttpRouteMatch { + /** + * @return Client request headers to match on. + * + */ + private @Nullable List headers; /** * @return Host name to rewrite. * */ private @Nullable GatewayRouteSpecHttpRouteMatchHostname hostname; /** - * @return The port number to match from the request. + * @return Client request path to match on. + * + */ + private @Nullable GatewayRouteSpecHttpRouteMatchPath path; + /** + * @return The port number that corresponds to the target for Virtual Service provider port. This is required when the provider (router or node) of the Virtual Service has multiple listeners. * */ private @Nullable Integer port; @@ -28,8 +42,20 @@ public final class GatewayRouteSpecHttpRouteMatch { * */ private @Nullable String prefix; + /** + * @return Client request query parameters to match on. + * + */ + private @Nullable List queryParameters; private GatewayRouteSpecHttpRouteMatch() {} + /** + * @return Client request headers to match on. + * + */ + public List headers() { + return this.headers == null ? List.of() : this.headers; + } /** * @return Host name to rewrite. * @@ -38,7 +64,14 @@ public Optional hostname() { return Optional.ofNullable(this.hostname); } /** - * @return The port number to match from the request. + * @return Client request path to match on. + * + */ + public Optional path() { + return Optional.ofNullable(this.path); + } + /** + * @return The port number that corresponds to the target for Virtual Service provider port. This is required when the provider (router or node) of the Virtual Service has multiple listeners. * */ public Optional port() { @@ -51,6 +84,13 @@ public Optional port() { public Optional prefix() { return Optional.ofNullable(this.prefix); } + /** + * @return Client request query parameters to match on. + * + */ + public List queryParameters() { + return this.queryParameters == null ? List.of() : this.queryParameters; + } public static Builder builder() { return new Builder(); @@ -61,23 +101,42 @@ public static Builder builder(GatewayRouteSpecHttpRouteMatch defaults) { } @CustomType.Builder public static final class Builder { + private @Nullable List headers; private @Nullable GatewayRouteSpecHttpRouteMatchHostname hostname; + private @Nullable GatewayRouteSpecHttpRouteMatchPath path; private @Nullable Integer port; private @Nullable String prefix; + private @Nullable List queryParameters; public Builder() {} public Builder(GatewayRouteSpecHttpRouteMatch defaults) { Objects.requireNonNull(defaults); + this.headers = defaults.headers; this.hostname = defaults.hostname; + this.path = defaults.path; this.port = defaults.port; this.prefix = defaults.prefix; + this.queryParameters = defaults.queryParameters; } + @CustomType.Setter + public Builder headers(@Nullable List headers) { + this.headers = headers; + return this; + } + public Builder headers(GatewayRouteSpecHttpRouteMatchHeader... headers) { + return headers(List.of(headers)); + } @CustomType.Setter public Builder hostname(@Nullable GatewayRouteSpecHttpRouteMatchHostname hostname) { this.hostname = hostname; return this; } @CustomType.Setter + public Builder path(@Nullable GatewayRouteSpecHttpRouteMatchPath path) { + this.path = path; + return this; + } + @CustomType.Setter public Builder port(@Nullable Integer port) { this.port = port; return this; @@ -87,11 +146,22 @@ public Builder prefix(@Nullable String prefix) { this.prefix = prefix; return this; } + @CustomType.Setter + public Builder queryParameters(@Nullable List queryParameters) { + this.queryParameters = queryParameters; + return this; + } + public Builder queryParameters(GatewayRouteSpecHttpRouteMatchQueryParameter... queryParameters) { + return queryParameters(List.of(queryParameters)); + } public GatewayRouteSpecHttpRouteMatch build() { final var o = new GatewayRouteSpecHttpRouteMatch(); + o.headers = headers; o.hostname = hostname; + o.path = path; o.port = port; o.prefix = prefix; + o.queryParameters = queryParameters; return o; } } diff --git a/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GatewayRouteSpecHttpRouteMatchHeader.java b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GatewayRouteSpecHttpRouteMatchHeader.java new file mode 100644 index 00000000000..a679b243cb3 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GatewayRouteSpecHttpRouteMatchHeader.java @@ -0,0 +1,98 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.appmesh.outputs; + +import com.pulumi.aws.appmesh.outputs.GatewayRouteSpecHttpRouteMatchHeaderMatch; +import com.pulumi.core.annotations.CustomType; +import java.lang.Boolean; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + +@CustomType +public final class GatewayRouteSpecHttpRouteMatchHeader { + /** + * @return If `true`, the match is on the opposite of the `match` method and value. Default is `false`. + * + */ + private @Nullable Boolean invert; + /** + * @return Method and value to match the header value sent with a request. Specify one match method. + * + */ + private @Nullable GatewayRouteSpecHttpRouteMatchHeaderMatch match; + /** + * @return Name for the HTTP header in the client request that will be matched on. + * + */ + private String name; + + private GatewayRouteSpecHttpRouteMatchHeader() {} + /** + * @return If `true`, the match is on the opposite of the `match` method and value. Default is `false`. + * + */ + public Optional invert() { + return Optional.ofNullable(this.invert); + } + /** + * @return Method and value to match the header value sent with a request. Specify one match method. + * + */ + public Optional match() { + return Optional.ofNullable(this.match); + } + /** + * @return Name for the HTTP header in the client request that will be matched on. + * + */ + public String name() { + return this.name; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(GatewayRouteSpecHttpRouteMatchHeader defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private @Nullable Boolean invert; + private @Nullable GatewayRouteSpecHttpRouteMatchHeaderMatch match; + private String name; + public Builder() {} + public Builder(GatewayRouteSpecHttpRouteMatchHeader defaults) { + Objects.requireNonNull(defaults); + this.invert = defaults.invert; + this.match = defaults.match; + this.name = defaults.name; + } + + @CustomType.Setter + public Builder invert(@Nullable Boolean invert) { + this.invert = invert; + return this; + } + @CustomType.Setter + public Builder match(@Nullable GatewayRouteSpecHttpRouteMatchHeaderMatch match) { + this.match = match; + return this; + } + @CustomType.Setter + public Builder name(String name) { + this.name = Objects.requireNonNull(name); + return this; + } + public GatewayRouteSpecHttpRouteMatchHeader build() { + final var o = new GatewayRouteSpecHttpRouteMatchHeader(); + o.invert = invert; + o.match = match; + o.name = name; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GatewayRouteSpecHttpRouteMatchHeaderMatch.java b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GatewayRouteSpecHttpRouteMatchHeaderMatch.java new file mode 100644 index 00000000000..cece6a80138 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GatewayRouteSpecHttpRouteMatchHeaderMatch.java @@ -0,0 +1,137 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.appmesh.outputs; + +import com.pulumi.aws.appmesh.outputs.GatewayRouteSpecHttpRouteMatchHeaderMatchRange; +import com.pulumi.core.annotations.CustomType; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + +@CustomType +public final class GatewayRouteSpecHttpRouteMatchHeaderMatch { + /** + * @return Header value sent by the client must match the specified value exactly. + * + */ + private @Nullable String exact; + /** + * @return Specified beginning characters to rewrite. + * + */ + private @Nullable String prefix; + /** + * @return Object that specifies the range of numbers that the header value sent by the client must be included in. + * + */ + private @Nullable GatewayRouteSpecHttpRouteMatchHeaderMatchRange range; + /** + * @return Header value sent by the client must include the specified characters. + * + */ + private @Nullable String regex; + /** + * @return Header value sent by the client must end with the specified characters. + * + */ + private @Nullable String suffix; + + private GatewayRouteSpecHttpRouteMatchHeaderMatch() {} + /** + * @return Header value sent by the client must match the specified value exactly. + * + */ + public Optional exact() { + return Optional.ofNullable(this.exact); + } + /** + * @return Specified beginning characters to rewrite. + * + */ + public Optional prefix() { + return Optional.ofNullable(this.prefix); + } + /** + * @return Object that specifies the range of numbers that the header value sent by the client must be included in. + * + */ + public Optional range() { + return Optional.ofNullable(this.range); + } + /** + * @return Header value sent by the client must include the specified characters. + * + */ + public Optional regex() { + return Optional.ofNullable(this.regex); + } + /** + * @return Header value sent by the client must end with the specified characters. + * + */ + public Optional suffix() { + return Optional.ofNullable(this.suffix); + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(GatewayRouteSpecHttpRouteMatchHeaderMatch defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private @Nullable String exact; + private @Nullable String prefix; + private @Nullable GatewayRouteSpecHttpRouteMatchHeaderMatchRange range; + private @Nullable String regex; + private @Nullable String suffix; + public Builder() {} + public Builder(GatewayRouteSpecHttpRouteMatchHeaderMatch defaults) { + Objects.requireNonNull(defaults); + this.exact = defaults.exact; + this.prefix = defaults.prefix; + this.range = defaults.range; + this.regex = defaults.regex; + this.suffix = defaults.suffix; + } + + @CustomType.Setter + public Builder exact(@Nullable String exact) { + this.exact = exact; + return this; + } + @CustomType.Setter + public Builder prefix(@Nullable String prefix) { + this.prefix = prefix; + return this; + } + @CustomType.Setter + public Builder range(@Nullable GatewayRouteSpecHttpRouteMatchHeaderMatchRange range) { + this.range = range; + return this; + } + @CustomType.Setter + public Builder regex(@Nullable String regex) { + this.regex = regex; + return this; + } + @CustomType.Setter + public Builder suffix(@Nullable String suffix) { + this.suffix = suffix; + return this; + } + public GatewayRouteSpecHttpRouteMatchHeaderMatch build() { + final var o = new GatewayRouteSpecHttpRouteMatchHeaderMatch(); + o.exact = exact; + o.prefix = prefix; + o.range = range; + o.regex = regex; + o.suffix = suffix; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GatewayRouteSpecHttpRouteMatchHeaderMatchRange.java b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GatewayRouteSpecHttpRouteMatchHeaderMatchRange.java new file mode 100644 index 00000000000..ea9db7cb95c --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GatewayRouteSpecHttpRouteMatchHeaderMatchRange.java @@ -0,0 +1,74 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.appmesh.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.Integer; +import java.util.Objects; + +@CustomType +public final class GatewayRouteSpecHttpRouteMatchHeaderMatchRange { + /** + * @return End of the range. + * + */ + private Integer end; + /** + * @return Start of the range. + * + */ + private Integer start; + + private GatewayRouteSpecHttpRouteMatchHeaderMatchRange() {} + /** + * @return End of the range. + * + */ + public Integer end() { + return this.end; + } + /** + * @return Start of the range. + * + */ + public Integer start() { + return this.start; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(GatewayRouteSpecHttpRouteMatchHeaderMatchRange defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private Integer end; + private Integer start; + public Builder() {} + public Builder(GatewayRouteSpecHttpRouteMatchHeaderMatchRange defaults) { + Objects.requireNonNull(defaults); + this.end = defaults.end; + this.start = defaults.start; + } + + @CustomType.Setter + public Builder end(Integer end) { + this.end = Objects.requireNonNull(end); + return this; + } + @CustomType.Setter + public Builder start(Integer start) { + this.start = Objects.requireNonNull(start); + return this; + } + public GatewayRouteSpecHttpRouteMatchHeaderMatchRange build() { + final var o = new GatewayRouteSpecHttpRouteMatchHeaderMatchRange(); + o.end = end; + o.start = start; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GatewayRouteSpecHttpRouteMatchPath.java b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GatewayRouteSpecHttpRouteMatchPath.java new file mode 100644 index 00000000000..b0d94f5dea6 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GatewayRouteSpecHttpRouteMatchPath.java @@ -0,0 +1,76 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.appmesh.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + +@CustomType +public final class GatewayRouteSpecHttpRouteMatchPath { + /** + * @return The exact path to match on. + * + */ + private @Nullable String exact; + /** + * @return The regex used to match the path. + * + */ + private @Nullable String regex; + + private GatewayRouteSpecHttpRouteMatchPath() {} + /** + * @return The exact path to match on. + * + */ + public Optional exact() { + return Optional.ofNullable(this.exact); + } + /** + * @return The regex used to match the path. + * + */ + public Optional regex() { + return Optional.ofNullable(this.regex); + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(GatewayRouteSpecHttpRouteMatchPath defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private @Nullable String exact; + private @Nullable String regex; + public Builder() {} + public Builder(GatewayRouteSpecHttpRouteMatchPath defaults) { + Objects.requireNonNull(defaults); + this.exact = defaults.exact; + this.regex = defaults.regex; + } + + @CustomType.Setter + public Builder exact(@Nullable String exact) { + this.exact = exact; + return this; + } + @CustomType.Setter + public Builder regex(@Nullable String regex) { + this.regex = regex; + return this; + } + public GatewayRouteSpecHttpRouteMatchPath build() { + final var o = new GatewayRouteSpecHttpRouteMatchPath(); + o.exact = exact; + o.regex = regex; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GatewayRouteSpecHttpRouteMatchQueryParameter.java b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GatewayRouteSpecHttpRouteMatchQueryParameter.java new file mode 100644 index 00000000000..dd7cd8f327d --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GatewayRouteSpecHttpRouteMatchQueryParameter.java @@ -0,0 +1,77 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.appmesh.outputs; + +import com.pulumi.aws.appmesh.outputs.GatewayRouteSpecHttpRouteMatchQueryParameterMatch; +import com.pulumi.core.annotations.CustomType; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + +@CustomType +public final class GatewayRouteSpecHttpRouteMatchQueryParameter { + /** + * @return The query parameter to match on. + * + */ + private @Nullable GatewayRouteSpecHttpRouteMatchQueryParameterMatch match; + /** + * @return Name for the query parameter that will be matched on. + * + */ + private String name; + + private GatewayRouteSpecHttpRouteMatchQueryParameter() {} + /** + * @return The query parameter to match on. + * + */ + public Optional match() { + return Optional.ofNullable(this.match); + } + /** + * @return Name for the query parameter that will be matched on. + * + */ + public String name() { + return this.name; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(GatewayRouteSpecHttpRouteMatchQueryParameter defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private @Nullable GatewayRouteSpecHttpRouteMatchQueryParameterMatch match; + private String name; + public Builder() {} + public Builder(GatewayRouteSpecHttpRouteMatchQueryParameter defaults) { + Objects.requireNonNull(defaults); + this.match = defaults.match; + this.name = defaults.name; + } + + @CustomType.Setter + public Builder match(@Nullable GatewayRouteSpecHttpRouteMatchQueryParameterMatch match) { + this.match = match; + return this; + } + @CustomType.Setter + public Builder name(String name) { + this.name = Objects.requireNonNull(name); + return this; + } + public GatewayRouteSpecHttpRouteMatchQueryParameter build() { + final var o = new GatewayRouteSpecHttpRouteMatchQueryParameter(); + o.match = match; + o.name = name; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GatewayRouteSpecHttpRouteMatchQueryParameterMatch.java b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GatewayRouteSpecHttpRouteMatchQueryParameterMatch.java new file mode 100644 index 00000000000..aeae6f56981 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GatewayRouteSpecHttpRouteMatchQueryParameterMatch.java @@ -0,0 +1,56 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.appmesh.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + +@CustomType +public final class GatewayRouteSpecHttpRouteMatchQueryParameterMatch { + /** + * @return Header value sent by the client must match the specified value exactly. + * + */ + private @Nullable String exact; + + private GatewayRouteSpecHttpRouteMatchQueryParameterMatch() {} + /** + * @return Header value sent by the client must match the specified value exactly. + * + */ + public Optional exact() { + return Optional.ofNullable(this.exact); + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(GatewayRouteSpecHttpRouteMatchQueryParameterMatch defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private @Nullable String exact; + public Builder() {} + public Builder(GatewayRouteSpecHttpRouteMatchQueryParameterMatch defaults) { + Objects.requireNonNull(defaults); + this.exact = defaults.exact; + } + + @CustomType.Setter + public Builder exact(@Nullable String exact) { + this.exact = exact; + return this; + } + public GatewayRouteSpecHttpRouteMatchQueryParameterMatch build() { + final var o = new GatewayRouteSpecHttpRouteMatchQueryParameterMatch(); + o.exact = exact; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetGatewayRouteResult.java b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetGatewayRouteResult.java new file mode 100644 index 00000000000..53604b42603 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetGatewayRouteResult.java @@ -0,0 +1,228 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.appmesh.outputs; + +import com.pulumi.aws.appmesh.outputs.GetGatewayRouteSpec; +import com.pulumi.core.annotations.CustomType; +import java.lang.String; +import java.util.List; +import java.util.Map; +import java.util.Objects; + +@CustomType +public final class GetGatewayRouteResult { + /** + * @return ARN of the gateway route. + * + */ + private String arn; + /** + * @return Creation date of the gateway route. + * + */ + private String createdDate; + /** + * @return The provider-assigned unique ID for this managed resource. + * + */ + private String id; + /** + * @return Last update date of the gateway route. + * + */ + private String lastUpdatedDate; + private String meshName; + private String meshOwner; + private String name; + /** + * @return Resource owner's AWS account ID. + * + */ + private String resourceOwner; + /** + * @return Gateway route specification. See the `aws.appmesh.GatewayRoute` resource for details. + * + */ + private List specs; + /** + * @return Map of tags. + * + */ + private Map tags; + private String virtualGatewayName; + + private GetGatewayRouteResult() {} + /** + * @return ARN of the gateway route. + * + */ + public String arn() { + return this.arn; + } + /** + * @return Creation date of the gateway route. + * + */ + public String createdDate() { + return this.createdDate; + } + /** + * @return The provider-assigned unique ID for this managed resource. + * + */ + public String id() { + return this.id; + } + /** + * @return Last update date of the gateway route. + * + */ + public String lastUpdatedDate() { + return this.lastUpdatedDate; + } + public String meshName() { + return this.meshName; + } + public String meshOwner() { + return this.meshOwner; + } + public String name() { + return this.name; + } + /** + * @return Resource owner's AWS account ID. + * + */ + public String resourceOwner() { + return this.resourceOwner; + } + /** + * @return Gateway route specification. See the `aws.appmesh.GatewayRoute` resource for details. + * + */ + public List specs() { + return this.specs; + } + /** + * @return Map of tags. + * + */ + public Map tags() { + return this.tags; + } + public String virtualGatewayName() { + return this.virtualGatewayName; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(GetGatewayRouteResult defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private String arn; + private String createdDate; + private String id; + private String lastUpdatedDate; + private String meshName; + private String meshOwner; + private String name; + private String resourceOwner; + private List specs; + private Map tags; + private String virtualGatewayName; + public Builder() {} + public Builder(GetGatewayRouteResult defaults) { + Objects.requireNonNull(defaults); + this.arn = defaults.arn; + this.createdDate = defaults.createdDate; + this.id = defaults.id; + this.lastUpdatedDate = defaults.lastUpdatedDate; + this.meshName = defaults.meshName; + this.meshOwner = defaults.meshOwner; + this.name = defaults.name; + this.resourceOwner = defaults.resourceOwner; + this.specs = defaults.specs; + this.tags = defaults.tags; + this.virtualGatewayName = defaults.virtualGatewayName; + } + + @CustomType.Setter + public Builder arn(String arn) { + this.arn = Objects.requireNonNull(arn); + return this; + } + @CustomType.Setter + public Builder createdDate(String createdDate) { + this.createdDate = Objects.requireNonNull(createdDate); + return this; + } + @CustomType.Setter + public Builder id(String id) { + this.id = Objects.requireNonNull(id); + return this; + } + @CustomType.Setter + public Builder lastUpdatedDate(String lastUpdatedDate) { + this.lastUpdatedDate = Objects.requireNonNull(lastUpdatedDate); + return this; + } + @CustomType.Setter + public Builder meshName(String meshName) { + this.meshName = Objects.requireNonNull(meshName); + return this; + } + @CustomType.Setter + public Builder meshOwner(String meshOwner) { + this.meshOwner = Objects.requireNonNull(meshOwner); + return this; + } + @CustomType.Setter + public Builder name(String name) { + this.name = Objects.requireNonNull(name); + return this; + } + @CustomType.Setter + public Builder resourceOwner(String resourceOwner) { + this.resourceOwner = Objects.requireNonNull(resourceOwner); + return this; + } + @CustomType.Setter + public Builder specs(List specs) { + this.specs = Objects.requireNonNull(specs); + return this; + } + public Builder specs(GetGatewayRouteSpec... specs) { + return specs(List.of(specs)); + } + @CustomType.Setter + public Builder tags(Map tags) { + this.tags = Objects.requireNonNull(tags); + return this; + } + @CustomType.Setter + public Builder virtualGatewayName(String virtualGatewayName) { + this.virtualGatewayName = Objects.requireNonNull(virtualGatewayName); + return this; + } + public GetGatewayRouteResult build() { + final var o = new GetGatewayRouteResult(); + o.arn = arn; + o.createdDate = createdDate; + o.id = id; + o.lastUpdatedDate = lastUpdatedDate; + o.meshName = meshName; + o.meshOwner = meshOwner; + o.name = name; + o.resourceOwner = resourceOwner; + o.specs = specs; + o.tags = tags; + o.virtualGatewayName = virtualGatewayName; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetGatewayRouteSpec.java b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetGatewayRouteSpec.java new file mode 100644 index 00000000000..756e027f86c --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetGatewayRouteSpec.java @@ -0,0 +1,95 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.appmesh.outputs; + +import com.pulumi.aws.appmesh.outputs.GetGatewayRouteSpecGrpcRoute; +import com.pulumi.aws.appmesh.outputs.GetGatewayRouteSpecHttp2Route; +import com.pulumi.aws.appmesh.outputs.GetGatewayRouteSpecHttpRoute; +import com.pulumi.core.annotations.CustomType; +import java.lang.Integer; +import java.util.List; +import java.util.Objects; + +@CustomType +public final class GetGatewayRouteSpec { + private List grpcRoutes; + private List http2Routes; + private List httpRoutes; + private Integer priority; + + private GetGatewayRouteSpec() {} + public List grpcRoutes() { + return this.grpcRoutes; + } + public List http2Routes() { + return this.http2Routes; + } + public List httpRoutes() { + return this.httpRoutes; + } + public Integer priority() { + return this.priority; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(GetGatewayRouteSpec defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private List grpcRoutes; + private List http2Routes; + private List httpRoutes; + private Integer priority; + public Builder() {} + public Builder(GetGatewayRouteSpec defaults) { + Objects.requireNonNull(defaults); + this.grpcRoutes = defaults.grpcRoutes; + this.http2Routes = defaults.http2Routes; + this.httpRoutes = defaults.httpRoutes; + this.priority = defaults.priority; + } + + @CustomType.Setter + public Builder grpcRoutes(List grpcRoutes) { + this.grpcRoutes = Objects.requireNonNull(grpcRoutes); + return this; + } + public Builder grpcRoutes(GetGatewayRouteSpecGrpcRoute... grpcRoutes) { + return grpcRoutes(List.of(grpcRoutes)); + } + @CustomType.Setter + public Builder http2Routes(List http2Routes) { + this.http2Routes = Objects.requireNonNull(http2Routes); + return this; + } + public Builder http2Routes(GetGatewayRouteSpecHttp2Route... http2Routes) { + return http2Routes(List.of(http2Routes)); + } + @CustomType.Setter + public Builder httpRoutes(List httpRoutes) { + this.httpRoutes = Objects.requireNonNull(httpRoutes); + return this; + } + public Builder httpRoutes(GetGatewayRouteSpecHttpRoute... httpRoutes) { + return httpRoutes(List.of(httpRoutes)); + } + @CustomType.Setter + public Builder priority(Integer priority) { + this.priority = Objects.requireNonNull(priority); + return this; + } + public GetGatewayRouteSpec build() { + final var o = new GetGatewayRouteSpec(); + o.grpcRoutes = grpcRoutes; + o.http2Routes = http2Routes; + o.httpRoutes = httpRoutes; + o.priority = priority; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetGatewayRouteSpecGrpcRoute.java b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetGatewayRouteSpecGrpcRoute.java new file mode 100644 index 00000000000..658b24e349e --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetGatewayRouteSpecGrpcRoute.java @@ -0,0 +1,66 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.appmesh.outputs; + +import com.pulumi.aws.appmesh.outputs.GetGatewayRouteSpecGrpcRouteAction; +import com.pulumi.aws.appmesh.outputs.GetGatewayRouteSpecGrpcRouteMatch; +import com.pulumi.core.annotations.CustomType; +import java.util.List; +import java.util.Objects; + +@CustomType +public final class GetGatewayRouteSpecGrpcRoute { + private List actions; + private List matches; + + private GetGatewayRouteSpecGrpcRoute() {} + public List actions() { + return this.actions; + } + public List matches() { + return this.matches; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(GetGatewayRouteSpecGrpcRoute defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private List actions; + private List matches; + public Builder() {} + public Builder(GetGatewayRouteSpecGrpcRoute defaults) { + Objects.requireNonNull(defaults); + this.actions = defaults.actions; + this.matches = defaults.matches; + } + + @CustomType.Setter + public Builder actions(List actions) { + this.actions = Objects.requireNonNull(actions); + return this; + } + public Builder actions(GetGatewayRouteSpecGrpcRouteAction... actions) { + return actions(List.of(actions)); + } + @CustomType.Setter + public Builder matches(List matches) { + this.matches = Objects.requireNonNull(matches); + return this; + } + public Builder matches(GetGatewayRouteSpecGrpcRouteMatch... matches) { + return matches(List.of(matches)); + } + public GetGatewayRouteSpecGrpcRoute build() { + final var o = new GetGatewayRouteSpecGrpcRoute(); + o.actions = actions; + o.matches = matches; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetGatewayRouteSpecGrpcRouteAction.java b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetGatewayRouteSpecGrpcRouteAction.java new file mode 100644 index 00000000000..6a7f13dc25b --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetGatewayRouteSpecGrpcRouteAction.java @@ -0,0 +1,50 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.appmesh.outputs; + +import com.pulumi.aws.appmesh.outputs.GetGatewayRouteSpecGrpcRouteActionTarget; +import com.pulumi.core.annotations.CustomType; +import java.util.List; +import java.util.Objects; + +@CustomType +public final class GetGatewayRouteSpecGrpcRouteAction { + private List targets; + + private GetGatewayRouteSpecGrpcRouteAction() {} + public List targets() { + return this.targets; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(GetGatewayRouteSpecGrpcRouteAction defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private List targets; + public Builder() {} + public Builder(GetGatewayRouteSpecGrpcRouteAction defaults) { + Objects.requireNonNull(defaults); + this.targets = defaults.targets; + } + + @CustomType.Setter + public Builder targets(List targets) { + this.targets = Objects.requireNonNull(targets); + return this; + } + public Builder targets(GetGatewayRouteSpecGrpcRouteActionTarget... targets) { + return targets(List.of(targets)); + } + public GetGatewayRouteSpecGrpcRouteAction build() { + final var o = new GetGatewayRouteSpecGrpcRouteAction(); + o.targets = targets; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetGatewayRouteSpecGrpcRouteActionTarget.java b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetGatewayRouteSpecGrpcRouteActionTarget.java new file mode 100644 index 00000000000..e3177c9451b --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetGatewayRouteSpecGrpcRouteActionTarget.java @@ -0,0 +1,63 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.appmesh.outputs; + +import com.pulumi.aws.appmesh.outputs.GetGatewayRouteSpecGrpcRouteActionTargetVirtualService; +import com.pulumi.core.annotations.CustomType; +import java.lang.Integer; +import java.util.List; +import java.util.Objects; + +@CustomType +public final class GetGatewayRouteSpecGrpcRouteActionTarget { + private Integer port; + private List virtualServices; + + private GetGatewayRouteSpecGrpcRouteActionTarget() {} + public Integer port() { + return this.port; + } + public List virtualServices() { + return this.virtualServices; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(GetGatewayRouteSpecGrpcRouteActionTarget defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private Integer port; + private List virtualServices; + public Builder() {} + public Builder(GetGatewayRouteSpecGrpcRouteActionTarget defaults) { + Objects.requireNonNull(defaults); + this.port = defaults.port; + this.virtualServices = defaults.virtualServices; + } + + @CustomType.Setter + public Builder port(Integer port) { + this.port = Objects.requireNonNull(port); + return this; + } + @CustomType.Setter + public Builder virtualServices(List virtualServices) { + this.virtualServices = Objects.requireNonNull(virtualServices); + return this; + } + public Builder virtualServices(GetGatewayRouteSpecGrpcRouteActionTargetVirtualService... virtualServices) { + return virtualServices(List.of(virtualServices)); + } + public GetGatewayRouteSpecGrpcRouteActionTarget build() { + final var o = new GetGatewayRouteSpecGrpcRouteActionTarget(); + o.port = port; + o.virtualServices = virtualServices; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetGatewayRouteSpecGrpcRouteActionTargetVirtualService.java b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetGatewayRouteSpecGrpcRouteActionTargetVirtualService.java new file mode 100644 index 00000000000..d239be791b9 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetGatewayRouteSpecGrpcRouteActionTargetVirtualService.java @@ -0,0 +1,46 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.appmesh.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.String; +import java.util.Objects; + +@CustomType +public final class GetGatewayRouteSpecGrpcRouteActionTargetVirtualService { + private String virtualServiceName; + + private GetGatewayRouteSpecGrpcRouteActionTargetVirtualService() {} + public String virtualServiceName() { + return this.virtualServiceName; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(GetGatewayRouteSpecGrpcRouteActionTargetVirtualService defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private String virtualServiceName; + public Builder() {} + public Builder(GetGatewayRouteSpecGrpcRouteActionTargetVirtualService defaults) { + Objects.requireNonNull(defaults); + this.virtualServiceName = defaults.virtualServiceName; + } + + @CustomType.Setter + public Builder virtualServiceName(String virtualServiceName) { + this.virtualServiceName = Objects.requireNonNull(virtualServiceName); + return this; + } + public GetGatewayRouteSpecGrpcRouteActionTargetVirtualService build() { + final var o = new GetGatewayRouteSpecGrpcRouteActionTargetVirtualService(); + o.virtualServiceName = virtualServiceName; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetGatewayRouteSpecGrpcRouteMatch.java b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetGatewayRouteSpecGrpcRouteMatch.java new file mode 100644 index 00000000000..2473e364170 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetGatewayRouteSpecGrpcRouteMatch.java @@ -0,0 +1,59 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.appmesh.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.Integer; +import java.lang.String; +import java.util.Objects; + +@CustomType +public final class GetGatewayRouteSpecGrpcRouteMatch { + private Integer port; + private String serviceName; + + private GetGatewayRouteSpecGrpcRouteMatch() {} + public Integer port() { + return this.port; + } + public String serviceName() { + return this.serviceName; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(GetGatewayRouteSpecGrpcRouteMatch defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private Integer port; + private String serviceName; + public Builder() {} + public Builder(GetGatewayRouteSpecGrpcRouteMatch defaults) { + Objects.requireNonNull(defaults); + this.port = defaults.port; + this.serviceName = defaults.serviceName; + } + + @CustomType.Setter + public Builder port(Integer port) { + this.port = Objects.requireNonNull(port); + return this; + } + @CustomType.Setter + public Builder serviceName(String serviceName) { + this.serviceName = Objects.requireNonNull(serviceName); + return this; + } + public GetGatewayRouteSpecGrpcRouteMatch build() { + final var o = new GetGatewayRouteSpecGrpcRouteMatch(); + o.port = port; + o.serviceName = serviceName; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetGatewayRouteSpecHttp2Route.java b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetGatewayRouteSpecHttp2Route.java new file mode 100644 index 00000000000..5e137354c84 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetGatewayRouteSpecHttp2Route.java @@ -0,0 +1,66 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.appmesh.outputs; + +import com.pulumi.aws.appmesh.outputs.GetGatewayRouteSpecHttp2RouteAction; +import com.pulumi.aws.appmesh.outputs.GetGatewayRouteSpecHttp2RouteMatch; +import com.pulumi.core.annotations.CustomType; +import java.util.List; +import java.util.Objects; + +@CustomType +public final class GetGatewayRouteSpecHttp2Route { + private List actions; + private List matches; + + private GetGatewayRouteSpecHttp2Route() {} + public List actions() { + return this.actions; + } + public List matches() { + return this.matches; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(GetGatewayRouteSpecHttp2Route defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private List actions; + private List matches; + public Builder() {} + public Builder(GetGatewayRouteSpecHttp2Route defaults) { + Objects.requireNonNull(defaults); + this.actions = defaults.actions; + this.matches = defaults.matches; + } + + @CustomType.Setter + public Builder actions(List actions) { + this.actions = Objects.requireNonNull(actions); + return this; + } + public Builder actions(GetGatewayRouteSpecHttp2RouteAction... actions) { + return actions(List.of(actions)); + } + @CustomType.Setter + public Builder matches(List matches) { + this.matches = Objects.requireNonNull(matches); + return this; + } + public Builder matches(GetGatewayRouteSpecHttp2RouteMatch... matches) { + return matches(List.of(matches)); + } + public GetGatewayRouteSpecHttp2Route build() { + final var o = new GetGatewayRouteSpecHttp2Route(); + o.actions = actions; + o.matches = matches; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetGatewayRouteSpecHttp2RouteAction.java b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetGatewayRouteSpecHttp2RouteAction.java new file mode 100644 index 00000000000..d3d555b4164 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetGatewayRouteSpecHttp2RouteAction.java @@ -0,0 +1,66 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.appmesh.outputs; + +import com.pulumi.aws.appmesh.outputs.GetGatewayRouteSpecHttp2RouteActionRewrite; +import com.pulumi.aws.appmesh.outputs.GetGatewayRouteSpecHttp2RouteActionTarget; +import com.pulumi.core.annotations.CustomType; +import java.util.List; +import java.util.Objects; + +@CustomType +public final class GetGatewayRouteSpecHttp2RouteAction { + private List rewrites; + private List targets; + + private GetGatewayRouteSpecHttp2RouteAction() {} + public List rewrites() { + return this.rewrites; + } + public List targets() { + return this.targets; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(GetGatewayRouteSpecHttp2RouteAction defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private List rewrites; + private List targets; + public Builder() {} + public Builder(GetGatewayRouteSpecHttp2RouteAction defaults) { + Objects.requireNonNull(defaults); + this.rewrites = defaults.rewrites; + this.targets = defaults.targets; + } + + @CustomType.Setter + public Builder rewrites(List rewrites) { + this.rewrites = Objects.requireNonNull(rewrites); + return this; + } + public Builder rewrites(GetGatewayRouteSpecHttp2RouteActionRewrite... rewrites) { + return rewrites(List.of(rewrites)); + } + @CustomType.Setter + public Builder targets(List targets) { + this.targets = Objects.requireNonNull(targets); + return this; + } + public Builder targets(GetGatewayRouteSpecHttp2RouteActionTarget... targets) { + return targets(List.of(targets)); + } + public GetGatewayRouteSpecHttp2RouteAction build() { + final var o = new GetGatewayRouteSpecHttp2RouteAction(); + o.rewrites = rewrites; + o.targets = targets; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetGatewayRouteSpecHttp2RouteActionRewrite.java b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetGatewayRouteSpecHttp2RouteActionRewrite.java new file mode 100644 index 00000000000..8fffdc15cf5 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetGatewayRouteSpecHttp2RouteActionRewrite.java @@ -0,0 +1,66 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.appmesh.outputs; + +import com.pulumi.aws.appmesh.outputs.GetGatewayRouteSpecHttp2RouteActionRewriteHostname; +import com.pulumi.aws.appmesh.outputs.GetGatewayRouteSpecHttp2RouteActionRewritePrefix; +import com.pulumi.core.annotations.CustomType; +import java.util.List; +import java.util.Objects; + +@CustomType +public final class GetGatewayRouteSpecHttp2RouteActionRewrite { + private List hostnames; + private List prefixes; + + private GetGatewayRouteSpecHttp2RouteActionRewrite() {} + public List hostnames() { + return this.hostnames; + } + public List prefixes() { + return this.prefixes; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(GetGatewayRouteSpecHttp2RouteActionRewrite defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private List hostnames; + private List prefixes; + public Builder() {} + public Builder(GetGatewayRouteSpecHttp2RouteActionRewrite defaults) { + Objects.requireNonNull(defaults); + this.hostnames = defaults.hostnames; + this.prefixes = defaults.prefixes; + } + + @CustomType.Setter + public Builder hostnames(List hostnames) { + this.hostnames = Objects.requireNonNull(hostnames); + return this; + } + public Builder hostnames(GetGatewayRouteSpecHttp2RouteActionRewriteHostname... hostnames) { + return hostnames(List.of(hostnames)); + } + @CustomType.Setter + public Builder prefixes(List prefixes) { + this.prefixes = Objects.requireNonNull(prefixes); + return this; + } + public Builder prefixes(GetGatewayRouteSpecHttp2RouteActionRewritePrefix... prefixes) { + return prefixes(List.of(prefixes)); + } + public GetGatewayRouteSpecHttp2RouteActionRewrite build() { + final var o = new GetGatewayRouteSpecHttp2RouteActionRewrite(); + o.hostnames = hostnames; + o.prefixes = prefixes; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetGatewayRouteSpecHttp2RouteActionRewriteHostname.java b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetGatewayRouteSpecHttp2RouteActionRewriteHostname.java new file mode 100644 index 00000000000..04187ac0719 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetGatewayRouteSpecHttp2RouteActionRewriteHostname.java @@ -0,0 +1,46 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.appmesh.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.String; +import java.util.Objects; + +@CustomType +public final class GetGatewayRouteSpecHttp2RouteActionRewriteHostname { + private String defaultTargetHostname; + + private GetGatewayRouteSpecHttp2RouteActionRewriteHostname() {} + public String defaultTargetHostname() { + return this.defaultTargetHostname; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(GetGatewayRouteSpecHttp2RouteActionRewriteHostname defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private String defaultTargetHostname; + public Builder() {} + public Builder(GetGatewayRouteSpecHttp2RouteActionRewriteHostname defaults) { + Objects.requireNonNull(defaults); + this.defaultTargetHostname = defaults.defaultTargetHostname; + } + + @CustomType.Setter + public Builder defaultTargetHostname(String defaultTargetHostname) { + this.defaultTargetHostname = Objects.requireNonNull(defaultTargetHostname); + return this; + } + public GetGatewayRouteSpecHttp2RouteActionRewriteHostname build() { + final var o = new GetGatewayRouteSpecHttp2RouteActionRewriteHostname(); + o.defaultTargetHostname = defaultTargetHostname; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetGatewayRouteSpecHttp2RouteActionRewritePrefix.java b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetGatewayRouteSpecHttp2RouteActionRewritePrefix.java new file mode 100644 index 00000000000..5afe3791bab --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetGatewayRouteSpecHttp2RouteActionRewritePrefix.java @@ -0,0 +1,58 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.appmesh.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.String; +import java.util.Objects; + +@CustomType +public final class GetGatewayRouteSpecHttp2RouteActionRewritePrefix { + private String defaultPrefix; + private String value; + + private GetGatewayRouteSpecHttp2RouteActionRewritePrefix() {} + public String defaultPrefix() { + return this.defaultPrefix; + } + public String value() { + return this.value; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(GetGatewayRouteSpecHttp2RouteActionRewritePrefix defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private String defaultPrefix; + private String value; + public Builder() {} + public Builder(GetGatewayRouteSpecHttp2RouteActionRewritePrefix defaults) { + Objects.requireNonNull(defaults); + this.defaultPrefix = defaults.defaultPrefix; + this.value = defaults.value; + } + + @CustomType.Setter + public Builder defaultPrefix(String defaultPrefix) { + this.defaultPrefix = Objects.requireNonNull(defaultPrefix); + return this; + } + @CustomType.Setter + public Builder value(String value) { + this.value = Objects.requireNonNull(value); + return this; + } + public GetGatewayRouteSpecHttp2RouteActionRewritePrefix build() { + final var o = new GetGatewayRouteSpecHttp2RouteActionRewritePrefix(); + o.defaultPrefix = defaultPrefix; + o.value = value; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetGatewayRouteSpecHttp2RouteActionTarget.java b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetGatewayRouteSpecHttp2RouteActionTarget.java new file mode 100644 index 00000000000..72c55d0f626 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetGatewayRouteSpecHttp2RouteActionTarget.java @@ -0,0 +1,63 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.appmesh.outputs; + +import com.pulumi.aws.appmesh.outputs.GetGatewayRouteSpecHttp2RouteActionTargetVirtualService; +import com.pulumi.core.annotations.CustomType; +import java.lang.Integer; +import java.util.List; +import java.util.Objects; + +@CustomType +public final class GetGatewayRouteSpecHttp2RouteActionTarget { + private Integer port; + private List virtualServices; + + private GetGatewayRouteSpecHttp2RouteActionTarget() {} + public Integer port() { + return this.port; + } + public List virtualServices() { + return this.virtualServices; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(GetGatewayRouteSpecHttp2RouteActionTarget defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private Integer port; + private List virtualServices; + public Builder() {} + public Builder(GetGatewayRouteSpecHttp2RouteActionTarget defaults) { + Objects.requireNonNull(defaults); + this.port = defaults.port; + this.virtualServices = defaults.virtualServices; + } + + @CustomType.Setter + public Builder port(Integer port) { + this.port = Objects.requireNonNull(port); + return this; + } + @CustomType.Setter + public Builder virtualServices(List virtualServices) { + this.virtualServices = Objects.requireNonNull(virtualServices); + return this; + } + public Builder virtualServices(GetGatewayRouteSpecHttp2RouteActionTargetVirtualService... virtualServices) { + return virtualServices(List.of(virtualServices)); + } + public GetGatewayRouteSpecHttp2RouteActionTarget build() { + final var o = new GetGatewayRouteSpecHttp2RouteActionTarget(); + o.port = port; + o.virtualServices = virtualServices; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetGatewayRouteSpecHttp2RouteActionTargetVirtualService.java b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetGatewayRouteSpecHttp2RouteActionTargetVirtualService.java new file mode 100644 index 00000000000..dd1d2eec3e8 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetGatewayRouteSpecHttp2RouteActionTargetVirtualService.java @@ -0,0 +1,46 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.appmesh.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.String; +import java.util.Objects; + +@CustomType +public final class GetGatewayRouteSpecHttp2RouteActionTargetVirtualService { + private String virtualServiceName; + + private GetGatewayRouteSpecHttp2RouteActionTargetVirtualService() {} + public String virtualServiceName() { + return this.virtualServiceName; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(GetGatewayRouteSpecHttp2RouteActionTargetVirtualService defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private String virtualServiceName; + public Builder() {} + public Builder(GetGatewayRouteSpecHttp2RouteActionTargetVirtualService defaults) { + Objects.requireNonNull(defaults); + this.virtualServiceName = defaults.virtualServiceName; + } + + @CustomType.Setter + public Builder virtualServiceName(String virtualServiceName) { + this.virtualServiceName = Objects.requireNonNull(virtualServiceName); + return this; + } + public GetGatewayRouteSpecHttp2RouteActionTargetVirtualService build() { + final var o = new GetGatewayRouteSpecHttp2RouteActionTargetVirtualService(); + o.virtualServiceName = virtualServiceName; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetGatewayRouteSpecHttp2RouteMatch.java b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetGatewayRouteSpecHttp2RouteMatch.java new file mode 100644 index 00000000000..00f18c4dc92 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetGatewayRouteSpecHttp2RouteMatch.java @@ -0,0 +1,124 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.appmesh.outputs; + +import com.pulumi.aws.appmesh.outputs.GetGatewayRouteSpecHttp2RouteMatchHeader; +import com.pulumi.aws.appmesh.outputs.GetGatewayRouteSpecHttp2RouteMatchHostname; +import com.pulumi.aws.appmesh.outputs.GetGatewayRouteSpecHttp2RouteMatchPath; +import com.pulumi.aws.appmesh.outputs.GetGatewayRouteSpecHttp2RouteMatchQueryParameter; +import com.pulumi.core.annotations.CustomType; +import java.lang.Integer; +import java.lang.String; +import java.util.List; +import java.util.Objects; + +@CustomType +public final class GetGatewayRouteSpecHttp2RouteMatch { + private List headers; + private List hostnames; + private List paths; + private Integer port; + private String prefix; + private List queryParameters; + + private GetGatewayRouteSpecHttp2RouteMatch() {} + public List headers() { + return this.headers; + } + public List hostnames() { + return this.hostnames; + } + public List paths() { + return this.paths; + } + public Integer port() { + return this.port; + } + public String prefix() { + return this.prefix; + } + public List queryParameters() { + return this.queryParameters; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(GetGatewayRouteSpecHttp2RouteMatch defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private List headers; + private List hostnames; + private List paths; + private Integer port; + private String prefix; + private List queryParameters; + public Builder() {} + public Builder(GetGatewayRouteSpecHttp2RouteMatch defaults) { + Objects.requireNonNull(defaults); + this.headers = defaults.headers; + this.hostnames = defaults.hostnames; + this.paths = defaults.paths; + this.port = defaults.port; + this.prefix = defaults.prefix; + this.queryParameters = defaults.queryParameters; + } + + @CustomType.Setter + public Builder headers(List headers) { + this.headers = Objects.requireNonNull(headers); + return this; + } + public Builder headers(GetGatewayRouteSpecHttp2RouteMatchHeader... headers) { + return headers(List.of(headers)); + } + @CustomType.Setter + public Builder hostnames(List hostnames) { + this.hostnames = Objects.requireNonNull(hostnames); + return this; + } + public Builder hostnames(GetGatewayRouteSpecHttp2RouteMatchHostname... hostnames) { + return hostnames(List.of(hostnames)); + } + @CustomType.Setter + public Builder paths(List paths) { + this.paths = Objects.requireNonNull(paths); + return this; + } + public Builder paths(GetGatewayRouteSpecHttp2RouteMatchPath... paths) { + return paths(List.of(paths)); + } + @CustomType.Setter + public Builder port(Integer port) { + this.port = Objects.requireNonNull(port); + return this; + } + @CustomType.Setter + public Builder prefix(String prefix) { + this.prefix = Objects.requireNonNull(prefix); + return this; + } + @CustomType.Setter + public Builder queryParameters(List queryParameters) { + this.queryParameters = Objects.requireNonNull(queryParameters); + return this; + } + public Builder queryParameters(GetGatewayRouteSpecHttp2RouteMatchQueryParameter... queryParameters) { + return queryParameters(List.of(queryParameters)); + } + public GetGatewayRouteSpecHttp2RouteMatch build() { + final var o = new GetGatewayRouteSpecHttp2RouteMatch(); + o.headers = headers; + o.hostnames = hostnames; + o.paths = paths; + o.port = port; + o.prefix = prefix; + o.queryParameters = queryParameters; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetGatewayRouteSpecHttp2RouteMatchHeader.java b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetGatewayRouteSpecHttp2RouteMatchHeader.java new file mode 100644 index 00000000000..c24f91a3e55 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetGatewayRouteSpecHttp2RouteMatchHeader.java @@ -0,0 +1,84 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.appmesh.outputs; + +import com.pulumi.aws.appmesh.outputs.GetGatewayRouteSpecHttp2RouteMatchHeaderMatch; +import com.pulumi.core.annotations.CustomType; +import java.lang.Boolean; +import java.lang.String; +import java.util.List; +import java.util.Objects; + +@CustomType +public final class GetGatewayRouteSpecHttp2RouteMatchHeader { + private Boolean invert; + private List matches; + /** + * @return Name of the gateway route. + * + */ + private String name; + + private GetGatewayRouteSpecHttp2RouteMatchHeader() {} + public Boolean invert() { + return this.invert; + } + public List matches() { + return this.matches; + } + /** + * @return Name of the gateway route. + * + */ + public String name() { + return this.name; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(GetGatewayRouteSpecHttp2RouteMatchHeader defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private Boolean invert; + private List matches; + private String name; + public Builder() {} + public Builder(GetGatewayRouteSpecHttp2RouteMatchHeader defaults) { + Objects.requireNonNull(defaults); + this.invert = defaults.invert; + this.matches = defaults.matches; + this.name = defaults.name; + } + + @CustomType.Setter + public Builder invert(Boolean invert) { + this.invert = Objects.requireNonNull(invert); + return this; + } + @CustomType.Setter + public Builder matches(List matches) { + this.matches = Objects.requireNonNull(matches); + return this; + } + public Builder matches(GetGatewayRouteSpecHttp2RouteMatchHeaderMatch... matches) { + return matches(List.of(matches)); + } + @CustomType.Setter + public Builder name(String name) { + this.name = Objects.requireNonNull(name); + return this; + } + public GetGatewayRouteSpecHttp2RouteMatchHeader build() { + final var o = new GetGatewayRouteSpecHttp2RouteMatchHeader(); + o.invert = invert; + o.matches = matches; + o.name = name; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetGatewayRouteSpecHttp2RouteMatchHeaderMatch.java b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetGatewayRouteSpecHttp2RouteMatchHeaderMatch.java new file mode 100644 index 00000000000..84e3fba4615 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetGatewayRouteSpecHttp2RouteMatchHeaderMatch.java @@ -0,0 +1,99 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.appmesh.outputs; + +import com.pulumi.aws.appmesh.outputs.GetGatewayRouteSpecHttp2RouteMatchHeaderMatchRange; +import com.pulumi.core.annotations.CustomType; +import java.lang.String; +import java.util.List; +import java.util.Objects; + +@CustomType +public final class GetGatewayRouteSpecHttp2RouteMatchHeaderMatch { + private String exact; + private String prefix; + private List ranges; + private String regex; + private String suffix; + + private GetGatewayRouteSpecHttp2RouteMatchHeaderMatch() {} + public String exact() { + return this.exact; + } + public String prefix() { + return this.prefix; + } + public List ranges() { + return this.ranges; + } + public String regex() { + return this.regex; + } + public String suffix() { + return this.suffix; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(GetGatewayRouteSpecHttp2RouteMatchHeaderMatch defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private String exact; + private String prefix; + private List ranges; + private String regex; + private String suffix; + public Builder() {} + public Builder(GetGatewayRouteSpecHttp2RouteMatchHeaderMatch defaults) { + Objects.requireNonNull(defaults); + this.exact = defaults.exact; + this.prefix = defaults.prefix; + this.ranges = defaults.ranges; + this.regex = defaults.regex; + this.suffix = defaults.suffix; + } + + @CustomType.Setter + public Builder exact(String exact) { + this.exact = Objects.requireNonNull(exact); + return this; + } + @CustomType.Setter + public Builder prefix(String prefix) { + this.prefix = Objects.requireNonNull(prefix); + return this; + } + @CustomType.Setter + public Builder ranges(List ranges) { + this.ranges = Objects.requireNonNull(ranges); + return this; + } + public Builder ranges(GetGatewayRouteSpecHttp2RouteMatchHeaderMatchRange... ranges) { + return ranges(List.of(ranges)); + } + @CustomType.Setter + public Builder regex(String regex) { + this.regex = Objects.requireNonNull(regex); + return this; + } + @CustomType.Setter + public Builder suffix(String suffix) { + this.suffix = Objects.requireNonNull(suffix); + return this; + } + public GetGatewayRouteSpecHttp2RouteMatchHeaderMatch build() { + final var o = new GetGatewayRouteSpecHttp2RouteMatchHeaderMatch(); + o.exact = exact; + o.prefix = prefix; + o.ranges = ranges; + o.regex = regex; + o.suffix = suffix; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetGatewayRouteSpecHttp2RouteMatchHeaderMatchRange.java b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetGatewayRouteSpecHttp2RouteMatchHeaderMatchRange.java new file mode 100644 index 00000000000..24b5951a8eb --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetGatewayRouteSpecHttp2RouteMatchHeaderMatchRange.java @@ -0,0 +1,58 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.appmesh.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.Integer; +import java.util.Objects; + +@CustomType +public final class GetGatewayRouteSpecHttp2RouteMatchHeaderMatchRange { + private Integer end; + private Integer start; + + private GetGatewayRouteSpecHttp2RouteMatchHeaderMatchRange() {} + public Integer end() { + return this.end; + } + public Integer start() { + return this.start; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(GetGatewayRouteSpecHttp2RouteMatchHeaderMatchRange defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private Integer end; + private Integer start; + public Builder() {} + public Builder(GetGatewayRouteSpecHttp2RouteMatchHeaderMatchRange defaults) { + Objects.requireNonNull(defaults); + this.end = defaults.end; + this.start = defaults.start; + } + + @CustomType.Setter + public Builder end(Integer end) { + this.end = Objects.requireNonNull(end); + return this; + } + @CustomType.Setter + public Builder start(Integer start) { + this.start = Objects.requireNonNull(start); + return this; + } + public GetGatewayRouteSpecHttp2RouteMatchHeaderMatchRange build() { + final var o = new GetGatewayRouteSpecHttp2RouteMatchHeaderMatchRange(); + o.end = end; + o.start = start; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetGatewayRouteSpecHttp2RouteMatchHostname.java b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetGatewayRouteSpecHttp2RouteMatchHostname.java new file mode 100644 index 00000000000..9ce6d1d7a37 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetGatewayRouteSpecHttp2RouteMatchHostname.java @@ -0,0 +1,58 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.appmesh.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.String; +import java.util.Objects; + +@CustomType +public final class GetGatewayRouteSpecHttp2RouteMatchHostname { + private String exact; + private String suffix; + + private GetGatewayRouteSpecHttp2RouteMatchHostname() {} + public String exact() { + return this.exact; + } + public String suffix() { + return this.suffix; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(GetGatewayRouteSpecHttp2RouteMatchHostname defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private String exact; + private String suffix; + public Builder() {} + public Builder(GetGatewayRouteSpecHttp2RouteMatchHostname defaults) { + Objects.requireNonNull(defaults); + this.exact = defaults.exact; + this.suffix = defaults.suffix; + } + + @CustomType.Setter + public Builder exact(String exact) { + this.exact = Objects.requireNonNull(exact); + return this; + } + @CustomType.Setter + public Builder suffix(String suffix) { + this.suffix = Objects.requireNonNull(suffix); + return this; + } + public GetGatewayRouteSpecHttp2RouteMatchHostname build() { + final var o = new GetGatewayRouteSpecHttp2RouteMatchHostname(); + o.exact = exact; + o.suffix = suffix; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetGatewayRouteSpecHttp2RouteMatchPath.java b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetGatewayRouteSpecHttp2RouteMatchPath.java new file mode 100644 index 00000000000..7836a5c07ec --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetGatewayRouteSpecHttp2RouteMatchPath.java @@ -0,0 +1,58 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.appmesh.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.String; +import java.util.Objects; + +@CustomType +public final class GetGatewayRouteSpecHttp2RouteMatchPath { + private String exact; + private String regex; + + private GetGatewayRouteSpecHttp2RouteMatchPath() {} + public String exact() { + return this.exact; + } + public String regex() { + return this.regex; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(GetGatewayRouteSpecHttp2RouteMatchPath defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private String exact; + private String regex; + public Builder() {} + public Builder(GetGatewayRouteSpecHttp2RouteMatchPath defaults) { + Objects.requireNonNull(defaults); + this.exact = defaults.exact; + this.regex = defaults.regex; + } + + @CustomType.Setter + public Builder exact(String exact) { + this.exact = Objects.requireNonNull(exact); + return this; + } + @CustomType.Setter + public Builder regex(String regex) { + this.regex = Objects.requireNonNull(regex); + return this; + } + public GetGatewayRouteSpecHttp2RouteMatchPath build() { + final var o = new GetGatewayRouteSpecHttp2RouteMatchPath(); + o.exact = exact; + o.regex = regex; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetGatewayRouteSpecHttp2RouteMatchQueryParameter.java b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetGatewayRouteSpecHttp2RouteMatchQueryParameter.java new file mode 100644 index 00000000000..c99a29bf2d2 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetGatewayRouteSpecHttp2RouteMatchQueryParameter.java @@ -0,0 +1,71 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.appmesh.outputs; + +import com.pulumi.aws.appmesh.outputs.GetGatewayRouteSpecHttp2RouteMatchQueryParameterMatch; +import com.pulumi.core.annotations.CustomType; +import java.lang.String; +import java.util.List; +import java.util.Objects; + +@CustomType +public final class GetGatewayRouteSpecHttp2RouteMatchQueryParameter { + private List matches; + /** + * @return Name of the gateway route. + * + */ + private String name; + + private GetGatewayRouteSpecHttp2RouteMatchQueryParameter() {} + public List matches() { + return this.matches; + } + /** + * @return Name of the gateway route. + * + */ + public String name() { + return this.name; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(GetGatewayRouteSpecHttp2RouteMatchQueryParameter defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private List matches; + private String name; + public Builder() {} + public Builder(GetGatewayRouteSpecHttp2RouteMatchQueryParameter defaults) { + Objects.requireNonNull(defaults); + this.matches = defaults.matches; + this.name = defaults.name; + } + + @CustomType.Setter + public Builder matches(List matches) { + this.matches = Objects.requireNonNull(matches); + return this; + } + public Builder matches(GetGatewayRouteSpecHttp2RouteMatchQueryParameterMatch... matches) { + return matches(List.of(matches)); + } + @CustomType.Setter + public Builder name(String name) { + this.name = Objects.requireNonNull(name); + return this; + } + public GetGatewayRouteSpecHttp2RouteMatchQueryParameter build() { + final var o = new GetGatewayRouteSpecHttp2RouteMatchQueryParameter(); + o.matches = matches; + o.name = name; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetGatewayRouteSpecHttp2RouteMatchQueryParameterMatch.java b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetGatewayRouteSpecHttp2RouteMatchQueryParameterMatch.java new file mode 100644 index 00000000000..3b0334a5eb6 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetGatewayRouteSpecHttp2RouteMatchQueryParameterMatch.java @@ -0,0 +1,46 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.appmesh.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.String; +import java.util.Objects; + +@CustomType +public final class GetGatewayRouteSpecHttp2RouteMatchQueryParameterMatch { + private String exact; + + private GetGatewayRouteSpecHttp2RouteMatchQueryParameterMatch() {} + public String exact() { + return this.exact; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(GetGatewayRouteSpecHttp2RouteMatchQueryParameterMatch defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private String exact; + public Builder() {} + public Builder(GetGatewayRouteSpecHttp2RouteMatchQueryParameterMatch defaults) { + Objects.requireNonNull(defaults); + this.exact = defaults.exact; + } + + @CustomType.Setter + public Builder exact(String exact) { + this.exact = Objects.requireNonNull(exact); + return this; + } + public GetGatewayRouteSpecHttp2RouteMatchQueryParameterMatch build() { + final var o = new GetGatewayRouteSpecHttp2RouteMatchQueryParameterMatch(); + o.exact = exact; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetGatewayRouteSpecHttpRoute.java b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetGatewayRouteSpecHttpRoute.java new file mode 100644 index 00000000000..0109aea83e6 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetGatewayRouteSpecHttpRoute.java @@ -0,0 +1,66 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.appmesh.outputs; + +import com.pulumi.aws.appmesh.outputs.GetGatewayRouteSpecHttpRouteAction; +import com.pulumi.aws.appmesh.outputs.GetGatewayRouteSpecHttpRouteMatch; +import com.pulumi.core.annotations.CustomType; +import java.util.List; +import java.util.Objects; + +@CustomType +public final class GetGatewayRouteSpecHttpRoute { + private List actions; + private List matches; + + private GetGatewayRouteSpecHttpRoute() {} + public List actions() { + return this.actions; + } + public List matches() { + return this.matches; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(GetGatewayRouteSpecHttpRoute defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private List actions; + private List matches; + public Builder() {} + public Builder(GetGatewayRouteSpecHttpRoute defaults) { + Objects.requireNonNull(defaults); + this.actions = defaults.actions; + this.matches = defaults.matches; + } + + @CustomType.Setter + public Builder actions(List actions) { + this.actions = Objects.requireNonNull(actions); + return this; + } + public Builder actions(GetGatewayRouteSpecHttpRouteAction... actions) { + return actions(List.of(actions)); + } + @CustomType.Setter + public Builder matches(List matches) { + this.matches = Objects.requireNonNull(matches); + return this; + } + public Builder matches(GetGatewayRouteSpecHttpRouteMatch... matches) { + return matches(List.of(matches)); + } + public GetGatewayRouteSpecHttpRoute build() { + final var o = new GetGatewayRouteSpecHttpRoute(); + o.actions = actions; + o.matches = matches; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetGatewayRouteSpecHttpRouteAction.java b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetGatewayRouteSpecHttpRouteAction.java new file mode 100644 index 00000000000..f734372d34d --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetGatewayRouteSpecHttpRouteAction.java @@ -0,0 +1,66 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.appmesh.outputs; + +import com.pulumi.aws.appmesh.outputs.GetGatewayRouteSpecHttpRouteActionRewrite; +import com.pulumi.aws.appmesh.outputs.GetGatewayRouteSpecHttpRouteActionTarget; +import com.pulumi.core.annotations.CustomType; +import java.util.List; +import java.util.Objects; + +@CustomType +public final class GetGatewayRouteSpecHttpRouteAction { + private List rewrites; + private List targets; + + private GetGatewayRouteSpecHttpRouteAction() {} + public List rewrites() { + return this.rewrites; + } + public List targets() { + return this.targets; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(GetGatewayRouteSpecHttpRouteAction defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private List rewrites; + private List targets; + public Builder() {} + public Builder(GetGatewayRouteSpecHttpRouteAction defaults) { + Objects.requireNonNull(defaults); + this.rewrites = defaults.rewrites; + this.targets = defaults.targets; + } + + @CustomType.Setter + public Builder rewrites(List rewrites) { + this.rewrites = Objects.requireNonNull(rewrites); + return this; + } + public Builder rewrites(GetGatewayRouteSpecHttpRouteActionRewrite... rewrites) { + return rewrites(List.of(rewrites)); + } + @CustomType.Setter + public Builder targets(List targets) { + this.targets = Objects.requireNonNull(targets); + return this; + } + public Builder targets(GetGatewayRouteSpecHttpRouteActionTarget... targets) { + return targets(List.of(targets)); + } + public GetGatewayRouteSpecHttpRouteAction build() { + final var o = new GetGatewayRouteSpecHttpRouteAction(); + o.rewrites = rewrites; + o.targets = targets; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetGatewayRouteSpecHttpRouteActionRewrite.java b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetGatewayRouteSpecHttpRouteActionRewrite.java new file mode 100644 index 00000000000..c35c706c9b1 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetGatewayRouteSpecHttpRouteActionRewrite.java @@ -0,0 +1,66 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.appmesh.outputs; + +import com.pulumi.aws.appmesh.outputs.GetGatewayRouteSpecHttpRouteActionRewriteHostname; +import com.pulumi.aws.appmesh.outputs.GetGatewayRouteSpecHttpRouteActionRewritePrefix; +import com.pulumi.core.annotations.CustomType; +import java.util.List; +import java.util.Objects; + +@CustomType +public final class GetGatewayRouteSpecHttpRouteActionRewrite { + private List hostnames; + private List prefixes; + + private GetGatewayRouteSpecHttpRouteActionRewrite() {} + public List hostnames() { + return this.hostnames; + } + public List prefixes() { + return this.prefixes; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(GetGatewayRouteSpecHttpRouteActionRewrite defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private List hostnames; + private List prefixes; + public Builder() {} + public Builder(GetGatewayRouteSpecHttpRouteActionRewrite defaults) { + Objects.requireNonNull(defaults); + this.hostnames = defaults.hostnames; + this.prefixes = defaults.prefixes; + } + + @CustomType.Setter + public Builder hostnames(List hostnames) { + this.hostnames = Objects.requireNonNull(hostnames); + return this; + } + public Builder hostnames(GetGatewayRouteSpecHttpRouteActionRewriteHostname... hostnames) { + return hostnames(List.of(hostnames)); + } + @CustomType.Setter + public Builder prefixes(List prefixes) { + this.prefixes = Objects.requireNonNull(prefixes); + return this; + } + public Builder prefixes(GetGatewayRouteSpecHttpRouteActionRewritePrefix... prefixes) { + return prefixes(List.of(prefixes)); + } + public GetGatewayRouteSpecHttpRouteActionRewrite build() { + final var o = new GetGatewayRouteSpecHttpRouteActionRewrite(); + o.hostnames = hostnames; + o.prefixes = prefixes; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetGatewayRouteSpecHttpRouteActionRewriteHostname.java b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetGatewayRouteSpecHttpRouteActionRewriteHostname.java new file mode 100644 index 00000000000..e72b4c70142 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetGatewayRouteSpecHttpRouteActionRewriteHostname.java @@ -0,0 +1,46 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.appmesh.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.String; +import java.util.Objects; + +@CustomType +public final class GetGatewayRouteSpecHttpRouteActionRewriteHostname { + private String defaultTargetHostname; + + private GetGatewayRouteSpecHttpRouteActionRewriteHostname() {} + public String defaultTargetHostname() { + return this.defaultTargetHostname; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(GetGatewayRouteSpecHttpRouteActionRewriteHostname defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private String defaultTargetHostname; + public Builder() {} + public Builder(GetGatewayRouteSpecHttpRouteActionRewriteHostname defaults) { + Objects.requireNonNull(defaults); + this.defaultTargetHostname = defaults.defaultTargetHostname; + } + + @CustomType.Setter + public Builder defaultTargetHostname(String defaultTargetHostname) { + this.defaultTargetHostname = Objects.requireNonNull(defaultTargetHostname); + return this; + } + public GetGatewayRouteSpecHttpRouteActionRewriteHostname build() { + final var o = new GetGatewayRouteSpecHttpRouteActionRewriteHostname(); + o.defaultTargetHostname = defaultTargetHostname; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetGatewayRouteSpecHttpRouteActionRewritePrefix.java b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetGatewayRouteSpecHttpRouteActionRewritePrefix.java new file mode 100644 index 00000000000..eff7470bfdc --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetGatewayRouteSpecHttpRouteActionRewritePrefix.java @@ -0,0 +1,58 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.appmesh.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.String; +import java.util.Objects; + +@CustomType +public final class GetGatewayRouteSpecHttpRouteActionRewritePrefix { + private String defaultPrefix; + private String value; + + private GetGatewayRouteSpecHttpRouteActionRewritePrefix() {} + public String defaultPrefix() { + return this.defaultPrefix; + } + public String value() { + return this.value; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(GetGatewayRouteSpecHttpRouteActionRewritePrefix defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private String defaultPrefix; + private String value; + public Builder() {} + public Builder(GetGatewayRouteSpecHttpRouteActionRewritePrefix defaults) { + Objects.requireNonNull(defaults); + this.defaultPrefix = defaults.defaultPrefix; + this.value = defaults.value; + } + + @CustomType.Setter + public Builder defaultPrefix(String defaultPrefix) { + this.defaultPrefix = Objects.requireNonNull(defaultPrefix); + return this; + } + @CustomType.Setter + public Builder value(String value) { + this.value = Objects.requireNonNull(value); + return this; + } + public GetGatewayRouteSpecHttpRouteActionRewritePrefix build() { + final var o = new GetGatewayRouteSpecHttpRouteActionRewritePrefix(); + o.defaultPrefix = defaultPrefix; + o.value = value; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetGatewayRouteSpecHttpRouteActionTarget.java b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetGatewayRouteSpecHttpRouteActionTarget.java new file mode 100644 index 00000000000..70c6cdd2894 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetGatewayRouteSpecHttpRouteActionTarget.java @@ -0,0 +1,63 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.appmesh.outputs; + +import com.pulumi.aws.appmesh.outputs.GetGatewayRouteSpecHttpRouteActionTargetVirtualService; +import com.pulumi.core.annotations.CustomType; +import java.lang.Integer; +import java.util.List; +import java.util.Objects; + +@CustomType +public final class GetGatewayRouteSpecHttpRouteActionTarget { + private Integer port; + private List virtualServices; + + private GetGatewayRouteSpecHttpRouteActionTarget() {} + public Integer port() { + return this.port; + } + public List virtualServices() { + return this.virtualServices; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(GetGatewayRouteSpecHttpRouteActionTarget defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private Integer port; + private List virtualServices; + public Builder() {} + public Builder(GetGatewayRouteSpecHttpRouteActionTarget defaults) { + Objects.requireNonNull(defaults); + this.port = defaults.port; + this.virtualServices = defaults.virtualServices; + } + + @CustomType.Setter + public Builder port(Integer port) { + this.port = Objects.requireNonNull(port); + return this; + } + @CustomType.Setter + public Builder virtualServices(List virtualServices) { + this.virtualServices = Objects.requireNonNull(virtualServices); + return this; + } + public Builder virtualServices(GetGatewayRouteSpecHttpRouteActionTargetVirtualService... virtualServices) { + return virtualServices(List.of(virtualServices)); + } + public GetGatewayRouteSpecHttpRouteActionTarget build() { + final var o = new GetGatewayRouteSpecHttpRouteActionTarget(); + o.port = port; + o.virtualServices = virtualServices; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetGatewayRouteSpecHttpRouteActionTargetVirtualService.java b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetGatewayRouteSpecHttpRouteActionTargetVirtualService.java new file mode 100644 index 00000000000..f210b00d114 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetGatewayRouteSpecHttpRouteActionTargetVirtualService.java @@ -0,0 +1,46 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.appmesh.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.String; +import java.util.Objects; + +@CustomType +public final class GetGatewayRouteSpecHttpRouteActionTargetVirtualService { + private String virtualServiceName; + + private GetGatewayRouteSpecHttpRouteActionTargetVirtualService() {} + public String virtualServiceName() { + return this.virtualServiceName; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(GetGatewayRouteSpecHttpRouteActionTargetVirtualService defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private String virtualServiceName; + public Builder() {} + public Builder(GetGatewayRouteSpecHttpRouteActionTargetVirtualService defaults) { + Objects.requireNonNull(defaults); + this.virtualServiceName = defaults.virtualServiceName; + } + + @CustomType.Setter + public Builder virtualServiceName(String virtualServiceName) { + this.virtualServiceName = Objects.requireNonNull(virtualServiceName); + return this; + } + public GetGatewayRouteSpecHttpRouteActionTargetVirtualService build() { + final var o = new GetGatewayRouteSpecHttpRouteActionTargetVirtualService(); + o.virtualServiceName = virtualServiceName; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetGatewayRouteSpecHttpRouteMatch.java b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetGatewayRouteSpecHttpRouteMatch.java new file mode 100644 index 00000000000..77b76945227 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetGatewayRouteSpecHttpRouteMatch.java @@ -0,0 +1,124 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.appmesh.outputs; + +import com.pulumi.aws.appmesh.outputs.GetGatewayRouteSpecHttpRouteMatchHeader; +import com.pulumi.aws.appmesh.outputs.GetGatewayRouteSpecHttpRouteMatchHostname; +import com.pulumi.aws.appmesh.outputs.GetGatewayRouteSpecHttpRouteMatchPath; +import com.pulumi.aws.appmesh.outputs.GetGatewayRouteSpecHttpRouteMatchQueryParameter; +import com.pulumi.core.annotations.CustomType; +import java.lang.Integer; +import java.lang.String; +import java.util.List; +import java.util.Objects; + +@CustomType +public final class GetGatewayRouteSpecHttpRouteMatch { + private List headers; + private List hostnames; + private List paths; + private Integer port; + private String prefix; + private List queryParameters; + + private GetGatewayRouteSpecHttpRouteMatch() {} + public List headers() { + return this.headers; + } + public List hostnames() { + return this.hostnames; + } + public List paths() { + return this.paths; + } + public Integer port() { + return this.port; + } + public String prefix() { + return this.prefix; + } + public List queryParameters() { + return this.queryParameters; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(GetGatewayRouteSpecHttpRouteMatch defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private List headers; + private List hostnames; + private List paths; + private Integer port; + private String prefix; + private List queryParameters; + public Builder() {} + public Builder(GetGatewayRouteSpecHttpRouteMatch defaults) { + Objects.requireNonNull(defaults); + this.headers = defaults.headers; + this.hostnames = defaults.hostnames; + this.paths = defaults.paths; + this.port = defaults.port; + this.prefix = defaults.prefix; + this.queryParameters = defaults.queryParameters; + } + + @CustomType.Setter + public Builder headers(List headers) { + this.headers = Objects.requireNonNull(headers); + return this; + } + public Builder headers(GetGatewayRouteSpecHttpRouteMatchHeader... headers) { + return headers(List.of(headers)); + } + @CustomType.Setter + public Builder hostnames(List hostnames) { + this.hostnames = Objects.requireNonNull(hostnames); + return this; + } + public Builder hostnames(GetGatewayRouteSpecHttpRouteMatchHostname... hostnames) { + return hostnames(List.of(hostnames)); + } + @CustomType.Setter + public Builder paths(List paths) { + this.paths = Objects.requireNonNull(paths); + return this; + } + public Builder paths(GetGatewayRouteSpecHttpRouteMatchPath... paths) { + return paths(List.of(paths)); + } + @CustomType.Setter + public Builder port(Integer port) { + this.port = Objects.requireNonNull(port); + return this; + } + @CustomType.Setter + public Builder prefix(String prefix) { + this.prefix = Objects.requireNonNull(prefix); + return this; + } + @CustomType.Setter + public Builder queryParameters(List queryParameters) { + this.queryParameters = Objects.requireNonNull(queryParameters); + return this; + } + public Builder queryParameters(GetGatewayRouteSpecHttpRouteMatchQueryParameter... queryParameters) { + return queryParameters(List.of(queryParameters)); + } + public GetGatewayRouteSpecHttpRouteMatch build() { + final var o = new GetGatewayRouteSpecHttpRouteMatch(); + o.headers = headers; + o.hostnames = hostnames; + o.paths = paths; + o.port = port; + o.prefix = prefix; + o.queryParameters = queryParameters; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetGatewayRouteSpecHttpRouteMatchHeader.java b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetGatewayRouteSpecHttpRouteMatchHeader.java new file mode 100644 index 00000000000..9b16788bdca --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetGatewayRouteSpecHttpRouteMatchHeader.java @@ -0,0 +1,84 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.appmesh.outputs; + +import com.pulumi.aws.appmesh.outputs.GetGatewayRouteSpecHttpRouteMatchHeaderMatch; +import com.pulumi.core.annotations.CustomType; +import java.lang.Boolean; +import java.lang.String; +import java.util.List; +import java.util.Objects; + +@CustomType +public final class GetGatewayRouteSpecHttpRouteMatchHeader { + private Boolean invert; + private List matches; + /** + * @return Name of the gateway route. + * + */ + private String name; + + private GetGatewayRouteSpecHttpRouteMatchHeader() {} + public Boolean invert() { + return this.invert; + } + public List matches() { + return this.matches; + } + /** + * @return Name of the gateway route. + * + */ + public String name() { + return this.name; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(GetGatewayRouteSpecHttpRouteMatchHeader defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private Boolean invert; + private List matches; + private String name; + public Builder() {} + public Builder(GetGatewayRouteSpecHttpRouteMatchHeader defaults) { + Objects.requireNonNull(defaults); + this.invert = defaults.invert; + this.matches = defaults.matches; + this.name = defaults.name; + } + + @CustomType.Setter + public Builder invert(Boolean invert) { + this.invert = Objects.requireNonNull(invert); + return this; + } + @CustomType.Setter + public Builder matches(List matches) { + this.matches = Objects.requireNonNull(matches); + return this; + } + public Builder matches(GetGatewayRouteSpecHttpRouteMatchHeaderMatch... matches) { + return matches(List.of(matches)); + } + @CustomType.Setter + public Builder name(String name) { + this.name = Objects.requireNonNull(name); + return this; + } + public GetGatewayRouteSpecHttpRouteMatchHeader build() { + final var o = new GetGatewayRouteSpecHttpRouteMatchHeader(); + o.invert = invert; + o.matches = matches; + o.name = name; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetGatewayRouteSpecHttpRouteMatchHeaderMatch.java b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetGatewayRouteSpecHttpRouteMatchHeaderMatch.java new file mode 100644 index 00000000000..42e6be61ad7 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetGatewayRouteSpecHttpRouteMatchHeaderMatch.java @@ -0,0 +1,99 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.appmesh.outputs; + +import com.pulumi.aws.appmesh.outputs.GetGatewayRouteSpecHttpRouteMatchHeaderMatchRange; +import com.pulumi.core.annotations.CustomType; +import java.lang.String; +import java.util.List; +import java.util.Objects; + +@CustomType +public final class GetGatewayRouteSpecHttpRouteMatchHeaderMatch { + private String exact; + private String prefix; + private List ranges; + private String regex; + private String suffix; + + private GetGatewayRouteSpecHttpRouteMatchHeaderMatch() {} + public String exact() { + return this.exact; + } + public String prefix() { + return this.prefix; + } + public List ranges() { + return this.ranges; + } + public String regex() { + return this.regex; + } + public String suffix() { + return this.suffix; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(GetGatewayRouteSpecHttpRouteMatchHeaderMatch defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private String exact; + private String prefix; + private List ranges; + private String regex; + private String suffix; + public Builder() {} + public Builder(GetGatewayRouteSpecHttpRouteMatchHeaderMatch defaults) { + Objects.requireNonNull(defaults); + this.exact = defaults.exact; + this.prefix = defaults.prefix; + this.ranges = defaults.ranges; + this.regex = defaults.regex; + this.suffix = defaults.suffix; + } + + @CustomType.Setter + public Builder exact(String exact) { + this.exact = Objects.requireNonNull(exact); + return this; + } + @CustomType.Setter + public Builder prefix(String prefix) { + this.prefix = Objects.requireNonNull(prefix); + return this; + } + @CustomType.Setter + public Builder ranges(List ranges) { + this.ranges = Objects.requireNonNull(ranges); + return this; + } + public Builder ranges(GetGatewayRouteSpecHttpRouteMatchHeaderMatchRange... ranges) { + return ranges(List.of(ranges)); + } + @CustomType.Setter + public Builder regex(String regex) { + this.regex = Objects.requireNonNull(regex); + return this; + } + @CustomType.Setter + public Builder suffix(String suffix) { + this.suffix = Objects.requireNonNull(suffix); + return this; + } + public GetGatewayRouteSpecHttpRouteMatchHeaderMatch build() { + final var o = new GetGatewayRouteSpecHttpRouteMatchHeaderMatch(); + o.exact = exact; + o.prefix = prefix; + o.ranges = ranges; + o.regex = regex; + o.suffix = suffix; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetGatewayRouteSpecHttpRouteMatchHeaderMatchRange.java b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetGatewayRouteSpecHttpRouteMatchHeaderMatchRange.java new file mode 100644 index 00000000000..c126be76543 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetGatewayRouteSpecHttpRouteMatchHeaderMatchRange.java @@ -0,0 +1,58 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.appmesh.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.Integer; +import java.util.Objects; + +@CustomType +public final class GetGatewayRouteSpecHttpRouteMatchHeaderMatchRange { + private Integer end; + private Integer start; + + private GetGatewayRouteSpecHttpRouteMatchHeaderMatchRange() {} + public Integer end() { + return this.end; + } + public Integer start() { + return this.start; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(GetGatewayRouteSpecHttpRouteMatchHeaderMatchRange defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private Integer end; + private Integer start; + public Builder() {} + public Builder(GetGatewayRouteSpecHttpRouteMatchHeaderMatchRange defaults) { + Objects.requireNonNull(defaults); + this.end = defaults.end; + this.start = defaults.start; + } + + @CustomType.Setter + public Builder end(Integer end) { + this.end = Objects.requireNonNull(end); + return this; + } + @CustomType.Setter + public Builder start(Integer start) { + this.start = Objects.requireNonNull(start); + return this; + } + public GetGatewayRouteSpecHttpRouteMatchHeaderMatchRange build() { + final var o = new GetGatewayRouteSpecHttpRouteMatchHeaderMatchRange(); + o.end = end; + o.start = start; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetGatewayRouteSpecHttpRouteMatchHostname.java b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetGatewayRouteSpecHttpRouteMatchHostname.java new file mode 100644 index 00000000000..614610615ff --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetGatewayRouteSpecHttpRouteMatchHostname.java @@ -0,0 +1,58 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.appmesh.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.String; +import java.util.Objects; + +@CustomType +public final class GetGatewayRouteSpecHttpRouteMatchHostname { + private String exact; + private String suffix; + + private GetGatewayRouteSpecHttpRouteMatchHostname() {} + public String exact() { + return this.exact; + } + public String suffix() { + return this.suffix; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(GetGatewayRouteSpecHttpRouteMatchHostname defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private String exact; + private String suffix; + public Builder() {} + public Builder(GetGatewayRouteSpecHttpRouteMatchHostname defaults) { + Objects.requireNonNull(defaults); + this.exact = defaults.exact; + this.suffix = defaults.suffix; + } + + @CustomType.Setter + public Builder exact(String exact) { + this.exact = Objects.requireNonNull(exact); + return this; + } + @CustomType.Setter + public Builder suffix(String suffix) { + this.suffix = Objects.requireNonNull(suffix); + return this; + } + public GetGatewayRouteSpecHttpRouteMatchHostname build() { + final var o = new GetGatewayRouteSpecHttpRouteMatchHostname(); + o.exact = exact; + o.suffix = suffix; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetGatewayRouteSpecHttpRouteMatchPath.java b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetGatewayRouteSpecHttpRouteMatchPath.java new file mode 100644 index 00000000000..957d5ed61f8 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetGatewayRouteSpecHttpRouteMatchPath.java @@ -0,0 +1,58 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.appmesh.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.String; +import java.util.Objects; + +@CustomType +public final class GetGatewayRouteSpecHttpRouteMatchPath { + private String exact; + private String regex; + + private GetGatewayRouteSpecHttpRouteMatchPath() {} + public String exact() { + return this.exact; + } + public String regex() { + return this.regex; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(GetGatewayRouteSpecHttpRouteMatchPath defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private String exact; + private String regex; + public Builder() {} + public Builder(GetGatewayRouteSpecHttpRouteMatchPath defaults) { + Objects.requireNonNull(defaults); + this.exact = defaults.exact; + this.regex = defaults.regex; + } + + @CustomType.Setter + public Builder exact(String exact) { + this.exact = Objects.requireNonNull(exact); + return this; + } + @CustomType.Setter + public Builder regex(String regex) { + this.regex = Objects.requireNonNull(regex); + return this; + } + public GetGatewayRouteSpecHttpRouteMatchPath build() { + final var o = new GetGatewayRouteSpecHttpRouteMatchPath(); + o.exact = exact; + o.regex = regex; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetGatewayRouteSpecHttpRouteMatchQueryParameter.java b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetGatewayRouteSpecHttpRouteMatchQueryParameter.java new file mode 100644 index 00000000000..9d0933fbd24 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetGatewayRouteSpecHttpRouteMatchQueryParameter.java @@ -0,0 +1,71 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.appmesh.outputs; + +import com.pulumi.aws.appmesh.outputs.GetGatewayRouteSpecHttpRouteMatchQueryParameterMatch; +import com.pulumi.core.annotations.CustomType; +import java.lang.String; +import java.util.List; +import java.util.Objects; + +@CustomType +public final class GetGatewayRouteSpecHttpRouteMatchQueryParameter { + private List matches; + /** + * @return Name of the gateway route. + * + */ + private String name; + + private GetGatewayRouteSpecHttpRouteMatchQueryParameter() {} + public List matches() { + return this.matches; + } + /** + * @return Name of the gateway route. + * + */ + public String name() { + return this.name; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(GetGatewayRouteSpecHttpRouteMatchQueryParameter defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private List matches; + private String name; + public Builder() {} + public Builder(GetGatewayRouteSpecHttpRouteMatchQueryParameter defaults) { + Objects.requireNonNull(defaults); + this.matches = defaults.matches; + this.name = defaults.name; + } + + @CustomType.Setter + public Builder matches(List matches) { + this.matches = Objects.requireNonNull(matches); + return this; + } + public Builder matches(GetGatewayRouteSpecHttpRouteMatchQueryParameterMatch... matches) { + return matches(List.of(matches)); + } + @CustomType.Setter + public Builder name(String name) { + this.name = Objects.requireNonNull(name); + return this; + } + public GetGatewayRouteSpecHttpRouteMatchQueryParameter build() { + final var o = new GetGatewayRouteSpecHttpRouteMatchQueryParameter(); + o.matches = matches; + o.name = name; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetGatewayRouteSpecHttpRouteMatchQueryParameterMatch.java b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetGatewayRouteSpecHttpRouteMatchQueryParameterMatch.java new file mode 100644 index 00000000000..308d5683bbb --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetGatewayRouteSpecHttpRouteMatchQueryParameterMatch.java @@ -0,0 +1,46 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.appmesh.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.String; +import java.util.Objects; + +@CustomType +public final class GetGatewayRouteSpecHttpRouteMatchQueryParameterMatch { + private String exact; + + private GetGatewayRouteSpecHttpRouteMatchQueryParameterMatch() {} + public String exact() { + return this.exact; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(GetGatewayRouteSpecHttpRouteMatchQueryParameterMatch defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private String exact; + public Builder() {} + public Builder(GetGatewayRouteSpecHttpRouteMatchQueryParameterMatch defaults) { + Objects.requireNonNull(defaults); + this.exact = defaults.exact; + } + + @CustomType.Setter + public Builder exact(String exact) { + this.exact = Objects.requireNonNull(exact); + return this; + } + public GetGatewayRouteSpecHttpRouteMatchQueryParameterMatch build() { + final var o = new GetGatewayRouteSpecHttpRouteMatchQueryParameterMatch(); + o.exact = exact; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetMeshResult.java b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetMeshResult.java index a77aab9fe60..1c548239d2c 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetMeshResult.java +++ b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetMeshResult.java @@ -40,7 +40,7 @@ public final class GetMeshResult { */ private String resourceOwner; /** - * @return Service mesh specification. + * @return Service mesh specification. See the `aws.appmesh.Mesh` resource for details. * */ private List specs; @@ -93,7 +93,7 @@ public String resourceOwner() { return this.resourceOwner; } /** - * @return Service mesh specification. + * @return Service mesh specification. See the `aws.appmesh.Mesh` resource for details. * */ public List specs() { diff --git a/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetMeshSpec.java b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetMeshSpec.java index 84906775154..7afd03b9216 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetMeshSpec.java +++ b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetMeshSpec.java @@ -10,17 +10,9 @@ @CustomType public final class GetMeshSpec { - /** - * @return Egress filter rules for the service mesh. - * - */ private List egressFilters; private GetMeshSpec() {} - /** - * @return Egress filter rules for the service mesh. - * - */ public List egressFilters() { return this.egressFilters; } diff --git a/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetMeshSpecEgressFilter.java b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetMeshSpecEgressFilter.java index dd827495bd7..f5383182639 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetMeshSpecEgressFilter.java +++ b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetMeshSpecEgressFilter.java @@ -9,17 +9,9 @@ @CustomType public final class GetMeshSpecEgressFilter { - /** - * @return Egress filter type. - * - */ private String type; private GetMeshSpecEgressFilter() {} - /** - * @return Egress filter type. - * - */ public String type() { return this.type; } diff --git a/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetRouteResult.java b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetRouteResult.java index ecd87e1dffa..c8d52bd1c6d 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetRouteResult.java +++ b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetRouteResult.java @@ -41,7 +41,7 @@ public final class GetRouteResult { */ private String resourceOwner; /** - * @return Route specification + * @return Route specification. See the `aws.appmesh.Route` resource for details. * */ private List specs; @@ -98,7 +98,7 @@ public String resourceOwner() { return this.resourceOwner; } /** - * @return Route specification + * @return Route specification. See the `aws.appmesh.Route` resource for details. * */ public List specs() { diff --git a/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetRouteSpec.java b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetRouteSpec.java index a06c4ca3951..18b4c203a77 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetRouteSpec.java +++ b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetRouteSpec.java @@ -14,65 +14,25 @@ @CustomType public final class GetRouteSpec { - /** - * @return GRPC routing information for the route. - * - */ private List grpcRoutes; - /** - * @return HTTP/2 routing information for the route. - * - */ private List http2Routes; - /** - * @return HTTP routing information for the route. - * - */ private List httpRoutes; - /** - * @return Priority for the route, between `0` and `1000`. - * - */ private Integer priority; - /** - * @return TCP routing information for the route. - * - */ private List tcpRoutes; private GetRouteSpec() {} - /** - * @return GRPC routing information for the route. - * - */ public List grpcRoutes() { return this.grpcRoutes; } - /** - * @return HTTP/2 routing information for the route. - * - */ public List http2Routes() { return this.http2Routes; } - /** - * @return HTTP routing information for the route. - * - */ public List httpRoutes() { return this.httpRoutes; } - /** - * @return Priority for the route, between `0` and `1000`. - * - */ public Integer priority() { return this.priority; } - /** - * @return TCP routing information for the route. - * - */ public List tcpRoutes() { return this.tcpRoutes; } diff --git a/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetRouteSpecGrpcRoute.java b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetRouteSpecGrpcRoute.java index 377ad3b37c3..e56430f5819 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetRouteSpecGrpcRoute.java +++ b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetRouteSpecGrpcRoute.java @@ -13,53 +13,21 @@ @CustomType public final class GetRouteSpecGrpcRoute { - /** - * @return Action to take if a match is determined. - * - */ private List actions; - /** - * @return Criteria for determining an HTTP request match. - * - */ private List matches; - /** - * @return Retry policy. - * - */ private List retryPolicies; - /** - * @return Types of timeouts. - * - */ private List timeouts; private GetRouteSpecGrpcRoute() {} - /** - * @return Action to take if a match is determined. - * - */ public List actions() { return this.actions; } - /** - * @return Criteria for determining an HTTP request match. - * - */ public List matches() { return this.matches; } - /** - * @return Retry policy. - * - */ public List retryPolicies() { return this.retryPolicies; } - /** - * @return Types of timeouts. - * - */ public List timeouts() { return this.timeouts; } diff --git a/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetRouteSpecGrpcRouteMatchMetadata.java b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetRouteSpecGrpcRouteMatchMetadata.java index c767acf0592..59d94404113 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetRouteSpecGrpcRouteMatchMetadata.java +++ b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetRouteSpecGrpcRouteMatchMetadata.java @@ -13,10 +13,6 @@ @CustomType public final class GetRouteSpecGrpcRouteMatchMetadata { private Boolean invert; - /** - * @return Criteria for determining an HTTP request match. - * - */ private List matches; /** * @return Name of the route. @@ -28,10 +24,6 @@ private GetRouteSpecGrpcRouteMatchMetadata() {} public Boolean invert() { return this.invert; } - /** - * @return Criteria for determining an HTTP request match. - * - */ public List matches() { return this.matches; } diff --git a/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetRouteSpecHttp2Route.java b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetRouteSpecHttp2Route.java index 65a1b9a157c..c16ae67ef02 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetRouteSpecHttp2Route.java +++ b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetRouteSpecHttp2Route.java @@ -13,53 +13,21 @@ @CustomType public final class GetRouteSpecHttp2Route { - /** - * @return Action to take if a match is determined. - * - */ private List actions; - /** - * @return Criteria for determining an HTTP request match. - * - */ private List matches; - /** - * @return Retry policy. - * - */ private List retryPolicies; - /** - * @return Types of timeouts. - * - */ private List timeouts; private GetRouteSpecHttp2Route() {} - /** - * @return Action to take if a match is determined. - * - */ public List actions() { return this.actions; } - /** - * @return Criteria for determining an HTTP request match. - * - */ public List matches() { return this.matches; } - /** - * @return Retry policy. - * - */ public List retryPolicies() { return this.retryPolicies; } - /** - * @return Types of timeouts. - * - */ public List timeouts() { return this.timeouts; } diff --git a/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetRouteSpecHttp2RouteMatch.java b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetRouteSpecHttp2RouteMatch.java index 384d57b626b..4720fdef305 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetRouteSpecHttp2RouteMatch.java +++ b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetRouteSpecHttp2RouteMatch.java @@ -4,6 +4,8 @@ package com.pulumi.aws.appmesh.outputs; import com.pulumi.aws.appmesh.outputs.GetRouteSpecHttp2RouteMatchHeader; +import com.pulumi.aws.appmesh.outputs.GetRouteSpecHttp2RouteMatchPath; +import com.pulumi.aws.appmesh.outputs.GetRouteSpecHttp2RouteMatchQueryParameter; import com.pulumi.core.annotations.CustomType; import java.lang.Integer; import java.lang.String; @@ -14,8 +16,10 @@ public final class GetRouteSpecHttp2RouteMatch { private List headers; private String method; + private List paths; private Integer port; private String prefix; + private List queryParameters; private String scheme; private GetRouteSpecHttp2RouteMatch() {} @@ -25,12 +29,18 @@ public List headers() { public String method() { return this.method; } + public List paths() { + return this.paths; + } public Integer port() { return this.port; } public String prefix() { return this.prefix; } + public List queryParameters() { + return this.queryParameters; + } public String scheme() { return this.scheme; } @@ -46,16 +56,20 @@ public static Builder builder(GetRouteSpecHttp2RouteMatch defaults) { public static final class Builder { private List headers; private String method; + private List paths; private Integer port; private String prefix; + private List queryParameters; private String scheme; public Builder() {} public Builder(GetRouteSpecHttp2RouteMatch defaults) { Objects.requireNonNull(defaults); this.headers = defaults.headers; this.method = defaults.method; + this.paths = defaults.paths; this.port = defaults.port; this.prefix = defaults.prefix; + this.queryParameters = defaults.queryParameters; this.scheme = defaults.scheme; } @@ -73,6 +87,14 @@ public Builder method(String method) { return this; } @CustomType.Setter + public Builder paths(List paths) { + this.paths = Objects.requireNonNull(paths); + return this; + } + public Builder paths(GetRouteSpecHttp2RouteMatchPath... paths) { + return paths(List.of(paths)); + } + @CustomType.Setter public Builder port(Integer port) { this.port = Objects.requireNonNull(port); return this; @@ -83,6 +105,14 @@ public Builder prefix(String prefix) { return this; } @CustomType.Setter + public Builder queryParameters(List queryParameters) { + this.queryParameters = Objects.requireNonNull(queryParameters); + return this; + } + public Builder queryParameters(GetRouteSpecHttp2RouteMatchQueryParameter... queryParameters) { + return queryParameters(List.of(queryParameters)); + } + @CustomType.Setter public Builder scheme(String scheme) { this.scheme = Objects.requireNonNull(scheme); return this; @@ -91,8 +121,10 @@ public GetRouteSpecHttp2RouteMatch build() { final var o = new GetRouteSpecHttp2RouteMatch(); o.headers = headers; o.method = method; + o.paths = paths; o.port = port; o.prefix = prefix; + o.queryParameters = queryParameters; o.scheme = scheme; return o; } diff --git a/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetRouteSpecHttp2RouteMatchHeader.java b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetRouteSpecHttp2RouteMatchHeader.java index 2b2c693119c..77c10aa6123 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetRouteSpecHttp2RouteMatchHeader.java +++ b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetRouteSpecHttp2RouteMatchHeader.java @@ -13,10 +13,6 @@ @CustomType public final class GetRouteSpecHttp2RouteMatchHeader { private Boolean invert; - /** - * @return Criteria for determining an HTTP request match. - * - */ private List matches; /** * @return Name of the route. @@ -28,10 +24,6 @@ private GetRouteSpecHttp2RouteMatchHeader() {} public Boolean invert() { return this.invert; } - /** - * @return Criteria for determining an HTTP request match. - * - */ public List matches() { return this.matches; } diff --git a/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetRouteSpecHttp2RouteMatchPath.java b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetRouteSpecHttp2RouteMatchPath.java new file mode 100644 index 00000000000..fd334139e1a --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetRouteSpecHttp2RouteMatchPath.java @@ -0,0 +1,58 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.appmesh.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.String; +import java.util.Objects; + +@CustomType +public final class GetRouteSpecHttp2RouteMatchPath { + private String exact; + private String regex; + + private GetRouteSpecHttp2RouteMatchPath() {} + public String exact() { + return this.exact; + } + public String regex() { + return this.regex; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(GetRouteSpecHttp2RouteMatchPath defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private String exact; + private String regex; + public Builder() {} + public Builder(GetRouteSpecHttp2RouteMatchPath defaults) { + Objects.requireNonNull(defaults); + this.exact = defaults.exact; + this.regex = defaults.regex; + } + + @CustomType.Setter + public Builder exact(String exact) { + this.exact = Objects.requireNonNull(exact); + return this; + } + @CustomType.Setter + public Builder regex(String regex) { + this.regex = Objects.requireNonNull(regex); + return this; + } + public GetRouteSpecHttp2RouteMatchPath build() { + final var o = new GetRouteSpecHttp2RouteMatchPath(); + o.exact = exact; + o.regex = regex; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetRouteSpecHttp2RouteMatchQueryParameter.java b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetRouteSpecHttp2RouteMatchQueryParameter.java new file mode 100644 index 00000000000..dfe92c38610 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetRouteSpecHttp2RouteMatchQueryParameter.java @@ -0,0 +1,71 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.appmesh.outputs; + +import com.pulumi.aws.appmesh.outputs.GetRouteSpecHttp2RouteMatchQueryParameterMatch; +import com.pulumi.core.annotations.CustomType; +import java.lang.String; +import java.util.List; +import java.util.Objects; + +@CustomType +public final class GetRouteSpecHttp2RouteMatchQueryParameter { + private List matches; + /** + * @return Name of the route. + * + */ + private String name; + + private GetRouteSpecHttp2RouteMatchQueryParameter() {} + public List matches() { + return this.matches; + } + /** + * @return Name of the route. + * + */ + public String name() { + return this.name; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(GetRouteSpecHttp2RouteMatchQueryParameter defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private List matches; + private String name; + public Builder() {} + public Builder(GetRouteSpecHttp2RouteMatchQueryParameter defaults) { + Objects.requireNonNull(defaults); + this.matches = defaults.matches; + this.name = defaults.name; + } + + @CustomType.Setter + public Builder matches(List matches) { + this.matches = Objects.requireNonNull(matches); + return this; + } + public Builder matches(GetRouteSpecHttp2RouteMatchQueryParameterMatch... matches) { + return matches(List.of(matches)); + } + @CustomType.Setter + public Builder name(String name) { + this.name = Objects.requireNonNull(name); + return this; + } + public GetRouteSpecHttp2RouteMatchQueryParameter build() { + final var o = new GetRouteSpecHttp2RouteMatchQueryParameter(); + o.matches = matches; + o.name = name; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetRouteSpecHttp2RouteMatchQueryParameterMatch.java b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetRouteSpecHttp2RouteMatchQueryParameterMatch.java new file mode 100644 index 00000000000..cb83bf3b3ac --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetRouteSpecHttp2RouteMatchQueryParameterMatch.java @@ -0,0 +1,46 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.appmesh.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.String; +import java.util.Objects; + +@CustomType +public final class GetRouteSpecHttp2RouteMatchQueryParameterMatch { + private String exact; + + private GetRouteSpecHttp2RouteMatchQueryParameterMatch() {} + public String exact() { + return this.exact; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(GetRouteSpecHttp2RouteMatchQueryParameterMatch defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private String exact; + public Builder() {} + public Builder(GetRouteSpecHttp2RouteMatchQueryParameterMatch defaults) { + Objects.requireNonNull(defaults); + this.exact = defaults.exact; + } + + @CustomType.Setter + public Builder exact(String exact) { + this.exact = Objects.requireNonNull(exact); + return this; + } + public GetRouteSpecHttp2RouteMatchQueryParameterMatch build() { + final var o = new GetRouteSpecHttp2RouteMatchQueryParameterMatch(); + o.exact = exact; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetRouteSpecHttpRoute.java b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetRouteSpecHttpRoute.java index c283f6e6629..3332fa08e99 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetRouteSpecHttpRoute.java +++ b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetRouteSpecHttpRoute.java @@ -13,53 +13,21 @@ @CustomType public final class GetRouteSpecHttpRoute { - /** - * @return Action to take if a match is determined. - * - */ private List actions; - /** - * @return Criteria for determining an HTTP request match. - * - */ private List matches; - /** - * @return Retry policy. - * - */ private List retryPolicies; - /** - * @return Types of timeouts. - * - */ private List timeouts; private GetRouteSpecHttpRoute() {} - /** - * @return Action to take if a match is determined. - * - */ public List actions() { return this.actions; } - /** - * @return Criteria for determining an HTTP request match. - * - */ public List matches() { return this.matches; } - /** - * @return Retry policy. - * - */ public List retryPolicies() { return this.retryPolicies; } - /** - * @return Types of timeouts. - * - */ public List timeouts() { return this.timeouts; } diff --git a/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetRouteSpecHttpRouteMatch.java b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetRouteSpecHttpRouteMatch.java index 3a806b6e402..ca126a4527c 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetRouteSpecHttpRouteMatch.java +++ b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetRouteSpecHttpRouteMatch.java @@ -4,6 +4,8 @@ package com.pulumi.aws.appmesh.outputs; import com.pulumi.aws.appmesh.outputs.GetRouteSpecHttpRouteMatchHeader; +import com.pulumi.aws.appmesh.outputs.GetRouteSpecHttpRouteMatchPath; +import com.pulumi.aws.appmesh.outputs.GetRouteSpecHttpRouteMatchQueryParameter; import com.pulumi.core.annotations.CustomType; import java.lang.Integer; import java.lang.String; @@ -14,8 +16,10 @@ public final class GetRouteSpecHttpRouteMatch { private List headers; private String method; + private List paths; private Integer port; private String prefix; + private List queryParameters; private String scheme; private GetRouteSpecHttpRouteMatch() {} @@ -25,12 +29,18 @@ public List headers() { public String method() { return this.method; } + public List paths() { + return this.paths; + } public Integer port() { return this.port; } public String prefix() { return this.prefix; } + public List queryParameters() { + return this.queryParameters; + } public String scheme() { return this.scheme; } @@ -46,16 +56,20 @@ public static Builder builder(GetRouteSpecHttpRouteMatch defaults) { public static final class Builder { private List headers; private String method; + private List paths; private Integer port; private String prefix; + private List queryParameters; private String scheme; public Builder() {} public Builder(GetRouteSpecHttpRouteMatch defaults) { Objects.requireNonNull(defaults); this.headers = defaults.headers; this.method = defaults.method; + this.paths = defaults.paths; this.port = defaults.port; this.prefix = defaults.prefix; + this.queryParameters = defaults.queryParameters; this.scheme = defaults.scheme; } @@ -73,6 +87,14 @@ public Builder method(String method) { return this; } @CustomType.Setter + public Builder paths(List paths) { + this.paths = Objects.requireNonNull(paths); + return this; + } + public Builder paths(GetRouteSpecHttpRouteMatchPath... paths) { + return paths(List.of(paths)); + } + @CustomType.Setter public Builder port(Integer port) { this.port = Objects.requireNonNull(port); return this; @@ -83,6 +105,14 @@ public Builder prefix(String prefix) { return this; } @CustomType.Setter + public Builder queryParameters(List queryParameters) { + this.queryParameters = Objects.requireNonNull(queryParameters); + return this; + } + public Builder queryParameters(GetRouteSpecHttpRouteMatchQueryParameter... queryParameters) { + return queryParameters(List.of(queryParameters)); + } + @CustomType.Setter public Builder scheme(String scheme) { this.scheme = Objects.requireNonNull(scheme); return this; @@ -91,8 +121,10 @@ public GetRouteSpecHttpRouteMatch build() { final var o = new GetRouteSpecHttpRouteMatch(); o.headers = headers; o.method = method; + o.paths = paths; o.port = port; o.prefix = prefix; + o.queryParameters = queryParameters; o.scheme = scheme; return o; } diff --git a/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetRouteSpecHttpRouteMatchHeader.java b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetRouteSpecHttpRouteMatchHeader.java index c437eca708e..0f606dd63c8 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetRouteSpecHttpRouteMatchHeader.java +++ b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetRouteSpecHttpRouteMatchHeader.java @@ -13,10 +13,6 @@ @CustomType public final class GetRouteSpecHttpRouteMatchHeader { private Boolean invert; - /** - * @return Criteria for determining an HTTP request match. - * - */ private List matches; /** * @return Name of the route. @@ -28,10 +24,6 @@ private GetRouteSpecHttpRouteMatchHeader() {} public Boolean invert() { return this.invert; } - /** - * @return Criteria for determining an HTTP request match. - * - */ public List matches() { return this.matches; } diff --git a/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetRouteSpecHttpRouteMatchPath.java b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetRouteSpecHttpRouteMatchPath.java new file mode 100644 index 00000000000..57c21fce5aa --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetRouteSpecHttpRouteMatchPath.java @@ -0,0 +1,58 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.appmesh.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.String; +import java.util.Objects; + +@CustomType +public final class GetRouteSpecHttpRouteMatchPath { + private String exact; + private String regex; + + private GetRouteSpecHttpRouteMatchPath() {} + public String exact() { + return this.exact; + } + public String regex() { + return this.regex; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(GetRouteSpecHttpRouteMatchPath defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private String exact; + private String regex; + public Builder() {} + public Builder(GetRouteSpecHttpRouteMatchPath defaults) { + Objects.requireNonNull(defaults); + this.exact = defaults.exact; + this.regex = defaults.regex; + } + + @CustomType.Setter + public Builder exact(String exact) { + this.exact = Objects.requireNonNull(exact); + return this; + } + @CustomType.Setter + public Builder regex(String regex) { + this.regex = Objects.requireNonNull(regex); + return this; + } + public GetRouteSpecHttpRouteMatchPath build() { + final var o = new GetRouteSpecHttpRouteMatchPath(); + o.exact = exact; + o.regex = regex; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetRouteSpecHttpRouteMatchQueryParameter.java b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetRouteSpecHttpRouteMatchQueryParameter.java new file mode 100644 index 00000000000..87a926686b9 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetRouteSpecHttpRouteMatchQueryParameter.java @@ -0,0 +1,71 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.appmesh.outputs; + +import com.pulumi.aws.appmesh.outputs.GetRouteSpecHttpRouteMatchQueryParameterMatch; +import com.pulumi.core.annotations.CustomType; +import java.lang.String; +import java.util.List; +import java.util.Objects; + +@CustomType +public final class GetRouteSpecHttpRouteMatchQueryParameter { + private List matches; + /** + * @return Name of the route. + * + */ + private String name; + + private GetRouteSpecHttpRouteMatchQueryParameter() {} + public List matches() { + return this.matches; + } + /** + * @return Name of the route. + * + */ + public String name() { + return this.name; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(GetRouteSpecHttpRouteMatchQueryParameter defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private List matches; + private String name; + public Builder() {} + public Builder(GetRouteSpecHttpRouteMatchQueryParameter defaults) { + Objects.requireNonNull(defaults); + this.matches = defaults.matches; + this.name = defaults.name; + } + + @CustomType.Setter + public Builder matches(List matches) { + this.matches = Objects.requireNonNull(matches); + return this; + } + public Builder matches(GetRouteSpecHttpRouteMatchQueryParameterMatch... matches) { + return matches(List.of(matches)); + } + @CustomType.Setter + public Builder name(String name) { + this.name = Objects.requireNonNull(name); + return this; + } + public GetRouteSpecHttpRouteMatchQueryParameter build() { + final var o = new GetRouteSpecHttpRouteMatchQueryParameter(); + o.matches = matches; + o.name = name; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetRouteSpecHttpRouteMatchQueryParameterMatch.java b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetRouteSpecHttpRouteMatchQueryParameterMatch.java new file mode 100644 index 00000000000..e48ce86f100 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetRouteSpecHttpRouteMatchQueryParameterMatch.java @@ -0,0 +1,46 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.appmesh.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.String; +import java.util.Objects; + +@CustomType +public final class GetRouteSpecHttpRouteMatchQueryParameterMatch { + private String exact; + + private GetRouteSpecHttpRouteMatchQueryParameterMatch() {} + public String exact() { + return this.exact; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(GetRouteSpecHttpRouteMatchQueryParameterMatch defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private String exact; + public Builder() {} + public Builder(GetRouteSpecHttpRouteMatchQueryParameterMatch defaults) { + Objects.requireNonNull(defaults); + this.exact = defaults.exact; + } + + @CustomType.Setter + public Builder exact(String exact) { + this.exact = Objects.requireNonNull(exact); + return this; + } + public GetRouteSpecHttpRouteMatchQueryParameterMatch build() { + final var o = new GetRouteSpecHttpRouteMatchQueryParameterMatch(); + o.exact = exact; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetRouteSpecTcpRoute.java b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetRouteSpecTcpRoute.java index a06ec4125c7..ea091e82fbf 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetRouteSpecTcpRoute.java +++ b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetRouteSpecTcpRoute.java @@ -12,41 +12,17 @@ @CustomType public final class GetRouteSpecTcpRoute { - /** - * @return Action to take if a match is determined. - * - */ private List actions; - /** - * @return Criteria for determining an HTTP request match. - * - */ private List matches; - /** - * @return Types of timeouts. - * - */ private List timeouts; private GetRouteSpecTcpRoute() {} - /** - * @return Action to take if a match is determined. - * - */ public List actions() { return this.actions; } - /** - * @return Criteria for determining an HTTP request match. - * - */ public List matches() { return this.matches; } - /** - * @return Types of timeouts. - * - */ public List timeouts() { return this.timeouts; } diff --git a/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualGatewayResult.java b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualGatewayResult.java index e44ad35f85e..357543f0654 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualGatewayResult.java +++ b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualGatewayResult.java @@ -41,7 +41,7 @@ public final class GetVirtualGatewayResult { */ private String resourceOwner; /** - * @return Virtual gateway specification + * @return Virtual gateway specification. See the `aws.appmesh.VirtualGateway` resource for details. * */ private List specs; @@ -97,7 +97,7 @@ public String resourceOwner() { return this.resourceOwner; } /** - * @return Virtual gateway specification + * @return Virtual gateway specification. See the `aws.appmesh.VirtualGateway` resource for details. * */ public List specs() { diff --git a/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualGatewaySpec.java b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualGatewaySpec.java index 82eb1fa8f16..c18b1e0c063 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualGatewaySpec.java +++ b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualGatewaySpec.java @@ -12,41 +12,17 @@ @CustomType public final class GetVirtualGatewaySpec { - /** - * @return Defaults for backends. - * - */ private List backendDefaults; - /** - * @return Listeners that the mesh endpoint is expected to receive inbound traffic from. You can specify one listener. - * - */ private List listeners; - /** - * @return Inbound and outbound access logging information for the virtual gateway. - * - */ private List loggings; private GetVirtualGatewaySpec() {} - /** - * @return Defaults for backends. - * - */ public List backendDefaults() { return this.backendDefaults; } - /** - * @return Listeners that the mesh endpoint is expected to receive inbound traffic from. You can specify one listener. - * - */ public List listeners() { return this.listeners; } - /** - * @return Inbound and outbound access logging information for the virtual gateway. - * - */ public List loggings() { return this.loggings; } diff --git a/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualGatewaySpecBackendDefault.java b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualGatewaySpecBackendDefault.java index 5f5c2ff1974..9e6b7658933 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualGatewaySpecBackendDefault.java +++ b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualGatewaySpecBackendDefault.java @@ -10,17 +10,9 @@ @CustomType public final class GetVirtualGatewaySpecBackendDefault { - /** - * @return Default client policy for virtual gateway backends. - * - */ private List clientPolicies; private GetVirtualGatewaySpecBackendDefault() {} - /** - * @return Default client policy for virtual gateway backends. - * - */ public List clientPolicies() { return this.clientPolicies; } diff --git a/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualGatewaySpecBackendDefaultClientPolicy.java b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualGatewaySpecBackendDefaultClientPolicy.java index 6ad85e7ea4c..aa8ebcc6c73 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualGatewaySpecBackendDefaultClientPolicy.java +++ b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualGatewaySpecBackendDefaultClientPolicy.java @@ -10,17 +10,9 @@ @CustomType public final class GetVirtualGatewaySpecBackendDefaultClientPolicy { - /** - * @return Transport Layer Security (TLS) properties for the listener - * - */ private List tls; private GetVirtualGatewaySpecBackendDefaultClientPolicy() {} - /** - * @return Transport Layer Security (TLS) properties for the listener - * - */ public List tls() { return this.tls; } diff --git a/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualGatewaySpecBackendDefaultClientPolicyTl.java b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualGatewaySpecBackendDefaultClientPolicyTl.java index a278db3817e..40a4b0364a7 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualGatewaySpecBackendDefaultClientPolicyTl.java +++ b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualGatewaySpecBackendDefaultClientPolicyTl.java @@ -13,53 +13,21 @@ @CustomType public final class GetVirtualGatewaySpecBackendDefaultClientPolicyTl { - /** - * @return Listener's TLS certificate. - * - */ private List certificates; - /** - * @return Whether the policy is enforced. Default is `true`. - * - */ private Boolean enforce; - /** - * @return One or more ports that the policy is enforced for. - * - */ private List ports; - /** - * @return Listener's Transport Layer Security (TLS) validation context. - * - */ private List validations; private GetVirtualGatewaySpecBackendDefaultClientPolicyTl() {} - /** - * @return Listener's TLS certificate. - * - */ public List certificates() { return this.certificates; } - /** - * @return Whether the policy is enforced. Default is `true`. - * - */ public Boolean enforce() { return this.enforce; } - /** - * @return One or more ports that the policy is enforced for. - * - */ public List ports() { return this.ports; } - /** - * @return Listener's Transport Layer Security (TLS) validation context. - * - */ public List validations() { return this.validations; } diff --git a/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificate.java b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificate.java index a86e5b5c4f9..a14583b6e34 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificate.java +++ b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificate.java @@ -11,29 +11,13 @@ @CustomType public final class GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificate { - /** - * @return TLS validation context trust for a local file certificate. - * - */ private List files; - /** - * @return TLS validation context trust for a [Secret Discovery Service](https://www.envoyproxy.io/docs/envoy/latest/configuration/security/secret#secret-discovery-service-sds) certificate. - * - */ private List sds; private GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificate() {} - /** - * @return TLS validation context trust for a local file certificate. - * - */ public List files() { return this.files; } - /** - * @return TLS validation context trust for a [Secret Discovery Service](https://www.envoyproxy.io/docs/envoy/latest/configuration/security/secret#secret-discovery-service-sds) certificate. - * - */ public List sds() { return this.sds; } diff --git a/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateFile.java b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateFile.java index 03483b80cd8..4c058baaedb 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateFile.java +++ b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateFile.java @@ -9,29 +9,13 @@ @CustomType public final class GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateFile { - /** - * @return Certificate trust chain for a certificate stored on the file system of the mesh endpoint that the proxy is running on. Must be between 1 and 255 characters in length. - * - */ private String certificateChain; - /** - * @return Private key for a certificate stored on the file system of the mesh endpoint that the proxy is running on. Must be between 1 and 255 characters in length. - * - */ private String privateKey; private GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateFile() {} - /** - * @return Certificate trust chain for a certificate stored on the file system of the mesh endpoint that the proxy is running on. Must be between 1 and 255 characters in length. - * - */ public String certificateChain() { return this.certificateChain; } - /** - * @return Private key for a certificate stored on the file system of the mesh endpoint that the proxy is running on. Must be between 1 and 255 characters in length. - * - */ public String privateKey() { return this.privateKey; } diff --git a/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateSd.java b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateSd.java index e29488048e4..4af765c3537 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateSd.java +++ b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateSd.java @@ -9,17 +9,9 @@ @CustomType public final class GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateSd { - /** - * @return Name of the secret for a virtual gateway's Transport Layer Security (TLS) Secret Discovery Service validation context trust. - * - */ private String secretName; private GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateSd() {} - /** - * @return Name of the secret for a virtual gateway's Transport Layer Security (TLS) Secret Discovery Service validation context trust. - * - */ public String secretName() { return this.secretName; } diff --git a/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidation.java b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidation.java index 3165f46dafa..ce6139bf2fd 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidation.java +++ b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidation.java @@ -11,29 +11,13 @@ @CustomType public final class GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidation { - /** - * @return SANs for a virtual gateway's listener's Transport Layer Security (TLS) validation context. - * - */ private List subjectAlternativeNames; - /** - * @return TLS validation context trust. - * - */ private List trusts; private GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidation() {} - /** - * @return SANs for a virtual gateway's listener's Transport Layer Security (TLS) validation context. - * - */ public List subjectAlternativeNames() { return this.subjectAlternativeNames; } - /** - * @return TLS validation context trust. - * - */ public List trusts() { return this.trusts; } diff --git a/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationSubjectAlternativeName.java b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationSubjectAlternativeName.java index d608eba111b..f3c7b2a4ed8 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationSubjectAlternativeName.java +++ b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationSubjectAlternativeName.java @@ -10,17 +10,9 @@ @CustomType public final class GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationSubjectAlternativeName { - /** - * @return Criteria for determining a SAN's match. - * - */ private List matches; private GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationSubjectAlternativeName() {} - /** - * @return Criteria for determining a SAN's match. - * - */ public List matches() { return this.matches; } diff --git a/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameMatch.java b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameMatch.java index 8584c7e4aa2..46d393ee06d 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameMatch.java +++ b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameMatch.java @@ -10,17 +10,9 @@ @CustomType public final class GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameMatch { - /** - * @return Values sent must match the specified values exactly. - * - */ private List exacts; private GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameMatch() {} - /** - * @return Values sent must match the specified values exactly. - * - */ public List exacts() { return this.exacts; } diff --git a/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrust.java b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrust.java index 608d3c01748..2bfc77ef59e 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrust.java +++ b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrust.java @@ -12,41 +12,17 @@ @CustomType public final class GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrust { - /** - * @return An AWS Certificate Manager (ACM) certificate. - * - */ private List acms; - /** - * @return TLS validation context trust for a local file certificate. - * - */ private List files; - /** - * @return TLS validation context trust for a [Secret Discovery Service](https://www.envoyproxy.io/docs/envoy/latest/configuration/security/secret#secret-discovery-service-sds) certificate. - * - */ private List sds; private GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrust() {} - /** - * @return An AWS Certificate Manager (ACM) certificate. - * - */ public List acms() { return this.acms; } - /** - * @return TLS validation context trust for a local file certificate. - * - */ public List files() { return this.files; } - /** - * @return TLS validation context trust for a [Secret Discovery Service](https://www.envoyproxy.io/docs/envoy/latest/configuration/security/secret#secret-discovery-service-sds) certificate. - * - */ public List sds() { return this.sds; } diff --git a/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustAcm.java b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustAcm.java index 60d2dca22cf..242b4ce1a4a 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustAcm.java +++ b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustAcm.java @@ -10,17 +10,9 @@ @CustomType public final class GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustAcm { - /** - * @return One or more ACM ARNs. - * - */ private List certificateAuthorityArns; private GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustAcm() {} - /** - * @return One or more ACM ARNs. - * - */ public List certificateAuthorityArns() { return this.certificateAuthorityArns; } diff --git a/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustFile.java b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustFile.java index a97019493ae..10a5baefd26 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustFile.java +++ b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustFile.java @@ -9,17 +9,9 @@ @CustomType public final class GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustFile { - /** - * @return Certificate trust chain for a certificate stored on the file system of the mesh endpoint that the proxy is running on. Must be between 1 and 255 characters in length. - * - */ private String certificateChain; private GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustFile() {} - /** - * @return Certificate trust chain for a certificate stored on the file system of the mesh endpoint that the proxy is running on. Must be between 1 and 255 characters in length. - * - */ public String certificateChain() { return this.certificateChain; } diff --git a/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustSd.java b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustSd.java index 6c08f26a1ee..ab7f5c5bfe6 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustSd.java +++ b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustSd.java @@ -9,17 +9,9 @@ @CustomType public final class GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustSd { - /** - * @return Name of the secret for a virtual gateway's Transport Layer Security (TLS) Secret Discovery Service validation context trust. - * - */ private String secretName; private GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustSd() {} - /** - * @return Name of the secret for a virtual gateway's Transport Layer Security (TLS) Secret Discovery Service validation context trust. - * - */ public String secretName() { return this.secretName; } diff --git a/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualGatewaySpecListener.java b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualGatewaySpecListener.java index c2b9db3e0f6..8bf1b174040 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualGatewaySpecListener.java +++ b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualGatewaySpecListener.java @@ -13,53 +13,21 @@ @CustomType public final class GetVirtualGatewaySpecListener { - /** - * @return Connection pool information for the listener. - * - */ private List connectionPools; - /** - * @return Health check information for the listener. - * - */ private List healthChecks; - /** - * @return Port mapping information for the listener. - * - */ private List portMappings; - /** - * @return Transport Layer Security (TLS) properties for the listener - * - */ private List tls; private GetVirtualGatewaySpecListener() {} - /** - * @return Connection pool information for the listener. - * - */ public List connectionPools() { return this.connectionPools; } - /** - * @return Health check information for the listener. - * - */ public List healthChecks() { return this.healthChecks; } - /** - * @return Port mapping information for the listener. - * - */ public List portMappings() { return this.portMappings; } - /** - * @return Transport Layer Security (TLS) properties for the listener - * - */ public List tls() { return this.tls; } diff --git a/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualGatewaySpecListenerConnectionPool.java b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualGatewaySpecListenerConnectionPool.java index 0ca268ec975..8ab68f82723 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualGatewaySpecListenerConnectionPool.java +++ b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualGatewaySpecListenerConnectionPool.java @@ -12,41 +12,17 @@ @CustomType public final class GetVirtualGatewaySpecListenerConnectionPool { - /** - * @return Connection pool information for gRPC listeners. - * - */ private List grpcs; - /** - * @return Connection pool information for HTTP2 listeners. - * - */ private List http2s; - /** - * @return Connection pool information for HTTP listeners. - * - */ private List https; private GetVirtualGatewaySpecListenerConnectionPool() {} - /** - * @return Connection pool information for gRPC listeners. - * - */ public List grpcs() { return this.grpcs; } - /** - * @return Connection pool information for HTTP2 listeners. - * - */ public List http2s() { return this.http2s; } - /** - * @return Connection pool information for HTTP listeners. - * - */ public List https() { return this.https; } diff --git a/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualGatewaySpecListenerConnectionPoolGrpc.java b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualGatewaySpecListenerConnectionPoolGrpc.java index 2de8d4ac511..e2c02be6d8e 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualGatewaySpecListenerConnectionPoolGrpc.java +++ b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualGatewaySpecListenerConnectionPoolGrpc.java @@ -9,17 +9,9 @@ @CustomType public final class GetVirtualGatewaySpecListenerConnectionPoolGrpc { - /** - * @return Maximum number of inflight requests Envoy can concurrently support across hosts in upstream cluster. Minimum value of `1`. - * - */ private Integer maxRequests; private GetVirtualGatewaySpecListenerConnectionPoolGrpc() {} - /** - * @return Maximum number of inflight requests Envoy can concurrently support across hosts in upstream cluster. Minimum value of `1`. - * - */ public Integer maxRequests() { return this.maxRequests; } diff --git a/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualGatewaySpecListenerConnectionPoolHttp.java b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualGatewaySpecListenerConnectionPoolHttp.java index 756090eede0..9682f0c3bb5 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualGatewaySpecListenerConnectionPoolHttp.java +++ b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualGatewaySpecListenerConnectionPoolHttp.java @@ -9,29 +9,13 @@ @CustomType public final class GetVirtualGatewaySpecListenerConnectionPoolHttp { - /** - * @return Maximum number of outbound TCP connections Envoy can establish concurrently with all hosts in upstream cluster. Minimum value of `1`. - * - */ private Integer maxConnections; - /** - * @return Number of overflowing requests after `max_connections` Envoy will queue to upstream cluster. Minimum value of `1`. - * - */ private Integer maxPendingRequests; private GetVirtualGatewaySpecListenerConnectionPoolHttp() {} - /** - * @return Maximum number of outbound TCP connections Envoy can establish concurrently with all hosts in upstream cluster. Minimum value of `1`. - * - */ public Integer maxConnections() { return this.maxConnections; } - /** - * @return Number of overflowing requests after `max_connections` Envoy will queue to upstream cluster. Minimum value of `1`. - * - */ public Integer maxPendingRequests() { return this.maxPendingRequests; } diff --git a/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualGatewaySpecListenerConnectionPoolHttp2.java b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualGatewaySpecListenerConnectionPoolHttp2.java index 78de71d77f7..8cb657dbdce 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualGatewaySpecListenerConnectionPoolHttp2.java +++ b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualGatewaySpecListenerConnectionPoolHttp2.java @@ -9,17 +9,9 @@ @CustomType public final class GetVirtualGatewaySpecListenerConnectionPoolHttp2 { - /** - * @return Maximum number of inflight requests Envoy can concurrently support across hosts in upstream cluster. Minimum value of `1`. - * - */ private Integer maxRequests; private GetVirtualGatewaySpecListenerConnectionPoolHttp2() {} - /** - * @return Maximum number of inflight requests Envoy can concurrently support across hosts in upstream cluster. Minimum value of `1`. - * - */ public Integer maxRequests() { return this.maxRequests; } diff --git a/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualGatewaySpecListenerHealthCheck.java b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualGatewaySpecListenerHealthCheck.java index 4d5da40c448..90fed06b1b0 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualGatewaySpecListenerHealthCheck.java +++ b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualGatewaySpecListenerHealthCheck.java @@ -10,89 +10,33 @@ @CustomType public final class GetVirtualGatewaySpecListenerHealthCheck { - /** - * @return Number of consecutive successful health checks that must occur before declaring listener healthy. - * - */ private Integer healthyThreshold; - /** - * @return Time period in milliseconds between each health check execution. - * - */ private Integer intervalMillis; - /** - * @return Destination path for the health check request. This is only required if the specified protocol is `http` or `http2`. - * - */ private String path; - /** - * @return Destination port for the health check request. This port must match the port defined in the `port_mapping` for the listener. - * - */ private Integer port; - /** - * @return Protocol for the health check request. Valid values are `http`, `http2`, and `grpc`. - * - */ private String protocol; - /** - * @return Amount of time to wait when receiving a response from the health check, in milliseconds. - * - */ private Integer timeoutMillis; - /** - * @return Number of consecutive failed health checks that must occur before declaring a virtual gateway unhealthy. - * - */ private Integer unhealthyThreshold; private GetVirtualGatewaySpecListenerHealthCheck() {} - /** - * @return Number of consecutive successful health checks that must occur before declaring listener healthy. - * - */ public Integer healthyThreshold() { return this.healthyThreshold; } - /** - * @return Time period in milliseconds between each health check execution. - * - */ public Integer intervalMillis() { return this.intervalMillis; } - /** - * @return Destination path for the health check request. This is only required if the specified protocol is `http` or `http2`. - * - */ public String path() { return this.path; } - /** - * @return Destination port for the health check request. This port must match the port defined in the `port_mapping` for the listener. - * - */ public Integer port() { return this.port; } - /** - * @return Protocol for the health check request. Valid values are `http`, `http2`, and `grpc`. - * - */ public String protocol() { return this.protocol; } - /** - * @return Amount of time to wait when receiving a response from the health check, in milliseconds. - * - */ public Integer timeoutMillis() { return this.timeoutMillis; } - /** - * @return Number of consecutive failed health checks that must occur before declaring a virtual gateway unhealthy. - * - */ public Integer unhealthyThreshold() { return this.unhealthyThreshold; } diff --git a/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualGatewaySpecListenerPortMapping.java b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualGatewaySpecListenerPortMapping.java index 2378c542324..78a12229a5c 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualGatewaySpecListenerPortMapping.java +++ b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualGatewaySpecListenerPortMapping.java @@ -10,29 +10,13 @@ @CustomType public final class GetVirtualGatewaySpecListenerPortMapping { - /** - * @return Destination port for the health check request. This port must match the port defined in the `port_mapping` for the listener. - * - */ private Integer port; - /** - * @return Protocol for the health check request. Valid values are `http`, `http2`, and `grpc`. - * - */ private String protocol; private GetVirtualGatewaySpecListenerPortMapping() {} - /** - * @return Destination port for the health check request. This port must match the port defined in the `port_mapping` for the listener. - * - */ public Integer port() { return this.port; } - /** - * @return Protocol for the health check request. Valid values are `http`, `http2`, and `grpc`. - * - */ public String protocol() { return this.protocol; } diff --git a/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualGatewaySpecListenerTl.java b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualGatewaySpecListenerTl.java index 88094a04a4d..4fddd84e2d4 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualGatewaySpecListenerTl.java +++ b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualGatewaySpecListenerTl.java @@ -12,41 +12,17 @@ @CustomType public final class GetVirtualGatewaySpecListenerTl { - /** - * @return Listener's TLS certificate. - * - */ private List certificates; - /** - * @return Listener's TLS mode. Valid values: `DISABLED`, `PERMISSIVE`, `STRICT`. - * - */ private String mode; - /** - * @return Listener's Transport Layer Security (TLS) validation context. - * - */ private List validations; private GetVirtualGatewaySpecListenerTl() {} - /** - * @return Listener's TLS certificate. - * - */ public List certificates() { return this.certificates; } - /** - * @return Listener's TLS mode. Valid values: `DISABLED`, `PERMISSIVE`, `STRICT`. - * - */ public String mode() { return this.mode; } - /** - * @return Listener's Transport Layer Security (TLS) validation context. - * - */ public List validations() { return this.validations; } diff --git a/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualGatewaySpecListenerTlCertificate.java b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualGatewaySpecListenerTlCertificate.java index 609bb49ff6d..7563925c3e6 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualGatewaySpecListenerTlCertificate.java +++ b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualGatewaySpecListenerTlCertificate.java @@ -12,41 +12,17 @@ @CustomType public final class GetVirtualGatewaySpecListenerTlCertificate { - /** - * @return An AWS Certificate Manager (ACM) certificate. - * - */ private List acms; - /** - * @return TLS validation context trust for a local file certificate. - * - */ private List files; - /** - * @return TLS validation context trust for a [Secret Discovery Service](https://www.envoyproxy.io/docs/envoy/latest/configuration/security/secret#secret-discovery-service-sds) certificate. - * - */ private List sds; private GetVirtualGatewaySpecListenerTlCertificate() {} - /** - * @return An AWS Certificate Manager (ACM) certificate. - * - */ public List acms() { return this.acms; } - /** - * @return TLS validation context trust for a local file certificate. - * - */ public List files() { return this.files; } - /** - * @return TLS validation context trust for a [Secret Discovery Service](https://www.envoyproxy.io/docs/envoy/latest/configuration/security/secret#secret-discovery-service-sds) certificate. - * - */ public List sds() { return this.sds; } diff --git a/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualGatewaySpecListenerTlCertificateAcm.java b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualGatewaySpecListenerTlCertificateAcm.java index 614435114cc..8a8bd8124e1 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualGatewaySpecListenerTlCertificateAcm.java +++ b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualGatewaySpecListenerTlCertificateAcm.java @@ -9,17 +9,9 @@ @CustomType public final class GetVirtualGatewaySpecListenerTlCertificateAcm { - /** - * @return ARN for the certificate. - * - */ private String certificateArn; private GetVirtualGatewaySpecListenerTlCertificateAcm() {} - /** - * @return ARN for the certificate. - * - */ public String certificateArn() { return this.certificateArn; } diff --git a/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualGatewaySpecListenerTlCertificateFile.java b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualGatewaySpecListenerTlCertificateFile.java index 7526f68e02d..aad0b702487 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualGatewaySpecListenerTlCertificateFile.java +++ b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualGatewaySpecListenerTlCertificateFile.java @@ -9,29 +9,13 @@ @CustomType public final class GetVirtualGatewaySpecListenerTlCertificateFile { - /** - * @return Certificate trust chain for a certificate stored on the file system of the mesh endpoint that the proxy is running on. Must be between 1 and 255 characters in length. - * - */ private String certificateChain; - /** - * @return Private key for a certificate stored on the file system of the mesh endpoint that the proxy is running on. Must be between 1 and 255 characters in length. - * - */ private String privateKey; private GetVirtualGatewaySpecListenerTlCertificateFile() {} - /** - * @return Certificate trust chain for a certificate stored on the file system of the mesh endpoint that the proxy is running on. Must be between 1 and 255 characters in length. - * - */ public String certificateChain() { return this.certificateChain; } - /** - * @return Private key for a certificate stored on the file system of the mesh endpoint that the proxy is running on. Must be between 1 and 255 characters in length. - * - */ public String privateKey() { return this.privateKey; } diff --git a/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualGatewaySpecListenerTlCertificateSd.java b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualGatewaySpecListenerTlCertificateSd.java index 83fc4adbfb2..6f7113567f6 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualGatewaySpecListenerTlCertificateSd.java +++ b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualGatewaySpecListenerTlCertificateSd.java @@ -9,17 +9,9 @@ @CustomType public final class GetVirtualGatewaySpecListenerTlCertificateSd { - /** - * @return Name of the secret for a virtual gateway's Transport Layer Security (TLS) Secret Discovery Service validation context trust. - * - */ private String secretName; private GetVirtualGatewaySpecListenerTlCertificateSd() {} - /** - * @return Name of the secret for a virtual gateway's Transport Layer Security (TLS) Secret Discovery Service validation context trust. - * - */ public String secretName() { return this.secretName; } diff --git a/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualGatewaySpecListenerTlValidation.java b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualGatewaySpecListenerTlValidation.java index cba17bed176..bde7a2a8ae9 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualGatewaySpecListenerTlValidation.java +++ b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualGatewaySpecListenerTlValidation.java @@ -11,29 +11,13 @@ @CustomType public final class GetVirtualGatewaySpecListenerTlValidation { - /** - * @return SANs for a virtual gateway's listener's Transport Layer Security (TLS) validation context. - * - */ private List subjectAlternativeNames; - /** - * @return TLS validation context trust. - * - */ private List trusts; private GetVirtualGatewaySpecListenerTlValidation() {} - /** - * @return SANs for a virtual gateway's listener's Transport Layer Security (TLS) validation context. - * - */ public List subjectAlternativeNames() { return this.subjectAlternativeNames; } - /** - * @return TLS validation context trust. - * - */ public List trusts() { return this.trusts; } diff --git a/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualGatewaySpecListenerTlValidationSubjectAlternativeName.java b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualGatewaySpecListenerTlValidationSubjectAlternativeName.java index 07892d37be6..cfd5a8f2644 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualGatewaySpecListenerTlValidationSubjectAlternativeName.java +++ b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualGatewaySpecListenerTlValidationSubjectAlternativeName.java @@ -10,17 +10,9 @@ @CustomType public final class GetVirtualGatewaySpecListenerTlValidationSubjectAlternativeName { - /** - * @return Criteria for determining a SAN's match. - * - */ private List matches; private GetVirtualGatewaySpecListenerTlValidationSubjectAlternativeName() {} - /** - * @return Criteria for determining a SAN's match. - * - */ public List matches() { return this.matches; } diff --git a/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualGatewaySpecListenerTlValidationSubjectAlternativeNameMatch.java b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualGatewaySpecListenerTlValidationSubjectAlternativeNameMatch.java index 3c3f39d4ec6..25706d7709d 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualGatewaySpecListenerTlValidationSubjectAlternativeNameMatch.java +++ b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualGatewaySpecListenerTlValidationSubjectAlternativeNameMatch.java @@ -10,17 +10,9 @@ @CustomType public final class GetVirtualGatewaySpecListenerTlValidationSubjectAlternativeNameMatch { - /** - * @return Values sent must match the specified values exactly. - * - */ private List exacts; private GetVirtualGatewaySpecListenerTlValidationSubjectAlternativeNameMatch() {} - /** - * @return Values sent must match the specified values exactly. - * - */ public List exacts() { return this.exacts; } diff --git a/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualGatewaySpecListenerTlValidationTrust.java b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualGatewaySpecListenerTlValidationTrust.java index 0e29b251608..35a9a6f1efd 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualGatewaySpecListenerTlValidationTrust.java +++ b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualGatewaySpecListenerTlValidationTrust.java @@ -11,29 +11,13 @@ @CustomType public final class GetVirtualGatewaySpecListenerTlValidationTrust { - /** - * @return TLS validation context trust for a local file certificate. - * - */ private List files; - /** - * @return TLS validation context trust for a [Secret Discovery Service](https://www.envoyproxy.io/docs/envoy/latest/configuration/security/secret#secret-discovery-service-sds) certificate. - * - */ private List sds; private GetVirtualGatewaySpecListenerTlValidationTrust() {} - /** - * @return TLS validation context trust for a local file certificate. - * - */ public List files() { return this.files; } - /** - * @return TLS validation context trust for a [Secret Discovery Service](https://www.envoyproxy.io/docs/envoy/latest/configuration/security/secret#secret-discovery-service-sds) certificate. - * - */ public List sds() { return this.sds; } diff --git a/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualGatewaySpecListenerTlValidationTrustFile.java b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualGatewaySpecListenerTlValidationTrustFile.java index 24fb6421a04..a0c84e0a1fe 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualGatewaySpecListenerTlValidationTrustFile.java +++ b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualGatewaySpecListenerTlValidationTrustFile.java @@ -9,17 +9,9 @@ @CustomType public final class GetVirtualGatewaySpecListenerTlValidationTrustFile { - /** - * @return Certificate trust chain for a certificate stored on the file system of the mesh endpoint that the proxy is running on. Must be between 1 and 255 characters in length. - * - */ private String certificateChain; private GetVirtualGatewaySpecListenerTlValidationTrustFile() {} - /** - * @return Certificate trust chain for a certificate stored on the file system of the mesh endpoint that the proxy is running on. Must be between 1 and 255 characters in length. - * - */ public String certificateChain() { return this.certificateChain; } diff --git a/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualGatewaySpecListenerTlValidationTrustSd.java b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualGatewaySpecListenerTlValidationTrustSd.java index 2b2d71b7dd4..5581cb6fcf1 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualGatewaySpecListenerTlValidationTrustSd.java +++ b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualGatewaySpecListenerTlValidationTrustSd.java @@ -9,17 +9,9 @@ @CustomType public final class GetVirtualGatewaySpecListenerTlValidationTrustSd { - /** - * @return Name of the secret for a virtual gateway's Transport Layer Security (TLS) Secret Discovery Service validation context trust. - * - */ private String secretName; private GetVirtualGatewaySpecListenerTlValidationTrustSd() {} - /** - * @return Name of the secret for a virtual gateway's Transport Layer Security (TLS) Secret Discovery Service validation context trust. - * - */ public String secretName() { return this.secretName; } diff --git a/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualGatewaySpecLogging.java b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualGatewaySpecLogging.java index 6b4e1028cfe..c53569fde6a 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualGatewaySpecLogging.java +++ b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualGatewaySpecLogging.java @@ -10,17 +10,9 @@ @CustomType public final class GetVirtualGatewaySpecLogging { - /** - * @return Access log configuration for a virtual gateway. - * - */ private List accessLogs; private GetVirtualGatewaySpecLogging() {} - /** - * @return Access log configuration for a virtual gateway. - * - */ public List accessLogs() { return this.accessLogs; } diff --git a/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualGatewaySpecLoggingAccessLog.java b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualGatewaySpecLoggingAccessLog.java index 000906913a1..c29f2ab6eed 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualGatewaySpecLoggingAccessLog.java +++ b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualGatewaySpecLoggingAccessLog.java @@ -10,17 +10,9 @@ @CustomType public final class GetVirtualGatewaySpecLoggingAccessLog { - /** - * @return TLS validation context trust for a local file certificate. - * - */ private List files; private GetVirtualGatewaySpecLoggingAccessLog() {} - /** - * @return TLS validation context trust for a local file certificate. - * - */ public List files() { return this.files; } diff --git a/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualGatewaySpecLoggingAccessLogFile.java b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualGatewaySpecLoggingAccessLogFile.java index 89f0687255d..55912fe984d 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualGatewaySpecLoggingAccessLogFile.java +++ b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualGatewaySpecLoggingAccessLogFile.java @@ -12,20 +12,12 @@ @CustomType public final class GetVirtualGatewaySpecLoggingAccessLogFile { private List formats; - /** - * @return Destination path for the health check request. This is only required if the specified protocol is `http` or `http2`. - * - */ private String path; private GetVirtualGatewaySpecLoggingAccessLogFile() {} public List formats() { return this.formats; } - /** - * @return Destination path for the health check request. This is only required if the specified protocol is `http` or `http2`. - * - */ public String path() { return this.path; } diff --git a/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualNodeResult.java b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualNodeResult.java new file mode 100644 index 00000000000..0d6943ec1fc --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualNodeResult.java @@ -0,0 +1,216 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.appmesh.outputs; + +import com.pulumi.aws.appmesh.outputs.GetVirtualNodeSpec; +import com.pulumi.core.annotations.CustomType; +import java.lang.String; +import java.util.List; +import java.util.Map; +import java.util.Objects; + +@CustomType +public final class GetVirtualNodeResult { + /** + * @return ARN of the virtual node. + * + */ + private String arn; + /** + * @return Creation date of the virtual node. + * + */ + private String createdDate; + /** + * @return The provider-assigned unique ID for this managed resource. + * + */ + private String id; + /** + * @return Last update date of the virtual node. + * + */ + private String lastUpdatedDate; + private String meshName; + private String meshOwner; + private String name; + /** + * @return Resource owner's AWS account ID. + * + */ + private String resourceOwner; + /** + * @return Virtual node specification. See the `aws.appmesh.VirtualNode` resource for details. + * + */ + private List specs; + /** + * @return Map of tags. + * + */ + private Map tags; + + private GetVirtualNodeResult() {} + /** + * @return ARN of the virtual node. + * + */ + public String arn() { + return this.arn; + } + /** + * @return Creation date of the virtual node. + * + */ + public String createdDate() { + return this.createdDate; + } + /** + * @return The provider-assigned unique ID for this managed resource. + * + */ + public String id() { + return this.id; + } + /** + * @return Last update date of the virtual node. + * + */ + public String lastUpdatedDate() { + return this.lastUpdatedDate; + } + public String meshName() { + return this.meshName; + } + public String meshOwner() { + return this.meshOwner; + } + public String name() { + return this.name; + } + /** + * @return Resource owner's AWS account ID. + * + */ + public String resourceOwner() { + return this.resourceOwner; + } + /** + * @return Virtual node specification. See the `aws.appmesh.VirtualNode` resource for details. + * + */ + public List specs() { + return this.specs; + } + /** + * @return Map of tags. + * + */ + public Map tags() { + return this.tags; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(GetVirtualNodeResult defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private String arn; + private String createdDate; + private String id; + private String lastUpdatedDate; + private String meshName; + private String meshOwner; + private String name; + private String resourceOwner; + private List specs; + private Map tags; + public Builder() {} + public Builder(GetVirtualNodeResult defaults) { + Objects.requireNonNull(defaults); + this.arn = defaults.arn; + this.createdDate = defaults.createdDate; + this.id = defaults.id; + this.lastUpdatedDate = defaults.lastUpdatedDate; + this.meshName = defaults.meshName; + this.meshOwner = defaults.meshOwner; + this.name = defaults.name; + this.resourceOwner = defaults.resourceOwner; + this.specs = defaults.specs; + this.tags = defaults.tags; + } + + @CustomType.Setter + public Builder arn(String arn) { + this.arn = Objects.requireNonNull(arn); + return this; + } + @CustomType.Setter + public Builder createdDate(String createdDate) { + this.createdDate = Objects.requireNonNull(createdDate); + return this; + } + @CustomType.Setter + public Builder id(String id) { + this.id = Objects.requireNonNull(id); + return this; + } + @CustomType.Setter + public Builder lastUpdatedDate(String lastUpdatedDate) { + this.lastUpdatedDate = Objects.requireNonNull(lastUpdatedDate); + return this; + } + @CustomType.Setter + public Builder meshName(String meshName) { + this.meshName = Objects.requireNonNull(meshName); + return this; + } + @CustomType.Setter + public Builder meshOwner(String meshOwner) { + this.meshOwner = Objects.requireNonNull(meshOwner); + return this; + } + @CustomType.Setter + public Builder name(String name) { + this.name = Objects.requireNonNull(name); + return this; + } + @CustomType.Setter + public Builder resourceOwner(String resourceOwner) { + this.resourceOwner = Objects.requireNonNull(resourceOwner); + return this; + } + @CustomType.Setter + public Builder specs(List specs) { + this.specs = Objects.requireNonNull(specs); + return this; + } + public Builder specs(GetVirtualNodeSpec... specs) { + return specs(List.of(specs)); + } + @CustomType.Setter + public Builder tags(Map tags) { + this.tags = Objects.requireNonNull(tags); + return this; + } + public GetVirtualNodeResult build() { + final var o = new GetVirtualNodeResult(); + o.arn = arn; + o.createdDate = createdDate; + o.id = id; + o.lastUpdatedDate = lastUpdatedDate; + o.meshName = meshName; + o.meshOwner = meshOwner; + o.name = name; + o.resourceOwner = resourceOwner; + o.specs = specs; + o.tags = tags; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualNodeSpec.java b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualNodeSpec.java new file mode 100644 index 00000000000..7a6f1f8f173 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualNodeSpec.java @@ -0,0 +1,114 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.appmesh.outputs; + +import com.pulumi.aws.appmesh.outputs.GetVirtualNodeSpecBackend; +import com.pulumi.aws.appmesh.outputs.GetVirtualNodeSpecBackendDefault; +import com.pulumi.aws.appmesh.outputs.GetVirtualNodeSpecListener; +import com.pulumi.aws.appmesh.outputs.GetVirtualNodeSpecLogging; +import com.pulumi.aws.appmesh.outputs.GetVirtualNodeSpecServiceDiscovery; +import com.pulumi.core.annotations.CustomType; +import java.util.List; +import java.util.Objects; + +@CustomType +public final class GetVirtualNodeSpec { + private List backendDefaults; + private List backends; + private List listeners; + private List loggings; + private List serviceDiscoveries; + + private GetVirtualNodeSpec() {} + public List backendDefaults() { + return this.backendDefaults; + } + public List backends() { + return this.backends; + } + public List listeners() { + return this.listeners; + } + public List loggings() { + return this.loggings; + } + public List serviceDiscoveries() { + return this.serviceDiscoveries; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(GetVirtualNodeSpec defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private List backendDefaults; + private List backends; + private List listeners; + private List loggings; + private List serviceDiscoveries; + public Builder() {} + public Builder(GetVirtualNodeSpec defaults) { + Objects.requireNonNull(defaults); + this.backendDefaults = defaults.backendDefaults; + this.backends = defaults.backends; + this.listeners = defaults.listeners; + this.loggings = defaults.loggings; + this.serviceDiscoveries = defaults.serviceDiscoveries; + } + + @CustomType.Setter + public Builder backendDefaults(List backendDefaults) { + this.backendDefaults = Objects.requireNonNull(backendDefaults); + return this; + } + public Builder backendDefaults(GetVirtualNodeSpecBackendDefault... backendDefaults) { + return backendDefaults(List.of(backendDefaults)); + } + @CustomType.Setter + public Builder backends(List backends) { + this.backends = Objects.requireNonNull(backends); + return this; + } + public Builder backends(GetVirtualNodeSpecBackend... backends) { + return backends(List.of(backends)); + } + @CustomType.Setter + public Builder listeners(List listeners) { + this.listeners = Objects.requireNonNull(listeners); + return this; + } + public Builder listeners(GetVirtualNodeSpecListener... listeners) { + return listeners(List.of(listeners)); + } + @CustomType.Setter + public Builder loggings(List loggings) { + this.loggings = Objects.requireNonNull(loggings); + return this; + } + public Builder loggings(GetVirtualNodeSpecLogging... loggings) { + return loggings(List.of(loggings)); + } + @CustomType.Setter + public Builder serviceDiscoveries(List serviceDiscoveries) { + this.serviceDiscoveries = Objects.requireNonNull(serviceDiscoveries); + return this; + } + public Builder serviceDiscoveries(GetVirtualNodeSpecServiceDiscovery... serviceDiscoveries) { + return serviceDiscoveries(List.of(serviceDiscoveries)); + } + public GetVirtualNodeSpec build() { + final var o = new GetVirtualNodeSpec(); + o.backendDefaults = backendDefaults; + o.backends = backends; + o.listeners = listeners; + o.loggings = loggings; + o.serviceDiscoveries = serviceDiscoveries; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualNodeSpecBackend.java b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualNodeSpecBackend.java new file mode 100644 index 00000000000..fed1293927f --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualNodeSpecBackend.java @@ -0,0 +1,50 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.appmesh.outputs; + +import com.pulumi.aws.appmesh.outputs.GetVirtualNodeSpecBackendVirtualService; +import com.pulumi.core.annotations.CustomType; +import java.util.List; +import java.util.Objects; + +@CustomType +public final class GetVirtualNodeSpecBackend { + private List virtualServices; + + private GetVirtualNodeSpecBackend() {} + public List virtualServices() { + return this.virtualServices; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(GetVirtualNodeSpecBackend defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private List virtualServices; + public Builder() {} + public Builder(GetVirtualNodeSpecBackend defaults) { + Objects.requireNonNull(defaults); + this.virtualServices = defaults.virtualServices; + } + + @CustomType.Setter + public Builder virtualServices(List virtualServices) { + this.virtualServices = Objects.requireNonNull(virtualServices); + return this; + } + public Builder virtualServices(GetVirtualNodeSpecBackendVirtualService... virtualServices) { + return virtualServices(List.of(virtualServices)); + } + public GetVirtualNodeSpecBackend build() { + final var o = new GetVirtualNodeSpecBackend(); + o.virtualServices = virtualServices; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualNodeSpecBackendDefault.java b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualNodeSpecBackendDefault.java new file mode 100644 index 00000000000..87ecb329a11 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualNodeSpecBackendDefault.java @@ -0,0 +1,50 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.appmesh.outputs; + +import com.pulumi.aws.appmesh.outputs.GetVirtualNodeSpecBackendDefaultClientPolicy; +import com.pulumi.core.annotations.CustomType; +import java.util.List; +import java.util.Objects; + +@CustomType +public final class GetVirtualNodeSpecBackendDefault { + private List clientPolicies; + + private GetVirtualNodeSpecBackendDefault() {} + public List clientPolicies() { + return this.clientPolicies; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(GetVirtualNodeSpecBackendDefault defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private List clientPolicies; + public Builder() {} + public Builder(GetVirtualNodeSpecBackendDefault defaults) { + Objects.requireNonNull(defaults); + this.clientPolicies = defaults.clientPolicies; + } + + @CustomType.Setter + public Builder clientPolicies(List clientPolicies) { + this.clientPolicies = Objects.requireNonNull(clientPolicies); + return this; + } + public Builder clientPolicies(GetVirtualNodeSpecBackendDefaultClientPolicy... clientPolicies) { + return clientPolicies(List.of(clientPolicies)); + } + public GetVirtualNodeSpecBackendDefault build() { + final var o = new GetVirtualNodeSpecBackendDefault(); + o.clientPolicies = clientPolicies; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualNodeSpecBackendDefaultClientPolicy.java b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualNodeSpecBackendDefaultClientPolicy.java new file mode 100644 index 00000000000..8ce48828e4e --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualNodeSpecBackendDefaultClientPolicy.java @@ -0,0 +1,50 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.appmesh.outputs; + +import com.pulumi.aws.appmesh.outputs.GetVirtualNodeSpecBackendDefaultClientPolicyTl; +import com.pulumi.core.annotations.CustomType; +import java.util.List; +import java.util.Objects; + +@CustomType +public final class GetVirtualNodeSpecBackendDefaultClientPolicy { + private List tls; + + private GetVirtualNodeSpecBackendDefaultClientPolicy() {} + public List tls() { + return this.tls; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(GetVirtualNodeSpecBackendDefaultClientPolicy defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private List tls; + public Builder() {} + public Builder(GetVirtualNodeSpecBackendDefaultClientPolicy defaults) { + Objects.requireNonNull(defaults); + this.tls = defaults.tls; + } + + @CustomType.Setter + public Builder tls(List tls) { + this.tls = Objects.requireNonNull(tls); + return this; + } + public Builder tls(GetVirtualNodeSpecBackendDefaultClientPolicyTl... tls) { + return tls(List.of(tls)); + } + public GetVirtualNodeSpecBackendDefaultClientPolicy build() { + final var o = new GetVirtualNodeSpecBackendDefaultClientPolicy(); + o.tls = tls; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualNodeSpecBackendDefaultClientPolicyTl.java b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualNodeSpecBackendDefaultClientPolicyTl.java new file mode 100644 index 00000000000..5ad77d1270d --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualNodeSpecBackendDefaultClientPolicyTl.java @@ -0,0 +1,95 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.appmesh.outputs; + +import com.pulumi.aws.appmesh.outputs.GetVirtualNodeSpecBackendDefaultClientPolicyTlCertificate; +import com.pulumi.aws.appmesh.outputs.GetVirtualNodeSpecBackendDefaultClientPolicyTlValidation; +import com.pulumi.core.annotations.CustomType; +import java.lang.Boolean; +import java.lang.Integer; +import java.util.List; +import java.util.Objects; + +@CustomType +public final class GetVirtualNodeSpecBackendDefaultClientPolicyTl { + private List certificates; + private Boolean enforce; + private List ports; + private List validations; + + private GetVirtualNodeSpecBackendDefaultClientPolicyTl() {} + public List certificates() { + return this.certificates; + } + public Boolean enforce() { + return this.enforce; + } + public List ports() { + return this.ports; + } + public List validations() { + return this.validations; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(GetVirtualNodeSpecBackendDefaultClientPolicyTl defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private List certificates; + private Boolean enforce; + private List ports; + private List validations; + public Builder() {} + public Builder(GetVirtualNodeSpecBackendDefaultClientPolicyTl defaults) { + Objects.requireNonNull(defaults); + this.certificates = defaults.certificates; + this.enforce = defaults.enforce; + this.ports = defaults.ports; + this.validations = defaults.validations; + } + + @CustomType.Setter + public Builder certificates(List certificates) { + this.certificates = Objects.requireNonNull(certificates); + return this; + } + public Builder certificates(GetVirtualNodeSpecBackendDefaultClientPolicyTlCertificate... certificates) { + return certificates(List.of(certificates)); + } + @CustomType.Setter + public Builder enforce(Boolean enforce) { + this.enforce = Objects.requireNonNull(enforce); + return this; + } + @CustomType.Setter + public Builder ports(List ports) { + this.ports = Objects.requireNonNull(ports); + return this; + } + public Builder ports(Integer... ports) { + return ports(List.of(ports)); + } + @CustomType.Setter + public Builder validations(List validations) { + this.validations = Objects.requireNonNull(validations); + return this; + } + public Builder validations(GetVirtualNodeSpecBackendDefaultClientPolicyTlValidation... validations) { + return validations(List.of(validations)); + } + public GetVirtualNodeSpecBackendDefaultClientPolicyTl build() { + final var o = new GetVirtualNodeSpecBackendDefaultClientPolicyTl(); + o.certificates = certificates; + o.enforce = enforce; + o.ports = ports; + o.validations = validations; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualNodeSpecBackendDefaultClientPolicyTlCertificate.java b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualNodeSpecBackendDefaultClientPolicyTlCertificate.java new file mode 100644 index 00000000000..220a6accf2e --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualNodeSpecBackendDefaultClientPolicyTlCertificate.java @@ -0,0 +1,66 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.appmesh.outputs; + +import com.pulumi.aws.appmesh.outputs.GetVirtualNodeSpecBackendDefaultClientPolicyTlCertificateFile; +import com.pulumi.aws.appmesh.outputs.GetVirtualNodeSpecBackendDefaultClientPolicyTlCertificateSd; +import com.pulumi.core.annotations.CustomType; +import java.util.List; +import java.util.Objects; + +@CustomType +public final class GetVirtualNodeSpecBackendDefaultClientPolicyTlCertificate { + private List files; + private List sds; + + private GetVirtualNodeSpecBackendDefaultClientPolicyTlCertificate() {} + public List files() { + return this.files; + } + public List sds() { + return this.sds; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(GetVirtualNodeSpecBackendDefaultClientPolicyTlCertificate defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private List files; + private List sds; + public Builder() {} + public Builder(GetVirtualNodeSpecBackendDefaultClientPolicyTlCertificate defaults) { + Objects.requireNonNull(defaults); + this.files = defaults.files; + this.sds = defaults.sds; + } + + @CustomType.Setter + public Builder files(List files) { + this.files = Objects.requireNonNull(files); + return this; + } + public Builder files(GetVirtualNodeSpecBackendDefaultClientPolicyTlCertificateFile... files) { + return files(List.of(files)); + } + @CustomType.Setter + public Builder sds(List sds) { + this.sds = Objects.requireNonNull(sds); + return this; + } + public Builder sds(GetVirtualNodeSpecBackendDefaultClientPolicyTlCertificateSd... sds) { + return sds(List.of(sds)); + } + public GetVirtualNodeSpecBackendDefaultClientPolicyTlCertificate build() { + final var o = new GetVirtualNodeSpecBackendDefaultClientPolicyTlCertificate(); + o.files = files; + o.sds = sds; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualNodeSpecBackendDefaultClientPolicyTlCertificateFile.java b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualNodeSpecBackendDefaultClientPolicyTlCertificateFile.java new file mode 100644 index 00000000000..db13fafe6f3 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualNodeSpecBackendDefaultClientPolicyTlCertificateFile.java @@ -0,0 +1,58 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.appmesh.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.String; +import java.util.Objects; + +@CustomType +public final class GetVirtualNodeSpecBackendDefaultClientPolicyTlCertificateFile { + private String certificateChain; + private String privateKey; + + private GetVirtualNodeSpecBackendDefaultClientPolicyTlCertificateFile() {} + public String certificateChain() { + return this.certificateChain; + } + public String privateKey() { + return this.privateKey; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(GetVirtualNodeSpecBackendDefaultClientPolicyTlCertificateFile defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private String certificateChain; + private String privateKey; + public Builder() {} + public Builder(GetVirtualNodeSpecBackendDefaultClientPolicyTlCertificateFile defaults) { + Objects.requireNonNull(defaults); + this.certificateChain = defaults.certificateChain; + this.privateKey = defaults.privateKey; + } + + @CustomType.Setter + public Builder certificateChain(String certificateChain) { + this.certificateChain = Objects.requireNonNull(certificateChain); + return this; + } + @CustomType.Setter + public Builder privateKey(String privateKey) { + this.privateKey = Objects.requireNonNull(privateKey); + return this; + } + public GetVirtualNodeSpecBackendDefaultClientPolicyTlCertificateFile build() { + final var o = new GetVirtualNodeSpecBackendDefaultClientPolicyTlCertificateFile(); + o.certificateChain = certificateChain; + o.privateKey = privateKey; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualNodeSpecBackendDefaultClientPolicyTlCertificateSd.java b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualNodeSpecBackendDefaultClientPolicyTlCertificateSd.java new file mode 100644 index 00000000000..e54226f3d2d --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualNodeSpecBackendDefaultClientPolicyTlCertificateSd.java @@ -0,0 +1,46 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.appmesh.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.String; +import java.util.Objects; + +@CustomType +public final class GetVirtualNodeSpecBackendDefaultClientPolicyTlCertificateSd { + private String secretName; + + private GetVirtualNodeSpecBackendDefaultClientPolicyTlCertificateSd() {} + public String secretName() { + return this.secretName; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(GetVirtualNodeSpecBackendDefaultClientPolicyTlCertificateSd defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private String secretName; + public Builder() {} + public Builder(GetVirtualNodeSpecBackendDefaultClientPolicyTlCertificateSd defaults) { + Objects.requireNonNull(defaults); + this.secretName = defaults.secretName; + } + + @CustomType.Setter + public Builder secretName(String secretName) { + this.secretName = Objects.requireNonNull(secretName); + return this; + } + public GetVirtualNodeSpecBackendDefaultClientPolicyTlCertificateSd build() { + final var o = new GetVirtualNodeSpecBackendDefaultClientPolicyTlCertificateSd(); + o.secretName = secretName; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualNodeSpecBackendDefaultClientPolicyTlValidation.java b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualNodeSpecBackendDefaultClientPolicyTlValidation.java new file mode 100644 index 00000000000..34bb6918aee --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualNodeSpecBackendDefaultClientPolicyTlValidation.java @@ -0,0 +1,66 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.appmesh.outputs; + +import com.pulumi.aws.appmesh.outputs.GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationSubjectAlternativeName; +import com.pulumi.aws.appmesh.outputs.GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrust; +import com.pulumi.core.annotations.CustomType; +import java.util.List; +import java.util.Objects; + +@CustomType +public final class GetVirtualNodeSpecBackendDefaultClientPolicyTlValidation { + private List subjectAlternativeNames; + private List trusts; + + private GetVirtualNodeSpecBackendDefaultClientPolicyTlValidation() {} + public List subjectAlternativeNames() { + return this.subjectAlternativeNames; + } + public List trusts() { + return this.trusts; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(GetVirtualNodeSpecBackendDefaultClientPolicyTlValidation defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private List subjectAlternativeNames; + private List trusts; + public Builder() {} + public Builder(GetVirtualNodeSpecBackendDefaultClientPolicyTlValidation defaults) { + Objects.requireNonNull(defaults); + this.subjectAlternativeNames = defaults.subjectAlternativeNames; + this.trusts = defaults.trusts; + } + + @CustomType.Setter + public Builder subjectAlternativeNames(List subjectAlternativeNames) { + this.subjectAlternativeNames = Objects.requireNonNull(subjectAlternativeNames); + return this; + } + public Builder subjectAlternativeNames(GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationSubjectAlternativeName... subjectAlternativeNames) { + return subjectAlternativeNames(List.of(subjectAlternativeNames)); + } + @CustomType.Setter + public Builder trusts(List trusts) { + this.trusts = Objects.requireNonNull(trusts); + return this; + } + public Builder trusts(GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrust... trusts) { + return trusts(List.of(trusts)); + } + public GetVirtualNodeSpecBackendDefaultClientPolicyTlValidation build() { + final var o = new GetVirtualNodeSpecBackendDefaultClientPolicyTlValidation(); + o.subjectAlternativeNames = subjectAlternativeNames; + o.trusts = trusts; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationSubjectAlternativeName.java b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationSubjectAlternativeName.java new file mode 100644 index 00000000000..42a6ffb5d95 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationSubjectAlternativeName.java @@ -0,0 +1,50 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.appmesh.outputs; + +import com.pulumi.aws.appmesh.outputs.GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameMatch; +import com.pulumi.core.annotations.CustomType; +import java.util.List; +import java.util.Objects; + +@CustomType +public final class GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationSubjectAlternativeName { + private List matches; + + private GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationSubjectAlternativeName() {} + public List matches() { + return this.matches; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationSubjectAlternativeName defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private List matches; + public Builder() {} + public Builder(GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationSubjectAlternativeName defaults) { + Objects.requireNonNull(defaults); + this.matches = defaults.matches; + } + + @CustomType.Setter + public Builder matches(List matches) { + this.matches = Objects.requireNonNull(matches); + return this; + } + public Builder matches(GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameMatch... matches) { + return matches(List.of(matches)); + } + public GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationSubjectAlternativeName build() { + final var o = new GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationSubjectAlternativeName(); + o.matches = matches; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameMatch.java b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameMatch.java new file mode 100644 index 00000000000..924065575f9 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameMatch.java @@ -0,0 +1,50 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.appmesh.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.String; +import java.util.List; +import java.util.Objects; + +@CustomType +public final class GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameMatch { + private List exacts; + + private GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameMatch() {} + public List exacts() { + return this.exacts; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameMatch defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private List exacts; + public Builder() {} + public Builder(GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameMatch defaults) { + Objects.requireNonNull(defaults); + this.exacts = defaults.exacts; + } + + @CustomType.Setter + public Builder exacts(List exacts) { + this.exacts = Objects.requireNonNull(exacts); + return this; + } + public Builder exacts(String... exacts) { + return exacts(List.of(exacts)); + } + public GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameMatch build() { + final var o = new GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameMatch(); + o.exacts = exacts; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrust.java b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrust.java new file mode 100644 index 00000000000..157721ab4c7 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrust.java @@ -0,0 +1,82 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.appmesh.outputs; + +import com.pulumi.aws.appmesh.outputs.GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustAcm; +import com.pulumi.aws.appmesh.outputs.GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustFile; +import com.pulumi.aws.appmesh.outputs.GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustSd; +import com.pulumi.core.annotations.CustomType; +import java.util.List; +import java.util.Objects; + +@CustomType +public final class GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrust { + private List acms; + private List files; + private List sds; + + private GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrust() {} + public List acms() { + return this.acms; + } + public List files() { + return this.files; + } + public List sds() { + return this.sds; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrust defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private List acms; + private List files; + private List sds; + public Builder() {} + public Builder(GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrust defaults) { + Objects.requireNonNull(defaults); + this.acms = defaults.acms; + this.files = defaults.files; + this.sds = defaults.sds; + } + + @CustomType.Setter + public Builder acms(List acms) { + this.acms = Objects.requireNonNull(acms); + return this; + } + public Builder acms(GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustAcm... acms) { + return acms(List.of(acms)); + } + @CustomType.Setter + public Builder files(List files) { + this.files = Objects.requireNonNull(files); + return this; + } + public Builder files(GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustFile... files) { + return files(List.of(files)); + } + @CustomType.Setter + public Builder sds(List sds) { + this.sds = Objects.requireNonNull(sds); + return this; + } + public Builder sds(GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustSd... sds) { + return sds(List.of(sds)); + } + public GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrust build() { + final var o = new GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrust(); + o.acms = acms; + o.files = files; + o.sds = sds; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustAcm.java b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustAcm.java new file mode 100644 index 00000000000..7fb661a6f82 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustAcm.java @@ -0,0 +1,50 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.appmesh.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.String; +import java.util.List; +import java.util.Objects; + +@CustomType +public final class GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustAcm { + private List certificateAuthorityArns; + + private GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustAcm() {} + public List certificateAuthorityArns() { + return this.certificateAuthorityArns; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustAcm defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private List certificateAuthorityArns; + public Builder() {} + public Builder(GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustAcm defaults) { + Objects.requireNonNull(defaults); + this.certificateAuthorityArns = defaults.certificateAuthorityArns; + } + + @CustomType.Setter + public Builder certificateAuthorityArns(List certificateAuthorityArns) { + this.certificateAuthorityArns = Objects.requireNonNull(certificateAuthorityArns); + return this; + } + public Builder certificateAuthorityArns(String... certificateAuthorityArns) { + return certificateAuthorityArns(List.of(certificateAuthorityArns)); + } + public GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustAcm build() { + final var o = new GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustAcm(); + o.certificateAuthorityArns = certificateAuthorityArns; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustFile.java b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustFile.java new file mode 100644 index 00000000000..ffc8e3070fd --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustFile.java @@ -0,0 +1,46 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.appmesh.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.String; +import java.util.Objects; + +@CustomType +public final class GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustFile { + private String certificateChain; + + private GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustFile() {} + public String certificateChain() { + return this.certificateChain; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustFile defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private String certificateChain; + public Builder() {} + public Builder(GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustFile defaults) { + Objects.requireNonNull(defaults); + this.certificateChain = defaults.certificateChain; + } + + @CustomType.Setter + public Builder certificateChain(String certificateChain) { + this.certificateChain = Objects.requireNonNull(certificateChain); + return this; + } + public GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustFile build() { + final var o = new GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustFile(); + o.certificateChain = certificateChain; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustSd.java b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustSd.java new file mode 100644 index 00000000000..cb36212e088 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustSd.java @@ -0,0 +1,46 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.appmesh.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.String; +import java.util.Objects; + +@CustomType +public final class GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustSd { + private String secretName; + + private GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustSd() {} + public String secretName() { + return this.secretName; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustSd defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private String secretName; + public Builder() {} + public Builder(GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustSd defaults) { + Objects.requireNonNull(defaults); + this.secretName = defaults.secretName; + } + + @CustomType.Setter + public Builder secretName(String secretName) { + this.secretName = Objects.requireNonNull(secretName); + return this; + } + public GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustSd build() { + final var o = new GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustSd(); + o.secretName = secretName; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualNodeSpecBackendVirtualService.java b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualNodeSpecBackendVirtualService.java new file mode 100644 index 00000000000..203bf5d0ce0 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualNodeSpecBackendVirtualService.java @@ -0,0 +1,63 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.appmesh.outputs; + +import com.pulumi.aws.appmesh.outputs.GetVirtualNodeSpecBackendVirtualServiceClientPolicy; +import com.pulumi.core.annotations.CustomType; +import java.lang.String; +import java.util.List; +import java.util.Objects; + +@CustomType +public final class GetVirtualNodeSpecBackendVirtualService { + private List clientPolicies; + private String virtualServiceName; + + private GetVirtualNodeSpecBackendVirtualService() {} + public List clientPolicies() { + return this.clientPolicies; + } + public String virtualServiceName() { + return this.virtualServiceName; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(GetVirtualNodeSpecBackendVirtualService defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private List clientPolicies; + private String virtualServiceName; + public Builder() {} + public Builder(GetVirtualNodeSpecBackendVirtualService defaults) { + Objects.requireNonNull(defaults); + this.clientPolicies = defaults.clientPolicies; + this.virtualServiceName = defaults.virtualServiceName; + } + + @CustomType.Setter + public Builder clientPolicies(List clientPolicies) { + this.clientPolicies = Objects.requireNonNull(clientPolicies); + return this; + } + public Builder clientPolicies(GetVirtualNodeSpecBackendVirtualServiceClientPolicy... clientPolicies) { + return clientPolicies(List.of(clientPolicies)); + } + @CustomType.Setter + public Builder virtualServiceName(String virtualServiceName) { + this.virtualServiceName = Objects.requireNonNull(virtualServiceName); + return this; + } + public GetVirtualNodeSpecBackendVirtualService build() { + final var o = new GetVirtualNodeSpecBackendVirtualService(); + o.clientPolicies = clientPolicies; + o.virtualServiceName = virtualServiceName; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualNodeSpecBackendVirtualServiceClientPolicy.java b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualNodeSpecBackendVirtualServiceClientPolicy.java new file mode 100644 index 00000000000..b29a051c9c1 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualNodeSpecBackendVirtualServiceClientPolicy.java @@ -0,0 +1,50 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.appmesh.outputs; + +import com.pulumi.aws.appmesh.outputs.GetVirtualNodeSpecBackendVirtualServiceClientPolicyTl; +import com.pulumi.core.annotations.CustomType; +import java.util.List; +import java.util.Objects; + +@CustomType +public final class GetVirtualNodeSpecBackendVirtualServiceClientPolicy { + private List tls; + + private GetVirtualNodeSpecBackendVirtualServiceClientPolicy() {} + public List tls() { + return this.tls; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(GetVirtualNodeSpecBackendVirtualServiceClientPolicy defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private List tls; + public Builder() {} + public Builder(GetVirtualNodeSpecBackendVirtualServiceClientPolicy defaults) { + Objects.requireNonNull(defaults); + this.tls = defaults.tls; + } + + @CustomType.Setter + public Builder tls(List tls) { + this.tls = Objects.requireNonNull(tls); + return this; + } + public Builder tls(GetVirtualNodeSpecBackendVirtualServiceClientPolicyTl... tls) { + return tls(List.of(tls)); + } + public GetVirtualNodeSpecBackendVirtualServiceClientPolicy build() { + final var o = new GetVirtualNodeSpecBackendVirtualServiceClientPolicy(); + o.tls = tls; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualNodeSpecBackendVirtualServiceClientPolicyTl.java b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualNodeSpecBackendVirtualServiceClientPolicyTl.java new file mode 100644 index 00000000000..320f17fd362 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualNodeSpecBackendVirtualServiceClientPolicyTl.java @@ -0,0 +1,95 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.appmesh.outputs; + +import com.pulumi.aws.appmesh.outputs.GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlCertificate; +import com.pulumi.aws.appmesh.outputs.GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidation; +import com.pulumi.core.annotations.CustomType; +import java.lang.Boolean; +import java.lang.Integer; +import java.util.List; +import java.util.Objects; + +@CustomType +public final class GetVirtualNodeSpecBackendVirtualServiceClientPolicyTl { + private List certificates; + private Boolean enforce; + private List ports; + private List validations; + + private GetVirtualNodeSpecBackendVirtualServiceClientPolicyTl() {} + public List certificates() { + return this.certificates; + } + public Boolean enforce() { + return this.enforce; + } + public List ports() { + return this.ports; + } + public List validations() { + return this.validations; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(GetVirtualNodeSpecBackendVirtualServiceClientPolicyTl defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private List certificates; + private Boolean enforce; + private List ports; + private List validations; + public Builder() {} + public Builder(GetVirtualNodeSpecBackendVirtualServiceClientPolicyTl defaults) { + Objects.requireNonNull(defaults); + this.certificates = defaults.certificates; + this.enforce = defaults.enforce; + this.ports = defaults.ports; + this.validations = defaults.validations; + } + + @CustomType.Setter + public Builder certificates(List certificates) { + this.certificates = Objects.requireNonNull(certificates); + return this; + } + public Builder certificates(GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlCertificate... certificates) { + return certificates(List.of(certificates)); + } + @CustomType.Setter + public Builder enforce(Boolean enforce) { + this.enforce = Objects.requireNonNull(enforce); + return this; + } + @CustomType.Setter + public Builder ports(List ports) { + this.ports = Objects.requireNonNull(ports); + return this; + } + public Builder ports(Integer... ports) { + return ports(List.of(ports)); + } + @CustomType.Setter + public Builder validations(List validations) { + this.validations = Objects.requireNonNull(validations); + return this; + } + public Builder validations(GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidation... validations) { + return validations(List.of(validations)); + } + public GetVirtualNodeSpecBackendVirtualServiceClientPolicyTl build() { + final var o = new GetVirtualNodeSpecBackendVirtualServiceClientPolicyTl(); + o.certificates = certificates; + o.enforce = enforce; + o.ports = ports; + o.validations = validations; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlCertificate.java b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlCertificate.java new file mode 100644 index 00000000000..0bfdbb48e06 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlCertificate.java @@ -0,0 +1,66 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.appmesh.outputs; + +import com.pulumi.aws.appmesh.outputs.GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlCertificateFile; +import com.pulumi.aws.appmesh.outputs.GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlCertificateSd; +import com.pulumi.core.annotations.CustomType; +import java.util.List; +import java.util.Objects; + +@CustomType +public final class GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlCertificate { + private List files; + private List sds; + + private GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlCertificate() {} + public List files() { + return this.files; + } + public List sds() { + return this.sds; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlCertificate defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private List files; + private List sds; + public Builder() {} + public Builder(GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlCertificate defaults) { + Objects.requireNonNull(defaults); + this.files = defaults.files; + this.sds = defaults.sds; + } + + @CustomType.Setter + public Builder files(List files) { + this.files = Objects.requireNonNull(files); + return this; + } + public Builder files(GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlCertificateFile... files) { + return files(List.of(files)); + } + @CustomType.Setter + public Builder sds(List sds) { + this.sds = Objects.requireNonNull(sds); + return this; + } + public Builder sds(GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlCertificateSd... sds) { + return sds(List.of(sds)); + } + public GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlCertificate build() { + final var o = new GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlCertificate(); + o.files = files; + o.sds = sds; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlCertificateFile.java b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlCertificateFile.java new file mode 100644 index 00000000000..e9ec8321658 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlCertificateFile.java @@ -0,0 +1,58 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.appmesh.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.String; +import java.util.Objects; + +@CustomType +public final class GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlCertificateFile { + private String certificateChain; + private String privateKey; + + private GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlCertificateFile() {} + public String certificateChain() { + return this.certificateChain; + } + public String privateKey() { + return this.privateKey; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlCertificateFile defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private String certificateChain; + private String privateKey; + public Builder() {} + public Builder(GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlCertificateFile defaults) { + Objects.requireNonNull(defaults); + this.certificateChain = defaults.certificateChain; + this.privateKey = defaults.privateKey; + } + + @CustomType.Setter + public Builder certificateChain(String certificateChain) { + this.certificateChain = Objects.requireNonNull(certificateChain); + return this; + } + @CustomType.Setter + public Builder privateKey(String privateKey) { + this.privateKey = Objects.requireNonNull(privateKey); + return this; + } + public GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlCertificateFile build() { + final var o = new GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlCertificateFile(); + o.certificateChain = certificateChain; + o.privateKey = privateKey; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlCertificateSd.java b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlCertificateSd.java new file mode 100644 index 00000000000..241feb03964 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlCertificateSd.java @@ -0,0 +1,46 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.appmesh.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.String; +import java.util.Objects; + +@CustomType +public final class GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlCertificateSd { + private String secretName; + + private GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlCertificateSd() {} + public String secretName() { + return this.secretName; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlCertificateSd defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private String secretName; + public Builder() {} + public Builder(GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlCertificateSd defaults) { + Objects.requireNonNull(defaults); + this.secretName = defaults.secretName; + } + + @CustomType.Setter + public Builder secretName(String secretName) { + this.secretName = Objects.requireNonNull(secretName); + return this; + } + public GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlCertificateSd build() { + final var o = new GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlCertificateSd(); + o.secretName = secretName; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidation.java b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidation.java new file mode 100644 index 00000000000..819698788a5 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidation.java @@ -0,0 +1,66 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.appmesh.outputs; + +import com.pulumi.aws.appmesh.outputs.GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationSubjectAlternativeName; +import com.pulumi.aws.appmesh.outputs.GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrust; +import com.pulumi.core.annotations.CustomType; +import java.util.List; +import java.util.Objects; + +@CustomType +public final class GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidation { + private List subjectAlternativeNames; + private List trusts; + + private GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidation() {} + public List subjectAlternativeNames() { + return this.subjectAlternativeNames; + } + public List trusts() { + return this.trusts; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidation defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private List subjectAlternativeNames; + private List trusts; + public Builder() {} + public Builder(GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidation defaults) { + Objects.requireNonNull(defaults); + this.subjectAlternativeNames = defaults.subjectAlternativeNames; + this.trusts = defaults.trusts; + } + + @CustomType.Setter + public Builder subjectAlternativeNames(List subjectAlternativeNames) { + this.subjectAlternativeNames = Objects.requireNonNull(subjectAlternativeNames); + return this; + } + public Builder subjectAlternativeNames(GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationSubjectAlternativeName... subjectAlternativeNames) { + return subjectAlternativeNames(List.of(subjectAlternativeNames)); + } + @CustomType.Setter + public Builder trusts(List trusts) { + this.trusts = Objects.requireNonNull(trusts); + return this; + } + public Builder trusts(GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrust... trusts) { + return trusts(List.of(trusts)); + } + public GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidation build() { + final var o = new GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidation(); + o.subjectAlternativeNames = subjectAlternativeNames; + o.trusts = trusts; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationSubjectAlternativeName.java b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationSubjectAlternativeName.java new file mode 100644 index 00000000000..a477e3f3642 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationSubjectAlternativeName.java @@ -0,0 +1,50 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.appmesh.outputs; + +import com.pulumi.aws.appmesh.outputs.GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationSubjectAlternativeNameMatch; +import com.pulumi.core.annotations.CustomType; +import java.util.List; +import java.util.Objects; + +@CustomType +public final class GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationSubjectAlternativeName { + private List matches; + + private GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationSubjectAlternativeName() {} + public List matches() { + return this.matches; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationSubjectAlternativeName defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private List matches; + public Builder() {} + public Builder(GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationSubjectAlternativeName defaults) { + Objects.requireNonNull(defaults); + this.matches = defaults.matches; + } + + @CustomType.Setter + public Builder matches(List matches) { + this.matches = Objects.requireNonNull(matches); + return this; + } + public Builder matches(GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationSubjectAlternativeNameMatch... matches) { + return matches(List.of(matches)); + } + public GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationSubjectAlternativeName build() { + final var o = new GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationSubjectAlternativeName(); + o.matches = matches; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationSubjectAlternativeNameMatch.java b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationSubjectAlternativeNameMatch.java new file mode 100644 index 00000000000..c79a664be1c --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationSubjectAlternativeNameMatch.java @@ -0,0 +1,50 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.appmesh.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.String; +import java.util.List; +import java.util.Objects; + +@CustomType +public final class GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationSubjectAlternativeNameMatch { + private List exacts; + + private GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationSubjectAlternativeNameMatch() {} + public List exacts() { + return this.exacts; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationSubjectAlternativeNameMatch defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private List exacts; + public Builder() {} + public Builder(GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationSubjectAlternativeNameMatch defaults) { + Objects.requireNonNull(defaults); + this.exacts = defaults.exacts; + } + + @CustomType.Setter + public Builder exacts(List exacts) { + this.exacts = Objects.requireNonNull(exacts); + return this; + } + public Builder exacts(String... exacts) { + return exacts(List.of(exacts)); + } + public GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationSubjectAlternativeNameMatch build() { + final var o = new GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationSubjectAlternativeNameMatch(); + o.exacts = exacts; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrust.java b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrust.java new file mode 100644 index 00000000000..2df6a5eceb7 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrust.java @@ -0,0 +1,82 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.appmesh.outputs; + +import com.pulumi.aws.appmesh.outputs.GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustAcm; +import com.pulumi.aws.appmesh.outputs.GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustFile; +import com.pulumi.aws.appmesh.outputs.GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustSd; +import com.pulumi.core.annotations.CustomType; +import java.util.List; +import java.util.Objects; + +@CustomType +public final class GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrust { + private List acms; + private List files; + private List sds; + + private GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrust() {} + public List acms() { + return this.acms; + } + public List files() { + return this.files; + } + public List sds() { + return this.sds; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrust defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private List acms; + private List files; + private List sds; + public Builder() {} + public Builder(GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrust defaults) { + Objects.requireNonNull(defaults); + this.acms = defaults.acms; + this.files = defaults.files; + this.sds = defaults.sds; + } + + @CustomType.Setter + public Builder acms(List acms) { + this.acms = Objects.requireNonNull(acms); + return this; + } + public Builder acms(GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustAcm... acms) { + return acms(List.of(acms)); + } + @CustomType.Setter + public Builder files(List files) { + this.files = Objects.requireNonNull(files); + return this; + } + public Builder files(GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustFile... files) { + return files(List.of(files)); + } + @CustomType.Setter + public Builder sds(List sds) { + this.sds = Objects.requireNonNull(sds); + return this; + } + public Builder sds(GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustSd... sds) { + return sds(List.of(sds)); + } + public GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrust build() { + final var o = new GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrust(); + o.acms = acms; + o.files = files; + o.sds = sds; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustAcm.java b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustAcm.java new file mode 100644 index 00000000000..21cf42d603d --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustAcm.java @@ -0,0 +1,50 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.appmesh.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.String; +import java.util.List; +import java.util.Objects; + +@CustomType +public final class GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustAcm { + private List certificateAuthorityArns; + + private GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustAcm() {} + public List certificateAuthorityArns() { + return this.certificateAuthorityArns; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustAcm defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private List certificateAuthorityArns; + public Builder() {} + public Builder(GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustAcm defaults) { + Objects.requireNonNull(defaults); + this.certificateAuthorityArns = defaults.certificateAuthorityArns; + } + + @CustomType.Setter + public Builder certificateAuthorityArns(List certificateAuthorityArns) { + this.certificateAuthorityArns = Objects.requireNonNull(certificateAuthorityArns); + return this; + } + public Builder certificateAuthorityArns(String... certificateAuthorityArns) { + return certificateAuthorityArns(List.of(certificateAuthorityArns)); + } + public GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustAcm build() { + final var o = new GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustAcm(); + o.certificateAuthorityArns = certificateAuthorityArns; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustFile.java b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustFile.java new file mode 100644 index 00000000000..59fbcd8b1d1 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustFile.java @@ -0,0 +1,46 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.appmesh.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.String; +import java.util.Objects; + +@CustomType +public final class GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustFile { + private String certificateChain; + + private GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustFile() {} + public String certificateChain() { + return this.certificateChain; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustFile defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private String certificateChain; + public Builder() {} + public Builder(GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustFile defaults) { + Objects.requireNonNull(defaults); + this.certificateChain = defaults.certificateChain; + } + + @CustomType.Setter + public Builder certificateChain(String certificateChain) { + this.certificateChain = Objects.requireNonNull(certificateChain); + return this; + } + public GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustFile build() { + final var o = new GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustFile(); + o.certificateChain = certificateChain; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustSd.java b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustSd.java new file mode 100644 index 00000000000..d2e67d28f3e --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustSd.java @@ -0,0 +1,46 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.appmesh.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.String; +import java.util.Objects; + +@CustomType +public final class GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustSd { + private String secretName; + + private GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustSd() {} + public String secretName() { + return this.secretName; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustSd defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private String secretName; + public Builder() {} + public Builder(GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustSd defaults) { + Objects.requireNonNull(defaults); + this.secretName = defaults.secretName; + } + + @CustomType.Setter + public Builder secretName(String secretName) { + this.secretName = Objects.requireNonNull(secretName); + return this; + } + public GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustSd build() { + final var o = new GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustSd(); + o.secretName = secretName; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualNodeSpecListener.java b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualNodeSpecListener.java new file mode 100644 index 00000000000..94dbc785dc8 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualNodeSpecListener.java @@ -0,0 +1,130 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.appmesh.outputs; + +import com.pulumi.aws.appmesh.outputs.GetVirtualNodeSpecListenerConnectionPool; +import com.pulumi.aws.appmesh.outputs.GetVirtualNodeSpecListenerHealthCheck; +import com.pulumi.aws.appmesh.outputs.GetVirtualNodeSpecListenerOutlierDetection; +import com.pulumi.aws.appmesh.outputs.GetVirtualNodeSpecListenerPortMapping; +import com.pulumi.aws.appmesh.outputs.GetVirtualNodeSpecListenerTimeout; +import com.pulumi.aws.appmesh.outputs.GetVirtualNodeSpecListenerTl; +import com.pulumi.core.annotations.CustomType; +import java.util.List; +import java.util.Objects; + +@CustomType +public final class GetVirtualNodeSpecListener { + private List connectionPools; + private List healthChecks; + private List outlierDetections; + private List portMappings; + private List timeouts; + private List tls; + + private GetVirtualNodeSpecListener() {} + public List connectionPools() { + return this.connectionPools; + } + public List healthChecks() { + return this.healthChecks; + } + public List outlierDetections() { + return this.outlierDetections; + } + public List portMappings() { + return this.portMappings; + } + public List timeouts() { + return this.timeouts; + } + public List tls() { + return this.tls; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(GetVirtualNodeSpecListener defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private List connectionPools; + private List healthChecks; + private List outlierDetections; + private List portMappings; + private List timeouts; + private List tls; + public Builder() {} + public Builder(GetVirtualNodeSpecListener defaults) { + Objects.requireNonNull(defaults); + this.connectionPools = defaults.connectionPools; + this.healthChecks = defaults.healthChecks; + this.outlierDetections = defaults.outlierDetections; + this.portMappings = defaults.portMappings; + this.timeouts = defaults.timeouts; + this.tls = defaults.tls; + } + + @CustomType.Setter + public Builder connectionPools(List connectionPools) { + this.connectionPools = Objects.requireNonNull(connectionPools); + return this; + } + public Builder connectionPools(GetVirtualNodeSpecListenerConnectionPool... connectionPools) { + return connectionPools(List.of(connectionPools)); + } + @CustomType.Setter + public Builder healthChecks(List healthChecks) { + this.healthChecks = Objects.requireNonNull(healthChecks); + return this; + } + public Builder healthChecks(GetVirtualNodeSpecListenerHealthCheck... healthChecks) { + return healthChecks(List.of(healthChecks)); + } + @CustomType.Setter + public Builder outlierDetections(List outlierDetections) { + this.outlierDetections = Objects.requireNonNull(outlierDetections); + return this; + } + public Builder outlierDetections(GetVirtualNodeSpecListenerOutlierDetection... outlierDetections) { + return outlierDetections(List.of(outlierDetections)); + } + @CustomType.Setter + public Builder portMappings(List portMappings) { + this.portMappings = Objects.requireNonNull(portMappings); + return this; + } + public Builder portMappings(GetVirtualNodeSpecListenerPortMapping... portMappings) { + return portMappings(List.of(portMappings)); + } + @CustomType.Setter + public Builder timeouts(List timeouts) { + this.timeouts = Objects.requireNonNull(timeouts); + return this; + } + public Builder timeouts(GetVirtualNodeSpecListenerTimeout... timeouts) { + return timeouts(List.of(timeouts)); + } + @CustomType.Setter + public Builder tls(List tls) { + this.tls = Objects.requireNonNull(tls); + return this; + } + public Builder tls(GetVirtualNodeSpecListenerTl... tls) { + return tls(List.of(tls)); + } + public GetVirtualNodeSpecListener build() { + final var o = new GetVirtualNodeSpecListener(); + o.connectionPools = connectionPools; + o.healthChecks = healthChecks; + o.outlierDetections = outlierDetections; + o.portMappings = portMappings; + o.timeouts = timeouts; + o.tls = tls; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualNodeSpecListenerConnectionPool.java b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualNodeSpecListenerConnectionPool.java new file mode 100644 index 00000000000..5624f51b45b --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualNodeSpecListenerConnectionPool.java @@ -0,0 +1,98 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.appmesh.outputs; + +import com.pulumi.aws.appmesh.outputs.GetVirtualNodeSpecListenerConnectionPoolGrpc; +import com.pulumi.aws.appmesh.outputs.GetVirtualNodeSpecListenerConnectionPoolHttp2; +import com.pulumi.aws.appmesh.outputs.GetVirtualNodeSpecListenerConnectionPoolHttp; +import com.pulumi.aws.appmesh.outputs.GetVirtualNodeSpecListenerConnectionPoolTcp; +import com.pulumi.core.annotations.CustomType; +import java.util.List; +import java.util.Objects; + +@CustomType +public final class GetVirtualNodeSpecListenerConnectionPool { + private List grpcs; + private List http2s; + private List https; + private List tcps; + + private GetVirtualNodeSpecListenerConnectionPool() {} + public List grpcs() { + return this.grpcs; + } + public List http2s() { + return this.http2s; + } + public List https() { + return this.https; + } + public List tcps() { + return this.tcps; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(GetVirtualNodeSpecListenerConnectionPool defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private List grpcs; + private List http2s; + private List https; + private List tcps; + public Builder() {} + public Builder(GetVirtualNodeSpecListenerConnectionPool defaults) { + Objects.requireNonNull(defaults); + this.grpcs = defaults.grpcs; + this.http2s = defaults.http2s; + this.https = defaults.https; + this.tcps = defaults.tcps; + } + + @CustomType.Setter + public Builder grpcs(List grpcs) { + this.grpcs = Objects.requireNonNull(grpcs); + return this; + } + public Builder grpcs(GetVirtualNodeSpecListenerConnectionPoolGrpc... grpcs) { + return grpcs(List.of(grpcs)); + } + @CustomType.Setter + public Builder http2s(List http2s) { + this.http2s = Objects.requireNonNull(http2s); + return this; + } + public Builder http2s(GetVirtualNodeSpecListenerConnectionPoolHttp2... http2s) { + return http2s(List.of(http2s)); + } + @CustomType.Setter + public Builder https(List https) { + this.https = Objects.requireNonNull(https); + return this; + } + public Builder https(GetVirtualNodeSpecListenerConnectionPoolHttp... https) { + return https(List.of(https)); + } + @CustomType.Setter + public Builder tcps(List tcps) { + this.tcps = Objects.requireNonNull(tcps); + return this; + } + public Builder tcps(GetVirtualNodeSpecListenerConnectionPoolTcp... tcps) { + return tcps(List.of(tcps)); + } + public GetVirtualNodeSpecListenerConnectionPool build() { + final var o = new GetVirtualNodeSpecListenerConnectionPool(); + o.grpcs = grpcs; + o.http2s = http2s; + o.https = https; + o.tcps = tcps; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualNodeSpecListenerConnectionPoolGrpc.java b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualNodeSpecListenerConnectionPoolGrpc.java new file mode 100644 index 00000000000..d1646d69b3a --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualNodeSpecListenerConnectionPoolGrpc.java @@ -0,0 +1,46 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.appmesh.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.Integer; +import java.util.Objects; + +@CustomType +public final class GetVirtualNodeSpecListenerConnectionPoolGrpc { + private Integer maxRequests; + + private GetVirtualNodeSpecListenerConnectionPoolGrpc() {} + public Integer maxRequests() { + return this.maxRequests; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(GetVirtualNodeSpecListenerConnectionPoolGrpc defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private Integer maxRequests; + public Builder() {} + public Builder(GetVirtualNodeSpecListenerConnectionPoolGrpc defaults) { + Objects.requireNonNull(defaults); + this.maxRequests = defaults.maxRequests; + } + + @CustomType.Setter + public Builder maxRequests(Integer maxRequests) { + this.maxRequests = Objects.requireNonNull(maxRequests); + return this; + } + public GetVirtualNodeSpecListenerConnectionPoolGrpc build() { + final var o = new GetVirtualNodeSpecListenerConnectionPoolGrpc(); + o.maxRequests = maxRequests; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualNodeSpecListenerConnectionPoolHttp.java b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualNodeSpecListenerConnectionPoolHttp.java new file mode 100644 index 00000000000..4b5f00c7ff1 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualNodeSpecListenerConnectionPoolHttp.java @@ -0,0 +1,58 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.appmesh.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.Integer; +import java.util.Objects; + +@CustomType +public final class GetVirtualNodeSpecListenerConnectionPoolHttp { + private Integer maxConnections; + private Integer maxPendingRequests; + + private GetVirtualNodeSpecListenerConnectionPoolHttp() {} + public Integer maxConnections() { + return this.maxConnections; + } + public Integer maxPendingRequests() { + return this.maxPendingRequests; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(GetVirtualNodeSpecListenerConnectionPoolHttp defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private Integer maxConnections; + private Integer maxPendingRequests; + public Builder() {} + public Builder(GetVirtualNodeSpecListenerConnectionPoolHttp defaults) { + Objects.requireNonNull(defaults); + this.maxConnections = defaults.maxConnections; + this.maxPendingRequests = defaults.maxPendingRequests; + } + + @CustomType.Setter + public Builder maxConnections(Integer maxConnections) { + this.maxConnections = Objects.requireNonNull(maxConnections); + return this; + } + @CustomType.Setter + public Builder maxPendingRequests(Integer maxPendingRequests) { + this.maxPendingRequests = Objects.requireNonNull(maxPendingRequests); + return this; + } + public GetVirtualNodeSpecListenerConnectionPoolHttp build() { + final var o = new GetVirtualNodeSpecListenerConnectionPoolHttp(); + o.maxConnections = maxConnections; + o.maxPendingRequests = maxPendingRequests; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualNodeSpecListenerConnectionPoolHttp2.java b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualNodeSpecListenerConnectionPoolHttp2.java new file mode 100644 index 00000000000..c13265c0070 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualNodeSpecListenerConnectionPoolHttp2.java @@ -0,0 +1,46 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.appmesh.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.Integer; +import java.util.Objects; + +@CustomType +public final class GetVirtualNodeSpecListenerConnectionPoolHttp2 { + private Integer maxRequests; + + private GetVirtualNodeSpecListenerConnectionPoolHttp2() {} + public Integer maxRequests() { + return this.maxRequests; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(GetVirtualNodeSpecListenerConnectionPoolHttp2 defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private Integer maxRequests; + public Builder() {} + public Builder(GetVirtualNodeSpecListenerConnectionPoolHttp2 defaults) { + Objects.requireNonNull(defaults); + this.maxRequests = defaults.maxRequests; + } + + @CustomType.Setter + public Builder maxRequests(Integer maxRequests) { + this.maxRequests = Objects.requireNonNull(maxRequests); + return this; + } + public GetVirtualNodeSpecListenerConnectionPoolHttp2 build() { + final var o = new GetVirtualNodeSpecListenerConnectionPoolHttp2(); + o.maxRequests = maxRequests; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualNodeSpecListenerConnectionPoolTcp.java b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualNodeSpecListenerConnectionPoolTcp.java new file mode 100644 index 00000000000..75b6dd2772c --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualNodeSpecListenerConnectionPoolTcp.java @@ -0,0 +1,46 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.appmesh.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.Integer; +import java.util.Objects; + +@CustomType +public final class GetVirtualNodeSpecListenerConnectionPoolTcp { + private Integer maxConnections; + + private GetVirtualNodeSpecListenerConnectionPoolTcp() {} + public Integer maxConnections() { + return this.maxConnections; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(GetVirtualNodeSpecListenerConnectionPoolTcp defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private Integer maxConnections; + public Builder() {} + public Builder(GetVirtualNodeSpecListenerConnectionPoolTcp defaults) { + Objects.requireNonNull(defaults); + this.maxConnections = defaults.maxConnections; + } + + @CustomType.Setter + public Builder maxConnections(Integer maxConnections) { + this.maxConnections = Objects.requireNonNull(maxConnections); + return this; + } + public GetVirtualNodeSpecListenerConnectionPoolTcp build() { + final var o = new GetVirtualNodeSpecListenerConnectionPoolTcp(); + o.maxConnections = maxConnections; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualNodeSpecListenerHealthCheck.java b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualNodeSpecListenerHealthCheck.java new file mode 100644 index 00000000000..1aec5c6213c --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualNodeSpecListenerHealthCheck.java @@ -0,0 +1,119 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.appmesh.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.Integer; +import java.lang.String; +import java.util.Objects; + +@CustomType +public final class GetVirtualNodeSpecListenerHealthCheck { + private Integer healthyThreshold; + private Integer intervalMillis; + private String path; + private Integer port; + private String protocol; + private Integer timeoutMillis; + private Integer unhealthyThreshold; + + private GetVirtualNodeSpecListenerHealthCheck() {} + public Integer healthyThreshold() { + return this.healthyThreshold; + } + public Integer intervalMillis() { + return this.intervalMillis; + } + public String path() { + return this.path; + } + public Integer port() { + return this.port; + } + public String protocol() { + return this.protocol; + } + public Integer timeoutMillis() { + return this.timeoutMillis; + } + public Integer unhealthyThreshold() { + return this.unhealthyThreshold; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(GetVirtualNodeSpecListenerHealthCheck defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private Integer healthyThreshold; + private Integer intervalMillis; + private String path; + private Integer port; + private String protocol; + private Integer timeoutMillis; + private Integer unhealthyThreshold; + public Builder() {} + public Builder(GetVirtualNodeSpecListenerHealthCheck defaults) { + Objects.requireNonNull(defaults); + this.healthyThreshold = defaults.healthyThreshold; + this.intervalMillis = defaults.intervalMillis; + this.path = defaults.path; + this.port = defaults.port; + this.protocol = defaults.protocol; + this.timeoutMillis = defaults.timeoutMillis; + this.unhealthyThreshold = defaults.unhealthyThreshold; + } + + @CustomType.Setter + public Builder healthyThreshold(Integer healthyThreshold) { + this.healthyThreshold = Objects.requireNonNull(healthyThreshold); + return this; + } + @CustomType.Setter + public Builder intervalMillis(Integer intervalMillis) { + this.intervalMillis = Objects.requireNonNull(intervalMillis); + return this; + } + @CustomType.Setter + public Builder path(String path) { + this.path = Objects.requireNonNull(path); + return this; + } + @CustomType.Setter + public Builder port(Integer port) { + this.port = Objects.requireNonNull(port); + return this; + } + @CustomType.Setter + public Builder protocol(String protocol) { + this.protocol = Objects.requireNonNull(protocol); + return this; + } + @CustomType.Setter + public Builder timeoutMillis(Integer timeoutMillis) { + this.timeoutMillis = Objects.requireNonNull(timeoutMillis); + return this; + } + @CustomType.Setter + public Builder unhealthyThreshold(Integer unhealthyThreshold) { + this.unhealthyThreshold = Objects.requireNonNull(unhealthyThreshold); + return this; + } + public GetVirtualNodeSpecListenerHealthCheck build() { + final var o = new GetVirtualNodeSpecListenerHealthCheck(); + o.healthyThreshold = healthyThreshold; + o.intervalMillis = intervalMillis; + o.path = path; + o.port = port; + o.protocol = protocol; + o.timeoutMillis = timeoutMillis; + o.unhealthyThreshold = unhealthyThreshold; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualNodeSpecListenerOutlierDetection.java b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualNodeSpecListenerOutlierDetection.java new file mode 100644 index 00000000000..aae47708784 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualNodeSpecListenerOutlierDetection.java @@ -0,0 +1,91 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.appmesh.outputs; + +import com.pulumi.aws.appmesh.outputs.GetVirtualNodeSpecListenerOutlierDetectionBaseEjectionDuration; +import com.pulumi.aws.appmesh.outputs.GetVirtualNodeSpecListenerOutlierDetectionInterval; +import com.pulumi.core.annotations.CustomType; +import java.lang.Integer; +import java.util.List; +import java.util.Objects; + +@CustomType +public final class GetVirtualNodeSpecListenerOutlierDetection { + private List baseEjectionDurations; + private List intervals; + private Integer maxEjectionPercent; + private Integer maxServerErrors; + + private GetVirtualNodeSpecListenerOutlierDetection() {} + public List baseEjectionDurations() { + return this.baseEjectionDurations; + } + public List intervals() { + return this.intervals; + } + public Integer maxEjectionPercent() { + return this.maxEjectionPercent; + } + public Integer maxServerErrors() { + return this.maxServerErrors; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(GetVirtualNodeSpecListenerOutlierDetection defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private List baseEjectionDurations; + private List intervals; + private Integer maxEjectionPercent; + private Integer maxServerErrors; + public Builder() {} + public Builder(GetVirtualNodeSpecListenerOutlierDetection defaults) { + Objects.requireNonNull(defaults); + this.baseEjectionDurations = defaults.baseEjectionDurations; + this.intervals = defaults.intervals; + this.maxEjectionPercent = defaults.maxEjectionPercent; + this.maxServerErrors = defaults.maxServerErrors; + } + + @CustomType.Setter + public Builder baseEjectionDurations(List baseEjectionDurations) { + this.baseEjectionDurations = Objects.requireNonNull(baseEjectionDurations); + return this; + } + public Builder baseEjectionDurations(GetVirtualNodeSpecListenerOutlierDetectionBaseEjectionDuration... baseEjectionDurations) { + return baseEjectionDurations(List.of(baseEjectionDurations)); + } + @CustomType.Setter + public Builder intervals(List intervals) { + this.intervals = Objects.requireNonNull(intervals); + return this; + } + public Builder intervals(GetVirtualNodeSpecListenerOutlierDetectionInterval... intervals) { + return intervals(List.of(intervals)); + } + @CustomType.Setter + public Builder maxEjectionPercent(Integer maxEjectionPercent) { + this.maxEjectionPercent = Objects.requireNonNull(maxEjectionPercent); + return this; + } + @CustomType.Setter + public Builder maxServerErrors(Integer maxServerErrors) { + this.maxServerErrors = Objects.requireNonNull(maxServerErrors); + return this; + } + public GetVirtualNodeSpecListenerOutlierDetection build() { + final var o = new GetVirtualNodeSpecListenerOutlierDetection(); + o.baseEjectionDurations = baseEjectionDurations; + o.intervals = intervals; + o.maxEjectionPercent = maxEjectionPercent; + o.maxServerErrors = maxServerErrors; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualNodeSpecListenerOutlierDetectionBaseEjectionDuration.java b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualNodeSpecListenerOutlierDetectionBaseEjectionDuration.java new file mode 100644 index 00000000000..824cc347b58 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualNodeSpecListenerOutlierDetectionBaseEjectionDuration.java @@ -0,0 +1,59 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.appmesh.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.Integer; +import java.lang.String; +import java.util.Objects; + +@CustomType +public final class GetVirtualNodeSpecListenerOutlierDetectionBaseEjectionDuration { + private String unit; + private Integer value; + + private GetVirtualNodeSpecListenerOutlierDetectionBaseEjectionDuration() {} + public String unit() { + return this.unit; + } + public Integer value() { + return this.value; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(GetVirtualNodeSpecListenerOutlierDetectionBaseEjectionDuration defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private String unit; + private Integer value; + public Builder() {} + public Builder(GetVirtualNodeSpecListenerOutlierDetectionBaseEjectionDuration defaults) { + Objects.requireNonNull(defaults); + this.unit = defaults.unit; + this.value = defaults.value; + } + + @CustomType.Setter + public Builder unit(String unit) { + this.unit = Objects.requireNonNull(unit); + return this; + } + @CustomType.Setter + public Builder value(Integer value) { + this.value = Objects.requireNonNull(value); + return this; + } + public GetVirtualNodeSpecListenerOutlierDetectionBaseEjectionDuration build() { + final var o = new GetVirtualNodeSpecListenerOutlierDetectionBaseEjectionDuration(); + o.unit = unit; + o.value = value; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualNodeSpecListenerOutlierDetectionInterval.java b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualNodeSpecListenerOutlierDetectionInterval.java new file mode 100644 index 00000000000..69d56207ccd --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualNodeSpecListenerOutlierDetectionInterval.java @@ -0,0 +1,59 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.appmesh.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.Integer; +import java.lang.String; +import java.util.Objects; + +@CustomType +public final class GetVirtualNodeSpecListenerOutlierDetectionInterval { + private String unit; + private Integer value; + + private GetVirtualNodeSpecListenerOutlierDetectionInterval() {} + public String unit() { + return this.unit; + } + public Integer value() { + return this.value; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(GetVirtualNodeSpecListenerOutlierDetectionInterval defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private String unit; + private Integer value; + public Builder() {} + public Builder(GetVirtualNodeSpecListenerOutlierDetectionInterval defaults) { + Objects.requireNonNull(defaults); + this.unit = defaults.unit; + this.value = defaults.value; + } + + @CustomType.Setter + public Builder unit(String unit) { + this.unit = Objects.requireNonNull(unit); + return this; + } + @CustomType.Setter + public Builder value(Integer value) { + this.value = Objects.requireNonNull(value); + return this; + } + public GetVirtualNodeSpecListenerOutlierDetectionInterval build() { + final var o = new GetVirtualNodeSpecListenerOutlierDetectionInterval(); + o.unit = unit; + o.value = value; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualNodeSpecListenerPortMapping.java b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualNodeSpecListenerPortMapping.java new file mode 100644 index 00000000000..cb4a0c621f7 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualNodeSpecListenerPortMapping.java @@ -0,0 +1,59 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.appmesh.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.Integer; +import java.lang.String; +import java.util.Objects; + +@CustomType +public final class GetVirtualNodeSpecListenerPortMapping { + private Integer port; + private String protocol; + + private GetVirtualNodeSpecListenerPortMapping() {} + public Integer port() { + return this.port; + } + public String protocol() { + return this.protocol; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(GetVirtualNodeSpecListenerPortMapping defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private Integer port; + private String protocol; + public Builder() {} + public Builder(GetVirtualNodeSpecListenerPortMapping defaults) { + Objects.requireNonNull(defaults); + this.port = defaults.port; + this.protocol = defaults.protocol; + } + + @CustomType.Setter + public Builder port(Integer port) { + this.port = Objects.requireNonNull(port); + return this; + } + @CustomType.Setter + public Builder protocol(String protocol) { + this.protocol = Objects.requireNonNull(protocol); + return this; + } + public GetVirtualNodeSpecListenerPortMapping build() { + final var o = new GetVirtualNodeSpecListenerPortMapping(); + o.port = port; + o.protocol = protocol; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualNodeSpecListenerTimeout.java b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualNodeSpecListenerTimeout.java new file mode 100644 index 00000000000..cb043974b9b --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualNodeSpecListenerTimeout.java @@ -0,0 +1,98 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.appmesh.outputs; + +import com.pulumi.aws.appmesh.outputs.GetVirtualNodeSpecListenerTimeoutGrpc; +import com.pulumi.aws.appmesh.outputs.GetVirtualNodeSpecListenerTimeoutHttp2; +import com.pulumi.aws.appmesh.outputs.GetVirtualNodeSpecListenerTimeoutHttp; +import com.pulumi.aws.appmesh.outputs.GetVirtualNodeSpecListenerTimeoutTcp; +import com.pulumi.core.annotations.CustomType; +import java.util.List; +import java.util.Objects; + +@CustomType +public final class GetVirtualNodeSpecListenerTimeout { + private List grpcs; + private List http2s; + private List https; + private List tcps; + + private GetVirtualNodeSpecListenerTimeout() {} + public List grpcs() { + return this.grpcs; + } + public List http2s() { + return this.http2s; + } + public List https() { + return this.https; + } + public List tcps() { + return this.tcps; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(GetVirtualNodeSpecListenerTimeout defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private List grpcs; + private List http2s; + private List https; + private List tcps; + public Builder() {} + public Builder(GetVirtualNodeSpecListenerTimeout defaults) { + Objects.requireNonNull(defaults); + this.grpcs = defaults.grpcs; + this.http2s = defaults.http2s; + this.https = defaults.https; + this.tcps = defaults.tcps; + } + + @CustomType.Setter + public Builder grpcs(List grpcs) { + this.grpcs = Objects.requireNonNull(grpcs); + return this; + } + public Builder grpcs(GetVirtualNodeSpecListenerTimeoutGrpc... grpcs) { + return grpcs(List.of(grpcs)); + } + @CustomType.Setter + public Builder http2s(List http2s) { + this.http2s = Objects.requireNonNull(http2s); + return this; + } + public Builder http2s(GetVirtualNodeSpecListenerTimeoutHttp2... http2s) { + return http2s(List.of(http2s)); + } + @CustomType.Setter + public Builder https(List https) { + this.https = Objects.requireNonNull(https); + return this; + } + public Builder https(GetVirtualNodeSpecListenerTimeoutHttp... https) { + return https(List.of(https)); + } + @CustomType.Setter + public Builder tcps(List tcps) { + this.tcps = Objects.requireNonNull(tcps); + return this; + } + public Builder tcps(GetVirtualNodeSpecListenerTimeoutTcp... tcps) { + return tcps(List.of(tcps)); + } + public GetVirtualNodeSpecListenerTimeout build() { + final var o = new GetVirtualNodeSpecListenerTimeout(); + o.grpcs = grpcs; + o.http2s = http2s; + o.https = https; + o.tcps = tcps; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualNodeSpecListenerTimeoutGrpc.java b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualNodeSpecListenerTimeoutGrpc.java new file mode 100644 index 00000000000..551f50705f2 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualNodeSpecListenerTimeoutGrpc.java @@ -0,0 +1,66 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.appmesh.outputs; + +import com.pulumi.aws.appmesh.outputs.GetVirtualNodeSpecListenerTimeoutGrpcIdle; +import com.pulumi.aws.appmesh.outputs.GetVirtualNodeSpecListenerTimeoutGrpcPerRequest; +import com.pulumi.core.annotations.CustomType; +import java.util.List; +import java.util.Objects; + +@CustomType +public final class GetVirtualNodeSpecListenerTimeoutGrpc { + private List idles; + private List perRequests; + + private GetVirtualNodeSpecListenerTimeoutGrpc() {} + public List idles() { + return this.idles; + } + public List perRequests() { + return this.perRequests; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(GetVirtualNodeSpecListenerTimeoutGrpc defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private List idles; + private List perRequests; + public Builder() {} + public Builder(GetVirtualNodeSpecListenerTimeoutGrpc defaults) { + Objects.requireNonNull(defaults); + this.idles = defaults.idles; + this.perRequests = defaults.perRequests; + } + + @CustomType.Setter + public Builder idles(List idles) { + this.idles = Objects.requireNonNull(idles); + return this; + } + public Builder idles(GetVirtualNodeSpecListenerTimeoutGrpcIdle... idles) { + return idles(List.of(idles)); + } + @CustomType.Setter + public Builder perRequests(List perRequests) { + this.perRequests = Objects.requireNonNull(perRequests); + return this; + } + public Builder perRequests(GetVirtualNodeSpecListenerTimeoutGrpcPerRequest... perRequests) { + return perRequests(List.of(perRequests)); + } + public GetVirtualNodeSpecListenerTimeoutGrpc build() { + final var o = new GetVirtualNodeSpecListenerTimeoutGrpc(); + o.idles = idles; + o.perRequests = perRequests; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualNodeSpecListenerTimeoutGrpcIdle.java b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualNodeSpecListenerTimeoutGrpcIdle.java new file mode 100644 index 00000000000..7862df9dbbb --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualNodeSpecListenerTimeoutGrpcIdle.java @@ -0,0 +1,59 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.appmesh.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.Integer; +import java.lang.String; +import java.util.Objects; + +@CustomType +public final class GetVirtualNodeSpecListenerTimeoutGrpcIdle { + private String unit; + private Integer value; + + private GetVirtualNodeSpecListenerTimeoutGrpcIdle() {} + public String unit() { + return this.unit; + } + public Integer value() { + return this.value; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(GetVirtualNodeSpecListenerTimeoutGrpcIdle defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private String unit; + private Integer value; + public Builder() {} + public Builder(GetVirtualNodeSpecListenerTimeoutGrpcIdle defaults) { + Objects.requireNonNull(defaults); + this.unit = defaults.unit; + this.value = defaults.value; + } + + @CustomType.Setter + public Builder unit(String unit) { + this.unit = Objects.requireNonNull(unit); + return this; + } + @CustomType.Setter + public Builder value(Integer value) { + this.value = Objects.requireNonNull(value); + return this; + } + public GetVirtualNodeSpecListenerTimeoutGrpcIdle build() { + final var o = new GetVirtualNodeSpecListenerTimeoutGrpcIdle(); + o.unit = unit; + o.value = value; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualNodeSpecListenerTimeoutGrpcPerRequest.java b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualNodeSpecListenerTimeoutGrpcPerRequest.java new file mode 100644 index 00000000000..62bde1bb937 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualNodeSpecListenerTimeoutGrpcPerRequest.java @@ -0,0 +1,59 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.appmesh.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.Integer; +import java.lang.String; +import java.util.Objects; + +@CustomType +public final class GetVirtualNodeSpecListenerTimeoutGrpcPerRequest { + private String unit; + private Integer value; + + private GetVirtualNodeSpecListenerTimeoutGrpcPerRequest() {} + public String unit() { + return this.unit; + } + public Integer value() { + return this.value; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(GetVirtualNodeSpecListenerTimeoutGrpcPerRequest defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private String unit; + private Integer value; + public Builder() {} + public Builder(GetVirtualNodeSpecListenerTimeoutGrpcPerRequest defaults) { + Objects.requireNonNull(defaults); + this.unit = defaults.unit; + this.value = defaults.value; + } + + @CustomType.Setter + public Builder unit(String unit) { + this.unit = Objects.requireNonNull(unit); + return this; + } + @CustomType.Setter + public Builder value(Integer value) { + this.value = Objects.requireNonNull(value); + return this; + } + public GetVirtualNodeSpecListenerTimeoutGrpcPerRequest build() { + final var o = new GetVirtualNodeSpecListenerTimeoutGrpcPerRequest(); + o.unit = unit; + o.value = value; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualNodeSpecListenerTimeoutHttp.java b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualNodeSpecListenerTimeoutHttp.java new file mode 100644 index 00000000000..9c2f0be4ef8 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualNodeSpecListenerTimeoutHttp.java @@ -0,0 +1,66 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.appmesh.outputs; + +import com.pulumi.aws.appmesh.outputs.GetVirtualNodeSpecListenerTimeoutHttpIdle; +import com.pulumi.aws.appmesh.outputs.GetVirtualNodeSpecListenerTimeoutHttpPerRequest; +import com.pulumi.core.annotations.CustomType; +import java.util.List; +import java.util.Objects; + +@CustomType +public final class GetVirtualNodeSpecListenerTimeoutHttp { + private List idles; + private List perRequests; + + private GetVirtualNodeSpecListenerTimeoutHttp() {} + public List idles() { + return this.idles; + } + public List perRequests() { + return this.perRequests; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(GetVirtualNodeSpecListenerTimeoutHttp defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private List idles; + private List perRequests; + public Builder() {} + public Builder(GetVirtualNodeSpecListenerTimeoutHttp defaults) { + Objects.requireNonNull(defaults); + this.idles = defaults.idles; + this.perRequests = defaults.perRequests; + } + + @CustomType.Setter + public Builder idles(List idles) { + this.idles = Objects.requireNonNull(idles); + return this; + } + public Builder idles(GetVirtualNodeSpecListenerTimeoutHttpIdle... idles) { + return idles(List.of(idles)); + } + @CustomType.Setter + public Builder perRequests(List perRequests) { + this.perRequests = Objects.requireNonNull(perRequests); + return this; + } + public Builder perRequests(GetVirtualNodeSpecListenerTimeoutHttpPerRequest... perRequests) { + return perRequests(List.of(perRequests)); + } + public GetVirtualNodeSpecListenerTimeoutHttp build() { + final var o = new GetVirtualNodeSpecListenerTimeoutHttp(); + o.idles = idles; + o.perRequests = perRequests; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualNodeSpecListenerTimeoutHttp2.java b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualNodeSpecListenerTimeoutHttp2.java new file mode 100644 index 00000000000..ad837d5666b --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualNodeSpecListenerTimeoutHttp2.java @@ -0,0 +1,66 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.appmesh.outputs; + +import com.pulumi.aws.appmesh.outputs.GetVirtualNodeSpecListenerTimeoutHttp2Idle; +import com.pulumi.aws.appmesh.outputs.GetVirtualNodeSpecListenerTimeoutHttp2PerRequest; +import com.pulumi.core.annotations.CustomType; +import java.util.List; +import java.util.Objects; + +@CustomType +public final class GetVirtualNodeSpecListenerTimeoutHttp2 { + private List idles; + private List perRequests; + + private GetVirtualNodeSpecListenerTimeoutHttp2() {} + public List idles() { + return this.idles; + } + public List perRequests() { + return this.perRequests; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(GetVirtualNodeSpecListenerTimeoutHttp2 defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private List idles; + private List perRequests; + public Builder() {} + public Builder(GetVirtualNodeSpecListenerTimeoutHttp2 defaults) { + Objects.requireNonNull(defaults); + this.idles = defaults.idles; + this.perRequests = defaults.perRequests; + } + + @CustomType.Setter + public Builder idles(List idles) { + this.idles = Objects.requireNonNull(idles); + return this; + } + public Builder idles(GetVirtualNodeSpecListenerTimeoutHttp2Idle... idles) { + return idles(List.of(idles)); + } + @CustomType.Setter + public Builder perRequests(List perRequests) { + this.perRequests = Objects.requireNonNull(perRequests); + return this; + } + public Builder perRequests(GetVirtualNodeSpecListenerTimeoutHttp2PerRequest... perRequests) { + return perRequests(List.of(perRequests)); + } + public GetVirtualNodeSpecListenerTimeoutHttp2 build() { + final var o = new GetVirtualNodeSpecListenerTimeoutHttp2(); + o.idles = idles; + o.perRequests = perRequests; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualNodeSpecListenerTimeoutHttp2Idle.java b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualNodeSpecListenerTimeoutHttp2Idle.java new file mode 100644 index 00000000000..aaf50cb44ec --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualNodeSpecListenerTimeoutHttp2Idle.java @@ -0,0 +1,59 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.appmesh.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.Integer; +import java.lang.String; +import java.util.Objects; + +@CustomType +public final class GetVirtualNodeSpecListenerTimeoutHttp2Idle { + private String unit; + private Integer value; + + private GetVirtualNodeSpecListenerTimeoutHttp2Idle() {} + public String unit() { + return this.unit; + } + public Integer value() { + return this.value; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(GetVirtualNodeSpecListenerTimeoutHttp2Idle defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private String unit; + private Integer value; + public Builder() {} + public Builder(GetVirtualNodeSpecListenerTimeoutHttp2Idle defaults) { + Objects.requireNonNull(defaults); + this.unit = defaults.unit; + this.value = defaults.value; + } + + @CustomType.Setter + public Builder unit(String unit) { + this.unit = Objects.requireNonNull(unit); + return this; + } + @CustomType.Setter + public Builder value(Integer value) { + this.value = Objects.requireNonNull(value); + return this; + } + public GetVirtualNodeSpecListenerTimeoutHttp2Idle build() { + final var o = new GetVirtualNodeSpecListenerTimeoutHttp2Idle(); + o.unit = unit; + o.value = value; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualNodeSpecListenerTimeoutHttp2PerRequest.java b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualNodeSpecListenerTimeoutHttp2PerRequest.java new file mode 100644 index 00000000000..3120ac741a2 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualNodeSpecListenerTimeoutHttp2PerRequest.java @@ -0,0 +1,59 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.appmesh.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.Integer; +import java.lang.String; +import java.util.Objects; + +@CustomType +public final class GetVirtualNodeSpecListenerTimeoutHttp2PerRequest { + private String unit; + private Integer value; + + private GetVirtualNodeSpecListenerTimeoutHttp2PerRequest() {} + public String unit() { + return this.unit; + } + public Integer value() { + return this.value; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(GetVirtualNodeSpecListenerTimeoutHttp2PerRequest defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private String unit; + private Integer value; + public Builder() {} + public Builder(GetVirtualNodeSpecListenerTimeoutHttp2PerRequest defaults) { + Objects.requireNonNull(defaults); + this.unit = defaults.unit; + this.value = defaults.value; + } + + @CustomType.Setter + public Builder unit(String unit) { + this.unit = Objects.requireNonNull(unit); + return this; + } + @CustomType.Setter + public Builder value(Integer value) { + this.value = Objects.requireNonNull(value); + return this; + } + public GetVirtualNodeSpecListenerTimeoutHttp2PerRequest build() { + final var o = new GetVirtualNodeSpecListenerTimeoutHttp2PerRequest(); + o.unit = unit; + o.value = value; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualNodeSpecListenerTimeoutHttpIdle.java b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualNodeSpecListenerTimeoutHttpIdle.java new file mode 100644 index 00000000000..d0a14d2b0ed --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualNodeSpecListenerTimeoutHttpIdle.java @@ -0,0 +1,59 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.appmesh.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.Integer; +import java.lang.String; +import java.util.Objects; + +@CustomType +public final class GetVirtualNodeSpecListenerTimeoutHttpIdle { + private String unit; + private Integer value; + + private GetVirtualNodeSpecListenerTimeoutHttpIdle() {} + public String unit() { + return this.unit; + } + public Integer value() { + return this.value; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(GetVirtualNodeSpecListenerTimeoutHttpIdle defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private String unit; + private Integer value; + public Builder() {} + public Builder(GetVirtualNodeSpecListenerTimeoutHttpIdle defaults) { + Objects.requireNonNull(defaults); + this.unit = defaults.unit; + this.value = defaults.value; + } + + @CustomType.Setter + public Builder unit(String unit) { + this.unit = Objects.requireNonNull(unit); + return this; + } + @CustomType.Setter + public Builder value(Integer value) { + this.value = Objects.requireNonNull(value); + return this; + } + public GetVirtualNodeSpecListenerTimeoutHttpIdle build() { + final var o = new GetVirtualNodeSpecListenerTimeoutHttpIdle(); + o.unit = unit; + o.value = value; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualNodeSpecListenerTimeoutHttpPerRequest.java b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualNodeSpecListenerTimeoutHttpPerRequest.java new file mode 100644 index 00000000000..b0e8f15f36e --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualNodeSpecListenerTimeoutHttpPerRequest.java @@ -0,0 +1,59 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.appmesh.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.Integer; +import java.lang.String; +import java.util.Objects; + +@CustomType +public final class GetVirtualNodeSpecListenerTimeoutHttpPerRequest { + private String unit; + private Integer value; + + private GetVirtualNodeSpecListenerTimeoutHttpPerRequest() {} + public String unit() { + return this.unit; + } + public Integer value() { + return this.value; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(GetVirtualNodeSpecListenerTimeoutHttpPerRequest defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private String unit; + private Integer value; + public Builder() {} + public Builder(GetVirtualNodeSpecListenerTimeoutHttpPerRequest defaults) { + Objects.requireNonNull(defaults); + this.unit = defaults.unit; + this.value = defaults.value; + } + + @CustomType.Setter + public Builder unit(String unit) { + this.unit = Objects.requireNonNull(unit); + return this; + } + @CustomType.Setter + public Builder value(Integer value) { + this.value = Objects.requireNonNull(value); + return this; + } + public GetVirtualNodeSpecListenerTimeoutHttpPerRequest build() { + final var o = new GetVirtualNodeSpecListenerTimeoutHttpPerRequest(); + o.unit = unit; + o.value = value; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualNodeSpecListenerTimeoutTcp.java b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualNodeSpecListenerTimeoutTcp.java new file mode 100644 index 00000000000..8c92384764e --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualNodeSpecListenerTimeoutTcp.java @@ -0,0 +1,50 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.appmesh.outputs; + +import com.pulumi.aws.appmesh.outputs.GetVirtualNodeSpecListenerTimeoutTcpIdle; +import com.pulumi.core.annotations.CustomType; +import java.util.List; +import java.util.Objects; + +@CustomType +public final class GetVirtualNodeSpecListenerTimeoutTcp { + private List idles; + + private GetVirtualNodeSpecListenerTimeoutTcp() {} + public List idles() { + return this.idles; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(GetVirtualNodeSpecListenerTimeoutTcp defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private List idles; + public Builder() {} + public Builder(GetVirtualNodeSpecListenerTimeoutTcp defaults) { + Objects.requireNonNull(defaults); + this.idles = defaults.idles; + } + + @CustomType.Setter + public Builder idles(List idles) { + this.idles = Objects.requireNonNull(idles); + return this; + } + public Builder idles(GetVirtualNodeSpecListenerTimeoutTcpIdle... idles) { + return idles(List.of(idles)); + } + public GetVirtualNodeSpecListenerTimeoutTcp build() { + final var o = new GetVirtualNodeSpecListenerTimeoutTcp(); + o.idles = idles; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualNodeSpecListenerTimeoutTcpIdle.java b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualNodeSpecListenerTimeoutTcpIdle.java new file mode 100644 index 00000000000..456191acfcc --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualNodeSpecListenerTimeoutTcpIdle.java @@ -0,0 +1,59 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.appmesh.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.Integer; +import java.lang.String; +import java.util.Objects; + +@CustomType +public final class GetVirtualNodeSpecListenerTimeoutTcpIdle { + private String unit; + private Integer value; + + private GetVirtualNodeSpecListenerTimeoutTcpIdle() {} + public String unit() { + return this.unit; + } + public Integer value() { + return this.value; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(GetVirtualNodeSpecListenerTimeoutTcpIdle defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private String unit; + private Integer value; + public Builder() {} + public Builder(GetVirtualNodeSpecListenerTimeoutTcpIdle defaults) { + Objects.requireNonNull(defaults); + this.unit = defaults.unit; + this.value = defaults.value; + } + + @CustomType.Setter + public Builder unit(String unit) { + this.unit = Objects.requireNonNull(unit); + return this; + } + @CustomType.Setter + public Builder value(Integer value) { + this.value = Objects.requireNonNull(value); + return this; + } + public GetVirtualNodeSpecListenerTimeoutTcpIdle build() { + final var o = new GetVirtualNodeSpecListenerTimeoutTcpIdle(); + o.unit = unit; + o.value = value; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualNodeSpecListenerTl.java b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualNodeSpecListenerTl.java new file mode 100644 index 00000000000..47844eec889 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualNodeSpecListenerTl.java @@ -0,0 +1,79 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.appmesh.outputs; + +import com.pulumi.aws.appmesh.outputs.GetVirtualNodeSpecListenerTlCertificate; +import com.pulumi.aws.appmesh.outputs.GetVirtualNodeSpecListenerTlValidation; +import com.pulumi.core.annotations.CustomType; +import java.lang.String; +import java.util.List; +import java.util.Objects; + +@CustomType +public final class GetVirtualNodeSpecListenerTl { + private List certificates; + private String mode; + private List validations; + + private GetVirtualNodeSpecListenerTl() {} + public List certificates() { + return this.certificates; + } + public String mode() { + return this.mode; + } + public List validations() { + return this.validations; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(GetVirtualNodeSpecListenerTl defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private List certificates; + private String mode; + private List validations; + public Builder() {} + public Builder(GetVirtualNodeSpecListenerTl defaults) { + Objects.requireNonNull(defaults); + this.certificates = defaults.certificates; + this.mode = defaults.mode; + this.validations = defaults.validations; + } + + @CustomType.Setter + public Builder certificates(List certificates) { + this.certificates = Objects.requireNonNull(certificates); + return this; + } + public Builder certificates(GetVirtualNodeSpecListenerTlCertificate... certificates) { + return certificates(List.of(certificates)); + } + @CustomType.Setter + public Builder mode(String mode) { + this.mode = Objects.requireNonNull(mode); + return this; + } + @CustomType.Setter + public Builder validations(List validations) { + this.validations = Objects.requireNonNull(validations); + return this; + } + public Builder validations(GetVirtualNodeSpecListenerTlValidation... validations) { + return validations(List.of(validations)); + } + public GetVirtualNodeSpecListenerTl build() { + final var o = new GetVirtualNodeSpecListenerTl(); + o.certificates = certificates; + o.mode = mode; + o.validations = validations; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualNodeSpecListenerTlCertificate.java b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualNodeSpecListenerTlCertificate.java new file mode 100644 index 00000000000..068a365e90d --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualNodeSpecListenerTlCertificate.java @@ -0,0 +1,82 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.appmesh.outputs; + +import com.pulumi.aws.appmesh.outputs.GetVirtualNodeSpecListenerTlCertificateAcm; +import com.pulumi.aws.appmesh.outputs.GetVirtualNodeSpecListenerTlCertificateFile; +import com.pulumi.aws.appmesh.outputs.GetVirtualNodeSpecListenerTlCertificateSd; +import com.pulumi.core.annotations.CustomType; +import java.util.List; +import java.util.Objects; + +@CustomType +public final class GetVirtualNodeSpecListenerTlCertificate { + private List acms; + private List files; + private List sds; + + private GetVirtualNodeSpecListenerTlCertificate() {} + public List acms() { + return this.acms; + } + public List files() { + return this.files; + } + public List sds() { + return this.sds; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(GetVirtualNodeSpecListenerTlCertificate defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private List acms; + private List files; + private List sds; + public Builder() {} + public Builder(GetVirtualNodeSpecListenerTlCertificate defaults) { + Objects.requireNonNull(defaults); + this.acms = defaults.acms; + this.files = defaults.files; + this.sds = defaults.sds; + } + + @CustomType.Setter + public Builder acms(List acms) { + this.acms = Objects.requireNonNull(acms); + return this; + } + public Builder acms(GetVirtualNodeSpecListenerTlCertificateAcm... acms) { + return acms(List.of(acms)); + } + @CustomType.Setter + public Builder files(List files) { + this.files = Objects.requireNonNull(files); + return this; + } + public Builder files(GetVirtualNodeSpecListenerTlCertificateFile... files) { + return files(List.of(files)); + } + @CustomType.Setter + public Builder sds(List sds) { + this.sds = Objects.requireNonNull(sds); + return this; + } + public Builder sds(GetVirtualNodeSpecListenerTlCertificateSd... sds) { + return sds(List.of(sds)); + } + public GetVirtualNodeSpecListenerTlCertificate build() { + final var o = new GetVirtualNodeSpecListenerTlCertificate(); + o.acms = acms; + o.files = files; + o.sds = sds; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualNodeSpecListenerTlCertificateAcm.java b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualNodeSpecListenerTlCertificateAcm.java new file mode 100644 index 00000000000..233d282868d --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualNodeSpecListenerTlCertificateAcm.java @@ -0,0 +1,46 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.appmesh.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.String; +import java.util.Objects; + +@CustomType +public final class GetVirtualNodeSpecListenerTlCertificateAcm { + private String certificateArn; + + private GetVirtualNodeSpecListenerTlCertificateAcm() {} + public String certificateArn() { + return this.certificateArn; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(GetVirtualNodeSpecListenerTlCertificateAcm defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private String certificateArn; + public Builder() {} + public Builder(GetVirtualNodeSpecListenerTlCertificateAcm defaults) { + Objects.requireNonNull(defaults); + this.certificateArn = defaults.certificateArn; + } + + @CustomType.Setter + public Builder certificateArn(String certificateArn) { + this.certificateArn = Objects.requireNonNull(certificateArn); + return this; + } + public GetVirtualNodeSpecListenerTlCertificateAcm build() { + final var o = new GetVirtualNodeSpecListenerTlCertificateAcm(); + o.certificateArn = certificateArn; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualNodeSpecListenerTlCertificateFile.java b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualNodeSpecListenerTlCertificateFile.java new file mode 100644 index 00000000000..2218770778d --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualNodeSpecListenerTlCertificateFile.java @@ -0,0 +1,58 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.appmesh.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.String; +import java.util.Objects; + +@CustomType +public final class GetVirtualNodeSpecListenerTlCertificateFile { + private String certificateChain; + private String privateKey; + + private GetVirtualNodeSpecListenerTlCertificateFile() {} + public String certificateChain() { + return this.certificateChain; + } + public String privateKey() { + return this.privateKey; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(GetVirtualNodeSpecListenerTlCertificateFile defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private String certificateChain; + private String privateKey; + public Builder() {} + public Builder(GetVirtualNodeSpecListenerTlCertificateFile defaults) { + Objects.requireNonNull(defaults); + this.certificateChain = defaults.certificateChain; + this.privateKey = defaults.privateKey; + } + + @CustomType.Setter + public Builder certificateChain(String certificateChain) { + this.certificateChain = Objects.requireNonNull(certificateChain); + return this; + } + @CustomType.Setter + public Builder privateKey(String privateKey) { + this.privateKey = Objects.requireNonNull(privateKey); + return this; + } + public GetVirtualNodeSpecListenerTlCertificateFile build() { + final var o = new GetVirtualNodeSpecListenerTlCertificateFile(); + o.certificateChain = certificateChain; + o.privateKey = privateKey; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualNodeSpecListenerTlCertificateSd.java b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualNodeSpecListenerTlCertificateSd.java new file mode 100644 index 00000000000..a77bb41b0e8 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualNodeSpecListenerTlCertificateSd.java @@ -0,0 +1,46 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.appmesh.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.String; +import java.util.Objects; + +@CustomType +public final class GetVirtualNodeSpecListenerTlCertificateSd { + private String secretName; + + private GetVirtualNodeSpecListenerTlCertificateSd() {} + public String secretName() { + return this.secretName; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(GetVirtualNodeSpecListenerTlCertificateSd defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private String secretName; + public Builder() {} + public Builder(GetVirtualNodeSpecListenerTlCertificateSd defaults) { + Objects.requireNonNull(defaults); + this.secretName = defaults.secretName; + } + + @CustomType.Setter + public Builder secretName(String secretName) { + this.secretName = Objects.requireNonNull(secretName); + return this; + } + public GetVirtualNodeSpecListenerTlCertificateSd build() { + final var o = new GetVirtualNodeSpecListenerTlCertificateSd(); + o.secretName = secretName; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualNodeSpecListenerTlValidation.java b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualNodeSpecListenerTlValidation.java new file mode 100644 index 00000000000..2dca48a43b1 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualNodeSpecListenerTlValidation.java @@ -0,0 +1,66 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.appmesh.outputs; + +import com.pulumi.aws.appmesh.outputs.GetVirtualNodeSpecListenerTlValidationSubjectAlternativeName; +import com.pulumi.aws.appmesh.outputs.GetVirtualNodeSpecListenerTlValidationTrust; +import com.pulumi.core.annotations.CustomType; +import java.util.List; +import java.util.Objects; + +@CustomType +public final class GetVirtualNodeSpecListenerTlValidation { + private List subjectAlternativeNames; + private List trusts; + + private GetVirtualNodeSpecListenerTlValidation() {} + public List subjectAlternativeNames() { + return this.subjectAlternativeNames; + } + public List trusts() { + return this.trusts; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(GetVirtualNodeSpecListenerTlValidation defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private List subjectAlternativeNames; + private List trusts; + public Builder() {} + public Builder(GetVirtualNodeSpecListenerTlValidation defaults) { + Objects.requireNonNull(defaults); + this.subjectAlternativeNames = defaults.subjectAlternativeNames; + this.trusts = defaults.trusts; + } + + @CustomType.Setter + public Builder subjectAlternativeNames(List subjectAlternativeNames) { + this.subjectAlternativeNames = Objects.requireNonNull(subjectAlternativeNames); + return this; + } + public Builder subjectAlternativeNames(GetVirtualNodeSpecListenerTlValidationSubjectAlternativeName... subjectAlternativeNames) { + return subjectAlternativeNames(List.of(subjectAlternativeNames)); + } + @CustomType.Setter + public Builder trusts(List trusts) { + this.trusts = Objects.requireNonNull(trusts); + return this; + } + public Builder trusts(GetVirtualNodeSpecListenerTlValidationTrust... trusts) { + return trusts(List.of(trusts)); + } + public GetVirtualNodeSpecListenerTlValidation build() { + final var o = new GetVirtualNodeSpecListenerTlValidation(); + o.subjectAlternativeNames = subjectAlternativeNames; + o.trusts = trusts; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualNodeSpecListenerTlValidationSubjectAlternativeName.java b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualNodeSpecListenerTlValidationSubjectAlternativeName.java new file mode 100644 index 00000000000..05dd2395f21 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualNodeSpecListenerTlValidationSubjectAlternativeName.java @@ -0,0 +1,50 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.appmesh.outputs; + +import com.pulumi.aws.appmesh.outputs.GetVirtualNodeSpecListenerTlValidationSubjectAlternativeNameMatch; +import com.pulumi.core.annotations.CustomType; +import java.util.List; +import java.util.Objects; + +@CustomType +public final class GetVirtualNodeSpecListenerTlValidationSubjectAlternativeName { + private List matches; + + private GetVirtualNodeSpecListenerTlValidationSubjectAlternativeName() {} + public List matches() { + return this.matches; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(GetVirtualNodeSpecListenerTlValidationSubjectAlternativeName defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private List matches; + public Builder() {} + public Builder(GetVirtualNodeSpecListenerTlValidationSubjectAlternativeName defaults) { + Objects.requireNonNull(defaults); + this.matches = defaults.matches; + } + + @CustomType.Setter + public Builder matches(List matches) { + this.matches = Objects.requireNonNull(matches); + return this; + } + public Builder matches(GetVirtualNodeSpecListenerTlValidationSubjectAlternativeNameMatch... matches) { + return matches(List.of(matches)); + } + public GetVirtualNodeSpecListenerTlValidationSubjectAlternativeName build() { + final var o = new GetVirtualNodeSpecListenerTlValidationSubjectAlternativeName(); + o.matches = matches; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualNodeSpecListenerTlValidationSubjectAlternativeNameMatch.java b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualNodeSpecListenerTlValidationSubjectAlternativeNameMatch.java new file mode 100644 index 00000000000..ffcaab57417 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualNodeSpecListenerTlValidationSubjectAlternativeNameMatch.java @@ -0,0 +1,50 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.appmesh.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.String; +import java.util.List; +import java.util.Objects; + +@CustomType +public final class GetVirtualNodeSpecListenerTlValidationSubjectAlternativeNameMatch { + private List exacts; + + private GetVirtualNodeSpecListenerTlValidationSubjectAlternativeNameMatch() {} + public List exacts() { + return this.exacts; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(GetVirtualNodeSpecListenerTlValidationSubjectAlternativeNameMatch defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private List exacts; + public Builder() {} + public Builder(GetVirtualNodeSpecListenerTlValidationSubjectAlternativeNameMatch defaults) { + Objects.requireNonNull(defaults); + this.exacts = defaults.exacts; + } + + @CustomType.Setter + public Builder exacts(List exacts) { + this.exacts = Objects.requireNonNull(exacts); + return this; + } + public Builder exacts(String... exacts) { + return exacts(List.of(exacts)); + } + public GetVirtualNodeSpecListenerTlValidationSubjectAlternativeNameMatch build() { + final var o = new GetVirtualNodeSpecListenerTlValidationSubjectAlternativeNameMatch(); + o.exacts = exacts; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualNodeSpecListenerTlValidationTrust.java b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualNodeSpecListenerTlValidationTrust.java new file mode 100644 index 00000000000..34d0ab92176 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualNodeSpecListenerTlValidationTrust.java @@ -0,0 +1,66 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.appmesh.outputs; + +import com.pulumi.aws.appmesh.outputs.GetVirtualNodeSpecListenerTlValidationTrustFile; +import com.pulumi.aws.appmesh.outputs.GetVirtualNodeSpecListenerTlValidationTrustSd; +import com.pulumi.core.annotations.CustomType; +import java.util.List; +import java.util.Objects; + +@CustomType +public final class GetVirtualNodeSpecListenerTlValidationTrust { + private List files; + private List sds; + + private GetVirtualNodeSpecListenerTlValidationTrust() {} + public List files() { + return this.files; + } + public List sds() { + return this.sds; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(GetVirtualNodeSpecListenerTlValidationTrust defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private List files; + private List sds; + public Builder() {} + public Builder(GetVirtualNodeSpecListenerTlValidationTrust defaults) { + Objects.requireNonNull(defaults); + this.files = defaults.files; + this.sds = defaults.sds; + } + + @CustomType.Setter + public Builder files(List files) { + this.files = Objects.requireNonNull(files); + return this; + } + public Builder files(GetVirtualNodeSpecListenerTlValidationTrustFile... files) { + return files(List.of(files)); + } + @CustomType.Setter + public Builder sds(List sds) { + this.sds = Objects.requireNonNull(sds); + return this; + } + public Builder sds(GetVirtualNodeSpecListenerTlValidationTrustSd... sds) { + return sds(List.of(sds)); + } + public GetVirtualNodeSpecListenerTlValidationTrust build() { + final var o = new GetVirtualNodeSpecListenerTlValidationTrust(); + o.files = files; + o.sds = sds; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualNodeSpecListenerTlValidationTrustFile.java b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualNodeSpecListenerTlValidationTrustFile.java new file mode 100644 index 00000000000..facfd49ae68 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualNodeSpecListenerTlValidationTrustFile.java @@ -0,0 +1,46 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.appmesh.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.String; +import java.util.Objects; + +@CustomType +public final class GetVirtualNodeSpecListenerTlValidationTrustFile { + private String certificateChain; + + private GetVirtualNodeSpecListenerTlValidationTrustFile() {} + public String certificateChain() { + return this.certificateChain; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(GetVirtualNodeSpecListenerTlValidationTrustFile defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private String certificateChain; + public Builder() {} + public Builder(GetVirtualNodeSpecListenerTlValidationTrustFile defaults) { + Objects.requireNonNull(defaults); + this.certificateChain = defaults.certificateChain; + } + + @CustomType.Setter + public Builder certificateChain(String certificateChain) { + this.certificateChain = Objects.requireNonNull(certificateChain); + return this; + } + public GetVirtualNodeSpecListenerTlValidationTrustFile build() { + final var o = new GetVirtualNodeSpecListenerTlValidationTrustFile(); + o.certificateChain = certificateChain; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualNodeSpecListenerTlValidationTrustSd.java b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualNodeSpecListenerTlValidationTrustSd.java new file mode 100644 index 00000000000..238090b16a3 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualNodeSpecListenerTlValidationTrustSd.java @@ -0,0 +1,46 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.appmesh.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.String; +import java.util.Objects; + +@CustomType +public final class GetVirtualNodeSpecListenerTlValidationTrustSd { + private String secretName; + + private GetVirtualNodeSpecListenerTlValidationTrustSd() {} + public String secretName() { + return this.secretName; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(GetVirtualNodeSpecListenerTlValidationTrustSd defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private String secretName; + public Builder() {} + public Builder(GetVirtualNodeSpecListenerTlValidationTrustSd defaults) { + Objects.requireNonNull(defaults); + this.secretName = defaults.secretName; + } + + @CustomType.Setter + public Builder secretName(String secretName) { + this.secretName = Objects.requireNonNull(secretName); + return this; + } + public GetVirtualNodeSpecListenerTlValidationTrustSd build() { + final var o = new GetVirtualNodeSpecListenerTlValidationTrustSd(); + o.secretName = secretName; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualNodeSpecLogging.java b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualNodeSpecLogging.java new file mode 100644 index 00000000000..1e76082cffa --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualNodeSpecLogging.java @@ -0,0 +1,50 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.appmesh.outputs; + +import com.pulumi.aws.appmesh.outputs.GetVirtualNodeSpecLoggingAccessLog; +import com.pulumi.core.annotations.CustomType; +import java.util.List; +import java.util.Objects; + +@CustomType +public final class GetVirtualNodeSpecLogging { + private List accessLogs; + + private GetVirtualNodeSpecLogging() {} + public List accessLogs() { + return this.accessLogs; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(GetVirtualNodeSpecLogging defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private List accessLogs; + public Builder() {} + public Builder(GetVirtualNodeSpecLogging defaults) { + Objects.requireNonNull(defaults); + this.accessLogs = defaults.accessLogs; + } + + @CustomType.Setter + public Builder accessLogs(List accessLogs) { + this.accessLogs = Objects.requireNonNull(accessLogs); + return this; + } + public Builder accessLogs(GetVirtualNodeSpecLoggingAccessLog... accessLogs) { + return accessLogs(List.of(accessLogs)); + } + public GetVirtualNodeSpecLogging build() { + final var o = new GetVirtualNodeSpecLogging(); + o.accessLogs = accessLogs; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualNodeSpecLoggingAccessLog.java b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualNodeSpecLoggingAccessLog.java new file mode 100644 index 00000000000..23ac6fe87c3 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualNodeSpecLoggingAccessLog.java @@ -0,0 +1,50 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.appmesh.outputs; + +import com.pulumi.aws.appmesh.outputs.GetVirtualNodeSpecLoggingAccessLogFile; +import com.pulumi.core.annotations.CustomType; +import java.util.List; +import java.util.Objects; + +@CustomType +public final class GetVirtualNodeSpecLoggingAccessLog { + private List files; + + private GetVirtualNodeSpecLoggingAccessLog() {} + public List files() { + return this.files; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(GetVirtualNodeSpecLoggingAccessLog defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private List files; + public Builder() {} + public Builder(GetVirtualNodeSpecLoggingAccessLog defaults) { + Objects.requireNonNull(defaults); + this.files = defaults.files; + } + + @CustomType.Setter + public Builder files(List files) { + this.files = Objects.requireNonNull(files); + return this; + } + public Builder files(GetVirtualNodeSpecLoggingAccessLogFile... files) { + return files(List.of(files)); + } + public GetVirtualNodeSpecLoggingAccessLog build() { + final var o = new GetVirtualNodeSpecLoggingAccessLog(); + o.files = files; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualNodeSpecLoggingAccessLogFile.java b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualNodeSpecLoggingAccessLogFile.java new file mode 100644 index 00000000000..ae1776885a5 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualNodeSpecLoggingAccessLogFile.java @@ -0,0 +1,63 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.appmesh.outputs; + +import com.pulumi.aws.appmesh.outputs.GetVirtualNodeSpecLoggingAccessLogFileFormat; +import com.pulumi.core.annotations.CustomType; +import java.lang.String; +import java.util.List; +import java.util.Objects; + +@CustomType +public final class GetVirtualNodeSpecLoggingAccessLogFile { + private List formats; + private String path; + + private GetVirtualNodeSpecLoggingAccessLogFile() {} + public List formats() { + return this.formats; + } + public String path() { + return this.path; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(GetVirtualNodeSpecLoggingAccessLogFile defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private List formats; + private String path; + public Builder() {} + public Builder(GetVirtualNodeSpecLoggingAccessLogFile defaults) { + Objects.requireNonNull(defaults); + this.formats = defaults.formats; + this.path = defaults.path; + } + + @CustomType.Setter + public Builder formats(List formats) { + this.formats = Objects.requireNonNull(formats); + return this; + } + public Builder formats(GetVirtualNodeSpecLoggingAccessLogFileFormat... formats) { + return formats(List.of(formats)); + } + @CustomType.Setter + public Builder path(String path) { + this.path = Objects.requireNonNull(path); + return this; + } + public GetVirtualNodeSpecLoggingAccessLogFile build() { + final var o = new GetVirtualNodeSpecLoggingAccessLogFile(); + o.formats = formats; + o.path = path; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualNodeSpecLoggingAccessLogFileFormat.java b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualNodeSpecLoggingAccessLogFileFormat.java new file mode 100644 index 00000000000..160cd85a630 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualNodeSpecLoggingAccessLogFileFormat.java @@ -0,0 +1,63 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.appmesh.outputs; + +import com.pulumi.aws.appmesh.outputs.GetVirtualNodeSpecLoggingAccessLogFileFormatJson; +import com.pulumi.core.annotations.CustomType; +import java.lang.String; +import java.util.List; +import java.util.Objects; + +@CustomType +public final class GetVirtualNodeSpecLoggingAccessLogFileFormat { + private List jsons; + private String text; + + private GetVirtualNodeSpecLoggingAccessLogFileFormat() {} + public List jsons() { + return this.jsons; + } + public String text() { + return this.text; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(GetVirtualNodeSpecLoggingAccessLogFileFormat defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private List jsons; + private String text; + public Builder() {} + public Builder(GetVirtualNodeSpecLoggingAccessLogFileFormat defaults) { + Objects.requireNonNull(defaults); + this.jsons = defaults.jsons; + this.text = defaults.text; + } + + @CustomType.Setter + public Builder jsons(List jsons) { + this.jsons = Objects.requireNonNull(jsons); + return this; + } + public Builder jsons(GetVirtualNodeSpecLoggingAccessLogFileFormatJson... jsons) { + return jsons(List.of(jsons)); + } + @CustomType.Setter + public Builder text(String text) { + this.text = Objects.requireNonNull(text); + return this; + } + public GetVirtualNodeSpecLoggingAccessLogFileFormat build() { + final var o = new GetVirtualNodeSpecLoggingAccessLogFileFormat(); + o.jsons = jsons; + o.text = text; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualNodeSpecLoggingAccessLogFileFormatJson.java b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualNodeSpecLoggingAccessLogFileFormatJson.java new file mode 100644 index 00000000000..1f63eb9e8ac --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualNodeSpecLoggingAccessLogFileFormatJson.java @@ -0,0 +1,58 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.appmesh.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.String; +import java.util.Objects; + +@CustomType +public final class GetVirtualNodeSpecLoggingAccessLogFileFormatJson { + private String key; + private String value; + + private GetVirtualNodeSpecLoggingAccessLogFileFormatJson() {} + public String key() { + return this.key; + } + public String value() { + return this.value; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(GetVirtualNodeSpecLoggingAccessLogFileFormatJson defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private String key; + private String value; + public Builder() {} + public Builder(GetVirtualNodeSpecLoggingAccessLogFileFormatJson defaults) { + Objects.requireNonNull(defaults); + this.key = defaults.key; + this.value = defaults.value; + } + + @CustomType.Setter + public Builder key(String key) { + this.key = Objects.requireNonNull(key); + return this; + } + @CustomType.Setter + public Builder value(String value) { + this.value = Objects.requireNonNull(value); + return this; + } + public GetVirtualNodeSpecLoggingAccessLogFileFormatJson build() { + final var o = new GetVirtualNodeSpecLoggingAccessLogFileFormatJson(); + o.key = key; + o.value = value; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualNodeSpecServiceDiscovery.java b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualNodeSpecServiceDiscovery.java new file mode 100644 index 00000000000..7a8aeef90a2 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualNodeSpecServiceDiscovery.java @@ -0,0 +1,66 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.appmesh.outputs; + +import com.pulumi.aws.appmesh.outputs.GetVirtualNodeSpecServiceDiscoveryAwsCloudMap; +import com.pulumi.aws.appmesh.outputs.GetVirtualNodeSpecServiceDiscoveryDn; +import com.pulumi.core.annotations.CustomType; +import java.util.List; +import java.util.Objects; + +@CustomType +public final class GetVirtualNodeSpecServiceDiscovery { + private List awsCloudMaps; + private List dns; + + private GetVirtualNodeSpecServiceDiscovery() {} + public List awsCloudMaps() { + return this.awsCloudMaps; + } + public List dns() { + return this.dns; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(GetVirtualNodeSpecServiceDiscovery defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private List awsCloudMaps; + private List dns; + public Builder() {} + public Builder(GetVirtualNodeSpecServiceDiscovery defaults) { + Objects.requireNonNull(defaults); + this.awsCloudMaps = defaults.awsCloudMaps; + this.dns = defaults.dns; + } + + @CustomType.Setter + public Builder awsCloudMaps(List awsCloudMaps) { + this.awsCloudMaps = Objects.requireNonNull(awsCloudMaps); + return this; + } + public Builder awsCloudMaps(GetVirtualNodeSpecServiceDiscoveryAwsCloudMap... awsCloudMaps) { + return awsCloudMaps(List.of(awsCloudMaps)); + } + @CustomType.Setter + public Builder dns(List dns) { + this.dns = Objects.requireNonNull(dns); + return this; + } + public Builder dns(GetVirtualNodeSpecServiceDiscoveryDn... dns) { + return dns(List.of(dns)); + } + public GetVirtualNodeSpecServiceDiscovery build() { + final var o = new GetVirtualNodeSpecServiceDiscovery(); + o.awsCloudMaps = awsCloudMaps; + o.dns = dns; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualNodeSpecServiceDiscoveryAwsCloudMap.java b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualNodeSpecServiceDiscoveryAwsCloudMap.java new file mode 100644 index 00000000000..01e96fc7493 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualNodeSpecServiceDiscoveryAwsCloudMap.java @@ -0,0 +1,71 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.appmesh.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.String; +import java.util.Map; +import java.util.Objects; + +@CustomType +public final class GetVirtualNodeSpecServiceDiscoveryAwsCloudMap { + private Map attributes; + private String namespaceName; + private String serviceName; + + private GetVirtualNodeSpecServiceDiscoveryAwsCloudMap() {} + public Map attributes() { + return this.attributes; + } + public String namespaceName() { + return this.namespaceName; + } + public String serviceName() { + return this.serviceName; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(GetVirtualNodeSpecServiceDiscoveryAwsCloudMap defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private Map attributes; + private String namespaceName; + private String serviceName; + public Builder() {} + public Builder(GetVirtualNodeSpecServiceDiscoveryAwsCloudMap defaults) { + Objects.requireNonNull(defaults); + this.attributes = defaults.attributes; + this.namespaceName = defaults.namespaceName; + this.serviceName = defaults.serviceName; + } + + @CustomType.Setter + public Builder attributes(Map attributes) { + this.attributes = Objects.requireNonNull(attributes); + return this; + } + @CustomType.Setter + public Builder namespaceName(String namespaceName) { + this.namespaceName = Objects.requireNonNull(namespaceName); + return this; + } + @CustomType.Setter + public Builder serviceName(String serviceName) { + this.serviceName = Objects.requireNonNull(serviceName); + return this; + } + public GetVirtualNodeSpecServiceDiscoveryAwsCloudMap build() { + final var o = new GetVirtualNodeSpecServiceDiscoveryAwsCloudMap(); + o.attributes = attributes; + o.namespaceName = namespaceName; + o.serviceName = serviceName; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualNodeSpecServiceDiscoveryDn.java b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualNodeSpecServiceDiscoveryDn.java new file mode 100644 index 00000000000..bb07a41ff99 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualNodeSpecServiceDiscoveryDn.java @@ -0,0 +1,70 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.appmesh.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.String; +import java.util.Objects; + +@CustomType +public final class GetVirtualNodeSpecServiceDiscoveryDn { + private String hostname; + private String ipPreference; + private String responseType; + + private GetVirtualNodeSpecServiceDiscoveryDn() {} + public String hostname() { + return this.hostname; + } + public String ipPreference() { + return this.ipPreference; + } + public String responseType() { + return this.responseType; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(GetVirtualNodeSpecServiceDiscoveryDn defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private String hostname; + private String ipPreference; + private String responseType; + public Builder() {} + public Builder(GetVirtualNodeSpecServiceDiscoveryDn defaults) { + Objects.requireNonNull(defaults); + this.hostname = defaults.hostname; + this.ipPreference = defaults.ipPreference; + this.responseType = defaults.responseType; + } + + @CustomType.Setter + public Builder hostname(String hostname) { + this.hostname = Objects.requireNonNull(hostname); + return this; + } + @CustomType.Setter + public Builder ipPreference(String ipPreference) { + this.ipPreference = Objects.requireNonNull(ipPreference); + return this; + } + @CustomType.Setter + public Builder responseType(String responseType) { + this.responseType = Objects.requireNonNull(responseType); + return this; + } + public GetVirtualNodeSpecServiceDiscoveryDn build() { + final var o = new GetVirtualNodeSpecServiceDiscoveryDn(); + o.hostname = hostname; + o.ipPreference = ipPreference; + o.responseType = responseType; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualRouterResult.java b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualRouterResult.java new file mode 100644 index 00000000000..16555bd0f60 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualRouterResult.java @@ -0,0 +1,216 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.appmesh.outputs; + +import com.pulumi.aws.appmesh.outputs.GetVirtualRouterSpec; +import com.pulumi.core.annotations.CustomType; +import java.lang.String; +import java.util.List; +import java.util.Map; +import java.util.Objects; + +@CustomType +public final class GetVirtualRouterResult { + /** + * @return ARN of the virtual router. + * + */ + private String arn; + /** + * @return Creation date of the virtual router. + * + */ + private String createdDate; + /** + * @return The provider-assigned unique ID for this managed resource. + * + */ + private String id; + /** + * @return Last update date of the virtual router. + * + */ + private String lastUpdatedDate; + private String meshName; + private String meshOwner; + private String name; + /** + * @return Resource owner's AWS account ID. + * + */ + private String resourceOwner; + /** + * @return Virtual routers specification. See the `aws.appmesh.VirtualRouter` resource for details. + * + */ + private List specs; + /** + * @return Map of tags. + * + */ + private Map tags; + + private GetVirtualRouterResult() {} + /** + * @return ARN of the virtual router. + * + */ + public String arn() { + return this.arn; + } + /** + * @return Creation date of the virtual router. + * + */ + public String createdDate() { + return this.createdDate; + } + /** + * @return The provider-assigned unique ID for this managed resource. + * + */ + public String id() { + return this.id; + } + /** + * @return Last update date of the virtual router. + * + */ + public String lastUpdatedDate() { + return this.lastUpdatedDate; + } + public String meshName() { + return this.meshName; + } + public String meshOwner() { + return this.meshOwner; + } + public String name() { + return this.name; + } + /** + * @return Resource owner's AWS account ID. + * + */ + public String resourceOwner() { + return this.resourceOwner; + } + /** + * @return Virtual routers specification. See the `aws.appmesh.VirtualRouter` resource for details. + * + */ + public List specs() { + return this.specs; + } + /** + * @return Map of tags. + * + */ + public Map tags() { + return this.tags; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(GetVirtualRouterResult defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private String arn; + private String createdDate; + private String id; + private String lastUpdatedDate; + private String meshName; + private String meshOwner; + private String name; + private String resourceOwner; + private List specs; + private Map tags; + public Builder() {} + public Builder(GetVirtualRouterResult defaults) { + Objects.requireNonNull(defaults); + this.arn = defaults.arn; + this.createdDate = defaults.createdDate; + this.id = defaults.id; + this.lastUpdatedDate = defaults.lastUpdatedDate; + this.meshName = defaults.meshName; + this.meshOwner = defaults.meshOwner; + this.name = defaults.name; + this.resourceOwner = defaults.resourceOwner; + this.specs = defaults.specs; + this.tags = defaults.tags; + } + + @CustomType.Setter + public Builder arn(String arn) { + this.arn = Objects.requireNonNull(arn); + return this; + } + @CustomType.Setter + public Builder createdDate(String createdDate) { + this.createdDate = Objects.requireNonNull(createdDate); + return this; + } + @CustomType.Setter + public Builder id(String id) { + this.id = Objects.requireNonNull(id); + return this; + } + @CustomType.Setter + public Builder lastUpdatedDate(String lastUpdatedDate) { + this.lastUpdatedDate = Objects.requireNonNull(lastUpdatedDate); + return this; + } + @CustomType.Setter + public Builder meshName(String meshName) { + this.meshName = Objects.requireNonNull(meshName); + return this; + } + @CustomType.Setter + public Builder meshOwner(String meshOwner) { + this.meshOwner = Objects.requireNonNull(meshOwner); + return this; + } + @CustomType.Setter + public Builder name(String name) { + this.name = Objects.requireNonNull(name); + return this; + } + @CustomType.Setter + public Builder resourceOwner(String resourceOwner) { + this.resourceOwner = Objects.requireNonNull(resourceOwner); + return this; + } + @CustomType.Setter + public Builder specs(List specs) { + this.specs = Objects.requireNonNull(specs); + return this; + } + public Builder specs(GetVirtualRouterSpec... specs) { + return specs(List.of(specs)); + } + @CustomType.Setter + public Builder tags(Map tags) { + this.tags = Objects.requireNonNull(tags); + return this; + } + public GetVirtualRouterResult build() { + final var o = new GetVirtualRouterResult(); + o.arn = arn; + o.createdDate = createdDate; + o.id = id; + o.lastUpdatedDate = lastUpdatedDate; + o.meshName = meshName; + o.meshOwner = meshOwner; + o.name = name; + o.resourceOwner = resourceOwner; + o.specs = specs; + o.tags = tags; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualRouterSpec.java b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualRouterSpec.java new file mode 100644 index 00000000000..48e314d9e4e --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualRouterSpec.java @@ -0,0 +1,50 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.appmesh.outputs; + +import com.pulumi.aws.appmesh.outputs.GetVirtualRouterSpecListener; +import com.pulumi.core.annotations.CustomType; +import java.util.List; +import java.util.Objects; + +@CustomType +public final class GetVirtualRouterSpec { + private List listeners; + + private GetVirtualRouterSpec() {} + public List listeners() { + return this.listeners; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(GetVirtualRouterSpec defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private List listeners; + public Builder() {} + public Builder(GetVirtualRouterSpec defaults) { + Objects.requireNonNull(defaults); + this.listeners = defaults.listeners; + } + + @CustomType.Setter + public Builder listeners(List listeners) { + this.listeners = Objects.requireNonNull(listeners); + return this; + } + public Builder listeners(GetVirtualRouterSpecListener... listeners) { + return listeners(List.of(listeners)); + } + public GetVirtualRouterSpec build() { + final var o = new GetVirtualRouterSpec(); + o.listeners = listeners; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualRouterSpecListener.java b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualRouterSpecListener.java new file mode 100644 index 00000000000..da381afe50e --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualRouterSpecListener.java @@ -0,0 +1,50 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.appmesh.outputs; + +import com.pulumi.aws.appmesh.outputs.GetVirtualRouterSpecListenerPortMapping; +import com.pulumi.core.annotations.CustomType; +import java.util.List; +import java.util.Objects; + +@CustomType +public final class GetVirtualRouterSpecListener { + private List portMappings; + + private GetVirtualRouterSpecListener() {} + public List portMappings() { + return this.portMappings; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(GetVirtualRouterSpecListener defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private List portMappings; + public Builder() {} + public Builder(GetVirtualRouterSpecListener defaults) { + Objects.requireNonNull(defaults); + this.portMappings = defaults.portMappings; + } + + @CustomType.Setter + public Builder portMappings(List portMappings) { + this.portMappings = Objects.requireNonNull(portMappings); + return this; + } + public Builder portMappings(GetVirtualRouterSpecListenerPortMapping... portMappings) { + return portMappings(List.of(portMappings)); + } + public GetVirtualRouterSpecListener build() { + final var o = new GetVirtualRouterSpecListener(); + o.portMappings = portMappings; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualRouterSpecListenerPortMapping.java b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualRouterSpecListenerPortMapping.java new file mode 100644 index 00000000000..474d57099f6 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualRouterSpecListenerPortMapping.java @@ -0,0 +1,59 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.appmesh.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.Integer; +import java.lang.String; +import java.util.Objects; + +@CustomType +public final class GetVirtualRouterSpecListenerPortMapping { + private Integer port; + private String protocol; + + private GetVirtualRouterSpecListenerPortMapping() {} + public Integer port() { + return this.port; + } + public String protocol() { + return this.protocol; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(GetVirtualRouterSpecListenerPortMapping defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private Integer port; + private String protocol; + public Builder() {} + public Builder(GetVirtualRouterSpecListenerPortMapping defaults) { + Objects.requireNonNull(defaults); + this.port = defaults.port; + this.protocol = defaults.protocol; + } + + @CustomType.Setter + public Builder port(Integer port) { + this.port = Objects.requireNonNull(port); + return this; + } + @CustomType.Setter + public Builder protocol(String protocol) { + this.protocol = Objects.requireNonNull(protocol); + return this; + } + public GetVirtualRouterSpecListenerPortMapping build() { + final var o = new GetVirtualRouterSpecListenerPortMapping(); + o.port = port; + o.protocol = protocol; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualServiceResult.java b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualServiceResult.java index 0c1a71dc592..9378defb8bc 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualServiceResult.java +++ b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualServiceResult.java @@ -41,7 +41,7 @@ public final class GetVirtualServiceResult { */ private String resourceOwner; /** - * @return Virtual service specification + * @return Virtual service specification. See the `aws.appmesh.VirtualService` resource for details. * */ private List specs; @@ -97,7 +97,7 @@ public String resourceOwner() { return this.resourceOwner; } /** - * @return Virtual service specification + * @return Virtual service specification. See the `aws.appmesh.VirtualService` resource for details. * */ public List specs() { diff --git a/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualServiceSpec.java b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualServiceSpec.java index 191382f3ead..a520484527d 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualServiceSpec.java +++ b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualServiceSpec.java @@ -10,17 +10,9 @@ @CustomType public final class GetVirtualServiceSpec { - /** - * @return App Mesh object that is acting as the provider for a virtual service. - * - */ private List providers; private GetVirtualServiceSpec() {} - /** - * @return App Mesh object that is acting as the provider for a virtual service. - * - */ public List providers() { return this.providers; } diff --git a/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualServiceSpecProvider.java b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualServiceSpecProvider.java index 9f82ef6be6e..7b9d2297e53 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualServiceSpecProvider.java +++ b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualServiceSpecProvider.java @@ -11,29 +11,13 @@ @CustomType public final class GetVirtualServiceSpecProvider { - /** - * @return Virtual node associated with the virtual service. - * - */ private List virtualNodes; - /** - * @return Virtual router associated with the virtual service. - * - */ private List virtualRouters; private GetVirtualServiceSpecProvider() {} - /** - * @return Virtual node associated with the virtual service. - * - */ public List virtualNodes() { return this.virtualNodes; } - /** - * @return Virtual router associated with the virtual service. - * - */ public List virtualRouters() { return this.virtualRouters; } diff --git a/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualServiceSpecProviderVirtualNode.java b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualServiceSpecProviderVirtualNode.java index 440ae91b150..7c5e73d4334 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualServiceSpecProviderVirtualNode.java +++ b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualServiceSpecProviderVirtualNode.java @@ -9,17 +9,9 @@ @CustomType public final class GetVirtualServiceSpecProviderVirtualNode { - /** - * @return Name of the virtual node that is acting as a service provider. - * - */ private String virtualNodeName; private GetVirtualServiceSpecProviderVirtualNode() {} - /** - * @return Name of the virtual node that is acting as a service provider. - * - */ public String virtualNodeName() { return this.virtualNodeName; } diff --git a/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualServiceSpecProviderVirtualRouter.java b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualServiceSpecProviderVirtualRouter.java index efa1c134728..8a6f489721a 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualServiceSpecProviderVirtualRouter.java +++ b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/GetVirtualServiceSpecProviderVirtualRouter.java @@ -9,17 +9,9 @@ @CustomType public final class GetVirtualServiceSpecProviderVirtualRouter { - /** - * @return Name of the virtual router that is acting as a service provider. - * - */ private String virtualRouterName; private GetVirtualServiceSpecProviderVirtualRouter() {} - /** - * @return Name of the virtual router that is acting as a service provider. - * - */ public String virtualRouterName() { return this.virtualRouterName; } diff --git a/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/RouteSpecGrpcRouteMatchMetadataMatch.java b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/RouteSpecGrpcRouteMatchMetadataMatch.java index 9319ed1e768..333b94511ed 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/RouteSpecGrpcRouteMatchMetadataMatch.java +++ b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/RouteSpecGrpcRouteMatchMetadataMatch.java @@ -13,7 +13,7 @@ @CustomType public final class RouteSpecGrpcRouteMatchMetadataMatch { /** - * @return Value sent by the client must match the specified value exactly. Must be between 1 and 255 characters in length. + * @return The exact path to match on. * */ private @Nullable String exact; @@ -29,7 +29,7 @@ public final class RouteSpecGrpcRouteMatchMetadataMatch { */ private @Nullable RouteSpecGrpcRouteMatchMetadataMatchRange range; /** - * @return Value sent by the client must include the specified characters. Must be between 1 and 255 characters in length. + * @return The regex used to match the path. * */ private @Nullable String regex; @@ -41,7 +41,7 @@ public final class RouteSpecGrpcRouteMatchMetadataMatch { private RouteSpecGrpcRouteMatchMetadataMatch() {} /** - * @return Value sent by the client must match the specified value exactly. Must be between 1 and 255 characters in length. + * @return The exact path to match on. * */ public Optional exact() { @@ -63,7 +63,7 @@ public Optional range() { return Optional.ofNullable(this.range); } /** - * @return Value sent by the client must include the specified characters. Must be between 1 and 255 characters in length. + * @return The regex used to match the path. * */ public Optional regex() { diff --git a/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/RouteSpecHttp2RouteMatch.java b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/RouteSpecHttp2RouteMatch.java index 39c306147dd..bbd39b25ec2 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/RouteSpecHttp2RouteMatch.java +++ b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/RouteSpecHttp2RouteMatch.java @@ -4,6 +4,8 @@ package com.pulumi.aws.appmesh.outputs; import com.pulumi.aws.appmesh.outputs.RouteSpecHttp2RouteMatchHeader; +import com.pulumi.aws.appmesh.outputs.RouteSpecHttp2RouteMatchPath; +import com.pulumi.aws.appmesh.outputs.RouteSpecHttp2RouteMatchQueryParameter; import com.pulumi.core.annotations.CustomType; import java.lang.Integer; import java.lang.String; @@ -24,6 +26,11 @@ public final class RouteSpecHttp2RouteMatch { * */ private @Nullable String method; + /** + * @return Client request path to match on. + * + */ + private @Nullable RouteSpecHttp2RouteMatchPath path; /** * @return The port number to match from the request. * @@ -34,7 +41,12 @@ public final class RouteSpecHttp2RouteMatch { * This parameter must always start with /, which by itself matches all requests to the virtual router service name. * */ - private String prefix; + private @Nullable String prefix; + /** + * @return Client request query parameters to match on. + * + */ + private @Nullable List queryParameters; /** * @return Client request header scheme to match on. Valid values: `http`, `https`. * @@ -56,6 +68,13 @@ public List headers() { public Optional method() { return Optional.ofNullable(this.method); } + /** + * @return Client request path to match on. + * + */ + public Optional path() { + return Optional.ofNullable(this.path); + } /** * @return The port number to match from the request. * @@ -68,8 +87,15 @@ public Optional port() { * This parameter must always start with /, which by itself matches all requests to the virtual router service name. * */ - public String prefix() { - return this.prefix; + public Optional prefix() { + return Optional.ofNullable(this.prefix); + } + /** + * @return Client request query parameters to match on. + * + */ + public List queryParameters() { + return this.queryParameters == null ? List.of() : this.queryParameters; } /** * @return Client request header scheme to match on. Valid values: `http`, `https`. @@ -90,16 +116,20 @@ public static Builder builder(RouteSpecHttp2RouteMatch defaults) { public static final class Builder { private @Nullable List headers; private @Nullable String method; + private @Nullable RouteSpecHttp2RouteMatchPath path; private @Nullable Integer port; - private String prefix; + private @Nullable String prefix; + private @Nullable List queryParameters; private @Nullable String scheme; public Builder() {} public Builder(RouteSpecHttp2RouteMatch defaults) { Objects.requireNonNull(defaults); this.headers = defaults.headers; this.method = defaults.method; + this.path = defaults.path; this.port = defaults.port; this.prefix = defaults.prefix; + this.queryParameters = defaults.queryParameters; this.scheme = defaults.scheme; } @@ -117,16 +147,29 @@ public Builder method(@Nullable String method) { return this; } @CustomType.Setter + public Builder path(@Nullable RouteSpecHttp2RouteMatchPath path) { + this.path = path; + return this; + } + @CustomType.Setter public Builder port(@Nullable Integer port) { this.port = port; return this; } @CustomType.Setter - public Builder prefix(String prefix) { - this.prefix = Objects.requireNonNull(prefix); + public Builder prefix(@Nullable String prefix) { + this.prefix = prefix; return this; } @CustomType.Setter + public Builder queryParameters(@Nullable List queryParameters) { + this.queryParameters = queryParameters; + return this; + } + public Builder queryParameters(RouteSpecHttp2RouteMatchQueryParameter... queryParameters) { + return queryParameters(List.of(queryParameters)); + } + @CustomType.Setter public Builder scheme(@Nullable String scheme) { this.scheme = scheme; return this; @@ -135,8 +178,10 @@ public RouteSpecHttp2RouteMatch build() { final var o = new RouteSpecHttp2RouteMatch(); o.headers = headers; o.method = method; + o.path = path; o.port = port; o.prefix = prefix; + o.queryParameters = queryParameters; o.scheme = scheme; return o; } diff --git a/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/RouteSpecHttp2RouteMatchHeaderMatch.java b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/RouteSpecHttp2RouteMatchHeaderMatch.java index 749fa73d722..ca76abfb2f1 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/RouteSpecHttp2RouteMatchHeaderMatch.java +++ b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/RouteSpecHttp2RouteMatchHeaderMatch.java @@ -13,7 +13,7 @@ @CustomType public final class RouteSpecHttp2RouteMatchHeaderMatch { /** - * @return Value sent by the client must match the specified value exactly. Must be between 1 and 255 characters in length. + * @return The exact path to match on. * */ private @Nullable String exact; @@ -29,7 +29,7 @@ public final class RouteSpecHttp2RouteMatchHeaderMatch { */ private @Nullable RouteSpecHttp2RouteMatchHeaderMatchRange range; /** - * @return Value sent by the client must include the specified characters. Must be between 1 and 255 characters in length. + * @return The regex used to match the path. * */ private @Nullable String regex; @@ -41,7 +41,7 @@ public final class RouteSpecHttp2RouteMatchHeaderMatch { private RouteSpecHttp2RouteMatchHeaderMatch() {} /** - * @return Value sent by the client must match the specified value exactly. Must be between 1 and 255 characters in length. + * @return The exact path to match on. * */ public Optional exact() { @@ -63,7 +63,7 @@ public Optional range() { return Optional.ofNullable(this.range); } /** - * @return Value sent by the client must include the specified characters. Must be between 1 and 255 characters in length. + * @return The regex used to match the path. * */ public Optional regex() { diff --git a/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/RouteSpecHttp2RouteMatchPath.java b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/RouteSpecHttp2RouteMatchPath.java new file mode 100644 index 00000000000..56019ab268e --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/RouteSpecHttp2RouteMatchPath.java @@ -0,0 +1,76 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.appmesh.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + +@CustomType +public final class RouteSpecHttp2RouteMatchPath { + /** + * @return Value sent by the client must match the specified value exactly. Must be between 1 and 255 characters in length. + * + */ + private @Nullable String exact; + /** + * @return Value sent by the client must include the specified characters. Must be between 1 and 255 characters in length. + * + */ + private @Nullable String regex; + + private RouteSpecHttp2RouteMatchPath() {} + /** + * @return Value sent by the client must match the specified value exactly. Must be between 1 and 255 characters in length. + * + */ + public Optional exact() { + return Optional.ofNullable(this.exact); + } + /** + * @return Value sent by the client must include the specified characters. Must be between 1 and 255 characters in length. + * + */ + public Optional regex() { + return Optional.ofNullable(this.regex); + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(RouteSpecHttp2RouteMatchPath defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private @Nullable String exact; + private @Nullable String regex; + public Builder() {} + public Builder(RouteSpecHttp2RouteMatchPath defaults) { + Objects.requireNonNull(defaults); + this.exact = defaults.exact; + this.regex = defaults.regex; + } + + @CustomType.Setter + public Builder exact(@Nullable String exact) { + this.exact = exact; + return this; + } + @CustomType.Setter + public Builder regex(@Nullable String regex) { + this.regex = regex; + return this; + } + public RouteSpecHttp2RouteMatchPath build() { + final var o = new RouteSpecHttp2RouteMatchPath(); + o.exact = exact; + o.regex = regex; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/RouteSpecHttp2RouteMatchQueryParameter.java b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/RouteSpecHttp2RouteMatchQueryParameter.java new file mode 100644 index 00000000000..b892dd66fb6 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/RouteSpecHttp2RouteMatchQueryParameter.java @@ -0,0 +1,77 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.appmesh.outputs; + +import com.pulumi.aws.appmesh.outputs.RouteSpecHttp2RouteMatchQueryParameterMatch; +import com.pulumi.core.annotations.CustomType; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + +@CustomType +public final class RouteSpecHttp2RouteMatchQueryParameter { + /** + * @return Criteria for determining an gRPC request match. + * + */ + private @Nullable RouteSpecHttp2RouteMatchQueryParameterMatch match; + /** + * @return Name to use for the route. Must be between 1 and 255 characters in length. + * + */ + private String name; + + private RouteSpecHttp2RouteMatchQueryParameter() {} + /** + * @return Criteria for determining an gRPC request match. + * + */ + public Optional match() { + return Optional.ofNullable(this.match); + } + /** + * @return Name to use for the route. Must be between 1 and 255 characters in length. + * + */ + public String name() { + return this.name; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(RouteSpecHttp2RouteMatchQueryParameter defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private @Nullable RouteSpecHttp2RouteMatchQueryParameterMatch match; + private String name; + public Builder() {} + public Builder(RouteSpecHttp2RouteMatchQueryParameter defaults) { + Objects.requireNonNull(defaults); + this.match = defaults.match; + this.name = defaults.name; + } + + @CustomType.Setter + public Builder match(@Nullable RouteSpecHttp2RouteMatchQueryParameterMatch match) { + this.match = match; + return this; + } + @CustomType.Setter + public Builder name(String name) { + this.name = Objects.requireNonNull(name); + return this; + } + public RouteSpecHttp2RouteMatchQueryParameter build() { + final var o = new RouteSpecHttp2RouteMatchQueryParameter(); + o.match = match; + o.name = name; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/RouteSpecHttp2RouteMatchQueryParameterMatch.java b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/RouteSpecHttp2RouteMatchQueryParameterMatch.java new file mode 100644 index 00000000000..8cbaa181654 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/RouteSpecHttp2RouteMatchQueryParameterMatch.java @@ -0,0 +1,56 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.appmesh.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + +@CustomType +public final class RouteSpecHttp2RouteMatchQueryParameterMatch { + /** + * @return The exact path to match on. + * + */ + private @Nullable String exact; + + private RouteSpecHttp2RouteMatchQueryParameterMatch() {} + /** + * @return The exact path to match on. + * + */ + public Optional exact() { + return Optional.ofNullable(this.exact); + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(RouteSpecHttp2RouteMatchQueryParameterMatch defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private @Nullable String exact; + public Builder() {} + public Builder(RouteSpecHttp2RouteMatchQueryParameterMatch defaults) { + Objects.requireNonNull(defaults); + this.exact = defaults.exact; + } + + @CustomType.Setter + public Builder exact(@Nullable String exact) { + this.exact = exact; + return this; + } + public RouteSpecHttp2RouteMatchQueryParameterMatch build() { + final var o = new RouteSpecHttp2RouteMatchQueryParameterMatch(); + o.exact = exact; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/RouteSpecHttpRouteMatch.java b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/RouteSpecHttpRouteMatch.java index 3414fd70b11..c56470f6ede 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/RouteSpecHttpRouteMatch.java +++ b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/RouteSpecHttpRouteMatch.java @@ -4,6 +4,8 @@ package com.pulumi.aws.appmesh.outputs; import com.pulumi.aws.appmesh.outputs.RouteSpecHttpRouteMatchHeader; +import com.pulumi.aws.appmesh.outputs.RouteSpecHttpRouteMatchPath; +import com.pulumi.aws.appmesh.outputs.RouteSpecHttpRouteMatchQueryParameter; import com.pulumi.core.annotations.CustomType; import java.lang.Integer; import java.lang.String; @@ -24,6 +26,11 @@ public final class RouteSpecHttpRouteMatch { * */ private @Nullable String method; + /** + * @return Client request path to match on. + * + */ + private @Nullable RouteSpecHttpRouteMatchPath path; /** * @return The port number to match from the request. * @@ -34,7 +41,12 @@ public final class RouteSpecHttpRouteMatch { * This parameter must always start with /, which by itself matches all requests to the virtual router service name. * */ - private String prefix; + private @Nullable String prefix; + /** + * @return Client request query parameters to match on. + * + */ + private @Nullable List queryParameters; /** * @return Client request header scheme to match on. Valid values: `http`, `https`. * @@ -56,6 +68,13 @@ public List headers() { public Optional method() { return Optional.ofNullable(this.method); } + /** + * @return Client request path to match on. + * + */ + public Optional path() { + return Optional.ofNullable(this.path); + } /** * @return The port number to match from the request. * @@ -68,8 +87,15 @@ public Optional port() { * This parameter must always start with /, which by itself matches all requests to the virtual router service name. * */ - public String prefix() { - return this.prefix; + public Optional prefix() { + return Optional.ofNullable(this.prefix); + } + /** + * @return Client request query parameters to match on. + * + */ + public List queryParameters() { + return this.queryParameters == null ? List.of() : this.queryParameters; } /** * @return Client request header scheme to match on. Valid values: `http`, `https`. @@ -90,16 +116,20 @@ public static Builder builder(RouteSpecHttpRouteMatch defaults) { public static final class Builder { private @Nullable List headers; private @Nullable String method; + private @Nullable RouteSpecHttpRouteMatchPath path; private @Nullable Integer port; - private String prefix; + private @Nullable String prefix; + private @Nullable List queryParameters; private @Nullable String scheme; public Builder() {} public Builder(RouteSpecHttpRouteMatch defaults) { Objects.requireNonNull(defaults); this.headers = defaults.headers; this.method = defaults.method; + this.path = defaults.path; this.port = defaults.port; this.prefix = defaults.prefix; + this.queryParameters = defaults.queryParameters; this.scheme = defaults.scheme; } @@ -117,16 +147,29 @@ public Builder method(@Nullable String method) { return this; } @CustomType.Setter + public Builder path(@Nullable RouteSpecHttpRouteMatchPath path) { + this.path = path; + return this; + } + @CustomType.Setter public Builder port(@Nullable Integer port) { this.port = port; return this; } @CustomType.Setter - public Builder prefix(String prefix) { - this.prefix = Objects.requireNonNull(prefix); + public Builder prefix(@Nullable String prefix) { + this.prefix = prefix; return this; } @CustomType.Setter + public Builder queryParameters(@Nullable List queryParameters) { + this.queryParameters = queryParameters; + return this; + } + public Builder queryParameters(RouteSpecHttpRouteMatchQueryParameter... queryParameters) { + return queryParameters(List.of(queryParameters)); + } + @CustomType.Setter public Builder scheme(@Nullable String scheme) { this.scheme = scheme; return this; @@ -135,8 +178,10 @@ public RouteSpecHttpRouteMatch build() { final var o = new RouteSpecHttpRouteMatch(); o.headers = headers; o.method = method; + o.path = path; o.port = port; o.prefix = prefix; + o.queryParameters = queryParameters; o.scheme = scheme; return o; } diff --git a/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/RouteSpecHttpRouteMatchHeaderMatch.java b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/RouteSpecHttpRouteMatchHeaderMatch.java index 68d63eb881e..819bd66940e 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/RouteSpecHttpRouteMatchHeaderMatch.java +++ b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/RouteSpecHttpRouteMatchHeaderMatch.java @@ -13,7 +13,7 @@ @CustomType public final class RouteSpecHttpRouteMatchHeaderMatch { /** - * @return Value sent by the client must match the specified value exactly. Must be between 1 and 255 characters in length. + * @return The exact path to match on. * */ private @Nullable String exact; @@ -29,7 +29,7 @@ public final class RouteSpecHttpRouteMatchHeaderMatch { */ private @Nullable RouteSpecHttpRouteMatchHeaderMatchRange range; /** - * @return Value sent by the client must include the specified characters. Must be between 1 and 255 characters in length. + * @return The regex used to match the path. * */ private @Nullable String regex; @@ -41,7 +41,7 @@ public final class RouteSpecHttpRouteMatchHeaderMatch { private RouteSpecHttpRouteMatchHeaderMatch() {} /** - * @return Value sent by the client must match the specified value exactly. Must be between 1 and 255 characters in length. + * @return The exact path to match on. * */ public Optional exact() { @@ -63,7 +63,7 @@ public Optional range() { return Optional.ofNullable(this.range); } /** - * @return Value sent by the client must include the specified characters. Must be between 1 and 255 characters in length. + * @return The regex used to match the path. * */ public Optional regex() { diff --git a/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/RouteSpecHttpRouteMatchPath.java b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/RouteSpecHttpRouteMatchPath.java new file mode 100644 index 00000000000..d6b1aa01b1a --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/RouteSpecHttpRouteMatchPath.java @@ -0,0 +1,76 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.appmesh.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + +@CustomType +public final class RouteSpecHttpRouteMatchPath { + /** + * @return Value sent by the client must match the specified value exactly. Must be between 1 and 255 characters in length. + * + */ + private @Nullable String exact; + /** + * @return Value sent by the client must include the specified characters. Must be between 1 and 255 characters in length. + * + */ + private @Nullable String regex; + + private RouteSpecHttpRouteMatchPath() {} + /** + * @return Value sent by the client must match the specified value exactly. Must be between 1 and 255 characters in length. + * + */ + public Optional exact() { + return Optional.ofNullable(this.exact); + } + /** + * @return Value sent by the client must include the specified characters. Must be between 1 and 255 characters in length. + * + */ + public Optional regex() { + return Optional.ofNullable(this.regex); + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(RouteSpecHttpRouteMatchPath defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private @Nullable String exact; + private @Nullable String regex; + public Builder() {} + public Builder(RouteSpecHttpRouteMatchPath defaults) { + Objects.requireNonNull(defaults); + this.exact = defaults.exact; + this.regex = defaults.regex; + } + + @CustomType.Setter + public Builder exact(@Nullable String exact) { + this.exact = exact; + return this; + } + @CustomType.Setter + public Builder regex(@Nullable String regex) { + this.regex = regex; + return this; + } + public RouteSpecHttpRouteMatchPath build() { + final var o = new RouteSpecHttpRouteMatchPath(); + o.exact = exact; + o.regex = regex; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/RouteSpecHttpRouteMatchQueryParameter.java b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/RouteSpecHttpRouteMatchQueryParameter.java new file mode 100644 index 00000000000..e6bb30027e7 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/RouteSpecHttpRouteMatchQueryParameter.java @@ -0,0 +1,77 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.appmesh.outputs; + +import com.pulumi.aws.appmesh.outputs.RouteSpecHttpRouteMatchQueryParameterMatch; +import com.pulumi.core.annotations.CustomType; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + +@CustomType +public final class RouteSpecHttpRouteMatchQueryParameter { + /** + * @return Criteria for determining an gRPC request match. + * + */ + private @Nullable RouteSpecHttpRouteMatchQueryParameterMatch match; + /** + * @return Name to use for the route. Must be between 1 and 255 characters in length. + * + */ + private String name; + + private RouteSpecHttpRouteMatchQueryParameter() {} + /** + * @return Criteria for determining an gRPC request match. + * + */ + public Optional match() { + return Optional.ofNullable(this.match); + } + /** + * @return Name to use for the route. Must be between 1 and 255 characters in length. + * + */ + public String name() { + return this.name; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(RouteSpecHttpRouteMatchQueryParameter defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private @Nullable RouteSpecHttpRouteMatchQueryParameterMatch match; + private String name; + public Builder() {} + public Builder(RouteSpecHttpRouteMatchQueryParameter defaults) { + Objects.requireNonNull(defaults); + this.match = defaults.match; + this.name = defaults.name; + } + + @CustomType.Setter + public Builder match(@Nullable RouteSpecHttpRouteMatchQueryParameterMatch match) { + this.match = match; + return this; + } + @CustomType.Setter + public Builder name(String name) { + this.name = Objects.requireNonNull(name); + return this; + } + public RouteSpecHttpRouteMatchQueryParameter build() { + final var o = new RouteSpecHttpRouteMatchQueryParameter(); + o.match = match; + o.name = name; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/RouteSpecHttpRouteMatchQueryParameterMatch.java b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/RouteSpecHttpRouteMatchQueryParameterMatch.java new file mode 100644 index 00000000000..2aae68711ac --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/RouteSpecHttpRouteMatchQueryParameterMatch.java @@ -0,0 +1,56 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.appmesh.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + +@CustomType +public final class RouteSpecHttpRouteMatchQueryParameterMatch { + /** + * @return The exact path to match on. + * + */ + private @Nullable String exact; + + private RouteSpecHttpRouteMatchQueryParameterMatch() {} + /** + * @return The exact path to match on. + * + */ + public Optional exact() { + return Optional.ofNullable(this.exact); + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(RouteSpecHttpRouteMatchQueryParameterMatch defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private @Nullable String exact; + public Builder() {} + public Builder(RouteSpecHttpRouteMatchQueryParameterMatch defaults) { + Objects.requireNonNull(defaults); + this.exact = defaults.exact; + } + + @CustomType.Setter + public Builder exact(@Nullable String exact) { + this.exact = exact; + return this; + } + public RouteSpecHttpRouteMatchQueryParameterMatch build() { + final var o = new RouteSpecHttpRouteMatchQueryParameterMatch(); + o.exact = exact; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/VirtualNodeSpecServiceDiscoveryDns.java b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/VirtualNodeSpecServiceDiscoveryDns.java index c8f7dfba6a3..23b6b5bc368 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/VirtualNodeSpecServiceDiscoveryDns.java +++ b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/VirtualNodeSpecServiceDiscoveryDns.java @@ -6,6 +6,8 @@ import com.pulumi.core.annotations.CustomType; import java.lang.String; import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; @CustomType public final class VirtualNodeSpecServiceDiscoveryDns { @@ -14,6 +16,16 @@ public final class VirtualNodeSpecServiceDiscoveryDns { * */ private String hostname; + /** + * @return The preferred IP version that this virtual node uses. Valid values: `IPv6_PREFERRED`, `IPv4_PREFERRED`, `IPv4_ONLY`, `IPv6_ONLY`. + * + */ + private @Nullable String ipPreference; + /** + * @return The DNS response type for the virtual node. Valid values: `LOADBALANCER`, `ENDPOINTS`. + * + */ + private @Nullable String responseType; private VirtualNodeSpecServiceDiscoveryDns() {} /** @@ -23,6 +35,20 @@ private VirtualNodeSpecServiceDiscoveryDns() {} public String hostname() { return this.hostname; } + /** + * @return The preferred IP version that this virtual node uses. Valid values: `IPv6_PREFERRED`, `IPv4_PREFERRED`, `IPv4_ONLY`, `IPv6_ONLY`. + * + */ + public Optional ipPreference() { + return Optional.ofNullable(this.ipPreference); + } + /** + * @return The DNS response type for the virtual node. Valid values: `LOADBALANCER`, `ENDPOINTS`. + * + */ + public Optional responseType() { + return Optional.ofNullable(this.responseType); + } public static Builder builder() { return new Builder(); @@ -34,10 +60,14 @@ public static Builder builder(VirtualNodeSpecServiceDiscoveryDns defaults) { @CustomType.Builder public static final class Builder { private String hostname; + private @Nullable String ipPreference; + private @Nullable String responseType; public Builder() {} public Builder(VirtualNodeSpecServiceDiscoveryDns defaults) { Objects.requireNonNull(defaults); this.hostname = defaults.hostname; + this.ipPreference = defaults.ipPreference; + this.responseType = defaults.responseType; } @CustomType.Setter @@ -45,9 +75,21 @@ public Builder hostname(String hostname) { this.hostname = Objects.requireNonNull(hostname); return this; } + @CustomType.Setter + public Builder ipPreference(@Nullable String ipPreference) { + this.ipPreference = ipPreference; + return this; + } + @CustomType.Setter + public Builder responseType(@Nullable String responseType) { + this.responseType = responseType; + return this; + } public VirtualNodeSpecServiceDiscoveryDns build() { final var o = new VirtualNodeSpecServiceDiscoveryDns(); o.hostname = hostname; + o.ipPreference = ipPreference; + o.responseType = responseType; return o; } } diff --git a/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/VirtualRouterSpec.java b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/VirtualRouterSpec.java index 50a9cd002cf..f3a45a33338 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/VirtualRouterSpec.java +++ b/sdk/java/src/main/java/com/pulumi/aws/appmesh/outputs/VirtualRouterSpec.java @@ -6,6 +6,8 @@ import com.pulumi.aws.appmesh.outputs.VirtualRouterSpecListener; import com.pulumi.core.annotations.CustomType; import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; @CustomType public final class VirtualRouterSpec { @@ -14,7 +16,7 @@ public final class VirtualRouterSpec { * Currently only one listener is supported per virtual router. * */ - private VirtualRouterSpecListener listener; + private @Nullable VirtualRouterSpecListener listener; private VirtualRouterSpec() {} /** @@ -22,8 +24,8 @@ private VirtualRouterSpec() {} * Currently only one listener is supported per virtual router. * */ - public VirtualRouterSpecListener listener() { - return this.listener; + public Optional listener() { + return Optional.ofNullable(this.listener); } public static Builder builder() { @@ -35,7 +37,7 @@ public static Builder builder(VirtualRouterSpec defaults) { } @CustomType.Builder public static final class Builder { - private VirtualRouterSpecListener listener; + private @Nullable VirtualRouterSpecListener listener; public Builder() {} public Builder(VirtualRouterSpec defaults) { Objects.requireNonNull(defaults); @@ -43,8 +45,8 @@ public Builder(VirtualRouterSpec defaults) { } @CustomType.Setter - public Builder listener(VirtualRouterSpecListener listener) { - this.listener = Objects.requireNonNull(listener); + public Builder listener(@Nullable VirtualRouterSpecListener listener) { + this.listener = listener; return this; } public VirtualRouterSpec build() { diff --git a/sdk/java/src/main/java/com/pulumi/aws/cloudwatch/LogDestinationArgs.java b/sdk/java/src/main/java/com/pulumi/aws/cloudwatch/LogDestinationArgs.java index 22c14f16fbf..2227e176622 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/cloudwatch/LogDestinationArgs.java +++ b/sdk/java/src/main/java/com/pulumi/aws/cloudwatch/LogDestinationArgs.java @@ -61,6 +61,21 @@ public Optional>> tags() { return Optional.ofNullable(this.tags); } + /** + * A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. + * + */ + @Import(name="tagsAll") + private @Nullable Output> tagsAll; + + /** + * @return A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. + * + */ + public Optional>> tagsAll() { + return Optional.ofNullable(this.tagsAll); + } + /** * The ARN of the target Amazon Kinesis stream resource for the destination. * @@ -82,6 +97,7 @@ private LogDestinationArgs(LogDestinationArgs $) { this.name = $.name; this.roleArn = $.roleArn; this.tags = $.tags; + this.tagsAll = $.tagsAll; this.targetArn = $.targetArn; } @@ -166,6 +182,27 @@ public Builder tags(Map tags) { return tags(Output.of(tags)); } + /** + * @param tagsAll A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. + * + * @return builder + * + */ + public Builder tagsAll(@Nullable Output> tagsAll) { + $.tagsAll = tagsAll; + return this; + } + + /** + * @param tagsAll A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. + * + * @return builder + * + */ + public Builder tagsAll(Map tagsAll) { + return tagsAll(Output.of(tagsAll)); + } + /** * @param targetArn The ARN of the target Amazon Kinesis stream resource for the destination. * diff --git a/sdk/java/src/main/java/com/pulumi/aws/cloudwatch/LogGroupArgs.java b/sdk/java/src/main/java/com/pulumi/aws/cloudwatch/LogGroupArgs.java index 92530f71dfe..20487fdfe6f 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/cloudwatch/LogGroupArgs.java +++ b/sdk/java/src/main/java/com/pulumi/aws/cloudwatch/LogGroupArgs.java @@ -116,6 +116,21 @@ public Optional>> tags() { return Optional.ofNullable(this.tags); } + /** + * A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. + * + */ + @Import(name="tagsAll") + private @Nullable Output> tagsAll; + + /** + * @return A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. + * + */ + public Optional>> tagsAll() { + return Optional.ofNullable(this.tagsAll); + } + private LogGroupArgs() {} private LogGroupArgs(LogGroupArgs $) { @@ -125,6 +140,7 @@ private LogGroupArgs(LogGroupArgs $) { this.retentionInDays = $.retentionInDays; this.skipDestroy = $.skipDestroy; this.tags = $.tags; + this.tagsAll = $.tagsAll; } public static Builder builder() { @@ -279,6 +295,27 @@ public Builder tags(Map tags) { return tags(Output.of(tags)); } + /** + * @param tagsAll A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. + * + * @return builder + * + */ + public Builder tagsAll(@Nullable Output> tagsAll) { + $.tagsAll = tagsAll; + return this; + } + + /** + * @param tagsAll A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. + * + * @return builder + * + */ + public Builder tagsAll(Map tagsAll) { + return tagsAll(Output.of(tagsAll)); + } + public LogGroupArgs build() { return $; } diff --git a/sdk/java/src/main/java/com/pulumi/aws/globalaccelerator/Accelerator.java b/sdk/java/src/main/java/com/pulumi/aws/globalaccelerator/Accelerator.java index 940c9b104b6..4f38e3b84c6 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/globalaccelerator/Accelerator.java +++ b/sdk/java/src/main/java/com/pulumi/aws/globalaccelerator/Accelerator.java @@ -99,6 +99,20 @@ public Output> attributes() { public Output dnsName() { return this.dnsName; } + /** + * The Domain Name System (DNS) name that Global Accelerator creates that points to a dual-stack accelerator's four static IP addresses: two IPv4 addresses and two IPv6 addresses. For example, `a1234567890abcdef.dualstack.awsglobalaccelerator.com`. + * + */ + @Export(name="dualStackDnsName", refs={String.class}, tree="[0]") + private Output dualStackDnsName; + + /** + * @return The Domain Name System (DNS) name that Global Accelerator creates that points to a dual-stack accelerator's four static IP addresses: two IPv4 addresses and two IPv6 addresses. For example, `a1234567890abcdef.dualstack.awsglobalaccelerator.com`. + * + */ + public Output dualStackDnsName() { + return this.dualStackDnsName; + } /** * Indicates whether the accelerator is enabled. Defaults to `true`. Valid values: `true`, `false`. * diff --git a/sdk/java/src/main/java/com/pulumi/aws/globalaccelerator/inputs/AcceleratorState.java b/sdk/java/src/main/java/com/pulumi/aws/globalaccelerator/inputs/AcceleratorState.java index 0ed736250dc..de1c4805374 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/globalaccelerator/inputs/AcceleratorState.java +++ b/sdk/java/src/main/java/com/pulumi/aws/globalaccelerator/inputs/AcceleratorState.java @@ -50,6 +50,21 @@ public Optional> dnsName() { return Optional.ofNullable(this.dnsName); } + /** + * The Domain Name System (DNS) name that Global Accelerator creates that points to a dual-stack accelerator's four static IP addresses: two IPv4 addresses and two IPv6 addresses. For example, `a1234567890abcdef.dualstack.awsglobalaccelerator.com`. + * + */ + @Import(name="dualStackDnsName") + private @Nullable Output dualStackDnsName; + + /** + * @return The Domain Name System (DNS) name that Global Accelerator creates that points to a dual-stack accelerator's four static IP addresses: two IPv4 addresses and two IPv6 addresses. For example, `a1234567890abcdef.dualstack.awsglobalaccelerator.com`. + * + */ + public Optional> dualStackDnsName() { + return Optional.ofNullable(this.dualStackDnsName); + } + /** * Indicates whether the accelerator is enabled. Defaults to `true`. Valid values: `true`, `false`. * @@ -179,6 +194,7 @@ private AcceleratorState() {} private AcceleratorState(AcceleratorState $) { this.attributes = $.attributes; this.dnsName = $.dnsName; + this.dualStackDnsName = $.dualStackDnsName; this.enabled = $.enabled; this.hostedZoneId = $.hostedZoneId; this.ipAddressType = $.ipAddressType; @@ -249,6 +265,27 @@ public Builder dnsName(String dnsName) { return dnsName(Output.of(dnsName)); } + /** + * @param dualStackDnsName The Domain Name System (DNS) name that Global Accelerator creates that points to a dual-stack accelerator's four static IP addresses: two IPv4 addresses and two IPv6 addresses. For example, `a1234567890abcdef.dualstack.awsglobalaccelerator.com`. + * + * @return builder + * + */ + public Builder dualStackDnsName(@Nullable Output dualStackDnsName) { + $.dualStackDnsName = dualStackDnsName; + return this; + } + + /** + * @param dualStackDnsName The Domain Name System (DNS) name that Global Accelerator creates that points to a dual-stack accelerator's four static IP addresses: two IPv4 addresses and two IPv6 addresses. For example, `a1234567890abcdef.dualstack.awsglobalaccelerator.com`. + * + * @return builder + * + */ + public Builder dualStackDnsName(String dualStackDnsName) { + return dualStackDnsName(Output.of(dualStackDnsName)); + } + /** * @param enabled Indicates whether the accelerator is enabled. Defaults to `true`. Valid values: `true`, `false`. * diff --git a/sdk/java/src/main/java/com/pulumi/aws/iam/InstanceProfile.java b/sdk/java/src/main/java/com/pulumi/aws/iam/InstanceProfile.java index 00932ec397c..8b311bf9ed2 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/iam/InstanceProfile.java +++ b/sdk/java/src/main/java/com/pulumi/aws/iam/InstanceProfile.java @@ -126,14 +126,14 @@ public Output name() { * */ @Export(name="namePrefix", refs={String.class}, tree="[0]") - private Output namePrefix; + private Output namePrefix; /** * @return Creates a unique name beginning with the specified prefix. Conflicts with `name`. * */ - public Output> namePrefix() { - return Codegen.optional(this.namePrefix); + public Output namePrefix() { + return this.namePrefix; } /** * Path to the instance profile. For more information about paths, see [IAM Identifiers](https://docs.aws.amazon.com/IAM/latest/UserGuide/Using_Identifiers.html) in the IAM User Guide. Can be a string of characters consisting of either a forward slash (`/`) by itself or a string that must begin and end with forward slashes. Can include any ASCII character from the ! (\u0021) through the DEL character (\u007F), including most punctuation characters, digits, and upper and lowercase letters. diff --git a/sdk/java/src/main/java/com/pulumi/aws/iam/InstanceProfileArgs.java b/sdk/java/src/main/java/com/pulumi/aws/iam/InstanceProfileArgs.java index 3ef69677fd2..9d8f3fb023c 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/iam/InstanceProfileArgs.java +++ b/sdk/java/src/main/java/com/pulumi/aws/iam/InstanceProfileArgs.java @@ -91,6 +91,21 @@ public Optional>> tags() { return Optional.ofNullable(this.tags); } + /** + * A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. + * + */ + @Import(name="tagsAll") + private @Nullable Output> tagsAll; + + /** + * @return A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. + * + */ + public Optional>> tagsAll() { + return Optional.ofNullable(this.tagsAll); + } + private InstanceProfileArgs() {} private InstanceProfileArgs(InstanceProfileArgs $) { @@ -99,6 +114,7 @@ private InstanceProfileArgs(InstanceProfileArgs $) { this.path = $.path; this.role = $.role; this.tags = $.tags; + this.tagsAll = $.tagsAll; } public static Builder builder() { @@ -224,6 +240,27 @@ public Builder tags(Map tags) { return tags(Output.of(tags)); } + /** + * @param tagsAll A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. + * + * @return builder + * + */ + public Builder tagsAll(@Nullable Output> tagsAll) { + $.tagsAll = tagsAll; + return this; + } + + /** + * @param tagsAll A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. + * + * @return builder + * + */ + public Builder tagsAll(Map tagsAll) { + return tagsAll(Output.of(tagsAll)); + } + public InstanceProfileArgs build() { return $; } diff --git a/sdk/java/src/main/java/com/pulumi/aws/iam/OpenIdConnectProviderArgs.java b/sdk/java/src/main/java/com/pulumi/aws/iam/OpenIdConnectProviderArgs.java index 2d07b3263a0..c2ca2ce9d57 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/iam/OpenIdConnectProviderArgs.java +++ b/sdk/java/src/main/java/com/pulumi/aws/iam/OpenIdConnectProviderArgs.java @@ -47,6 +47,21 @@ public Optional>> tags() { return Optional.ofNullable(this.tags); } + /** + * A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. + * + */ + @Import(name="tagsAll") + private @Nullable Output> tagsAll; + + /** + * @return A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. + * + */ + public Optional>> tagsAll() { + return Optional.ofNullable(this.tagsAll); + } + /** * A list of server certificate thumbprints for the OpenID Connect (OIDC) identity provider's server certificate(s). * @@ -82,6 +97,7 @@ private OpenIdConnectProviderArgs() {} private OpenIdConnectProviderArgs(OpenIdConnectProviderArgs $) { this.clientIdLists = $.clientIdLists; this.tags = $.tags; + this.tagsAll = $.tagsAll; this.thumbprintLists = $.thumbprintLists; this.url = $.url; } @@ -156,6 +172,27 @@ public Builder tags(Map tags) { return tags(Output.of(tags)); } + /** + * @param tagsAll A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. + * + * @return builder + * + */ + public Builder tagsAll(@Nullable Output> tagsAll) { + $.tagsAll = tagsAll; + return this; + } + + /** + * @param tagsAll A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. + * + * @return builder + * + */ + public Builder tagsAll(Map tagsAll) { + return tagsAll(Output.of(tagsAll)); + } + /** * @param thumbprintLists A list of server certificate thumbprints for the OpenID Connect (OIDC) identity provider's server certificate(s). * diff --git a/sdk/java/src/main/java/com/pulumi/aws/iam/Policy.java b/sdk/java/src/main/java/com/pulumi/aws/iam/Policy.java index 469a5bcdac8..c1ebcc16a26 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/iam/Policy.java +++ b/sdk/java/src/main/java/com/pulumi/aws/iam/Policy.java @@ -117,14 +117,14 @@ public Output name() { * */ @Export(name="namePrefix", refs={String.class}, tree="[0]") - private Output namePrefix; + private Output namePrefix; /** * @return Creates a unique name beginning with the specified prefix. Conflicts with `name`. * */ - public Output> namePrefix() { - return Codegen.optional(this.namePrefix); + public Output namePrefix() { + return this.namePrefix; } /** * Path in which to create the policy. diff --git a/sdk/java/src/main/java/com/pulumi/aws/iam/PolicyArgs.java b/sdk/java/src/main/java/com/pulumi/aws/iam/PolicyArgs.java index 8f134108de4..14eade75675 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/iam/PolicyArgs.java +++ b/sdk/java/src/main/java/com/pulumi/aws/iam/PolicyArgs.java @@ -108,6 +108,21 @@ public Optional>> tags() { return Optional.ofNullable(this.tags); } + /** + * A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. + * + */ + @Import(name="tagsAll") + private @Nullable Output> tagsAll; + + /** + * @return A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. + * + */ + public Optional>> tagsAll() { + return Optional.ofNullable(this.tagsAll); + } + private PolicyArgs() {} private PolicyArgs(PolicyArgs $) { @@ -117,6 +132,7 @@ private PolicyArgs(PolicyArgs $) { this.path = $.path; this.policy = $.policy; this.tags = $.tags; + this.tagsAll = $.tagsAll; } public static Builder builder() { @@ -265,6 +281,27 @@ public Builder tags(Map tags) { return tags(Output.of(tags)); } + /** + * @param tagsAll A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. + * + * @return builder + * + */ + public Builder tagsAll(@Nullable Output> tagsAll) { + $.tagsAll = tagsAll; + return this; + } + + /** + * @param tagsAll A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. + * + * @return builder + * + */ + public Builder tagsAll(Map tagsAll) { + return tagsAll(Output.of(tagsAll)); + } + public PolicyArgs build() { $.policy = Objects.requireNonNull($.policy, "expected parameter 'policy' to be non-null"); return $; diff --git a/sdk/java/src/main/java/com/pulumi/aws/iam/RoleArgs.java b/sdk/java/src/main/java/com/pulumi/aws/iam/RoleArgs.java index a936d9797d8..903ad366300 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/iam/RoleArgs.java +++ b/sdk/java/src/main/java/com/pulumi/aws/iam/RoleArgs.java @@ -177,6 +177,21 @@ public Optional>> tags() { return Optional.ofNullable(this.tags); } + /** + * A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. + * + */ + @Import(name="tagsAll") + private @Nullable Output> tagsAll; + + /** + * @return A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. + * + */ + public Optional>> tagsAll() { + return Optional.ofNullable(this.tagsAll); + } + private RoleArgs() {} private RoleArgs(RoleArgs $) { @@ -191,6 +206,7 @@ private RoleArgs(RoleArgs $) { this.path = $.path; this.permissionsBoundary = $.permissionsBoundary; this.tags = $.tags; + this.tagsAll = $.tagsAll; } public static Builder builder() { @@ -444,6 +460,27 @@ public Builder tags(Map tags) { return tags(Output.of(tags)); } + /** + * @param tagsAll A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. + * + * @return builder + * + */ + public Builder tagsAll(@Nullable Output> tagsAll) { + $.tagsAll = tagsAll; + return this; + } + + /** + * @param tagsAll A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. + * + * @return builder + * + */ + public Builder tagsAll(Map tagsAll) { + return tagsAll(Output.of(tagsAll)); + } + public RoleArgs build() { $.assumeRolePolicy = Objects.requireNonNull($.assumeRolePolicy, "expected parameter 'assumeRolePolicy' to be non-null"); return $; diff --git a/sdk/java/src/main/java/com/pulumi/aws/iam/SamlProviderArgs.java b/sdk/java/src/main/java/com/pulumi/aws/iam/SamlProviderArgs.java index 3dd1f0fa6f6..6fd5b604f8b 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/iam/SamlProviderArgs.java +++ b/sdk/java/src/main/java/com/pulumi/aws/iam/SamlProviderArgs.java @@ -61,12 +61,28 @@ public Optional>> tags() { return Optional.ofNullable(this.tags); } + /** + * A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. + * + */ + @Import(name="tagsAll") + private @Nullable Output> tagsAll; + + /** + * @return A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. + * + */ + public Optional>> tagsAll() { + return Optional.ofNullable(this.tagsAll); + } + private SamlProviderArgs() {} private SamlProviderArgs(SamlProviderArgs $) { this.name = $.name; this.samlMetadataDocument = $.samlMetadataDocument; this.tags = $.tags; + this.tagsAll = $.tagsAll; } public static Builder builder() { @@ -150,6 +166,27 @@ public Builder tags(Map tags) { return tags(Output.of(tags)); } + /** + * @param tagsAll A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. + * + * @return builder + * + */ + public Builder tagsAll(@Nullable Output> tagsAll) { + $.tagsAll = tagsAll; + return this; + } + + /** + * @param tagsAll A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. + * + * @return builder + * + */ + public Builder tagsAll(Map tagsAll) { + return tagsAll(Output.of(tagsAll)); + } + public SamlProviderArgs build() { $.samlMetadataDocument = Objects.requireNonNull($.samlMetadataDocument, "expected parameter 'samlMetadataDocument' to be non-null"); return $; diff --git a/sdk/java/src/main/java/com/pulumi/aws/iam/ServerCertificateArgs.java b/sdk/java/src/main/java/com/pulumi/aws/iam/ServerCertificateArgs.java index 140d6d53974..e844ea13943 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/iam/ServerCertificateArgs.java +++ b/sdk/java/src/main/java/com/pulumi/aws/iam/ServerCertificateArgs.java @@ -137,6 +137,21 @@ public Optional>> tags() { return Optional.ofNullable(this.tags); } + /** + * A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. + * + */ + @Import(name="tagsAll") + private @Nullable Output> tagsAll; + + /** + * @return A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. + * + */ + public Optional>> tagsAll() { + return Optional.ofNullable(this.tagsAll); + } + private ServerCertificateArgs() {} private ServerCertificateArgs(ServerCertificateArgs $) { @@ -147,6 +162,7 @@ private ServerCertificateArgs(ServerCertificateArgs $) { this.path = $.path; this.privateKey = $.privateKey; this.tags = $.tags; + this.tagsAll = $.tagsAll; } public static Builder builder() { @@ -330,6 +346,27 @@ public Builder tags(Map tags) { return tags(Output.of(tags)); } + /** + * @param tagsAll A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. + * + * @return builder + * + */ + public Builder tagsAll(@Nullable Output> tagsAll) { + $.tagsAll = tagsAll; + return this; + } + + /** + * @param tagsAll A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. + * + * @return builder + * + */ + public Builder tagsAll(Map tagsAll) { + return tagsAll(Output.of(tagsAll)); + } + public ServerCertificateArgs build() { $.certificateBody = Objects.requireNonNull($.certificateBody, "expected parameter 'certificateBody' to be non-null"); $.privateKey = Objects.requireNonNull($.privateKey, "expected parameter 'privateKey' to be non-null"); diff --git a/sdk/java/src/main/java/com/pulumi/aws/iam/ServiceLinkedRoleArgs.java b/sdk/java/src/main/java/com/pulumi/aws/iam/ServiceLinkedRoleArgs.java index f392c282a59..a2dc18b56df 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/iam/ServiceLinkedRoleArgs.java +++ b/sdk/java/src/main/java/com/pulumi/aws/iam/ServiceLinkedRoleArgs.java @@ -76,6 +76,21 @@ public Optional>> tags() { return Optional.ofNullable(this.tags); } + /** + * A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. + * + */ + @Import(name="tagsAll") + private @Nullable Output> tagsAll; + + /** + * @return A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. + * + */ + public Optional>> tagsAll() { + return Optional.ofNullable(this.tagsAll); + } + private ServiceLinkedRoleArgs() {} private ServiceLinkedRoleArgs(ServiceLinkedRoleArgs $) { @@ -83,6 +98,7 @@ private ServiceLinkedRoleArgs(ServiceLinkedRoleArgs $) { this.customSuffix = $.customSuffix; this.description = $.description; this.tags = $.tags; + this.tagsAll = $.tagsAll; } public static Builder builder() { @@ -187,6 +203,27 @@ public Builder tags(Map tags) { return tags(Output.of(tags)); } + /** + * @param tagsAll A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. + * + * @return builder + * + */ + public Builder tagsAll(@Nullable Output> tagsAll) { + $.tagsAll = tagsAll; + return this; + } + + /** + * @param tagsAll A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. + * + * @return builder + * + */ + public Builder tagsAll(Map tagsAll) { + return tagsAll(Output.of(tagsAll)); + } + public ServiceLinkedRoleArgs build() { $.awsServiceName = Objects.requireNonNull($.awsServiceName, "expected parameter 'awsServiceName' to be non-null"); return $; diff --git a/sdk/java/src/main/java/com/pulumi/aws/iam/UserArgs.java b/sdk/java/src/main/java/com/pulumi/aws/iam/UserArgs.java index f8655c03888..5208f639e47 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/iam/UserArgs.java +++ b/sdk/java/src/main/java/com/pulumi/aws/iam/UserArgs.java @@ -96,6 +96,21 @@ public Optional>> tags() { return Optional.ofNullable(this.tags); } + /** + * A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. + * + */ + @Import(name="tagsAll") + private @Nullable Output> tagsAll; + + /** + * @return A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. + * + */ + public Optional>> tagsAll() { + return Optional.ofNullable(this.tagsAll); + } + private UserArgs() {} private UserArgs(UserArgs $) { @@ -104,6 +119,7 @@ private UserArgs(UserArgs $) { this.path = $.path; this.permissionsBoundary = $.permissionsBoundary; this.tags = $.tags; + this.tagsAll = $.tagsAll; } public static Builder builder() { @@ -233,6 +249,27 @@ public Builder tags(Map tags) { return tags(Output.of(tags)); } + /** + * @param tagsAll A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. + * + * @return builder + * + */ + public Builder tagsAll(@Nullable Output> tagsAll) { + $.tagsAll = tagsAll; + return this; + } + + /** + * @param tagsAll A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. + * + * @return builder + * + */ + public Builder tagsAll(Map tagsAll) { + return tagsAll(Output.of(tagsAll)); + } + public UserArgs build() { return $; } diff --git a/sdk/java/src/main/java/com/pulumi/aws/iam/VirtualMfaDeviceArgs.java b/sdk/java/src/main/java/com/pulumi/aws/iam/VirtualMfaDeviceArgs.java index 4a3ce301a82..af104a43529 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/iam/VirtualMfaDeviceArgs.java +++ b/sdk/java/src/main/java/com/pulumi/aws/iam/VirtualMfaDeviceArgs.java @@ -46,6 +46,21 @@ public Optional>> tags() { return Optional.ofNullable(this.tags); } + /** + * A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. + * + */ + @Import(name="tagsAll") + private @Nullable Output> tagsAll; + + /** + * @return A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. + * + */ + public Optional>> tagsAll() { + return Optional.ofNullable(this.tagsAll); + } + /** * The name of the virtual MFA device. Use with path to uniquely identify a virtual MFA device. * @@ -66,6 +81,7 @@ private VirtualMfaDeviceArgs() {} private VirtualMfaDeviceArgs(VirtualMfaDeviceArgs $) { this.path = $.path; this.tags = $.tags; + this.tagsAll = $.tagsAll; this.virtualMfaDeviceName = $.virtualMfaDeviceName; } @@ -129,6 +145,27 @@ public Builder tags(Map tags) { return tags(Output.of(tags)); } + /** + * @param tagsAll A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. + * + * @return builder + * + */ + public Builder tagsAll(@Nullable Output> tagsAll) { + $.tagsAll = tagsAll; + return this; + } + + /** + * @param tagsAll A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. + * + * @return builder + * + */ + public Builder tagsAll(Map tagsAll) { + return tagsAll(Output.of(tagsAll)); + } + /** * @param virtualMfaDeviceName The name of the virtual MFA device. Use with path to uniquely identify a virtual MFA device. * diff --git a/sdk/java/src/main/java/com/pulumi/aws/inspector/AssessmentTemplateArgs.java b/sdk/java/src/main/java/com/pulumi/aws/inspector/AssessmentTemplateArgs.java index 77a77ba1104..6609301b4b1 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/inspector/AssessmentTemplateArgs.java +++ b/sdk/java/src/main/java/com/pulumi/aws/inspector/AssessmentTemplateArgs.java @@ -94,6 +94,21 @@ public Optional>> tags() { return Optional.ofNullable(this.tags); } + /** + * A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. + * + */ + @Import(name="tagsAll") + private @Nullable Output> tagsAll; + + /** + * @return A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. + * + */ + public Optional>> tagsAll() { + return Optional.ofNullable(this.tagsAll); + } + /** * The assessment target ARN to attach the template to. * @@ -117,6 +132,7 @@ private AssessmentTemplateArgs(AssessmentTemplateArgs $) { this.name = $.name; this.rulesPackageArns = $.rulesPackageArns; this.tags = $.tags; + this.tagsAll = $.tagsAll; this.targetArn = $.targetArn; } @@ -263,6 +279,27 @@ public Builder tags(Map tags) { return tags(Output.of(tags)); } + /** + * @param tagsAll A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. + * + * @return builder + * + */ + public Builder tagsAll(@Nullable Output> tagsAll) { + $.tagsAll = tagsAll; + return this; + } + + /** + * @param tagsAll A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. + * + * @return builder + * + */ + public Builder tagsAll(Map tagsAll) { + return tagsAll(Output.of(tagsAll)); + } + /** * @param targetArn The assessment target ARN to attach the template to. * diff --git a/sdk/java/src/main/java/com/pulumi/aws/oam/OamFunctions.java b/sdk/java/src/main/java/com/pulumi/aws/oam/OamFunctions.java new file mode 100644 index 00000000000..912834fffab --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/oam/OamFunctions.java @@ -0,0 +1,381 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.oam; + +import com.pulumi.aws.Utilities; +import com.pulumi.aws.oam.inputs.GetSinkArgs; +import com.pulumi.aws.oam.inputs.GetSinkPlainArgs; +import com.pulumi.aws.oam.outputs.GetSinkResult; +import com.pulumi.aws.oam.outputs.GetSinksResult; +import com.pulumi.core.Output; +import com.pulumi.core.TypeShape; +import com.pulumi.deployment.Deployment; +import com.pulumi.deployment.InvokeOptions; +import com.pulumi.resources.InvokeArgs; +import java.util.concurrent.CompletableFuture; + +public final class OamFunctions { + /** + * Data source for managing an AWS CloudWatch Observability Access Manager Sink. + * + * ## Example Usage + * ### Basic Usage + * ```java + * package generated_program; + * + * import com.pulumi.Context; + * import com.pulumi.Pulumi; + * import com.pulumi.core.Output; + * import com.pulumi.aws.oam.OamFunctions; + * import com.pulumi.aws.oam.inputs.GetSinkArgs; + * import java.util.List; + * import java.util.ArrayList; + * import java.util.Map; + * import java.io.File; + * import java.nio.file.Files; + * import java.nio.file.Paths; + * + * public class App { + * public static void main(String[] args) { + * Pulumi.run(App::stack); + * } + * + * public static void stack(Context ctx) { + * final var example = OamFunctions.getSink(GetSinkArgs.builder() + * .sinkIdentifier("arn:aws:oam:us-west-1:111111111111:sink/abcd1234-a123-456a-a12b-a123b456c789") + * .build()); + * + * } + * } + * ``` + * + */ + public static Output getSink(GetSinkArgs args) { + return getSink(args, InvokeOptions.Empty); + } + /** + * Data source for managing an AWS CloudWatch Observability Access Manager Sink. + * + * ## Example Usage + * ### Basic Usage + * ```java + * package generated_program; + * + * import com.pulumi.Context; + * import com.pulumi.Pulumi; + * import com.pulumi.core.Output; + * import com.pulumi.aws.oam.OamFunctions; + * import com.pulumi.aws.oam.inputs.GetSinkArgs; + * import java.util.List; + * import java.util.ArrayList; + * import java.util.Map; + * import java.io.File; + * import java.nio.file.Files; + * import java.nio.file.Paths; + * + * public class App { + * public static void main(String[] args) { + * Pulumi.run(App::stack); + * } + * + * public static void stack(Context ctx) { + * final var example = OamFunctions.getSink(GetSinkArgs.builder() + * .sinkIdentifier("arn:aws:oam:us-west-1:111111111111:sink/abcd1234-a123-456a-a12b-a123b456c789") + * .build()); + * + * } + * } + * ``` + * + */ + public static CompletableFuture getSinkPlain(GetSinkPlainArgs args) { + return getSinkPlain(args, InvokeOptions.Empty); + } + /** + * Data source for managing an AWS CloudWatch Observability Access Manager Sink. + * + * ## Example Usage + * ### Basic Usage + * ```java + * package generated_program; + * + * import com.pulumi.Context; + * import com.pulumi.Pulumi; + * import com.pulumi.core.Output; + * import com.pulumi.aws.oam.OamFunctions; + * import com.pulumi.aws.oam.inputs.GetSinkArgs; + * import java.util.List; + * import java.util.ArrayList; + * import java.util.Map; + * import java.io.File; + * import java.nio.file.Files; + * import java.nio.file.Paths; + * + * public class App { + * public static void main(String[] args) { + * Pulumi.run(App::stack); + * } + * + * public static void stack(Context ctx) { + * final var example = OamFunctions.getSink(GetSinkArgs.builder() + * .sinkIdentifier("arn:aws:oam:us-west-1:111111111111:sink/abcd1234-a123-456a-a12b-a123b456c789") + * .build()); + * + * } + * } + * ``` + * + */ + public static Output getSink(GetSinkArgs args, InvokeOptions options) { + return Deployment.getInstance().invoke("aws:oam/getSink:getSink", TypeShape.of(GetSinkResult.class), args, Utilities.withVersion(options)); + } + /** + * Data source for managing an AWS CloudWatch Observability Access Manager Sink. + * + * ## Example Usage + * ### Basic Usage + * ```java + * package generated_program; + * + * import com.pulumi.Context; + * import com.pulumi.Pulumi; + * import com.pulumi.core.Output; + * import com.pulumi.aws.oam.OamFunctions; + * import com.pulumi.aws.oam.inputs.GetSinkArgs; + * import java.util.List; + * import java.util.ArrayList; + * import java.util.Map; + * import java.io.File; + * import java.nio.file.Files; + * import java.nio.file.Paths; + * + * public class App { + * public static void main(String[] args) { + * Pulumi.run(App::stack); + * } + * + * public static void stack(Context ctx) { + * final var example = OamFunctions.getSink(GetSinkArgs.builder() + * .sinkIdentifier("arn:aws:oam:us-west-1:111111111111:sink/abcd1234-a123-456a-a12b-a123b456c789") + * .build()); + * + * } + * } + * ``` + * + */ + public static CompletableFuture getSinkPlain(GetSinkPlainArgs args, InvokeOptions options) { + return Deployment.getInstance().invokeAsync("aws:oam/getSink:getSink", TypeShape.of(GetSinkResult.class), args, Utilities.withVersion(options)); + } + /** + * Data source for managing an AWS CloudWatch Observability Access Manager Sinks. + * + * ## Example Usage + * ### Basic Usage + * ```java + * package generated_program; + * + * import com.pulumi.Context; + * import com.pulumi.Pulumi; + * import com.pulumi.core.Output; + * import com.pulumi.aws.oam.OamFunctions; + * import java.util.List; + * import java.util.ArrayList; + * import java.util.Map; + * import java.io.File; + * import java.nio.file.Files; + * import java.nio.file.Paths; + * + * public class App { + * public static void main(String[] args) { + * Pulumi.run(App::stack); + * } + * + * public static void stack(Context ctx) { + * final var example = OamFunctions.getSinks(); + * + * } + * } + * ``` + * + */ + public static Output getSinks() { + return getSinks(InvokeArgs.Empty, InvokeOptions.Empty); + } + /** + * Data source for managing an AWS CloudWatch Observability Access Manager Sinks. + * + * ## Example Usage + * ### Basic Usage + * ```java + * package generated_program; + * + * import com.pulumi.Context; + * import com.pulumi.Pulumi; + * import com.pulumi.core.Output; + * import com.pulumi.aws.oam.OamFunctions; + * import java.util.List; + * import java.util.ArrayList; + * import java.util.Map; + * import java.io.File; + * import java.nio.file.Files; + * import java.nio.file.Paths; + * + * public class App { + * public static void main(String[] args) { + * Pulumi.run(App::stack); + * } + * + * public static void stack(Context ctx) { + * final var example = OamFunctions.getSinks(); + * + * } + * } + * ``` + * + */ + public static CompletableFuture getSinksPlain() { + return getSinksPlain(InvokeArgs.Empty, InvokeOptions.Empty); + } + /** + * Data source for managing an AWS CloudWatch Observability Access Manager Sinks. + * + * ## Example Usage + * ### Basic Usage + * ```java + * package generated_program; + * + * import com.pulumi.Context; + * import com.pulumi.Pulumi; + * import com.pulumi.core.Output; + * import com.pulumi.aws.oam.OamFunctions; + * import java.util.List; + * import java.util.ArrayList; + * import java.util.Map; + * import java.io.File; + * import java.nio.file.Files; + * import java.nio.file.Paths; + * + * public class App { + * public static void main(String[] args) { + * Pulumi.run(App::stack); + * } + * + * public static void stack(Context ctx) { + * final var example = OamFunctions.getSinks(); + * + * } + * } + * ``` + * + */ + public static Output getSinks(InvokeArgs args) { + return getSinks(args, InvokeOptions.Empty); + } + /** + * Data source for managing an AWS CloudWatch Observability Access Manager Sinks. + * + * ## Example Usage + * ### Basic Usage + * ```java + * package generated_program; + * + * import com.pulumi.Context; + * import com.pulumi.Pulumi; + * import com.pulumi.core.Output; + * import com.pulumi.aws.oam.OamFunctions; + * import java.util.List; + * import java.util.ArrayList; + * import java.util.Map; + * import java.io.File; + * import java.nio.file.Files; + * import java.nio.file.Paths; + * + * public class App { + * public static void main(String[] args) { + * Pulumi.run(App::stack); + * } + * + * public static void stack(Context ctx) { + * final var example = OamFunctions.getSinks(); + * + * } + * } + * ``` + * + */ + public static CompletableFuture getSinksPlain(InvokeArgs args) { + return getSinksPlain(args, InvokeOptions.Empty); + } + /** + * Data source for managing an AWS CloudWatch Observability Access Manager Sinks. + * + * ## Example Usage + * ### Basic Usage + * ```java + * package generated_program; + * + * import com.pulumi.Context; + * import com.pulumi.Pulumi; + * import com.pulumi.core.Output; + * import com.pulumi.aws.oam.OamFunctions; + * import java.util.List; + * import java.util.ArrayList; + * import java.util.Map; + * import java.io.File; + * import java.nio.file.Files; + * import java.nio.file.Paths; + * + * public class App { + * public static void main(String[] args) { + * Pulumi.run(App::stack); + * } + * + * public static void stack(Context ctx) { + * final var example = OamFunctions.getSinks(); + * + * } + * } + * ``` + * + */ + public static Output getSinks(InvokeArgs args, InvokeOptions options) { + return Deployment.getInstance().invoke("aws:oam/getSinks:getSinks", TypeShape.of(GetSinksResult.class), args, Utilities.withVersion(options)); + } + /** + * Data source for managing an AWS CloudWatch Observability Access Manager Sinks. + * + * ## Example Usage + * ### Basic Usage + * ```java + * package generated_program; + * + * import com.pulumi.Context; + * import com.pulumi.Pulumi; + * import com.pulumi.core.Output; + * import com.pulumi.aws.oam.OamFunctions; + * import java.util.List; + * import java.util.ArrayList; + * import java.util.Map; + * import java.io.File; + * import java.nio.file.Files; + * import java.nio.file.Paths; + * + * public class App { + * public static void main(String[] args) { + * Pulumi.run(App::stack); + * } + * + * public static void stack(Context ctx) { + * final var example = OamFunctions.getSinks(); + * + * } + * } + * ``` + * + */ + public static CompletableFuture getSinksPlain(InvokeArgs args, InvokeOptions options) { + return Deployment.getInstance().invokeAsync("aws:oam/getSinks:getSinks", TypeShape.of(GetSinksResult.class), args, Utilities.withVersion(options)); + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/oam/inputs/GetSinkArgs.java b/sdk/java/src/main/java/com/pulumi/aws/oam/inputs/GetSinkArgs.java new file mode 100644 index 00000000000..78dc79a66f1 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/oam/inputs/GetSinkArgs.java @@ -0,0 +1,122 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.oam.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.String; +import java.util.Map; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class GetSinkArgs extends com.pulumi.resources.InvokeArgs { + + public static final GetSinkArgs Empty = new GetSinkArgs(); + + /** + * ARN of the sink. + * + */ + @Import(name="sinkIdentifier", required=true) + private Output sinkIdentifier; + + /** + * @return ARN of the sink. + * + */ + public Output sinkIdentifier() { + return this.sinkIdentifier; + } + + /** + * Tags assigned to the sink. + * + */ + @Import(name="tags") + private @Nullable Output> tags; + + /** + * @return Tags assigned to the sink. + * + */ + public Optional>> tags() { + return Optional.ofNullable(this.tags); + } + + private GetSinkArgs() {} + + private GetSinkArgs(GetSinkArgs $) { + this.sinkIdentifier = $.sinkIdentifier; + this.tags = $.tags; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(GetSinkArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private GetSinkArgs $; + + public Builder() { + $ = new GetSinkArgs(); + } + + public Builder(GetSinkArgs defaults) { + $ = new GetSinkArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param sinkIdentifier ARN of the sink. + * + * @return builder + * + */ + public Builder sinkIdentifier(Output sinkIdentifier) { + $.sinkIdentifier = sinkIdentifier; + return this; + } + + /** + * @param sinkIdentifier ARN of the sink. + * + * @return builder + * + */ + public Builder sinkIdentifier(String sinkIdentifier) { + return sinkIdentifier(Output.of(sinkIdentifier)); + } + + /** + * @param tags Tags assigned to the sink. + * + * @return builder + * + */ + public Builder tags(@Nullable Output> tags) { + $.tags = tags; + return this; + } + + /** + * @param tags Tags assigned to the sink. + * + * @return builder + * + */ + public Builder tags(Map tags) { + return tags(Output.of(tags)); + } + + public GetSinkArgs build() { + $.sinkIdentifier = Objects.requireNonNull($.sinkIdentifier, "expected parameter 'sinkIdentifier' to be non-null"); + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/oam/inputs/GetSinkPlainArgs.java b/sdk/java/src/main/java/com/pulumi/aws/oam/inputs/GetSinkPlainArgs.java new file mode 100644 index 00000000000..35a7957a43c --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/oam/inputs/GetSinkPlainArgs.java @@ -0,0 +1,101 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.oam.inputs; + +import com.pulumi.core.annotations.Import; +import java.lang.String; +import java.util.Map; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class GetSinkPlainArgs extends com.pulumi.resources.InvokeArgs { + + public static final GetSinkPlainArgs Empty = new GetSinkPlainArgs(); + + /** + * ARN of the sink. + * + */ + @Import(name="sinkIdentifier", required=true) + private String sinkIdentifier; + + /** + * @return ARN of the sink. + * + */ + public String sinkIdentifier() { + return this.sinkIdentifier; + } + + /** + * Tags assigned to the sink. + * + */ + @Import(name="tags") + private @Nullable Map tags; + + /** + * @return Tags assigned to the sink. + * + */ + public Optional> tags() { + return Optional.ofNullable(this.tags); + } + + private GetSinkPlainArgs() {} + + private GetSinkPlainArgs(GetSinkPlainArgs $) { + this.sinkIdentifier = $.sinkIdentifier; + this.tags = $.tags; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(GetSinkPlainArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private GetSinkPlainArgs $; + + public Builder() { + $ = new GetSinkPlainArgs(); + } + + public Builder(GetSinkPlainArgs defaults) { + $ = new GetSinkPlainArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param sinkIdentifier ARN of the sink. + * + * @return builder + * + */ + public Builder sinkIdentifier(String sinkIdentifier) { + $.sinkIdentifier = sinkIdentifier; + return this; + } + + /** + * @param tags Tags assigned to the sink. + * + * @return builder + * + */ + public Builder tags(@Nullable Map tags) { + $.tags = tags; + return this; + } + + public GetSinkPlainArgs build() { + $.sinkIdentifier = Objects.requireNonNull($.sinkIdentifier, "expected parameter 'sinkIdentifier' to be non-null"); + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/oam/outputs/GetSinkResult.java b/sdk/java/src/main/java/com/pulumi/aws/oam/outputs/GetSinkResult.java new file mode 100644 index 00000000000..b4f8c09ffff --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/oam/outputs/GetSinkResult.java @@ -0,0 +1,147 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.oam.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.String; +import java.util.Map; +import java.util.Objects; + +@CustomType +public final class GetSinkResult { + /** + * @return ARN of the sink. + * + */ + private String arn; + /** + * @return The provider-assigned unique ID for this managed resource. + * + */ + private String id; + /** + * @return Name of the sink. + * + */ + private String name; + /** + * @return Random ID string that AWS generated as part of the sink ARN. + * + */ + private String sinkId; + private String sinkIdentifier; + /** + * @return Tags assigned to the sink. + * + */ + private Map tags; + + private GetSinkResult() {} + /** + * @return ARN of the sink. + * + */ + public String arn() { + return this.arn; + } + /** + * @return The provider-assigned unique ID for this managed resource. + * + */ + public String id() { + return this.id; + } + /** + * @return Name of the sink. + * + */ + public String name() { + return this.name; + } + /** + * @return Random ID string that AWS generated as part of the sink ARN. + * + */ + public String sinkId() { + return this.sinkId; + } + public String sinkIdentifier() { + return this.sinkIdentifier; + } + /** + * @return Tags assigned to the sink. + * + */ + public Map tags() { + return this.tags; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(GetSinkResult defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private String arn; + private String id; + private String name; + private String sinkId; + private String sinkIdentifier; + private Map tags; + public Builder() {} + public Builder(GetSinkResult defaults) { + Objects.requireNonNull(defaults); + this.arn = defaults.arn; + this.id = defaults.id; + this.name = defaults.name; + this.sinkId = defaults.sinkId; + this.sinkIdentifier = defaults.sinkIdentifier; + this.tags = defaults.tags; + } + + @CustomType.Setter + public Builder arn(String arn) { + this.arn = Objects.requireNonNull(arn); + return this; + } + @CustomType.Setter + public Builder id(String id) { + this.id = Objects.requireNonNull(id); + return this; + } + @CustomType.Setter + public Builder name(String name) { + this.name = Objects.requireNonNull(name); + return this; + } + @CustomType.Setter + public Builder sinkId(String sinkId) { + this.sinkId = Objects.requireNonNull(sinkId); + return this; + } + @CustomType.Setter + public Builder sinkIdentifier(String sinkIdentifier) { + this.sinkIdentifier = Objects.requireNonNull(sinkIdentifier); + return this; + } + @CustomType.Setter + public Builder tags(Map tags) { + this.tags = Objects.requireNonNull(tags); + return this; + } + public GetSinkResult build() { + final var o = new GetSinkResult(); + o.arn = arn; + o.id = id; + o.name = name; + o.sinkId = sinkId; + o.sinkIdentifier = sinkIdentifier; + o.tags = tags; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/oam/outputs/GetSinksResult.java b/sdk/java/src/main/java/com/pulumi/aws/oam/outputs/GetSinksResult.java new file mode 100644 index 00000000000..3dba79e0267 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/oam/outputs/GetSinksResult.java @@ -0,0 +1,78 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.oam.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.String; +import java.util.List; +import java.util.Objects; + +@CustomType +public final class GetSinksResult { + /** + * @return Set of ARN of the Sinks. + * + */ + private List arns; + /** + * @return The provider-assigned unique ID for this managed resource. + * + */ + private String id; + + private GetSinksResult() {} + /** + * @return Set of ARN of the Sinks. + * + */ + public List arns() { + return this.arns; + } + /** + * @return The provider-assigned unique ID for this managed resource. + * + */ + public String id() { + return this.id; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(GetSinksResult defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private List arns; + private String id; + public Builder() {} + public Builder(GetSinksResult defaults) { + Objects.requireNonNull(defaults); + this.arns = defaults.arns; + this.id = defaults.id; + } + + @CustomType.Setter + public Builder arns(List arns) { + this.arns = Objects.requireNonNull(arns); + return this; + } + public Builder arns(String... arns) { + return arns(List.of(arns)); + } + @CustomType.Setter + public Builder id(String id) { + this.id = Objects.requireNonNull(id); + return this; + } + public GetSinksResult build() { + final var o = new GetSinksResult(); + o.arns = arns; + o.id = id; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/rbin/Rule.java b/sdk/java/src/main/java/com/pulumi/aws/rbin/Rule.java new file mode 100644 index 00000000000..43ab9c39495 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/rbin/Rule.java @@ -0,0 +1,258 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.rbin; + +import com.pulumi.aws.Utilities; +import com.pulumi.aws.rbin.RuleArgs; +import com.pulumi.aws.rbin.inputs.RuleState; +import com.pulumi.aws.rbin.outputs.RuleLockConfiguration; +import com.pulumi.aws.rbin.outputs.RuleResourceTag; +import com.pulumi.aws.rbin.outputs.RuleRetentionPeriod; +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Export; +import com.pulumi.core.annotations.ResourceType; +import com.pulumi.core.internal.Codegen; +import java.lang.String; +import java.util.List; +import java.util.Map; +import java.util.Optional; +import javax.annotation.Nullable; + +/** + * Resource for managing an AWS RBin Rule. + * + * ## Example Usage + * ### Basic Usage + * ```java + * package generated_program; + * + * import com.pulumi.Context; + * import com.pulumi.Pulumi; + * import com.pulumi.core.Output; + * import com.pulumi.aws.rbin.Rule; + * import com.pulumi.aws.rbin.RuleArgs; + * import com.pulumi.aws.rbin.inputs.RuleResourceTagArgs; + * import com.pulumi.aws.rbin.inputs.RuleRetentionPeriodArgs; + * import java.util.List; + * import java.util.ArrayList; + * import java.util.Map; + * import java.io.File; + * import java.nio.file.Files; + * import java.nio.file.Paths; + * + * public class App { + * public static void main(String[] args) { + * Pulumi.run(App::stack); + * } + * + * public static void stack(Context ctx) { + * var example = new Rule("example", RuleArgs.builder() + * .description("example_rule") + * .resourceType("EBS_SNAPSHOT") + * .resourceTags(RuleResourceTagArgs.builder() + * .resourceTagKey(tag_key) + * .resourceTagValue("tag_value") + * .build()) + * .retentionPeriod(RuleRetentionPeriodArgs.builder() + * .retentionPeriodValue(10) + * .retentionPeriodUnit("DAYS") + * .build()) + * .tags(Map.of("test_tag_key", "test_tag_value")) + * .build()); + * + * } + * } + * ``` + * + * ## Import + * + * RBin Rule can be imported using the `id`, e.g., + * + * ```sh + * $ pulumi import aws:rbin/rule:Rule example examplerule + * ``` + * + */ +@ResourceType(type="aws:rbin/rule:Rule") +public class Rule extends com.pulumi.resources.CustomResource { + @Export(name="arn", refs={String.class}, tree="[0]") + private Output arn; + + public Output arn() { + return this.arn; + } + /** + * The retention rule description. + * + */ + @Export(name="description", refs={String.class}, tree="[0]") + private Output description; + + /** + * @return The retention rule description. + * + */ + public Output description() { + return this.description; + } + /** + * Information about the retention rule lock configuration. See `lock_configuration` below. + * + */ + @Export(name="lockConfiguration", refs={RuleLockConfiguration.class}, tree="[0]") + private Output lockConfiguration; + + /** + * @return Information about the retention rule lock configuration. See `lock_configuration` below. + * + */ + public Output> lockConfiguration() { + return Codegen.optional(this.lockConfiguration); + } + /** + * (Timestamp) The date and time at which the unlock delay is set to expire. Only returned for retention rules that have been unlocked and that are still within the unlock delay period. + * + */ + @Export(name="lockEndTime", refs={String.class}, tree="[0]") + private Output lockEndTime; + + /** + * @return (Timestamp) The date and time at which the unlock delay is set to expire. Only returned for retention rules that have been unlocked and that are still within the unlock delay period. + * + */ + public Output lockEndTime() { + return this.lockEndTime; + } + /** + * (Optional) The lock state of the retention rules to list. Only retention rules with the specified lock state are returned. Valid values are `locked`, `pending_unlock`, `unlocked`. + * + */ + @Export(name="lockState", refs={String.class}, tree="[0]") + private Output lockState; + + /** + * @return (Optional) The lock state of the retention rules to list. Only retention rules with the specified lock state are returned. Valid values are `locked`, `pending_unlock`, `unlocked`. + * + */ + public Output lockState() { + return this.lockState; + } + /** + * Specifies the resource tags to use to identify resources that are to be retained by a tag-level retention rule. See `resource_tags` below. + * + */ + @Export(name="resourceTags", refs={List.class,RuleResourceTag.class}, tree="[0,1]") + private Output> resourceTags; + + /** + * @return Specifies the resource tags to use to identify resources that are to be retained by a tag-level retention rule. See `resource_tags` below. + * + */ + public Output> resourceTags() { + return this.resourceTags; + } + /** + * The resource type to be retained by the retention rule. Valid values are `EBS_SNAPSHOT` and `EC2_IMAGE`. + * + */ + @Export(name="resourceType", refs={String.class}, tree="[0]") + private Output resourceType; + + /** + * @return The resource type to be retained by the retention rule. Valid values are `EBS_SNAPSHOT` and `EC2_IMAGE`. + * + */ + public Output resourceType() { + return this.resourceType; + } + /** + * Information about the retention period for which the retention rule is to retain resources. See `retention_period` below. + * + */ + @Export(name="retentionPeriod", refs={RuleRetentionPeriod.class}, tree="[0]") + private Output retentionPeriod; + + /** + * @return Information about the retention period for which the retention rule is to retain resources. See `retention_period` below. + * + */ + public Output retentionPeriod() { + return this.retentionPeriod; + } + /** + * (String) The state of the retention rule. Only retention rules that are in the `available` state retain resources. Valid values include `pending` and `available`. + * + */ + @Export(name="status", refs={String.class}, tree="[0]") + private Output status; + + /** + * @return (String) The state of the retention rule. Only retention rules that are in the `available` state retain resources. Valid values include `pending` and `available`. + * + */ + public Output status() { + return this.status; + } + @Export(name="tags", refs={Map.class,String.class}, tree="[0,1,1]") + private Output> tags; + + public Output>> tags() { + return Codegen.optional(this.tags); + } + @Export(name="tagsAll", refs={Map.class,String.class}, tree="[0,1,1]") + private Output> tagsAll; + + public Output> tagsAll() { + return this.tagsAll; + } + + /** + * + * @param name The _unique_ name of the resulting resource. + */ + public Rule(String name) { + this(name, RuleArgs.Empty); + } + /** + * + * @param name The _unique_ name of the resulting resource. + * @param args The arguments to use to populate this resource's properties. + */ + public Rule(String name, RuleArgs args) { + this(name, args, null); + } + /** + * + * @param name The _unique_ name of the resulting resource. + * @param args The arguments to use to populate this resource's properties. + * @param options A bag of options that control this resource's behavior. + */ + public Rule(String name, RuleArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { + super("aws:rbin/rule:Rule", name, args == null ? RuleArgs.Empty : args, makeResourceOptions(options, Codegen.empty())); + } + + private Rule(String name, Output id, @Nullable RuleState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { + super("aws:rbin/rule:Rule", name, state, makeResourceOptions(options, id)); + } + + private static com.pulumi.resources.CustomResourceOptions makeResourceOptions(@Nullable com.pulumi.resources.CustomResourceOptions options, @Nullable Output id) { + var defaultOptions = com.pulumi.resources.CustomResourceOptions.builder() + .version(Utilities.getVersion()) + .build(); + return com.pulumi.resources.CustomResourceOptions.merge(defaultOptions, options, id); + } + + /** + * Get an existing Host resource's state with the given name, ID, and optional extra + * properties used to qualify the lookup. + * + * @param name The _unique_ name of the resulting resource. + * @param id The _unique_ provider ID of the resource to lookup. + * @param state + * @param options Optional settings to control the behavior of the CustomResource. + */ + public static Rule get(String name, Output id, @Nullable RuleState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { + return new Rule(name, id, state, options); + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/rbin/RuleArgs.java b/sdk/java/src/main/java/com/pulumi/aws/rbin/RuleArgs.java new file mode 100644 index 00000000000..439e93eef1c --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/rbin/RuleArgs.java @@ -0,0 +1,265 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.rbin; + +import com.pulumi.aws.rbin.inputs.RuleLockConfigurationArgs; +import com.pulumi.aws.rbin.inputs.RuleResourceTagArgs; +import com.pulumi.aws.rbin.inputs.RuleRetentionPeriodArgs; +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.String; +import java.util.List; +import java.util.Map; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class RuleArgs extends com.pulumi.resources.ResourceArgs { + + public static final RuleArgs Empty = new RuleArgs(); + + /** + * The retention rule description. + * + */ + @Import(name="description") + private @Nullable Output description; + + /** + * @return The retention rule description. + * + */ + public Optional> description() { + return Optional.ofNullable(this.description); + } + + /** + * Information about the retention rule lock configuration. See `lock_configuration` below. + * + */ + @Import(name="lockConfiguration") + private @Nullable Output lockConfiguration; + + /** + * @return Information about the retention rule lock configuration. See `lock_configuration` below. + * + */ + public Optional> lockConfiguration() { + return Optional.ofNullable(this.lockConfiguration); + } + + /** + * Specifies the resource tags to use to identify resources that are to be retained by a tag-level retention rule. See `resource_tags` below. + * + */ + @Import(name="resourceTags") + private @Nullable Output> resourceTags; + + /** + * @return Specifies the resource tags to use to identify resources that are to be retained by a tag-level retention rule. See `resource_tags` below. + * + */ + public Optional>> resourceTags() { + return Optional.ofNullable(this.resourceTags); + } + + /** + * The resource type to be retained by the retention rule. Valid values are `EBS_SNAPSHOT` and `EC2_IMAGE`. + * + */ + @Import(name="resourceType", required=true) + private Output resourceType; + + /** + * @return The resource type to be retained by the retention rule. Valid values are `EBS_SNAPSHOT` and `EC2_IMAGE`. + * + */ + public Output resourceType() { + return this.resourceType; + } + + /** + * Information about the retention period for which the retention rule is to retain resources. See `retention_period` below. + * + */ + @Import(name="retentionPeriod", required=true) + private Output retentionPeriod; + + /** + * @return Information about the retention period for which the retention rule is to retain resources. See `retention_period` below. + * + */ + public Output retentionPeriod() { + return this.retentionPeriod; + } + + @Import(name="tags") + private @Nullable Output> tags; + + public Optional>> tags() { + return Optional.ofNullable(this.tags); + } + + private RuleArgs() {} + + private RuleArgs(RuleArgs $) { + this.description = $.description; + this.lockConfiguration = $.lockConfiguration; + this.resourceTags = $.resourceTags; + this.resourceType = $.resourceType; + this.retentionPeriod = $.retentionPeriod; + this.tags = $.tags; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(RuleArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private RuleArgs $; + + public Builder() { + $ = new RuleArgs(); + } + + public Builder(RuleArgs defaults) { + $ = new RuleArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param description The retention rule description. + * + * @return builder + * + */ + public Builder description(@Nullable Output description) { + $.description = description; + return this; + } + + /** + * @param description The retention rule description. + * + * @return builder + * + */ + public Builder description(String description) { + return description(Output.of(description)); + } + + /** + * @param lockConfiguration Information about the retention rule lock configuration. See `lock_configuration` below. + * + * @return builder + * + */ + public Builder lockConfiguration(@Nullable Output lockConfiguration) { + $.lockConfiguration = lockConfiguration; + return this; + } + + /** + * @param lockConfiguration Information about the retention rule lock configuration. See `lock_configuration` below. + * + * @return builder + * + */ + public Builder lockConfiguration(RuleLockConfigurationArgs lockConfiguration) { + return lockConfiguration(Output.of(lockConfiguration)); + } + + /** + * @param resourceTags Specifies the resource tags to use to identify resources that are to be retained by a tag-level retention rule. See `resource_tags` below. + * + * @return builder + * + */ + public Builder resourceTags(@Nullable Output> resourceTags) { + $.resourceTags = resourceTags; + return this; + } + + /** + * @param resourceTags Specifies the resource tags to use to identify resources that are to be retained by a tag-level retention rule. See `resource_tags` below. + * + * @return builder + * + */ + public Builder resourceTags(List resourceTags) { + return resourceTags(Output.of(resourceTags)); + } + + /** + * @param resourceTags Specifies the resource tags to use to identify resources that are to be retained by a tag-level retention rule. See `resource_tags` below. + * + * @return builder + * + */ + public Builder resourceTags(RuleResourceTagArgs... resourceTags) { + return resourceTags(List.of(resourceTags)); + } + + /** + * @param resourceType The resource type to be retained by the retention rule. Valid values are `EBS_SNAPSHOT` and `EC2_IMAGE`. + * + * @return builder + * + */ + public Builder resourceType(Output resourceType) { + $.resourceType = resourceType; + return this; + } + + /** + * @param resourceType The resource type to be retained by the retention rule. Valid values are `EBS_SNAPSHOT` and `EC2_IMAGE`. + * + * @return builder + * + */ + public Builder resourceType(String resourceType) { + return resourceType(Output.of(resourceType)); + } + + /** + * @param retentionPeriod Information about the retention period for which the retention rule is to retain resources. See `retention_period` below. + * + * @return builder + * + */ + public Builder retentionPeriod(Output retentionPeriod) { + $.retentionPeriod = retentionPeriod; + return this; + } + + /** + * @param retentionPeriod Information about the retention period for which the retention rule is to retain resources. See `retention_period` below. + * + * @return builder + * + */ + public Builder retentionPeriod(RuleRetentionPeriodArgs retentionPeriod) { + return retentionPeriod(Output.of(retentionPeriod)); + } + + public Builder tags(@Nullable Output> tags) { + $.tags = tags; + return this; + } + + public Builder tags(Map tags) { + return tags(Output.of(tags)); + } + + public RuleArgs build() { + $.resourceType = Objects.requireNonNull($.resourceType, "expected parameter 'resourceType' to be non-null"); + $.retentionPeriod = Objects.requireNonNull($.retentionPeriod, "expected parameter 'retentionPeriod' to be non-null"); + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/rbin/inputs/RuleLockConfigurationArgs.java b/sdk/java/src/main/java/com/pulumi/aws/rbin/inputs/RuleLockConfigurationArgs.java new file mode 100644 index 00000000000..66a7485ae02 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/rbin/inputs/RuleLockConfigurationArgs.java @@ -0,0 +1,82 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.rbin.inputs; + +import com.pulumi.aws.rbin.inputs.RuleLockConfigurationUnlockDelayArgs; +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.util.Objects; + + +public final class RuleLockConfigurationArgs extends com.pulumi.resources.ResourceArgs { + + public static final RuleLockConfigurationArgs Empty = new RuleLockConfigurationArgs(); + + /** + * Information about the retention rule unlock delay. See `unlock_delay` below. + * + */ + @Import(name="unlockDelay", required=true) + private Output unlockDelay; + + /** + * @return Information about the retention rule unlock delay. See `unlock_delay` below. + * + */ + public Output unlockDelay() { + return this.unlockDelay; + } + + private RuleLockConfigurationArgs() {} + + private RuleLockConfigurationArgs(RuleLockConfigurationArgs $) { + this.unlockDelay = $.unlockDelay; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(RuleLockConfigurationArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private RuleLockConfigurationArgs $; + + public Builder() { + $ = new RuleLockConfigurationArgs(); + } + + public Builder(RuleLockConfigurationArgs defaults) { + $ = new RuleLockConfigurationArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param unlockDelay Information about the retention rule unlock delay. See `unlock_delay` below. + * + * @return builder + * + */ + public Builder unlockDelay(Output unlockDelay) { + $.unlockDelay = unlockDelay; + return this; + } + + /** + * @param unlockDelay Information about the retention rule unlock delay. See `unlock_delay` below. + * + * @return builder + * + */ + public Builder unlockDelay(RuleLockConfigurationUnlockDelayArgs unlockDelay) { + return unlockDelay(Output.of(unlockDelay)); + } + + public RuleLockConfigurationArgs build() { + $.unlockDelay = Objects.requireNonNull($.unlockDelay, "expected parameter 'unlockDelay' to be non-null"); + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/rbin/inputs/RuleLockConfigurationUnlockDelayArgs.java b/sdk/java/src/main/java/com/pulumi/aws/rbin/inputs/RuleLockConfigurationUnlockDelayArgs.java new file mode 100644 index 00000000000..1ae4b0004c9 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/rbin/inputs/RuleLockConfigurationUnlockDelayArgs.java @@ -0,0 +1,121 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.rbin.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.Integer; +import java.lang.String; +import java.util.Objects; + + +public final class RuleLockConfigurationUnlockDelayArgs extends com.pulumi.resources.ResourceArgs { + + public static final RuleLockConfigurationUnlockDelayArgs Empty = new RuleLockConfigurationUnlockDelayArgs(); + + /** + * The unit of time in which to measure the unlock delay. Currently, the unlock delay can be measure only in days. + * + */ + @Import(name="unlockDelayUnit", required=true) + private Output unlockDelayUnit; + + /** + * @return The unit of time in which to measure the unlock delay. Currently, the unlock delay can be measure only in days. + * + */ + public Output unlockDelayUnit() { + return this.unlockDelayUnit; + } + + /** + * The unlock delay period, measured in the unit specified for UnlockDelayUnit. + * + */ + @Import(name="unlockDelayValue", required=true) + private Output unlockDelayValue; + + /** + * @return The unlock delay period, measured in the unit specified for UnlockDelayUnit. + * + */ + public Output unlockDelayValue() { + return this.unlockDelayValue; + } + + private RuleLockConfigurationUnlockDelayArgs() {} + + private RuleLockConfigurationUnlockDelayArgs(RuleLockConfigurationUnlockDelayArgs $) { + this.unlockDelayUnit = $.unlockDelayUnit; + this.unlockDelayValue = $.unlockDelayValue; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(RuleLockConfigurationUnlockDelayArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private RuleLockConfigurationUnlockDelayArgs $; + + public Builder() { + $ = new RuleLockConfigurationUnlockDelayArgs(); + } + + public Builder(RuleLockConfigurationUnlockDelayArgs defaults) { + $ = new RuleLockConfigurationUnlockDelayArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param unlockDelayUnit The unit of time in which to measure the unlock delay. Currently, the unlock delay can be measure only in days. + * + * @return builder + * + */ + public Builder unlockDelayUnit(Output unlockDelayUnit) { + $.unlockDelayUnit = unlockDelayUnit; + return this; + } + + /** + * @param unlockDelayUnit The unit of time in which to measure the unlock delay. Currently, the unlock delay can be measure only in days. + * + * @return builder + * + */ + public Builder unlockDelayUnit(String unlockDelayUnit) { + return unlockDelayUnit(Output.of(unlockDelayUnit)); + } + + /** + * @param unlockDelayValue The unlock delay period, measured in the unit specified for UnlockDelayUnit. + * + * @return builder + * + */ + public Builder unlockDelayValue(Output unlockDelayValue) { + $.unlockDelayValue = unlockDelayValue; + return this; + } + + /** + * @param unlockDelayValue The unlock delay period, measured in the unit specified for UnlockDelayUnit. + * + * @return builder + * + */ + public Builder unlockDelayValue(Integer unlockDelayValue) { + return unlockDelayValue(Output.of(unlockDelayValue)); + } + + public RuleLockConfigurationUnlockDelayArgs build() { + $.unlockDelayUnit = Objects.requireNonNull($.unlockDelayUnit, "expected parameter 'unlockDelayUnit' to be non-null"); + $.unlockDelayValue = Objects.requireNonNull($.unlockDelayValue, "expected parameter 'unlockDelayValue' to be non-null"); + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/rbin/inputs/RuleResourceTagArgs.java b/sdk/java/src/main/java/com/pulumi/aws/rbin/inputs/RuleResourceTagArgs.java new file mode 100644 index 00000000000..51f8fe84527 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/rbin/inputs/RuleResourceTagArgs.java @@ -0,0 +1,121 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.rbin.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class RuleResourceTagArgs extends com.pulumi.resources.ResourceArgs { + + public static final RuleResourceTagArgs Empty = new RuleResourceTagArgs(); + + /** + * The tag key. + * + */ + @Import(name="resourceTagKey", required=true) + private Output resourceTagKey; + + /** + * @return The tag key. + * + */ + public Output resourceTagKey() { + return this.resourceTagKey; + } + + /** + * The tag value. + * + */ + @Import(name="resourceTagValue") + private @Nullable Output resourceTagValue; + + /** + * @return The tag value. + * + */ + public Optional> resourceTagValue() { + return Optional.ofNullable(this.resourceTagValue); + } + + private RuleResourceTagArgs() {} + + private RuleResourceTagArgs(RuleResourceTagArgs $) { + this.resourceTagKey = $.resourceTagKey; + this.resourceTagValue = $.resourceTagValue; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(RuleResourceTagArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private RuleResourceTagArgs $; + + public Builder() { + $ = new RuleResourceTagArgs(); + } + + public Builder(RuleResourceTagArgs defaults) { + $ = new RuleResourceTagArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param resourceTagKey The tag key. + * + * @return builder + * + */ + public Builder resourceTagKey(Output resourceTagKey) { + $.resourceTagKey = resourceTagKey; + return this; + } + + /** + * @param resourceTagKey The tag key. + * + * @return builder + * + */ + public Builder resourceTagKey(String resourceTagKey) { + return resourceTagKey(Output.of(resourceTagKey)); + } + + /** + * @param resourceTagValue The tag value. + * + * @return builder + * + */ + public Builder resourceTagValue(@Nullable Output resourceTagValue) { + $.resourceTagValue = resourceTagValue; + return this; + } + + /** + * @param resourceTagValue The tag value. + * + * @return builder + * + */ + public Builder resourceTagValue(String resourceTagValue) { + return resourceTagValue(Output.of(resourceTagValue)); + } + + public RuleResourceTagArgs build() { + $.resourceTagKey = Objects.requireNonNull($.resourceTagKey, "expected parameter 'resourceTagKey' to be non-null"); + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/rbin/inputs/RuleRetentionPeriodArgs.java b/sdk/java/src/main/java/com/pulumi/aws/rbin/inputs/RuleRetentionPeriodArgs.java new file mode 100644 index 00000000000..1100d763200 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/rbin/inputs/RuleRetentionPeriodArgs.java @@ -0,0 +1,121 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.rbin.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.Integer; +import java.lang.String; +import java.util.Objects; + + +public final class RuleRetentionPeriodArgs extends com.pulumi.resources.ResourceArgs { + + public static final RuleRetentionPeriodArgs Empty = new RuleRetentionPeriodArgs(); + + /** + * The unit of time in which the retention period is measured. Currently, only DAYS is supported. + * + */ + @Import(name="retentionPeriodUnit", required=true) + private Output retentionPeriodUnit; + + /** + * @return The unit of time in which the retention period is measured. Currently, only DAYS is supported. + * + */ + public Output retentionPeriodUnit() { + return this.retentionPeriodUnit; + } + + /** + * The period value for which the retention rule is to retain resources. The period is measured using the unit specified for RetentionPeriodUnit. + * + */ + @Import(name="retentionPeriodValue", required=true) + private Output retentionPeriodValue; + + /** + * @return The period value for which the retention rule is to retain resources. The period is measured using the unit specified for RetentionPeriodUnit. + * + */ + public Output retentionPeriodValue() { + return this.retentionPeriodValue; + } + + private RuleRetentionPeriodArgs() {} + + private RuleRetentionPeriodArgs(RuleRetentionPeriodArgs $) { + this.retentionPeriodUnit = $.retentionPeriodUnit; + this.retentionPeriodValue = $.retentionPeriodValue; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(RuleRetentionPeriodArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private RuleRetentionPeriodArgs $; + + public Builder() { + $ = new RuleRetentionPeriodArgs(); + } + + public Builder(RuleRetentionPeriodArgs defaults) { + $ = new RuleRetentionPeriodArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param retentionPeriodUnit The unit of time in which the retention period is measured. Currently, only DAYS is supported. + * + * @return builder + * + */ + public Builder retentionPeriodUnit(Output retentionPeriodUnit) { + $.retentionPeriodUnit = retentionPeriodUnit; + return this; + } + + /** + * @param retentionPeriodUnit The unit of time in which the retention period is measured. Currently, only DAYS is supported. + * + * @return builder + * + */ + public Builder retentionPeriodUnit(String retentionPeriodUnit) { + return retentionPeriodUnit(Output.of(retentionPeriodUnit)); + } + + /** + * @param retentionPeriodValue The period value for which the retention rule is to retain resources. The period is measured using the unit specified for RetentionPeriodUnit. + * + * @return builder + * + */ + public Builder retentionPeriodValue(Output retentionPeriodValue) { + $.retentionPeriodValue = retentionPeriodValue; + return this; + } + + /** + * @param retentionPeriodValue The period value for which the retention rule is to retain resources. The period is measured using the unit specified for RetentionPeriodUnit. + * + * @return builder + * + */ + public Builder retentionPeriodValue(Integer retentionPeriodValue) { + return retentionPeriodValue(Output.of(retentionPeriodValue)); + } + + public RuleRetentionPeriodArgs build() { + $.retentionPeriodUnit = Objects.requireNonNull($.retentionPeriodUnit, "expected parameter 'retentionPeriodUnit' to be non-null"); + $.retentionPeriodValue = Objects.requireNonNull($.retentionPeriodValue, "expected parameter 'retentionPeriodValue' to be non-null"); + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/rbin/inputs/RuleState.java b/sdk/java/src/main/java/com/pulumi/aws/rbin/inputs/RuleState.java new file mode 100644 index 00000000000..669fa2c7573 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/rbin/inputs/RuleState.java @@ -0,0 +1,408 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.rbin.inputs; + +import com.pulumi.aws.rbin.inputs.RuleLockConfigurationArgs; +import com.pulumi.aws.rbin.inputs.RuleResourceTagArgs; +import com.pulumi.aws.rbin.inputs.RuleRetentionPeriodArgs; +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.String; +import java.util.List; +import java.util.Map; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class RuleState extends com.pulumi.resources.ResourceArgs { + + public static final RuleState Empty = new RuleState(); + + @Import(name="arn") + private @Nullable Output arn; + + public Optional> arn() { + return Optional.ofNullable(this.arn); + } + + /** + * The retention rule description. + * + */ + @Import(name="description") + private @Nullable Output description; + + /** + * @return The retention rule description. + * + */ + public Optional> description() { + return Optional.ofNullable(this.description); + } + + /** + * Information about the retention rule lock configuration. See `lock_configuration` below. + * + */ + @Import(name="lockConfiguration") + private @Nullable Output lockConfiguration; + + /** + * @return Information about the retention rule lock configuration. See `lock_configuration` below. + * + */ + public Optional> lockConfiguration() { + return Optional.ofNullable(this.lockConfiguration); + } + + /** + * (Timestamp) The date and time at which the unlock delay is set to expire. Only returned for retention rules that have been unlocked and that are still within the unlock delay period. + * + */ + @Import(name="lockEndTime") + private @Nullable Output lockEndTime; + + /** + * @return (Timestamp) The date and time at which the unlock delay is set to expire. Only returned for retention rules that have been unlocked and that are still within the unlock delay period. + * + */ + public Optional> lockEndTime() { + return Optional.ofNullable(this.lockEndTime); + } + + /** + * (Optional) The lock state of the retention rules to list. Only retention rules with the specified lock state are returned. Valid values are `locked`, `pending_unlock`, `unlocked`. + * + */ + @Import(name="lockState") + private @Nullable Output lockState; + + /** + * @return (Optional) The lock state of the retention rules to list. Only retention rules with the specified lock state are returned. Valid values are `locked`, `pending_unlock`, `unlocked`. + * + */ + public Optional> lockState() { + return Optional.ofNullable(this.lockState); + } + + /** + * Specifies the resource tags to use to identify resources that are to be retained by a tag-level retention rule. See `resource_tags` below. + * + */ + @Import(name="resourceTags") + private @Nullable Output> resourceTags; + + /** + * @return Specifies the resource tags to use to identify resources that are to be retained by a tag-level retention rule. See `resource_tags` below. + * + */ + public Optional>> resourceTags() { + return Optional.ofNullable(this.resourceTags); + } + + /** + * The resource type to be retained by the retention rule. Valid values are `EBS_SNAPSHOT` and `EC2_IMAGE`. + * + */ + @Import(name="resourceType") + private @Nullable Output resourceType; + + /** + * @return The resource type to be retained by the retention rule. Valid values are `EBS_SNAPSHOT` and `EC2_IMAGE`. + * + */ + public Optional> resourceType() { + return Optional.ofNullable(this.resourceType); + } + + /** + * Information about the retention period for which the retention rule is to retain resources. See `retention_period` below. + * + */ + @Import(name="retentionPeriod") + private @Nullable Output retentionPeriod; + + /** + * @return Information about the retention period for which the retention rule is to retain resources. See `retention_period` below. + * + */ + public Optional> retentionPeriod() { + return Optional.ofNullable(this.retentionPeriod); + } + + /** + * (String) The state of the retention rule. Only retention rules that are in the `available` state retain resources. Valid values include `pending` and `available`. + * + */ + @Import(name="status") + private @Nullable Output status; + + /** + * @return (String) The state of the retention rule. Only retention rules that are in the `available` state retain resources. Valid values include `pending` and `available`. + * + */ + public Optional> status() { + return Optional.ofNullable(this.status); + } + + @Import(name="tags") + private @Nullable Output> tags; + + public Optional>> tags() { + return Optional.ofNullable(this.tags); + } + + @Import(name="tagsAll") + private @Nullable Output> tagsAll; + + public Optional>> tagsAll() { + return Optional.ofNullable(this.tagsAll); + } + + private RuleState() {} + + private RuleState(RuleState $) { + this.arn = $.arn; + this.description = $.description; + this.lockConfiguration = $.lockConfiguration; + this.lockEndTime = $.lockEndTime; + this.lockState = $.lockState; + this.resourceTags = $.resourceTags; + this.resourceType = $.resourceType; + this.retentionPeriod = $.retentionPeriod; + this.status = $.status; + this.tags = $.tags; + this.tagsAll = $.tagsAll; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(RuleState defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private RuleState $; + + public Builder() { + $ = new RuleState(); + } + + public Builder(RuleState defaults) { + $ = new RuleState(Objects.requireNonNull(defaults)); + } + + public Builder arn(@Nullable Output arn) { + $.arn = arn; + return this; + } + + public Builder arn(String arn) { + return arn(Output.of(arn)); + } + + /** + * @param description The retention rule description. + * + * @return builder + * + */ + public Builder description(@Nullable Output description) { + $.description = description; + return this; + } + + /** + * @param description The retention rule description. + * + * @return builder + * + */ + public Builder description(String description) { + return description(Output.of(description)); + } + + /** + * @param lockConfiguration Information about the retention rule lock configuration. See `lock_configuration` below. + * + * @return builder + * + */ + public Builder lockConfiguration(@Nullable Output lockConfiguration) { + $.lockConfiguration = lockConfiguration; + return this; + } + + /** + * @param lockConfiguration Information about the retention rule lock configuration. See `lock_configuration` below. + * + * @return builder + * + */ + public Builder lockConfiguration(RuleLockConfigurationArgs lockConfiguration) { + return lockConfiguration(Output.of(lockConfiguration)); + } + + /** + * @param lockEndTime (Timestamp) The date and time at which the unlock delay is set to expire. Only returned for retention rules that have been unlocked and that are still within the unlock delay period. + * + * @return builder + * + */ + public Builder lockEndTime(@Nullable Output lockEndTime) { + $.lockEndTime = lockEndTime; + return this; + } + + /** + * @param lockEndTime (Timestamp) The date and time at which the unlock delay is set to expire. Only returned for retention rules that have been unlocked and that are still within the unlock delay period. + * + * @return builder + * + */ + public Builder lockEndTime(String lockEndTime) { + return lockEndTime(Output.of(lockEndTime)); + } + + /** + * @param lockState (Optional) The lock state of the retention rules to list. Only retention rules with the specified lock state are returned. Valid values are `locked`, `pending_unlock`, `unlocked`. + * + * @return builder + * + */ + public Builder lockState(@Nullable Output lockState) { + $.lockState = lockState; + return this; + } + + /** + * @param lockState (Optional) The lock state of the retention rules to list. Only retention rules with the specified lock state are returned. Valid values are `locked`, `pending_unlock`, `unlocked`. + * + * @return builder + * + */ + public Builder lockState(String lockState) { + return lockState(Output.of(lockState)); + } + + /** + * @param resourceTags Specifies the resource tags to use to identify resources that are to be retained by a tag-level retention rule. See `resource_tags` below. + * + * @return builder + * + */ + public Builder resourceTags(@Nullable Output> resourceTags) { + $.resourceTags = resourceTags; + return this; + } + + /** + * @param resourceTags Specifies the resource tags to use to identify resources that are to be retained by a tag-level retention rule. See `resource_tags` below. + * + * @return builder + * + */ + public Builder resourceTags(List resourceTags) { + return resourceTags(Output.of(resourceTags)); + } + + /** + * @param resourceTags Specifies the resource tags to use to identify resources that are to be retained by a tag-level retention rule. See `resource_tags` below. + * + * @return builder + * + */ + public Builder resourceTags(RuleResourceTagArgs... resourceTags) { + return resourceTags(List.of(resourceTags)); + } + + /** + * @param resourceType The resource type to be retained by the retention rule. Valid values are `EBS_SNAPSHOT` and `EC2_IMAGE`. + * + * @return builder + * + */ + public Builder resourceType(@Nullable Output resourceType) { + $.resourceType = resourceType; + return this; + } + + /** + * @param resourceType The resource type to be retained by the retention rule. Valid values are `EBS_SNAPSHOT` and `EC2_IMAGE`. + * + * @return builder + * + */ + public Builder resourceType(String resourceType) { + return resourceType(Output.of(resourceType)); + } + + /** + * @param retentionPeriod Information about the retention period for which the retention rule is to retain resources. See `retention_period` below. + * + * @return builder + * + */ + public Builder retentionPeriod(@Nullable Output retentionPeriod) { + $.retentionPeriod = retentionPeriod; + return this; + } + + /** + * @param retentionPeriod Information about the retention period for which the retention rule is to retain resources. See `retention_period` below. + * + * @return builder + * + */ + public Builder retentionPeriod(RuleRetentionPeriodArgs retentionPeriod) { + return retentionPeriod(Output.of(retentionPeriod)); + } + + /** + * @param status (String) The state of the retention rule. Only retention rules that are in the `available` state retain resources. Valid values include `pending` and `available`. + * + * @return builder + * + */ + public Builder status(@Nullable Output status) { + $.status = status; + return this; + } + + /** + * @param status (String) The state of the retention rule. Only retention rules that are in the `available` state retain resources. Valid values include `pending` and `available`. + * + * @return builder + * + */ + public Builder status(String status) { + return status(Output.of(status)); + } + + public Builder tags(@Nullable Output> tags) { + $.tags = tags; + return this; + } + + public Builder tags(Map tags) { + return tags(Output.of(tags)); + } + + public Builder tagsAll(@Nullable Output> tagsAll) { + $.tagsAll = tagsAll; + return this; + } + + public Builder tagsAll(Map tagsAll) { + return tagsAll(Output.of(tagsAll)); + } + + public RuleState build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/rbin/outputs/RuleLockConfiguration.java b/sdk/java/src/main/java/com/pulumi/aws/rbin/outputs/RuleLockConfiguration.java new file mode 100644 index 00000000000..6a01eaf0615 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/rbin/outputs/RuleLockConfiguration.java @@ -0,0 +1,54 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.rbin.outputs; + +import com.pulumi.aws.rbin.outputs.RuleLockConfigurationUnlockDelay; +import com.pulumi.core.annotations.CustomType; +import java.util.Objects; + +@CustomType +public final class RuleLockConfiguration { + /** + * @return Information about the retention rule unlock delay. See `unlock_delay` below. + * + */ + private RuleLockConfigurationUnlockDelay unlockDelay; + + private RuleLockConfiguration() {} + /** + * @return Information about the retention rule unlock delay. See `unlock_delay` below. + * + */ + public RuleLockConfigurationUnlockDelay unlockDelay() { + return this.unlockDelay; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(RuleLockConfiguration defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private RuleLockConfigurationUnlockDelay unlockDelay; + public Builder() {} + public Builder(RuleLockConfiguration defaults) { + Objects.requireNonNull(defaults); + this.unlockDelay = defaults.unlockDelay; + } + + @CustomType.Setter + public Builder unlockDelay(RuleLockConfigurationUnlockDelay unlockDelay) { + this.unlockDelay = Objects.requireNonNull(unlockDelay); + return this; + } + public RuleLockConfiguration build() { + final var o = new RuleLockConfiguration(); + o.unlockDelay = unlockDelay; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/rbin/outputs/RuleLockConfigurationUnlockDelay.java b/sdk/java/src/main/java/com/pulumi/aws/rbin/outputs/RuleLockConfigurationUnlockDelay.java new file mode 100644 index 00000000000..40df24fdafc --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/rbin/outputs/RuleLockConfigurationUnlockDelay.java @@ -0,0 +1,75 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.rbin.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.Integer; +import java.lang.String; +import java.util.Objects; + +@CustomType +public final class RuleLockConfigurationUnlockDelay { + /** + * @return The unit of time in which to measure the unlock delay. Currently, the unlock delay can be measure only in days. + * + */ + private String unlockDelayUnit; + /** + * @return The unlock delay period, measured in the unit specified for UnlockDelayUnit. + * + */ + private Integer unlockDelayValue; + + private RuleLockConfigurationUnlockDelay() {} + /** + * @return The unit of time in which to measure the unlock delay. Currently, the unlock delay can be measure only in days. + * + */ + public String unlockDelayUnit() { + return this.unlockDelayUnit; + } + /** + * @return The unlock delay period, measured in the unit specified for UnlockDelayUnit. + * + */ + public Integer unlockDelayValue() { + return this.unlockDelayValue; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(RuleLockConfigurationUnlockDelay defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private String unlockDelayUnit; + private Integer unlockDelayValue; + public Builder() {} + public Builder(RuleLockConfigurationUnlockDelay defaults) { + Objects.requireNonNull(defaults); + this.unlockDelayUnit = defaults.unlockDelayUnit; + this.unlockDelayValue = defaults.unlockDelayValue; + } + + @CustomType.Setter + public Builder unlockDelayUnit(String unlockDelayUnit) { + this.unlockDelayUnit = Objects.requireNonNull(unlockDelayUnit); + return this; + } + @CustomType.Setter + public Builder unlockDelayValue(Integer unlockDelayValue) { + this.unlockDelayValue = Objects.requireNonNull(unlockDelayValue); + return this; + } + public RuleLockConfigurationUnlockDelay build() { + final var o = new RuleLockConfigurationUnlockDelay(); + o.unlockDelayUnit = unlockDelayUnit; + o.unlockDelayValue = unlockDelayValue; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/rbin/outputs/RuleResourceTag.java b/sdk/java/src/main/java/com/pulumi/aws/rbin/outputs/RuleResourceTag.java new file mode 100644 index 00000000000..f7445493617 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/rbin/outputs/RuleResourceTag.java @@ -0,0 +1,76 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.rbin.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + +@CustomType +public final class RuleResourceTag { + /** + * @return The tag key. + * + */ + private String resourceTagKey; + /** + * @return The tag value. + * + */ + private @Nullable String resourceTagValue; + + private RuleResourceTag() {} + /** + * @return The tag key. + * + */ + public String resourceTagKey() { + return this.resourceTagKey; + } + /** + * @return The tag value. + * + */ + public Optional resourceTagValue() { + return Optional.ofNullable(this.resourceTagValue); + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(RuleResourceTag defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private String resourceTagKey; + private @Nullable String resourceTagValue; + public Builder() {} + public Builder(RuleResourceTag defaults) { + Objects.requireNonNull(defaults); + this.resourceTagKey = defaults.resourceTagKey; + this.resourceTagValue = defaults.resourceTagValue; + } + + @CustomType.Setter + public Builder resourceTagKey(String resourceTagKey) { + this.resourceTagKey = Objects.requireNonNull(resourceTagKey); + return this; + } + @CustomType.Setter + public Builder resourceTagValue(@Nullable String resourceTagValue) { + this.resourceTagValue = resourceTagValue; + return this; + } + public RuleResourceTag build() { + final var o = new RuleResourceTag(); + o.resourceTagKey = resourceTagKey; + o.resourceTagValue = resourceTagValue; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/rbin/outputs/RuleRetentionPeriod.java b/sdk/java/src/main/java/com/pulumi/aws/rbin/outputs/RuleRetentionPeriod.java new file mode 100644 index 00000000000..1d60cb45330 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/rbin/outputs/RuleRetentionPeriod.java @@ -0,0 +1,75 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.rbin.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.Integer; +import java.lang.String; +import java.util.Objects; + +@CustomType +public final class RuleRetentionPeriod { + /** + * @return The unit of time in which the retention period is measured. Currently, only DAYS is supported. + * + */ + private String retentionPeriodUnit; + /** + * @return The period value for which the retention rule is to retain resources. The period is measured using the unit specified for RetentionPeriodUnit. + * + */ + private Integer retentionPeriodValue; + + private RuleRetentionPeriod() {} + /** + * @return The unit of time in which the retention period is measured. Currently, only DAYS is supported. + * + */ + public String retentionPeriodUnit() { + return this.retentionPeriodUnit; + } + /** + * @return The period value for which the retention rule is to retain resources. The period is measured using the unit specified for RetentionPeriodUnit. + * + */ + public Integer retentionPeriodValue() { + return this.retentionPeriodValue; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(RuleRetentionPeriod defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private String retentionPeriodUnit; + private Integer retentionPeriodValue; + public Builder() {} + public Builder(RuleRetentionPeriod defaults) { + Objects.requireNonNull(defaults); + this.retentionPeriodUnit = defaults.retentionPeriodUnit; + this.retentionPeriodValue = defaults.retentionPeriodValue; + } + + @CustomType.Setter + public Builder retentionPeriodUnit(String retentionPeriodUnit) { + this.retentionPeriodUnit = Objects.requireNonNull(retentionPeriodUnit); + return this; + } + @CustomType.Setter + public Builder retentionPeriodValue(Integer retentionPeriodValue) { + this.retentionPeriodValue = Objects.requireNonNull(retentionPeriodValue); + return this; + } + public RuleRetentionPeriod build() { + final var o = new RuleRetentionPeriod(); + o.retentionPeriodUnit = retentionPeriodUnit; + o.retentionPeriodValue = retentionPeriodValue; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/rds/Cluster.java b/sdk/java/src/main/java/com/pulumi/aws/rds/Cluster.java index ee02f580e82..69a2c17cf1d 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/rds/Cluster.java +++ b/sdk/java/src/main/java/com/pulumi/aws/rds/Cluster.java @@ -6,6 +6,7 @@ import com.pulumi.aws.Utilities; import com.pulumi.aws.rds.ClusterArgs; import com.pulumi.aws.rds.inputs.ClusterState; +import com.pulumi.aws.rds.outputs.ClusterMasterUserSecret; import com.pulumi.aws.rds.outputs.ClusterRestoreToPointInTime; import com.pulumi.aws.rds.outputs.ClusterS3Import; import com.pulumi.aws.rds.outputs.ClusterScalingConfiguration; @@ -291,6 +292,85 @@ * } * } * ``` + * ### RDS/Aurora Managed Master Passwords via Secrets Manager, default KMS Key + * + * > More information about RDS/Aurora Aurora integrates with Secrets Manager to manage master user passwords for your DB clusters can be found in the [RDS User Guide](https://aws.amazon.com/about-aws/whats-new/2022/12/amazon-rds-integration-aws-secrets-manager/) and [Aurora User Guide](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/rds-secrets-manager.html). + * + * You can specify the `manage_master_user_password` attribute to enable managing the master password with Secrets Manager. You can also update an existing cluster to use Secrets Manager by specify the `manage_master_user_password` attribute and removing the `master_password` attribute (removal is required). + * ```java + * package generated_program; + * + * import com.pulumi.Context; + * import com.pulumi.Pulumi; + * import com.pulumi.core.Output; + * import com.pulumi.aws.rds.Cluster; + * import com.pulumi.aws.rds.ClusterArgs; + * import java.util.List; + * import java.util.ArrayList; + * import java.util.Map; + * import java.io.File; + * import java.nio.file.Files; + * import java.nio.file.Paths; + * + * public class App { + * public static void main(String[] args) { + * Pulumi.run(App::stack); + * } + * + * public static void stack(Context ctx) { + * var test = new Cluster("test", ClusterArgs.builder() + * .clusterIdentifier("example") + * .databaseName("test") + * .manageMasterUserPassword(true) + * .masterUsername("test") + * .build()); + * + * } + * } + * ``` + * ### RDS/Aurora Managed Master Passwords via Secrets Manager, specific KMS Key + * + * > More information about RDS/Aurora Aurora integrates with Secrets Manager to manage master user passwords for your DB clusters can be found in the [RDS User Guide](https://aws.amazon.com/about-aws/whats-new/2022/12/amazon-rds-integration-aws-secrets-manager/) and [Aurora User Guide](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/rds-secrets-manager.html). + * + * You can specify the `master_user_secret_kms_key_id` attribute to specify a specific KMS Key. + * ```java + * package generated_program; + * + * import com.pulumi.Context; + * import com.pulumi.Pulumi; + * import com.pulumi.core.Output; + * import com.pulumi.aws.kms.Key; + * import com.pulumi.aws.kms.KeyArgs; + * import com.pulumi.aws.rds.Cluster; + * import com.pulumi.aws.rds.ClusterArgs; + * import java.util.List; + * import java.util.ArrayList; + * import java.util.Map; + * import java.io.File; + * import java.nio.file.Files; + * import java.nio.file.Paths; + * + * public class App { + * public static void main(String[] args) { + * Pulumi.run(App::stack); + * } + * + * public static void stack(Context ctx) { + * var example = new Key("example", KeyArgs.builder() + * .description("Example KMS Key") + * .build()); + * + * var test = new Cluster("test", ClusterArgs.builder() + * .clusterIdentifier("example") + * .databaseName("test") + * .manageMasterUserPassword(true) + * .masterUsername("test") + * .masterUserSecretKmsKeyId(example.keyId()) + * .build()); + * + * } + * } + * ``` * ### Global Cluster Restored From Snapshot * ```java * package generated_program; @@ -813,19 +893,61 @@ public Output kmsKeyId() { return this.kmsKeyId; } /** - * Password for the master DB user. Note that this may show up in logs, and it will be stored in the state file. Please refer to the [RDS Naming Constraints](http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Limits.html#RDS_Limits.Constraints) + * Set to true to allow RDS to manage the master user password in Secrets Manager. Cannot be set if `master_password` is provided. + * + */ + @Export(name="manageMasterUserPassword", refs={Boolean.class}, tree="[0]") + private Output manageMasterUserPassword; + + /** + * @return Set to true to allow RDS to manage the master user password in Secrets Manager. Cannot be set if `master_password` is provided. + * + */ + public Output> manageMasterUserPassword() { + return Codegen.optional(this.manageMasterUserPassword); + } + /** + * Password for the master DB user. Note that this may show up in logs, and it will be stored in the state file. Please refer to the [RDS Naming Constraints](http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Limits.html#RDS_Limits.Constraints). Cannot be set if `manage_master_user_password` is set to `true`. * */ @Export(name="masterPassword", refs={String.class}, tree="[0]") private Output masterPassword; /** - * @return Password for the master DB user. Note that this may show up in logs, and it will be stored in the state file. Please refer to the [RDS Naming Constraints](http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Limits.html#RDS_Limits.Constraints) + * @return Password for the master DB user. Note that this may show up in logs, and it will be stored in the state file. Please refer to the [RDS Naming Constraints](http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Limits.html#RDS_Limits.Constraints). Cannot be set if `manage_master_user_password` is set to `true`. * */ public Output> masterPassword() { return Codegen.optional(this.masterPassword); } + /** + * The Amazon Web Services KMS key identifier is the key ARN, key ID, alias ARN, or alias name for the KMS key. To use a KMS key in a different Amazon Web Services account, specify the key ARN or alias ARN. If not specified, the default KMS key for your Amazon Web Services account is used. + * + */ + @Export(name="masterUserSecretKmsKeyId", refs={String.class}, tree="[0]") + private Output masterUserSecretKmsKeyId; + + /** + * @return The Amazon Web Services KMS key identifier is the key ARN, key ID, alias ARN, or alias name for the KMS key. To use a KMS key in a different Amazon Web Services account, specify the key ARN or alias ARN. If not specified, the default KMS key for your Amazon Web Services account is used. + * + */ + public Output masterUserSecretKmsKeyId() { + return this.masterUserSecretKmsKeyId; + } + /** + * A block that specifies the master user secret. Only available when `manage_master_user_password` is set to true. Documented below. + * + */ + @Export(name="masterUserSecrets", refs={List.class,ClusterMasterUserSecret.class}, tree="[0,1]") + private Output> masterUserSecrets; + + /** + * @return A block that specifies the master user secret. Only available when `manage_master_user_password` is set to true. Documented below. + * + */ + public Output> masterUserSecrets() { + return this.masterUserSecrets; + } /** * Username for the master DB user. Please refer to the [RDS Naming Constraints](http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Limits.html#RDS_Limits.Constraints). This argument does not support in-place updates and cannot be changed during a restore from snapshot. * diff --git a/sdk/java/src/main/java/com/pulumi/aws/rds/ClusterArgs.java b/sdk/java/src/main/java/com/pulumi/aws/rds/ClusterArgs.java index 3167d383ff8..ce0c8a65c8d 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/rds/ClusterArgs.java +++ b/sdk/java/src/main/java/com/pulumi/aws/rds/ClusterArgs.java @@ -447,20 +447,50 @@ public Optional> kmsKeyId() { } /** - * Password for the master DB user. Note that this may show up in logs, and it will be stored in the state file. Please refer to the [RDS Naming Constraints](http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Limits.html#RDS_Limits.Constraints) + * Set to true to allow RDS to manage the master user password in Secrets Manager. Cannot be set if `master_password` is provided. + * + */ + @Import(name="manageMasterUserPassword") + private @Nullable Output manageMasterUserPassword; + + /** + * @return Set to true to allow RDS to manage the master user password in Secrets Manager. Cannot be set if `master_password` is provided. + * + */ + public Optional> manageMasterUserPassword() { + return Optional.ofNullable(this.manageMasterUserPassword); + } + + /** + * Password for the master DB user. Note that this may show up in logs, and it will be stored in the state file. Please refer to the [RDS Naming Constraints](http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Limits.html#RDS_Limits.Constraints). Cannot be set if `manage_master_user_password` is set to `true`. * */ @Import(name="masterPassword") private @Nullable Output masterPassword; /** - * @return Password for the master DB user. Note that this may show up in logs, and it will be stored in the state file. Please refer to the [RDS Naming Constraints](http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Limits.html#RDS_Limits.Constraints) + * @return Password for the master DB user. Note that this may show up in logs, and it will be stored in the state file. Please refer to the [RDS Naming Constraints](http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Limits.html#RDS_Limits.Constraints). Cannot be set if `manage_master_user_password` is set to `true`. * */ public Optional> masterPassword() { return Optional.ofNullable(this.masterPassword); } + /** + * The Amazon Web Services KMS key identifier is the key ARN, key ID, alias ARN, or alias name for the KMS key. To use a KMS key in a different Amazon Web Services account, specify the key ARN or alias ARN. If not specified, the default KMS key for your Amazon Web Services account is used. + * + */ + @Import(name="masterUserSecretKmsKeyId") + private @Nullable Output masterUserSecretKmsKeyId; + + /** + * @return The Amazon Web Services KMS key identifier is the key ARN, key ID, alias ARN, or alias name for the KMS key. To use a KMS key in a different Amazon Web Services account, specify the key ARN or alias ARN. If not specified, the default KMS key for your Amazon Web Services account is used. + * + */ + public Optional> masterUserSecretKmsKeyId() { + return Optional.ofNullable(this.masterUserSecretKmsKeyId); + } + /** * Username for the master DB user. Please refer to the [RDS Naming Constraints](http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Limits.html#RDS_Limits.Constraints). This argument does not support in-place updates and cannot be changed during a restore from snapshot. * @@ -739,7 +769,9 @@ private ClusterArgs(ClusterArgs $) { this.iamRoles = $.iamRoles; this.iops = $.iops; this.kmsKeyId = $.kmsKeyId; + this.manageMasterUserPassword = $.manageMasterUserPassword; this.masterPassword = $.masterPassword; + this.masterUserSecretKmsKeyId = $.masterUserSecretKmsKeyId; this.masterUsername = $.masterUsername; this.networkType = $.networkType; this.port = $.port; @@ -1446,7 +1478,28 @@ public Builder kmsKeyId(String kmsKeyId) { } /** - * @param masterPassword Password for the master DB user. Note that this may show up in logs, and it will be stored in the state file. Please refer to the [RDS Naming Constraints](http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Limits.html#RDS_Limits.Constraints) + * @param manageMasterUserPassword Set to true to allow RDS to manage the master user password in Secrets Manager. Cannot be set if `master_password` is provided. + * + * @return builder + * + */ + public Builder manageMasterUserPassword(@Nullable Output manageMasterUserPassword) { + $.manageMasterUserPassword = manageMasterUserPassword; + return this; + } + + /** + * @param manageMasterUserPassword Set to true to allow RDS to manage the master user password in Secrets Manager. Cannot be set if `master_password` is provided. + * + * @return builder + * + */ + public Builder manageMasterUserPassword(Boolean manageMasterUserPassword) { + return manageMasterUserPassword(Output.of(manageMasterUserPassword)); + } + + /** + * @param masterPassword Password for the master DB user. Note that this may show up in logs, and it will be stored in the state file. Please refer to the [RDS Naming Constraints](http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Limits.html#RDS_Limits.Constraints). Cannot be set if `manage_master_user_password` is set to `true`. * * @return builder * @@ -1457,7 +1510,7 @@ public Builder masterPassword(@Nullable Output masterPassword) { } /** - * @param masterPassword Password for the master DB user. Note that this may show up in logs, and it will be stored in the state file. Please refer to the [RDS Naming Constraints](http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Limits.html#RDS_Limits.Constraints) + * @param masterPassword Password for the master DB user. Note that this may show up in logs, and it will be stored in the state file. Please refer to the [RDS Naming Constraints](http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Limits.html#RDS_Limits.Constraints). Cannot be set if `manage_master_user_password` is set to `true`. * * @return builder * @@ -1466,6 +1519,27 @@ public Builder masterPassword(String masterPassword) { return masterPassword(Output.of(masterPassword)); } + /** + * @param masterUserSecretKmsKeyId The Amazon Web Services KMS key identifier is the key ARN, key ID, alias ARN, or alias name for the KMS key. To use a KMS key in a different Amazon Web Services account, specify the key ARN or alias ARN. If not specified, the default KMS key for your Amazon Web Services account is used. + * + * @return builder + * + */ + public Builder masterUserSecretKmsKeyId(@Nullable Output masterUserSecretKmsKeyId) { + $.masterUserSecretKmsKeyId = masterUserSecretKmsKeyId; + return this; + } + + /** + * @param masterUserSecretKmsKeyId The Amazon Web Services KMS key identifier is the key ARN, key ID, alias ARN, or alias name for the KMS key. To use a KMS key in a different Amazon Web Services account, specify the key ARN or alias ARN. If not specified, the default KMS key for your Amazon Web Services account is used. + * + * @return builder + * + */ + public Builder masterUserSecretKmsKeyId(String masterUserSecretKmsKeyId) { + return masterUserSecretKmsKeyId(Output.of(masterUserSecretKmsKeyId)); + } + /** * @param masterUsername Username for the master DB user. Please refer to the [RDS Naming Constraints](http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Limits.html#RDS_Limits.Constraints). This argument does not support in-place updates and cannot be changed during a restore from snapshot. * diff --git a/sdk/java/src/main/java/com/pulumi/aws/rds/Instance.java b/sdk/java/src/main/java/com/pulumi/aws/rds/Instance.java index 2213ba4bad4..a84a68cc3a8 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/rds/Instance.java +++ b/sdk/java/src/main/java/com/pulumi/aws/rds/Instance.java @@ -8,6 +8,7 @@ import com.pulumi.aws.rds.inputs.InstanceState; import com.pulumi.aws.rds.outputs.InstanceBlueGreenUpdate; import com.pulumi.aws.rds.outputs.InstanceListenerEndpoint; +import com.pulumi.aws.rds.outputs.InstanceMasterUserSecret; import com.pulumi.aws.rds.outputs.InstanceRestoreToPointInTime; import com.pulumi.aws.rds.outputs.InstanceS3Import; import com.pulumi.core.Output; @@ -129,6 +130,93 @@ * } * } * ``` + * ### Managed Master Passwords via Secrets Manager, default KMS Key + * + * > More information about RDS/Aurora Aurora integrates with Secrets Manager to manage master user passwords for your DB clusters can be found in the [RDS User Guide](https://aws.amazon.com/about-aws/whats-new/2022/12/amazon-rds-integration-aws-secrets-manager/) and [Aurora User Guide](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/rds-secrets-manager.html). + * + * You can specify the `manage_master_user_password` attribute to enable managing the master password with Secrets Manager. You can also update an existing cluster to use Secrets Manager by specify the `manage_master_user_password` attribute and removing the `password` attribute (removal is required). + * ```java + * package generated_program; + * + * import com.pulumi.Context; + * import com.pulumi.Pulumi; + * import com.pulumi.core.Output; + * import com.pulumi.aws.rds.Instance; + * import com.pulumi.aws.rds.InstanceArgs; + * import java.util.List; + * import java.util.ArrayList; + * import java.util.Map; + * import java.io.File; + * import java.nio.file.Files; + * import java.nio.file.Paths; + * + * public class App { + * public static void main(String[] args) { + * Pulumi.run(App::stack); + * } + * + * public static void stack(Context ctx) { + * var default_ = new Instance("default", InstanceArgs.builder() + * .allocatedStorage(10) + * .dbName("mydb") + * .engine("mysql") + * .engineVersion("5.7") + * .instanceClass("db.t3.micro") + * .manageMasterUserPassword(true) + * .parameterGroupName("default.mysql5.7") + * .username("foo") + * .build()); + * + * } + * } + * ``` + * ### Managed Master Passwords via Secrets Manager, specific KMS Key + * + * > More information about RDS/Aurora Aurora integrates with Secrets Manager to manage master user passwords for your DB clusters can be found in the [RDS User Guide](https://aws.amazon.com/about-aws/whats-new/2022/12/amazon-rds-integration-aws-secrets-manager/) and [Aurora User Guide](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/rds-secrets-manager.html). + * + * You can specify the `master_user_secret_kms_key_id` attribute to specify a specific KMS Key. + * ```java + * package generated_program; + * + * import com.pulumi.Context; + * import com.pulumi.Pulumi; + * import com.pulumi.core.Output; + * import com.pulumi.aws.kms.Key; + * import com.pulumi.aws.kms.KeyArgs; + * import com.pulumi.aws.rds.Instance; + * import com.pulumi.aws.rds.InstanceArgs; + * import java.util.List; + * import java.util.ArrayList; + * import java.util.Map; + * import java.io.File; + * import java.nio.file.Files; + * import java.nio.file.Paths; + * + * public class App { + * public static void main(String[] args) { + * Pulumi.run(App::stack); + * } + * + * public static void stack(Context ctx) { + * var example = new Key("example", KeyArgs.builder() + * .description("Example KMS Key") + * .build()); + * + * var default_ = new Instance("default", InstanceArgs.builder() + * .allocatedStorage(10) + * .dbName("mydb") + * .engine("mysql") + * .engineVersion("5.7") + * .instanceClass("db.t3.micro") + * .manageMasterUserPassword(true) + * .masterUserSecretKmsKeyId(example.keyId()) + * .username("foo") + * .parameterGroupName("default.mysql5.7") + * .build()); + * + * } + * } + * ``` * * ## Import * @@ -765,6 +853,48 @@ public Output> listenerEndpoints() { public Output maintenanceWindow() { return this.maintenanceWindow; } + /** + * Set to true to allow RDS to manage the master user password in Secrets Manager. Cannot be set if `password` is provided. + * + */ + @Export(name="manageMasterUserPassword", refs={Boolean.class}, tree="[0]") + private Output manageMasterUserPassword; + + /** + * @return Set to true to allow RDS to manage the master user password in Secrets Manager. Cannot be set if `password` is provided. + * + */ + public Output> manageMasterUserPassword() { + return Codegen.optional(this.manageMasterUserPassword); + } + /** + * The Amazon Web Services KMS key identifier is the key ARN, key ID, alias ARN, or alias name for the KMS key. To use a KMS key in a different Amazon Web Services account, specify the key ARN or alias ARN. If not specified, the default KMS key for your Amazon Web Services account is used. + * + */ + @Export(name="masterUserSecretKmsKeyId", refs={String.class}, tree="[0]") + private Output masterUserSecretKmsKeyId; + + /** + * @return The Amazon Web Services KMS key identifier is the key ARN, key ID, alias ARN, or alias name for the KMS key. To use a KMS key in a different Amazon Web Services account, specify the key ARN or alias ARN. If not specified, the default KMS key for your Amazon Web Services account is used. + * + */ + public Output masterUserSecretKmsKeyId() { + return this.masterUserSecretKmsKeyId; + } + /** + * A block that specifies the master user secret. Only available when `manage_master_user_password` is set to true. Documented below. + * + */ + @Export(name="masterUserSecrets", refs={List.class,InstanceMasterUserSecret.class}, tree="[0,1]") + private Output> masterUserSecrets; + + /** + * @return A block that specifies the master user secret. Only available when `manage_master_user_password` is set to true. Documented below. + * + */ + public Output> masterUserSecrets() { + return this.masterUserSecrets; + } /** * When configured, the upper limit to which Amazon RDS can automatically scale the storage of the DB instance. Configuring this will automatically ignore differences to `allocated_storage`. Must be greater than or equal to `allocated_storage` or `0` to disable Storage Autoscaling. * @@ -910,18 +1040,18 @@ public Output parameterGroupName() { return this.parameterGroupName; } /** - * (Required unless a `snapshot_identifier` or `replicate_source_db` - * is provided) Password for the master DB user. Note that this may show up in - * logs, and it will be stored in the state file. + * (Required unless `manage_master_user_password` is set to true or unless a `snapshot_identifier` or `replicate_source_db` + * is provided or `manage_master_user_password` is set.) Password for the master DB user. Note that this may show up in + * logs, and it will be stored in the state file. Cannot be set if `manage_master_user_password` is set to `true`. * */ @Export(name="password", refs={String.class}, tree="[0]") private Output password; /** - * @return (Required unless a `snapshot_identifier` or `replicate_source_db` - * is provided) Password for the master DB user. Note that this may show up in - * logs, and it will be stored in the state file. + * @return (Required unless `manage_master_user_password` is set to true or unless a `snapshot_identifier` or `replicate_source_db` + * is provided or `manage_master_user_password` is set.) Password for the master DB user. Note that this may show up in + * logs, and it will be stored in the state file. Cannot be set if `manage_master_user_password` is set to `true`. * */ public Output> password() { diff --git a/sdk/java/src/main/java/com/pulumi/aws/rds/InstanceArgs.java b/sdk/java/src/main/java/com/pulumi/aws/rds/InstanceArgs.java index 5bbb1f49892..ec711cb04fc 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/rds/InstanceArgs.java +++ b/sdk/java/src/main/java/com/pulumi/aws/rds/InstanceArgs.java @@ -582,6 +582,36 @@ public Optional> maintenanceWindow() { return Optional.ofNullable(this.maintenanceWindow); } + /** + * Set to true to allow RDS to manage the master user password in Secrets Manager. Cannot be set if `password` is provided. + * + */ + @Import(name="manageMasterUserPassword") + private @Nullable Output manageMasterUserPassword; + + /** + * @return Set to true to allow RDS to manage the master user password in Secrets Manager. Cannot be set if `password` is provided. + * + */ + public Optional> manageMasterUserPassword() { + return Optional.ofNullable(this.manageMasterUserPassword); + } + + /** + * The Amazon Web Services KMS key identifier is the key ARN, key ID, alias ARN, or alias name for the KMS key. To use a KMS key in a different Amazon Web Services account, specify the key ARN or alias ARN. If not specified, the default KMS key for your Amazon Web Services account is used. + * + */ + @Import(name="masterUserSecretKmsKeyId") + private @Nullable Output masterUserSecretKmsKeyId; + + /** + * @return The Amazon Web Services KMS key identifier is the key ARN, key ID, alias ARN, or alias name for the KMS key. To use a KMS key in a different Amazon Web Services account, specify the key ARN or alias ARN. If not specified, the default KMS key for your Amazon Web Services account is used. + * + */ + public Optional> masterUserSecretKmsKeyId() { + return Optional.ofNullable(this.masterUserSecretKmsKeyId); + } + /** * When configured, the upper limit to which Amazon RDS can automatically scale the storage of the DB instance. Configuring this will automatically ignore differences to `allocated_storage`. Must be greater than or equal to `allocated_storage` or `0` to disable Storage Autoscaling. * @@ -736,18 +766,18 @@ public Optional> parameterGroupName() { } /** - * (Required unless a `snapshot_identifier` or `replicate_source_db` - * is provided) Password for the master DB user. Note that this may show up in - * logs, and it will be stored in the state file. + * (Required unless `manage_master_user_password` is set to true or unless a `snapshot_identifier` or `replicate_source_db` + * is provided or `manage_master_user_password` is set.) Password for the master DB user. Note that this may show up in + * logs, and it will be stored in the state file. Cannot be set if `manage_master_user_password` is set to `true`. * */ @Import(name="password") private @Nullable Output password; /** - * @return (Required unless a `snapshot_identifier` or `replicate_source_db` - * is provided) Password for the master DB user. Note that this may show up in - * logs, and it will be stored in the state file. + * @return (Required unless `manage_master_user_password` is set to true or unless a `snapshot_identifier` or `replicate_source_db` + * is provided or `manage_master_user_password` is set.) Password for the master DB user. Note that this may show up in + * logs, and it will be stored in the state file. Cannot be set if `manage_master_user_password` is set to `true`. * */ public Optional> password() { @@ -1141,6 +1171,8 @@ private InstanceArgs(InstanceArgs $) { this.kmsKeyId = $.kmsKeyId; this.licenseModel = $.licenseModel; this.maintenanceWindow = $.maintenanceWindow; + this.manageMasterUserPassword = $.manageMasterUserPassword; + this.masterUserSecretKmsKeyId = $.masterUserSecretKmsKeyId; this.maxAllocatedStorage = $.maxAllocatedStorage; this.monitoringInterval = $.monitoringInterval; this.monitoringRoleArn = $.monitoringRoleArn; @@ -1963,6 +1995,48 @@ public Builder maintenanceWindow(String maintenanceWindow) { return maintenanceWindow(Output.of(maintenanceWindow)); } + /** + * @param manageMasterUserPassword Set to true to allow RDS to manage the master user password in Secrets Manager. Cannot be set if `password` is provided. + * + * @return builder + * + */ + public Builder manageMasterUserPassword(@Nullable Output manageMasterUserPassword) { + $.manageMasterUserPassword = manageMasterUserPassword; + return this; + } + + /** + * @param manageMasterUserPassword Set to true to allow RDS to manage the master user password in Secrets Manager. Cannot be set if `password` is provided. + * + * @return builder + * + */ + public Builder manageMasterUserPassword(Boolean manageMasterUserPassword) { + return manageMasterUserPassword(Output.of(manageMasterUserPassword)); + } + + /** + * @param masterUserSecretKmsKeyId The Amazon Web Services KMS key identifier is the key ARN, key ID, alias ARN, or alias name for the KMS key. To use a KMS key in a different Amazon Web Services account, specify the key ARN or alias ARN. If not specified, the default KMS key for your Amazon Web Services account is used. + * + * @return builder + * + */ + public Builder masterUserSecretKmsKeyId(@Nullable Output masterUserSecretKmsKeyId) { + $.masterUserSecretKmsKeyId = masterUserSecretKmsKeyId; + return this; + } + + /** + * @param masterUserSecretKmsKeyId The Amazon Web Services KMS key identifier is the key ARN, key ID, alias ARN, or alias name for the KMS key. To use a KMS key in a different Amazon Web Services account, specify the key ARN or alias ARN. If not specified, the default KMS key for your Amazon Web Services account is used. + * + * @return builder + * + */ + public Builder masterUserSecretKmsKeyId(String masterUserSecretKmsKeyId) { + return masterUserSecretKmsKeyId(Output.of(masterUserSecretKmsKeyId)); + } + /** * @param maxAllocatedStorage When configured, the upper limit to which Amazon RDS can automatically scale the storage of the DB instance. Configuring this will automatically ignore differences to `allocated_storage`. Must be greater than or equal to `allocated_storage` or `0` to disable Storage Autoscaling. * @@ -2171,9 +2245,9 @@ public Builder parameterGroupName(String parameterGroupName) { } /** - * @param password (Required unless a `snapshot_identifier` or `replicate_source_db` - * is provided) Password for the master DB user. Note that this may show up in - * logs, and it will be stored in the state file. + * @param password (Required unless `manage_master_user_password` is set to true or unless a `snapshot_identifier` or `replicate_source_db` + * is provided or `manage_master_user_password` is set.) Password for the master DB user. Note that this may show up in + * logs, and it will be stored in the state file. Cannot be set if `manage_master_user_password` is set to `true`. * * @return builder * @@ -2184,9 +2258,9 @@ public Builder password(@Nullable Output password) { } /** - * @param password (Required unless a `snapshot_identifier` or `replicate_source_db` - * is provided) Password for the master DB user. Note that this may show up in - * logs, and it will be stored in the state file. + * @param password (Required unless `manage_master_user_password` is set to true or unless a `snapshot_identifier` or `replicate_source_db` + * is provided or `manage_master_user_password` is set.) Password for the master DB user. Note that this may show up in + * logs, and it will be stored in the state file. Cannot be set if `manage_master_user_password` is set to `true`. * * @return builder * diff --git a/sdk/java/src/main/java/com/pulumi/aws/rds/inputs/ClusterMasterUserSecretArgs.java b/sdk/java/src/main/java/com/pulumi/aws/rds/inputs/ClusterMasterUserSecretArgs.java new file mode 100644 index 00000000000..d6e15e7ba29 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/rds/inputs/ClusterMasterUserSecretArgs.java @@ -0,0 +1,157 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.rds.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class ClusterMasterUserSecretArgs extends com.pulumi.resources.ResourceArgs { + + public static final ClusterMasterUserSecretArgs Empty = new ClusterMasterUserSecretArgs(); + + /** + * The ARN for the KMS encryption key. When specifying `kms_key_id`, `storage_encrypted` needs to be set to true. + * + */ + @Import(name="kmsKeyId") + private @Nullable Output kmsKeyId; + + /** + * @return The ARN for the KMS encryption key. When specifying `kms_key_id`, `storage_encrypted` needs to be set to true. + * + */ + public Optional> kmsKeyId() { + return Optional.ofNullable(this.kmsKeyId); + } + + /** + * The Amazon Resource Name (ARN) of the secret. + * + */ + @Import(name="secretArn") + private @Nullable Output secretArn; + + /** + * @return The Amazon Resource Name (ARN) of the secret. + * + */ + public Optional> secretArn() { + return Optional.ofNullable(this.secretArn); + } + + /** + * The status of the secret. Valid Values: `creating` | `active` | `rotating` | `impaired`. + * + */ + @Import(name="secretStatus") + private @Nullable Output secretStatus; + + /** + * @return The status of the secret. Valid Values: `creating` | `active` | `rotating` | `impaired`. + * + */ + public Optional> secretStatus() { + return Optional.ofNullable(this.secretStatus); + } + + private ClusterMasterUserSecretArgs() {} + + private ClusterMasterUserSecretArgs(ClusterMasterUserSecretArgs $) { + this.kmsKeyId = $.kmsKeyId; + this.secretArn = $.secretArn; + this.secretStatus = $.secretStatus; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(ClusterMasterUserSecretArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private ClusterMasterUserSecretArgs $; + + public Builder() { + $ = new ClusterMasterUserSecretArgs(); + } + + public Builder(ClusterMasterUserSecretArgs defaults) { + $ = new ClusterMasterUserSecretArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param kmsKeyId The ARN for the KMS encryption key. When specifying `kms_key_id`, `storage_encrypted` needs to be set to true. + * + * @return builder + * + */ + public Builder kmsKeyId(@Nullable Output kmsKeyId) { + $.kmsKeyId = kmsKeyId; + return this; + } + + /** + * @param kmsKeyId The ARN for the KMS encryption key. When specifying `kms_key_id`, `storage_encrypted` needs to be set to true. + * + * @return builder + * + */ + public Builder kmsKeyId(String kmsKeyId) { + return kmsKeyId(Output.of(kmsKeyId)); + } + + /** + * @param secretArn The Amazon Resource Name (ARN) of the secret. + * + * @return builder + * + */ + public Builder secretArn(@Nullable Output secretArn) { + $.secretArn = secretArn; + return this; + } + + /** + * @param secretArn The Amazon Resource Name (ARN) of the secret. + * + * @return builder + * + */ + public Builder secretArn(String secretArn) { + return secretArn(Output.of(secretArn)); + } + + /** + * @param secretStatus The status of the secret. Valid Values: `creating` | `active` | `rotating` | `impaired`. + * + * @return builder + * + */ + public Builder secretStatus(@Nullable Output secretStatus) { + $.secretStatus = secretStatus; + return this; + } + + /** + * @param secretStatus The status of the secret. Valid Values: `creating` | `active` | `rotating` | `impaired`. + * + * @return builder + * + */ + public Builder secretStatus(String secretStatus) { + return secretStatus(Output.of(secretStatus)); + } + + public ClusterMasterUserSecretArgs build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/rds/inputs/ClusterState.java b/sdk/java/src/main/java/com/pulumi/aws/rds/inputs/ClusterState.java index 5a0688bc555..4366944ca25 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/rds/inputs/ClusterState.java +++ b/sdk/java/src/main/java/com/pulumi/aws/rds/inputs/ClusterState.java @@ -5,6 +5,7 @@ import com.pulumi.aws.rds.enums.EngineMode; import com.pulumi.aws.rds.enums.EngineType; +import com.pulumi.aws.rds.inputs.ClusterMasterUserSecretArgs; import com.pulumi.aws.rds.inputs.ClusterRestoreToPointInTimeArgs; import com.pulumi.aws.rds.inputs.ClusterS3ImportArgs; import com.pulumi.aws.rds.inputs.ClusterScalingConfigurationArgs; @@ -522,20 +523,65 @@ public Optional> kmsKeyId() { } /** - * Password for the master DB user. Note that this may show up in logs, and it will be stored in the state file. Please refer to the [RDS Naming Constraints](http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Limits.html#RDS_Limits.Constraints) + * Set to true to allow RDS to manage the master user password in Secrets Manager. Cannot be set if `master_password` is provided. + * + */ + @Import(name="manageMasterUserPassword") + private @Nullable Output manageMasterUserPassword; + + /** + * @return Set to true to allow RDS to manage the master user password in Secrets Manager. Cannot be set if `master_password` is provided. + * + */ + public Optional> manageMasterUserPassword() { + return Optional.ofNullable(this.manageMasterUserPassword); + } + + /** + * Password for the master DB user. Note that this may show up in logs, and it will be stored in the state file. Please refer to the [RDS Naming Constraints](http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Limits.html#RDS_Limits.Constraints). Cannot be set if `manage_master_user_password` is set to `true`. * */ @Import(name="masterPassword") private @Nullable Output masterPassword; /** - * @return Password for the master DB user. Note that this may show up in logs, and it will be stored in the state file. Please refer to the [RDS Naming Constraints](http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Limits.html#RDS_Limits.Constraints) + * @return Password for the master DB user. Note that this may show up in logs, and it will be stored in the state file. Please refer to the [RDS Naming Constraints](http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Limits.html#RDS_Limits.Constraints). Cannot be set if `manage_master_user_password` is set to `true`. * */ public Optional> masterPassword() { return Optional.ofNullable(this.masterPassword); } + /** + * The Amazon Web Services KMS key identifier is the key ARN, key ID, alias ARN, or alias name for the KMS key. To use a KMS key in a different Amazon Web Services account, specify the key ARN or alias ARN. If not specified, the default KMS key for your Amazon Web Services account is used. + * + */ + @Import(name="masterUserSecretKmsKeyId") + private @Nullable Output masterUserSecretKmsKeyId; + + /** + * @return The Amazon Web Services KMS key identifier is the key ARN, key ID, alias ARN, or alias name for the KMS key. To use a KMS key in a different Amazon Web Services account, specify the key ARN or alias ARN. If not specified, the default KMS key for your Amazon Web Services account is used. + * + */ + public Optional> masterUserSecretKmsKeyId() { + return Optional.ofNullable(this.masterUserSecretKmsKeyId); + } + + /** + * A block that specifies the master user secret. Only available when `manage_master_user_password` is set to true. Documented below. + * + */ + @Import(name="masterUserSecrets") + private @Nullable Output> masterUserSecrets; + + /** + * @return A block that specifies the master user secret. Only available when `manage_master_user_password` is set to true. Documented below. + * + */ + public Optional>> masterUserSecrets() { + return Optional.ofNullable(this.masterUserSecrets); + } + /** * Username for the master DB user. Please refer to the [RDS Naming Constraints](http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Limits.html#RDS_Limits.Constraints). This argument does not support in-place updates and cannot be changed during a restore from snapshot. * @@ -851,7 +897,10 @@ private ClusterState(ClusterState $) { this.iamRoles = $.iamRoles; this.iops = $.iops; this.kmsKeyId = $.kmsKeyId; + this.manageMasterUserPassword = $.manageMasterUserPassword; this.masterPassword = $.masterPassword; + this.masterUserSecretKmsKeyId = $.masterUserSecretKmsKeyId; + this.masterUserSecrets = $.masterUserSecrets; this.masterUsername = $.masterUsername; this.networkType = $.networkType; this.port = $.port; @@ -1665,7 +1714,28 @@ public Builder kmsKeyId(String kmsKeyId) { } /** - * @param masterPassword Password for the master DB user. Note that this may show up in logs, and it will be stored in the state file. Please refer to the [RDS Naming Constraints](http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Limits.html#RDS_Limits.Constraints) + * @param manageMasterUserPassword Set to true to allow RDS to manage the master user password in Secrets Manager. Cannot be set if `master_password` is provided. + * + * @return builder + * + */ + public Builder manageMasterUserPassword(@Nullable Output manageMasterUserPassword) { + $.manageMasterUserPassword = manageMasterUserPassword; + return this; + } + + /** + * @param manageMasterUserPassword Set to true to allow RDS to manage the master user password in Secrets Manager. Cannot be set if `master_password` is provided. + * + * @return builder + * + */ + public Builder manageMasterUserPassword(Boolean manageMasterUserPassword) { + return manageMasterUserPassword(Output.of(manageMasterUserPassword)); + } + + /** + * @param masterPassword Password for the master DB user. Note that this may show up in logs, and it will be stored in the state file. Please refer to the [RDS Naming Constraints](http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Limits.html#RDS_Limits.Constraints). Cannot be set if `manage_master_user_password` is set to `true`. * * @return builder * @@ -1676,7 +1746,7 @@ public Builder masterPassword(@Nullable Output masterPassword) { } /** - * @param masterPassword Password for the master DB user. Note that this may show up in logs, and it will be stored in the state file. Please refer to the [RDS Naming Constraints](http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Limits.html#RDS_Limits.Constraints) + * @param masterPassword Password for the master DB user. Note that this may show up in logs, and it will be stored in the state file. Please refer to the [RDS Naming Constraints](http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Limits.html#RDS_Limits.Constraints). Cannot be set if `manage_master_user_password` is set to `true`. * * @return builder * @@ -1685,6 +1755,58 @@ public Builder masterPassword(String masterPassword) { return masterPassword(Output.of(masterPassword)); } + /** + * @param masterUserSecretKmsKeyId The Amazon Web Services KMS key identifier is the key ARN, key ID, alias ARN, or alias name for the KMS key. To use a KMS key in a different Amazon Web Services account, specify the key ARN or alias ARN. If not specified, the default KMS key for your Amazon Web Services account is used. + * + * @return builder + * + */ + public Builder masterUserSecretKmsKeyId(@Nullable Output masterUserSecretKmsKeyId) { + $.masterUserSecretKmsKeyId = masterUserSecretKmsKeyId; + return this; + } + + /** + * @param masterUserSecretKmsKeyId The Amazon Web Services KMS key identifier is the key ARN, key ID, alias ARN, or alias name for the KMS key. To use a KMS key in a different Amazon Web Services account, specify the key ARN or alias ARN. If not specified, the default KMS key for your Amazon Web Services account is used. + * + * @return builder + * + */ + public Builder masterUserSecretKmsKeyId(String masterUserSecretKmsKeyId) { + return masterUserSecretKmsKeyId(Output.of(masterUserSecretKmsKeyId)); + } + + /** + * @param masterUserSecrets A block that specifies the master user secret. Only available when `manage_master_user_password` is set to true. Documented below. + * + * @return builder + * + */ + public Builder masterUserSecrets(@Nullable Output> masterUserSecrets) { + $.masterUserSecrets = masterUserSecrets; + return this; + } + + /** + * @param masterUserSecrets A block that specifies the master user secret. Only available when `manage_master_user_password` is set to true. Documented below. + * + * @return builder + * + */ + public Builder masterUserSecrets(List masterUserSecrets) { + return masterUserSecrets(Output.of(masterUserSecrets)); + } + + /** + * @param masterUserSecrets A block that specifies the master user secret. Only available when `manage_master_user_password` is set to true. Documented below. + * + * @return builder + * + */ + public Builder masterUserSecrets(ClusterMasterUserSecretArgs... masterUserSecrets) { + return masterUserSecrets(List.of(masterUserSecrets)); + } + /** * @param masterUsername Username for the master DB user. Please refer to the [RDS Naming Constraints](http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Limits.html#RDS_Limits.Constraints). This argument does not support in-place updates and cannot be changed during a restore from snapshot. * diff --git a/sdk/java/src/main/java/com/pulumi/aws/rds/inputs/InstanceMasterUserSecretArgs.java b/sdk/java/src/main/java/com/pulumi/aws/rds/inputs/InstanceMasterUserSecretArgs.java new file mode 100644 index 00000000000..030ff5176d7 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/rds/inputs/InstanceMasterUserSecretArgs.java @@ -0,0 +1,161 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.rds.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class InstanceMasterUserSecretArgs extends com.pulumi.resources.ResourceArgs { + + public static final InstanceMasterUserSecretArgs Empty = new InstanceMasterUserSecretArgs(); + + /** + * The ARN for the KMS encryption key. If creating an + * encrypted replica, set this to the destination KMS ARN. + * + */ + @Import(name="kmsKeyId") + private @Nullable Output kmsKeyId; + + /** + * @return The ARN for the KMS encryption key. If creating an + * encrypted replica, set this to the destination KMS ARN. + * + */ + public Optional> kmsKeyId() { + return Optional.ofNullable(this.kmsKeyId); + } + + /** + * The Amazon Resource Name (ARN) of the secret. + * + */ + @Import(name="secretArn") + private @Nullable Output secretArn; + + /** + * @return The Amazon Resource Name (ARN) of the secret. + * + */ + public Optional> secretArn() { + return Optional.ofNullable(this.secretArn); + } + + /** + * The status of the secret. Valid Values: `creating` | `active` | `rotating` | `impaired`. + * + */ + @Import(name="secretStatus") + private @Nullable Output secretStatus; + + /** + * @return The status of the secret. Valid Values: `creating` | `active` | `rotating` | `impaired`. + * + */ + public Optional> secretStatus() { + return Optional.ofNullable(this.secretStatus); + } + + private InstanceMasterUserSecretArgs() {} + + private InstanceMasterUserSecretArgs(InstanceMasterUserSecretArgs $) { + this.kmsKeyId = $.kmsKeyId; + this.secretArn = $.secretArn; + this.secretStatus = $.secretStatus; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(InstanceMasterUserSecretArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private InstanceMasterUserSecretArgs $; + + public Builder() { + $ = new InstanceMasterUserSecretArgs(); + } + + public Builder(InstanceMasterUserSecretArgs defaults) { + $ = new InstanceMasterUserSecretArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param kmsKeyId The ARN for the KMS encryption key. If creating an + * encrypted replica, set this to the destination KMS ARN. + * + * @return builder + * + */ + public Builder kmsKeyId(@Nullable Output kmsKeyId) { + $.kmsKeyId = kmsKeyId; + return this; + } + + /** + * @param kmsKeyId The ARN for the KMS encryption key. If creating an + * encrypted replica, set this to the destination KMS ARN. + * + * @return builder + * + */ + public Builder kmsKeyId(String kmsKeyId) { + return kmsKeyId(Output.of(kmsKeyId)); + } + + /** + * @param secretArn The Amazon Resource Name (ARN) of the secret. + * + * @return builder + * + */ + public Builder secretArn(@Nullable Output secretArn) { + $.secretArn = secretArn; + return this; + } + + /** + * @param secretArn The Amazon Resource Name (ARN) of the secret. + * + * @return builder + * + */ + public Builder secretArn(String secretArn) { + return secretArn(Output.of(secretArn)); + } + + /** + * @param secretStatus The status of the secret. Valid Values: `creating` | `active` | `rotating` | `impaired`. + * + * @return builder + * + */ + public Builder secretStatus(@Nullable Output secretStatus) { + $.secretStatus = secretStatus; + return this; + } + + /** + * @param secretStatus The status of the secret. Valid Values: `creating` | `active` | `rotating` | `impaired`. + * + * @return builder + * + */ + public Builder secretStatus(String secretStatus) { + return secretStatus(Output.of(secretStatus)); + } + + public InstanceMasterUserSecretArgs build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/rds/inputs/InstanceState.java b/sdk/java/src/main/java/com/pulumi/aws/rds/inputs/InstanceState.java index 78fc6e87ec7..a161924e1ac 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/rds/inputs/InstanceState.java +++ b/sdk/java/src/main/java/com/pulumi/aws/rds/inputs/InstanceState.java @@ -7,6 +7,7 @@ import com.pulumi.aws.rds.enums.StorageType; import com.pulumi.aws.rds.inputs.InstanceBlueGreenUpdateArgs; import com.pulumi.aws.rds.inputs.InstanceListenerEndpointArgs; +import com.pulumi.aws.rds.inputs.InstanceMasterUserSecretArgs; import com.pulumi.aws.rds.inputs.InstanceRestoreToPointInTimeArgs; import com.pulumi.aws.rds.inputs.InstanceS3ImportArgs; import com.pulumi.core.Either; @@ -688,6 +689,51 @@ public Optional> maintenanceWindow() { return Optional.ofNullable(this.maintenanceWindow); } + /** + * Set to true to allow RDS to manage the master user password in Secrets Manager. Cannot be set if `password` is provided. + * + */ + @Import(name="manageMasterUserPassword") + private @Nullable Output manageMasterUserPassword; + + /** + * @return Set to true to allow RDS to manage the master user password in Secrets Manager. Cannot be set if `password` is provided. + * + */ + public Optional> manageMasterUserPassword() { + return Optional.ofNullable(this.manageMasterUserPassword); + } + + /** + * The Amazon Web Services KMS key identifier is the key ARN, key ID, alias ARN, or alias name for the KMS key. To use a KMS key in a different Amazon Web Services account, specify the key ARN or alias ARN. If not specified, the default KMS key for your Amazon Web Services account is used. + * + */ + @Import(name="masterUserSecretKmsKeyId") + private @Nullable Output masterUserSecretKmsKeyId; + + /** + * @return The Amazon Web Services KMS key identifier is the key ARN, key ID, alias ARN, or alias name for the KMS key. To use a KMS key in a different Amazon Web Services account, specify the key ARN or alias ARN. If not specified, the default KMS key for your Amazon Web Services account is used. + * + */ + public Optional> masterUserSecretKmsKeyId() { + return Optional.ofNullable(this.masterUserSecretKmsKeyId); + } + + /** + * A block that specifies the master user secret. Only available when `manage_master_user_password` is set to true. Documented below. + * + */ + @Import(name="masterUserSecrets") + private @Nullable Output> masterUserSecrets; + + /** + * @return A block that specifies the master user secret. Only available when `manage_master_user_password` is set to true. Documented below. + * + */ + public Optional>> masterUserSecrets() { + return Optional.ofNullable(this.masterUserSecrets); + } + /** * When configured, the upper limit to which Amazon RDS can automatically scale the storage of the DB instance. Configuring this will automatically ignore differences to `allocated_storage`. Must be greater than or equal to `allocated_storage` or `0` to disable Storage Autoscaling. * @@ -842,18 +888,18 @@ public Optional> parameterGroupName() { } /** - * (Required unless a `snapshot_identifier` or `replicate_source_db` - * is provided) Password for the master DB user. Note that this may show up in - * logs, and it will be stored in the state file. + * (Required unless `manage_master_user_password` is set to true or unless a `snapshot_identifier` or `replicate_source_db` + * is provided or `manage_master_user_password` is set.) Password for the master DB user. Note that this may show up in + * logs, and it will be stored in the state file. Cannot be set if `manage_master_user_password` is set to `true`. * */ @Import(name="password") private @Nullable Output password; /** - * @return (Required unless a `snapshot_identifier` or `replicate_source_db` - * is provided) Password for the master DB user. Note that this may show up in - * logs, and it will be stored in the state file. + * @return (Required unless `manage_master_user_password` is set to true or unless a `snapshot_identifier` or `replicate_source_db` + * is provided or `manage_master_user_password` is set.) Password for the master DB user. Note that this may show up in + * logs, and it will be stored in the state file. Cannot be set if `manage_master_user_password` is set to `true`. * */ public Optional> password() { @@ -1306,6 +1352,9 @@ private InstanceState(InstanceState $) { this.licenseModel = $.licenseModel; this.listenerEndpoints = $.listenerEndpoints; this.maintenanceWindow = $.maintenanceWindow; + this.manageMasterUserPassword = $.manageMasterUserPassword; + this.masterUserSecretKmsKeyId = $.masterUserSecretKmsKeyId; + this.masterUserSecrets = $.masterUserSecrets; this.maxAllocatedStorage = $.maxAllocatedStorage; this.monitoringInterval = $.monitoringInterval; this.monitoringRoleArn = $.monitoringRoleArn; @@ -2289,6 +2338,79 @@ public Builder maintenanceWindow(String maintenanceWindow) { return maintenanceWindow(Output.of(maintenanceWindow)); } + /** + * @param manageMasterUserPassword Set to true to allow RDS to manage the master user password in Secrets Manager. Cannot be set if `password` is provided. + * + * @return builder + * + */ + public Builder manageMasterUserPassword(@Nullable Output manageMasterUserPassword) { + $.manageMasterUserPassword = manageMasterUserPassword; + return this; + } + + /** + * @param manageMasterUserPassword Set to true to allow RDS to manage the master user password in Secrets Manager. Cannot be set if `password` is provided. + * + * @return builder + * + */ + public Builder manageMasterUserPassword(Boolean manageMasterUserPassword) { + return manageMasterUserPassword(Output.of(manageMasterUserPassword)); + } + + /** + * @param masterUserSecretKmsKeyId The Amazon Web Services KMS key identifier is the key ARN, key ID, alias ARN, or alias name for the KMS key. To use a KMS key in a different Amazon Web Services account, specify the key ARN or alias ARN. If not specified, the default KMS key for your Amazon Web Services account is used. + * + * @return builder + * + */ + public Builder masterUserSecretKmsKeyId(@Nullable Output masterUserSecretKmsKeyId) { + $.masterUserSecretKmsKeyId = masterUserSecretKmsKeyId; + return this; + } + + /** + * @param masterUserSecretKmsKeyId The Amazon Web Services KMS key identifier is the key ARN, key ID, alias ARN, or alias name for the KMS key. To use a KMS key in a different Amazon Web Services account, specify the key ARN or alias ARN. If not specified, the default KMS key for your Amazon Web Services account is used. + * + * @return builder + * + */ + public Builder masterUserSecretKmsKeyId(String masterUserSecretKmsKeyId) { + return masterUserSecretKmsKeyId(Output.of(masterUserSecretKmsKeyId)); + } + + /** + * @param masterUserSecrets A block that specifies the master user secret. Only available when `manage_master_user_password` is set to true. Documented below. + * + * @return builder + * + */ + public Builder masterUserSecrets(@Nullable Output> masterUserSecrets) { + $.masterUserSecrets = masterUserSecrets; + return this; + } + + /** + * @param masterUserSecrets A block that specifies the master user secret. Only available when `manage_master_user_password` is set to true. Documented below. + * + * @return builder + * + */ + public Builder masterUserSecrets(List masterUserSecrets) { + return masterUserSecrets(Output.of(masterUserSecrets)); + } + + /** + * @param masterUserSecrets A block that specifies the master user secret. Only available when `manage_master_user_password` is set to true. Documented below. + * + * @return builder + * + */ + public Builder masterUserSecrets(InstanceMasterUserSecretArgs... masterUserSecrets) { + return masterUserSecrets(List.of(masterUserSecrets)); + } + /** * @param maxAllocatedStorage When configured, the upper limit to which Amazon RDS can automatically scale the storage of the DB instance. Configuring this will automatically ignore differences to `allocated_storage`. Must be greater than or equal to `allocated_storage` or `0` to disable Storage Autoscaling. * @@ -2497,9 +2619,9 @@ public Builder parameterGroupName(String parameterGroupName) { } /** - * @param password (Required unless a `snapshot_identifier` or `replicate_source_db` - * is provided) Password for the master DB user. Note that this may show up in - * logs, and it will be stored in the state file. + * @param password (Required unless `manage_master_user_password` is set to true or unless a `snapshot_identifier` or `replicate_source_db` + * is provided or `manage_master_user_password` is set.) Password for the master DB user. Note that this may show up in + * logs, and it will be stored in the state file. Cannot be set if `manage_master_user_password` is set to `true`. * * @return builder * @@ -2510,9 +2632,9 @@ public Builder password(@Nullable Output password) { } /** - * @param password (Required unless a `snapshot_identifier` or `replicate_source_db` - * is provided) Password for the master DB user. Note that this may show up in - * logs, and it will be stored in the state file. + * @param password (Required unless `manage_master_user_password` is set to true or unless a `snapshot_identifier` or `replicate_source_db` + * is provided or `manage_master_user_password` is set.) Password for the master DB user. Note that this may show up in + * logs, and it will be stored in the state file. Cannot be set if `manage_master_user_password` is set to `true`. * * @return builder * diff --git a/sdk/java/src/main/java/com/pulumi/aws/rds/outputs/ClusterMasterUserSecret.java b/sdk/java/src/main/java/com/pulumi/aws/rds/outputs/ClusterMasterUserSecret.java new file mode 100644 index 00000000000..aeb3b51688b --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/rds/outputs/ClusterMasterUserSecret.java @@ -0,0 +1,96 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.rds.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + +@CustomType +public final class ClusterMasterUserSecret { + /** + * @return The ARN for the KMS encryption key. When specifying `kms_key_id`, `storage_encrypted` needs to be set to true. + * + */ + private @Nullable String kmsKeyId; + /** + * @return The Amazon Resource Name (ARN) of the secret. + * + */ + private @Nullable String secretArn; + /** + * @return The status of the secret. Valid Values: `creating` | `active` | `rotating` | `impaired`. + * + */ + private @Nullable String secretStatus; + + private ClusterMasterUserSecret() {} + /** + * @return The ARN for the KMS encryption key. When specifying `kms_key_id`, `storage_encrypted` needs to be set to true. + * + */ + public Optional kmsKeyId() { + return Optional.ofNullable(this.kmsKeyId); + } + /** + * @return The Amazon Resource Name (ARN) of the secret. + * + */ + public Optional secretArn() { + return Optional.ofNullable(this.secretArn); + } + /** + * @return The status of the secret. Valid Values: `creating` | `active` | `rotating` | `impaired`. + * + */ + public Optional secretStatus() { + return Optional.ofNullable(this.secretStatus); + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(ClusterMasterUserSecret defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private @Nullable String kmsKeyId; + private @Nullable String secretArn; + private @Nullable String secretStatus; + public Builder() {} + public Builder(ClusterMasterUserSecret defaults) { + Objects.requireNonNull(defaults); + this.kmsKeyId = defaults.kmsKeyId; + this.secretArn = defaults.secretArn; + this.secretStatus = defaults.secretStatus; + } + + @CustomType.Setter + public Builder kmsKeyId(@Nullable String kmsKeyId) { + this.kmsKeyId = kmsKeyId; + return this; + } + @CustomType.Setter + public Builder secretArn(@Nullable String secretArn) { + this.secretArn = secretArn; + return this; + } + @CustomType.Setter + public Builder secretStatus(@Nullable String secretStatus) { + this.secretStatus = secretStatus; + return this; + } + public ClusterMasterUserSecret build() { + final var o = new ClusterMasterUserSecret(); + o.kmsKeyId = kmsKeyId; + o.secretArn = secretArn; + o.secretStatus = secretStatus; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/rds/outputs/GetClusterMasterUserSecret.java b/sdk/java/src/main/java/com/pulumi/aws/rds/outputs/GetClusterMasterUserSecret.java new file mode 100644 index 00000000000..c1b329250c6 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/rds/outputs/GetClusterMasterUserSecret.java @@ -0,0 +1,70 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.rds.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.String; +import java.util.Objects; + +@CustomType +public final class GetClusterMasterUserSecret { + private String kmsKeyId; + private String secretArn; + private String secretStatus; + + private GetClusterMasterUserSecret() {} + public String kmsKeyId() { + return this.kmsKeyId; + } + public String secretArn() { + return this.secretArn; + } + public String secretStatus() { + return this.secretStatus; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(GetClusterMasterUserSecret defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private String kmsKeyId; + private String secretArn; + private String secretStatus; + public Builder() {} + public Builder(GetClusterMasterUserSecret defaults) { + Objects.requireNonNull(defaults); + this.kmsKeyId = defaults.kmsKeyId; + this.secretArn = defaults.secretArn; + this.secretStatus = defaults.secretStatus; + } + + @CustomType.Setter + public Builder kmsKeyId(String kmsKeyId) { + this.kmsKeyId = Objects.requireNonNull(kmsKeyId); + return this; + } + @CustomType.Setter + public Builder secretArn(String secretArn) { + this.secretArn = Objects.requireNonNull(secretArn); + return this; + } + @CustomType.Setter + public Builder secretStatus(String secretStatus) { + this.secretStatus = Objects.requireNonNull(secretStatus); + return this; + } + public GetClusterMasterUserSecret build() { + final var o = new GetClusterMasterUserSecret(); + o.kmsKeyId = kmsKeyId; + o.secretArn = secretArn; + o.secretStatus = secretStatus; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/rds/outputs/GetClusterResult.java b/sdk/java/src/main/java/com/pulumi/aws/rds/outputs/GetClusterResult.java index f48197833dd..c368b4e77a0 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/rds/outputs/GetClusterResult.java +++ b/sdk/java/src/main/java/com/pulumi/aws/rds/outputs/GetClusterResult.java @@ -3,6 +3,7 @@ package com.pulumi.aws.rds.outputs; +import com.pulumi.aws.rds.outputs.GetClusterMasterUserSecret; import com.pulumi.core.annotations.CustomType; import java.lang.Boolean; import java.lang.Integer; @@ -38,6 +39,7 @@ public final class GetClusterResult { */ private String id; private String kmsKeyId; + private List masterUserSecrets; private String masterUsername; private String networkType; private Integer port; @@ -121,6 +123,9 @@ public String id() { public String kmsKeyId() { return this.kmsKeyId; } + public List masterUserSecrets() { + return this.masterUserSecrets; + } public String masterUsername() { return this.masterUsername; } @@ -186,6 +191,7 @@ public static final class Builder { private List iamRoles; private String id; private String kmsKeyId; + private List masterUserSecrets; private String masterUsername; private String networkType; private Integer port; @@ -220,6 +226,7 @@ public Builder(GetClusterResult defaults) { this.iamRoles = defaults.iamRoles; this.id = defaults.id; this.kmsKeyId = defaults.kmsKeyId; + this.masterUserSecrets = defaults.masterUserSecrets; this.masterUsername = defaults.masterUsername; this.networkType = defaults.networkType; this.port = defaults.port; @@ -350,6 +357,14 @@ public Builder kmsKeyId(String kmsKeyId) { return this; } @CustomType.Setter + public Builder masterUserSecrets(List masterUserSecrets) { + this.masterUserSecrets = Objects.requireNonNull(masterUserSecrets); + return this; + } + public Builder masterUserSecrets(GetClusterMasterUserSecret... masterUserSecrets) { + return masterUserSecrets(List.of(masterUserSecrets)); + } + @CustomType.Setter public Builder masterUsername(String masterUsername) { this.masterUsername = Objects.requireNonNull(masterUsername); return this; @@ -425,6 +440,7 @@ public GetClusterResult build() { o.iamRoles = iamRoles; o.id = id; o.kmsKeyId = kmsKeyId; + o.masterUserSecrets = masterUserSecrets; o.masterUsername = masterUsername; o.networkType = networkType; o.port = port; diff --git a/sdk/java/src/main/java/com/pulumi/aws/rds/outputs/GetInstanceMasterUserSecret.java b/sdk/java/src/main/java/com/pulumi/aws/rds/outputs/GetInstanceMasterUserSecret.java new file mode 100644 index 00000000000..69af99cd339 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/rds/outputs/GetInstanceMasterUserSecret.java @@ -0,0 +1,94 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.rds.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.String; +import java.util.Objects; + +@CustomType +public final class GetInstanceMasterUserSecret { + /** + * @return The Amazon Web Services KMS key identifier that is used to encrypt the secret. + * + */ + private String kmsKeyId; + /** + * @return The Amazon Resource Name (ARN) of the secret. + * + */ + private String secretArn; + /** + * @return The status of the secret. Valid Values: `creating` | `active` | `rotating` | `impaired`. + * + */ + private String secretStatus; + + private GetInstanceMasterUserSecret() {} + /** + * @return The Amazon Web Services KMS key identifier that is used to encrypt the secret. + * + */ + public String kmsKeyId() { + return this.kmsKeyId; + } + /** + * @return The Amazon Resource Name (ARN) of the secret. + * + */ + public String secretArn() { + return this.secretArn; + } + /** + * @return The status of the secret. Valid Values: `creating` | `active` | `rotating` | `impaired`. + * + */ + public String secretStatus() { + return this.secretStatus; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(GetInstanceMasterUserSecret defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private String kmsKeyId; + private String secretArn; + private String secretStatus; + public Builder() {} + public Builder(GetInstanceMasterUserSecret defaults) { + Objects.requireNonNull(defaults); + this.kmsKeyId = defaults.kmsKeyId; + this.secretArn = defaults.secretArn; + this.secretStatus = defaults.secretStatus; + } + + @CustomType.Setter + public Builder kmsKeyId(String kmsKeyId) { + this.kmsKeyId = Objects.requireNonNull(kmsKeyId); + return this; + } + @CustomType.Setter + public Builder secretArn(String secretArn) { + this.secretArn = Objects.requireNonNull(secretArn); + return this; + } + @CustomType.Setter + public Builder secretStatus(String secretStatus) { + this.secretStatus = Objects.requireNonNull(secretStatus); + return this; + } + public GetInstanceMasterUserSecret build() { + final var o = new GetInstanceMasterUserSecret(); + o.kmsKeyId = kmsKeyId; + o.secretArn = secretArn; + o.secretStatus = secretStatus; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/rds/outputs/GetInstanceResult.java b/sdk/java/src/main/java/com/pulumi/aws/rds/outputs/GetInstanceResult.java index a5f817c02da..4598f31ca2c 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/rds/outputs/GetInstanceResult.java +++ b/sdk/java/src/main/java/com/pulumi/aws/rds/outputs/GetInstanceResult.java @@ -3,6 +3,7 @@ package com.pulumi.aws.rds.outputs; +import com.pulumi.aws.rds.outputs.GetInstanceMasterUserSecret; import com.pulumi.core.annotations.CustomType; import java.lang.Boolean; import java.lang.Integer; @@ -120,7 +121,7 @@ public final class GetInstanceResult { */ private Integer iops; /** - * @return If StorageEncrypted is true, the KMS key identifier for the encrypted DB instance. + * @return The Amazon Web Services KMS key identifier that is used to encrypt the secret. * */ private String kmsKeyId; @@ -129,6 +130,11 @@ public final class GetInstanceResult { * */ private String licenseModel; + /** + * @return Provides the master user secret. Only available when `manage_master_user_password` is set to true. Documented below. + * + */ + private List masterUserSecrets; /** * @return Contains the master username for the DB instance. * @@ -368,7 +374,7 @@ public Integer iops() { return this.iops; } /** - * @return If StorageEncrypted is true, the KMS key identifier for the encrypted DB instance. + * @return The Amazon Web Services KMS key identifier that is used to encrypt the secret. * */ public String kmsKeyId() { @@ -381,6 +387,13 @@ public String kmsKeyId() { public String licenseModel() { return this.licenseModel; } + /** + * @return Provides the master user secret. Only available when `manage_master_user_password` is set to true. Documented below. + * + */ + public List masterUserSecrets() { + return this.masterUserSecrets; + } /** * @return Contains the master username for the DB instance. * @@ -537,6 +550,7 @@ public static final class Builder { private Integer iops; private String kmsKeyId; private String licenseModel; + private List masterUserSecrets; private String masterUsername; private Integer monitoringInterval; private String monitoringRoleArn; @@ -582,6 +596,7 @@ public Builder(GetInstanceResult defaults) { this.iops = defaults.iops; this.kmsKeyId = defaults.kmsKeyId; this.licenseModel = defaults.licenseModel; + this.masterUserSecrets = defaults.masterUserSecrets; this.masterUsername = defaults.masterUsername; this.monitoringInterval = defaults.monitoringInterval; this.monitoringRoleArn = defaults.monitoringRoleArn; @@ -732,6 +747,14 @@ public Builder licenseModel(String licenseModel) { return this; } @CustomType.Setter + public Builder masterUserSecrets(List masterUserSecrets) { + this.masterUserSecrets = Objects.requireNonNull(masterUserSecrets); + return this; + } + public Builder masterUserSecrets(GetInstanceMasterUserSecret... masterUserSecrets) { + return masterUserSecrets(List.of(masterUserSecrets)); + } + @CustomType.Setter public Builder masterUsername(String masterUsername) { this.masterUsername = Objects.requireNonNull(masterUsername); return this; @@ -853,6 +876,7 @@ public GetInstanceResult build() { o.iops = iops; o.kmsKeyId = kmsKeyId; o.licenseModel = licenseModel; + o.masterUserSecrets = masterUserSecrets; o.masterUsername = masterUsername; o.monitoringInterval = monitoringInterval; o.monitoringRoleArn = monitoringRoleArn; diff --git a/sdk/java/src/main/java/com/pulumi/aws/rds/outputs/InstanceMasterUserSecret.java b/sdk/java/src/main/java/com/pulumi/aws/rds/outputs/InstanceMasterUserSecret.java new file mode 100644 index 00000000000..8c59507d670 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/rds/outputs/InstanceMasterUserSecret.java @@ -0,0 +1,98 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.rds.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + +@CustomType +public final class InstanceMasterUserSecret { + /** + * @return The ARN for the KMS encryption key. If creating an + * encrypted replica, set this to the destination KMS ARN. + * + */ + private @Nullable String kmsKeyId; + /** + * @return The Amazon Resource Name (ARN) of the secret. + * + */ + private @Nullable String secretArn; + /** + * @return The status of the secret. Valid Values: `creating` | `active` | `rotating` | `impaired`. + * + */ + private @Nullable String secretStatus; + + private InstanceMasterUserSecret() {} + /** + * @return The ARN for the KMS encryption key. If creating an + * encrypted replica, set this to the destination KMS ARN. + * + */ + public Optional kmsKeyId() { + return Optional.ofNullable(this.kmsKeyId); + } + /** + * @return The Amazon Resource Name (ARN) of the secret. + * + */ + public Optional secretArn() { + return Optional.ofNullable(this.secretArn); + } + /** + * @return The status of the secret. Valid Values: `creating` | `active` | `rotating` | `impaired`. + * + */ + public Optional secretStatus() { + return Optional.ofNullable(this.secretStatus); + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(InstanceMasterUserSecret defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private @Nullable String kmsKeyId; + private @Nullable String secretArn; + private @Nullable String secretStatus; + public Builder() {} + public Builder(InstanceMasterUserSecret defaults) { + Objects.requireNonNull(defaults); + this.kmsKeyId = defaults.kmsKeyId; + this.secretArn = defaults.secretArn; + this.secretStatus = defaults.secretStatus; + } + + @CustomType.Setter + public Builder kmsKeyId(@Nullable String kmsKeyId) { + this.kmsKeyId = kmsKeyId; + return this; + } + @CustomType.Setter + public Builder secretArn(@Nullable String secretArn) { + this.secretArn = secretArn; + return this; + } + @CustomType.Setter + public Builder secretStatus(@Nullable String secretStatus) { + this.secretStatus = secretStatus; + return this; + } + public InstanceMasterUserSecret build() { + final var o = new InstanceMasterUserSecret(); + o.kmsKeyId = kmsKeyId; + o.secretArn = secretArn; + o.secretStatus = secretStatus; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/route53/HealthCheckArgs.java b/sdk/java/src/main/java/com/pulumi/aws/route53/HealthCheckArgs.java index 72f6b9d038b..74440684201 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/route53/HealthCheckArgs.java +++ b/sdk/java/src/main/java/com/pulumi/aws/route53/HealthCheckArgs.java @@ -327,6 +327,21 @@ public Optional>> tags() { return Optional.ofNullable(this.tags); } + /** + * A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. + * + */ + @Import(name="tagsAll") + private @Nullable Output> tagsAll; + + /** + * @return A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. + * + */ + public Optional>> tagsAll() { + return Optional.ofNullable(this.tagsAll); + } + /** * The protocol to use when performing health checks. Valid values are `HTTP`, `HTTPS`, `HTTP_STR_MATCH`, `HTTPS_STR_MATCH`, `TCP`, `CALCULATED`, `CLOUDWATCH_METRIC` and `RECOVERY_CONTROL`. * @@ -365,6 +380,7 @@ private HealthCheckArgs(HealthCheckArgs $) { this.routingControlArn = $.routingControlArn; this.searchString = $.searchString; this.tags = $.tags; + this.tagsAll = $.tagsAll; this.type = $.type; } @@ -834,6 +850,27 @@ public Builder tags(Map tags) { return tags(Output.of(tags)); } + /** + * @param tagsAll A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. + * + * @return builder + * + */ + public Builder tagsAll(@Nullable Output> tagsAll) { + $.tagsAll = tagsAll; + return this; + } + + /** + * @param tagsAll A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. + * + * @return builder + * + */ + public Builder tagsAll(Map tagsAll) { + return tagsAll(Output.of(tagsAll)); + } + /** * @param type The protocol to use when performing health checks. Valid values are `HTTP`, `HTTPS`, `HTTP_STR_MATCH`, `HTTPS_STR_MATCH`, `TCP`, `CALCULATED`, `CLOUDWATCH_METRIC` and `RECOVERY_CONTROL`. * diff --git a/sdk/java/src/main/java/com/pulumi/aws/route53/ZoneArgs.java b/sdk/java/src/main/java/com/pulumi/aws/route53/ZoneArgs.java index 37f9ddfe1f4..4782e16d996 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/route53/ZoneArgs.java +++ b/sdk/java/src/main/java/com/pulumi/aws/route53/ZoneArgs.java @@ -95,6 +95,21 @@ public Optional>> tags() { return Optional.ofNullable(this.tags); } + /** + * A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. + * + */ + @Import(name="tagsAll") + private @Nullable Output> tagsAll; + + /** + * @return A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. + * + */ + public Optional>> tagsAll() { + return Optional.ofNullable(this.tagsAll); + } + /** * Configuration block(s) specifying VPC(s) to associate with a private hosted zone. Conflicts with the `delegation_set_id` argument in this resource and any `aws.route53.ZoneAssociation` resource specifying the same zone ID. Detailed below. * @@ -118,6 +133,7 @@ private ZoneArgs(ZoneArgs $) { this.forceDestroy = $.forceDestroy; this.name = $.name; this.tags = $.tags; + this.tagsAll = $.tagsAll; this.vpcs = $.vpcs; } @@ -244,6 +260,27 @@ public Builder tags(Map tags) { return tags(Output.of(tags)); } + /** + * @param tagsAll A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. + * + * @return builder + * + */ + public Builder tagsAll(@Nullable Output> tagsAll) { + $.tagsAll = tagsAll; + return this; + } + + /** + * @param tagsAll A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. + * + * @return builder + * + */ + public Builder tagsAll(Map tagsAll) { + return tagsAll(Output.of(tagsAll)); + } + /** * @param vpcs Configuration block(s) specifying VPC(s) to associate with a private hosted zone. Conflicts with the `delegation_set_id` argument in this resource and any `aws.route53.ZoneAssociation` resource specifying the same zone ID. Detailed below. * diff --git a/sdk/java/src/main/java/com/pulumi/aws/s3/BucketObjectArgs.java b/sdk/java/src/main/java/com/pulumi/aws/s3/BucketObjectArgs.java index 6a9a761120d..3aa50f4bd84 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/s3/BucketObjectArgs.java +++ b/sdk/java/src/main/java/com/pulumi/aws/s3/BucketObjectArgs.java @@ -363,6 +363,21 @@ public Optional>> tags() { return Optional.ofNullable(this.tags); } + /** + * Map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. + * + */ + @Import(name="tagsAll") + private @Nullable Output> tagsAll; + + /** + * @return Map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. + * + */ + public Optional>> tagsAll() { + return Optional.ofNullable(this.tagsAll); + } + /** * Target URL for [website redirect](http://docs.aws.amazon.com/AmazonS3/latest/dev/how-to-page-redirect.html). * @@ -404,6 +419,7 @@ private BucketObjectArgs(BucketObjectArgs $) { this.sourceHash = $.sourceHash; this.storageClass = $.storageClass; this.tags = $.tags; + this.tagsAll = $.tagsAll; this.websiteRedirect = $.websiteRedirect; } @@ -908,6 +924,27 @@ public Builder tags(Map tags) { return tags(Output.of(tags)); } + /** + * @param tagsAll Map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. + * + * @return builder + * + */ + public Builder tagsAll(@Nullable Output> tagsAll) { + $.tagsAll = tagsAll; + return this; + } + + /** + * @param tagsAll Map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. + * + * @return builder + * + */ + public Builder tagsAll(Map tagsAll) { + return tagsAll(Output.of(tagsAll)); + } + /** * @param websiteRedirect Target URL for [website redirect](http://docs.aws.amazon.com/AmazonS3/latest/dev/how-to-page-redirect.html). * diff --git a/sdk/java/src/main/java/com/pulumi/aws/s3/BucketObjectv2Args.java b/sdk/java/src/main/java/com/pulumi/aws/s3/BucketObjectv2Args.java index 0c5ca56397d..5206ba1fec2 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/s3/BucketObjectv2Args.java +++ b/sdk/java/src/main/java/com/pulumi/aws/s3/BucketObjectv2Args.java @@ -363,6 +363,21 @@ public Optional>> tags() { return Optional.ofNullable(this.tags); } + /** + * Map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. + * + */ + @Import(name="tagsAll") + private @Nullable Output> tagsAll; + + /** + * @return Map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. + * + */ + public Optional>> tagsAll() { + return Optional.ofNullable(this.tagsAll); + } + /** * Target URL for [website redirect](http://docs.aws.amazon.com/AmazonS3/latest/dev/how-to-page-redirect.html). * @@ -404,6 +419,7 @@ private BucketObjectv2Args(BucketObjectv2Args $) { this.sourceHash = $.sourceHash; this.storageClass = $.storageClass; this.tags = $.tags; + this.tagsAll = $.tagsAll; this.websiteRedirect = $.websiteRedirect; } @@ -908,6 +924,27 @@ public Builder tags(Map tags) { return tags(Output.of(tags)); } + /** + * @param tagsAll Map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. + * + * @return builder + * + */ + public Builder tagsAll(@Nullable Output> tagsAll) { + $.tagsAll = tagsAll; + return this; + } + + /** + * @param tagsAll Map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. + * + * @return builder + * + */ + public Builder tagsAll(Map tagsAll) { + return tagsAll(Output.of(tagsAll)); + } + /** * @param websiteRedirect Target URL for [website redirect](http://docs.aws.amazon.com/AmazonS3/latest/dev/how-to-page-redirect.html). * diff --git a/sdk/java/src/main/java/com/pulumi/aws/s3/BucketV2.java b/sdk/java/src/main/java/com/pulumi/aws/s3/BucketV2.java index 36fba4bf7b1..ca6e2a54c6f 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/s3/BucketV2.java +++ b/sdk/java/src/main/java/com/pulumi/aws/s3/BucketV2.java @@ -713,14 +713,14 @@ public Output bucketDomainName() { * */ @Export(name="bucketPrefix", refs={String.class}, tree="[0]") - private Output bucketPrefix; + private Output bucketPrefix; /** * @return Creates a unique bucket name beginning with the specified prefix. Conflicts with `bucket`. Must be lowercase and less than or equal to 37 characters in length. A full list of bucket naming rules [may be found here](https://docs.aws.amazon.com/AmazonS3/latest/userguide/bucketnamingrules.html). * */ - public Output> bucketPrefix() { - return Codegen.optional(this.bucketPrefix); + public Output bucketPrefix() { + return this.bucketPrefix; } /** * Bucket region-specific domain name. The bucket domain name including the region name, please refer [here](https://docs.aws.amazon.com/general/latest/gr/rande.html#s3_region) for format. Note: The AWS CloudFront allows specifying S3 region-specific endpoint when creating S3 origin, it will prevent [redirect issues](https://forums.aws.amazon.com/thread.jspa?threadID=216814) from CloudFront to S3 Origin URL. diff --git a/sdk/java/src/main/java/com/pulumi/aws/s3/BucketV2Args.java b/sdk/java/src/main/java/com/pulumi/aws/s3/BucketV2Args.java index 95d0725a8d6..9f99b7c0375 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/s3/BucketV2Args.java +++ b/sdk/java/src/main/java/com/pulumi/aws/s3/BucketV2Args.java @@ -383,6 +383,21 @@ public Optional>> tags() { return Optional.ofNullable(this.tags); } + /** + * Map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. + * + */ + @Import(name="tagsAll") + private @Nullable Output> tagsAll; + + /** + * @return Map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. + * + */ + public Optional>> tagsAll() { + return Optional.ofNullable(this.tagsAll); + } + /** * Configuration of the [S3 bucket versioning state](https://docs.aws.amazon.com/AmazonS3/latest/dev/Versioning.html). See Versioning below for details. The provider will only perform drift detection if a configuration value is provided. Use the resource `aws.s3.BucketVersioningV2` instead. * @@ -450,6 +465,7 @@ private BucketV2Args(BucketV2Args $) { this.requestPayer = $.requestPayer; this.serverSideEncryptionConfigurations = $.serverSideEncryptionConfigurations; this.tags = $.tags; + this.tagsAll = $.tagsAll; this.versionings = $.versionings; this.websites = $.websites; } @@ -1013,6 +1029,27 @@ public Builder tags(Map tags) { return tags(Output.of(tags)); } + /** + * @param tagsAll Map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. + * + * @return builder + * + */ + public Builder tagsAll(@Nullable Output> tagsAll) { + $.tagsAll = tagsAll; + return this; + } + + /** + * @param tagsAll Map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. + * + * @return builder + * + */ + public Builder tagsAll(Map tagsAll) { + return tagsAll(Output.of(tagsAll)); + } + /** * @param versionings Configuration of the [S3 bucket versioning state](https://docs.aws.amazon.com/AmazonS3/latest/dev/Versioning.html). See Versioning below for details. The provider will only perform drift detection if a configuration value is provided. Use the resource `aws.s3.BucketVersioningV2` instead. * diff --git a/sdk/java/src/main/java/com/pulumi/aws/s3/ObjectCopyArgs.java b/sdk/java/src/main/java/com/pulumi/aws/s3/ObjectCopyArgs.java index 8e258055dc1..769d136e8f0 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/s3/ObjectCopyArgs.java +++ b/sdk/java/src/main/java/com/pulumi/aws/s3/ObjectCopyArgs.java @@ -566,6 +566,21 @@ public Optional>> tags() { return Optional.ofNullable(this.tags); } + /** + * Map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. + * + */ + @Import(name="tagsAll") + private @Nullable Output> tagsAll; + + /** + * @return Map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. + * + */ + public Optional>> tagsAll() { + return Optional.ofNullable(this.tagsAll); + } + /** * Specifies a target URL for [website redirect](http://docs.aws.amazon.com/AmazonS3/latest/dev/how-to-page-redirect.html). * @@ -621,6 +636,7 @@ private ObjectCopyArgs(ObjectCopyArgs $) { this.storageClass = $.storageClass; this.taggingDirective = $.taggingDirective; this.tags = $.tags; + this.tagsAll = $.tagsAll; this.websiteRedirect = $.websiteRedirect; } @@ -1417,6 +1433,27 @@ public Builder tags(Map tags) { return tags(Output.of(tags)); } + /** + * @param tagsAll Map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. + * + * @return builder + * + */ + public Builder tagsAll(@Nullable Output> tagsAll) { + $.tagsAll = tagsAll; + return this; + } + + /** + * @param tagsAll Map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. + * + * @return builder + * + */ + public Builder tagsAll(Map tagsAll) { + return tagsAll(Output.of(tagsAll)); + } + /** * @param websiteRedirect Specifies a target URL for [website redirect](http://docs.aws.amazon.com/AmazonS3/latest/dev/how-to-page-redirect.html). * diff --git a/sdk/java/src/main/java/com/pulumi/aws/sagemaker/inputs/EndpointConfigurationProductionVariantArgs.java b/sdk/java/src/main/java/com/pulumi/aws/sagemaker/inputs/EndpointConfigurationProductionVariantArgs.java index 9c8515a3520..c672f77e461 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/sagemaker/inputs/EndpointConfigurationProductionVariantArgs.java +++ b/sdk/java/src/main/java/com/pulumi/aws/sagemaker/inputs/EndpointConfigurationProductionVariantArgs.java @@ -7,6 +7,7 @@ import com.pulumi.aws.sagemaker.inputs.EndpointConfigurationProductionVariantServerlessConfigArgs; import com.pulumi.core.Output; import com.pulumi.core.annotations.Import; +import java.lang.Boolean; import java.lang.Double; import java.lang.Integer; import java.lang.String; @@ -64,6 +65,21 @@ public Optional return Optional.ofNullable(this.coreDumpConfig); } + /** + * You can use this parameter to turn on native Amazon Web Services Systems Manager (SSM) access for a production variant behind an endpoint. By default, SSM access is disabled for all production variants behind an endpoints. + * + */ + @Import(name="enableSsmAccess") + private @Nullable Output enableSsmAccess; + + /** + * @return You can use this parameter to turn on native Amazon Web Services Systems Manager (SSM) access for a production variant behind an endpoint. By default, SSM access is disabled for all production variants behind an endpoints. + * + */ + public Optional> enableSsmAccess() { + return Optional.ofNullable(this.enableSsmAccess); + } + /** * Initial number of instances used for auto-scaling. * @@ -190,6 +206,7 @@ private EndpointConfigurationProductionVariantArgs(EndpointConfigurationProducti this.acceleratorType = $.acceleratorType; this.containerStartupHealthCheckTimeoutInSeconds = $.containerStartupHealthCheckTimeoutInSeconds; this.coreDumpConfig = $.coreDumpConfig; + this.enableSsmAccess = $.enableSsmAccess; this.initialInstanceCount = $.initialInstanceCount; this.initialVariantWeight = $.initialVariantWeight; this.instanceType = $.instanceType; @@ -281,6 +298,27 @@ public Builder coreDumpConfig(EndpointConfigurationProductionVariantCoreDumpConf return coreDumpConfig(Output.of(coreDumpConfig)); } + /** + * @param enableSsmAccess You can use this parameter to turn on native Amazon Web Services Systems Manager (SSM) access for a production variant behind an endpoint. By default, SSM access is disabled for all production variants behind an endpoints. + * + * @return builder + * + */ + public Builder enableSsmAccess(@Nullable Output enableSsmAccess) { + $.enableSsmAccess = enableSsmAccess; + return this; + } + + /** + * @param enableSsmAccess You can use this parameter to turn on native Amazon Web Services Systems Manager (SSM) access for a production variant behind an endpoint. By default, SSM access is disabled for all production variants behind an endpoints. + * + * @return builder + * + */ + public Builder enableSsmAccess(Boolean enableSsmAccess) { + return enableSsmAccess(Output.of(enableSsmAccess)); + } + /** * @param initialInstanceCount Initial number of instances used for auto-scaling. * diff --git a/sdk/java/src/main/java/com/pulumi/aws/sagemaker/inputs/EndpointConfigurationShadowProductionVariantArgs.java b/sdk/java/src/main/java/com/pulumi/aws/sagemaker/inputs/EndpointConfigurationShadowProductionVariantArgs.java index 65b86347c08..2bedfb6023e 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/sagemaker/inputs/EndpointConfigurationShadowProductionVariantArgs.java +++ b/sdk/java/src/main/java/com/pulumi/aws/sagemaker/inputs/EndpointConfigurationShadowProductionVariantArgs.java @@ -7,6 +7,7 @@ import com.pulumi.aws.sagemaker.inputs.EndpointConfigurationShadowProductionVariantServerlessConfigArgs; import com.pulumi.core.Output; import com.pulumi.core.annotations.Import; +import java.lang.Boolean; import java.lang.Double; import java.lang.Integer; import java.lang.String; @@ -64,6 +65,21 @@ public Optional enableSsmAccess; + + /** + * @return You can use this parameter to turn on native Amazon Web Services Systems Manager (SSM) access for a production variant behind an endpoint. By default, SSM access is disabled for all production variants behind an endpoints. + * + */ + public Optional> enableSsmAccess() { + return Optional.ofNullable(this.enableSsmAccess); + } + /** * Initial number of instances used for auto-scaling. * @@ -190,6 +206,7 @@ private EndpointConfigurationShadowProductionVariantArgs(EndpointConfigurationSh this.acceleratorType = $.acceleratorType; this.containerStartupHealthCheckTimeoutInSeconds = $.containerStartupHealthCheckTimeoutInSeconds; this.coreDumpConfig = $.coreDumpConfig; + this.enableSsmAccess = $.enableSsmAccess; this.initialInstanceCount = $.initialInstanceCount; this.initialVariantWeight = $.initialVariantWeight; this.instanceType = $.instanceType; @@ -281,6 +298,27 @@ public Builder coreDumpConfig(EndpointConfigurationShadowProductionVariantCoreDu return coreDumpConfig(Output.of(coreDumpConfig)); } + /** + * @param enableSsmAccess You can use this parameter to turn on native Amazon Web Services Systems Manager (SSM) access for a production variant behind an endpoint. By default, SSM access is disabled for all production variants behind an endpoints. + * + * @return builder + * + */ + public Builder enableSsmAccess(@Nullable Output enableSsmAccess) { + $.enableSsmAccess = enableSsmAccess; + return this; + } + + /** + * @param enableSsmAccess You can use this parameter to turn on native Amazon Web Services Systems Manager (SSM) access for a production variant behind an endpoint. By default, SSM access is disabled for all production variants behind an endpoints. + * + * @return builder + * + */ + public Builder enableSsmAccess(Boolean enableSsmAccess) { + return enableSsmAccess(Output.of(enableSsmAccess)); + } + /** * @param initialInstanceCount Initial number of instances used for auto-scaling. * diff --git a/sdk/java/src/main/java/com/pulumi/aws/sagemaker/outputs/EndpointConfigurationProductionVariant.java b/sdk/java/src/main/java/com/pulumi/aws/sagemaker/outputs/EndpointConfigurationProductionVariant.java index 7fd37b2694f..2642bbc149b 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/sagemaker/outputs/EndpointConfigurationProductionVariant.java +++ b/sdk/java/src/main/java/com/pulumi/aws/sagemaker/outputs/EndpointConfigurationProductionVariant.java @@ -6,6 +6,7 @@ import com.pulumi.aws.sagemaker.outputs.EndpointConfigurationProductionVariantCoreDumpConfig; import com.pulumi.aws.sagemaker.outputs.EndpointConfigurationProductionVariantServerlessConfig; import com.pulumi.core.annotations.CustomType; +import java.lang.Boolean; import java.lang.Double; import java.lang.Integer; import java.lang.String; @@ -30,6 +31,11 @@ public final class EndpointConfigurationProductionVariant { * */ private @Nullable EndpointConfigurationProductionVariantCoreDumpConfig coreDumpConfig; + /** + * @return You can use this parameter to turn on native Amazon Web Services Systems Manager (SSM) access for a production variant behind an endpoint. By default, SSM access is disabled for all production variants behind an endpoints. + * + */ + private @Nullable Boolean enableSsmAccess; /** * @return Initial number of instances used for auto-scaling. * @@ -93,6 +99,13 @@ public Optional containerStartupHealthCheckTimeoutInSeconds() { public Optional coreDumpConfig() { return Optional.ofNullable(this.coreDumpConfig); } + /** + * @return You can use this parameter to turn on native Amazon Web Services Systems Manager (SSM) access for a production variant behind an endpoint. By default, SSM access is disabled for all production variants behind an endpoints. + * + */ + public Optional enableSsmAccess() { + return Optional.ofNullable(this.enableSsmAccess); + } /** * @return Initial number of instances used for auto-scaling. * @@ -162,6 +175,7 @@ public static final class Builder { private @Nullable String acceleratorType; private @Nullable Integer containerStartupHealthCheckTimeoutInSeconds; private @Nullable EndpointConfigurationProductionVariantCoreDumpConfig coreDumpConfig; + private @Nullable Boolean enableSsmAccess; private @Nullable Integer initialInstanceCount; private @Nullable Double initialVariantWeight; private @Nullable String instanceType; @@ -176,6 +190,7 @@ public Builder(EndpointConfigurationProductionVariant defaults) { this.acceleratorType = defaults.acceleratorType; this.containerStartupHealthCheckTimeoutInSeconds = defaults.containerStartupHealthCheckTimeoutInSeconds; this.coreDumpConfig = defaults.coreDumpConfig; + this.enableSsmAccess = defaults.enableSsmAccess; this.initialInstanceCount = defaults.initialInstanceCount; this.initialVariantWeight = defaults.initialVariantWeight; this.instanceType = defaults.instanceType; @@ -202,6 +217,11 @@ public Builder coreDumpConfig(@Nullable EndpointConfigurationProductionVariantCo return this; } @CustomType.Setter + public Builder enableSsmAccess(@Nullable Boolean enableSsmAccess) { + this.enableSsmAccess = enableSsmAccess; + return this; + } + @CustomType.Setter public Builder initialInstanceCount(@Nullable Integer initialInstanceCount) { this.initialInstanceCount = initialInstanceCount; return this; @@ -246,6 +266,7 @@ public EndpointConfigurationProductionVariant build() { o.acceleratorType = acceleratorType; o.containerStartupHealthCheckTimeoutInSeconds = containerStartupHealthCheckTimeoutInSeconds; o.coreDumpConfig = coreDumpConfig; + o.enableSsmAccess = enableSsmAccess; o.initialInstanceCount = initialInstanceCount; o.initialVariantWeight = initialVariantWeight; o.instanceType = instanceType; diff --git a/sdk/java/src/main/java/com/pulumi/aws/sagemaker/outputs/EndpointConfigurationShadowProductionVariant.java b/sdk/java/src/main/java/com/pulumi/aws/sagemaker/outputs/EndpointConfigurationShadowProductionVariant.java index 86a84d1331a..31a9a2f1988 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/sagemaker/outputs/EndpointConfigurationShadowProductionVariant.java +++ b/sdk/java/src/main/java/com/pulumi/aws/sagemaker/outputs/EndpointConfigurationShadowProductionVariant.java @@ -6,6 +6,7 @@ import com.pulumi.aws.sagemaker.outputs.EndpointConfigurationShadowProductionVariantCoreDumpConfig; import com.pulumi.aws.sagemaker.outputs.EndpointConfigurationShadowProductionVariantServerlessConfig; import com.pulumi.core.annotations.CustomType; +import java.lang.Boolean; import java.lang.Double; import java.lang.Integer; import java.lang.String; @@ -30,6 +31,11 @@ public final class EndpointConfigurationShadowProductionVariant { * */ private @Nullable EndpointConfigurationShadowProductionVariantCoreDumpConfig coreDumpConfig; + /** + * @return You can use this parameter to turn on native Amazon Web Services Systems Manager (SSM) access for a production variant behind an endpoint. By default, SSM access is disabled for all production variants behind an endpoints. + * + */ + private @Nullable Boolean enableSsmAccess; /** * @return Initial number of instances used for auto-scaling. * @@ -93,6 +99,13 @@ public Optional containerStartupHealthCheckTimeoutInSeconds() { public Optional coreDumpConfig() { return Optional.ofNullable(this.coreDumpConfig); } + /** + * @return You can use this parameter to turn on native Amazon Web Services Systems Manager (SSM) access for a production variant behind an endpoint. By default, SSM access is disabled for all production variants behind an endpoints. + * + */ + public Optional enableSsmAccess() { + return Optional.ofNullable(this.enableSsmAccess); + } /** * @return Initial number of instances used for auto-scaling. * @@ -162,6 +175,7 @@ public static final class Builder { private @Nullable String acceleratorType; private @Nullable Integer containerStartupHealthCheckTimeoutInSeconds; private @Nullable EndpointConfigurationShadowProductionVariantCoreDumpConfig coreDumpConfig; + private @Nullable Boolean enableSsmAccess; private @Nullable Integer initialInstanceCount; private @Nullable Double initialVariantWeight; private @Nullable String instanceType; @@ -176,6 +190,7 @@ public Builder(EndpointConfigurationShadowProductionVariant defaults) { this.acceleratorType = defaults.acceleratorType; this.containerStartupHealthCheckTimeoutInSeconds = defaults.containerStartupHealthCheckTimeoutInSeconds; this.coreDumpConfig = defaults.coreDumpConfig; + this.enableSsmAccess = defaults.enableSsmAccess; this.initialInstanceCount = defaults.initialInstanceCount; this.initialVariantWeight = defaults.initialVariantWeight; this.instanceType = defaults.instanceType; @@ -202,6 +217,11 @@ public Builder coreDumpConfig(@Nullable EndpointConfigurationShadowProductionVar return this; } @CustomType.Setter + public Builder enableSsmAccess(@Nullable Boolean enableSsmAccess) { + this.enableSsmAccess = enableSsmAccess; + return this; + } + @CustomType.Setter public Builder initialInstanceCount(@Nullable Integer initialInstanceCount) { this.initialInstanceCount = initialInstanceCount; return this; @@ -246,6 +266,7 @@ public EndpointConfigurationShadowProductionVariant build() { o.acceleratorType = acceleratorType; o.containerStartupHealthCheckTimeoutInSeconds = containerStartupHealthCheckTimeoutInSeconds; o.coreDumpConfig = coreDumpConfig; + o.enableSsmAccess = enableSsmAccess; o.initialInstanceCount = initialInstanceCount; o.initialVariantWeight = initialVariantWeight; o.instanceType = instanceType; diff --git a/sdk/java/src/main/java/com/pulumi/aws/servicecatalog/PortfolioArgs.java b/sdk/java/src/main/java/com/pulumi/aws/servicecatalog/PortfolioArgs.java index 05c9c4db218..de17c9e5a8d 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/servicecatalog/PortfolioArgs.java +++ b/sdk/java/src/main/java/com/pulumi/aws/servicecatalog/PortfolioArgs.java @@ -76,6 +76,21 @@ public Optional>> tags() { return Optional.ofNullable(this.tags); } + /** + * A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. + * + */ + @Import(name="tagsAll") + private @Nullable Output> tagsAll; + + /** + * @return A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. + * + */ + public Optional>> tagsAll() { + return Optional.ofNullable(this.tagsAll); + } + private PortfolioArgs() {} private PortfolioArgs(PortfolioArgs $) { @@ -83,6 +98,7 @@ private PortfolioArgs(PortfolioArgs $) { this.name = $.name; this.providerName = $.providerName; this.tags = $.tags; + this.tagsAll = $.tagsAll; } public static Builder builder() { @@ -187,6 +203,27 @@ public Builder tags(Map tags) { return tags(Output.of(tags)); } + /** + * @param tagsAll A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. + * + * @return builder + * + */ + public Builder tagsAll(@Nullable Output> tagsAll) { + $.tagsAll = tagsAll; + return this; + } + + /** + * @param tagsAll A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. + * + * @return builder + * + */ + public Builder tagsAll(Map tagsAll) { + return tagsAll(Output.of(tagsAll)); + } + public PortfolioArgs build() { $.providerName = Objects.requireNonNull($.providerName, "expected parameter 'providerName' to be non-null"); return $; diff --git a/sdk/java/src/main/java/com/pulumi/aws/servicecatalog/ProductArgs.java b/sdk/java/src/main/java/com/pulumi/aws/servicecatalog/ProductArgs.java index 4042bcdd6fd..8ea6e5cff8e 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/servicecatalog/ProductArgs.java +++ b/sdk/java/src/main/java/com/pulumi/aws/servicecatalog/ProductArgs.java @@ -167,6 +167,21 @@ public Optional>> tags() { return Optional.ofNullable(this.tags); } + /** + * A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. + * + */ + @Import(name="tagsAll") + private @Nullable Output> tagsAll; + + /** + * @return A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. + * + */ + public Optional>> tagsAll() { + return Optional.ofNullable(this.tagsAll); + } + /** * Type of product. See [AWS Docs](https://docs.aws.amazon.com/servicecatalog/latest/dg/API_CreateProduct.html#API_CreateProduct_RequestSyntax) for valid list of values. * @@ -195,6 +210,7 @@ private ProductArgs(ProductArgs $) { this.supportEmail = $.supportEmail; this.supportUrl = $.supportUrl; this.tags = $.tags; + this.tagsAll = $.tagsAll; this.type = $.type; } @@ -426,6 +442,27 @@ public Builder tags(Map tags) { return tags(Output.of(tags)); } + /** + * @param tagsAll A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. + * + * @return builder + * + */ + public Builder tagsAll(@Nullable Output> tagsAll) { + $.tagsAll = tagsAll; + return this; + } + + /** + * @param tagsAll A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. + * + * @return builder + * + */ + public Builder tagsAll(Map tagsAll) { + return tagsAll(Output.of(tagsAll)); + } + /** * @param type Type of product. See [AWS Docs](https://docs.aws.amazon.com/servicecatalog/latest/dg/API_CreateProduct.html#API_CreateProduct_RequestSyntax) for valid list of values. * diff --git a/sdk/java/src/main/java/com/pulumi/aws/servicecatalog/ProvisionedProductArgs.java b/sdk/java/src/main/java/com/pulumi/aws/servicecatalog/ProvisionedProductArgs.java index 4df412191b1..b4a201867bd 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/servicecatalog/ProvisionedProductArgs.java +++ b/sdk/java/src/main/java/com/pulumi/aws/servicecatalog/ProvisionedProductArgs.java @@ -230,6 +230,21 @@ public Optional>> tags() { return Optional.ofNullable(this.tags); } + /** + * Map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. + * + */ + @Import(name="tagsAll") + private @Nullable Output> tagsAll; + + /** + * @return Map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. + * + */ + public Optional>> tagsAll() { + return Optional.ofNullable(this.tagsAll); + } + private ProvisionedProductArgs() {} private ProvisionedProductArgs(ProvisionedProductArgs $) { @@ -247,6 +262,7 @@ private ProvisionedProductArgs(ProvisionedProductArgs $) { this.retainPhysicalResources = $.retainPhysicalResources; this.stackSetProvisioningPreferences = $.stackSetProvisioningPreferences; this.tags = $.tags; + this.tagsAll = $.tagsAll; } public static Builder builder() { @@ -581,6 +597,27 @@ public Builder tags(Map tags) { return tags(Output.of(tags)); } + /** + * @param tagsAll Map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. + * + * @return builder + * + */ + public Builder tagsAll(@Nullable Output> tagsAll) { + $.tagsAll = tagsAll; + return this; + } + + /** + * @param tagsAll Map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. + * + * @return builder + * + */ + public Builder tagsAll(Map tagsAll) { + return tagsAll(Output.of(tagsAll)); + } + public ProvisionedProductArgs build() { return $; } diff --git a/sdk/java/src/main/java/com/pulumi/aws/sns/DataProtectionPolicy.java b/sdk/java/src/main/java/com/pulumi/aws/sns/DataProtectionPolicy.java new file mode 100644 index 00000000000..2301798b1a3 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/sns/DataProtectionPolicy.java @@ -0,0 +1,158 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.sns; + +import com.pulumi.aws.Utilities; +import com.pulumi.aws.sns.DataProtectionPolicyArgs; +import com.pulumi.aws.sns.inputs.DataProtectionPolicyState; +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Export; +import com.pulumi.core.annotations.ResourceType; +import com.pulumi.core.internal.Codegen; +import java.lang.String; +import javax.annotation.Nullable; + +/** + * Provides an SNS data protection topic policy resource + * + * ## Example Usage + * ```java + * package generated_program; + * + * import com.pulumi.Context; + * import com.pulumi.Pulumi; + * import com.pulumi.core.Output; + * import com.pulumi.aws.sns.Topic; + * import com.pulumi.aws.sns.DataProtectionPolicy; + * import com.pulumi.aws.sns.DataProtectionPolicyArgs; + * import static com.pulumi.codegen.internal.Serialization.*; + * import java.util.List; + * import java.util.ArrayList; + * import java.util.Map; + * import java.io.File; + * import java.nio.file.Files; + * import java.nio.file.Paths; + * + * public class App { + * public static void main(String[] args) { + * Pulumi.run(App::stack); + * } + * + * public static void stack(Context ctx) { + * var exampleTopic = new Topic("exampleTopic"); + * + * var exampleDataProtectionPolicy = new DataProtectionPolicy("exampleDataProtectionPolicy", DataProtectionPolicyArgs.builder() + * .arn(exampleTopic.arn()) + * .policy(serializeJson( + * jsonObject( + * jsonProperty("Description", "Example data protection policy"), + * jsonProperty("Name", "__example_data_protection_policy"), + * jsonProperty("Statement", jsonArray(jsonObject( + * jsonProperty("DataDirection", "Inbound"), + * jsonProperty("DataIdentifier", jsonArray("arn:aws:dataprotection::aws:data-identifier/EmailAddress")), + * jsonProperty("Operation", jsonObject( + * jsonProperty("Deny", jsonObject( + * + * )) + * )), + * jsonProperty("Principal", jsonArray("*")), + * jsonProperty("Sid", "__deny_statement_11ba9d96") + * ))), + * jsonProperty("Version", "2021-06-01") + * ))) + * .build()); + * + * } + * } + * ``` + * + * ## Import + * + * SNS Data Protection Topic Policy can be imported using the topic ARN, e.g., + * + * ```sh + * $ pulumi import aws:sns/dataProtectionPolicy:DataProtectionPolicy example arn:aws:sns:us-west-2:0123456789012:example + * ``` + * + */ +@ResourceType(type="aws:sns/dataProtectionPolicy:DataProtectionPolicy") +public class DataProtectionPolicy extends com.pulumi.resources.CustomResource { + /** + * The ARN of the SNS topic + * + */ + @Export(name="arn", refs={String.class}, tree="[0]") + private Output arn; + + /** + * @return The ARN of the SNS topic + * + */ + public Output arn() { + return this.arn; + } + /** + * The fully-formed AWS policy as JSON. For more information about building AWS IAM policy documents with this provider, see the AWS IAM Policy Document Guide. + * + */ + @Export(name="policy", refs={String.class}, tree="[0]") + private Output policy; + + /** + * @return The fully-formed AWS policy as JSON. For more information about building AWS IAM policy documents with this provider, see the AWS IAM Policy Document Guide. + * + */ + public Output policy() { + return this.policy; + } + + /** + * + * @param name The _unique_ name of the resulting resource. + */ + public DataProtectionPolicy(String name) { + this(name, DataProtectionPolicyArgs.Empty); + } + /** + * + * @param name The _unique_ name of the resulting resource. + * @param args The arguments to use to populate this resource's properties. + */ + public DataProtectionPolicy(String name, DataProtectionPolicyArgs args) { + this(name, args, null); + } + /** + * + * @param name The _unique_ name of the resulting resource. + * @param args The arguments to use to populate this resource's properties. + * @param options A bag of options that control this resource's behavior. + */ + public DataProtectionPolicy(String name, DataProtectionPolicyArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { + super("aws:sns/dataProtectionPolicy:DataProtectionPolicy", name, args == null ? DataProtectionPolicyArgs.Empty : args, makeResourceOptions(options, Codegen.empty())); + } + + private DataProtectionPolicy(String name, Output id, @Nullable DataProtectionPolicyState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { + super("aws:sns/dataProtectionPolicy:DataProtectionPolicy", name, state, makeResourceOptions(options, id)); + } + + private static com.pulumi.resources.CustomResourceOptions makeResourceOptions(@Nullable com.pulumi.resources.CustomResourceOptions options, @Nullable Output id) { + var defaultOptions = com.pulumi.resources.CustomResourceOptions.builder() + .version(Utilities.getVersion()) + .build(); + return com.pulumi.resources.CustomResourceOptions.merge(defaultOptions, options, id); + } + + /** + * Get an existing Host resource's state with the given name, ID, and optional extra + * properties used to qualify the lookup. + * + * @param name The _unique_ name of the resulting resource. + * @param id The _unique_ provider ID of the resource to lookup. + * @param state + * @param options Optional settings to control the behavior of the CustomResource. + */ + public static DataProtectionPolicy get(String name, Output id, @Nullable DataProtectionPolicyState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { + return new DataProtectionPolicy(name, id, state, options); + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/sns/DataProtectionPolicyArgs.java b/sdk/java/src/main/java/com/pulumi/aws/sns/DataProtectionPolicyArgs.java new file mode 100644 index 00000000000..0bfe20ab561 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/sns/DataProtectionPolicyArgs.java @@ -0,0 +1,120 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.sns; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.String; +import java.util.Objects; + + +public final class DataProtectionPolicyArgs extends com.pulumi.resources.ResourceArgs { + + public static final DataProtectionPolicyArgs Empty = new DataProtectionPolicyArgs(); + + /** + * The ARN of the SNS topic + * + */ + @Import(name="arn", required=true) + private Output arn; + + /** + * @return The ARN of the SNS topic + * + */ + public Output arn() { + return this.arn; + } + + /** + * The fully-formed AWS policy as JSON. For more information about building AWS IAM policy documents with this provider, see the AWS IAM Policy Document Guide. + * + */ + @Import(name="policy", required=true) + private Output policy; + + /** + * @return The fully-formed AWS policy as JSON. For more information about building AWS IAM policy documents with this provider, see the AWS IAM Policy Document Guide. + * + */ + public Output policy() { + return this.policy; + } + + private DataProtectionPolicyArgs() {} + + private DataProtectionPolicyArgs(DataProtectionPolicyArgs $) { + this.arn = $.arn; + this.policy = $.policy; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(DataProtectionPolicyArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private DataProtectionPolicyArgs $; + + public Builder() { + $ = new DataProtectionPolicyArgs(); + } + + public Builder(DataProtectionPolicyArgs defaults) { + $ = new DataProtectionPolicyArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param arn The ARN of the SNS topic + * + * @return builder + * + */ + public Builder arn(Output arn) { + $.arn = arn; + return this; + } + + /** + * @param arn The ARN of the SNS topic + * + * @return builder + * + */ + public Builder arn(String arn) { + return arn(Output.of(arn)); + } + + /** + * @param policy The fully-formed AWS policy as JSON. For more information about building AWS IAM policy documents with this provider, see the AWS IAM Policy Document Guide. + * + * @return builder + * + */ + public Builder policy(Output policy) { + $.policy = policy; + return this; + } + + /** + * @param policy The fully-formed AWS policy as JSON. For more information about building AWS IAM policy documents with this provider, see the AWS IAM Policy Document Guide. + * + * @return builder + * + */ + public Builder policy(String policy) { + return policy(Output.of(policy)); + } + + public DataProtectionPolicyArgs build() { + $.arn = Objects.requireNonNull($.arn, "expected parameter 'arn' to be non-null"); + $.policy = Objects.requireNonNull($.policy, "expected parameter 'policy' to be non-null"); + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/sns/inputs/DataProtectionPolicyState.java b/sdk/java/src/main/java/com/pulumi/aws/sns/inputs/DataProtectionPolicyState.java new file mode 100644 index 00000000000..8f519987e06 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/sns/inputs/DataProtectionPolicyState.java @@ -0,0 +1,120 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.sns.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class DataProtectionPolicyState extends com.pulumi.resources.ResourceArgs { + + public static final DataProtectionPolicyState Empty = new DataProtectionPolicyState(); + + /** + * The ARN of the SNS topic + * + */ + @Import(name="arn") + private @Nullable Output arn; + + /** + * @return The ARN of the SNS topic + * + */ + public Optional> arn() { + return Optional.ofNullable(this.arn); + } + + /** + * The fully-formed AWS policy as JSON. For more information about building AWS IAM policy documents with this provider, see the AWS IAM Policy Document Guide. + * + */ + @Import(name="policy") + private @Nullable Output policy; + + /** + * @return The fully-formed AWS policy as JSON. For more information about building AWS IAM policy documents with this provider, see the AWS IAM Policy Document Guide. + * + */ + public Optional> policy() { + return Optional.ofNullable(this.policy); + } + + private DataProtectionPolicyState() {} + + private DataProtectionPolicyState(DataProtectionPolicyState $) { + this.arn = $.arn; + this.policy = $.policy; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(DataProtectionPolicyState defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private DataProtectionPolicyState $; + + public Builder() { + $ = new DataProtectionPolicyState(); + } + + public Builder(DataProtectionPolicyState defaults) { + $ = new DataProtectionPolicyState(Objects.requireNonNull(defaults)); + } + + /** + * @param arn The ARN of the SNS topic + * + * @return builder + * + */ + public Builder arn(@Nullable Output arn) { + $.arn = arn; + return this; + } + + /** + * @param arn The ARN of the SNS topic + * + * @return builder + * + */ + public Builder arn(String arn) { + return arn(Output.of(arn)); + } + + /** + * @param policy The fully-formed AWS policy as JSON. For more information about building AWS IAM policy documents with this provider, see the AWS IAM Policy Document Guide. + * + * @return builder + * + */ + public Builder policy(@Nullable Output policy) { + $.policy = policy; + return this; + } + + /** + * @param policy The fully-formed AWS policy as JSON. For more information about building AWS IAM policy documents with this provider, see the AWS IAM Policy Document Guide. + * + * @return builder + * + */ + public Builder policy(String policy) { + return policy(Output.of(policy)); + } + + public DataProtectionPolicyState build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/ssm/ActivationArgs.java b/sdk/java/src/main/java/com/pulumi/aws/ssm/ActivationArgs.java index 1e00e78ea62..8e4134556b7 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/ssm/ActivationArgs.java +++ b/sdk/java/src/main/java/com/pulumi/aws/ssm/ActivationArgs.java @@ -107,6 +107,21 @@ public Optional>> tags() { return Optional.ofNullable(this.tags); } + /** + * A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. + * + */ + @Import(name="tagsAll") + private @Nullable Output> tagsAll; + + /** + * @return A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. + * + */ + public Optional>> tagsAll() { + return Optional.ofNullable(this.tagsAll); + } + private ActivationArgs() {} private ActivationArgs(ActivationArgs $) { @@ -116,6 +131,7 @@ private ActivationArgs(ActivationArgs $) { this.name = $.name; this.registrationLimit = $.registrationLimit; this.tags = $.tags; + this.tagsAll = $.tagsAll; } public static Builder builder() { @@ -262,6 +278,27 @@ public Builder tags(Map tags) { return tags(Output.of(tags)); } + /** + * @param tagsAll A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. + * + * @return builder + * + */ + public Builder tagsAll(@Nullable Output> tagsAll) { + $.tagsAll = tagsAll; + return this; + } + + /** + * @param tagsAll A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. + * + * @return builder + * + */ + public Builder tagsAll(Map tagsAll) { + return tagsAll(Output.of(tagsAll)); + } + public ActivationArgs build() { $.iamRole = Objects.requireNonNull($.iamRole, "expected parameter 'iamRole' to be non-null"); return $; diff --git a/sdk/java/src/main/java/com/pulumi/aws/ssm/DocumentArgs.java b/sdk/java/src/main/java/com/pulumi/aws/ssm/DocumentArgs.java index 38088699f3a..71ca3290186 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/ssm/DocumentArgs.java +++ b/sdk/java/src/main/java/com/pulumi/aws/ssm/DocumentArgs.java @@ -123,6 +123,21 @@ public Optional>> tags() { return Optional.ofNullable(this.tags); } + /** + * A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. + * + */ + @Import(name="tagsAll") + private @Nullable Output> tagsAll; + + /** + * @return A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. + * + */ + public Optional>> tagsAll() { + return Optional.ofNullable(this.tagsAll); + } + /** * The target type which defines the kinds of resources the document can run on. For example, /AWS::EC2::Instance. For a list of valid resource types, see AWS Resource Types Reference (http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-template-resource-type-ref.html) * @@ -163,6 +178,7 @@ private DocumentArgs(DocumentArgs $) { this.name = $.name; this.permissions = $.permissions; this.tags = $.tags; + this.tagsAll = $.tagsAll; this.targetType = $.targetType; this.versionName = $.versionName; } @@ -342,6 +358,27 @@ public Builder tags(Map tags) { return tags(Output.of(tags)); } + /** + * @param tagsAll A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. + * + * @return builder + * + */ + public Builder tagsAll(@Nullable Output> tagsAll) { + $.tagsAll = tagsAll; + return this; + } + + /** + * @param tagsAll A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. + * + * @return builder + * + */ + public Builder tagsAll(Map tagsAll) { + return tagsAll(Output.of(tagsAll)); + } + /** * @param targetType The target type which defines the kinds of resources the document can run on. For example, /AWS::EC2::Instance. For a list of valid resource types, see AWS Resource Types Reference (http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-template-resource-type-ref.html) * diff --git a/sdk/java/src/main/java/com/pulumi/aws/ssm/MaintenanceWindowArgs.java b/sdk/java/src/main/java/com/pulumi/aws/ssm/MaintenanceWindowArgs.java index 8ffd134700a..5946290f68e 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/ssm/MaintenanceWindowArgs.java +++ b/sdk/java/src/main/java/com/pulumi/aws/ssm/MaintenanceWindowArgs.java @@ -198,6 +198,21 @@ public Optional>> tags() { return Optional.ofNullable(this.tags); } + /** + * A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. + * + */ + @Import(name="tagsAll") + private @Nullable Output> tagsAll; + + /** + * @return A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. + * + */ + public Optional>> tagsAll() { + return Optional.ofNullable(this.tagsAll); + } + private MaintenanceWindowArgs() {} private MaintenanceWindowArgs(MaintenanceWindowArgs $) { @@ -213,6 +228,7 @@ private MaintenanceWindowArgs(MaintenanceWindowArgs $) { this.scheduleTimezone = $.scheduleTimezone; this.startDate = $.startDate; this.tags = $.tags; + this.tagsAll = $.tagsAll; } public static Builder builder() { @@ -485,6 +501,27 @@ public Builder tags(Map tags) { return tags(Output.of(tags)); } + /** + * @param tagsAll A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. + * + * @return builder + * + */ + public Builder tagsAll(@Nullable Output> tagsAll) { + $.tagsAll = tagsAll; + return this; + } + + /** + * @param tagsAll A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. + * + * @return builder + * + */ + public Builder tagsAll(Map tagsAll) { + return tagsAll(Output.of(tagsAll)); + } + public MaintenanceWindowArgs build() { $.cutoff = Objects.requireNonNull($.cutoff, "expected parameter 'cutoff' to be non-null"); $.duration = Objects.requireNonNull($.duration, "expected parameter 'duration' to be non-null"); diff --git a/sdk/java/src/main/java/com/pulumi/aws/ssm/ParameterArgs.java b/sdk/java/src/main/java/com/pulumi/aws/ssm/ParameterArgs.java index 8dbc0e78fa5..6a939645768 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/ssm/ParameterArgs.java +++ b/sdk/java/src/main/java/com/pulumi/aws/ssm/ParameterArgs.java @@ -154,6 +154,21 @@ public Optional>> tags() { return Optional.ofNullable(this.tags); } + /** + * Map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. + * + */ + @Import(name="tagsAll") + private @Nullable Output> tagsAll; + + /** + * @return Map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. + * + */ + public Optional>> tagsAll() { + return Optional.ofNullable(this.tagsAll); + } + /** * Parameter tier to assign to the parameter. If not specified, will use the default parameter tier for the region. Valid tiers are `Standard`, `Advanced`, and `Intelligent-Tiering`. Downgrading an `Advanced` tier parameter to `Standard` will recreate the resource. For more information on parameter tiers, see the [AWS SSM Parameter tier comparison and guide](https://docs.aws.amazon.com/systems-manager/latest/userguide/parameter-store-advanced-parameters.html). * @@ -211,6 +226,7 @@ private ParameterArgs(ParameterArgs $) { this.name = $.name; this.overwrite = $.overwrite; this.tags = $.tags; + this.tagsAll = $.tagsAll; this.tier = $.tier; this.type = $.type; this.value = $.value; @@ -423,6 +439,27 @@ public Builder tags(Map tags) { return tags(Output.of(tags)); } + /** + * @param tagsAll Map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. + * + * @return builder + * + */ + public Builder tagsAll(@Nullable Output> tagsAll) { + $.tagsAll = tagsAll; + return this; + } + + /** + * @param tagsAll Map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. + * + * @return builder + * + */ + public Builder tagsAll(Map tagsAll) { + return tagsAll(Output.of(tagsAll)); + } + /** * @param tier Parameter tier to assign to the parameter. If not specified, will use the default parameter tier for the region. Valid tiers are `Standard`, `Advanced`, and `Intelligent-Tiering`. Downgrading an `Advanced` tier parameter to `Standard` will recreate the resource. For more information on parameter tiers, see the [AWS SSM Parameter tier comparison and guide](https://docs.aws.amazon.com/systems-manager/latest/userguide/parameter-store-advanced-parameters.html). * diff --git a/sdk/java/src/main/java/com/pulumi/aws/ssm/PatchBaselineArgs.java b/sdk/java/src/main/java/com/pulumi/aws/ssm/PatchBaselineArgs.java index 20ee798f38b..4edc6c995b3 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/ssm/PatchBaselineArgs.java +++ b/sdk/java/src/main/java/com/pulumi/aws/ssm/PatchBaselineArgs.java @@ -255,6 +255,21 @@ public Optional>> tags() { return Optional.ofNullable(this.tags); } + /** + * A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. + * + */ + @Import(name="tagsAll") + private @Nullable Output> tagsAll; + + /** + * @return A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. + * + */ + public Optional>> tagsAll() { + return Optional.ofNullable(this.tagsAll); + } + private PatchBaselineArgs() {} private PatchBaselineArgs(PatchBaselineArgs $) { @@ -270,6 +285,7 @@ private PatchBaselineArgs(PatchBaselineArgs $) { this.rejectedPatchesAction = $.rejectedPatchesAction; this.sources = $.sources; this.tags = $.tags; + this.tagsAll = $.tagsAll; } public static Builder builder() { @@ -653,6 +669,27 @@ public Builder tags(Map tags) { return tags(Output.of(tags)); } + /** + * @param tagsAll A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. + * + * @return builder + * + */ + public Builder tagsAll(@Nullable Output> tagsAll) { + $.tagsAll = tagsAll; + return this; + } + + /** + * @param tagsAll A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. + * + * @return builder + * + */ + public Builder tagsAll(Map tagsAll) { + return tagsAll(Output.of(tagsAll)); + } + public PatchBaselineArgs build() { return $; } diff --git a/sdk/java/src/main/java/com/pulumi/aws/ssmincidents/ReplicationSet.java b/sdk/java/src/main/java/com/pulumi/aws/ssmincidents/ReplicationSet.java new file mode 100644 index 00000000000..35ca86c5203 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/ssmincidents/ReplicationSet.java @@ -0,0 +1,338 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.ssmincidents; + +import com.pulumi.aws.Utilities; +import com.pulumi.aws.ssmincidents.ReplicationSetArgs; +import com.pulumi.aws.ssmincidents.inputs.ReplicationSetState; +import com.pulumi.aws.ssmincidents.outputs.ReplicationSetRegion; +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Export; +import com.pulumi.core.annotations.ResourceType; +import com.pulumi.core.internal.Codegen; +import java.lang.Boolean; +import java.lang.String; +import java.util.List; +import java.util.Map; +import java.util.Optional; +import javax.annotation.Nullable; + +/** + * Provides a resource for managing a replication set in AWS Systems Manager Incident Manager. + * + * > **NOTE:** Deleting a replication set also deletes all Incident Manager related data including response plans, incident records, contacts and escalation plans. + * + * ## Example Usage + * ### Basic Usage + * + * Create a replication set. + * ```java + * package generated_program; + * + * import com.pulumi.Context; + * import com.pulumi.Pulumi; + * import com.pulumi.core.Output; + * import com.pulumi.aws.ssmincidents.ReplicationSet; + * import com.pulumi.aws.ssmincidents.ReplicationSetArgs; + * import com.pulumi.aws.ssmincidents.inputs.ReplicationSetRegionArgs; + * import java.util.List; + * import java.util.ArrayList; + * import java.util.Map; + * import java.io.File; + * import java.nio.file.Files; + * import java.nio.file.Paths; + * + * public class App { + * public static void main(String[] args) { + * Pulumi.run(App::stack); + * } + * + * public static void stack(Context ctx) { + * var replicationSetName = new ReplicationSet("replicationSetName", ReplicationSetArgs.builder() + * .regions(ReplicationSetRegionArgs.builder() + * .name("us-west-2") + * .build()) + * .tags(Map.of("exampleTag", "exampleValue")) + * .build()); + * + * } + * } + * ``` + * + * Add a Region to a replication set. (You can add only one Region at a time.) + * ```java + * package generated_program; + * + * import com.pulumi.Context; + * import com.pulumi.Pulumi; + * import com.pulumi.core.Output; + * import com.pulumi.aws.ssmincidents.ReplicationSet; + * import com.pulumi.aws.ssmincidents.ReplicationSetArgs; + * import com.pulumi.aws.ssmincidents.inputs.ReplicationSetRegionArgs; + * import java.util.List; + * import java.util.ArrayList; + * import java.util.Map; + * import java.io.File; + * import java.nio.file.Files; + * import java.nio.file.Paths; + * + * public class App { + * public static void main(String[] args) { + * Pulumi.run(App::stack); + * } + * + * public static void stack(Context ctx) { + * var replicationSetName = new ReplicationSet("replicationSetName", ReplicationSetArgs.builder() + * .regions( + * ReplicationSetRegionArgs.builder() + * .name("us-west-2") + * .build(), + * ReplicationSetRegionArgs.builder() + * .name("ap-southeast-2") + * .build()) + * .build()); + * + * } + * } + * ``` + * + * Delete a Region from a replication set. (You can delete only one Region at a time.) + * ```java + * package generated_program; + * + * import com.pulumi.Context; + * import com.pulumi.Pulumi; + * import com.pulumi.core.Output; + * import com.pulumi.aws.ssmincidents.ReplicationSet; + * import com.pulumi.aws.ssmincidents.ReplicationSetArgs; + * import com.pulumi.aws.ssmincidents.inputs.ReplicationSetRegionArgs; + * import java.util.List; + * import java.util.ArrayList; + * import java.util.Map; + * import java.io.File; + * import java.nio.file.Files; + * import java.nio.file.Paths; + * + * public class App { + * public static void main(String[] args) { + * Pulumi.run(App::stack); + * } + * + * public static void stack(Context ctx) { + * var replicationSetName = new ReplicationSet("replicationSetName", ReplicationSetArgs.builder() + * .regions(ReplicationSetRegionArgs.builder() + * .name("us-west-2") + * .build()) + * .build()); + * + * } + * } + * ``` + * ## Basic Usage with an AWS Customer Managed Key + * + * Create a replication set with an AWS Key Management Service (AWS KMS) customer manager key: + * ```java + * package generated_program; + * + * import com.pulumi.Context; + * import com.pulumi.Pulumi; + * import com.pulumi.core.Output; + * import com.pulumi.aws.kms.Key; + * import com.pulumi.aws.ssmincidents.ReplicationSet; + * import com.pulumi.aws.ssmincidents.ReplicationSetArgs; + * import com.pulumi.aws.ssmincidents.inputs.ReplicationSetRegionArgs; + * import java.util.List; + * import java.util.ArrayList; + * import java.util.Map; + * import java.io.File; + * import java.nio.file.Files; + * import java.nio.file.Paths; + * + * public class App { + * public static void main(String[] args) { + * Pulumi.run(App::stack); + * } + * + * public static void stack(Context ctx) { + * var exampleKey = new Key("exampleKey"); + * + * var replicationSetName = new ReplicationSet("replicationSetName", ReplicationSetArgs.builder() + * .regions(ReplicationSetRegionArgs.builder() + * .name("us-west-2") + * .kmsKeyArn(exampleKey.arn()) + * .build()) + * .tags(Map.of("exampleTag", "exampleValue")) + * .build()); + * + * } + * } + * ``` + * + * ## Import + * + * Use the following command to import an Incident Manager replication set + * + * ```sh + * $ pulumi import aws:ssmincidents/replicationSet:ReplicationSet replicationSetName import + * ``` + * + */ +@ResourceType(type="aws:ssmincidents/replicationSet:ReplicationSet") +public class ReplicationSet extends com.pulumi.resources.CustomResource { + /** + * The ARN of the replication set. + * + */ + @Export(name="arn", refs={String.class}, tree="[0]") + private Output arn; + + /** + * @return The ARN of the replication set. + * + */ + public Output arn() { + return this.arn; + } + /** + * The ARN of the user who created the replication set. + * + */ + @Export(name="createdBy", refs={String.class}, tree="[0]") + private Output createdBy; + + /** + * @return The ARN of the user who created the replication set. + * + */ + public Output createdBy() { + return this.createdBy; + } + /** + * If `true`, the last region in a replication set cannot be deleted. + * + */ + @Export(name="deletionProtected", refs={Boolean.class}, tree="[0]") + private Output deletionProtected; + + /** + * @return If `true`, the last region in a replication set cannot be deleted. + * + */ + public Output deletionProtected() { + return this.deletionProtected; + } + /** + * A timestamp showing when the replication set was last modified. + * + */ + @Export(name="lastModifiedBy", refs={String.class}, tree="[0]") + private Output lastModifiedBy; + + /** + * @return A timestamp showing when the replication set was last modified. + * + */ + public Output lastModifiedBy() { + return this.lastModifiedBy; + } + @Export(name="regions", refs={List.class,ReplicationSetRegion.class}, tree="[0,1]") + private Output> regions; + + public Output> regions() { + return this.regions; + } + /** + * The current status of the Region. + * * Valid Values: `ACTIVE` | `CREATING` | `UPDATING` | `DELETING` | `FAILED` + * + */ + @Export(name="status", refs={String.class}, tree="[0]") + private Output status; + + /** + * @return The current status of the Region. + * * Valid Values: `ACTIVE` | `CREATING` | `UPDATING` | `DELETING` | `FAILED` + * + */ + public Output status() { + return this.status; + } + /** + * Tags applied to the replication set. + * + */ + @Export(name="tags", refs={Map.class,String.class}, tree="[0,1,1]") + private Output> tags; + + /** + * @return Tags applied to the replication set. + * + */ + public Output>> tags() { + return Codegen.optional(this.tags); + } + /** + * A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. + * + */ + @Export(name="tagsAll", refs={Map.class,String.class}, tree="[0,1,1]") + private Output> tagsAll; + + /** + * @return A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. + * + */ + public Output> tagsAll() { + return this.tagsAll; + } + + /** + * + * @param name The _unique_ name of the resulting resource. + */ + public ReplicationSet(String name) { + this(name, ReplicationSetArgs.Empty); + } + /** + * + * @param name The _unique_ name of the resulting resource. + * @param args The arguments to use to populate this resource's properties. + */ + public ReplicationSet(String name, ReplicationSetArgs args) { + this(name, args, null); + } + /** + * + * @param name The _unique_ name of the resulting resource. + * @param args The arguments to use to populate this resource's properties. + * @param options A bag of options that control this resource's behavior. + */ + public ReplicationSet(String name, ReplicationSetArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { + super("aws:ssmincidents/replicationSet:ReplicationSet", name, args == null ? ReplicationSetArgs.Empty : args, makeResourceOptions(options, Codegen.empty())); + } + + private ReplicationSet(String name, Output id, @Nullable ReplicationSetState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { + super("aws:ssmincidents/replicationSet:ReplicationSet", name, state, makeResourceOptions(options, id)); + } + + private static com.pulumi.resources.CustomResourceOptions makeResourceOptions(@Nullable com.pulumi.resources.CustomResourceOptions options, @Nullable Output id) { + var defaultOptions = com.pulumi.resources.CustomResourceOptions.builder() + .version(Utilities.getVersion()) + .build(); + return com.pulumi.resources.CustomResourceOptions.merge(defaultOptions, options, id); + } + + /** + * Get an existing Host resource's state with the given name, ID, and optional extra + * properties used to qualify the lookup. + * + * @param name The _unique_ name of the resulting resource. + * @param id The _unique_ provider ID of the resource to lookup. + * @param state + * @param options Optional settings to control the behavior of the CustomResource. + */ + public static ReplicationSet get(String name, Output id, @Nullable ReplicationSetState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { + return new ReplicationSet(name, id, state, options); + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/ssmincidents/ReplicationSetArgs.java b/sdk/java/src/main/java/com/pulumi/aws/ssmincidents/ReplicationSetArgs.java new file mode 100644 index 00000000000..ccaf5fe2035 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/ssmincidents/ReplicationSetArgs.java @@ -0,0 +1,108 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.ssmincidents; + +import com.pulumi.aws.ssmincidents.inputs.ReplicationSetRegionArgs; +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.String; +import java.util.List; +import java.util.Map; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class ReplicationSetArgs extends com.pulumi.resources.ResourceArgs { + + public static final ReplicationSetArgs Empty = new ReplicationSetArgs(); + + @Import(name="regions", required=true) + private Output> regions; + + public Output> regions() { + return this.regions; + } + + /** + * Tags applied to the replication set. + * + */ + @Import(name="tags") + private @Nullable Output> tags; + + /** + * @return Tags applied to the replication set. + * + */ + public Optional>> tags() { + return Optional.ofNullable(this.tags); + } + + private ReplicationSetArgs() {} + + private ReplicationSetArgs(ReplicationSetArgs $) { + this.regions = $.regions; + this.tags = $.tags; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(ReplicationSetArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private ReplicationSetArgs $; + + public Builder() { + $ = new ReplicationSetArgs(); + } + + public Builder(ReplicationSetArgs defaults) { + $ = new ReplicationSetArgs(Objects.requireNonNull(defaults)); + } + + public Builder regions(Output> regions) { + $.regions = regions; + return this; + } + + public Builder regions(List regions) { + return regions(Output.of(regions)); + } + + public Builder regions(ReplicationSetRegionArgs... regions) { + return regions(List.of(regions)); + } + + /** + * @param tags Tags applied to the replication set. + * + * @return builder + * + */ + public Builder tags(@Nullable Output> tags) { + $.tags = tags; + return this; + } + + /** + * @param tags Tags applied to the replication set. + * + * @return builder + * + */ + public Builder tags(Map tags) { + return tags(Output.of(tags)); + } + + public ReplicationSetArgs build() { + $.regions = Objects.requireNonNull($.regions, "expected parameter 'regions' to be non-null"); + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/ssmincidents/SsmincidentsFunctions.java b/sdk/java/src/main/java/com/pulumi/aws/ssmincidents/SsmincidentsFunctions.java new file mode 100644 index 00000000000..132e48e297b --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/ssmincidents/SsmincidentsFunctions.java @@ -0,0 +1,245 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.ssmincidents; + +import com.pulumi.aws.Utilities; +import com.pulumi.aws.ssmincidents.inputs.GetReplicationSetArgs; +import com.pulumi.aws.ssmincidents.inputs.GetReplicationSetPlainArgs; +import com.pulumi.aws.ssmincidents.outputs.GetReplicationSetResult; +import com.pulumi.core.Output; +import com.pulumi.core.TypeShape; +import com.pulumi.deployment.Deployment; +import com.pulumi.deployment.InvokeOptions; +import java.util.concurrent.CompletableFuture; + +public final class SsmincidentsFunctions { + /** + * > **NOTE:** The AWS Region specified by a provider must always be one of the Regions specified for the replication set. + * + * Use this data source to manage a replication set in AWS Systems Manager Incident Manager. + * + * ## Example Usage + * ### Basic Usage + * ```java + * package generated_program; + * + * import com.pulumi.Context; + * import com.pulumi.Pulumi; + * import com.pulumi.core.Output; + * import com.pulumi.aws.ssmincidents.SsmincidentsFunctions; + * import com.pulumi.aws.ssmincidents.inputs.GetReplicationSetArgs; + * import java.util.List; + * import java.util.ArrayList; + * import java.util.Map; + * import java.io.File; + * import java.nio.file.Files; + * import java.nio.file.Paths; + * + * public class App { + * public static void main(String[] args) { + * Pulumi.run(App::stack); + * } + * + * public static void stack(Context ctx) { + * final var example = SsmincidentsFunctions.getReplicationSet(); + * + * } + * } + * ``` + * + */ + public static Output getReplicationSet() { + return getReplicationSet(GetReplicationSetArgs.Empty, InvokeOptions.Empty); + } + /** + * > **NOTE:** The AWS Region specified by a provider must always be one of the Regions specified for the replication set. + * + * Use this data source to manage a replication set in AWS Systems Manager Incident Manager. + * + * ## Example Usage + * ### Basic Usage + * ```java + * package generated_program; + * + * import com.pulumi.Context; + * import com.pulumi.Pulumi; + * import com.pulumi.core.Output; + * import com.pulumi.aws.ssmincidents.SsmincidentsFunctions; + * import com.pulumi.aws.ssmincidents.inputs.GetReplicationSetArgs; + * import java.util.List; + * import java.util.ArrayList; + * import java.util.Map; + * import java.io.File; + * import java.nio.file.Files; + * import java.nio.file.Paths; + * + * public class App { + * public static void main(String[] args) { + * Pulumi.run(App::stack); + * } + * + * public static void stack(Context ctx) { + * final var example = SsmincidentsFunctions.getReplicationSet(); + * + * } + * } + * ``` + * + */ + public static CompletableFuture getReplicationSetPlain() { + return getReplicationSetPlain(GetReplicationSetPlainArgs.Empty, InvokeOptions.Empty); + } + /** + * > **NOTE:** The AWS Region specified by a provider must always be one of the Regions specified for the replication set. + * + * Use this data source to manage a replication set in AWS Systems Manager Incident Manager. + * + * ## Example Usage + * ### Basic Usage + * ```java + * package generated_program; + * + * import com.pulumi.Context; + * import com.pulumi.Pulumi; + * import com.pulumi.core.Output; + * import com.pulumi.aws.ssmincidents.SsmincidentsFunctions; + * import com.pulumi.aws.ssmincidents.inputs.GetReplicationSetArgs; + * import java.util.List; + * import java.util.ArrayList; + * import java.util.Map; + * import java.io.File; + * import java.nio.file.Files; + * import java.nio.file.Paths; + * + * public class App { + * public static void main(String[] args) { + * Pulumi.run(App::stack); + * } + * + * public static void stack(Context ctx) { + * final var example = SsmincidentsFunctions.getReplicationSet(); + * + * } + * } + * ``` + * + */ + public static Output getReplicationSet(GetReplicationSetArgs args) { + return getReplicationSet(args, InvokeOptions.Empty); + } + /** + * > **NOTE:** The AWS Region specified by a provider must always be one of the Regions specified for the replication set. + * + * Use this data source to manage a replication set in AWS Systems Manager Incident Manager. + * + * ## Example Usage + * ### Basic Usage + * ```java + * package generated_program; + * + * import com.pulumi.Context; + * import com.pulumi.Pulumi; + * import com.pulumi.core.Output; + * import com.pulumi.aws.ssmincidents.SsmincidentsFunctions; + * import com.pulumi.aws.ssmincidents.inputs.GetReplicationSetArgs; + * import java.util.List; + * import java.util.ArrayList; + * import java.util.Map; + * import java.io.File; + * import java.nio.file.Files; + * import java.nio.file.Paths; + * + * public class App { + * public static void main(String[] args) { + * Pulumi.run(App::stack); + * } + * + * public static void stack(Context ctx) { + * final var example = SsmincidentsFunctions.getReplicationSet(); + * + * } + * } + * ``` + * + */ + public static CompletableFuture getReplicationSetPlain(GetReplicationSetPlainArgs args) { + return getReplicationSetPlain(args, InvokeOptions.Empty); + } + /** + * > **NOTE:** The AWS Region specified by a provider must always be one of the Regions specified for the replication set. + * + * Use this data source to manage a replication set in AWS Systems Manager Incident Manager. + * + * ## Example Usage + * ### Basic Usage + * ```java + * package generated_program; + * + * import com.pulumi.Context; + * import com.pulumi.Pulumi; + * import com.pulumi.core.Output; + * import com.pulumi.aws.ssmincidents.SsmincidentsFunctions; + * import com.pulumi.aws.ssmincidents.inputs.GetReplicationSetArgs; + * import java.util.List; + * import java.util.ArrayList; + * import java.util.Map; + * import java.io.File; + * import java.nio.file.Files; + * import java.nio.file.Paths; + * + * public class App { + * public static void main(String[] args) { + * Pulumi.run(App::stack); + * } + * + * public static void stack(Context ctx) { + * final var example = SsmincidentsFunctions.getReplicationSet(); + * + * } + * } + * ``` + * + */ + public static Output getReplicationSet(GetReplicationSetArgs args, InvokeOptions options) { + return Deployment.getInstance().invoke("aws:ssmincidents/getReplicationSet:getReplicationSet", TypeShape.of(GetReplicationSetResult.class), args, Utilities.withVersion(options)); + } + /** + * > **NOTE:** The AWS Region specified by a provider must always be one of the Regions specified for the replication set. + * + * Use this data source to manage a replication set in AWS Systems Manager Incident Manager. + * + * ## Example Usage + * ### Basic Usage + * ```java + * package generated_program; + * + * import com.pulumi.Context; + * import com.pulumi.Pulumi; + * import com.pulumi.core.Output; + * import com.pulumi.aws.ssmincidents.SsmincidentsFunctions; + * import com.pulumi.aws.ssmincidents.inputs.GetReplicationSetArgs; + * import java.util.List; + * import java.util.ArrayList; + * import java.util.Map; + * import java.io.File; + * import java.nio.file.Files; + * import java.nio.file.Paths; + * + * public class App { + * public static void main(String[] args) { + * Pulumi.run(App::stack); + * } + * + * public static void stack(Context ctx) { + * final var example = SsmincidentsFunctions.getReplicationSet(); + * + * } + * } + * ``` + * + */ + public static CompletableFuture getReplicationSetPlain(GetReplicationSetPlainArgs args, InvokeOptions options) { + return Deployment.getInstance().invokeAsync("aws:ssmincidents/getReplicationSet:getReplicationSet", TypeShape.of(GetReplicationSetResult.class), args, Utilities.withVersion(options)); + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/ssmincidents/inputs/GetReplicationSetArgs.java b/sdk/java/src/main/java/com/pulumi/aws/ssmincidents/inputs/GetReplicationSetArgs.java new file mode 100644 index 00000000000..66dacb19770 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/ssmincidents/inputs/GetReplicationSetArgs.java @@ -0,0 +1,84 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.ssmincidents.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.String; +import java.util.Map; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class GetReplicationSetArgs extends com.pulumi.resources.InvokeArgs { + + public static final GetReplicationSetArgs Empty = new GetReplicationSetArgs(); + + /** + * All tags applied to the replication set. + * + */ + @Import(name="tags") + private @Nullable Output> tags; + + /** + * @return All tags applied to the replication set. + * + */ + public Optional>> tags() { + return Optional.ofNullable(this.tags); + } + + private GetReplicationSetArgs() {} + + private GetReplicationSetArgs(GetReplicationSetArgs $) { + this.tags = $.tags; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(GetReplicationSetArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private GetReplicationSetArgs $; + + public Builder() { + $ = new GetReplicationSetArgs(); + } + + public Builder(GetReplicationSetArgs defaults) { + $ = new GetReplicationSetArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param tags All tags applied to the replication set. + * + * @return builder + * + */ + public Builder tags(@Nullable Output> tags) { + $.tags = tags; + return this; + } + + /** + * @param tags All tags applied to the replication set. + * + * @return builder + * + */ + public Builder tags(Map tags) { + return tags(Output.of(tags)); + } + + public GetReplicationSetArgs build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/ssmincidents/inputs/GetReplicationSetPlainArgs.java b/sdk/java/src/main/java/com/pulumi/aws/ssmincidents/inputs/GetReplicationSetPlainArgs.java new file mode 100644 index 00000000000..d520b9eb28f --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/ssmincidents/inputs/GetReplicationSetPlainArgs.java @@ -0,0 +1,73 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.ssmincidents.inputs; + +import com.pulumi.core.annotations.Import; +import java.lang.String; +import java.util.Map; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class GetReplicationSetPlainArgs extends com.pulumi.resources.InvokeArgs { + + public static final GetReplicationSetPlainArgs Empty = new GetReplicationSetPlainArgs(); + + /** + * All tags applied to the replication set. + * + */ + @Import(name="tags") + private @Nullable Map tags; + + /** + * @return All tags applied to the replication set. + * + */ + public Optional> tags() { + return Optional.ofNullable(this.tags); + } + + private GetReplicationSetPlainArgs() {} + + private GetReplicationSetPlainArgs(GetReplicationSetPlainArgs $) { + this.tags = $.tags; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(GetReplicationSetPlainArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private GetReplicationSetPlainArgs $; + + public Builder() { + $ = new GetReplicationSetPlainArgs(); + } + + public Builder(GetReplicationSetPlainArgs defaults) { + $ = new GetReplicationSetPlainArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param tags All tags applied to the replication set. + * + * @return builder + * + */ + public Builder tags(@Nullable Map tags) { + $.tags = tags; + return this; + } + + public GetReplicationSetPlainArgs build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/ssmincidents/inputs/ReplicationSetRegionArgs.java b/sdk/java/src/main/java/com/pulumi/aws/ssmincidents/inputs/ReplicationSetRegionArgs.java new file mode 100644 index 00000000000..bd5ebe61517 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/ssmincidents/inputs/ReplicationSetRegionArgs.java @@ -0,0 +1,199 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.ssmincidents.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class ReplicationSetRegionArgs extends com.pulumi.resources.ResourceArgs { + + public static final ReplicationSetRegionArgs Empty = new ReplicationSetRegionArgs(); + + /** + * The Amazon Resource name (ARN) of the customer managed key. If omitted, AWS manages the AWS KMS keys for you, using an AWS owned key, as indicated by a default value of `DefaultKey`. + * + */ + @Import(name="kmsKeyArn") + private @Nullable Output kmsKeyArn; + + /** + * @return The Amazon Resource name (ARN) of the customer managed key. If omitted, AWS manages the AWS KMS keys for you, using an AWS owned key, as indicated by a default value of `DefaultKey`. + * + */ + public Optional> kmsKeyArn() { + return Optional.ofNullable(this.kmsKeyArn); + } + + /** + * The name of the Region, such as `ap-southeast-2`. + * + */ + @Import(name="name", required=true) + private Output name; + + /** + * @return The name of the Region, such as `ap-southeast-2`. + * + */ + public Output name() { + return this.name; + } + + /** + * The current status of the Region. + * * Valid Values: `ACTIVE` | `CREATING` | `UPDATING` | `DELETING` | `FAILED` + * + */ + @Import(name="status") + private @Nullable Output status; + + /** + * @return The current status of the Region. + * * Valid Values: `ACTIVE` | `CREATING` | `UPDATING` | `DELETING` | `FAILED` + * + */ + public Optional> status() { + return Optional.ofNullable(this.status); + } + + /** + * More information about the status of a Region. + * + */ + @Import(name="statusMessage") + private @Nullable Output statusMessage; + + /** + * @return More information about the status of a Region. + * + */ + public Optional> statusMessage() { + return Optional.ofNullable(this.statusMessage); + } + + private ReplicationSetRegionArgs() {} + + private ReplicationSetRegionArgs(ReplicationSetRegionArgs $) { + this.kmsKeyArn = $.kmsKeyArn; + this.name = $.name; + this.status = $.status; + this.statusMessage = $.statusMessage; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(ReplicationSetRegionArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private ReplicationSetRegionArgs $; + + public Builder() { + $ = new ReplicationSetRegionArgs(); + } + + public Builder(ReplicationSetRegionArgs defaults) { + $ = new ReplicationSetRegionArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param kmsKeyArn The Amazon Resource name (ARN) of the customer managed key. If omitted, AWS manages the AWS KMS keys for you, using an AWS owned key, as indicated by a default value of `DefaultKey`. + * + * @return builder + * + */ + public Builder kmsKeyArn(@Nullable Output kmsKeyArn) { + $.kmsKeyArn = kmsKeyArn; + return this; + } + + /** + * @param kmsKeyArn The Amazon Resource name (ARN) of the customer managed key. If omitted, AWS manages the AWS KMS keys for you, using an AWS owned key, as indicated by a default value of `DefaultKey`. + * + * @return builder + * + */ + public Builder kmsKeyArn(String kmsKeyArn) { + return kmsKeyArn(Output.of(kmsKeyArn)); + } + + /** + * @param name The name of the Region, such as `ap-southeast-2`. + * + * @return builder + * + */ + public Builder name(Output name) { + $.name = name; + return this; + } + + /** + * @param name The name of the Region, such as `ap-southeast-2`. + * + * @return builder + * + */ + public Builder name(String name) { + return name(Output.of(name)); + } + + /** + * @param status The current status of the Region. + * * Valid Values: `ACTIVE` | `CREATING` | `UPDATING` | `DELETING` | `FAILED` + * + * @return builder + * + */ + public Builder status(@Nullable Output status) { + $.status = status; + return this; + } + + /** + * @param status The current status of the Region. + * * Valid Values: `ACTIVE` | `CREATING` | `UPDATING` | `DELETING` | `FAILED` + * + * @return builder + * + */ + public Builder status(String status) { + return status(Output.of(status)); + } + + /** + * @param statusMessage More information about the status of a Region. + * + * @return builder + * + */ + public Builder statusMessage(@Nullable Output statusMessage) { + $.statusMessage = statusMessage; + return this; + } + + /** + * @param statusMessage More information about the status of a Region. + * + * @return builder + * + */ + public Builder statusMessage(String statusMessage) { + return statusMessage(Output.of(statusMessage)); + } + + public ReplicationSetRegionArgs build() { + $.name = Objects.requireNonNull($.name, "expected parameter 'name' to be non-null"); + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/ssmincidents/inputs/ReplicationSetState.java b/sdk/java/src/main/java/com/pulumi/aws/ssmincidents/inputs/ReplicationSetState.java new file mode 100644 index 00000000000..539f455607f --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/ssmincidents/inputs/ReplicationSetState.java @@ -0,0 +1,334 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.ssmincidents.inputs; + +import com.pulumi.aws.ssmincidents.inputs.ReplicationSetRegionArgs; +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.Boolean; +import java.lang.String; +import java.util.List; +import java.util.Map; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class ReplicationSetState extends com.pulumi.resources.ResourceArgs { + + public static final ReplicationSetState Empty = new ReplicationSetState(); + + /** + * The ARN of the replication set. + * + */ + @Import(name="arn") + private @Nullable Output arn; + + /** + * @return The ARN of the replication set. + * + */ + public Optional> arn() { + return Optional.ofNullable(this.arn); + } + + /** + * The ARN of the user who created the replication set. + * + */ + @Import(name="createdBy") + private @Nullable Output createdBy; + + /** + * @return The ARN of the user who created the replication set. + * + */ + public Optional> createdBy() { + return Optional.ofNullable(this.createdBy); + } + + /** + * If `true`, the last region in a replication set cannot be deleted. + * + */ + @Import(name="deletionProtected") + private @Nullable Output deletionProtected; + + /** + * @return If `true`, the last region in a replication set cannot be deleted. + * + */ + public Optional> deletionProtected() { + return Optional.ofNullable(this.deletionProtected); + } + + /** + * A timestamp showing when the replication set was last modified. + * + */ + @Import(name="lastModifiedBy") + private @Nullable Output lastModifiedBy; + + /** + * @return A timestamp showing when the replication set was last modified. + * + */ + public Optional> lastModifiedBy() { + return Optional.ofNullable(this.lastModifiedBy); + } + + @Import(name="regions") + private @Nullable Output> regions; + + public Optional>> regions() { + return Optional.ofNullable(this.regions); + } + + /** + * The current status of the Region. + * * Valid Values: `ACTIVE` | `CREATING` | `UPDATING` | `DELETING` | `FAILED` + * + */ + @Import(name="status") + private @Nullable Output status; + + /** + * @return The current status of the Region. + * * Valid Values: `ACTIVE` | `CREATING` | `UPDATING` | `DELETING` | `FAILED` + * + */ + public Optional> status() { + return Optional.ofNullable(this.status); + } + + /** + * Tags applied to the replication set. + * + */ + @Import(name="tags") + private @Nullable Output> tags; + + /** + * @return Tags applied to the replication set. + * + */ + public Optional>> tags() { + return Optional.ofNullable(this.tags); + } + + /** + * A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. + * + */ + @Import(name="tagsAll") + private @Nullable Output> tagsAll; + + /** + * @return A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. + * + */ + public Optional>> tagsAll() { + return Optional.ofNullable(this.tagsAll); + } + + private ReplicationSetState() {} + + private ReplicationSetState(ReplicationSetState $) { + this.arn = $.arn; + this.createdBy = $.createdBy; + this.deletionProtected = $.deletionProtected; + this.lastModifiedBy = $.lastModifiedBy; + this.regions = $.regions; + this.status = $.status; + this.tags = $.tags; + this.tagsAll = $.tagsAll; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(ReplicationSetState defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private ReplicationSetState $; + + public Builder() { + $ = new ReplicationSetState(); + } + + public Builder(ReplicationSetState defaults) { + $ = new ReplicationSetState(Objects.requireNonNull(defaults)); + } + + /** + * @param arn The ARN of the replication set. + * + * @return builder + * + */ + public Builder arn(@Nullable Output arn) { + $.arn = arn; + return this; + } + + /** + * @param arn The ARN of the replication set. + * + * @return builder + * + */ + public Builder arn(String arn) { + return arn(Output.of(arn)); + } + + /** + * @param createdBy The ARN of the user who created the replication set. + * + * @return builder + * + */ + public Builder createdBy(@Nullable Output createdBy) { + $.createdBy = createdBy; + return this; + } + + /** + * @param createdBy The ARN of the user who created the replication set. + * + * @return builder + * + */ + public Builder createdBy(String createdBy) { + return createdBy(Output.of(createdBy)); + } + + /** + * @param deletionProtected If `true`, the last region in a replication set cannot be deleted. + * + * @return builder + * + */ + public Builder deletionProtected(@Nullable Output deletionProtected) { + $.deletionProtected = deletionProtected; + return this; + } + + /** + * @param deletionProtected If `true`, the last region in a replication set cannot be deleted. + * + * @return builder + * + */ + public Builder deletionProtected(Boolean deletionProtected) { + return deletionProtected(Output.of(deletionProtected)); + } + + /** + * @param lastModifiedBy A timestamp showing when the replication set was last modified. + * + * @return builder + * + */ + public Builder lastModifiedBy(@Nullable Output lastModifiedBy) { + $.lastModifiedBy = lastModifiedBy; + return this; + } + + /** + * @param lastModifiedBy A timestamp showing when the replication set was last modified. + * + * @return builder + * + */ + public Builder lastModifiedBy(String lastModifiedBy) { + return lastModifiedBy(Output.of(lastModifiedBy)); + } + + public Builder regions(@Nullable Output> regions) { + $.regions = regions; + return this; + } + + public Builder regions(List regions) { + return regions(Output.of(regions)); + } + + public Builder regions(ReplicationSetRegionArgs... regions) { + return regions(List.of(regions)); + } + + /** + * @param status The current status of the Region. + * * Valid Values: `ACTIVE` | `CREATING` | `UPDATING` | `DELETING` | `FAILED` + * + * @return builder + * + */ + public Builder status(@Nullable Output status) { + $.status = status; + return this; + } + + /** + * @param status The current status of the Region. + * * Valid Values: `ACTIVE` | `CREATING` | `UPDATING` | `DELETING` | `FAILED` + * + * @return builder + * + */ + public Builder status(String status) { + return status(Output.of(status)); + } + + /** + * @param tags Tags applied to the replication set. + * + * @return builder + * + */ + public Builder tags(@Nullable Output> tags) { + $.tags = tags; + return this; + } + + /** + * @param tags Tags applied to the replication set. + * + * @return builder + * + */ + public Builder tags(Map tags) { + return tags(Output.of(tags)); + } + + /** + * @param tagsAll A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. + * + * @return builder + * + */ + public Builder tagsAll(@Nullable Output> tagsAll) { + $.tagsAll = tagsAll; + return this; + } + + /** + * @param tagsAll A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. + * + * @return builder + * + */ + public Builder tagsAll(Map tagsAll) { + return tagsAll(Output.of(tagsAll)); + } + + public ReplicationSetState build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/ssmincidents/outputs/GetReplicationSetRegion.java b/sdk/java/src/main/java/com/pulumi/aws/ssmincidents/outputs/GetReplicationSetRegion.java new file mode 100644 index 00000000000..595b0a9ac78 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/ssmincidents/outputs/GetReplicationSetRegion.java @@ -0,0 +1,116 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.ssmincidents.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.String; +import java.util.Objects; + +@CustomType +public final class GetReplicationSetRegion { + /** + * @return The ARN of the AWS Key Management Service (AWS KMS) encryption key. + * + */ + private String kmsKeyArn; + /** + * @return The name of the Region. + * + */ + private String name; + /** + * @return The current status of the Region. + * * Valid Values: `ACTIVE` | `CREATING` | `UPDATING` | `DELETING` | `FAILED` + * + */ + private String status; + /** + * @return More information about the status of a Region. + * + */ + private String statusMessage; + + private GetReplicationSetRegion() {} + /** + * @return The ARN of the AWS Key Management Service (AWS KMS) encryption key. + * + */ + public String kmsKeyArn() { + return this.kmsKeyArn; + } + /** + * @return The name of the Region. + * + */ + public String name() { + return this.name; + } + /** + * @return The current status of the Region. + * * Valid Values: `ACTIVE` | `CREATING` | `UPDATING` | `DELETING` | `FAILED` + * + */ + public String status() { + return this.status; + } + /** + * @return More information about the status of a Region. + * + */ + public String statusMessage() { + return this.statusMessage; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(GetReplicationSetRegion defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private String kmsKeyArn; + private String name; + private String status; + private String statusMessage; + public Builder() {} + public Builder(GetReplicationSetRegion defaults) { + Objects.requireNonNull(defaults); + this.kmsKeyArn = defaults.kmsKeyArn; + this.name = defaults.name; + this.status = defaults.status; + this.statusMessage = defaults.statusMessage; + } + + @CustomType.Setter + public Builder kmsKeyArn(String kmsKeyArn) { + this.kmsKeyArn = Objects.requireNonNull(kmsKeyArn); + return this; + } + @CustomType.Setter + public Builder name(String name) { + this.name = Objects.requireNonNull(name); + return this; + } + @CustomType.Setter + public Builder status(String status) { + this.status = Objects.requireNonNull(status); + return this; + } + @CustomType.Setter + public Builder statusMessage(String statusMessage) { + this.statusMessage = Objects.requireNonNull(statusMessage); + return this; + } + public GetReplicationSetRegion build() { + final var o = new GetReplicationSetRegion(); + o.kmsKeyArn = kmsKeyArn; + o.name = name; + o.status = status; + o.statusMessage = statusMessage; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/ssmincidents/outputs/GetReplicationSetResult.java b/sdk/java/src/main/java/com/pulumi/aws/ssmincidents/outputs/GetReplicationSetResult.java new file mode 100644 index 00000000000..f956f445c7b --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/ssmincidents/outputs/GetReplicationSetResult.java @@ -0,0 +1,195 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.ssmincidents.outputs; + +import com.pulumi.aws.ssmincidents.outputs.GetReplicationSetRegion; +import com.pulumi.core.annotations.CustomType; +import java.lang.Boolean; +import java.lang.String; +import java.util.List; +import java.util.Map; +import java.util.Objects; + +@CustomType +public final class GetReplicationSetResult { + /** + * @return The Amazon Resouce Name (ARN) of the replication set. + * + */ + private String arn; + /** + * @return The ARN of the user who created the replication set. + * + */ + private String createdBy; + /** + * @return If `true`, the last remaining Region in a replication set can’t be deleted. + * + */ + private Boolean deletionProtected; + /** + * @return The provider-assigned unique ID for this managed resource. + * + */ + private String id; + /** + * @return The ARN of the user who last modified the replication set. + * + */ + private String lastModifiedBy; + private List regions; + /** + * @return The current status of the Region. + * * Valid Values: `ACTIVE` | `CREATING` | `UPDATING` | `DELETING` | `FAILED` + * + */ + private String status; + /** + * @return All tags applied to the replication set. + * + */ + private Map tags; + + private GetReplicationSetResult() {} + /** + * @return The Amazon Resouce Name (ARN) of the replication set. + * + */ + public String arn() { + return this.arn; + } + /** + * @return The ARN of the user who created the replication set. + * + */ + public String createdBy() { + return this.createdBy; + } + /** + * @return If `true`, the last remaining Region in a replication set can’t be deleted. + * + */ + public Boolean deletionProtected() { + return this.deletionProtected; + } + /** + * @return The provider-assigned unique ID for this managed resource. + * + */ + public String id() { + return this.id; + } + /** + * @return The ARN of the user who last modified the replication set. + * + */ + public String lastModifiedBy() { + return this.lastModifiedBy; + } + public List regions() { + return this.regions; + } + /** + * @return The current status of the Region. + * * Valid Values: `ACTIVE` | `CREATING` | `UPDATING` | `DELETING` | `FAILED` + * + */ + public String status() { + return this.status; + } + /** + * @return All tags applied to the replication set. + * + */ + public Map tags() { + return this.tags; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(GetReplicationSetResult defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private String arn; + private String createdBy; + private Boolean deletionProtected; + private String id; + private String lastModifiedBy; + private List regions; + private String status; + private Map tags; + public Builder() {} + public Builder(GetReplicationSetResult defaults) { + Objects.requireNonNull(defaults); + this.arn = defaults.arn; + this.createdBy = defaults.createdBy; + this.deletionProtected = defaults.deletionProtected; + this.id = defaults.id; + this.lastModifiedBy = defaults.lastModifiedBy; + this.regions = defaults.regions; + this.status = defaults.status; + this.tags = defaults.tags; + } + + @CustomType.Setter + public Builder arn(String arn) { + this.arn = Objects.requireNonNull(arn); + return this; + } + @CustomType.Setter + public Builder createdBy(String createdBy) { + this.createdBy = Objects.requireNonNull(createdBy); + return this; + } + @CustomType.Setter + public Builder deletionProtected(Boolean deletionProtected) { + this.deletionProtected = Objects.requireNonNull(deletionProtected); + return this; + } + @CustomType.Setter + public Builder id(String id) { + this.id = Objects.requireNonNull(id); + return this; + } + @CustomType.Setter + public Builder lastModifiedBy(String lastModifiedBy) { + this.lastModifiedBy = Objects.requireNonNull(lastModifiedBy); + return this; + } + @CustomType.Setter + public Builder regions(List regions) { + this.regions = Objects.requireNonNull(regions); + return this; + } + public Builder regions(GetReplicationSetRegion... regions) { + return regions(List.of(regions)); + } + @CustomType.Setter + public Builder status(String status) { + this.status = Objects.requireNonNull(status); + return this; + } + @CustomType.Setter + public Builder tags(Map tags) { + this.tags = Objects.requireNonNull(tags); + return this; + } + public GetReplicationSetResult build() { + final var o = new GetReplicationSetResult(); + o.arn = arn; + o.createdBy = createdBy; + o.deletionProtected = deletionProtected; + o.id = id; + o.lastModifiedBy = lastModifiedBy; + o.regions = regions; + o.status = status; + o.tags = tags; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/ssmincidents/outputs/ReplicationSetRegion.java b/sdk/java/src/main/java/com/pulumi/aws/ssmincidents/outputs/ReplicationSetRegion.java new file mode 100644 index 00000000000..aee1629b654 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/aws/ssmincidents/outputs/ReplicationSetRegion.java @@ -0,0 +1,118 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.aws.ssmincidents.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + +@CustomType +public final class ReplicationSetRegion { + /** + * @return The Amazon Resource name (ARN) of the customer managed key. If omitted, AWS manages the AWS KMS keys for you, using an AWS owned key, as indicated by a default value of `DefaultKey`. + * + */ + private @Nullable String kmsKeyArn; + /** + * @return The name of the Region, such as `ap-southeast-2`. + * + */ + private String name; + /** + * @return The current status of the Region. + * * Valid Values: `ACTIVE` | `CREATING` | `UPDATING` | `DELETING` | `FAILED` + * + */ + private @Nullable String status; + /** + * @return More information about the status of a Region. + * + */ + private @Nullable String statusMessage; + + private ReplicationSetRegion() {} + /** + * @return The Amazon Resource name (ARN) of the customer managed key. If omitted, AWS manages the AWS KMS keys for you, using an AWS owned key, as indicated by a default value of `DefaultKey`. + * + */ + public Optional kmsKeyArn() { + return Optional.ofNullable(this.kmsKeyArn); + } + /** + * @return The name of the Region, such as `ap-southeast-2`. + * + */ + public String name() { + return this.name; + } + /** + * @return The current status of the Region. + * * Valid Values: `ACTIVE` | `CREATING` | `UPDATING` | `DELETING` | `FAILED` + * + */ + public Optional status() { + return Optional.ofNullable(this.status); + } + /** + * @return More information about the status of a Region. + * + */ + public Optional statusMessage() { + return Optional.ofNullable(this.statusMessage); + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(ReplicationSetRegion defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private @Nullable String kmsKeyArn; + private String name; + private @Nullable String status; + private @Nullable String statusMessage; + public Builder() {} + public Builder(ReplicationSetRegion defaults) { + Objects.requireNonNull(defaults); + this.kmsKeyArn = defaults.kmsKeyArn; + this.name = defaults.name; + this.status = defaults.status; + this.statusMessage = defaults.statusMessage; + } + + @CustomType.Setter + public Builder kmsKeyArn(@Nullable String kmsKeyArn) { + this.kmsKeyArn = kmsKeyArn; + return this; + } + @CustomType.Setter + public Builder name(String name) { + this.name = Objects.requireNonNull(name); + return this; + } + @CustomType.Setter + public Builder status(@Nullable String status) { + this.status = status; + return this; + } + @CustomType.Setter + public Builder statusMessage(@Nullable String statusMessage) { + this.statusMessage = statusMessage; + return this; + } + public ReplicationSetRegion build() { + final var o = new ReplicationSetRegion(); + o.kmsKeyArn = kmsKeyArn; + o.name = name; + o.status = status; + o.statusMessage = statusMessage; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/aws/ssoadmin/PermissionSetArgs.java b/sdk/java/src/main/java/com/pulumi/aws/ssoadmin/PermissionSetArgs.java index c9d77540cdc..395fc6e665b 100644 --- a/sdk/java/src/main/java/com/pulumi/aws/ssoadmin/PermissionSetArgs.java +++ b/sdk/java/src/main/java/com/pulumi/aws/ssoadmin/PermissionSetArgs.java @@ -106,6 +106,21 @@ public Optional>> tags() { return Optional.ofNullable(this.tags); } + /** + * A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. + * + */ + @Import(name="tagsAll") + private @Nullable Output> tagsAll; + + /** + * @return A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. + * + */ + public Optional>> tagsAll() { + return Optional.ofNullable(this.tagsAll); + } + private PermissionSetArgs() {} private PermissionSetArgs(PermissionSetArgs $) { @@ -115,6 +130,7 @@ private PermissionSetArgs(PermissionSetArgs $) { this.relayState = $.relayState; this.sessionDuration = $.sessionDuration; this.tags = $.tags; + this.tagsAll = $.tagsAll; } public static Builder builder() { @@ -261,6 +277,27 @@ public Builder tags(Map tags) { return tags(Output.of(tags)); } + /** + * @param tagsAll A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. + * + * @return builder + * + */ + public Builder tagsAll(@Nullable Output> tagsAll) { + $.tagsAll = tagsAll; + return this; + } + + /** + * @param tagsAll A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. + * + * @return builder + * + */ + public Builder tagsAll(Map tagsAll) { + return tagsAll(Output.of(tagsAll)); + } + public PermissionSetArgs build() { $.instanceArn = Objects.requireNonNull($.instanceArn, "expected parameter 'instanceArn' to be non-null"); return $; diff --git a/sdk/nodejs/appmesh/gatewayRoute.ts b/sdk/nodejs/appmesh/gatewayRoute.ts index fd98c5f3ad4..a57dd582bc1 100644 --- a/sdk/nodejs/appmesh/gatewayRoute.ts +++ b/sdk/nodejs/appmesh/gatewayRoute.ts @@ -114,7 +114,7 @@ export class GatewayRoute extends pulumi.CustomResource { /** * Map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. */ - public /*out*/ readonly tagsAll!: pulumi.Output<{[key: string]: string}>; + public readonly tagsAll!: pulumi.Output<{[key: string]: string}>; /** * Name of the virtual gateway to associate the gateway route with. Must be between 1 and 255 characters in length. */ @@ -160,12 +160,12 @@ export class GatewayRoute extends pulumi.CustomResource { resourceInputs["name"] = args ? args.name : undefined; resourceInputs["spec"] = args ? args.spec : undefined; resourceInputs["tags"] = args ? args.tags : undefined; + resourceInputs["tagsAll"] = args ? args.tagsAll : undefined; resourceInputs["virtualGatewayName"] = args ? args.virtualGatewayName : undefined; resourceInputs["arn"] = undefined /*out*/; resourceInputs["createdDate"] = undefined /*out*/; resourceInputs["lastUpdatedDate"] = undefined /*out*/; resourceInputs["resourceOwner"] = undefined /*out*/; - resourceInputs["tagsAll"] = undefined /*out*/; } opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); super(GatewayRoute.__pulumiType, name, resourceInputs, opts); @@ -246,6 +246,10 @@ export interface GatewayRouteArgs { * 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. */ tags?: pulumi.Input<{[key: string]: pulumi.Input}>; + /** + * Map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. + */ + tagsAll?: pulumi.Input<{[key: string]: pulumi.Input}>; /** * Name of the virtual gateway to associate the gateway route with. Must be between 1 and 255 characters in length. */ diff --git a/sdk/nodejs/appmesh/getGatewayRoute.ts b/sdk/nodejs/appmesh/getGatewayRoute.ts new file mode 100644 index 00000000000..5c83686c779 --- /dev/null +++ b/sdk/nodejs/appmesh/getGatewayRoute.ts @@ -0,0 +1,145 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +import * as pulumi from "@pulumi/pulumi"; +import * as inputs from "../types/input"; +import * as outputs from "../types/output"; +import * as enums from "../types/enums"; +import * as utilities from "../utilities"; + +/** + * 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. + * + * ## Example Usage + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as aws from "@pulumi/aws"; + * + * const test = aws.appmesh.getGatewayRoute({ + * meshName: "test-mesh", + * name: "test-route", + * virtualGatewayName: "test-gateway", + * }); + * ``` + */ +export function getGatewayRoute(args: GetGatewayRouteArgs, opts?: pulumi.InvokeOptions): Promise { + + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); + return pulumi.runtime.invoke("aws:appmesh/getGatewayRoute:getGatewayRoute", { + "meshName": args.meshName, + "meshOwner": args.meshOwner, + "name": args.name, + "tags": args.tags, + "virtualGatewayName": args.virtualGatewayName, + }, opts); +} + +/** + * A collection of arguments for invoking getGatewayRoute. + */ +export interface GetGatewayRouteArgs { + /** + * Name of the service mesh in which the virtual gateway exists. + */ + meshName: string; + /** + * AWS account ID of the service mesh's owner. + */ + meshOwner?: string; + /** + * Name of the gateway route. + */ + name: string; + /** + * Map of tags. + */ + tags?: {[key: string]: string}; + /** + * Name of the virtual gateway in which the route exists. + */ + virtualGatewayName: string; +} + +/** + * A collection of values returned by getGatewayRoute. + */ +export interface GetGatewayRouteResult { + /** + * ARN of the gateway route. + */ + readonly arn: string; + /** + * Creation date of the gateway route. + */ + readonly createdDate: string; + /** + * The provider-assigned unique ID for this managed resource. + */ + readonly id: string; + /** + * Last update date of the gateway route. + */ + readonly lastUpdatedDate: string; + readonly meshName: string; + readonly meshOwner: string; + readonly name: string; + /** + * Resource owner's AWS account ID. + */ + readonly resourceOwner: string; + /** + * Gateway route specification. See the `aws.appmesh.GatewayRoute` resource for details. + */ + readonly specs: outputs.appmesh.GetGatewayRouteSpec[]; + /** + * Map of tags. + */ + readonly tags: {[key: string]: string}; + readonly virtualGatewayName: string; +} +/** + * 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. + * + * ## Example Usage + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as aws from "@pulumi/aws"; + * + * const test = aws.appmesh.getGatewayRoute({ + * meshName: "test-mesh", + * name: "test-route", + * virtualGatewayName: "test-gateway", + * }); + * ``` + */ +export function getGatewayRouteOutput(args: GetGatewayRouteOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { + return pulumi.output(args).apply((a: any) => getGatewayRoute(a, opts)) +} + +/** + * A collection of arguments for invoking getGatewayRoute. + */ +export interface GetGatewayRouteOutputArgs { + /** + * Name of the service mesh in which the virtual gateway exists. + */ + meshName: pulumi.Input; + /** + * AWS account ID of the service mesh's owner. + */ + meshOwner?: pulumi.Input; + /** + * Name of the gateway route. + */ + name: pulumi.Input; + /** + * Map of tags. + */ + tags?: pulumi.Input<{[key: string]: pulumi.Input}>; + /** + * Name of the virtual gateway in which the route exists. + */ + virtualGatewayName: pulumi.Input; +} diff --git a/sdk/nodejs/appmesh/getMesh.ts b/sdk/nodejs/appmesh/getMesh.ts index 51824d28419..f59536fa1bd 100644 --- a/sdk/nodejs/appmesh/getMesh.ts +++ b/sdk/nodejs/appmesh/getMesh.ts @@ -87,7 +87,7 @@ export interface GetMeshResult { */ readonly resourceOwner: string; /** - * Service mesh specification. + * Service mesh specification. See the `aws.appmesh.Mesh` resource for details. */ readonly specs: outputs.appmesh.GetMeshSpec[]; /** diff --git a/sdk/nodejs/appmesh/getRoute.ts b/sdk/nodejs/appmesh/getRoute.ts index e6a5bd3bd33..cc4a44f5e03 100644 --- a/sdk/nodejs/appmesh/getRoute.ts +++ b/sdk/nodejs/appmesh/getRoute.ts @@ -76,7 +76,7 @@ export interface GetRouteResult { */ readonly resourceOwner: string; /** - * Route specification + * Route specification. See the `aws.appmesh.Route` resource for details. */ readonly specs: outputs.appmesh.GetRouteSpec[]; /** diff --git a/sdk/nodejs/appmesh/getVirtualGateway.ts b/sdk/nodejs/appmesh/getVirtualGateway.ts index 09d65c3f90e..071bc53de45 100644 --- a/sdk/nodejs/appmesh/getVirtualGateway.ts +++ b/sdk/nodejs/appmesh/getVirtualGateway.ts @@ -68,7 +68,7 @@ export interface GetVirtualGatewayResult { */ readonly resourceOwner: string; /** - * Virtual gateway specification + * Virtual gateway specification. See the `aws.appmesh.VirtualGateway` resource for details. */ readonly specs: outputs.appmesh.GetVirtualGatewaySpec[]; /** diff --git a/sdk/nodejs/appmesh/getVirtualNode.ts b/sdk/nodejs/appmesh/getVirtualNode.ts new file mode 100644 index 00000000000..7ee07cd6734 --- /dev/null +++ b/sdk/nodejs/appmesh/getVirtualNode.ts @@ -0,0 +1,133 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +import * as pulumi from "@pulumi/pulumi"; +import * as inputs from "../types/input"; +import * as outputs from "../types/output"; +import * as enums from "../types/enums"; +import * as utilities from "../utilities"; + +/** + * Data source for managing an AWS App Mesh Virtual Node. + * + * ## Example Usage + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as aws from "@pulumi/aws"; + * + * const test = aws.appmesh.getVirtualNode({ + * meshName: "example-mesh", + * name: "serviceBv1", + * }); + * ``` + */ +export function getVirtualNode(args: GetVirtualNodeArgs, opts?: pulumi.InvokeOptions): Promise { + + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); + return pulumi.runtime.invoke("aws:appmesh/getVirtualNode:getVirtualNode", { + "meshName": args.meshName, + "meshOwner": args.meshOwner, + "name": args.name, + "tags": args.tags, + }, opts); +} + +/** + * A collection of arguments for invoking getVirtualNode. + */ +export interface GetVirtualNodeArgs { + /** + * Name of the service mesh in which the virtual node exists. + */ + meshName: string; + /** + * AWS account ID of the service mesh's owner. + */ + meshOwner?: string; + /** + * Name of the virtual node. + */ + name: string; + /** + * Map of tags. + */ + tags?: {[key: string]: string}; +} + +/** + * A collection of values returned by getVirtualNode. + */ +export interface GetVirtualNodeResult { + /** + * ARN of the virtual node. + */ + readonly arn: string; + /** + * Creation date of the virtual node. + */ + readonly createdDate: string; + /** + * The provider-assigned unique ID for this managed resource. + */ + readonly id: string; + /** + * Last update date of the virtual node. + */ + readonly lastUpdatedDate: string; + readonly meshName: string; + readonly meshOwner: string; + readonly name: string; + /** + * Resource owner's AWS account ID. + */ + readonly resourceOwner: string; + /** + * Virtual node specification. See the `aws.appmesh.VirtualNode` resource for details. + */ + readonly specs: outputs.appmesh.GetVirtualNodeSpec[]; + /** + * Map of tags. + */ + readonly tags: {[key: string]: string}; +} +/** + * Data source for managing an AWS App Mesh Virtual Node. + * + * ## Example Usage + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as aws from "@pulumi/aws"; + * + * const test = aws.appmesh.getVirtualNode({ + * meshName: "example-mesh", + * name: "serviceBv1", + * }); + * ``` + */ +export function getVirtualNodeOutput(args: GetVirtualNodeOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { + return pulumi.output(args).apply((a: any) => getVirtualNode(a, opts)) +} + +/** + * A collection of arguments for invoking getVirtualNode. + */ +export interface GetVirtualNodeOutputArgs { + /** + * Name of the service mesh in which the virtual node exists. + */ + meshName: pulumi.Input; + /** + * AWS account ID of the service mesh's owner. + */ + meshOwner?: pulumi.Input; + /** + * Name of the virtual node. + */ + name: pulumi.Input; + /** + * Map of tags. + */ + tags?: pulumi.Input<{[key: string]: pulumi.Input}>; +} diff --git a/sdk/nodejs/appmesh/getVirtualRouter.ts b/sdk/nodejs/appmesh/getVirtualRouter.ts new file mode 100644 index 00000000000..641068fd825 --- /dev/null +++ b/sdk/nodejs/appmesh/getVirtualRouter.ts @@ -0,0 +1,127 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +import * as pulumi from "@pulumi/pulumi"; +import * as inputs from "../types/input"; +import * as outputs from "../types/output"; +import * as enums from "../types/enums"; +import * as utilities from "../utilities"; + +/** + * The App Mesh Virtual Router data source allows details of an App Mesh Virtual Service to be retrieved by its name and mesh_name. + * + * ## Example Usage + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as aws from "@pulumi/aws"; + * + * const test = aws.appmesh.getVirtualRouter({ + * meshName: "example-mesh-name", + * name: "example-router-name", + * }); + * ``` + */ +export function getVirtualRouter(args: GetVirtualRouterArgs, opts?: pulumi.InvokeOptions): Promise { + + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); + return pulumi.runtime.invoke("aws:appmesh/getVirtualRouter:getVirtualRouter", { + "meshName": args.meshName, + "meshOwner": args.meshOwner, + "name": args.name, + "tags": args.tags, + }, opts); +} + +/** + * A collection of arguments for invoking getVirtualRouter. + */ +export interface GetVirtualRouterArgs { + /** + * Name of the mesh in which the virtual router exists + */ + meshName: string; + meshOwner?: string; + /** + * Name of the virtual router. + */ + name: string; + /** + * Map of tags. + */ + tags?: {[key: string]: string}; +} + +/** + * A collection of values returned by getVirtualRouter. + */ +export interface GetVirtualRouterResult { + /** + * ARN of the virtual router. + */ + readonly arn: string; + /** + * Creation date of the virtual router. + */ + readonly createdDate: string; + /** + * The provider-assigned unique ID for this managed resource. + */ + readonly id: string; + /** + * Last update date of the virtual router. + */ + readonly lastUpdatedDate: string; + readonly meshName: string; + readonly meshOwner: string; + readonly name: string; + /** + * Resource owner's AWS account ID. + */ + readonly resourceOwner: string; + /** + * Virtual routers specification. See the `aws.appmesh.VirtualRouter` resource for details. + */ + readonly specs: outputs.appmesh.GetVirtualRouterSpec[]; + /** + * Map of tags. + */ + readonly tags: {[key: string]: string}; +} +/** + * The App Mesh Virtual Router data source allows details of an App Mesh Virtual Service to be retrieved by its name and mesh_name. + * + * ## Example Usage + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as aws from "@pulumi/aws"; + * + * const test = aws.appmesh.getVirtualRouter({ + * meshName: "example-mesh-name", + * name: "example-router-name", + * }); + * ``` + */ +export function getVirtualRouterOutput(args: GetVirtualRouterOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { + return pulumi.output(args).apply((a: any) => getVirtualRouter(a, opts)) +} + +/** + * A collection of arguments for invoking getVirtualRouter. + */ +export interface GetVirtualRouterOutputArgs { + /** + * Name of the mesh in which the virtual router exists + */ + meshName: pulumi.Input; + meshOwner?: pulumi.Input; + /** + * Name of the virtual router. + */ + name: pulumi.Input; + /** + * Map of tags. + */ + tags?: pulumi.Input<{[key: string]: pulumi.Input}>; +} diff --git a/sdk/nodejs/appmesh/getVirtualService.ts b/sdk/nodejs/appmesh/getVirtualService.ts index 4e21c43979e..aa981374ae6 100644 --- a/sdk/nodejs/appmesh/getVirtualService.ts +++ b/sdk/nodejs/appmesh/getVirtualService.ts @@ -95,7 +95,7 @@ export interface GetVirtualServiceResult { */ readonly resourceOwner: string; /** - * Virtual service specification + * Virtual service specification. See the `aws.appmesh.VirtualService` resource for details. */ readonly specs: outputs.appmesh.GetVirtualServiceSpec[]; /** diff --git a/sdk/nodejs/appmesh/index.ts b/sdk/nodejs/appmesh/index.ts index 45f7f3e5b95..4585995add5 100644 --- a/sdk/nodejs/appmesh/index.ts +++ b/sdk/nodejs/appmesh/index.ts @@ -10,6 +10,11 @@ export type GatewayRoute = import("./gatewayRoute").GatewayRoute; export const GatewayRoute: typeof import("./gatewayRoute").GatewayRoute = null as any; utilities.lazyLoad(exports, ["GatewayRoute"], () => require("./gatewayRoute")); +export { GetGatewayRouteArgs, GetGatewayRouteResult, GetGatewayRouteOutputArgs } from "./getGatewayRoute"; +export const getGatewayRoute: typeof import("./getGatewayRoute").getGatewayRoute = null as any; +export const getGatewayRouteOutput: typeof import("./getGatewayRoute").getGatewayRouteOutput = null as any; +utilities.lazyLoad(exports, ["getGatewayRoute","getGatewayRouteOutput"], () => require("./getGatewayRoute")); + export { GetMeshArgs, GetMeshResult, GetMeshOutputArgs } from "./getMesh"; export const getMesh: typeof import("./getMesh").getMesh = null as any; export const getMeshOutput: typeof import("./getMesh").getMeshOutput = null as any; @@ -25,6 +30,16 @@ export const getVirtualGateway: typeof import("./getVirtualGateway").getVirtualG export const getVirtualGatewayOutput: typeof import("./getVirtualGateway").getVirtualGatewayOutput = null as any; utilities.lazyLoad(exports, ["getVirtualGateway","getVirtualGatewayOutput"], () => require("./getVirtualGateway")); +export { GetVirtualNodeArgs, GetVirtualNodeResult, GetVirtualNodeOutputArgs } from "./getVirtualNode"; +export const getVirtualNode: typeof import("./getVirtualNode").getVirtualNode = null as any; +export const getVirtualNodeOutput: typeof import("./getVirtualNode").getVirtualNodeOutput = null as any; +utilities.lazyLoad(exports, ["getVirtualNode","getVirtualNodeOutput"], () => require("./getVirtualNode")); + +export { GetVirtualRouterArgs, GetVirtualRouterResult, GetVirtualRouterOutputArgs } from "./getVirtualRouter"; +export const getVirtualRouter: typeof import("./getVirtualRouter").getVirtualRouter = null as any; +export const getVirtualRouterOutput: typeof import("./getVirtualRouter").getVirtualRouterOutput = null as any; +utilities.lazyLoad(exports, ["getVirtualRouter","getVirtualRouterOutput"], () => require("./getVirtualRouter")); + export { GetVirtualServiceArgs, GetVirtualServiceResult, GetVirtualServiceOutputArgs } from "./getVirtualService"; export const getVirtualService: typeof import("./getVirtualService").getVirtualService = null as any; export const getVirtualServiceOutput: typeof import("./getVirtualService").getVirtualServiceOutput = null as any; diff --git a/sdk/nodejs/appmesh/virtualNode.ts b/sdk/nodejs/appmesh/virtualNode.ts index 1fe13a6c74e..9d38d131d98 100644 --- a/sdk/nodejs/appmesh/virtualNode.ts +++ b/sdk/nodejs/appmesh/virtualNode.ts @@ -230,7 +230,7 @@ export class VirtualNode extends pulumi.CustomResource { /** * Map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. */ - public /*out*/ readonly tagsAll!: pulumi.Output<{[key: string]: string}>; + public readonly tagsAll!: pulumi.Output<{[key: string]: string}>; /** * Create a VirtualNode resource with the given unique name, arguments, and options. @@ -268,11 +268,11 @@ export class VirtualNode extends pulumi.CustomResource { resourceInputs["name"] = args ? args.name : undefined; resourceInputs["spec"] = args ? args.spec : undefined; resourceInputs["tags"] = args ? args.tags : undefined; + resourceInputs["tagsAll"] = args ? args.tagsAll : undefined; resourceInputs["arn"] = undefined /*out*/; resourceInputs["createdDate"] = undefined /*out*/; resourceInputs["lastUpdatedDate"] = undefined /*out*/; resourceInputs["resourceOwner"] = undefined /*out*/; - resourceInputs["tagsAll"] = undefined /*out*/; } opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); super(VirtualNode.__pulumiType, name, resourceInputs, opts); @@ -349,4 +349,8 @@ export interface VirtualNodeArgs { * 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. */ tags?: pulumi.Input<{[key: string]: pulumi.Input}>; + /** + * Map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. + */ + tagsAll?: pulumi.Input<{[key: string]: pulumi.Input}>; } diff --git a/sdk/nodejs/appmesh/virtualRouter.ts b/sdk/nodejs/appmesh/virtualRouter.ts index 4c8521ef130..19050457ca2 100644 --- a/sdk/nodejs/appmesh/virtualRouter.ts +++ b/sdk/nodejs/appmesh/virtualRouter.ts @@ -116,7 +116,7 @@ export class VirtualRouter extends pulumi.CustomResource { /** * Map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. */ - public /*out*/ readonly tagsAll!: pulumi.Output<{[key: string]: string}>; + public readonly tagsAll!: pulumi.Output<{[key: string]: string}>; /** * Create a VirtualRouter resource with the given unique name, arguments, and options. @@ -154,11 +154,11 @@ export class VirtualRouter extends pulumi.CustomResource { resourceInputs["name"] = args ? args.name : undefined; resourceInputs["spec"] = args ? args.spec : undefined; resourceInputs["tags"] = args ? args.tags : undefined; + resourceInputs["tagsAll"] = args ? args.tagsAll : undefined; resourceInputs["arn"] = undefined /*out*/; resourceInputs["createdDate"] = undefined /*out*/; resourceInputs["lastUpdatedDate"] = undefined /*out*/; resourceInputs["resourceOwner"] = undefined /*out*/; - resourceInputs["tagsAll"] = undefined /*out*/; } opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); super(VirtualRouter.__pulumiType, name, resourceInputs, opts); @@ -235,4 +235,8 @@ export interface VirtualRouterArgs { * 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. */ tags?: pulumi.Input<{[key: string]: pulumi.Input}>; + /** + * Map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. + */ + tagsAll?: pulumi.Input<{[key: string]: pulumi.Input}>; } diff --git a/sdk/nodejs/cloudwatch/logDestination.ts b/sdk/nodejs/cloudwatch/logDestination.ts index 9787c4ce8fa..2e629b7ec45 100644 --- a/sdk/nodejs/cloudwatch/logDestination.ts +++ b/sdk/nodejs/cloudwatch/logDestination.ts @@ -74,7 +74,7 @@ export class LogDestination extends pulumi.CustomResource { /** * A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. */ - public /*out*/ readonly tagsAll!: pulumi.Output<{[key: string]: string}>; + public readonly tagsAll!: pulumi.Output<{[key: string]: string}>; /** * The ARN of the target Amazon Kinesis stream resource for the destination. */ @@ -110,9 +110,9 @@ export class LogDestination extends pulumi.CustomResource { resourceInputs["name"] = args ? args.name : undefined; resourceInputs["roleArn"] = args ? args.roleArn : undefined; resourceInputs["tags"] = args ? args.tags : undefined; + resourceInputs["tagsAll"] = args ? args.tagsAll : undefined; resourceInputs["targetArn"] = args ? args.targetArn : undefined; resourceInputs["arn"] = undefined /*out*/; - resourceInputs["tagsAll"] = undefined /*out*/; } opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); super(LogDestination.__pulumiType, name, resourceInputs, opts); @@ -165,6 +165,10 @@ export interface LogDestinationArgs { * 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. */ tags?: pulumi.Input<{[key: string]: pulumi.Input}>; + /** + * A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. + */ + tagsAll?: pulumi.Input<{[key: string]: pulumi.Input}>; /** * The ARN of the target Amazon Kinesis stream resource for the destination. */ diff --git a/sdk/nodejs/cloudwatch/logGroup.ts b/sdk/nodejs/cloudwatch/logGroup.ts index a711f4a9f67..fe16c3b8716 100644 --- a/sdk/nodejs/cloudwatch/logGroup.ts +++ b/sdk/nodejs/cloudwatch/logGroup.ts @@ -90,7 +90,7 @@ export class LogGroup extends pulumi.CustomResource { /** * A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. */ - public /*out*/ readonly tagsAll!: pulumi.Output<{[key: string]: string}>; + public readonly tagsAll!: pulumi.Output<{[key: string]: string}>; /** * Create a LogGroup resource with the given unique name, arguments, and options. @@ -121,8 +121,8 @@ export class LogGroup extends pulumi.CustomResource { resourceInputs["retentionInDays"] = args ? args.retentionInDays : undefined; resourceInputs["skipDestroy"] = args ? args.skipDestroy : undefined; resourceInputs["tags"] = args ? args.tags : undefined; + resourceInputs["tagsAll"] = args ? args.tagsAll : undefined; resourceInputs["arn"] = undefined /*out*/; - resourceInputs["tagsAll"] = undefined /*out*/; } opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); super(LogGroup.__pulumiType, name, resourceInputs, opts); @@ -203,4 +203,8 @@ export interface LogGroupArgs { * 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. */ tags?: pulumi.Input<{[key: string]: pulumi.Input}>; + /** + * A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. + */ + tagsAll?: pulumi.Input<{[key: string]: pulumi.Input}>; } diff --git a/sdk/nodejs/globalaccelerator/accelerator.ts b/sdk/nodejs/globalaccelerator/accelerator.ts index 6b4cf85eef3..46277f03570 100644 --- a/sdk/nodejs/globalaccelerator/accelerator.ts +++ b/sdk/nodejs/globalaccelerator/accelerator.ts @@ -72,6 +72,10 @@ export class Accelerator extends pulumi.CustomResource { * The DNS name of the accelerator. For example, `a5d53ff5ee6bca4ce.awsglobalaccelerator.com`. */ public /*out*/ readonly dnsName!: pulumi.Output; + /** + * The Domain Name System (DNS) name that Global Accelerator creates that points to a dual-stack accelerator's four static IP addresses: two IPv4 addresses and two IPv6 addresses. For example, `a1234567890abcdef.dualstack.awsglobalaccelerator.com`. + */ + public /*out*/ readonly dualStackDnsName!: pulumi.Output; /** * Indicates whether the accelerator is enabled. Defaults to `true`. Valid values: `true`, `false`. */ @@ -122,6 +126,7 @@ export class Accelerator extends pulumi.CustomResource { const state = argsOrState as AcceleratorState | undefined; resourceInputs["attributes"] = state ? state.attributes : undefined; resourceInputs["dnsName"] = state ? state.dnsName : undefined; + resourceInputs["dualStackDnsName"] = state ? state.dualStackDnsName : undefined; resourceInputs["enabled"] = state ? state.enabled : undefined; resourceInputs["hostedZoneId"] = state ? state.hostedZoneId : undefined; resourceInputs["ipAddressType"] = state ? state.ipAddressType : undefined; @@ -139,6 +144,7 @@ export class Accelerator extends pulumi.CustomResource { resourceInputs["name"] = args ? args.name : undefined; resourceInputs["tags"] = args ? args.tags : undefined; resourceInputs["dnsName"] = undefined /*out*/; + resourceInputs["dualStackDnsName"] = undefined /*out*/; resourceInputs["hostedZoneId"] = undefined /*out*/; resourceInputs["ipSets"] = undefined /*out*/; resourceInputs["tagsAll"] = undefined /*out*/; @@ -160,6 +166,10 @@ export interface AcceleratorState { * The DNS name of the accelerator. For example, `a5d53ff5ee6bca4ce.awsglobalaccelerator.com`. */ dnsName?: pulumi.Input; + /** + * The Domain Name System (DNS) name that Global Accelerator creates that points to a dual-stack accelerator's four static IP addresses: two IPv4 addresses and two IPv6 addresses. For example, `a1234567890abcdef.dualstack.awsglobalaccelerator.com`. + */ + dualStackDnsName?: pulumi.Input; /** * Indicates whether the accelerator is enabled. Defaults to `true`. Valid values: `true`, `false`. */ diff --git a/sdk/nodejs/iam/instanceProfile.ts b/sdk/nodejs/iam/instanceProfile.ts index 9dd5d0d45b2..225bfe04b9a 100644 --- a/sdk/nodejs/iam/instanceProfile.ts +++ b/sdk/nodejs/iam/instanceProfile.ts @@ -83,7 +83,7 @@ export class InstanceProfile extends pulumi.CustomResource { /** * Creates a unique name beginning with the specified prefix. Conflicts with `name`. */ - public readonly namePrefix!: pulumi.Output; + public readonly namePrefix!: pulumi.Output; /** * Path to the instance profile. For more information about paths, see [IAM Identifiers](https://docs.aws.amazon.com/IAM/latest/UserGuide/Using_Identifiers.html) in the IAM User Guide. Can be a string of characters consisting of either a forward slash (`/`) by itself or a string that must begin and end with forward slashes. Can include any ASCII character from the ! (\u0021) through the DEL character (\u007F), including most punctuation characters, digits, and upper and lowercase letters. */ @@ -99,7 +99,7 @@ export class InstanceProfile extends pulumi.CustomResource { /** * A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. */ - public /*out*/ readonly tagsAll!: pulumi.Output<{[key: string]: string}>; + public readonly tagsAll!: pulumi.Output<{[key: string]: string}>; /** * [Unique ID][1] assigned by AWS. */ @@ -134,9 +134,9 @@ export class InstanceProfile extends pulumi.CustomResource { resourceInputs["path"] = args ? args.path : undefined; resourceInputs["role"] = args ? args.role : undefined; resourceInputs["tags"] = args ? args.tags : undefined; + resourceInputs["tagsAll"] = args ? args.tagsAll : undefined; resourceInputs["arn"] = undefined /*out*/; resourceInputs["createDate"] = undefined /*out*/; - resourceInputs["tagsAll"] = undefined /*out*/; resourceInputs["uniqueId"] = undefined /*out*/; } opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); @@ -210,4 +210,8 @@ export interface InstanceProfileArgs { * Map of resource tags for the IAM Instance Profile. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. */ tags?: pulumi.Input<{[key: string]: pulumi.Input}>; + /** + * A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. + */ + tagsAll?: pulumi.Input<{[key: string]: pulumi.Input}>; } diff --git a/sdk/nodejs/iam/openIdConnectProvider.ts b/sdk/nodejs/iam/openIdConnectProvider.ts index a4080b5a868..daa63383320 100644 --- a/sdk/nodejs/iam/openIdConnectProvider.ts +++ b/sdk/nodejs/iam/openIdConnectProvider.ts @@ -71,7 +71,7 @@ export class OpenIdConnectProvider extends pulumi.CustomResource { /** * A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. */ - public /*out*/ readonly tagsAll!: pulumi.Output<{[key: string]: string}>; + public readonly tagsAll!: pulumi.Output<{[key: string]: string}>; /** * A list of server certificate thumbprints for the OpenID Connect (OIDC) identity provider's server certificate(s). */ @@ -113,10 +113,10 @@ export class OpenIdConnectProvider extends pulumi.CustomResource { } resourceInputs["clientIdLists"] = args ? args.clientIdLists : undefined; resourceInputs["tags"] = args ? args.tags : undefined; + resourceInputs["tagsAll"] = args ? args.tagsAll : undefined; resourceInputs["thumbprintLists"] = args ? args.thumbprintLists : undefined; resourceInputs["url"] = args ? args.url : undefined; resourceInputs["arn"] = undefined /*out*/; - resourceInputs["tagsAll"] = undefined /*out*/; } opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); super(OpenIdConnectProvider.__pulumiType, name, resourceInputs, opts); @@ -165,6 +165,10 @@ export interface OpenIdConnectProviderArgs { * Map of resource tags for the IAM OIDC provider. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. */ tags?: pulumi.Input<{[key: string]: pulumi.Input}>; + /** + * A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. + */ + tagsAll?: pulumi.Input<{[key: string]: pulumi.Input}>; /** * A list of server certificate thumbprints for the OpenID Connect (OIDC) identity provider's server certificate(s). */ diff --git a/sdk/nodejs/iam/policy.ts b/sdk/nodejs/iam/policy.ts index eed2c69363e..4dd1bc0a2b3 100644 --- a/sdk/nodejs/iam/policy.ts +++ b/sdk/nodejs/iam/policy.ts @@ -80,7 +80,7 @@ export class Policy extends pulumi.CustomResource { /** * Creates a unique name beginning with the specified prefix. Conflicts with `name`. */ - public readonly namePrefix!: pulumi.Output; + public readonly namePrefix!: pulumi.Output; /** * Path in which to create the policy. * See [IAM Identifiers](https://docs.aws.amazon.com/IAM/latest/UserGuide/Using_Identifiers.html) for more information. @@ -101,7 +101,7 @@ export class Policy extends pulumi.CustomResource { /** * A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. */ - public /*out*/ readonly tagsAll!: pulumi.Output<{[key: string]: string}>; + public readonly tagsAll!: pulumi.Output<{[key: string]: string}>; /** * Create a Policy resource with the given unique name, arguments, and options. @@ -136,9 +136,9 @@ export class Policy extends pulumi.CustomResource { resourceInputs["path"] = args ? args.path : undefined; resourceInputs["policy"] = args ? args.policy : undefined; resourceInputs["tags"] = args ? args.tags : undefined; + resourceInputs["tagsAll"] = args ? args.tagsAll : undefined; resourceInputs["arn"] = undefined /*out*/; resourceInputs["policyId"] = undefined /*out*/; - resourceInputs["tagsAll"] = undefined /*out*/; } opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); super(Policy.__pulumiType, name, resourceInputs, opts); @@ -217,4 +217,8 @@ export interface PolicyArgs { * Map of resource tags for the IAM Policy. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. */ tags?: pulumi.Input<{[key: string]: pulumi.Input}>; + /** + * A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. + */ + tagsAll?: pulumi.Input<{[key: string]: pulumi.Input}>; } diff --git a/sdk/nodejs/iam/role.ts b/sdk/nodejs/iam/role.ts index 334b0fe85cd..6d7f896bdf3 100644 --- a/sdk/nodejs/iam/role.ts +++ b/sdk/nodejs/iam/role.ts @@ -246,7 +246,7 @@ export class Role extends pulumi.CustomResource { /** * A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. */ - public /*out*/ readonly tagsAll!: pulumi.Output<{[key: string]: string}>; + public readonly tagsAll!: pulumi.Output<{[key: string]: string}>; /** * Stable and unique string identifying the role. */ @@ -296,9 +296,9 @@ export class Role extends pulumi.CustomResource { resourceInputs["path"] = args ? args.path : undefined; resourceInputs["permissionsBoundary"] = args ? args.permissionsBoundary : undefined; resourceInputs["tags"] = args ? args.tags : undefined; + resourceInputs["tagsAll"] = args ? args.tagsAll : undefined; resourceInputs["arn"] = undefined /*out*/; resourceInputs["createDate"] = undefined /*out*/; - resourceInputs["tagsAll"] = undefined /*out*/; resourceInputs["uniqueId"] = undefined /*out*/; } opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); @@ -414,4 +414,8 @@ export interface RoleArgs { * Key-value mapping of tags for the IAM role. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. */ tags?: pulumi.Input<{[key: string]: pulumi.Input}>; + /** + * A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. + */ + tagsAll?: pulumi.Input<{[key: string]: pulumi.Input}>; } diff --git a/sdk/nodejs/iam/samlProvider.ts b/sdk/nodejs/iam/samlProvider.ts index 417ea6fbfd9..e60cd35ab33 100644 --- a/sdk/nodejs/iam/samlProvider.ts +++ b/sdk/nodejs/iam/samlProvider.ts @@ -72,7 +72,7 @@ export class SamlProvider extends pulumi.CustomResource { /** * A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. */ - public /*out*/ readonly tagsAll!: pulumi.Output<{[key: string]: string}>; + public readonly tagsAll!: pulumi.Output<{[key: string]: string}>; /** * The expiration date and time for the SAML provider in RFC1123 format, e.g., `Mon, 02 Jan 2006 15:04:05 MST`. */ @@ -105,8 +105,8 @@ export class SamlProvider extends pulumi.CustomResource { resourceInputs["name"] = args ? args.name : undefined; resourceInputs["samlMetadataDocument"] = args ? args.samlMetadataDocument : undefined; resourceInputs["tags"] = args ? args.tags : undefined; + resourceInputs["tagsAll"] = args ? args.tagsAll : undefined; resourceInputs["arn"] = undefined /*out*/; - resourceInputs["tagsAll"] = undefined /*out*/; resourceInputs["validUntil"] = undefined /*out*/; } opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); @@ -160,4 +160,8 @@ export interface SamlProviderArgs { * Map of resource tags for the IAM SAML provider. .If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. */ tags?: pulumi.Input<{[key: string]: pulumi.Input}>; + /** + * A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. + */ + tagsAll?: pulumi.Input<{[key: string]: pulumi.Input}>; } diff --git a/sdk/nodejs/iam/serverCertificate.ts b/sdk/nodejs/iam/serverCertificate.ts index 0aa668c0543..39736edeef5 100644 --- a/sdk/nodejs/iam/serverCertificate.ts +++ b/sdk/nodejs/iam/serverCertificate.ts @@ -168,7 +168,7 @@ export class ServerCertificate extends pulumi.CustomResource { /** * A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. */ - public /*out*/ readonly tagsAll!: pulumi.Output<{[key: string]: string}>; + public readonly tagsAll!: pulumi.Output<{[key: string]: string}>; /** * Date and time in [RFC3339 format](https://tools.ietf.org/html/rfc3339#section-5.8) when the server certificate was uploaded. */ @@ -213,9 +213,9 @@ export class ServerCertificate extends pulumi.CustomResource { resourceInputs["path"] = args ? args.path : undefined; resourceInputs["privateKey"] = args?.privateKey ? pulumi.secret(args.privateKey) : undefined; resourceInputs["tags"] = args ? args.tags : undefined; + resourceInputs["tagsAll"] = args ? args.tagsAll : undefined; resourceInputs["arn"] = undefined /*out*/; resourceInputs["expiration"] = undefined /*out*/; - resourceInputs["tagsAll"] = undefined /*out*/; resourceInputs["uploadDate"] = undefined /*out*/; } opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); @@ -323,4 +323,8 @@ export interface ServerCertificateArgs { * Map of resource tags for the server certificate. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. */ tags?: pulumi.Input<{[key: string]: pulumi.Input}>; + /** + * A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. + */ + tagsAll?: pulumi.Input<{[key: string]: pulumi.Input}>; } diff --git a/sdk/nodejs/iam/serviceLinkedRole.ts b/sdk/nodejs/iam/serviceLinkedRole.ts index 5a1f2aa08b8..65d2fae90ef 100644 --- a/sdk/nodejs/iam/serviceLinkedRole.ts +++ b/sdk/nodejs/iam/serviceLinkedRole.ts @@ -87,7 +87,7 @@ export class ServiceLinkedRole extends pulumi.CustomResource { /** * A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. */ - public /*out*/ readonly tagsAll!: pulumi.Output<{[key: string]: string}>; + public readonly tagsAll!: pulumi.Output<{[key: string]: string}>; /** * The stable and unique string identifying the role. */ @@ -125,11 +125,11 @@ export class ServiceLinkedRole extends pulumi.CustomResource { resourceInputs["customSuffix"] = args ? args.customSuffix : undefined; resourceInputs["description"] = args ? args.description : undefined; resourceInputs["tags"] = args ? args.tags : undefined; + resourceInputs["tagsAll"] = args ? args.tagsAll : undefined; resourceInputs["arn"] = undefined /*out*/; resourceInputs["createDate"] = undefined /*out*/; resourceInputs["name"] = undefined /*out*/; resourceInputs["path"] = undefined /*out*/; - resourceInputs["tagsAll"] = undefined /*out*/; resourceInputs["uniqueId"] = undefined /*out*/; } opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); @@ -203,4 +203,8 @@ export interface ServiceLinkedRoleArgs { * Key-value mapping of tags for the IAM role. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. */ tags?: pulumi.Input<{[key: string]: pulumi.Input}>; + /** + * A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. + */ + tagsAll?: pulumi.Input<{[key: string]: pulumi.Input}>; } diff --git a/sdk/nodejs/iam/user.ts b/sdk/nodejs/iam/user.ts index e53a944577e..6e52986511b 100644 --- a/sdk/nodejs/iam/user.ts +++ b/sdk/nodejs/iam/user.ts @@ -100,7 +100,7 @@ export class User extends pulumi.CustomResource { /** * A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. */ - public /*out*/ readonly tagsAll!: pulumi.Output<{[key: string]: string}>; + public readonly tagsAll!: pulumi.Output<{[key: string]: string}>; /** * The [unique ID][1] assigned by AWS. */ @@ -134,8 +134,8 @@ export class User extends pulumi.CustomResource { resourceInputs["path"] = args ? args.path : undefined; resourceInputs["permissionsBoundary"] = args ? args.permissionsBoundary : undefined; resourceInputs["tags"] = args ? args.tags : undefined; + resourceInputs["tagsAll"] = args ? args.tagsAll : undefined; resourceInputs["arn"] = undefined /*out*/; - resourceInputs["tagsAll"] = undefined /*out*/; resourceInputs["uniqueId"] = undefined /*out*/; } opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); @@ -209,4 +209,8 @@ export interface UserArgs { * Key-value mapping of tags for the IAM user. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. */ tags?: pulumi.Input<{[key: string]: pulumi.Input}>; + /** + * A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. + */ + tagsAll?: pulumi.Input<{[key: string]: pulumi.Input}>; } diff --git a/sdk/nodejs/iam/virtualMfaDevice.ts b/sdk/nodejs/iam/virtualMfaDevice.ts index 940bd03c9c6..44de80096d1 100644 --- a/sdk/nodejs/iam/virtualMfaDevice.ts +++ b/sdk/nodejs/iam/virtualMfaDevice.ts @@ -77,7 +77,7 @@ export class VirtualMfaDevice extends pulumi.CustomResource { /** * A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. */ - public /*out*/ readonly tagsAll!: pulumi.Output<{[key: string]: string}>; + public readonly tagsAll!: pulumi.Output<{[key: string]: string}>; /** * The name of the virtual MFA device. Use with path to uniquely identify a virtual MFA device. */ @@ -110,11 +110,11 @@ export class VirtualMfaDevice extends pulumi.CustomResource { } resourceInputs["path"] = args ? args.path : undefined; resourceInputs["tags"] = args ? args.tags : undefined; + resourceInputs["tagsAll"] = args ? args.tagsAll : undefined; resourceInputs["virtualMfaDeviceName"] = args ? args.virtualMfaDeviceName : undefined; resourceInputs["arn"] = undefined /*out*/; resourceInputs["base32StringSeed"] = undefined /*out*/; resourceInputs["qrCodePng"] = undefined /*out*/; - resourceInputs["tagsAll"] = undefined /*out*/; } opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); super(VirtualMfaDevice.__pulumiType, name, resourceInputs, opts); @@ -167,6 +167,10 @@ export interface VirtualMfaDeviceArgs { * Map of resource tags for the virtual mfa device. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. */ tags?: pulumi.Input<{[key: string]: pulumi.Input}>; + /** + * A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. + */ + tagsAll?: pulumi.Input<{[key: string]: pulumi.Input}>; /** * The name of the virtual MFA device. Use with path to uniquely identify a virtual MFA device. */ diff --git a/sdk/nodejs/index.ts b/sdk/nodejs/index.ts index 5ec1f8bc92d..969d1a3b56a 100644 --- a/sdk/nodejs/index.ts +++ b/sdk/nodejs/index.ts @@ -235,6 +235,7 @@ import * as pricing from "./pricing"; import * as qldb from "./qldb"; import * as quicksight from "./quicksight"; import * as ram from "./ram"; +import * as rbin from "./rbin"; import * as rds from "./rds"; import * as redshift from "./redshift"; import * as redshiftdata from "./redshiftdata"; @@ -269,6 +270,7 @@ import * as simpledb from "./simpledb"; import * as sns from "./sns"; import * as sqs from "./sqs"; import * as ssm from "./ssm"; +import * as ssmincidents from "./ssmincidents"; import * as ssoadmin from "./ssoadmin"; import * as storagegateway from "./storagegateway"; import * as swf from "./swf"; @@ -419,6 +421,7 @@ export { qldb, quicksight, ram, + rbin, rds, redshift, redshiftdata, @@ -453,6 +456,7 @@ export { sns, sqs, ssm, + ssmincidents, ssoadmin, storagegateway, swf, diff --git a/sdk/nodejs/inspector/assessmentTemplate.ts b/sdk/nodejs/inspector/assessmentTemplate.ts index e3a667b2377..8a5c12165f8 100644 --- a/sdk/nodejs/inspector/assessmentTemplate.ts +++ b/sdk/nodejs/inspector/assessmentTemplate.ts @@ -95,7 +95,7 @@ export class AssessmentTemplate extends pulumi.CustomResource { /** * A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. */ - public /*out*/ readonly tagsAll!: pulumi.Output<{[key: string]: string}>; + public readonly tagsAll!: pulumi.Output<{[key: string]: string}>; /** * The assessment target ARN to attach the template to. */ @@ -138,9 +138,9 @@ export class AssessmentTemplate extends pulumi.CustomResource { resourceInputs["name"] = args ? args.name : undefined; resourceInputs["rulesPackageArns"] = args ? args.rulesPackageArns : undefined; resourceInputs["tags"] = args ? args.tags : undefined; + resourceInputs["tagsAll"] = args ? args.tagsAll : undefined; resourceInputs["targetArn"] = args ? args.targetArn : undefined; resourceInputs["arn"] = undefined /*out*/; - resourceInputs["tagsAll"] = undefined /*out*/; } opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); super(AssessmentTemplate.__pulumiType, name, resourceInputs, opts); @@ -209,6 +209,10 @@ export interface AssessmentTemplateArgs { * Key-value map of tags for the Inspector assessment template. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. */ tags?: pulumi.Input<{[key: string]: pulumi.Input}>; + /** + * A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. + */ + tagsAll?: pulumi.Input<{[key: string]: pulumi.Input}>; /** * The assessment target ARN to attach the template to. */ diff --git a/sdk/nodejs/oam/getSink.ts b/sdk/nodejs/oam/getSink.ts new file mode 100644 index 00000000000..ae951267e9b --- /dev/null +++ b/sdk/nodejs/oam/getSink.ts @@ -0,0 +1,102 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +import * as pulumi from "@pulumi/pulumi"; +import * as utilities from "../utilities"; + +/** + * Data source for managing an AWS CloudWatch Observability Access Manager Sink. + * + * ## Example Usage + * ### Basic Usage + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as aws from "@pulumi/aws"; + * + * const example = aws.oam.getSink({ + * sinkIdentifier: "arn:aws:oam:us-west-1:111111111111:sink/abcd1234-a123-456a-a12b-a123b456c789", + * }); + * ``` + */ +export function getSink(args: GetSinkArgs, opts?: pulumi.InvokeOptions): Promise { + + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); + return pulumi.runtime.invoke("aws:oam/getSink:getSink", { + "sinkIdentifier": args.sinkIdentifier, + "tags": args.tags, + }, opts); +} + +/** + * A collection of arguments for invoking getSink. + */ +export interface GetSinkArgs { + /** + * ARN of the sink. + */ + sinkIdentifier: string; + /** + * Tags assigned to the sink. + */ + tags?: {[key: string]: string}; +} + +/** + * A collection of values returned by getSink. + */ +export interface GetSinkResult { + /** + * ARN of the sink. + */ + readonly arn: string; + /** + * The provider-assigned unique ID for this managed resource. + */ + readonly id: string; + /** + * Name of the sink. + */ + readonly name: string; + /** + * Random ID string that AWS generated as part of the sink ARN. + */ + readonly sinkId: string; + readonly sinkIdentifier: string; + /** + * Tags assigned to the sink. + */ + readonly tags: {[key: string]: string}; +} +/** + * Data source for managing an AWS CloudWatch Observability Access Manager Sink. + * + * ## Example Usage + * ### Basic Usage + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as aws from "@pulumi/aws"; + * + * const example = aws.oam.getSink({ + * sinkIdentifier: "arn:aws:oam:us-west-1:111111111111:sink/abcd1234-a123-456a-a12b-a123b456c789", + * }); + * ``` + */ +export function getSinkOutput(args: GetSinkOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { + return pulumi.output(args).apply((a: any) => getSink(a, opts)) +} + +/** + * A collection of arguments for invoking getSink. + */ +export interface GetSinkOutputArgs { + /** + * ARN of the sink. + */ + sinkIdentifier: pulumi.Input; + /** + * Tags assigned to the sink. + */ + tags?: pulumi.Input<{[key: string]: pulumi.Input}>; +} diff --git a/sdk/nodejs/oam/getSinks.ts b/sdk/nodejs/oam/getSinks.ts new file mode 100644 index 00000000000..8a9e8054d60 --- /dev/null +++ b/sdk/nodejs/oam/getSinks.ts @@ -0,0 +1,39 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +import * as pulumi from "@pulumi/pulumi"; +import * as utilities from "../utilities"; + +/** + * Data source for managing an AWS CloudWatch Observability Access Manager Sinks. + * + * ## Example Usage + * ### Basic Usage + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as aws from "@pulumi/aws"; + * + * const example = aws.oam.getSinks({}); + * ``` + */ +export function getSinks(opts?: pulumi.InvokeOptions): Promise { + + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); + return pulumi.runtime.invoke("aws:oam/getSinks:getSinks", { + }, opts); +} + +/** + * A collection of values returned by getSinks. + */ +export interface GetSinksResult { + /** + * Set of ARN of the Sinks. + */ + readonly arns: string[]; + /** + * The provider-assigned unique ID for this managed resource. + */ + readonly id: string; +} diff --git a/sdk/nodejs/oam/index.ts b/sdk/nodejs/oam/index.ts index d4f44d28ad3..1d4522916a9 100644 --- a/sdk/nodejs/oam/index.ts +++ b/sdk/nodejs/oam/index.ts @@ -5,6 +5,15 @@ import * as pulumi from "@pulumi/pulumi"; import * as utilities from "../utilities"; // Export members: +export { GetSinkArgs, GetSinkResult, GetSinkOutputArgs } from "./getSink"; +export const getSink: typeof import("./getSink").getSink = null as any; +export const getSinkOutput: typeof import("./getSink").getSinkOutput = null as any; +utilities.lazyLoad(exports, ["getSink","getSinkOutput"], () => require("./getSink")); + +export { GetSinksResult } from "./getSinks"; +export const getSinks: typeof import("./getSinks").getSinks = null as any; +utilities.lazyLoad(exports, ["getSinks"], () => require("./getSinks")); + export { LinkArgs, LinkState } from "./link"; export type Link = import("./link").Link; export const Link: typeof import("./link").Link = null as any; diff --git a/sdk/nodejs/rbin/index.ts b/sdk/nodejs/rbin/index.ts new file mode 100644 index 00000000000..59353e3caef --- /dev/null +++ b/sdk/nodejs/rbin/index.ts @@ -0,0 +1,25 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +import * as pulumi from "@pulumi/pulumi"; +import * as utilities from "../utilities"; + +// Export members: +export { RuleArgs, RuleState } from "./rule"; +export type Rule = import("./rule").Rule; +export const Rule: typeof import("./rule").Rule = null as any; +utilities.lazyLoad(exports, ["Rule"], () => require("./rule")); + + +const _module = { + version: utilities.getVersion(), + construct: (name: string, type: string, urn: string): pulumi.Resource => { + switch (type) { + case "aws:rbin/rule:Rule": + return new Rule(name, undefined, { urn }) + default: + throw new Error(`unknown resource type ${type}`); + } + }, +}; +pulumi.runtime.registerResourceModule("aws", "rbin/rule", _module) diff --git a/sdk/nodejs/rbin/rule.ts b/sdk/nodejs/rbin/rule.ts new file mode 100644 index 00000000000..ce7391ed35a --- /dev/null +++ b/sdk/nodejs/rbin/rule.ts @@ -0,0 +1,224 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +import * as pulumi from "@pulumi/pulumi"; +import * as inputs from "../types/input"; +import * as outputs from "../types/output"; +import * as enums from "../types/enums"; +import * as utilities from "../utilities"; + +/** + * Resource for managing an AWS RBin Rule. + * + * ## Example Usage + * ### Basic Usage + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as aws from "@pulumi/aws"; + * + * const example = new aws.rbin.Rule("example", { + * description: "example_rule", + * resourceType: "EBS_SNAPSHOT", + * resourceTags: [{ + * resourceTagKey: tag_key, + * resourceTagValue: "tag_value", + * }], + * retentionPeriod: { + * retentionPeriodValue: 10, + * retentionPeriodUnit: "DAYS", + * }, + * tags: { + * test_tag_key: "test_tag_value", + * }, + * }); + * ``` + * + * ## Import + * + * RBin Rule can be imported using the `id`, e.g., + * + * ```sh + * $ pulumi import aws:rbin/rule:Rule example examplerule + * ``` + */ +export class Rule extends pulumi.CustomResource { + /** + * Get an existing Rule resource's state with the given name, ID, and optional extra + * properties used to qualify the lookup. + * + * @param name The _unique_ name of the resulting resource. + * @param id The _unique_ provider ID of the resource to lookup. + * @param state Any extra arguments used during the lookup. + * @param opts Optional settings to control the behavior of the CustomResource. + */ + public static get(name: string, id: pulumi.Input, state?: RuleState, opts?: pulumi.CustomResourceOptions): Rule { + return new Rule(name, state, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'aws:rbin/rule:Rule'; + + /** + * Returns true if the given object is an instance of Rule. This is designed to work even + * when multiple copies of the Pulumi SDK have been loaded into the same process. + */ + public static isInstance(obj: any): obj is Rule { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === Rule.__pulumiType; + } + + public /*out*/ readonly arn!: pulumi.Output; + /** + * The retention rule description. + */ + public readonly description!: pulumi.Output; + /** + * Information about the retention rule lock configuration. See `lockConfiguration` below. + */ + public readonly lockConfiguration!: pulumi.Output; + /** + * (Timestamp) The date and time at which the unlock delay is set to expire. Only returned for retention rules that have been unlocked and that are still within the unlock delay period. + */ + public /*out*/ readonly lockEndTime!: pulumi.Output; + /** + * (Optional) The lock state of the retention rules to list. Only retention rules with the specified lock state are returned. Valid values are `locked`, `pendingUnlock`, `unlocked`. + */ + public /*out*/ readonly lockState!: pulumi.Output; + /** + * Specifies the resource tags to use to identify resources that are to be retained by a tag-level retention rule. See `resourceTags` below. + */ + public readonly resourceTags!: pulumi.Output; + /** + * The resource type to be retained by the retention rule. Valid values are `EBS_SNAPSHOT` and `EC2_IMAGE`. + */ + public readonly resourceType!: pulumi.Output; + /** + * Information about the retention period for which the retention rule is to retain resources. See `retentionPeriod` below. + */ + public readonly retentionPeriod!: pulumi.Output; + /** + * (String) The state of the retention rule. Only retention rules that are in the `available` state retain resources. Valid values include `pending` and `available`. + */ + public /*out*/ readonly status!: pulumi.Output; + public readonly tags!: pulumi.Output<{[key: string]: string} | undefined>; + public /*out*/ readonly tagsAll!: pulumi.Output<{[key: string]: string}>; + + /** + * Create a Rule resource with the given unique name, arguments, and options. + * + * @param name The _unique_ name of the resource. + * @param args The arguments to use to populate this resource's properties. + * @param opts A bag of options that control this resource's behavior. + */ + constructor(name: string, args: RuleArgs, opts?: pulumi.CustomResourceOptions) + constructor(name: string, argsOrState?: RuleArgs | RuleState, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (opts.id) { + const state = argsOrState as RuleState | undefined; + resourceInputs["arn"] = state ? state.arn : undefined; + resourceInputs["description"] = state ? state.description : undefined; + resourceInputs["lockConfiguration"] = state ? state.lockConfiguration : undefined; + resourceInputs["lockEndTime"] = state ? state.lockEndTime : undefined; + resourceInputs["lockState"] = state ? state.lockState : undefined; + resourceInputs["resourceTags"] = state ? state.resourceTags : undefined; + resourceInputs["resourceType"] = state ? state.resourceType : undefined; + resourceInputs["retentionPeriod"] = state ? state.retentionPeriod : undefined; + resourceInputs["status"] = state ? state.status : undefined; + resourceInputs["tags"] = state ? state.tags : undefined; + resourceInputs["tagsAll"] = state ? state.tagsAll : undefined; + } else { + const args = argsOrState as RuleArgs | undefined; + if ((!args || args.resourceType === undefined) && !opts.urn) { + throw new Error("Missing required property 'resourceType'"); + } + if ((!args || args.retentionPeriod === undefined) && !opts.urn) { + throw new Error("Missing required property 'retentionPeriod'"); + } + resourceInputs["description"] = args ? args.description : undefined; + resourceInputs["lockConfiguration"] = args ? args.lockConfiguration : undefined; + resourceInputs["resourceTags"] = args ? args.resourceTags : undefined; + resourceInputs["resourceType"] = args ? args.resourceType : undefined; + resourceInputs["retentionPeriod"] = args ? args.retentionPeriod : undefined; + resourceInputs["tags"] = args ? args.tags : undefined; + resourceInputs["arn"] = undefined /*out*/; + resourceInputs["lockEndTime"] = undefined /*out*/; + resourceInputs["lockState"] = undefined /*out*/; + resourceInputs["status"] = undefined /*out*/; + resourceInputs["tagsAll"] = undefined /*out*/; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + super(Rule.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * Input properties used for looking up and filtering Rule resources. + */ +export interface RuleState { + arn?: pulumi.Input; + /** + * The retention rule description. + */ + description?: pulumi.Input; + /** + * Information about the retention rule lock configuration. See `lockConfiguration` below. + */ + lockConfiguration?: pulumi.Input; + /** + * (Timestamp) The date and time at which the unlock delay is set to expire. Only returned for retention rules that have been unlocked and that are still within the unlock delay period. + */ + lockEndTime?: pulumi.Input; + /** + * (Optional) The lock state of the retention rules to list. Only retention rules with the specified lock state are returned. Valid values are `locked`, `pendingUnlock`, `unlocked`. + */ + lockState?: pulumi.Input; + /** + * Specifies the resource tags to use to identify resources that are to be retained by a tag-level retention rule. See `resourceTags` below. + */ + resourceTags?: pulumi.Input[]>; + /** + * The resource type to be retained by the retention rule. Valid values are `EBS_SNAPSHOT` and `EC2_IMAGE`. + */ + resourceType?: pulumi.Input; + /** + * Information about the retention period for which the retention rule is to retain resources. See `retentionPeriod` below. + */ + retentionPeriod?: pulumi.Input; + /** + * (String) The state of the retention rule. Only retention rules that are in the `available` state retain resources. Valid values include `pending` and `available`. + */ + status?: pulumi.Input; + tags?: pulumi.Input<{[key: string]: pulumi.Input}>; + tagsAll?: pulumi.Input<{[key: string]: pulumi.Input}>; +} + +/** + * The set of arguments for constructing a Rule resource. + */ +export interface RuleArgs { + /** + * The retention rule description. + */ + description?: pulumi.Input; + /** + * Information about the retention rule lock configuration. See `lockConfiguration` below. + */ + lockConfiguration?: pulumi.Input; + /** + * Specifies the resource tags to use to identify resources that are to be retained by a tag-level retention rule. See `resourceTags` below. + */ + resourceTags?: pulumi.Input[]>; + /** + * The resource type to be retained by the retention rule. Valid values are `EBS_SNAPSHOT` and `EC2_IMAGE`. + */ + resourceType: pulumi.Input; + /** + * Information about the retention period for which the retention rule is to retain resources. See `retentionPeriod` below. + */ + retentionPeriod: pulumi.Input; + tags?: pulumi.Input<{[key: string]: pulumi.Input}>; +} diff --git a/sdk/nodejs/rds/cluster.ts b/sdk/nodejs/rds/cluster.ts index 722ba4fe15b..e7e08609eaf 100644 --- a/sdk/nodejs/rds/cluster.ts +++ b/sdk/nodejs/rds/cluster.ts @@ -162,6 +162,42 @@ import * as utilities from "../utilities"; * engineVersion: exampleCluster.engineVersion, * }); * ``` + * ### RDS/Aurora Managed Master Passwords via Secrets Manager, default KMS Key + * + * > More information about RDS/Aurora Aurora integrates with Secrets Manager to manage master user passwords for your DB clusters can be found in the [RDS User Guide](https://aws.amazon.com/about-aws/whats-new/2022/12/amazon-rds-integration-aws-secrets-manager/) and [Aurora User Guide](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/rds-secrets-manager.html). + * + * You can specify the `manageMasterUserPassword` attribute to enable managing the master password with Secrets Manager. You can also update an existing cluster to use Secrets Manager by specify the `manageMasterUserPassword` attribute and removing the `masterPassword` attribute (removal is required). + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as aws from "@pulumi/aws"; + * + * const test = new aws.rds.Cluster("test", { + * clusterIdentifier: "example", + * databaseName: "test", + * manageMasterUserPassword: true, + * masterUsername: "test", + * }); + * ``` + * ### RDS/Aurora Managed Master Passwords via Secrets Manager, specific KMS Key + * + * > More information about RDS/Aurora Aurora integrates with Secrets Manager to manage master user passwords for your DB clusters can be found in the [RDS User Guide](https://aws.amazon.com/about-aws/whats-new/2022/12/amazon-rds-integration-aws-secrets-manager/) and [Aurora User Guide](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/rds-secrets-manager.html). + * + * You can specify the `masterUserSecretKmsKeyId` attribute to specify a specific KMS Key. + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as aws from "@pulumi/aws"; + * + * const example = new aws.kms.Key("example", {description: "Example KMS Key"}); + * const test = new aws.rds.Cluster("test", { + * clusterIdentifier: "example", + * databaseName: "test", + * manageMasterUserPassword: true, + * masterUsername: "test", + * masterUserSecretKmsKeyId: example.keyId, + * }); + * ``` * ### Global Cluster Restored From Snapshot * * ```typescript @@ -354,9 +390,21 @@ export class Cluster extends pulumi.CustomResource { */ public readonly kmsKeyId!: pulumi.Output; /** - * Password for the master DB user. Note that this may show up in logs, and it will be stored in the state file. Please refer to the [RDS Naming Constraints](http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Limits.html#RDS_Limits.Constraints) + * Set to true to allow RDS to manage the master user password in Secrets Manager. Cannot be set if `masterPassword` is provided. + */ + public readonly manageMasterUserPassword!: pulumi.Output; + /** + * Password for the master DB user. Note that this may show up in logs, and it will be stored in the state file. Please refer to the [RDS Naming Constraints](http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Limits.html#RDS_Limits.Constraints). Cannot be set if `manageMasterUserPassword` is set to `true`. */ public readonly masterPassword!: pulumi.Output; + /** + * The Amazon Web Services KMS key identifier is the key ARN, key ID, alias ARN, or alias name for the KMS key. To use a KMS key in a different Amazon Web Services account, specify the key ARN or alias ARN. If not specified, the default KMS key for your Amazon Web Services account is used. + */ + public readonly masterUserSecretKmsKeyId!: pulumi.Output; + /** + * A block that specifies the master user secret. Only available when `manageMasterUserPassword` is set to true. Documented below. + */ + public /*out*/ readonly masterUserSecrets!: pulumi.Output; /** * Username for the master DB user. Please refer to the [RDS Naming Constraints](http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Limits.html#RDS_Limits.Constraints). This argument does not support in-place updates and cannot be changed during a restore from snapshot. */ @@ -478,7 +526,10 @@ export class Cluster extends pulumi.CustomResource { resourceInputs["iamRoles"] = state ? state.iamRoles : undefined; resourceInputs["iops"] = state ? state.iops : undefined; resourceInputs["kmsKeyId"] = state ? state.kmsKeyId : undefined; + resourceInputs["manageMasterUserPassword"] = state ? state.manageMasterUserPassword : undefined; resourceInputs["masterPassword"] = state ? state.masterPassword : undefined; + resourceInputs["masterUserSecretKmsKeyId"] = state ? state.masterUserSecretKmsKeyId : undefined; + resourceInputs["masterUserSecrets"] = state ? state.masterUserSecrets : undefined; resourceInputs["masterUsername"] = state ? state.masterUsername : undefined; resourceInputs["networkType"] = state ? state.networkType : undefined; resourceInputs["port"] = state ? state.port : undefined; @@ -528,7 +579,9 @@ export class Cluster extends pulumi.CustomResource { resourceInputs["iamRoles"] = args ? args.iamRoles : undefined; resourceInputs["iops"] = args ? args.iops : undefined; resourceInputs["kmsKeyId"] = args ? args.kmsKeyId : undefined; + resourceInputs["manageMasterUserPassword"] = args ? args.manageMasterUserPassword : undefined; resourceInputs["masterPassword"] = args?.masterPassword ? pulumi.secret(args.masterPassword) : undefined; + resourceInputs["masterUserSecretKmsKeyId"] = args ? args.masterUserSecretKmsKeyId : undefined; resourceInputs["masterUsername"] = args ? args.masterUsername : undefined; resourceInputs["networkType"] = args ? args.networkType : undefined; resourceInputs["port"] = args ? args.port : undefined; @@ -551,6 +604,7 @@ export class Cluster extends pulumi.CustomResource { resourceInputs["endpoint"] = undefined /*out*/; resourceInputs["engineVersionActual"] = undefined /*out*/; resourceInputs["hostedZoneId"] = undefined /*out*/; + resourceInputs["masterUserSecrets"] = undefined /*out*/; resourceInputs["readerEndpoint"] = undefined /*out*/; resourceInputs["tagsAll"] = undefined /*out*/; } @@ -698,9 +752,21 @@ export interface ClusterState { */ kmsKeyId?: pulumi.Input; /** - * Password for the master DB user. Note that this may show up in logs, and it will be stored in the state file. Please refer to the [RDS Naming Constraints](http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Limits.html#RDS_Limits.Constraints) + * Set to true to allow RDS to manage the master user password in Secrets Manager. Cannot be set if `masterPassword` is provided. + */ + manageMasterUserPassword?: pulumi.Input; + /** + * Password for the master DB user. Note that this may show up in logs, and it will be stored in the state file. Please refer to the [RDS Naming Constraints](http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Limits.html#RDS_Limits.Constraints). Cannot be set if `manageMasterUserPassword` is set to `true`. */ masterPassword?: pulumi.Input; + /** + * The Amazon Web Services KMS key identifier is the key ARN, key ID, alias ARN, or alias name for the KMS key. To use a KMS key in a different Amazon Web Services account, specify the key ARN or alias ARN. If not specified, the default KMS key for your Amazon Web Services account is used. + */ + masterUserSecretKmsKeyId?: pulumi.Input; + /** + * A block that specifies the master user secret. Only available when `manageMasterUserPassword` is set to true. Documented below. + */ + masterUserSecrets?: pulumi.Input[]>; /** * Username for the master DB user. Please refer to the [RDS Naming Constraints](http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Limits.html#RDS_Limits.Constraints). This argument does not support in-place updates and cannot be changed during a restore from snapshot. */ @@ -894,9 +960,17 @@ export interface ClusterArgs { */ kmsKeyId?: pulumi.Input; /** - * Password for the master DB user. Note that this may show up in logs, and it will be stored in the state file. Please refer to the [RDS Naming Constraints](http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Limits.html#RDS_Limits.Constraints) + * Set to true to allow RDS to manage the master user password in Secrets Manager. Cannot be set if `masterPassword` is provided. + */ + manageMasterUserPassword?: pulumi.Input; + /** + * Password for the master DB user. Note that this may show up in logs, and it will be stored in the state file. Please refer to the [RDS Naming Constraints](http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Limits.html#RDS_Limits.Constraints). Cannot be set if `manageMasterUserPassword` is set to `true`. */ masterPassword?: pulumi.Input; + /** + * The Amazon Web Services KMS key identifier is the key ARN, key ID, alias ARN, or alias name for the KMS key. To use a KMS key in a different Amazon Web Services account, specify the key ARN or alias ARN. If not specified, the default KMS key for your Amazon Web Services account is used. + */ + masterUserSecretKmsKeyId?: pulumi.Input; /** * Username for the master DB user. Please refer to the [RDS Naming Constraints](http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Limits.html#RDS_Limits.Constraints). This argument does not support in-place updates and cannot be changed during a restore from snapshot. */ diff --git a/sdk/nodejs/rds/getCluster.ts b/sdk/nodejs/rds/getCluster.ts index 4bf07631403..bea6b8cfa21 100644 --- a/sdk/nodejs/rds/getCluster.ts +++ b/sdk/nodejs/rds/getCluster.ts @@ -2,6 +2,9 @@ // *** Do not edit by hand unless you're certain you know what you are doing! *** import * as pulumi from "@pulumi/pulumi"; +import * as inputs from "../types/input"; +import * as outputs from "../types/output"; +import * as enums from "../types/enums"; import * as utilities from "../utilities"; /** @@ -69,6 +72,7 @@ export interface GetClusterResult { */ readonly id: string; readonly kmsKeyId: string; + readonly masterUserSecrets: outputs.rds.GetClusterMasterUserSecret[]; readonly masterUsername: string; readonly networkType: string; readonly port: number; diff --git a/sdk/nodejs/rds/getInstance.ts b/sdk/nodejs/rds/getInstance.ts index 980ecad9655..543b59c089e 100644 --- a/sdk/nodejs/rds/getInstance.ts +++ b/sdk/nodejs/rds/getInstance.ts @@ -2,6 +2,9 @@ // *** Do not edit by hand unless you're certain you know what you are doing! *** import * as pulumi from "@pulumi/pulumi"; +import * as inputs from "../types/input"; +import * as outputs from "../types/output"; +import * as enums from "../types/enums"; import * as utilities from "../utilities"; /** @@ -128,13 +131,17 @@ export interface GetInstanceResult { */ readonly iops: number; /** - * If StorageEncrypted is true, the KMS key identifier for the encrypted DB instance. + * The Amazon Web Services KMS key identifier that is used to encrypt the secret. */ readonly kmsKeyId: string; /** * License model information for this DB instance. */ readonly licenseModel: string; + /** + * Provides the master user secret. Only available when `manageMasterUserPassword` is set to true. Documented below. + */ + readonly masterUserSecrets: outputs.rds.GetInstanceMasterUserSecret[]; /** * Contains the master username for the DB instance. */ diff --git a/sdk/nodejs/rds/instance.ts b/sdk/nodejs/rds/instance.ts index ce1bd86dde0..dd62062519e 100644 --- a/sdk/nodejs/rds/instance.ts +++ b/sdk/nodejs/rds/instance.ts @@ -76,6 +76,50 @@ import * as utilities from "../utilities"; * maxAllocatedStorage: 100, * }); * ``` + * ### Managed Master Passwords via Secrets Manager, default KMS Key + * + * > More information about RDS/Aurora Aurora integrates with Secrets Manager to manage master user passwords for your DB clusters can be found in the [RDS User Guide](https://aws.amazon.com/about-aws/whats-new/2022/12/amazon-rds-integration-aws-secrets-manager/) and [Aurora User Guide](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/rds-secrets-manager.html). + * + * You can specify the `manageMasterUserPassword` attribute to enable managing the master password with Secrets Manager. You can also update an existing cluster to use Secrets Manager by specify the `manageMasterUserPassword` attribute and removing the `password` attribute (removal is required). + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as aws from "@pulumi/aws"; + * + * const _default = new aws.rds.Instance("default", { + * allocatedStorage: 10, + * dbName: "mydb", + * engine: "mysql", + * engineVersion: "5.7", + * instanceClass: "db.t3.micro", + * manageMasterUserPassword: true, + * parameterGroupName: "default.mysql5.7", + * username: "foo", + * }); + * ``` + * ### Managed Master Passwords via Secrets Manager, specific KMS Key + * + * > More information about RDS/Aurora Aurora integrates with Secrets Manager to manage master user passwords for your DB clusters can be found in the [RDS User Guide](https://aws.amazon.com/about-aws/whats-new/2022/12/amazon-rds-integration-aws-secrets-manager/) and [Aurora User Guide](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/rds-secrets-manager.html). + * + * You can specify the `masterUserSecretKmsKeyId` attribute to specify a specific KMS Key. + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as aws from "@pulumi/aws"; + * + * const example = new aws.kms.Key("example", {description: "Example KMS Key"}); + * const _default = new aws.rds.Instance("default", { + * allocatedStorage: 10, + * dbName: "mydb", + * engine: "mysql", + * engineVersion: "5.7", + * instanceClass: "db.t3.micro", + * manageMasterUserPassword: true, + * masterUserSecretKmsKeyId: example.keyId, + * username: "foo", + * parameterGroupName: "default.mysql5.7", + * }); + * ``` * * ## Import * @@ -311,6 +355,18 @@ export class Instance extends pulumi.CustomResource { * for more information. */ public readonly maintenanceWindow!: pulumi.Output; + /** + * Set to true to allow RDS to manage the master user password in Secrets Manager. Cannot be set if `password` is provided. + */ + public readonly manageMasterUserPassword!: pulumi.Output; + /** + * The Amazon Web Services KMS key identifier is the key ARN, key ID, alias ARN, or alias name for the KMS key. To use a KMS key in a different Amazon Web Services account, specify the key ARN or alias ARN. If not specified, the default KMS key for your Amazon Web Services account is used. + */ + public readonly masterUserSecretKmsKeyId!: pulumi.Output; + /** + * A block that specifies the master user secret. Only available when `manageMasterUserPassword` is set to true. Documented below. + */ + public /*out*/ readonly masterUserSecrets!: pulumi.Output; /** * When configured, the upper limit to which Amazon RDS can automatically scale the storage of the DB instance. Configuring this will automatically ignore differences to `allocatedStorage`. Must be greater than or equal to `allocatedStorage` or `0` to disable Storage Autoscaling. */ @@ -357,9 +413,9 @@ export class Instance extends pulumi.CustomResource { */ public readonly parameterGroupName!: pulumi.Output; /** - * (Required unless a `snapshotIdentifier` or `replicateSourceDb` - * is provided) Password for the master DB user. Note that this may show up in - * logs, and it will be stored in the state file. + * (Required unless `manageMasterUserPassword` is set to true or unless a `snapshotIdentifier` or `replicateSourceDb` + * is provided or `manageMasterUserPassword` is set.) Password for the master DB user. Note that this may show up in + * logs, and it will be stored in the state file. Cannot be set if `manageMasterUserPassword` is set to `true`. */ public readonly password!: pulumi.Output; /** @@ -535,6 +591,9 @@ export class Instance extends pulumi.CustomResource { resourceInputs["licenseModel"] = state ? state.licenseModel : undefined; resourceInputs["listenerEndpoints"] = state ? state.listenerEndpoints : undefined; resourceInputs["maintenanceWindow"] = state ? state.maintenanceWindow : undefined; + resourceInputs["manageMasterUserPassword"] = state ? state.manageMasterUserPassword : undefined; + resourceInputs["masterUserSecretKmsKeyId"] = state ? state.masterUserSecretKmsKeyId : undefined; + resourceInputs["masterUserSecrets"] = state ? state.masterUserSecrets : undefined; resourceInputs["maxAllocatedStorage"] = state ? state.maxAllocatedStorage : undefined; resourceInputs["monitoringInterval"] = state ? state.monitoringInterval : undefined; resourceInputs["monitoringRoleArn"] = state ? state.monitoringRoleArn : undefined; @@ -604,6 +663,8 @@ export class Instance extends pulumi.CustomResource { resourceInputs["kmsKeyId"] = args ? args.kmsKeyId : undefined; resourceInputs["licenseModel"] = args ? args.licenseModel : undefined; resourceInputs["maintenanceWindow"] = args ? args.maintenanceWindow : undefined; + resourceInputs["manageMasterUserPassword"] = args ? args.manageMasterUserPassword : undefined; + resourceInputs["masterUserSecretKmsKeyId"] = args ? args.masterUserSecretKmsKeyId : undefined; resourceInputs["maxAllocatedStorage"] = args ? args.maxAllocatedStorage : undefined; resourceInputs["monitoringInterval"] = args ? args.monitoringInterval : undefined; resourceInputs["monitoringRoleArn"] = args ? args.monitoringRoleArn : undefined; @@ -640,6 +701,7 @@ export class Instance extends pulumi.CustomResource { resourceInputs["hostedZoneId"] = undefined /*out*/; resourceInputs["latestRestorableTime"] = undefined /*out*/; resourceInputs["listenerEndpoints"] = undefined /*out*/; + resourceInputs["masterUserSecrets"] = undefined /*out*/; resourceInputs["replicas"] = undefined /*out*/; resourceInputs["resourceId"] = undefined /*out*/; resourceInputs["status"] = undefined /*out*/; @@ -854,6 +916,18 @@ export interface InstanceState { * for more information. */ maintenanceWindow?: pulumi.Input; + /** + * Set to true to allow RDS to manage the master user password in Secrets Manager. Cannot be set if `password` is provided. + */ + manageMasterUserPassword?: pulumi.Input; + /** + * The Amazon Web Services KMS key identifier is the key ARN, key ID, alias ARN, or alias name for the KMS key. To use a KMS key in a different Amazon Web Services account, specify the key ARN or alias ARN. If not specified, the default KMS key for your Amazon Web Services account is used. + */ + masterUserSecretKmsKeyId?: pulumi.Input; + /** + * A block that specifies the master user secret. Only available when `manageMasterUserPassword` is set to true. Documented below. + */ + masterUserSecrets?: pulumi.Input[]>; /** * When configured, the upper limit to which Amazon RDS can automatically scale the storage of the DB instance. Configuring this will automatically ignore differences to `allocatedStorage`. Must be greater than or equal to `allocatedStorage` or `0` to disable Storage Autoscaling. */ @@ -900,9 +974,9 @@ export interface InstanceState { */ parameterGroupName?: pulumi.Input; /** - * (Required unless a `snapshotIdentifier` or `replicateSourceDb` - * is provided) Password for the master DB user. Note that this may show up in - * logs, and it will be stored in the state file. + * (Required unless `manageMasterUserPassword` is set to true or unless a `snapshotIdentifier` or `replicateSourceDb` + * is provided or `manageMasterUserPassword` is set.) Password for the master DB user. Note that this may show up in + * logs, and it will be stored in the state file. Cannot be set if `manageMasterUserPassword` is set to `true`. */ password?: pulumi.Input; /** @@ -1202,6 +1276,14 @@ export interface InstanceArgs { * for more information. */ maintenanceWindow?: pulumi.Input; + /** + * Set to true to allow RDS to manage the master user password in Secrets Manager. Cannot be set if `password` is provided. + */ + manageMasterUserPassword?: pulumi.Input; + /** + * The Amazon Web Services KMS key identifier is the key ARN, key ID, alias ARN, or alias name for the KMS key. To use a KMS key in a different Amazon Web Services account, specify the key ARN or alias ARN. If not specified, the default KMS key for your Amazon Web Services account is used. + */ + masterUserSecretKmsKeyId?: pulumi.Input; /** * When configured, the upper limit to which Amazon RDS can automatically scale the storage of the DB instance. Configuring this will automatically ignore differences to `allocatedStorage`. Must be greater than or equal to `allocatedStorage` or `0` to disable Storage Autoscaling. */ @@ -1248,9 +1330,9 @@ export interface InstanceArgs { */ parameterGroupName?: pulumi.Input; /** - * (Required unless a `snapshotIdentifier` or `replicateSourceDb` - * is provided) Password for the master DB user. Note that this may show up in - * logs, and it will be stored in the state file. + * (Required unless `manageMasterUserPassword` is set to true or unless a `snapshotIdentifier` or `replicateSourceDb` + * is provided or `manageMasterUserPassword` is set.) Password for the master DB user. Note that this may show up in + * logs, and it will be stored in the state file. Cannot be set if `manageMasterUserPassword` is set to `true`. */ password?: pulumi.Input; /** diff --git a/sdk/nodejs/route53/healthCheck.ts b/sdk/nodejs/route53/healthCheck.ts index 6e9f1539179..ed42e429e75 100644 --- a/sdk/nodejs/route53/healthCheck.ts +++ b/sdk/nodejs/route53/healthCheck.ts @@ -208,7 +208,7 @@ export class HealthCheck extends pulumi.CustomResource { /** * A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. */ - public /*out*/ readonly tagsAll!: pulumi.Output<{[key: string]: string}>; + public readonly tagsAll!: pulumi.Output<{[key: string]: string}>; /** * The protocol to use when performing health checks. Valid values are `HTTP`, `HTTPS`, `HTTP_STR_MATCH`, `HTTPS_STR_MATCH`, `TCP`, `CALCULATED`, `CLOUDWATCH_METRIC` and `RECOVERY_CONTROL`. */ @@ -275,9 +275,9 @@ export class HealthCheck extends pulumi.CustomResource { resourceInputs["routingControlArn"] = args ? args.routingControlArn : undefined; resourceInputs["searchString"] = args ? args.searchString : undefined; resourceInputs["tags"] = args ? args.tags : undefined; + resourceInputs["tagsAll"] = args ? args.tagsAll : undefined; resourceInputs["type"] = args ? args.type : undefined; resourceInputs["arn"] = undefined /*out*/; - resourceInputs["tagsAll"] = undefined /*out*/; } opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); super(HealthCheck.__pulumiType, name, resourceInputs, opts); @@ -474,6 +474,10 @@ export interface HealthCheckArgs { * A map of tags to assign to the health check. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. */ tags?: pulumi.Input<{[key: string]: pulumi.Input}>; + /** + * A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. + */ + tagsAll?: pulumi.Input<{[key: string]: pulumi.Input}>; /** * The protocol to use when performing health checks. Valid values are `HTTP`, `HTTPS`, `HTTP_STR_MATCH`, `HTTPS_STR_MATCH`, `TCP`, `CALCULATED`, `CLOUDWATCH_METRIC` and `RECOVERY_CONTROL`. */ diff --git a/sdk/nodejs/route53/zone.ts b/sdk/nodejs/route53/zone.ts index 2effdbb26ad..a3ac2030b5d 100644 --- a/sdk/nodejs/route53/zone.ts +++ b/sdk/nodejs/route53/zone.ts @@ -128,7 +128,7 @@ export class Zone extends pulumi.CustomResource { /** * A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. */ - public /*out*/ readonly tagsAll!: pulumi.Output<{[key: string]: string}>; + public readonly tagsAll!: pulumi.Output<{[key: string]: string}>; /** * Configuration block(s) specifying VPC(s) to associate with a private hosted zone. Conflicts with the `delegationSetId` argument in this resource and any `aws.route53.ZoneAssociation` resource specifying the same zone ID. Detailed below. */ @@ -169,11 +169,11 @@ export class Zone extends pulumi.CustomResource { resourceInputs["forceDestroy"] = args ? args.forceDestroy : undefined; resourceInputs["name"] = args ? args.name : undefined; resourceInputs["tags"] = args ? args.tags : undefined; + resourceInputs["tagsAll"] = args ? args.tagsAll : undefined; resourceInputs["vpcs"] = args ? args.vpcs : undefined; resourceInputs["arn"] = undefined /*out*/; resourceInputs["nameServers"] = undefined /*out*/; resourceInputs["primaryNameServer"] = undefined /*out*/; - resourceInputs["tagsAll"] = undefined /*out*/; resourceInputs["zoneId"] = undefined /*out*/; } opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); @@ -256,6 +256,10 @@ export interface ZoneArgs { * A mapping of tags to assign to the zone. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. */ tags?: pulumi.Input<{[key: string]: pulumi.Input}>; + /** + * A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. + */ + tagsAll?: pulumi.Input<{[key: string]: pulumi.Input}>; /** * Configuration block(s) specifying VPC(s) to associate with a private hosted zone. Conflicts with the `delegationSetId` argument in this resource and any `aws.route53.ZoneAssociation` resource specifying the same zone ID. Detailed below. */ diff --git a/sdk/nodejs/s3/bucketObject.ts b/sdk/nodejs/s3/bucketObject.ts index eb384bed808..a5643317e5f 100644 --- a/sdk/nodejs/s3/bucketObject.ts +++ b/sdk/nodejs/s3/bucketObject.ts @@ -235,7 +235,7 @@ export class BucketObject extends pulumi.CustomResource { /** * Map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. */ - public /*out*/ readonly tagsAll!: pulumi.Output<{[key: string]: string}>; + public readonly tagsAll!: pulumi.Output<{[key: string]: string}>; /** * Unique version ID value for the object, if bucket versioning is enabled. */ @@ -312,8 +312,8 @@ export class BucketObject extends pulumi.CustomResource { resourceInputs["sourceHash"] = args ? args.sourceHash : undefined; resourceInputs["storageClass"] = args ? args.storageClass : undefined; resourceInputs["tags"] = args ? args.tags : undefined; + resourceInputs["tagsAll"] = args ? args.tagsAll : undefined; resourceInputs["websiteRedirect"] = args ? args.websiteRedirect : undefined; - resourceInputs["tagsAll"] = undefined /*out*/; resourceInputs["versionId"] = undefined /*out*/; } opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); @@ -527,6 +527,10 @@ export interface BucketObjectArgs { * Map of tags to assign to the object. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. */ tags?: pulumi.Input<{[key: string]: pulumi.Input}>; + /** + * Map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. + */ + tagsAll?: pulumi.Input<{[key: string]: pulumi.Input}>; /** * Target URL for [website redirect](http://docs.aws.amazon.com/AmazonS3/latest/dev/how-to-page-redirect.html). */ diff --git a/sdk/nodejs/s3/bucketObjectv2.ts b/sdk/nodejs/s3/bucketObjectv2.ts index d832fac5b06..0b141b32139 100644 --- a/sdk/nodejs/s3/bucketObjectv2.ts +++ b/sdk/nodejs/s3/bucketObjectv2.ts @@ -235,7 +235,7 @@ export class BucketObjectv2 extends pulumi.CustomResource { /** * Map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. */ - public /*out*/ readonly tagsAll!: pulumi.Output<{[key: string]: string}>; + public readonly tagsAll!: pulumi.Output<{[key: string]: string}>; /** * Unique version ID value for the object, if bucket versioning is enabled. */ @@ -312,8 +312,8 @@ export class BucketObjectv2 extends pulumi.CustomResource { resourceInputs["sourceHash"] = args ? args.sourceHash : undefined; resourceInputs["storageClass"] = args ? args.storageClass : undefined; resourceInputs["tags"] = args ? args.tags : undefined; + resourceInputs["tagsAll"] = args ? args.tagsAll : undefined; resourceInputs["websiteRedirect"] = args ? args.websiteRedirect : undefined; - resourceInputs["tagsAll"] = undefined /*out*/; resourceInputs["versionId"] = undefined /*out*/; } opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); @@ -529,6 +529,10 @@ export interface BucketObjectv2Args { * Map of tags to assign to the object. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. */ tags?: pulumi.Input<{[key: string]: pulumi.Input}>; + /** + * Map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. + */ + tagsAll?: pulumi.Input<{[key: string]: pulumi.Input}>; /** * Target URL for [website redirect](http://docs.aws.amazon.com/AmazonS3/latest/dev/how-to-page-redirect.html). */ diff --git a/sdk/nodejs/s3/bucketV2.ts b/sdk/nodejs/s3/bucketV2.ts index fc9ec19525b..c1f7c91d523 100644 --- a/sdk/nodejs/s3/bucketV2.ts +++ b/sdk/nodejs/s3/bucketV2.ts @@ -412,7 +412,7 @@ export class BucketV2 extends pulumi.CustomResource { /** * Creates a unique bucket name beginning with the specified prefix. Conflicts with `bucket`. Must be lowercase and less than or equal to 37 characters in length. A full list of bucket naming rules [may be found here](https://docs.aws.amazon.com/AmazonS3/latest/userguide/bucketnamingrules.html). */ - public readonly bucketPrefix!: pulumi.Output; + public readonly bucketPrefix!: pulumi.Output; /** * Bucket region-specific domain name. The bucket domain name including the region name, please refer [here](https://docs.aws.amazon.com/general/latest/gr/rande.html#s3_region) for format. Note: The AWS CloudFront allows specifying S3 region-specific endpoint when creating S3 origin, it will prevent [redirect issues](https://forums.aws.amazon.com/thread.jspa?threadID=216814) from CloudFront to S3 Origin URL. */ @@ -507,7 +507,7 @@ export class BucketV2 extends pulumi.CustomResource { /** * Map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. */ - public /*out*/ readonly tagsAll!: pulumi.Output<{[key: string]: string}>; + public readonly tagsAll!: pulumi.Output<{[key: string]: string}>; /** * Configuration of the [S3 bucket versioning state](https://docs.aws.amazon.com/AmazonS3/latest/dev/Versioning.html). See Versioning below for details. The provider will only perform drift detection if a configuration value is provided. Use the resource `aws.s3.BucketVersioningV2` instead. * @@ -591,6 +591,7 @@ export class BucketV2 extends pulumi.CustomResource { resourceInputs["requestPayer"] = args ? args.requestPayer : undefined; resourceInputs["serverSideEncryptionConfigurations"] = args ? args.serverSideEncryptionConfigurations : undefined; resourceInputs["tags"] = args ? args.tags : undefined; + resourceInputs["tagsAll"] = args ? args.tagsAll : undefined; resourceInputs["versionings"] = args ? args.versionings : undefined; resourceInputs["websites"] = args ? args.websites : undefined; resourceInputs["arn"] = undefined /*out*/; @@ -598,7 +599,6 @@ export class BucketV2 extends pulumi.CustomResource { resourceInputs["bucketRegionalDomainName"] = undefined /*out*/; resourceInputs["hostedZoneId"] = undefined /*out*/; resourceInputs["region"] = undefined /*out*/; - resourceInputs["tagsAll"] = undefined /*out*/; resourceInputs["websiteDomain"] = undefined /*out*/; resourceInputs["websiteEndpoint"] = undefined /*out*/; } @@ -868,6 +868,10 @@ export interface BucketV2Args { * Map of tags to assign to the bucket. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. */ tags?: pulumi.Input<{[key: string]: pulumi.Input}>; + /** + * Map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. + */ + tagsAll?: pulumi.Input<{[key: string]: pulumi.Input}>; /** * Configuration of the [S3 bucket versioning state](https://docs.aws.amazon.com/AmazonS3/latest/dev/Versioning.html). See Versioning below for details. The provider will only perform drift detection if a configuration value is provided. Use the resource `aws.s3.BucketVersioningV2` instead. * diff --git a/sdk/nodejs/s3/objectCopy.ts b/sdk/nodejs/s3/objectCopy.ts index eaabe26837f..2be4a04e805 100644 --- a/sdk/nodejs/s3/objectCopy.ts +++ b/sdk/nodejs/s3/objectCopy.ts @@ -224,7 +224,7 @@ export class ObjectCopy extends pulumi.CustomResource { /** * Map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. */ - public /*out*/ readonly tagsAll!: pulumi.Output<{[key: string]: string}>; + public readonly tagsAll!: pulumi.Output<{[key: string]: string}>; /** * Version ID of the newly created copy. */ @@ -340,13 +340,13 @@ export class ObjectCopy extends pulumi.CustomResource { resourceInputs["storageClass"] = args ? args.storageClass : undefined; resourceInputs["taggingDirective"] = args ? args.taggingDirective : undefined; resourceInputs["tags"] = args ? args.tags : undefined; + resourceInputs["tagsAll"] = args ? args.tagsAll : undefined; resourceInputs["websiteRedirect"] = args ? args.websiteRedirect : undefined; resourceInputs["etag"] = undefined /*out*/; resourceInputs["expiration"] = undefined /*out*/; resourceInputs["lastModified"] = undefined /*out*/; resourceInputs["requestCharged"] = undefined /*out*/; resourceInputs["sourceVersionId"] = undefined /*out*/; - resourceInputs["tagsAll"] = undefined /*out*/; resourceInputs["versionId"] = undefined /*out*/; } opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); @@ -688,6 +688,10 @@ export interface ObjectCopyArgs { * Map of tags to assign to the object. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. */ tags?: pulumi.Input<{[key: string]: pulumi.Input}>; + /** + * Map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. + */ + tagsAll?: pulumi.Input<{[key: string]: pulumi.Input}>; /** * Specifies a target URL for [website redirect](http://docs.aws.amazon.com/AmazonS3/latest/dev/how-to-page-redirect.html). */ diff --git a/sdk/nodejs/servicecatalog/portfolio.ts b/sdk/nodejs/servicecatalog/portfolio.ts index b5586899a50..858e9a48af1 100644 --- a/sdk/nodejs/servicecatalog/portfolio.ts +++ b/sdk/nodejs/servicecatalog/portfolio.ts @@ -76,7 +76,7 @@ export class Portfolio extends pulumi.CustomResource { /** * A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. */ - public /*out*/ readonly tagsAll!: pulumi.Output<{[key: string]: string}>; + public readonly tagsAll!: pulumi.Output<{[key: string]: string}>; /** * Create a Portfolio resource with the given unique name, arguments, and options. @@ -107,9 +107,9 @@ export class Portfolio extends pulumi.CustomResource { resourceInputs["name"] = args ? args.name : undefined; resourceInputs["providerName"] = args ? args.providerName : undefined; resourceInputs["tags"] = args ? args.tags : undefined; + resourceInputs["tagsAll"] = args ? args.tagsAll : undefined; resourceInputs["arn"] = undefined /*out*/; resourceInputs["createdTime"] = undefined /*out*/; - resourceInputs["tagsAll"] = undefined /*out*/; } opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); super(Portfolio.__pulumiType, name, resourceInputs, opts); @@ -164,4 +164,8 @@ export interface PortfolioArgs { * Tags to apply to the connection. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. */ tags?: pulumi.Input<{[key: string]: pulumi.Input}>; + /** + * A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. + */ + tagsAll?: pulumi.Input<{[key: string]: pulumi.Input}>; } diff --git a/sdk/nodejs/servicecatalog/product.ts b/sdk/nodejs/servicecatalog/product.ts index beecd8130d3..faa50ee8cd0 100644 --- a/sdk/nodejs/servicecatalog/product.ts +++ b/sdk/nodejs/servicecatalog/product.ts @@ -128,7 +128,7 @@ export class Product extends pulumi.CustomResource { /** * A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. */ - public /*out*/ readonly tagsAll!: pulumi.Output<{[key: string]: string}>; + public readonly tagsAll!: pulumi.Output<{[key: string]: string}>; /** * Type of product. See [AWS Docs](https://docs.aws.amazon.com/servicecatalog/latest/dg/API_CreateProduct.html#API_CreateProduct_RequestSyntax) for valid list of values. */ @@ -184,12 +184,12 @@ export class Product extends pulumi.CustomResource { resourceInputs["supportEmail"] = args ? args.supportEmail : undefined; resourceInputs["supportUrl"] = args ? args.supportUrl : undefined; resourceInputs["tags"] = args ? args.tags : undefined; + resourceInputs["tagsAll"] = args ? args.tagsAll : undefined; resourceInputs["type"] = args ? args.type : undefined; resourceInputs["arn"] = undefined /*out*/; resourceInputs["createdTime"] = undefined /*out*/; resourceInputs["hasDefaultPath"] = undefined /*out*/; resourceInputs["status"] = undefined /*out*/; - resourceInputs["tagsAll"] = undefined /*out*/; } opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); super(Product.__pulumiType, name, resourceInputs, opts); @@ -310,6 +310,10 @@ export interface ProductArgs { * Tags to apply to the product. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. */ tags?: pulumi.Input<{[key: string]: pulumi.Input}>; + /** + * A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. + */ + tagsAll?: pulumi.Input<{[key: string]: pulumi.Input}>; /** * Type of product. See [AWS Docs](https://docs.aws.amazon.com/servicecatalog/latest/dg/API_CreateProduct.html#API_CreateProduct_RequestSyntax) for valid list of values. */ diff --git a/sdk/nodejs/servicecatalog/provisionedProduct.ts b/sdk/nodejs/servicecatalog/provisionedProduct.ts index 1364cf52dfa..4c0466a4288 100644 --- a/sdk/nodejs/servicecatalog/provisionedProduct.ts +++ b/sdk/nodejs/servicecatalog/provisionedProduct.ts @@ -173,7 +173,7 @@ export class ProvisionedProduct extends pulumi.CustomResource { /** * Map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. */ - public /*out*/ readonly tagsAll!: pulumi.Output<{[key: string]: string}>; + public readonly tagsAll!: pulumi.Output<{[key: string]: string}>; /** * Type of provisioned product. Valid values are `CFN_STACK` and `CFN_STACKSET`. */ @@ -234,6 +234,7 @@ export class ProvisionedProduct extends pulumi.CustomResource { resourceInputs["retainPhysicalResources"] = args ? args.retainPhysicalResources : undefined; resourceInputs["stackSetProvisioningPreferences"] = args ? args.stackSetProvisioningPreferences : undefined; resourceInputs["tags"] = args ? args.tags : undefined; + resourceInputs["tagsAll"] = args ? args.tagsAll : undefined; resourceInputs["arn"] = undefined /*out*/; resourceInputs["cloudwatchDashboardNames"] = undefined /*out*/; resourceInputs["createdTime"] = undefined /*out*/; @@ -244,7 +245,6 @@ export class ProvisionedProduct extends pulumi.CustomResource { resourceInputs["outputs"] = undefined /*out*/; resourceInputs["status"] = undefined /*out*/; resourceInputs["statusMessage"] = undefined /*out*/; - resourceInputs["tagsAll"] = undefined /*out*/; resourceInputs["type"] = undefined /*out*/; } opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); @@ -422,4 +422,8 @@ export interface ProvisionedProductArgs { * Tags to apply to the provisioned product. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. */ tags?: pulumi.Input<{[key: string]: pulumi.Input}>; + /** + * Map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. + */ + tagsAll?: pulumi.Input<{[key: string]: pulumi.Input}>; } diff --git a/sdk/nodejs/sns/dataProtectionPolicy.ts b/sdk/nodejs/sns/dataProtectionPolicy.ts new file mode 100644 index 00000000000..ababac35c8d --- /dev/null +++ b/sdk/nodejs/sns/dataProtectionPolicy.ts @@ -0,0 +1,138 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +import * as pulumi from "@pulumi/pulumi"; +import * as utilities from "../utilities"; + +/** + * Provides an SNS data protection topic policy resource + * + * ## Example Usage + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as aws from "@pulumi/aws"; + * + * const exampleTopic = new aws.sns.Topic("exampleTopic", {}); + * const exampleDataProtectionPolicy = new aws.sns.DataProtectionPolicy("exampleDataProtectionPolicy", { + * arn: exampleTopic.arn, + * policy: JSON.stringify({ + * Description: "Example data protection policy", + * Name: "__example_data_protection_policy", + * Statement: [{ + * DataDirection: "Inbound", + * DataIdentifier: ["arn:aws:dataprotection::aws:data-identifier/EmailAddress"], + * Operation: { + * Deny: {}, + * }, + * Principal: ["*"], + * Sid: "__deny_statement_11ba9d96", + * }], + * Version: "2021-06-01", + * }), + * }); + * ``` + * + * ## Import + * + * SNS Data Protection Topic Policy can be imported using the topic ARN, e.g., + * + * ```sh + * $ pulumi import aws:sns/dataProtectionPolicy:DataProtectionPolicy example arn:aws:sns:us-west-2:0123456789012:example + * ``` + */ +export class DataProtectionPolicy extends pulumi.CustomResource { + /** + * Get an existing DataProtectionPolicy resource's state with the given name, ID, and optional extra + * properties used to qualify the lookup. + * + * @param name The _unique_ name of the resulting resource. + * @param id The _unique_ provider ID of the resource to lookup. + * @param state Any extra arguments used during the lookup. + * @param opts Optional settings to control the behavior of the CustomResource. + */ + public static get(name: string, id: pulumi.Input, state?: DataProtectionPolicyState, opts?: pulumi.CustomResourceOptions): DataProtectionPolicy { + return new DataProtectionPolicy(name, state, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'aws:sns/dataProtectionPolicy:DataProtectionPolicy'; + + /** + * Returns true if the given object is an instance of DataProtectionPolicy. This is designed to work even + * when multiple copies of the Pulumi SDK have been loaded into the same process. + */ + public static isInstance(obj: any): obj is DataProtectionPolicy { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === DataProtectionPolicy.__pulumiType; + } + + /** + * The ARN of the SNS topic + */ + public readonly arn!: pulumi.Output; + /** + * The fully-formed AWS policy as JSON. For more information about building AWS IAM policy documents with this provider, see the AWS IAM Policy Document Guide. + */ + public readonly policy!: pulumi.Output; + + /** + * Create a DataProtectionPolicy resource with the given unique name, arguments, and options. + * + * @param name The _unique_ name of the resource. + * @param args The arguments to use to populate this resource's properties. + * @param opts A bag of options that control this resource's behavior. + */ + constructor(name: string, args: DataProtectionPolicyArgs, opts?: pulumi.CustomResourceOptions) + constructor(name: string, argsOrState?: DataProtectionPolicyArgs | DataProtectionPolicyState, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (opts.id) { + const state = argsOrState as DataProtectionPolicyState | undefined; + resourceInputs["arn"] = state ? state.arn : undefined; + resourceInputs["policy"] = state ? state.policy : undefined; + } else { + const args = argsOrState as DataProtectionPolicyArgs | undefined; + if ((!args || args.arn === undefined) && !opts.urn) { + throw new Error("Missing required property 'arn'"); + } + if ((!args || args.policy === undefined) && !opts.urn) { + throw new Error("Missing required property 'policy'"); + } + resourceInputs["arn"] = args ? args.arn : undefined; + resourceInputs["policy"] = args ? args.policy : undefined; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + super(DataProtectionPolicy.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * Input properties used for looking up and filtering DataProtectionPolicy resources. + */ +export interface DataProtectionPolicyState { + /** + * The ARN of the SNS topic + */ + arn?: pulumi.Input; + /** + * The fully-formed AWS policy as JSON. For more information about building AWS IAM policy documents with this provider, see the AWS IAM Policy Document Guide. + */ + policy?: pulumi.Input; +} + +/** + * The set of arguments for constructing a DataProtectionPolicy resource. + */ +export interface DataProtectionPolicyArgs { + /** + * The ARN of the SNS topic + */ + arn: pulumi.Input; + /** + * The fully-formed AWS policy as JSON. For more information about building AWS IAM policy documents with this provider, see the AWS IAM Policy Document Guide. + */ + policy: pulumi.Input; +} diff --git a/sdk/nodejs/sns/index.ts b/sdk/nodejs/sns/index.ts index 830f527d4e0..e0616db1389 100644 --- a/sdk/nodejs/sns/index.ts +++ b/sdk/nodejs/sns/index.ts @@ -5,6 +5,11 @@ import * as pulumi from "@pulumi/pulumi"; import * as utilities from "../utilities"; // Export members: +export { DataProtectionPolicyArgs, DataProtectionPolicyState } from "./dataProtectionPolicy"; +export type DataProtectionPolicy = import("./dataProtectionPolicy").DataProtectionPolicy; +export const DataProtectionPolicy: typeof import("./dataProtectionPolicy").DataProtectionPolicy = null as any; +utilities.lazyLoad(exports, ["DataProtectionPolicy"], () => require("./dataProtectionPolicy")); + export { GetTopicArgs, GetTopicResult, GetTopicOutputArgs } from "./getTopic"; export const getTopic: typeof import("./getTopic").getTopic = null as any; export const getTopicOutput: typeof import("./getTopic").getTopicOutput = null as any; @@ -41,6 +46,8 @@ const _module = { version: utilities.getVersion(), construct: (name: string, type: string, urn: string): pulumi.Resource => { switch (type) { + case "aws:sns/dataProtectionPolicy:DataProtectionPolicy": + return new DataProtectionPolicy(name, undefined, { urn }) case "aws:sns/platformApplication:PlatformApplication": return new PlatformApplication(name, undefined, { urn }) case "aws:sns/smsPreferences:SmsPreferences": @@ -56,6 +63,7 @@ const _module = { } }, }; +pulumi.runtime.registerResourceModule("aws", "sns/dataProtectionPolicy", _module) pulumi.runtime.registerResourceModule("aws", "sns/platformApplication", _module) pulumi.runtime.registerResourceModule("aws", "sns/smsPreferences", _module) pulumi.runtime.registerResourceModule("aws", "sns/topic", _module) diff --git a/sdk/nodejs/ssm/activation.ts b/sdk/nodejs/ssm/activation.ts index 91520c19d33..a7787a6bdf0 100644 --- a/sdk/nodejs/ssm/activation.ts +++ b/sdk/nodejs/ssm/activation.ts @@ -112,7 +112,7 @@ export class Activation extends pulumi.CustomResource { /** * A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. */ - public /*out*/ readonly tagsAll!: pulumi.Output<{[key: string]: string}>; + public readonly tagsAll!: pulumi.Output<{[key: string]: string}>; /** * Create a Activation resource with the given unique name, arguments, and options. @@ -148,10 +148,10 @@ export class Activation extends pulumi.CustomResource { resourceInputs["name"] = args ? args.name : undefined; resourceInputs["registrationLimit"] = args ? args.registrationLimit : undefined; resourceInputs["tags"] = args ? args.tags : undefined; + resourceInputs["tagsAll"] = args ? args.tagsAll : undefined; resourceInputs["activationCode"] = undefined /*out*/; resourceInputs["expired"] = undefined /*out*/; resourceInputs["registrationCount"] = undefined /*out*/; - resourceInputs["tagsAll"] = undefined /*out*/; } opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); super(Activation.__pulumiType, name, resourceInputs, opts); @@ -232,4 +232,8 @@ export interface ActivationArgs { * A map of tags to assign to the object. .If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. */ tags?: pulumi.Input<{[key: string]: pulumi.Input}>; + /** + * A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. + */ + tagsAll?: pulumi.Input<{[key: string]: pulumi.Input}>; } diff --git a/sdk/nodejs/ssm/document.ts b/sdk/nodejs/ssm/document.ts index d3abb71533a..765a62f1f88 100644 --- a/sdk/nodejs/ssm/document.ts +++ b/sdk/nodejs/ssm/document.ts @@ -218,7 +218,7 @@ export class Document extends pulumi.CustomResource { /** * A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. */ - public /*out*/ readonly tagsAll!: pulumi.Output<{[key: string]: string}>; + public readonly tagsAll!: pulumi.Output<{[key: string]: string}>; /** * The target type which defines the kinds of resources the document can run on. For example, /AWS::EC2::Instance. For a list of valid resource types, see AWS Resource Types Reference (http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-template-resource-type-ref.html) */ @@ -279,6 +279,7 @@ export class Document extends pulumi.CustomResource { resourceInputs["name"] = args ? args.name : undefined; resourceInputs["permissions"] = args ? args.permissions : undefined; resourceInputs["tags"] = args ? args.tags : undefined; + resourceInputs["tagsAll"] = args ? args.tagsAll : undefined; resourceInputs["targetType"] = args ? args.targetType : undefined; resourceInputs["versionName"] = args ? args.versionName : undefined; resourceInputs["arn"] = undefined /*out*/; @@ -294,7 +295,6 @@ export class Document extends pulumi.CustomResource { resourceInputs["platformTypes"] = undefined /*out*/; resourceInputs["schemaVersion"] = undefined /*out*/; resourceInputs["status"] = undefined /*out*/; - resourceInputs["tagsAll"] = undefined /*out*/; } opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); super(Document.__pulumiType, name, resourceInputs, opts); @@ -428,6 +428,10 @@ export interface DocumentArgs { * A map of tags to assign to the object. .If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. */ tags?: pulumi.Input<{[key: string]: pulumi.Input}>; + /** + * A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. + */ + tagsAll?: pulumi.Input<{[key: string]: pulumi.Input}>; /** * The target type which defines the kinds of resources the document can run on. For example, /AWS::EC2::Instance. For a list of valid resource types, see AWS Resource Types Reference (http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-template-resource-type-ref.html) */ diff --git a/sdk/nodejs/ssm/maintenanceWindow.ts b/sdk/nodejs/ssm/maintenanceWindow.ts index 50e624d9176..67a51ad03dc 100644 --- a/sdk/nodejs/ssm/maintenanceWindow.ts +++ b/sdk/nodejs/ssm/maintenanceWindow.ts @@ -109,7 +109,7 @@ export class MaintenanceWindow extends pulumi.CustomResource { /** * A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. */ - public /*out*/ readonly tagsAll!: pulumi.Output<{[key: string]: string}>; + public readonly tagsAll!: pulumi.Output<{[key: string]: string}>; /** * Create a MaintenanceWindow resource with the given unique name, arguments, and options. @@ -160,7 +160,7 @@ export class MaintenanceWindow extends pulumi.CustomResource { resourceInputs["scheduleTimezone"] = args ? args.scheduleTimezone : undefined; resourceInputs["startDate"] = args ? args.startDate : undefined; resourceInputs["tags"] = args ? args.tags : undefined; - resourceInputs["tagsAll"] = undefined /*out*/; + resourceInputs["tagsAll"] = args ? args.tagsAll : undefined; } opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); super(MaintenanceWindow.__pulumiType, name, resourceInputs, opts); @@ -277,4 +277,8 @@ export interface MaintenanceWindowArgs { * 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. */ tags?: pulumi.Input<{[key: string]: pulumi.Input}>; + /** + * A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. + */ + tagsAll?: pulumi.Input<{[key: string]: pulumi.Input}>; } diff --git a/sdk/nodejs/ssm/parameter.ts b/sdk/nodejs/ssm/parameter.ts index a7c74a3d43e..b6117364b76 100644 --- a/sdk/nodejs/ssm/parameter.ts +++ b/sdk/nodejs/ssm/parameter.ts @@ -127,7 +127,7 @@ export class Parameter extends pulumi.CustomResource { /** * Map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. */ - public /*out*/ readonly tagsAll!: pulumi.Output<{[key: string]: string}>; + public readonly tagsAll!: pulumi.Output<{[key: string]: string}>; /** * Parameter tier to assign to the parameter. If not specified, will use the default parameter tier for the region. Valid tiers are `Standard`, `Advanced`, and `Intelligent-Tiering`. Downgrading an `Advanced` tier parameter to `Standard` will recreate the resource. For more information on parameter tiers, see the [AWS SSM Parameter tier comparison and guide](https://docs.aws.amazon.com/systems-manager/latest/userguide/parameter-store-advanced-parameters.html). */ @@ -186,10 +186,10 @@ export class Parameter extends pulumi.CustomResource { resourceInputs["name"] = args ? args.name : undefined; resourceInputs["overwrite"] = args ? args.overwrite : undefined; resourceInputs["tags"] = args ? args.tags : undefined; + resourceInputs["tagsAll"] = args ? args.tagsAll : undefined; resourceInputs["tier"] = args ? args.tier : undefined; resourceInputs["type"] = args ? args.type : undefined; resourceInputs["value"] = args?.value ? pulumi.secret(args.value) : undefined; - resourceInputs["tagsAll"] = undefined /*out*/; resourceInputs["version"] = undefined /*out*/; } opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); @@ -301,6 +301,10 @@ export interface ParameterArgs { * Map of tags to assign to the object. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. */ tags?: pulumi.Input<{[key: string]: pulumi.Input}>; + /** + * Map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. + */ + tagsAll?: pulumi.Input<{[key: string]: pulumi.Input}>; /** * Parameter tier to assign to the parameter. If not specified, will use the default parameter tier for the region. Valid tiers are `Standard`, `Advanced`, and `Intelligent-Tiering`. Downgrading an `Advanced` tier parameter to `Standard` will recreate the resource. For more information on parameter tiers, see the [AWS SSM Parameter tier comparison and guide](https://docs.aws.amazon.com/systems-manager/latest/userguide/parameter-store-advanced-parameters.html). */ diff --git a/sdk/nodejs/ssm/patchBaseline.ts b/sdk/nodejs/ssm/patchBaseline.ts index 82f96c6124b..bfed39c06e4 100644 --- a/sdk/nodejs/ssm/patchBaseline.ts +++ b/sdk/nodejs/ssm/patchBaseline.ts @@ -288,7 +288,7 @@ export class PatchBaseline extends pulumi.CustomResource { /** * A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. */ - public /*out*/ readonly tagsAll!: pulumi.Output<{[key: string]: string}>; + public readonly tagsAll!: pulumi.Output<{[key: string]: string}>; /** * Create a PatchBaseline resource with the given unique name, arguments, and options. @@ -331,8 +331,8 @@ export class PatchBaseline extends pulumi.CustomResource { resourceInputs["rejectedPatchesAction"] = args ? args.rejectedPatchesAction : undefined; resourceInputs["sources"] = args ? args.sources : undefined; resourceInputs["tags"] = args ? args.tags : undefined; + resourceInputs["tagsAll"] = args ? args.tagsAll : undefined; resourceInputs["arn"] = undefined /*out*/; - resourceInputs["tagsAll"] = undefined /*out*/; } opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); super(PatchBaseline.__pulumiType, name, resourceInputs, opts); @@ -507,4 +507,8 @@ export interface PatchBaselineArgs { * 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. */ tags?: pulumi.Input<{[key: string]: pulumi.Input}>; + /** + * A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. + */ + tagsAll?: pulumi.Input<{[key: string]: pulumi.Input}>; } diff --git a/sdk/nodejs/ssmincidents/getReplicationSet.ts b/sdk/nodejs/ssmincidents/getReplicationSet.ts new file mode 100644 index 00000000000..2d83ef1472f --- /dev/null +++ b/sdk/nodejs/ssmincidents/getReplicationSet.ts @@ -0,0 +1,106 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +import * as pulumi from "@pulumi/pulumi"; +import * as inputs from "../types/input"; +import * as outputs from "../types/output"; +import * as enums from "../types/enums"; +import * as utilities from "../utilities"; + +/** + * > **NOTE:** The AWS Region specified by a provider must always be one of the Regions specified for the replication set. + * + * Use this data source to manage a replication set in AWS Systems Manager Incident Manager. + * + * ## Example Usage + * ### Basic Usage + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as aws from "@pulumi/aws"; + * + * const example = aws.ssmincidents.getReplicationSet({}); + * ``` + */ +export function getReplicationSet(args?: GetReplicationSetArgs, opts?: pulumi.InvokeOptions): Promise { + args = args || {}; + + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); + return pulumi.runtime.invoke("aws:ssmincidents/getReplicationSet:getReplicationSet", { + "tags": args.tags, + }, opts); +} + +/** + * A collection of arguments for invoking getReplicationSet. + */ +export interface GetReplicationSetArgs { + /** + * All tags applied to the replication set. + */ + tags?: {[key: string]: string}; +} + +/** + * A collection of values returned by getReplicationSet. + */ +export interface GetReplicationSetResult { + /** + * The Amazon Resouce Name (ARN) of the replication set. + */ + readonly arn: string; + /** + * The ARN of the user who created the replication set. + */ + readonly createdBy: string; + /** + * If `true`, the last remaining Region in a replication set can’t be deleted. + */ + readonly deletionProtected: boolean; + /** + * The provider-assigned unique ID for this managed resource. + */ + readonly id: string; + /** + * The ARN of the user who last modified the replication set. + */ + readonly lastModifiedBy: string; + readonly regions: outputs.ssmincidents.GetReplicationSetRegion[]; + /** + * The current status of the Region. + * * Valid Values: `ACTIVE` | `CREATING` | `UPDATING` | `DELETING` | `FAILED` + */ + readonly status: string; + /** + * All tags applied to the replication set. + */ + readonly tags: {[key: string]: string}; +} +/** + * > **NOTE:** The AWS Region specified by a provider must always be one of the Regions specified for the replication set. + * + * Use this data source to manage a replication set in AWS Systems Manager Incident Manager. + * + * ## Example Usage + * ### Basic Usage + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as aws from "@pulumi/aws"; + * + * const example = aws.ssmincidents.getReplicationSet({}); + * ``` + */ +export function getReplicationSetOutput(args?: GetReplicationSetOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { + return pulumi.output(args).apply((a: any) => getReplicationSet(a, opts)) +} + +/** + * A collection of arguments for invoking getReplicationSet. + */ +export interface GetReplicationSetOutputArgs { + /** + * All tags applied to the replication set. + */ + tags?: pulumi.Input<{[key: string]: pulumi.Input}>; +} diff --git a/sdk/nodejs/ssmincidents/index.ts b/sdk/nodejs/ssmincidents/index.ts new file mode 100644 index 00000000000..dcd698d3f2d --- /dev/null +++ b/sdk/nodejs/ssmincidents/index.ts @@ -0,0 +1,30 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +import * as pulumi from "@pulumi/pulumi"; +import * as utilities from "../utilities"; + +// Export members: +export { GetReplicationSetArgs, GetReplicationSetResult, GetReplicationSetOutputArgs } from "./getReplicationSet"; +export const getReplicationSet: typeof import("./getReplicationSet").getReplicationSet = null as any; +export const getReplicationSetOutput: typeof import("./getReplicationSet").getReplicationSetOutput = null as any; +utilities.lazyLoad(exports, ["getReplicationSet","getReplicationSetOutput"], () => require("./getReplicationSet")); + +export { ReplicationSetArgs, ReplicationSetState } from "./replicationSet"; +export type ReplicationSet = import("./replicationSet").ReplicationSet; +export const ReplicationSet: typeof import("./replicationSet").ReplicationSet = null as any; +utilities.lazyLoad(exports, ["ReplicationSet"], () => require("./replicationSet")); + + +const _module = { + version: utilities.getVersion(), + construct: (name: string, type: string, urn: string): pulumi.Resource => { + switch (type) { + case "aws:ssmincidents/replicationSet:ReplicationSet": + return new ReplicationSet(name, undefined, { urn }) + default: + throw new Error(`unknown resource type ${type}`); + } + }, +}; +pulumi.runtime.registerResourceModule("aws", "ssmincidents/replicationSet", _module) diff --git a/sdk/nodejs/ssmincidents/replicationSet.ts b/sdk/nodejs/ssmincidents/replicationSet.ts new file mode 100644 index 00000000000..1fb36910a47 --- /dev/null +++ b/sdk/nodejs/ssmincidents/replicationSet.ts @@ -0,0 +1,232 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +import * as pulumi from "@pulumi/pulumi"; +import * as inputs from "../types/input"; +import * as outputs from "../types/output"; +import * as enums from "../types/enums"; +import * as utilities from "../utilities"; + +/** + * Provides a resource for managing a replication set in AWS Systems Manager Incident Manager. + * + * > **NOTE:** Deleting a replication set also deletes all Incident Manager related data including response plans, incident records, contacts and escalation plans. + * + * ## Example Usage + * ### Basic Usage + * + * Create a replication set. + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as aws from "@pulumi/aws"; + * + * const replicationSetName = new aws.ssmincidents.ReplicationSet("replicationSetName", { + * regions: [{ + * name: "us-west-2", + * }], + * tags: { + * exampleTag: "exampleValue", + * }, + * }); + * ``` + * + * Add a Region to a replication set. (You can add only one Region at a time.) + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as aws from "@pulumi/aws"; + * + * const replicationSetName = new aws.ssmincidents.ReplicationSet("replicationSetName", {regions: [ + * { + * name: "us-west-2", + * }, + * { + * name: "ap-southeast-2", + * }, + * ]}); + * ``` + * + * Delete a Region from a replication set. (You can delete only one Region at a time.) + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as aws from "@pulumi/aws"; + * + * const replicationSetName = new aws.ssmincidents.ReplicationSet("replicationSetName", {regions: [{ + * name: "us-west-2", + * }]}); + * ``` + * ## Basic Usage with an AWS Customer Managed Key + * + * Create a replication set with an AWS Key Management Service (AWS KMS) customer manager key: + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as aws from "@pulumi/aws"; + * + * const exampleKey = new aws.kms.Key("exampleKey", {}); + * const replicationSetName = new aws.ssmincidents.ReplicationSet("replicationSetName", { + * regions: [{ + * name: "us-west-2", + * kmsKeyArn: exampleKey.arn, + * }], + * tags: { + * exampleTag: "exampleValue", + * }, + * }); + * ``` + * + * ## Import + * + * Use the following command to import an Incident Manager replication set + * + * ```sh + * $ pulumi import aws:ssmincidents/replicationSet:ReplicationSet replicationSetName import + * ``` + */ +export class ReplicationSet extends pulumi.CustomResource { + /** + * Get an existing ReplicationSet resource's state with the given name, ID, and optional extra + * properties used to qualify the lookup. + * + * @param name The _unique_ name of the resulting resource. + * @param id The _unique_ provider ID of the resource to lookup. + * @param state Any extra arguments used during the lookup. + * @param opts Optional settings to control the behavior of the CustomResource. + */ + public static get(name: string, id: pulumi.Input, state?: ReplicationSetState, opts?: pulumi.CustomResourceOptions): ReplicationSet { + return new ReplicationSet(name, state, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'aws:ssmincidents/replicationSet:ReplicationSet'; + + /** + * Returns true if the given object is an instance of ReplicationSet. This is designed to work even + * when multiple copies of the Pulumi SDK have been loaded into the same process. + */ + public static isInstance(obj: any): obj is ReplicationSet { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === ReplicationSet.__pulumiType; + } + + /** + * The ARN of the replication set. + */ + public /*out*/ readonly arn!: pulumi.Output; + /** + * The ARN of the user who created the replication set. + */ + public /*out*/ readonly createdBy!: pulumi.Output; + /** + * If `true`, the last region in a replication set cannot be deleted. + */ + public /*out*/ readonly deletionProtected!: pulumi.Output; + /** + * A timestamp showing when the replication set was last modified. + */ + public /*out*/ readonly lastModifiedBy!: pulumi.Output; + public readonly regions!: pulumi.Output; + /** + * The current status of the Region. + * * Valid Values: `ACTIVE` | `CREATING` | `UPDATING` | `DELETING` | `FAILED` + */ + public /*out*/ readonly status!: pulumi.Output; + /** + * Tags applied to the replication set. + */ + public readonly tags!: pulumi.Output<{[key: string]: string} | undefined>; + /** + * A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. + */ + public /*out*/ readonly tagsAll!: pulumi.Output<{[key: string]: string}>; + + /** + * Create a ReplicationSet resource with the given unique name, arguments, and options. + * + * @param name The _unique_ name of the resource. + * @param args The arguments to use to populate this resource's properties. + * @param opts A bag of options that control this resource's behavior. + */ + constructor(name: string, args: ReplicationSetArgs, opts?: pulumi.CustomResourceOptions) + constructor(name: string, argsOrState?: ReplicationSetArgs | ReplicationSetState, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (opts.id) { + const state = argsOrState as ReplicationSetState | undefined; + resourceInputs["arn"] = state ? state.arn : undefined; + resourceInputs["createdBy"] = state ? state.createdBy : undefined; + resourceInputs["deletionProtected"] = state ? state.deletionProtected : undefined; + resourceInputs["lastModifiedBy"] = state ? state.lastModifiedBy : undefined; + resourceInputs["regions"] = state ? state.regions : undefined; + resourceInputs["status"] = state ? state.status : undefined; + resourceInputs["tags"] = state ? state.tags : undefined; + resourceInputs["tagsAll"] = state ? state.tagsAll : undefined; + } else { + const args = argsOrState as ReplicationSetArgs | undefined; + if ((!args || args.regions === undefined) && !opts.urn) { + throw new Error("Missing required property 'regions'"); + } + resourceInputs["regions"] = args ? args.regions : undefined; + resourceInputs["tags"] = args ? args.tags : undefined; + resourceInputs["arn"] = undefined /*out*/; + resourceInputs["createdBy"] = undefined /*out*/; + resourceInputs["deletionProtected"] = undefined /*out*/; + resourceInputs["lastModifiedBy"] = undefined /*out*/; + resourceInputs["status"] = undefined /*out*/; + resourceInputs["tagsAll"] = undefined /*out*/; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + super(ReplicationSet.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * Input properties used for looking up and filtering ReplicationSet resources. + */ +export interface ReplicationSetState { + /** + * The ARN of the replication set. + */ + arn?: pulumi.Input; + /** + * The ARN of the user who created the replication set. + */ + createdBy?: pulumi.Input; + /** + * If `true`, the last region in a replication set cannot be deleted. + */ + deletionProtected?: pulumi.Input; + /** + * A timestamp showing when the replication set was last modified. + */ + lastModifiedBy?: pulumi.Input; + regions?: pulumi.Input[]>; + /** + * The current status of the Region. + * * Valid Values: `ACTIVE` | `CREATING` | `UPDATING` | `DELETING` | `FAILED` + */ + status?: pulumi.Input; + /** + * Tags applied to the replication set. + */ + tags?: pulumi.Input<{[key: string]: pulumi.Input}>; + /** + * A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. + */ + tagsAll?: pulumi.Input<{[key: string]: pulumi.Input}>; +} + +/** + * The set of arguments for constructing a ReplicationSet resource. + */ +export interface ReplicationSetArgs { + regions: pulumi.Input[]>; + /** + * Tags applied to the replication set. + */ + tags?: pulumi.Input<{[key: string]: pulumi.Input}>; +} diff --git a/sdk/nodejs/ssoadmin/permissionSet.ts b/sdk/nodejs/ssoadmin/permissionSet.ts index 67ba750bd1b..88b3bb0386a 100644 --- a/sdk/nodejs/ssoadmin/permissionSet.ts +++ b/sdk/nodejs/ssoadmin/permissionSet.ts @@ -80,7 +80,7 @@ export class PermissionSet extends pulumi.CustomResource { /** * A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. */ - public /*out*/ readonly tagsAll!: pulumi.Output<{[key: string]: string}>; + public readonly tagsAll!: pulumi.Output<{[key: string]: string}>; /** * Create a PermissionSet resource with the given unique name, arguments, and options. @@ -115,9 +115,9 @@ export class PermissionSet extends pulumi.CustomResource { resourceInputs["relayState"] = args ? args.relayState : undefined; resourceInputs["sessionDuration"] = args ? args.sessionDuration : undefined; resourceInputs["tags"] = args ? args.tags : undefined; + resourceInputs["tagsAll"] = args ? args.tagsAll : undefined; resourceInputs["arn"] = undefined /*out*/; resourceInputs["createdDate"] = undefined /*out*/; - resourceInputs["tagsAll"] = undefined /*out*/; } opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); super(PermissionSet.__pulumiType, name, resourceInputs, opts); @@ -194,4 +194,8 @@ export interface PermissionSetArgs { * Key-value map of resource tags. .If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. */ tags?: pulumi.Input<{[key: string]: pulumi.Input}>; + /** + * A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. + */ + tagsAll?: pulumi.Input<{[key: string]: pulumi.Input}>; } diff --git a/sdk/nodejs/tsconfig.json b/sdk/nodejs/tsconfig.json index 3ca90694c4a..b6a86a78e9a 100644 --- a/sdk/nodejs/tsconfig.json +++ b/sdk/nodejs/tsconfig.json @@ -137,9 +137,12 @@ "applicationloadbalancing/targetGroup.ts", "applicationloadbalancing/targetGroupAttachment.ts", "appmesh/gatewayRoute.ts", + "appmesh/getGatewayRoute.ts", "appmesh/getMesh.ts", "appmesh/getRoute.ts", "appmesh/getVirtualGateway.ts", + "appmesh/getVirtualNode.ts", + "appmesh/getVirtualRouter.ts", "appmesh/getVirtualService.ts", "appmesh/index.ts", "appmesh/mesh.ts", @@ -1326,6 +1329,8 @@ "networkmanager/transitGatewayRegistration.ts", "networkmanager/transitGatewayRouteTableAttachment.ts", "networkmanager/vpcAttachment.ts", + "oam/getSink.ts", + "oam/getSinks.ts", "oam/index.ts", "oam/link.ts", "oam/sink.ts", @@ -1408,6 +1413,8 @@ "ram/resourceAssociation.ts", "ram/resourceShare.ts", "ram/resourceShareAccepter.ts", + "rbin/index.ts", + "rbin/rule.ts", "rds/cluster.ts", "rds/clusterActivityStream.ts", "rds/clusterEndpoint.ts", @@ -1734,6 +1741,7 @@ "signer/signingProfilePermission.ts", "simpledb/domain.ts", "simpledb/index.ts", + "sns/dataProtectionPolicy.ts", "sns/getTopic.ts", "sns/index.ts", "sns/platformApplication.ts", @@ -1771,6 +1779,9 @@ "ssm/patchGroup.ts", "ssm/resourceDataSync.ts", "ssm/serviceSetting.ts", + "ssmincidents/getReplicationSet.ts", + "ssmincidents/index.ts", + "ssmincidents/replicationSet.ts", "ssoadmin/accountAssignment.ts", "ssoadmin/customerManagedPolicyAttachment.ts", "ssoadmin/getInstances.ts", diff --git a/sdk/nodejs/types/input.ts b/sdk/nodejs/types/input.ts index aa5f80a2071..9c9ef1433a8 100644 --- a/sdk/nodejs/types/input.ts +++ b/sdk/nodejs/types/input.ts @@ -4283,6 +4283,10 @@ export namespace appmesh { * Specification of an HTTP gateway route. */ httpRoute?: pulumi.Input; + /** + * Priority for the gateway route, between `0` and `1000`. + */ + priority?: pulumi.Input; } export interface GatewayRouteSpecGrpcRoute { @@ -4304,6 +4308,10 @@ export namespace appmesh { } export interface GatewayRouteSpecGrpcRouteActionTarget { + /** + * The port number that corresponds to the target for Virtual Service provider port. This is required when the provider (router or node) of the Virtual Service has multiple listeners. + */ + port?: pulumi.Input; /** * Virtual service gateway route target. */ @@ -4319,7 +4327,7 @@ export namespace appmesh { export interface GatewayRouteSpecGrpcRouteMatch { /** - * The port number to match from the request. + * The port number that corresponds to the target for Virtual Service provider port. This is required when the provider (router or node) of the Virtual Service has multiple listeners. */ port?: pulumi.Input; /** @@ -4380,6 +4388,10 @@ export namespace appmesh { } export interface GatewayRouteSpecHttp2RouteActionTarget { + /** + * The port number that corresponds to the target for Virtual Service provider port. This is required when the provider (router or node) of the Virtual Service has multiple listeners. + */ + port?: pulumi.Input; /** * Virtual service gateway route target. */ @@ -4394,18 +4406,79 @@ export namespace appmesh { } export interface GatewayRouteSpecHttp2RouteMatch { + /** + * Client request headers to match on. + */ + headers?: pulumi.Input[]>; /** * Host name to rewrite. */ hostname?: pulumi.Input; /** - * The port number to match from the request. + * Client request path to match on. + */ + path?: pulumi.Input; + /** + * The port number that corresponds to the target for Virtual Service provider port. This is required when the provider (router or node) of the Virtual Service has multiple listeners. */ port?: pulumi.Input; /** * Specified beginning characters to rewrite. */ prefix?: pulumi.Input; + /** + * Client request query parameters to match on. + */ + queryParameters?: pulumi.Input[]>; + } + + export interface GatewayRouteSpecHttp2RouteMatchHeader { + /** + * If `true`, the match is on the opposite of the `match` method and value. Default is `false`. + */ + invert?: pulumi.Input; + /** + * Method and value to match the header value sent with a request. Specify one match method. + */ + match?: pulumi.Input; + /** + * Name for the HTTP header in the client request that will be matched on. + */ + name: pulumi.Input; + } + + export interface GatewayRouteSpecHttp2RouteMatchHeaderMatch { + /** + * Header value sent by the client must match the specified value exactly. + */ + exact?: pulumi.Input; + /** + * Specified beginning characters to rewrite. + */ + prefix?: pulumi.Input; + /** + * Object that specifies the range of numbers that the header value sent by the client must be included in. + */ + range?: pulumi.Input; + /** + * Header value sent by the client must include the specified characters. + */ + regex?: pulumi.Input; + /** + * Header value sent by the client must end with the specified characters. + */ + suffix?: pulumi.Input; + } + + export interface GatewayRouteSpecHttp2RouteMatchHeaderMatchRange { + /** + * End of the range. + */ + end: pulumi.Input; + /** + * Start of the range. + */ + start: pulumi.Input; } export interface GatewayRouteSpecHttp2RouteMatchHostname { @@ -4419,6 +4492,35 @@ export namespace appmesh { suffix?: pulumi.Input; } + export interface GatewayRouteSpecHttp2RouteMatchPath { + /** + * The exact path to match on. + */ + exact?: pulumi.Input; + /** + * The regex used to match the path. + */ + regex?: pulumi.Input; + } + + export interface GatewayRouteSpecHttp2RouteMatchQueryParameter { + /** + * The query parameter to match on. + */ + match?: pulumi.Input; + /** + * Name for the query parameter that will be matched on. + */ + name: pulumi.Input; + } + + export interface GatewayRouteSpecHttp2RouteMatchQueryParameterMatch { + /** + * Header value sent by the client must match the specified value exactly. + */ + exact?: pulumi.Input; + } + export interface GatewayRouteSpecHttpRoute { /** * Action to take if a match is determined. @@ -4471,6 +4573,10 @@ export namespace appmesh { } export interface GatewayRouteSpecHttpRouteActionTarget { + /** + * The port number that corresponds to the target for Virtual Service provider port. This is required when the provider (router or node) of the Virtual Service has multiple listeners. + */ + port?: pulumi.Input; /** * Virtual service gateway route target. */ @@ -4485,18 +4591,79 @@ export namespace appmesh { } export interface GatewayRouteSpecHttpRouteMatch { + /** + * Client request headers to match on. + */ + headers?: pulumi.Input[]>; /** * Host name to rewrite. */ hostname?: pulumi.Input; /** - * The port number to match from the request. + * Client request path to match on. + */ + path?: pulumi.Input; + /** + * The port number that corresponds to the target for Virtual Service provider port. This is required when the provider (router or node) of the Virtual Service has multiple listeners. */ port?: pulumi.Input; /** * Specified beginning characters to rewrite. */ prefix?: pulumi.Input; + /** + * Client request query parameters to match on. + */ + queryParameters?: pulumi.Input[]>; + } + + export interface GatewayRouteSpecHttpRouteMatchHeader { + /** + * If `true`, the match is on the opposite of the `match` method and value. Default is `false`. + */ + invert?: pulumi.Input; + /** + * Method and value to match the header value sent with a request. Specify one match method. + */ + match?: pulumi.Input; + /** + * Name for the HTTP header in the client request that will be matched on. + */ + name: pulumi.Input; + } + + export interface GatewayRouteSpecHttpRouteMatchHeaderMatch { + /** + * Header value sent by the client must match the specified value exactly. + */ + exact?: pulumi.Input; + /** + * Specified beginning characters to rewrite. + */ + prefix?: pulumi.Input; + /** + * Object that specifies the range of numbers that the header value sent by the client must be included in. + */ + range?: pulumi.Input; + /** + * Header value sent by the client must include the specified characters. + */ + regex?: pulumi.Input; + /** + * Header value sent by the client must end with the specified characters. + */ + suffix?: pulumi.Input; + } + + export interface GatewayRouteSpecHttpRouteMatchHeaderMatchRange { + /** + * End of the range. + */ + end: pulumi.Input; + /** + * Start of the range. + */ + start: pulumi.Input; } export interface GatewayRouteSpecHttpRouteMatchHostname { @@ -4510,6 +4677,35 @@ export namespace appmesh { suffix?: pulumi.Input; } + export interface GatewayRouteSpecHttpRouteMatchPath { + /** + * The exact path to match on. + */ + exact?: pulumi.Input; + /** + * The regex used to match the path. + */ + regex?: pulumi.Input; + } + + export interface GatewayRouteSpecHttpRouteMatchQueryParameter { + /** + * The query parameter to match on. + */ + match?: pulumi.Input; + /** + * Name for the query parameter that will be matched on. + */ + name: pulumi.Input; + } + + export interface GatewayRouteSpecHttpRouteMatchQueryParameterMatch { + /** + * Header value sent by the client must match the specified value exactly. + */ + exact?: pulumi.Input; + } + export interface MeshSpec { /** * Egress filter rules for the service mesh. @@ -4632,7 +4828,7 @@ export namespace appmesh { export interface RouteSpecGrpcRouteMatchMetadataMatch { /** - * Value sent by the client must match the specified value exactly. Must be between 1 and 255 characters in length. + * The exact path to match on. */ exact?: pulumi.Input; /** @@ -4645,7 +4841,7 @@ export namespace appmesh { */ range?: pulumi.Input; /** - * Value sent by the client must include the specified characters. Must be between 1 and 255 characters in length. + * The regex used to match the path. */ regex?: pulumi.Input; /** @@ -4786,6 +4982,10 @@ export namespace appmesh { * Client request header method to match on. Valid values: `GET`, `HEAD`, `POST`, `PUT`, `DELETE`, `CONNECT`, `OPTIONS`, `TRACE`, `PATCH`. */ method?: pulumi.Input; + /** + * Client request path to match on. + */ + path?: pulumi.Input; /** * The port number to match from the request. */ @@ -4794,7 +4994,11 @@ export namespace appmesh { * Value sent by the client must begin with the specified characters. Must be between 1 and 255 characters in length. * This parameter must always start with /, which by itself matches all requests to the virtual router service name. */ - prefix: pulumi.Input; + prefix?: pulumi.Input; + /** + * Client request query parameters to match on. + */ + queryParameters?: pulumi.Input[]>; /** * Client request header scheme to match on. Valid values: `http`, `https`. */ @@ -4818,7 +5022,7 @@ export namespace appmesh { export interface RouteSpecHttp2RouteMatchHeaderMatch { /** - * Value sent by the client must match the specified value exactly. Must be between 1 and 255 characters in length. + * The exact path to match on. */ exact?: pulumi.Input; /** @@ -4831,7 +5035,7 @@ export namespace appmesh { */ range?: pulumi.Input; /** - * Value sent by the client must include the specified characters. Must be between 1 and 255 characters in length. + * The regex used to match the path. */ regex?: pulumi.Input; /** @@ -4851,6 +5055,35 @@ export namespace appmesh { start: pulumi.Input; } + export interface RouteSpecHttp2RouteMatchPath { + /** + * Value sent by the client must match the specified value exactly. Must be between 1 and 255 characters in length. + */ + exact?: pulumi.Input; + /** + * Value sent by the client must include the specified characters. Must be between 1 and 255 characters in length. + */ + regex?: pulumi.Input; + } + + export interface RouteSpecHttp2RouteMatchQueryParameter { + /** + * Criteria for determining an gRPC request match. + */ + match?: pulumi.Input; + /** + * Name to use for the route. Must be between 1 and 255 characters in length. + */ + name: pulumi.Input; + } + + export interface RouteSpecHttp2RouteMatchQueryParameterMatch { + /** + * The exact path to match on. + */ + exact?: pulumi.Input; + } + export interface RouteSpecHttp2RouteRetryPolicy { /** * List of HTTP retry events. @@ -4967,6 +5200,10 @@ export namespace appmesh { * Client request header method to match on. Valid values: `GET`, `HEAD`, `POST`, `PUT`, `DELETE`, `CONNECT`, `OPTIONS`, `TRACE`, `PATCH`. */ method?: pulumi.Input; + /** + * Client request path to match on. + */ + path?: pulumi.Input; /** * The port number to match from the request. */ @@ -4975,7 +5212,11 @@ export namespace appmesh { * Value sent by the client must begin with the specified characters. Must be between 1 and 255 characters in length. * This parameter must always start with /, which by itself matches all requests to the virtual router service name. */ - prefix: pulumi.Input; + prefix?: pulumi.Input; + /** + * Client request query parameters to match on. + */ + queryParameters?: pulumi.Input[]>; /** * Client request header scheme to match on. Valid values: `http`, `https`. */ @@ -4999,7 +5240,7 @@ export namespace appmesh { export interface RouteSpecHttpRouteMatchHeaderMatch { /** - * Value sent by the client must match the specified value exactly. Must be between 1 and 255 characters in length. + * The exact path to match on. */ exact?: pulumi.Input; /** @@ -5012,7 +5253,7 @@ export namespace appmesh { */ range?: pulumi.Input; /** - * Value sent by the client must include the specified characters. Must be between 1 and 255 characters in length. + * The regex used to match the path. */ regex?: pulumi.Input; /** @@ -5032,6 +5273,35 @@ export namespace appmesh { start: pulumi.Input; } + export interface RouteSpecHttpRouteMatchPath { + /** + * Value sent by the client must match the specified value exactly. Must be between 1 and 255 characters in length. + */ + exact?: pulumi.Input; + /** + * Value sent by the client must include the specified characters. Must be between 1 and 255 characters in length. + */ + regex?: pulumi.Input; + } + + export interface RouteSpecHttpRouteMatchQueryParameter { + /** + * Criteria for determining an gRPC request match. + */ + match?: pulumi.Input; + /** + * Name to use for the route. Must be between 1 and 255 characters in length. + */ + name: pulumi.Input; + } + + export interface RouteSpecHttpRouteMatchQueryParameterMatch { + /** + * The exact path to match on. + */ + exact?: pulumi.Input; + } + export interface RouteSpecHttpRouteRetryPolicy { /** * List of HTTP retry events. @@ -6313,6 +6583,14 @@ export namespace appmesh { * DNS host name for your virtual node. */ hostname: pulumi.Input; + /** + * The preferred IP version that this virtual node uses. Valid values: `IPv6_PREFERRED`, `IPv4_PREFERRED`, `IPv4_ONLY`, `IPv6_ONLY`. + */ + ipPreference?: pulumi.Input; + /** + * The DNS response type for the virtual node. Valid values: `LOADBALANCER`, `ENDPOINTS`. + */ + responseType?: pulumi.Input; } export interface VirtualRouterSpec { @@ -6320,7 +6598,7 @@ export namespace appmesh { * Listeners that the virtual router is expected to receive inbound traffic from. * Currently only one listener is supported per virtual router. */ - listener: pulumi.Input; + listener?: pulumi.Input; } export interface VirtualRouterSpecListener { @@ -39011,7 +39289,64 @@ export namespace ram { } } +export namespace rbin { + export interface RuleLockConfiguration { + /** + * Information about the retention rule unlock delay. See `unlockDelay` below. + */ + unlockDelay: pulumi.Input; + } + + export interface RuleLockConfigurationUnlockDelay { + /** + * The unit of time in which to measure the unlock delay. Currently, the unlock delay can be measure only in days. + */ + unlockDelayUnit: pulumi.Input; + /** + * The unlock delay period, measured in the unit specified for UnlockDelayUnit. + */ + unlockDelayValue: pulumi.Input; + } + + export interface RuleResourceTag { + /** + * The tag key. + */ + resourceTagKey: pulumi.Input; + /** + * The tag value. + */ + resourceTagValue?: pulumi.Input; + } + + export interface RuleRetentionPeriod { + /** + * The unit of time in which the retention period is measured. Currently, only DAYS is supported. + */ + retentionPeriodUnit: pulumi.Input; + /** + * The period value for which the retention rule is to retain resources. The period is measured using the unit specified for RetentionPeriodUnit. + */ + retentionPeriodValue: pulumi.Input; + } +} + export namespace rds { + export interface ClusterMasterUserSecret { + /** + * The ARN for the KMS encryption key. When specifying `kmsKeyId`, `storageEncrypted` needs to be set to true. + */ + kmsKeyId?: pulumi.Input; + /** + * The Amazon Resource Name (ARN) of the secret. + */ + secretArn?: pulumi.Input; + /** + * The status of the secret. Valid Values: `creating` | `active` | `rotating` | `impaired`. + */ + secretStatus?: pulumi.Input; + } + export interface ClusterParameterGroupParameter { /** * "immediate" (default), or "pending-reboot". Some @@ -39194,6 +39529,22 @@ export namespace rds { port?: pulumi.Input; } + export interface InstanceMasterUserSecret { + /** + * The ARN for the KMS encryption key. If creating an + * encrypted replica, set this to the destination KMS ARN. + */ + kmsKeyId?: pulumi.Input; + /** + * The Amazon Resource Name (ARN) of the secret. + */ + secretArn?: pulumi.Input; + /** + * The status of the secret. Valid Values: `creating` | `active` | `rotating` | `impaired`. + */ + secretStatus?: pulumi.Input; + } + export interface InstanceRestoreToPointInTime { /** * The date and time to restore from. Value must be a time in Universal Coordinated Time (UTC) format and must be before the latest restorable time for the DB instance. Cannot be specified with `useLatestRestorableTime`. @@ -43132,6 +43483,10 @@ export namespace sagemaker { * Specifies configuration for a core dump from the model container when the process crashes. Fields are documented below. */ coreDumpConfig?: pulumi.Input; + /** + * You can use this parameter to turn on native Amazon Web Services Systems Manager (SSM) access for a production variant behind an endpoint. By default, SSM access is disabled for all production variants behind an endpoints. + */ + enableSsmAccess?: pulumi.Input; /** * Initial number of instances used for auto-scaling. */ @@ -43201,6 +43556,10 @@ export namespace sagemaker { * Specifies configuration for a core dump from the model container when the process crashes. Fields are documented below. */ coreDumpConfig?: pulumi.Input; + /** + * You can use this parameter to turn on native Amazon Web Services Systems Manager (SSM) access for a production variant behind an endpoint. By default, SSM access is disabled for all production variants behind an endpoints. + */ + enableSsmAccess?: pulumi.Input; /** * Initial number of instances used for auto-scaling. */ @@ -46891,6 +47250,28 @@ export namespace ssm { } } +export namespace ssmincidents { + export interface ReplicationSetRegion { + /** + * The Amazon Resource name (ARN) of the customer managed key. If omitted, AWS manages the AWS KMS keys for you, using an AWS owned key, as indicated by a default value of `DefaultKey`. + */ + kmsKeyArn?: pulumi.Input; + /** + * The name of the Region, such as `ap-southeast-2`. + */ + name: pulumi.Input; + /** + * The current status of the Region. + * * Valid Values: `ACTIVE` | `CREATING` | `UPDATING` | `DELETING` | `FAILED` + */ + status?: pulumi.Input; + /** + * More information about the status of a Region. + */ + statusMessage?: pulumi.Input; + } +} + export namespace ssoadmin { export interface CustomerManagedPolicyAttachmentCustomerManagedPolicyReference { /** diff --git a/sdk/nodejs/types/output.ts b/sdk/nodejs/types/output.ts index f76efbe9494..6cabe403484 100644 --- a/sdk/nodejs/types/output.ts +++ b/sdk/nodejs/types/output.ts @@ -4119,6 +4119,10 @@ export namespace appmesh { * Specification of an HTTP gateway route. */ httpRoute?: outputs.appmesh.GatewayRouteSpecHttpRoute; + /** + * Priority for the gateway route, between `0` and `1000`. + */ + priority?: number; } export interface GatewayRouteSpecGrpcRoute { @@ -4140,6 +4144,10 @@ export namespace appmesh { } export interface GatewayRouteSpecGrpcRouteActionTarget { + /** + * The port number that corresponds to the target for Virtual Service provider port. This is required when the provider (router or node) of the Virtual Service has multiple listeners. + */ + port?: number; /** * Virtual service gateway route target. */ @@ -4155,7 +4163,7 @@ export namespace appmesh { export interface GatewayRouteSpecGrpcRouteMatch { /** - * The port number to match from the request. + * The port number that corresponds to the target for Virtual Service provider port. This is required when the provider (router or node) of the Virtual Service has multiple listeners. */ port?: number; /** @@ -4216,6 +4224,10 @@ export namespace appmesh { } export interface GatewayRouteSpecHttp2RouteActionTarget { + /** + * The port number that corresponds to the target for Virtual Service provider port. This is required when the provider (router or node) of the Virtual Service has multiple listeners. + */ + port?: number; /** * Virtual service gateway route target. */ @@ -4230,18 +4242,79 @@ export namespace appmesh { } export interface GatewayRouteSpecHttp2RouteMatch { + /** + * Client request headers to match on. + */ + headers?: outputs.appmesh.GatewayRouteSpecHttp2RouteMatchHeader[]; /** * Host name to rewrite. */ hostname?: outputs.appmesh.GatewayRouteSpecHttp2RouteMatchHostname; /** - * The port number to match from the request. + * Client request path to match on. + */ + path?: outputs.appmesh.GatewayRouteSpecHttp2RouteMatchPath; + /** + * The port number that corresponds to the target for Virtual Service provider port. This is required when the provider (router or node) of the Virtual Service has multiple listeners. */ port?: number; /** * Specified beginning characters to rewrite. */ prefix?: string; + /** + * Client request query parameters to match on. + */ + queryParameters?: outputs.appmesh.GatewayRouteSpecHttp2RouteMatchQueryParameter[]; + } + + export interface GatewayRouteSpecHttp2RouteMatchHeader { + /** + * If `true`, the match is on the opposite of the `match` method and value. Default is `false`. + */ + invert?: boolean; + /** + * Method and value to match the header value sent with a request. Specify one match method. + */ + match?: outputs.appmesh.GatewayRouteSpecHttp2RouteMatchHeaderMatch; + /** + * Name for the HTTP header in the client request that will be matched on. + */ + name: string; + } + + export interface GatewayRouteSpecHttp2RouteMatchHeaderMatch { + /** + * Header value sent by the client must match the specified value exactly. + */ + exact?: string; + /** + * Specified beginning characters to rewrite. + */ + prefix?: string; + /** + * Object that specifies the range of numbers that the header value sent by the client must be included in. + */ + range?: outputs.appmesh.GatewayRouteSpecHttp2RouteMatchHeaderMatchRange; + /** + * Header value sent by the client must include the specified characters. + */ + regex?: string; + /** + * Header value sent by the client must end with the specified characters. + */ + suffix?: string; + } + + export interface GatewayRouteSpecHttp2RouteMatchHeaderMatchRange { + /** + * End of the range. + */ + end: number; + /** + * Start of the range. + */ + start: number; } export interface GatewayRouteSpecHttp2RouteMatchHostname { @@ -4255,6 +4328,35 @@ export namespace appmesh { suffix?: string; } + export interface GatewayRouteSpecHttp2RouteMatchPath { + /** + * The exact path to match on. + */ + exact?: string; + /** + * The regex used to match the path. + */ + regex?: string; + } + + export interface GatewayRouteSpecHttp2RouteMatchQueryParameter { + /** + * The query parameter to match on. + */ + match?: outputs.appmesh.GatewayRouteSpecHttp2RouteMatchQueryParameterMatch; + /** + * Name for the query parameter that will be matched on. + */ + name: string; + } + + export interface GatewayRouteSpecHttp2RouteMatchQueryParameterMatch { + /** + * Header value sent by the client must match the specified value exactly. + */ + exact?: string; + } + export interface GatewayRouteSpecHttpRoute { /** * Action to take if a match is determined. @@ -4307,6 +4409,10 @@ export namespace appmesh { } export interface GatewayRouteSpecHttpRouteActionTarget { + /** + * The port number that corresponds to the target for Virtual Service provider port. This is required when the provider (router or node) of the Virtual Service has multiple listeners. + */ + port?: number; /** * Virtual service gateway route target. */ @@ -4321,84 +4427,343 @@ export namespace appmesh { } export interface GatewayRouteSpecHttpRouteMatch { + /** + * Client request headers to match on. + */ + headers?: outputs.appmesh.GatewayRouteSpecHttpRouteMatchHeader[]; /** * Host name to rewrite. */ hostname?: outputs.appmesh.GatewayRouteSpecHttpRouteMatchHostname; /** - * The port number to match from the request. + * Client request path to match on. + */ + path?: outputs.appmesh.GatewayRouteSpecHttpRouteMatchPath; + /** + * The port number that corresponds to the target for Virtual Service provider port. This is required when the provider (router or node) of the Virtual Service has multiple listeners. */ port?: number; /** * Specified beginning characters to rewrite. */ prefix?: string; + /** + * Client request query parameters to match on. + */ + queryParameters?: outputs.appmesh.GatewayRouteSpecHttpRouteMatchQueryParameter[]; } - export interface GatewayRouteSpecHttpRouteMatchHostname { + export interface GatewayRouteSpecHttpRouteMatchHeader { /** - * Exact host name to match on. + * If `true`, the match is on the opposite of the `match` method and value. Default is `false`. + */ + invert?: boolean; + /** + * Method and value to match the header value sent with a request. Specify one match method. + */ + match?: outputs.appmesh.GatewayRouteSpecHttpRouteMatchHeaderMatch; + /** + * Name for the HTTP header in the client request that will be matched on. + */ + name: string; + } + + export interface GatewayRouteSpecHttpRouteMatchHeaderMatch { + /** + * Header value sent by the client must match the specified value exactly. */ exact?: string; /** - * Specified ending characters of the host name to match on. + * Specified beginning characters to rewrite. + */ + prefix?: string; + /** + * Object that specifies the range of numbers that the header value sent by the client must be included in. + */ + range?: outputs.appmesh.GatewayRouteSpecHttpRouteMatchHeaderMatchRange; + /** + * Header value sent by the client must include the specified characters. + */ + regex?: string; + /** + * Header value sent by the client must end with the specified characters. */ suffix?: string; } - export interface GetMeshSpec { + export interface GatewayRouteSpecHttpRouteMatchHeaderMatchRange { /** - * Egress filter rules for the service mesh. + * End of the range. */ - egressFilters: outputs.appmesh.GetMeshSpecEgressFilter[]; + end: number; + /** + * Start of the range. + */ + start: number; } - export interface GetMeshSpecEgressFilter { + export interface GatewayRouteSpecHttpRouteMatchHostname { /** - * Egress filter type. + * Exact host name to match on. */ - type: string; + exact?: string; + /** + * Specified ending characters of the host name to match on. + */ + suffix?: string; } - export interface GetRouteSpec { + export interface GatewayRouteSpecHttpRouteMatchPath { /** - * GRPC routing information for the route. + * The exact path to match on. */ - grpcRoutes: outputs.appmesh.GetRouteSpecGrpcRoute[]; + exact?: string; /** - * HTTP/2 routing information for the route. + * The regex used to match the path. */ - http2Routes: outputs.appmesh.GetRouteSpecHttp2Route[]; + regex?: string; + } + + export interface GatewayRouteSpecHttpRouteMatchQueryParameter { /** - * HTTP routing information for the route. + * The query parameter to match on. */ - httpRoutes: outputs.appmesh.GetRouteSpecHttpRoute[]; + match?: outputs.appmesh.GatewayRouteSpecHttpRouteMatchQueryParameterMatch; /** - * Priority for the route, between `0` and `1000`. + * Name for the query parameter that will be matched on. */ - priority: number; + name: string; + } + + export interface GatewayRouteSpecHttpRouteMatchQueryParameterMatch { /** - * TCP routing information for the route. + * Header value sent by the client must match the specified value exactly. */ - tcpRoutes: outputs.appmesh.GetRouteSpecTcpRoute[]; + exact?: string; } - export interface GetRouteSpecGrpcRoute { + export interface GetGatewayRouteSpec { + grpcRoutes: outputs.appmesh.GetGatewayRouteSpecGrpcRoute[]; + http2Routes: outputs.appmesh.GetGatewayRouteSpecHttp2Route[]; + httpRoutes: outputs.appmesh.GetGatewayRouteSpecHttpRoute[]; + priority: number; + } + + export interface GetGatewayRouteSpecGrpcRoute { + actions: outputs.appmesh.GetGatewayRouteSpecGrpcRouteAction[]; + matches: outputs.appmesh.GetGatewayRouteSpecGrpcRouteMatch[]; + } + + export interface GetGatewayRouteSpecGrpcRouteAction { + targets: outputs.appmesh.GetGatewayRouteSpecGrpcRouteActionTarget[]; + } + + export interface GetGatewayRouteSpecGrpcRouteActionTarget { + port: number; + virtualServices: outputs.appmesh.GetGatewayRouteSpecGrpcRouteActionTargetVirtualService[]; + } + + export interface GetGatewayRouteSpecGrpcRouteActionTargetVirtualService { + virtualServiceName: string; + } + + export interface GetGatewayRouteSpecGrpcRouteMatch { + port: number; + serviceName: string; + } + + export interface GetGatewayRouteSpecHttp2Route { + actions: outputs.appmesh.GetGatewayRouteSpecHttp2RouteAction[]; + matches: outputs.appmesh.GetGatewayRouteSpecHttp2RouteMatch[]; + } + + export interface GetGatewayRouteSpecHttp2RouteAction { + rewrites: outputs.appmesh.GetGatewayRouteSpecHttp2RouteActionRewrite[]; + targets: outputs.appmesh.GetGatewayRouteSpecHttp2RouteActionTarget[]; + } + + export interface GetGatewayRouteSpecHttp2RouteActionRewrite { + hostnames: outputs.appmesh.GetGatewayRouteSpecHttp2RouteActionRewriteHostname[]; + prefixes: outputs.appmesh.GetGatewayRouteSpecHttp2RouteActionRewritePrefix[]; + } + + export interface GetGatewayRouteSpecHttp2RouteActionRewriteHostname { + defaultTargetHostname: string; + } + + export interface GetGatewayRouteSpecHttp2RouteActionRewritePrefix { + defaultPrefix: string; + value: string; + } + + export interface GetGatewayRouteSpecHttp2RouteActionTarget { + port: number; + virtualServices: outputs.appmesh.GetGatewayRouteSpecHttp2RouteActionTargetVirtualService[]; + } + + export interface GetGatewayRouteSpecHttp2RouteActionTargetVirtualService { + virtualServiceName: string; + } + + export interface GetGatewayRouteSpecHttp2RouteMatch { + headers: outputs.appmesh.GetGatewayRouteSpecHttp2RouteMatchHeader[]; + hostnames: outputs.appmesh.GetGatewayRouteSpecHttp2RouteMatchHostname[]; + paths: outputs.appmesh.GetGatewayRouteSpecHttp2RouteMatchPath[]; + port: number; + prefix: string; + queryParameters: outputs.appmesh.GetGatewayRouteSpecHttp2RouteMatchQueryParameter[]; + } + + export interface GetGatewayRouteSpecHttp2RouteMatchHeader { + invert: boolean; + matches: outputs.appmesh.GetGatewayRouteSpecHttp2RouteMatchHeaderMatch[]; /** - * Action to take if a match is determined. + * Name of the gateway route. */ - actions: outputs.appmesh.GetRouteSpecGrpcRouteAction[]; + name: string; + } + + export interface GetGatewayRouteSpecHttp2RouteMatchHeaderMatch { + exact: string; + prefix: string; + ranges: outputs.appmesh.GetGatewayRouteSpecHttp2RouteMatchHeaderMatchRange[]; + regex: string; + suffix: string; + } + + export interface GetGatewayRouteSpecHttp2RouteMatchHeaderMatchRange { + end: number; + start: number; + } + + export interface GetGatewayRouteSpecHttp2RouteMatchHostname { + exact: string; + suffix: string; + } + + export interface GetGatewayRouteSpecHttp2RouteMatchPath { + exact: string; + regex: string; + } + + export interface GetGatewayRouteSpecHttp2RouteMatchQueryParameter { + matches: outputs.appmesh.GetGatewayRouteSpecHttp2RouteMatchQueryParameterMatch[]; /** - * Criteria for determining an HTTP request match. + * Name of the gateway route. */ - matches: outputs.appmesh.GetRouteSpecGrpcRouteMatch[]; + name: string; + } + + export interface GetGatewayRouteSpecHttp2RouteMatchQueryParameterMatch { + exact: string; + } + + export interface GetGatewayRouteSpecHttpRoute { + actions: outputs.appmesh.GetGatewayRouteSpecHttpRouteAction[]; + matches: outputs.appmesh.GetGatewayRouteSpecHttpRouteMatch[]; + } + + export interface GetGatewayRouteSpecHttpRouteAction { + rewrites: outputs.appmesh.GetGatewayRouteSpecHttpRouteActionRewrite[]; + targets: outputs.appmesh.GetGatewayRouteSpecHttpRouteActionTarget[]; + } + + export interface GetGatewayRouteSpecHttpRouteActionRewrite { + hostnames: outputs.appmesh.GetGatewayRouteSpecHttpRouteActionRewriteHostname[]; + prefixes: outputs.appmesh.GetGatewayRouteSpecHttpRouteActionRewritePrefix[]; + } + + export interface GetGatewayRouteSpecHttpRouteActionRewriteHostname { + defaultTargetHostname: string; + } + + export interface GetGatewayRouteSpecHttpRouteActionRewritePrefix { + defaultPrefix: string; + value: string; + } + + export interface GetGatewayRouteSpecHttpRouteActionTarget { + port: number; + virtualServices: outputs.appmesh.GetGatewayRouteSpecHttpRouteActionTargetVirtualService[]; + } + + export interface GetGatewayRouteSpecHttpRouteActionTargetVirtualService { + virtualServiceName: string; + } + + export interface GetGatewayRouteSpecHttpRouteMatch { + headers: outputs.appmesh.GetGatewayRouteSpecHttpRouteMatchHeader[]; + hostnames: outputs.appmesh.GetGatewayRouteSpecHttpRouteMatchHostname[]; + paths: outputs.appmesh.GetGatewayRouteSpecHttpRouteMatchPath[]; + port: number; + prefix: string; + queryParameters: outputs.appmesh.GetGatewayRouteSpecHttpRouteMatchQueryParameter[]; + } + + export interface GetGatewayRouteSpecHttpRouteMatchHeader { + invert: boolean; + matches: outputs.appmesh.GetGatewayRouteSpecHttpRouteMatchHeaderMatch[]; /** - * Retry policy. + * Name of the gateway route. */ - retryPolicies: outputs.appmesh.GetRouteSpecGrpcRouteRetryPolicy[]; + name: string; + } + + export interface GetGatewayRouteSpecHttpRouteMatchHeaderMatch { + exact: string; + prefix: string; + ranges: outputs.appmesh.GetGatewayRouteSpecHttpRouteMatchHeaderMatchRange[]; + regex: string; + suffix: string; + } + + export interface GetGatewayRouteSpecHttpRouteMatchHeaderMatchRange { + end: number; + start: number; + } + + export interface GetGatewayRouteSpecHttpRouteMatchHostname { + exact: string; + suffix: string; + } + + export interface GetGatewayRouteSpecHttpRouteMatchPath { + exact: string; + regex: string; + } + + export interface GetGatewayRouteSpecHttpRouteMatchQueryParameter { + matches: outputs.appmesh.GetGatewayRouteSpecHttpRouteMatchQueryParameterMatch[]; /** - * Types of timeouts. + * Name of the gateway route. */ + name: string; + } + + export interface GetGatewayRouteSpecHttpRouteMatchQueryParameterMatch { + exact: string; + } + + export interface GetMeshSpec { + egressFilters: outputs.appmesh.GetMeshSpecEgressFilter[]; + } + + export interface GetMeshSpecEgressFilter { + type: string; + } + + export interface GetRouteSpec { + grpcRoutes: outputs.appmesh.GetRouteSpecGrpcRoute[]; + http2Routes: outputs.appmesh.GetRouteSpecHttp2Route[]; + httpRoutes: outputs.appmesh.GetRouteSpecHttpRoute[]; + priority: number; + tcpRoutes: outputs.appmesh.GetRouteSpecTcpRoute[]; + } + + export interface GetRouteSpecGrpcRoute { + actions: outputs.appmesh.GetRouteSpecGrpcRouteAction[]; + matches: outputs.appmesh.GetRouteSpecGrpcRouteMatch[]; + retryPolicies: outputs.appmesh.GetRouteSpecGrpcRouteRetryPolicy[]; timeouts: outputs.appmesh.GetRouteSpecGrpcRouteTimeout[]; } @@ -4422,9 +4787,6 @@ export namespace appmesh { export interface GetRouteSpecGrpcRouteMatchMetadata { invert: boolean; - /** - * Criteria for determining an HTTP request match. - */ matches: outputs.appmesh.GetRouteSpecGrpcRouteMatchMetadataMatch[]; /** * Name of the route. @@ -4474,21 +4836,9 @@ export namespace appmesh { } export interface GetRouteSpecHttp2Route { - /** - * Action to take if a match is determined. - */ actions: outputs.appmesh.GetRouteSpecHttp2RouteAction[]; - /** - * Criteria for determining an HTTP request match. - */ matches: outputs.appmesh.GetRouteSpecHttp2RouteMatch[]; - /** - * Retry policy. - */ retryPolicies: outputs.appmesh.GetRouteSpecHttp2RouteRetryPolicy[]; - /** - * Types of timeouts. - */ timeouts: outputs.appmesh.GetRouteSpecHttp2RouteTimeout[]; } @@ -4505,16 +4855,15 @@ export namespace appmesh { export interface GetRouteSpecHttp2RouteMatch { headers: outputs.appmesh.GetRouteSpecHttp2RouteMatchHeader[]; method: string; + paths: outputs.appmesh.GetRouteSpecHttp2RouteMatchPath[]; port: number; prefix: string; + queryParameters: outputs.appmesh.GetRouteSpecHttp2RouteMatchQueryParameter[]; scheme: string; } export interface GetRouteSpecHttp2RouteMatchHeader { invert: boolean; - /** - * Criteria for determining an HTTP request match. - */ matches: outputs.appmesh.GetRouteSpecHttp2RouteMatchHeaderMatch[]; /** * Name of the route. @@ -4535,6 +4884,23 @@ export namespace appmesh { start: number; } + export interface GetRouteSpecHttp2RouteMatchPath { + exact: string; + regex: string; + } + + export interface GetRouteSpecHttp2RouteMatchQueryParameter { + matches: outputs.appmesh.GetRouteSpecHttp2RouteMatchQueryParameterMatch[]; + /** + * Name of the route. + */ + name: string; + } + + export interface GetRouteSpecHttp2RouteMatchQueryParameterMatch { + exact: string; + } + export interface GetRouteSpecHttp2RouteRetryPolicy { httpRetryEvents: string[]; maxRetries: number; @@ -4563,21 +4929,9 @@ export namespace appmesh { } export interface GetRouteSpecHttpRoute { - /** - * Action to take if a match is determined. - */ actions: outputs.appmesh.GetRouteSpecHttpRouteAction[]; - /** - * Criteria for determining an HTTP request match. - */ matches: outputs.appmesh.GetRouteSpecHttpRouteMatch[]; - /** - * Retry policy. - */ retryPolicies: outputs.appmesh.GetRouteSpecHttpRouteRetryPolicy[]; - /** - * Types of timeouts. - */ timeouts: outputs.appmesh.GetRouteSpecHttpRouteTimeout[]; } @@ -4594,16 +4948,15 @@ export namespace appmesh { export interface GetRouteSpecHttpRouteMatch { headers: outputs.appmesh.GetRouteSpecHttpRouteMatchHeader[]; method: string; + paths: outputs.appmesh.GetRouteSpecHttpRouteMatchPath[]; port: number; prefix: string; + queryParameters: outputs.appmesh.GetRouteSpecHttpRouteMatchQueryParameter[]; scheme: string; } export interface GetRouteSpecHttpRouteMatchHeader { invert: boolean; - /** - * Criteria for determining an HTTP request match. - */ matches: outputs.appmesh.GetRouteSpecHttpRouteMatchHeaderMatch[]; /** * Name of the route. @@ -4624,6 +4977,23 @@ export namespace appmesh { start: number; } + export interface GetRouteSpecHttpRouteMatchPath { + exact: string; + regex: string; + } + + export interface GetRouteSpecHttpRouteMatchQueryParameter { + matches: outputs.appmesh.GetRouteSpecHttpRouteMatchQueryParameterMatch[]; + /** + * Name of the route. + */ + name: string; + } + + export interface GetRouteSpecHttpRouteMatchQueryParameterMatch { + exact: string; + } + export interface GetRouteSpecHttpRouteRetryPolicy { httpRetryEvents: string[]; maxRetries: number; @@ -4652,17 +5022,8 @@ export namespace appmesh { } export interface GetRouteSpecTcpRoute { - /** - * Action to take if a match is determined. - */ actions: outputs.appmesh.GetRouteSpecTcpRouteAction[]; - /** - * Criteria for determining an HTTP request match. - */ matches: outputs.appmesh.GetRouteSpecTcpRouteMatch[]; - /** - * Types of timeouts. - */ timeouts: outputs.appmesh.GetRouteSpecTcpRouteTimeout[]; } @@ -4690,368 +5051,173 @@ export namespace appmesh { } export interface GetVirtualGatewaySpec { - /** - * Defaults for backends. - */ backendDefaults: outputs.appmesh.GetVirtualGatewaySpecBackendDefault[]; - /** - * Listeners that the mesh endpoint is expected to receive inbound traffic from. You can specify one listener. - */ listeners: outputs.appmesh.GetVirtualGatewaySpecListener[]; - /** - * Inbound and outbound access logging information for the virtual gateway. - */ loggings: outputs.appmesh.GetVirtualGatewaySpecLogging[]; } export interface GetVirtualGatewaySpecBackendDefault { - /** - * Default client policy for virtual gateway backends. - */ clientPolicies: outputs.appmesh.GetVirtualGatewaySpecBackendDefaultClientPolicy[]; } export interface GetVirtualGatewaySpecBackendDefaultClientPolicy { - /** - * Transport Layer Security (TLS) properties for the listener - */ tls: outputs.appmesh.GetVirtualGatewaySpecBackendDefaultClientPolicyTl[]; } export interface GetVirtualGatewaySpecBackendDefaultClientPolicyTl { - /** - * Listener's TLS certificate. - */ certificates: outputs.appmesh.GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificate[]; - /** - * Whether the policy is enforced. Default is `true`. - */ enforce: boolean; - /** - * One or more ports that the policy is enforced for. - */ ports: number[]; - /** - * Listener's Transport Layer Security (TLS) validation context. - */ validations: outputs.appmesh.GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidation[]; } export interface GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificate { - /** - * TLS validation context trust for a local file certificate. - */ files: outputs.appmesh.GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateFile[]; - /** - * TLS validation context trust for a [Secret Discovery Service](https://www.envoyproxy.io/docs/envoy/latest/configuration/security/secret#secret-discovery-service-sds) certificate. - */ sds: outputs.appmesh.GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateSd[]; } export interface GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateFile { - /** - * Certificate trust chain for a certificate stored on the file system of the mesh endpoint that the proxy is running on. Must be between 1 and 255 characters in length. - */ certificateChain: string; - /** - * Private key for a certificate stored on the file system of the mesh endpoint that the proxy is running on. Must be between 1 and 255 characters in length. - */ privateKey: string; } export interface GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateSd { - /** - * Name of the secret for a virtual gateway's Transport Layer Security (TLS) Secret Discovery Service validation context trust. - */ secretName: string; } export interface GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidation { - /** - * SANs for a virtual gateway's listener's Transport Layer Security (TLS) validation context. - */ subjectAlternativeNames: outputs.appmesh.GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationSubjectAlternativeName[]; - /** - * TLS validation context trust. - */ trusts: outputs.appmesh.GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrust[]; } export interface GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationSubjectAlternativeName { - /** - * Criteria for determining a SAN's match. - */ matches: outputs.appmesh.GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameMatch[]; } export interface GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameMatch { - /** - * Values sent must match the specified values exactly. - */ exacts: string[]; } export interface GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrust { - /** - * An AWS Certificate Manager (ACM) certificate. - */ acms: outputs.appmesh.GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustAcm[]; - /** - * TLS validation context trust for a local file certificate. - */ files: outputs.appmesh.GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustFile[]; - /** - * TLS validation context trust for a [Secret Discovery Service](https://www.envoyproxy.io/docs/envoy/latest/configuration/security/secret#secret-discovery-service-sds) certificate. - */ sds: outputs.appmesh.GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustSd[]; } export interface GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustAcm { - /** - * One or more ACM ARNs. - */ certificateAuthorityArns: string[]; } export interface GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustFile { - /** - * Certificate trust chain for a certificate stored on the file system of the mesh endpoint that the proxy is running on. Must be between 1 and 255 characters in length. - */ certificateChain: string; } export interface GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustSd { - /** - * Name of the secret for a virtual gateway's Transport Layer Security (TLS) Secret Discovery Service validation context trust. - */ secretName: string; } export interface GetVirtualGatewaySpecListener { - /** - * Connection pool information for the listener. - */ connectionPools: outputs.appmesh.GetVirtualGatewaySpecListenerConnectionPool[]; - /** - * Health check information for the listener. - */ healthChecks: outputs.appmesh.GetVirtualGatewaySpecListenerHealthCheck[]; - /** - * Port mapping information for the listener. - */ portMappings: outputs.appmesh.GetVirtualGatewaySpecListenerPortMapping[]; - /** - * Transport Layer Security (TLS) properties for the listener - */ tls: outputs.appmesh.GetVirtualGatewaySpecListenerTl[]; } export interface GetVirtualGatewaySpecListenerConnectionPool { - /** - * Connection pool information for gRPC listeners. - */ grpcs: outputs.appmesh.GetVirtualGatewaySpecListenerConnectionPoolGrpc[]; - /** - * Connection pool information for HTTP2 listeners. - */ http2s: outputs.appmesh.GetVirtualGatewaySpecListenerConnectionPoolHttp2[]; - /** - * Connection pool information for HTTP listeners. - */ https: outputs.appmesh.GetVirtualGatewaySpecListenerConnectionPoolHttp[]; } export interface GetVirtualGatewaySpecListenerConnectionPoolGrpc { - /** - * Maximum number of inflight requests Envoy can concurrently support across hosts in upstream cluster. Minimum value of `1`. - */ maxRequests: number; } export interface GetVirtualGatewaySpecListenerConnectionPoolHttp { - /** - * Maximum number of outbound TCP connections Envoy can establish concurrently with all hosts in upstream cluster. Minimum value of `1`. - */ maxConnections: number; - /** - * Number of overflowing requests after `maxConnections` Envoy will queue to upstream cluster. Minimum value of `1`. - */ maxPendingRequests: number; } export interface GetVirtualGatewaySpecListenerConnectionPoolHttp2 { - /** - * Maximum number of inflight requests Envoy can concurrently support across hosts in upstream cluster. Minimum value of `1`. - */ maxRequests: number; } export interface GetVirtualGatewaySpecListenerHealthCheck { - /** - * Number of consecutive successful health checks that must occur before declaring listener healthy. - */ healthyThreshold: number; - /** - * Time period in milliseconds between each health check execution. - */ intervalMillis: number; - /** - * Destination path for the health check request. This is only required if the specified protocol is `http` or `http2`. - */ path: string; - /** - * Destination port for the health check request. This port must match the port defined in the `portMapping` for the listener. - */ port: number; - /** - * Protocol for the health check request. Valid values are `http`, `http2`, and `grpc`. - */ protocol: string; - /** - * Amount of time to wait when receiving a response from the health check, in milliseconds. - */ timeoutMillis: number; - /** - * Number of consecutive failed health checks that must occur before declaring a virtual gateway unhealthy. - */ unhealthyThreshold: number; } export interface GetVirtualGatewaySpecListenerPortMapping { - /** - * Destination port for the health check request. This port must match the port defined in the `portMapping` for the listener. - */ port: number; - /** - * Protocol for the health check request. Valid values are `http`, `http2`, and `grpc`. - */ protocol: string; } export interface GetVirtualGatewaySpecListenerTl { - /** - * Listener's TLS certificate. - */ certificates: outputs.appmesh.GetVirtualGatewaySpecListenerTlCertificate[]; - /** - * Listener's TLS mode. Valid values: `DISABLED`, `PERMISSIVE`, `STRICT`. - */ mode: string; - /** - * Listener's Transport Layer Security (TLS) validation context. - */ validations: outputs.appmesh.GetVirtualGatewaySpecListenerTlValidation[]; } export interface GetVirtualGatewaySpecListenerTlCertificate { - /** - * An AWS Certificate Manager (ACM) certificate. - */ acms: outputs.appmesh.GetVirtualGatewaySpecListenerTlCertificateAcm[]; - /** - * TLS validation context trust for a local file certificate. - */ files: outputs.appmesh.GetVirtualGatewaySpecListenerTlCertificateFile[]; - /** - * TLS validation context trust for a [Secret Discovery Service](https://www.envoyproxy.io/docs/envoy/latest/configuration/security/secret#secret-discovery-service-sds) certificate. - */ sds: outputs.appmesh.GetVirtualGatewaySpecListenerTlCertificateSd[]; } export interface GetVirtualGatewaySpecListenerTlCertificateAcm { - /** - * ARN for the certificate. - */ certificateArn: string; } export interface GetVirtualGatewaySpecListenerTlCertificateFile { - /** - * Certificate trust chain for a certificate stored on the file system of the mesh endpoint that the proxy is running on. Must be between 1 and 255 characters in length. - */ certificateChain: string; - /** - * Private key for a certificate stored on the file system of the mesh endpoint that the proxy is running on. Must be between 1 and 255 characters in length. - */ privateKey: string; } export interface GetVirtualGatewaySpecListenerTlCertificateSd { - /** - * Name of the secret for a virtual gateway's Transport Layer Security (TLS) Secret Discovery Service validation context trust. - */ secretName: string; } export interface GetVirtualGatewaySpecListenerTlValidation { - /** - * SANs for a virtual gateway's listener's Transport Layer Security (TLS) validation context. - */ subjectAlternativeNames: outputs.appmesh.GetVirtualGatewaySpecListenerTlValidationSubjectAlternativeName[]; - /** - * TLS validation context trust. - */ trusts: outputs.appmesh.GetVirtualGatewaySpecListenerTlValidationTrust[]; } export interface GetVirtualGatewaySpecListenerTlValidationSubjectAlternativeName { - /** - * Criteria for determining a SAN's match. - */ matches: outputs.appmesh.GetVirtualGatewaySpecListenerTlValidationSubjectAlternativeNameMatch[]; } export interface GetVirtualGatewaySpecListenerTlValidationSubjectAlternativeNameMatch { - /** - * Values sent must match the specified values exactly. - */ exacts: string[]; } export interface GetVirtualGatewaySpecListenerTlValidationTrust { - /** - * TLS validation context trust for a local file certificate. - */ files: outputs.appmesh.GetVirtualGatewaySpecListenerTlValidationTrustFile[]; - /** - * TLS validation context trust for a [Secret Discovery Service](https://www.envoyproxy.io/docs/envoy/latest/configuration/security/secret#secret-discovery-service-sds) certificate. - */ sds: outputs.appmesh.GetVirtualGatewaySpecListenerTlValidationTrustSd[]; } export interface GetVirtualGatewaySpecListenerTlValidationTrustFile { - /** - * Certificate trust chain for a certificate stored on the file system of the mesh endpoint that the proxy is running on. Must be between 1 and 255 characters in length. - */ certificateChain: string; } export interface GetVirtualGatewaySpecListenerTlValidationTrustSd { - /** - * Name of the secret for a virtual gateway's Transport Layer Security (TLS) Secret Discovery Service validation context trust. - */ secretName: string; } export interface GetVirtualGatewaySpecLogging { - /** - * Access log configuration for a virtual gateway. - */ accessLogs: outputs.appmesh.GetVirtualGatewaySpecLoggingAccessLog[]; } export interface GetVirtualGatewaySpecLoggingAccessLog { - /** - * TLS validation context trust for a local file certificate. - */ files: outputs.appmesh.GetVirtualGatewaySpecLoggingAccessLogFile[]; } export interface GetVirtualGatewaySpecLoggingAccessLogFile { formats: outputs.appmesh.GetVirtualGatewaySpecLoggingAccessLogFileFormat[]; - /** - * Destination path for the health check request. This is only required if the specified protocol is `http` or `http2`. - */ path: string; } @@ -5065,35 +5231,383 @@ export namespace appmesh { value: string; } + export interface GetVirtualNodeSpec { + backendDefaults: outputs.appmesh.GetVirtualNodeSpecBackendDefault[]; + backends: outputs.appmesh.GetVirtualNodeSpecBackend[]; + listeners: outputs.appmesh.GetVirtualNodeSpecListener[]; + loggings: outputs.appmesh.GetVirtualNodeSpecLogging[]; + serviceDiscoveries: outputs.appmesh.GetVirtualNodeSpecServiceDiscovery[]; + } + + export interface GetVirtualNodeSpecBackend { + virtualServices: outputs.appmesh.GetVirtualNodeSpecBackendVirtualService[]; + } + + export interface GetVirtualNodeSpecBackendDefault { + clientPolicies: outputs.appmesh.GetVirtualNodeSpecBackendDefaultClientPolicy[]; + } + + export interface GetVirtualNodeSpecBackendDefaultClientPolicy { + tls: outputs.appmesh.GetVirtualNodeSpecBackendDefaultClientPolicyTl[]; + } + + export interface GetVirtualNodeSpecBackendDefaultClientPolicyTl { + certificates: outputs.appmesh.GetVirtualNodeSpecBackendDefaultClientPolicyTlCertificate[]; + enforce: boolean; + ports: number[]; + validations: outputs.appmesh.GetVirtualNodeSpecBackendDefaultClientPolicyTlValidation[]; + } + + export interface GetVirtualNodeSpecBackendDefaultClientPolicyTlCertificate { + files: outputs.appmesh.GetVirtualNodeSpecBackendDefaultClientPolicyTlCertificateFile[]; + sds: outputs.appmesh.GetVirtualNodeSpecBackendDefaultClientPolicyTlCertificateSd[]; + } + + export interface GetVirtualNodeSpecBackendDefaultClientPolicyTlCertificateFile { + certificateChain: string; + privateKey: string; + } + + export interface GetVirtualNodeSpecBackendDefaultClientPolicyTlCertificateSd { + secretName: string; + } + + export interface GetVirtualNodeSpecBackendDefaultClientPolicyTlValidation { + subjectAlternativeNames: outputs.appmesh.GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationSubjectAlternativeName[]; + trusts: outputs.appmesh.GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrust[]; + } + + export interface GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationSubjectAlternativeName { + matches: outputs.appmesh.GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameMatch[]; + } + + export interface GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameMatch { + exacts: string[]; + } + + export interface GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrust { + acms: outputs.appmesh.GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustAcm[]; + files: outputs.appmesh.GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustFile[]; + sds: outputs.appmesh.GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustSd[]; + } + + export interface GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustAcm { + certificateAuthorityArns: string[]; + } + + export interface GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustFile { + certificateChain: string; + } + + export interface GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustSd { + secretName: string; + } + + export interface GetVirtualNodeSpecBackendVirtualService { + clientPolicies: outputs.appmesh.GetVirtualNodeSpecBackendVirtualServiceClientPolicy[]; + virtualServiceName: string; + } + + export interface GetVirtualNodeSpecBackendVirtualServiceClientPolicy { + tls: outputs.appmesh.GetVirtualNodeSpecBackendVirtualServiceClientPolicyTl[]; + } + + export interface GetVirtualNodeSpecBackendVirtualServiceClientPolicyTl { + certificates: outputs.appmesh.GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlCertificate[]; + enforce: boolean; + ports: number[]; + validations: outputs.appmesh.GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidation[]; + } + + export interface GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlCertificate { + files: outputs.appmesh.GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlCertificateFile[]; + sds: outputs.appmesh.GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlCertificateSd[]; + } + + export interface GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlCertificateFile { + certificateChain: string; + privateKey: string; + } + + export interface GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlCertificateSd { + secretName: string; + } + + export interface GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidation { + subjectAlternativeNames: outputs.appmesh.GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationSubjectAlternativeName[]; + trusts: outputs.appmesh.GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrust[]; + } + + export interface GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationSubjectAlternativeName { + matches: outputs.appmesh.GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationSubjectAlternativeNameMatch[]; + } + + export interface GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationSubjectAlternativeNameMatch { + exacts: string[]; + } + + export interface GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrust { + acms: outputs.appmesh.GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustAcm[]; + files: outputs.appmesh.GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustFile[]; + sds: outputs.appmesh.GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustSd[]; + } + + export interface GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustAcm { + certificateAuthorityArns: string[]; + } + + export interface GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustFile { + certificateChain: string; + } + + export interface GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustSd { + secretName: string; + } + + export interface GetVirtualNodeSpecListener { + connectionPools: outputs.appmesh.GetVirtualNodeSpecListenerConnectionPool[]; + healthChecks: outputs.appmesh.GetVirtualNodeSpecListenerHealthCheck[]; + outlierDetections: outputs.appmesh.GetVirtualNodeSpecListenerOutlierDetection[]; + portMappings: outputs.appmesh.GetVirtualNodeSpecListenerPortMapping[]; + timeouts: outputs.appmesh.GetVirtualNodeSpecListenerTimeout[]; + tls: outputs.appmesh.GetVirtualNodeSpecListenerTl[]; + } + + export interface GetVirtualNodeSpecListenerConnectionPool { + grpcs: outputs.appmesh.GetVirtualNodeSpecListenerConnectionPoolGrpc[]; + http2s: outputs.appmesh.GetVirtualNodeSpecListenerConnectionPoolHttp2[]; + https: outputs.appmesh.GetVirtualNodeSpecListenerConnectionPoolHttp[]; + tcps: outputs.appmesh.GetVirtualNodeSpecListenerConnectionPoolTcp[]; + } + + export interface GetVirtualNodeSpecListenerConnectionPoolGrpc { + maxRequests: number; + } + + export interface GetVirtualNodeSpecListenerConnectionPoolHttp { + maxConnections: number; + maxPendingRequests: number; + } + + export interface GetVirtualNodeSpecListenerConnectionPoolHttp2 { + maxRequests: number; + } + + export interface GetVirtualNodeSpecListenerConnectionPoolTcp { + maxConnections: number; + } + + export interface GetVirtualNodeSpecListenerHealthCheck { + healthyThreshold: number; + intervalMillis: number; + path: string; + port: number; + protocol: string; + timeoutMillis: number; + unhealthyThreshold: number; + } + + export interface GetVirtualNodeSpecListenerOutlierDetection { + baseEjectionDurations: outputs.appmesh.GetVirtualNodeSpecListenerOutlierDetectionBaseEjectionDuration[]; + intervals: outputs.appmesh.GetVirtualNodeSpecListenerOutlierDetectionInterval[]; + maxEjectionPercent: number; + maxServerErrors: number; + } + + export interface GetVirtualNodeSpecListenerOutlierDetectionBaseEjectionDuration { + unit: string; + value: number; + } + + export interface GetVirtualNodeSpecListenerOutlierDetectionInterval { + unit: string; + value: number; + } + + export interface GetVirtualNodeSpecListenerPortMapping { + port: number; + protocol: string; + } + + export interface GetVirtualNodeSpecListenerTimeout { + grpcs: outputs.appmesh.GetVirtualNodeSpecListenerTimeoutGrpc[]; + http2s: outputs.appmesh.GetVirtualNodeSpecListenerTimeoutHttp2[]; + https: outputs.appmesh.GetVirtualNodeSpecListenerTimeoutHttp[]; + tcps: outputs.appmesh.GetVirtualNodeSpecListenerTimeoutTcp[]; + } + + export interface GetVirtualNodeSpecListenerTimeoutGrpc { + idles: outputs.appmesh.GetVirtualNodeSpecListenerTimeoutGrpcIdle[]; + perRequests: outputs.appmesh.GetVirtualNodeSpecListenerTimeoutGrpcPerRequest[]; + } + + export interface GetVirtualNodeSpecListenerTimeoutGrpcIdle { + unit: string; + value: number; + } + + export interface GetVirtualNodeSpecListenerTimeoutGrpcPerRequest { + unit: string; + value: number; + } + + export interface GetVirtualNodeSpecListenerTimeoutHttp { + idles: outputs.appmesh.GetVirtualNodeSpecListenerTimeoutHttpIdle[]; + perRequests: outputs.appmesh.GetVirtualNodeSpecListenerTimeoutHttpPerRequest[]; + } + + export interface GetVirtualNodeSpecListenerTimeoutHttp2 { + idles: outputs.appmesh.GetVirtualNodeSpecListenerTimeoutHttp2Idle[]; + perRequests: outputs.appmesh.GetVirtualNodeSpecListenerTimeoutHttp2PerRequest[]; + } + + export interface GetVirtualNodeSpecListenerTimeoutHttp2Idle { + unit: string; + value: number; + } + + export interface GetVirtualNodeSpecListenerTimeoutHttp2PerRequest { + unit: string; + value: number; + } + + export interface GetVirtualNodeSpecListenerTimeoutHttpIdle { + unit: string; + value: number; + } + + export interface GetVirtualNodeSpecListenerTimeoutHttpPerRequest { + unit: string; + value: number; + } + + export interface GetVirtualNodeSpecListenerTimeoutTcp { + idles: outputs.appmesh.GetVirtualNodeSpecListenerTimeoutTcpIdle[]; + } + + export interface GetVirtualNodeSpecListenerTimeoutTcpIdle { + unit: string; + value: number; + } + + export interface GetVirtualNodeSpecListenerTl { + certificates: outputs.appmesh.GetVirtualNodeSpecListenerTlCertificate[]; + mode: string; + validations: outputs.appmesh.GetVirtualNodeSpecListenerTlValidation[]; + } + + export interface GetVirtualNodeSpecListenerTlCertificate { + acms: outputs.appmesh.GetVirtualNodeSpecListenerTlCertificateAcm[]; + files: outputs.appmesh.GetVirtualNodeSpecListenerTlCertificateFile[]; + sds: outputs.appmesh.GetVirtualNodeSpecListenerTlCertificateSd[]; + } + + export interface GetVirtualNodeSpecListenerTlCertificateAcm { + certificateArn: string; + } + + export interface GetVirtualNodeSpecListenerTlCertificateFile { + certificateChain: string; + privateKey: string; + } + + export interface GetVirtualNodeSpecListenerTlCertificateSd { + secretName: string; + } + + export interface GetVirtualNodeSpecListenerTlValidation { + subjectAlternativeNames: outputs.appmesh.GetVirtualNodeSpecListenerTlValidationSubjectAlternativeName[]; + trusts: outputs.appmesh.GetVirtualNodeSpecListenerTlValidationTrust[]; + } + + export interface GetVirtualNodeSpecListenerTlValidationSubjectAlternativeName { + matches: outputs.appmesh.GetVirtualNodeSpecListenerTlValidationSubjectAlternativeNameMatch[]; + } + + export interface GetVirtualNodeSpecListenerTlValidationSubjectAlternativeNameMatch { + exacts: string[]; + } + + export interface GetVirtualNodeSpecListenerTlValidationTrust { + files: outputs.appmesh.GetVirtualNodeSpecListenerTlValidationTrustFile[]; + sds: outputs.appmesh.GetVirtualNodeSpecListenerTlValidationTrustSd[]; + } + + export interface GetVirtualNodeSpecListenerTlValidationTrustFile { + certificateChain: string; + } + + export interface GetVirtualNodeSpecListenerTlValidationTrustSd { + secretName: string; + } + + export interface GetVirtualNodeSpecLogging { + accessLogs: outputs.appmesh.GetVirtualNodeSpecLoggingAccessLog[]; + } + + export interface GetVirtualNodeSpecLoggingAccessLog { + files: outputs.appmesh.GetVirtualNodeSpecLoggingAccessLogFile[]; + } + + export interface GetVirtualNodeSpecLoggingAccessLogFile { + formats: outputs.appmesh.GetVirtualNodeSpecLoggingAccessLogFileFormat[]; + path: string; + } + + export interface GetVirtualNodeSpecLoggingAccessLogFileFormat { + jsons: outputs.appmesh.GetVirtualNodeSpecLoggingAccessLogFileFormatJson[]; + text: string; + } + + export interface GetVirtualNodeSpecLoggingAccessLogFileFormatJson { + key: string; + value: string; + } + + export interface GetVirtualNodeSpecServiceDiscovery { + awsCloudMaps: outputs.appmesh.GetVirtualNodeSpecServiceDiscoveryAwsCloudMap[]; + dns: outputs.appmesh.GetVirtualNodeSpecServiceDiscoveryDn[]; + } + + export interface GetVirtualNodeSpecServiceDiscoveryAwsCloudMap { + attributes: {[key: string]: string}; + namespaceName: string; + serviceName: string; + } + + export interface GetVirtualNodeSpecServiceDiscoveryDn { + hostname: string; + ipPreference: string; + responseType: string; + } + + export interface GetVirtualRouterSpec { + listeners: outputs.appmesh.GetVirtualRouterSpecListener[]; + } + + export interface GetVirtualRouterSpecListener { + portMappings: outputs.appmesh.GetVirtualRouterSpecListenerPortMapping[]; + } + + export interface GetVirtualRouterSpecListenerPortMapping { + port: number; + protocol: string; + } + export interface GetVirtualServiceSpec { - /** - * App Mesh object that is acting as the provider for a virtual service. - */ providers: outputs.appmesh.GetVirtualServiceSpecProvider[]; } export interface GetVirtualServiceSpecProvider { - /** - * Virtual node associated with the virtual service. - */ virtualNodes: outputs.appmesh.GetVirtualServiceSpecProviderVirtualNode[]; - /** - * Virtual router associated with the virtual service. - */ virtualRouters: outputs.appmesh.GetVirtualServiceSpecProviderVirtualRouter[]; } export interface GetVirtualServiceSpecProviderVirtualNode { - /** - * Name of the virtual node that is acting as a service provider. - */ virtualNodeName: string; } export interface GetVirtualServiceSpecProviderVirtualRouter { - /** - * Name of the virtual router that is acting as a service provider. - */ virtualRouterName: string; } @@ -5219,7 +5733,7 @@ export namespace appmesh { export interface RouteSpecGrpcRouteMatchMetadataMatch { /** - * Value sent by the client must match the specified value exactly. Must be between 1 and 255 characters in length. + * The exact path to match on. */ exact?: string; /** @@ -5232,7 +5746,7 @@ export namespace appmesh { */ range?: outputs.appmesh.RouteSpecGrpcRouteMatchMetadataMatchRange; /** - * Value sent by the client must include the specified characters. Must be between 1 and 255 characters in length. + * The regex used to match the path. */ regex?: string; /** @@ -5373,6 +5887,10 @@ export namespace appmesh { * Client request header method to match on. Valid values: `GET`, `HEAD`, `POST`, `PUT`, `DELETE`, `CONNECT`, `OPTIONS`, `TRACE`, `PATCH`. */ method?: string; + /** + * Client request path to match on. + */ + path?: outputs.appmesh.RouteSpecHttp2RouteMatchPath; /** * The port number to match from the request. */ @@ -5381,7 +5899,11 @@ export namespace appmesh { * Value sent by the client must begin with the specified characters. Must be between 1 and 255 characters in length. * This parameter must always start with /, which by itself matches all requests to the virtual router service name. */ - prefix: string; + prefix?: string; + /** + * Client request query parameters to match on. + */ + queryParameters?: outputs.appmesh.RouteSpecHttp2RouteMatchQueryParameter[]; /** * Client request header scheme to match on. Valid values: `http`, `https`. */ @@ -5405,7 +5927,7 @@ export namespace appmesh { export interface RouteSpecHttp2RouteMatchHeaderMatch { /** - * Value sent by the client must match the specified value exactly. Must be between 1 and 255 characters in length. + * The exact path to match on. */ exact?: string; /** @@ -5418,7 +5940,7 @@ export namespace appmesh { */ range?: outputs.appmesh.RouteSpecHttp2RouteMatchHeaderMatchRange; /** - * Value sent by the client must include the specified characters. Must be between 1 and 255 characters in length. + * The regex used to match the path. */ regex?: string; /** @@ -5438,6 +5960,35 @@ export namespace appmesh { start: number; } + export interface RouteSpecHttp2RouteMatchPath { + /** + * Value sent by the client must match the specified value exactly. Must be between 1 and 255 characters in length. + */ + exact?: string; + /** + * Value sent by the client must include the specified characters. Must be between 1 and 255 characters in length. + */ + regex?: string; + } + + export interface RouteSpecHttp2RouteMatchQueryParameter { + /** + * Criteria for determining an gRPC request match. + */ + match?: outputs.appmesh.RouteSpecHttp2RouteMatchQueryParameterMatch; + /** + * Name to use for the route. Must be between 1 and 255 characters in length. + */ + name: string; + } + + export interface RouteSpecHttp2RouteMatchQueryParameterMatch { + /** + * The exact path to match on. + */ + exact?: string; + } + export interface RouteSpecHttp2RouteRetryPolicy { /** * List of HTTP retry events. @@ -5554,6 +6105,10 @@ export namespace appmesh { * Client request header method to match on. Valid values: `GET`, `HEAD`, `POST`, `PUT`, `DELETE`, `CONNECT`, `OPTIONS`, `TRACE`, `PATCH`. */ method?: string; + /** + * Client request path to match on. + */ + path?: outputs.appmesh.RouteSpecHttpRouteMatchPath; /** * The port number to match from the request. */ @@ -5562,7 +6117,11 @@ export namespace appmesh { * Value sent by the client must begin with the specified characters. Must be between 1 and 255 characters in length. * This parameter must always start with /, which by itself matches all requests to the virtual router service name. */ - prefix: string; + prefix?: string; + /** + * Client request query parameters to match on. + */ + queryParameters?: outputs.appmesh.RouteSpecHttpRouteMatchQueryParameter[]; /** * Client request header scheme to match on. Valid values: `http`, `https`. */ @@ -5586,7 +6145,7 @@ export namespace appmesh { export interface RouteSpecHttpRouteMatchHeaderMatch { /** - * Value sent by the client must match the specified value exactly. Must be between 1 and 255 characters in length. + * The exact path to match on. */ exact?: string; /** @@ -5599,7 +6158,7 @@ export namespace appmesh { */ range?: outputs.appmesh.RouteSpecHttpRouteMatchHeaderMatchRange; /** - * Value sent by the client must include the specified characters. Must be between 1 and 255 characters in length. + * The regex used to match the path. */ regex?: string; /** @@ -5619,6 +6178,35 @@ export namespace appmesh { start: number; } + export interface RouteSpecHttpRouteMatchPath { + /** + * Value sent by the client must match the specified value exactly. Must be between 1 and 255 characters in length. + */ + exact?: string; + /** + * Value sent by the client must include the specified characters. Must be between 1 and 255 characters in length. + */ + regex?: string; + } + + export interface RouteSpecHttpRouteMatchQueryParameter { + /** + * Criteria for determining an gRPC request match. + */ + match?: outputs.appmesh.RouteSpecHttpRouteMatchQueryParameterMatch; + /** + * Name to use for the route. Must be between 1 and 255 characters in length. + */ + name: string; + } + + export interface RouteSpecHttpRouteMatchQueryParameterMatch { + /** + * The exact path to match on. + */ + exact?: string; + } + export interface RouteSpecHttpRouteRetryPolicy { /** * List of HTTP retry events. @@ -6900,6 +7488,14 @@ export namespace appmesh { * DNS host name for your virtual node. */ hostname: string; + /** + * The preferred IP version that this virtual node uses. Valid values: `IPv6_PREFERRED`, `IPv4_PREFERRED`, `IPv4_ONLY`, `IPv6_ONLY`. + */ + ipPreference?: string; + /** + * The DNS response type for the virtual node. Valid values: `LOADBALANCER`, `ENDPOINTS`. + */ + responseType?: string; } export interface VirtualRouterSpec { @@ -6907,7 +7503,7 @@ export namespace appmesh { * Listeners that the virtual router is expected to receive inbound traffic from. * Currently only one listener is supported per virtual router. */ - listener: outputs.appmesh.VirtualRouterSpecListener; + listener?: outputs.appmesh.VirtualRouterSpecListener; } export interface VirtualRouterSpecListener { @@ -44116,7 +44712,65 @@ export namespace ram { } +export namespace rbin { + export interface RuleLockConfiguration { + /** + * Information about the retention rule unlock delay. See `unlockDelay` below. + */ + unlockDelay: outputs.rbin.RuleLockConfigurationUnlockDelay; + } + + export interface RuleLockConfigurationUnlockDelay { + /** + * The unit of time in which to measure the unlock delay. Currently, the unlock delay can be measure only in days. + */ + unlockDelayUnit: string; + /** + * The unlock delay period, measured in the unit specified for UnlockDelayUnit. + */ + unlockDelayValue: number; + } + + export interface RuleResourceTag { + /** + * The tag key. + */ + resourceTagKey: string; + /** + * The tag value. + */ + resourceTagValue?: string; + } + + export interface RuleRetentionPeriod { + /** + * The unit of time in which the retention period is measured. Currently, only DAYS is supported. + */ + retentionPeriodUnit: string; + /** + * The period value for which the retention rule is to retain resources. The period is measured using the unit specified for RetentionPeriodUnit. + */ + retentionPeriodValue: number; + } + +} + export namespace rds { + export interface ClusterMasterUserSecret { + /** + * The ARN for the KMS encryption key. When specifying `kmsKeyId`, `storageEncrypted` needs to be set to true. + */ + kmsKeyId: string; + /** + * The Amazon Resource Name (ARN) of the secret. + */ + secretArn: string; + /** + * The status of the secret. Valid Values: `creating` | `active` | `rotating` | `impaired`. + */ + secretStatus: string; + } + export interface ClusterParameterGroupParameter { /** * "immediate" (default), or "pending-reboot". Some @@ -44211,6 +44865,12 @@ export namespace rds { minCapacity: number; } + export interface GetClusterMasterUserSecret { + kmsKeyId: string; + secretArn: string; + secretStatus: string; + } + export interface GetClustersFilter { /** * Name of the filter field. Valid values can be found in the [RDS DescribeDBClusters API Reference](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_DescribeDBClusters.html). @@ -44227,6 +44887,21 @@ export namespace rds { values: string[]; } + export interface GetInstanceMasterUserSecret { + /** + * The Amazon Web Services KMS key identifier that is used to encrypt the secret. + */ + kmsKeyId: string; + /** + * The Amazon Resource Name (ARN) of the secret. + */ + secretArn: string; + /** + * The status of the secret. Valid Values: `creating` | `active` | `rotating` | `impaired`. + */ + secretStatus: string; + } + export interface GetInstancesFilter { /** * Name of the filter field. Valid values can be found in the [RDS DescribeDBClusters API Reference](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_DescribeDBClusters.html). @@ -44280,6 +44955,22 @@ export namespace rds { port: number; } + export interface InstanceMasterUserSecret { + /** + * The ARN for the KMS encryption key. If creating an + * encrypted replica, set this to the destination KMS ARN. + */ + kmsKeyId: string; + /** + * The Amazon Resource Name (ARN) of the secret. + */ + secretArn: string; + /** + * The status of the secret. Valid Values: `creating` | `active` | `rotating` | `impaired`. + */ + secretStatus: string; + } + export interface InstanceRestoreToPointInTime { /** * The date and time to restore from. Value must be a time in Universal Coordinated Time (UTC) format and must be before the latest restorable time for the DB instance. Cannot be specified with `useLatestRestorableTime`. @@ -48149,6 +48840,10 @@ export namespace sagemaker { * Specifies configuration for a core dump from the model container when the process crashes. Fields are documented below. */ coreDumpConfig?: outputs.sagemaker.EndpointConfigurationProductionVariantCoreDumpConfig; + /** + * You can use this parameter to turn on native Amazon Web Services Systems Manager (SSM) access for a production variant behind an endpoint. By default, SSM access is disabled for all production variants behind an endpoints. + */ + enableSsmAccess?: boolean; /** * Initial number of instances used for auto-scaling. */ @@ -48218,6 +48913,10 @@ export namespace sagemaker { * Specifies configuration for a core dump from the model container when the process crashes. Fields are documented below. */ coreDumpConfig?: outputs.sagemaker.EndpointConfigurationShadowProductionVariantCoreDumpConfig; + /** + * You can use this parameter to turn on native Amazon Web Services Systems Manager (SSM) access for a production variant behind an endpoint. By default, SSM access is disabled for all production variants behind an endpoints. + */ + enableSsmAccess?: boolean; /** * Initial number of instances used for auto-scaling. */ @@ -51792,16 +52491,16 @@ export namespace ssm { } export interface DocumentParameter { - defaultValue?: string; + defaultValue: string; /** * The description of the document. */ - description?: string; + description: string; /** * The name of the document. */ - name?: string; - type?: string; + name: string; + type: string; } export interface GetInstancesFilter { @@ -52137,6 +52836,49 @@ export namespace ssm { } +export namespace ssmincidents { + export interface GetReplicationSetRegion { + /** + * The ARN of the AWS Key Management Service (AWS KMS) encryption key. + */ + kmsKeyArn: string; + /** + * The name of the Region. + */ + name: string; + /** + * The current status of the Region. + * * Valid Values: `ACTIVE` | `CREATING` | `UPDATING` | `DELETING` | `FAILED` + */ + status: string; + /** + * More information about the status of a Region. + */ + statusMessage: string; + } + + export interface ReplicationSetRegion { + /** + * The Amazon Resource name (ARN) of the customer managed key. If omitted, AWS manages the AWS KMS keys for you, using an AWS owned key, as indicated by a default value of `DefaultKey`. + */ + kmsKeyArn?: string; + /** + * The name of the Region, such as `ap-southeast-2`. + */ + name: string; + /** + * The current status of the Region. + * * Valid Values: `ACTIVE` | `CREATING` | `UPDATING` | `DELETING` | `FAILED` + */ + status: string; + /** + * More information about the status of a Region. + */ + statusMessage: string; + } + +} + export namespace ssoadmin { export interface CustomerManagedPolicyAttachmentCustomerManagedPolicyReference { /** diff --git a/sdk/python/pulumi_aws/__init__.py b/sdk/python/pulumi_aws/__init__.py index 63a846a6535..4696571c41d 100644 --- a/sdk/python/pulumi_aws/__init__.py +++ b/sdk/python/pulumi_aws/__init__.py @@ -297,6 +297,8 @@ quicksight = __quicksight import pulumi_aws.ram as __ram ram = __ram + import pulumi_aws.rbin as __rbin + rbin = __rbin import pulumi_aws.rds as __rds rds = __rds import pulumi_aws.redshift as __redshift @@ -363,6 +365,8 @@ sqs = __sqs import pulumi_aws.ssm as __ssm ssm = __ssm + import pulumi_aws.ssmincidents as __ssmincidents + ssmincidents = __ssmincidents import pulumi_aws.ssoadmin as __ssoadmin ssoadmin = __ssoadmin import pulumi_aws.storagegateway as __storagegateway @@ -524,6 +528,7 @@ qldb = _utilities.lazy_import('pulumi_aws.qldb') quicksight = _utilities.lazy_import('pulumi_aws.quicksight') ram = _utilities.lazy_import('pulumi_aws.ram') + rbin = _utilities.lazy_import('pulumi_aws.rbin') rds = _utilities.lazy_import('pulumi_aws.rds') redshift = _utilities.lazy_import('pulumi_aws.redshift') redshiftdata = _utilities.lazy_import('pulumi_aws.redshiftdata') @@ -557,6 +562,7 @@ sns = _utilities.lazy_import('pulumi_aws.sns') sqs = _utilities.lazy_import('pulumi_aws.sqs') ssm = _utilities.lazy_import('pulumi_aws.ssm') + ssmincidents = _utilities.lazy_import('pulumi_aws.ssmincidents') ssoadmin = _utilities.lazy_import('pulumi_aws.ssoadmin') storagegateway = _utilities.lazy_import('pulumi_aws.storagegateway') swf = _utilities.lazy_import('pulumi_aws.swf') @@ -7486,6 +7492,14 @@ "aws:ram/resourceShareAccepter:ResourceShareAccepter": "ResourceShareAccepter" } }, + { + "pkg": "aws", + "mod": "rbin/rule", + "fqn": "pulumi_aws.rbin", + "classes": { + "aws:rbin/rule:Rule": "Rule" + } + }, { "pkg": "aws", "mod": "rds/cluster", @@ -9238,6 +9252,14 @@ "aws:simpledb/domain:Domain": "Domain" } }, + { + "pkg": "aws", + "mod": "sns/dataProtectionPolicy", + "fqn": "pulumi_aws.sns", + "classes": { + "aws:sns/dataProtectionPolicy:DataProtectionPolicy": "DataProtectionPolicy" + } + }, { "pkg": "aws", "mod": "sns/platformApplication", @@ -9406,6 +9428,14 @@ "aws:ssm/serviceSetting:ServiceSetting": "ServiceSetting" } }, + { + "pkg": "aws", + "mod": "ssmincidents/replicationSet", + "fqn": "pulumi_aws.ssmincidents", + "classes": { + "aws:ssmincidents/replicationSet:ReplicationSet": "ReplicationSet" + } + }, { "pkg": "aws", "mod": "ssoadmin/accountAssignment", diff --git a/sdk/python/pulumi_aws/appmesh/__init__.py b/sdk/python/pulumi_aws/appmesh/__init__.py index c027f3304c9..551a1d6e3c1 100644 --- a/sdk/python/pulumi_aws/appmesh/__init__.py +++ b/sdk/python/pulumi_aws/appmesh/__init__.py @@ -6,9 +6,12 @@ import typing # Export this package's modules as members: from .gateway_route import * +from .get_gateway_route import * from .get_mesh import * from .get_route import * from .get_virtual_gateway import * +from .get_virtual_node import * +from .get_virtual_router import * from .get_virtual_service import * from .mesh import * from .route import * diff --git a/sdk/python/pulumi_aws/appmesh/_inputs.py b/sdk/python/pulumi_aws/appmesh/_inputs.py index 936e130d7b4..2919fa85ab6 100644 --- a/sdk/python/pulumi_aws/appmesh/_inputs.py +++ b/sdk/python/pulumi_aws/appmesh/_inputs.py @@ -24,7 +24,13 @@ 'GatewayRouteSpecHttp2RouteActionTargetArgs', 'GatewayRouteSpecHttp2RouteActionTargetVirtualServiceArgs', 'GatewayRouteSpecHttp2RouteMatchArgs', + 'GatewayRouteSpecHttp2RouteMatchHeaderArgs', + 'GatewayRouteSpecHttp2RouteMatchHeaderMatchArgs', + 'GatewayRouteSpecHttp2RouteMatchHeaderMatchRangeArgs', 'GatewayRouteSpecHttp2RouteMatchHostnameArgs', + 'GatewayRouteSpecHttp2RouteMatchPathArgs', + 'GatewayRouteSpecHttp2RouteMatchQueryParameterArgs', + 'GatewayRouteSpecHttp2RouteMatchQueryParameterMatchArgs', 'GatewayRouteSpecHttpRouteArgs', 'GatewayRouteSpecHttpRouteActionArgs', 'GatewayRouteSpecHttpRouteActionRewriteArgs', @@ -33,7 +39,13 @@ 'GatewayRouteSpecHttpRouteActionTargetArgs', 'GatewayRouteSpecHttpRouteActionTargetVirtualServiceArgs', 'GatewayRouteSpecHttpRouteMatchArgs', + 'GatewayRouteSpecHttpRouteMatchHeaderArgs', + 'GatewayRouteSpecHttpRouteMatchHeaderMatchArgs', + 'GatewayRouteSpecHttpRouteMatchHeaderMatchRangeArgs', 'GatewayRouteSpecHttpRouteMatchHostnameArgs', + 'GatewayRouteSpecHttpRouteMatchPathArgs', + 'GatewayRouteSpecHttpRouteMatchQueryParameterArgs', + 'GatewayRouteSpecHttpRouteMatchQueryParameterMatchArgs', 'MeshSpecArgs', 'MeshSpecEgressFilterArgs', 'RouteSpecArgs', @@ -56,6 +68,9 @@ 'RouteSpecHttp2RouteMatchHeaderArgs', 'RouteSpecHttp2RouteMatchHeaderMatchArgs', 'RouteSpecHttp2RouteMatchHeaderMatchRangeArgs', + 'RouteSpecHttp2RouteMatchPathArgs', + 'RouteSpecHttp2RouteMatchQueryParameterArgs', + 'RouteSpecHttp2RouteMatchQueryParameterMatchArgs', 'RouteSpecHttp2RouteRetryPolicyArgs', 'RouteSpecHttp2RouteRetryPolicyPerRetryTimeoutArgs', 'RouteSpecHttp2RouteTimeoutArgs', @@ -68,6 +83,9 @@ 'RouteSpecHttpRouteMatchHeaderArgs', 'RouteSpecHttpRouteMatchHeaderMatchArgs', 'RouteSpecHttpRouteMatchHeaderMatchRangeArgs', + 'RouteSpecHttpRouteMatchPathArgs', + 'RouteSpecHttpRouteMatchQueryParameterArgs', + 'RouteSpecHttpRouteMatchQueryParameterMatchArgs', 'RouteSpecHttpRouteRetryPolicyArgs', 'RouteSpecHttpRouteRetryPolicyPerRetryTimeoutArgs', 'RouteSpecHttpRouteTimeoutArgs', @@ -200,11 +218,13 @@ class GatewayRouteSpecArgs: def __init__(__self__, *, grpc_route: Optional[pulumi.Input['GatewayRouteSpecGrpcRouteArgs']] = None, http2_route: Optional[pulumi.Input['GatewayRouteSpecHttp2RouteArgs']] = None, - http_route: Optional[pulumi.Input['GatewayRouteSpecHttpRouteArgs']] = None): + http_route: Optional[pulumi.Input['GatewayRouteSpecHttpRouteArgs']] = None, + priority: Optional[pulumi.Input[int]] = None): """ :param pulumi.Input['GatewayRouteSpecGrpcRouteArgs'] grpc_route: Specification of a gRPC gateway route. :param pulumi.Input['GatewayRouteSpecHttp2RouteArgs'] http2_route: Specification of an HTTP/2 gateway route. :param pulumi.Input['GatewayRouteSpecHttpRouteArgs'] http_route: Specification of an HTTP gateway route. + :param pulumi.Input[int] priority: Priority for the gateway route, between `0` and `1000`. """ if grpc_route is not None: pulumi.set(__self__, "grpc_route", grpc_route) @@ -212,6 +232,8 @@ def __init__(__self__, *, pulumi.set(__self__, "http2_route", http2_route) if http_route is not None: pulumi.set(__self__, "http_route", http_route) + if priority is not None: + pulumi.set(__self__, "priority", priority) @property @pulumi.getter(name="grpcRoute") @@ -249,6 +271,18 @@ def http_route(self) -> Optional[pulumi.Input['GatewayRouteSpecHttpRouteArgs']]: def http_route(self, value: Optional[pulumi.Input['GatewayRouteSpecHttpRouteArgs']]): pulumi.set(self, "http_route", value) + @property + @pulumi.getter + def priority(self) -> Optional[pulumi.Input[int]]: + """ + Priority for the gateway route, between `0` and `1000`. + """ + return pulumi.get(self, "priority") + + @priority.setter + def priority(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "priority", value) + @pulumi.input_type class GatewayRouteSpecGrpcRouteArgs: @@ -312,11 +346,15 @@ def target(self, value: pulumi.Input['GatewayRouteSpecGrpcRouteActionTargetArgs' @pulumi.input_type class GatewayRouteSpecGrpcRouteActionTargetArgs: def __init__(__self__, *, - virtual_service: pulumi.Input['GatewayRouteSpecGrpcRouteActionTargetVirtualServiceArgs']): + virtual_service: pulumi.Input['GatewayRouteSpecGrpcRouteActionTargetVirtualServiceArgs'], + port: Optional[pulumi.Input[int]] = None): """ :param pulumi.Input['GatewayRouteSpecGrpcRouteActionTargetVirtualServiceArgs'] virtual_service: Virtual service gateway route target. + :param pulumi.Input[int] port: The port number that corresponds to the target for Virtual Service provider port. This is required when the provider (router or node) of the Virtual Service has multiple listeners. """ pulumi.set(__self__, "virtual_service", virtual_service) + if port is not None: + pulumi.set(__self__, "port", port) @property @pulumi.getter(name="virtualService") @@ -330,6 +368,18 @@ def virtual_service(self) -> pulumi.Input['GatewayRouteSpecGrpcRouteActionTarget def virtual_service(self, value: pulumi.Input['GatewayRouteSpecGrpcRouteActionTargetVirtualServiceArgs']): pulumi.set(self, "virtual_service", value) + @property + @pulumi.getter + def port(self) -> Optional[pulumi.Input[int]]: + """ + The port number that corresponds to the target for Virtual Service provider port. This is required when the provider (router or node) of the Virtual Service has multiple listeners. + """ + return pulumi.get(self, "port") + + @port.setter + def port(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "port", value) + @pulumi.input_type class GatewayRouteSpecGrpcRouteActionTargetVirtualServiceArgs: @@ -360,7 +410,7 @@ def __init__(__self__, *, port: Optional[pulumi.Input[int]] = None): """ :param pulumi.Input[str] service_name: Fully qualified domain name for the service to match from the request. - :param pulumi.Input[int] port: The port number to match from the request. + :param pulumi.Input[int] port: The port number that corresponds to the target for Virtual Service provider port. This is required when the provider (router or node) of the Virtual Service has multiple listeners. """ pulumi.set(__self__, "service_name", service_name) if port is not None: @@ -382,7 +432,7 @@ def service_name(self, value: pulumi.Input[str]): @pulumi.getter def port(self) -> Optional[pulumi.Input[int]]: """ - The port number to match from the request. + The port number that corresponds to the target for Virtual Service provider port. This is required when the provider (router or node) of the Virtual Service has multiple listeners. """ return pulumi.get(self, "port") @@ -569,11 +619,15 @@ def value(self, value: Optional[pulumi.Input[str]]): @pulumi.input_type class GatewayRouteSpecHttp2RouteActionTargetArgs: def __init__(__self__, *, - virtual_service: pulumi.Input['GatewayRouteSpecHttp2RouteActionTargetVirtualServiceArgs']): + virtual_service: pulumi.Input['GatewayRouteSpecHttp2RouteActionTargetVirtualServiceArgs'], + port: Optional[pulumi.Input[int]] = None): """ :param pulumi.Input['GatewayRouteSpecHttp2RouteActionTargetVirtualServiceArgs'] virtual_service: Virtual service gateway route target. + :param pulumi.Input[int] port: The port number that corresponds to the target for Virtual Service provider port. This is required when the provider (router or node) of the Virtual Service has multiple listeners. """ pulumi.set(__self__, "virtual_service", virtual_service) + if port is not None: + pulumi.set(__self__, "port", port) @property @pulumi.getter(name="virtualService") @@ -587,6 +641,18 @@ def virtual_service(self) -> pulumi.Input['GatewayRouteSpecHttp2RouteActionTarge def virtual_service(self, value: pulumi.Input['GatewayRouteSpecHttp2RouteActionTargetVirtualServiceArgs']): pulumi.set(self, "virtual_service", value) + @property + @pulumi.getter + def port(self) -> Optional[pulumi.Input[int]]: + """ + The port number that corresponds to the target for Virtual Service provider port. This is required when the provider (router or node) of the Virtual Service has multiple listeners. + """ + return pulumi.get(self, "port") + + @port.setter + def port(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "port", value) + @pulumi.input_type class GatewayRouteSpecHttp2RouteActionTargetVirtualServiceArgs: @@ -613,20 +679,44 @@ def virtual_service_name(self, value: pulumi.Input[str]): @pulumi.input_type class GatewayRouteSpecHttp2RouteMatchArgs: def __init__(__self__, *, + headers: Optional[pulumi.Input[Sequence[pulumi.Input['GatewayRouteSpecHttp2RouteMatchHeaderArgs']]]] = None, hostname: Optional[pulumi.Input['GatewayRouteSpecHttp2RouteMatchHostnameArgs']] = None, + path: Optional[pulumi.Input['GatewayRouteSpecHttp2RouteMatchPathArgs']] = None, port: Optional[pulumi.Input[int]] = None, - prefix: Optional[pulumi.Input[str]] = None): + prefix: Optional[pulumi.Input[str]] = None, + query_parameters: Optional[pulumi.Input[Sequence[pulumi.Input['GatewayRouteSpecHttp2RouteMatchQueryParameterArgs']]]] = None): """ + :param pulumi.Input[Sequence[pulumi.Input['GatewayRouteSpecHttp2RouteMatchHeaderArgs']]] headers: Client request headers to match on. :param pulumi.Input['GatewayRouteSpecHttp2RouteMatchHostnameArgs'] hostname: Host name to rewrite. - :param pulumi.Input[int] port: The port number to match from the request. + :param pulumi.Input['GatewayRouteSpecHttp2RouteMatchPathArgs'] path: Client request path to match on. + :param pulumi.Input[int] port: The port number that corresponds to the target for Virtual Service provider port. This is required when the provider (router or node) of the Virtual Service has multiple listeners. :param pulumi.Input[str] prefix: Specified beginning characters to rewrite. + :param pulumi.Input[Sequence[pulumi.Input['GatewayRouteSpecHttp2RouteMatchQueryParameterArgs']]] query_parameters: Client request query parameters to match on. """ + if headers is not None: + pulumi.set(__self__, "headers", headers) if hostname is not None: pulumi.set(__self__, "hostname", hostname) + if path is not None: + pulumi.set(__self__, "path", path) if port is not None: pulumi.set(__self__, "port", port) if prefix is not None: pulumi.set(__self__, "prefix", prefix) + if query_parameters is not None: + pulumi.set(__self__, "query_parameters", query_parameters) + + @property + @pulumi.getter + def headers(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['GatewayRouteSpecHttp2RouteMatchHeaderArgs']]]]: + """ + Client request headers to match on. + """ + return pulumi.get(self, "headers") + + @headers.setter + def headers(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['GatewayRouteSpecHttp2RouteMatchHeaderArgs']]]]): + pulumi.set(self, "headers", value) @property @pulumi.getter @@ -640,11 +730,23 @@ def hostname(self) -> Optional[pulumi.Input['GatewayRouteSpecHttp2RouteMatchHost def hostname(self, value: Optional[pulumi.Input['GatewayRouteSpecHttp2RouteMatchHostnameArgs']]): pulumi.set(self, "hostname", value) + @property + @pulumi.getter + def path(self) -> Optional[pulumi.Input['GatewayRouteSpecHttp2RouteMatchPathArgs']]: + """ + Client request path to match on. + """ + return pulumi.get(self, "path") + + @path.setter + def path(self, value: Optional[pulumi.Input['GatewayRouteSpecHttp2RouteMatchPathArgs']]): + pulumi.set(self, "path", value) + @property @pulumi.getter def port(self) -> Optional[pulumi.Input[int]]: """ - The port number to match from the request. + The port number that corresponds to the target for Virtual Service provider port. This is required when the provider (router or node) of the Virtual Service has multiple listeners. """ return pulumi.get(self, "port") @@ -664,18 +766,96 @@ def prefix(self) -> Optional[pulumi.Input[str]]: def prefix(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "prefix", value) + @property + @pulumi.getter(name="queryParameters") + def query_parameters(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['GatewayRouteSpecHttp2RouteMatchQueryParameterArgs']]]]: + """ + Client request query parameters to match on. + """ + return pulumi.get(self, "query_parameters") + + @query_parameters.setter + def query_parameters(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['GatewayRouteSpecHttp2RouteMatchQueryParameterArgs']]]]): + pulumi.set(self, "query_parameters", value) + @pulumi.input_type -class GatewayRouteSpecHttp2RouteMatchHostnameArgs: +class GatewayRouteSpecHttp2RouteMatchHeaderArgs: + def __init__(__self__, *, + name: pulumi.Input[str], + invert: Optional[pulumi.Input[bool]] = None, + match: Optional[pulumi.Input['GatewayRouteSpecHttp2RouteMatchHeaderMatchArgs']] = None): + """ + :param pulumi.Input[str] name: Name for the HTTP header in the client request that will be matched on. + :param pulumi.Input[bool] invert: If `true`, the match is on the opposite of the `match` method and value. Default is `false`. + :param pulumi.Input['GatewayRouteSpecHttp2RouteMatchHeaderMatchArgs'] match: Method and value to match the header value sent with a request. Specify one match method. + """ + pulumi.set(__self__, "name", name) + if invert is not None: + pulumi.set(__self__, "invert", invert) + if match is not None: + pulumi.set(__self__, "match", match) + + @property + @pulumi.getter + def name(self) -> pulumi.Input[str]: + """ + Name for the HTTP header in the client request that will be matched on. + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: pulumi.Input[str]): + pulumi.set(self, "name", value) + + @property + @pulumi.getter + def invert(self) -> Optional[pulumi.Input[bool]]: + """ + If `true`, the match is on the opposite of the `match` method and value. Default is `false`. + """ + return pulumi.get(self, "invert") + + @invert.setter + def invert(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "invert", value) + + @property + @pulumi.getter + def match(self) -> Optional[pulumi.Input['GatewayRouteSpecHttp2RouteMatchHeaderMatchArgs']]: + """ + Method and value to match the header value sent with a request. Specify one match method. + """ + return pulumi.get(self, "match") + + @match.setter + def match(self, value: Optional[pulumi.Input['GatewayRouteSpecHttp2RouteMatchHeaderMatchArgs']]): + pulumi.set(self, "match", value) + + +@pulumi.input_type +class GatewayRouteSpecHttp2RouteMatchHeaderMatchArgs: def __init__(__self__, *, exact: Optional[pulumi.Input[str]] = None, + prefix: Optional[pulumi.Input[str]] = None, + range: Optional[pulumi.Input['GatewayRouteSpecHttp2RouteMatchHeaderMatchRangeArgs']] = None, + regex: Optional[pulumi.Input[str]] = None, suffix: Optional[pulumi.Input[str]] = None): """ - :param pulumi.Input[str] exact: Exact host name to match on. - :param pulumi.Input[str] suffix: Specified ending characters of the host name to match on. + :param pulumi.Input[str] exact: Header value sent by the client must match the specified value exactly. + :param pulumi.Input[str] prefix: Specified beginning characters to rewrite. + :param pulumi.Input['GatewayRouteSpecHttp2RouteMatchHeaderMatchRangeArgs'] range: Object that specifies the range of numbers that the header value sent by the client must be included in. + :param pulumi.Input[str] regex: Header value sent by the client must include the specified characters. + :param pulumi.Input[str] suffix: Header value sent by the client must end with the specified characters. """ if exact is not None: pulumi.set(__self__, "exact", exact) + if prefix is not None: + pulumi.set(__self__, "prefix", prefix) + if range is not None: + pulumi.set(__self__, "range", range) + if regex is not None: + pulumi.set(__self__, "regex", regex) if suffix is not None: pulumi.set(__self__, "suffix", suffix) @@ -683,7 +863,7 @@ def __init__(__self__, *, @pulumi.getter def exact(self) -> Optional[pulumi.Input[str]]: """ - Exact host name to match on. + Header value sent by the client must match the specified value exactly. """ return pulumi.get(self, "exact") @@ -693,121 +873,333 @@ def exact(self, value: Optional[pulumi.Input[str]]): @property @pulumi.getter - def suffix(self) -> Optional[pulumi.Input[str]]: + def prefix(self) -> Optional[pulumi.Input[str]]: """ - Specified ending characters of the host name to match on. + Specified beginning characters to rewrite. """ - return pulumi.get(self, "suffix") - - @suffix.setter - def suffix(self, value: Optional[pulumi.Input[str]]): - pulumi.set(self, "suffix", value) + return pulumi.get(self, "prefix") + @prefix.setter + def prefix(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "prefix", value) -@pulumi.input_type -class GatewayRouteSpecHttpRouteArgs: - def __init__(__self__, *, - action: pulumi.Input['GatewayRouteSpecHttpRouteActionArgs'], - match: pulumi.Input['GatewayRouteSpecHttpRouteMatchArgs']): + @property + @pulumi.getter + def range(self) -> Optional[pulumi.Input['GatewayRouteSpecHttp2RouteMatchHeaderMatchRangeArgs']]: """ - :param pulumi.Input['GatewayRouteSpecHttpRouteActionArgs'] action: Action to take if a match is determined. - :param pulumi.Input['GatewayRouteSpecHttpRouteMatchArgs'] match: Criteria for determining a request match. + Object that specifies the range of numbers that the header value sent by the client must be included in. """ - pulumi.set(__self__, "action", action) - pulumi.set(__self__, "match", match) + return pulumi.get(self, "range") + + @range.setter + def range(self, value: Optional[pulumi.Input['GatewayRouteSpecHttp2RouteMatchHeaderMatchRangeArgs']]): + pulumi.set(self, "range", value) @property @pulumi.getter - def action(self) -> pulumi.Input['GatewayRouteSpecHttpRouteActionArgs']: + def regex(self) -> Optional[pulumi.Input[str]]: """ - Action to take if a match is determined. + Header value sent by the client must include the specified characters. """ - return pulumi.get(self, "action") + return pulumi.get(self, "regex") - @action.setter - def action(self, value: pulumi.Input['GatewayRouteSpecHttpRouteActionArgs']): - pulumi.set(self, "action", value) + @regex.setter + def regex(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "regex", value) @property @pulumi.getter - def match(self) -> pulumi.Input['GatewayRouteSpecHttpRouteMatchArgs']: + def suffix(self) -> Optional[pulumi.Input[str]]: """ - Criteria for determining a request match. + Header value sent by the client must end with the specified characters. """ - return pulumi.get(self, "match") + return pulumi.get(self, "suffix") - @match.setter - def match(self, value: pulumi.Input['GatewayRouteSpecHttpRouteMatchArgs']): - pulumi.set(self, "match", value) + @suffix.setter + def suffix(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "suffix", value) @pulumi.input_type -class GatewayRouteSpecHttpRouteActionArgs: +class GatewayRouteSpecHttp2RouteMatchHeaderMatchRangeArgs: def __init__(__self__, *, - target: pulumi.Input['GatewayRouteSpecHttpRouteActionTargetArgs'], - rewrite: Optional[pulumi.Input['GatewayRouteSpecHttpRouteActionRewriteArgs']] = None): + end: pulumi.Input[int], + start: pulumi.Input[int]): """ - :param pulumi.Input['GatewayRouteSpecHttpRouteActionTargetArgs'] target: Target that traffic is routed to when a request matches the gateway route. - :param pulumi.Input['GatewayRouteSpecHttpRouteActionRewriteArgs'] rewrite: Gateway route action to rewrite. + :param pulumi.Input[int] end: End of the range. + :param pulumi.Input[int] start: Start of the range. """ - pulumi.set(__self__, "target", target) - if rewrite is not None: - pulumi.set(__self__, "rewrite", rewrite) + pulumi.set(__self__, "end", end) + pulumi.set(__self__, "start", start) @property @pulumi.getter - def target(self) -> pulumi.Input['GatewayRouteSpecHttpRouteActionTargetArgs']: + def end(self) -> pulumi.Input[int]: """ - Target that traffic is routed to when a request matches the gateway route. + End of the range. """ - return pulumi.get(self, "target") + return pulumi.get(self, "end") - @target.setter - def target(self, value: pulumi.Input['GatewayRouteSpecHttpRouteActionTargetArgs']): - pulumi.set(self, "target", value) + @end.setter + def end(self, value: pulumi.Input[int]): + pulumi.set(self, "end", value) @property @pulumi.getter - def rewrite(self) -> Optional[pulumi.Input['GatewayRouteSpecHttpRouteActionRewriteArgs']]: + def start(self) -> pulumi.Input[int]: """ - Gateway route action to rewrite. + Start of the range. """ - return pulumi.get(self, "rewrite") + return pulumi.get(self, "start") - @rewrite.setter - def rewrite(self, value: Optional[pulumi.Input['GatewayRouteSpecHttpRouteActionRewriteArgs']]): - pulumi.set(self, "rewrite", value) + @start.setter + def start(self, value: pulumi.Input[int]): + pulumi.set(self, "start", value) @pulumi.input_type -class GatewayRouteSpecHttpRouteActionRewriteArgs: +class GatewayRouteSpecHttp2RouteMatchHostnameArgs: def __init__(__self__, *, - hostname: Optional[pulumi.Input['GatewayRouteSpecHttpRouteActionRewriteHostnameArgs']] = None, - prefix: Optional[pulumi.Input['GatewayRouteSpecHttpRouteActionRewritePrefixArgs']] = None): + exact: Optional[pulumi.Input[str]] = None, + suffix: Optional[pulumi.Input[str]] = None): """ - :param pulumi.Input['GatewayRouteSpecHttpRouteActionRewriteHostnameArgs'] hostname: Host name to rewrite. - :param pulumi.Input['GatewayRouteSpecHttpRouteActionRewritePrefixArgs'] prefix: Specified beginning characters to rewrite. + :param pulumi.Input[str] exact: Exact host name to match on. + :param pulumi.Input[str] suffix: Specified ending characters of the host name to match on. """ - if hostname is not None: - pulumi.set(__self__, "hostname", hostname) - if prefix is not None: - pulumi.set(__self__, "prefix", prefix) + if exact is not None: + pulumi.set(__self__, "exact", exact) + if suffix is not None: + pulumi.set(__self__, "suffix", suffix) @property @pulumi.getter - def hostname(self) -> Optional[pulumi.Input['GatewayRouteSpecHttpRouteActionRewriteHostnameArgs']]: + def exact(self) -> Optional[pulumi.Input[str]]: """ - Host name to rewrite. + Exact host name to match on. """ - return pulumi.get(self, "hostname") + return pulumi.get(self, "exact") - @hostname.setter - def hostname(self, value: Optional[pulumi.Input['GatewayRouteSpecHttpRouteActionRewriteHostnameArgs']]): - pulumi.set(self, "hostname", value) + @exact.setter + def exact(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "exact", value) @property @pulumi.getter - def prefix(self) -> Optional[pulumi.Input['GatewayRouteSpecHttpRouteActionRewritePrefixArgs']]: + def suffix(self) -> Optional[pulumi.Input[str]]: + """ + Specified ending characters of the host name to match on. + """ + return pulumi.get(self, "suffix") + + @suffix.setter + def suffix(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "suffix", value) + + +@pulumi.input_type +class GatewayRouteSpecHttp2RouteMatchPathArgs: + def __init__(__self__, *, + exact: Optional[pulumi.Input[str]] = None, + regex: Optional[pulumi.Input[str]] = None): + """ + :param pulumi.Input[str] exact: The exact path to match on. + :param pulumi.Input[str] regex: The regex used to match the path. + """ + if exact is not None: + pulumi.set(__self__, "exact", exact) + if regex is not None: + pulumi.set(__self__, "regex", regex) + + @property + @pulumi.getter + def exact(self) -> Optional[pulumi.Input[str]]: + """ + The exact path to match on. + """ + return pulumi.get(self, "exact") + + @exact.setter + def exact(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "exact", value) + + @property + @pulumi.getter + def regex(self) -> Optional[pulumi.Input[str]]: + """ + The regex used to match the path. + """ + return pulumi.get(self, "regex") + + @regex.setter + def regex(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "regex", value) + + +@pulumi.input_type +class GatewayRouteSpecHttp2RouteMatchQueryParameterArgs: + def __init__(__self__, *, + name: pulumi.Input[str], + match: Optional[pulumi.Input['GatewayRouteSpecHttp2RouteMatchQueryParameterMatchArgs']] = None): + """ + :param pulumi.Input[str] name: Name for the query parameter that will be matched on. + :param pulumi.Input['GatewayRouteSpecHttp2RouteMatchQueryParameterMatchArgs'] match: The query parameter to match on. + """ + pulumi.set(__self__, "name", name) + if match is not None: + pulumi.set(__self__, "match", match) + + @property + @pulumi.getter + def name(self) -> pulumi.Input[str]: + """ + Name for the query parameter that will be matched on. + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: pulumi.Input[str]): + pulumi.set(self, "name", value) + + @property + @pulumi.getter + def match(self) -> Optional[pulumi.Input['GatewayRouteSpecHttp2RouteMatchQueryParameterMatchArgs']]: + """ + The query parameter to match on. + """ + return pulumi.get(self, "match") + + @match.setter + def match(self, value: Optional[pulumi.Input['GatewayRouteSpecHttp2RouteMatchQueryParameterMatchArgs']]): + pulumi.set(self, "match", value) + + +@pulumi.input_type +class GatewayRouteSpecHttp2RouteMatchQueryParameterMatchArgs: + def __init__(__self__, *, + exact: Optional[pulumi.Input[str]] = None): + """ + :param pulumi.Input[str] exact: Header value sent by the client must match the specified value exactly. + """ + if exact is not None: + pulumi.set(__self__, "exact", exact) + + @property + @pulumi.getter + def exact(self) -> Optional[pulumi.Input[str]]: + """ + Header value sent by the client must match the specified value exactly. + """ + return pulumi.get(self, "exact") + + @exact.setter + def exact(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "exact", value) + + +@pulumi.input_type +class GatewayRouteSpecHttpRouteArgs: + def __init__(__self__, *, + action: pulumi.Input['GatewayRouteSpecHttpRouteActionArgs'], + match: pulumi.Input['GatewayRouteSpecHttpRouteMatchArgs']): + """ + :param pulumi.Input['GatewayRouteSpecHttpRouteActionArgs'] action: Action to take if a match is determined. + :param pulumi.Input['GatewayRouteSpecHttpRouteMatchArgs'] match: Criteria for determining a request match. + """ + pulumi.set(__self__, "action", action) + pulumi.set(__self__, "match", match) + + @property + @pulumi.getter + def action(self) -> pulumi.Input['GatewayRouteSpecHttpRouteActionArgs']: + """ + Action to take if a match is determined. + """ + return pulumi.get(self, "action") + + @action.setter + def action(self, value: pulumi.Input['GatewayRouteSpecHttpRouteActionArgs']): + pulumi.set(self, "action", value) + + @property + @pulumi.getter + def match(self) -> pulumi.Input['GatewayRouteSpecHttpRouteMatchArgs']: + """ + Criteria for determining a request match. + """ + return pulumi.get(self, "match") + + @match.setter + def match(self, value: pulumi.Input['GatewayRouteSpecHttpRouteMatchArgs']): + pulumi.set(self, "match", value) + + +@pulumi.input_type +class GatewayRouteSpecHttpRouteActionArgs: + def __init__(__self__, *, + target: pulumi.Input['GatewayRouteSpecHttpRouteActionTargetArgs'], + rewrite: Optional[pulumi.Input['GatewayRouteSpecHttpRouteActionRewriteArgs']] = None): + """ + :param pulumi.Input['GatewayRouteSpecHttpRouteActionTargetArgs'] target: Target that traffic is routed to when a request matches the gateway route. + :param pulumi.Input['GatewayRouteSpecHttpRouteActionRewriteArgs'] rewrite: Gateway route action to rewrite. + """ + pulumi.set(__self__, "target", target) + if rewrite is not None: + pulumi.set(__self__, "rewrite", rewrite) + + @property + @pulumi.getter + def target(self) -> pulumi.Input['GatewayRouteSpecHttpRouteActionTargetArgs']: + """ + Target that traffic is routed to when a request matches the gateway route. + """ + return pulumi.get(self, "target") + + @target.setter + def target(self, value: pulumi.Input['GatewayRouteSpecHttpRouteActionTargetArgs']): + pulumi.set(self, "target", value) + + @property + @pulumi.getter + def rewrite(self) -> Optional[pulumi.Input['GatewayRouteSpecHttpRouteActionRewriteArgs']]: + """ + Gateway route action to rewrite. + """ + return pulumi.get(self, "rewrite") + + @rewrite.setter + def rewrite(self, value: Optional[pulumi.Input['GatewayRouteSpecHttpRouteActionRewriteArgs']]): + pulumi.set(self, "rewrite", value) + + +@pulumi.input_type +class GatewayRouteSpecHttpRouteActionRewriteArgs: + def __init__(__self__, *, + hostname: Optional[pulumi.Input['GatewayRouteSpecHttpRouteActionRewriteHostnameArgs']] = None, + prefix: Optional[pulumi.Input['GatewayRouteSpecHttpRouteActionRewritePrefixArgs']] = None): + """ + :param pulumi.Input['GatewayRouteSpecHttpRouteActionRewriteHostnameArgs'] hostname: Host name to rewrite. + :param pulumi.Input['GatewayRouteSpecHttpRouteActionRewritePrefixArgs'] prefix: Specified beginning characters to rewrite. + """ + if hostname is not None: + pulumi.set(__self__, "hostname", hostname) + if prefix is not None: + pulumi.set(__self__, "prefix", prefix) + + @property + @pulumi.getter + def hostname(self) -> Optional[pulumi.Input['GatewayRouteSpecHttpRouteActionRewriteHostnameArgs']]: + """ + Host name to rewrite. + """ + return pulumi.get(self, "hostname") + + @hostname.setter + def hostname(self, value: Optional[pulumi.Input['GatewayRouteSpecHttpRouteActionRewriteHostnameArgs']]): + pulumi.set(self, "hostname", value) + + @property + @pulumi.getter + def prefix(self) -> Optional[pulumi.Input['GatewayRouteSpecHttpRouteActionRewritePrefixArgs']]: """ Specified beginning characters to rewrite. """ @@ -825,178 +1217,532 @@ def __init__(__self__, *, """ :param pulumi.Input[str] default_target_hostname: Default target host name to write to. Valid values: `ENABLED`, `DISABLED`. """ - pulumi.set(__self__, "default_target_hostname", default_target_hostname) + pulumi.set(__self__, "default_target_hostname", default_target_hostname) + + @property + @pulumi.getter(name="defaultTargetHostname") + def default_target_hostname(self) -> pulumi.Input[str]: + """ + Default target host name to write to. Valid values: `ENABLED`, `DISABLED`. + """ + return pulumi.get(self, "default_target_hostname") + + @default_target_hostname.setter + def default_target_hostname(self, value: pulumi.Input[str]): + pulumi.set(self, "default_target_hostname", value) + + +@pulumi.input_type +class GatewayRouteSpecHttpRouteActionRewritePrefixArgs: + def __init__(__self__, *, + default_prefix: Optional[pulumi.Input[str]] = None, + value: Optional[pulumi.Input[str]] = None): + """ + :param pulumi.Input[str] default_prefix: Default prefix used to replace the incoming route prefix when rewritten. Valid values: `ENABLED`, `DISABLED`. + :param pulumi.Input[str] value: Value used to replace the incoming route prefix when rewritten. + """ + if default_prefix is not None: + pulumi.set(__self__, "default_prefix", default_prefix) + if value is not None: + pulumi.set(__self__, "value", value) + + @property + @pulumi.getter(name="defaultPrefix") + def default_prefix(self) -> Optional[pulumi.Input[str]]: + """ + Default prefix used to replace the incoming route prefix when rewritten. Valid values: `ENABLED`, `DISABLED`. + """ + return pulumi.get(self, "default_prefix") + + @default_prefix.setter + def default_prefix(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "default_prefix", value) + + @property + @pulumi.getter + def value(self) -> Optional[pulumi.Input[str]]: + """ + Value used to replace the incoming route prefix when rewritten. + """ + return pulumi.get(self, "value") + + @value.setter + def value(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "value", value) + + +@pulumi.input_type +class GatewayRouteSpecHttpRouteActionTargetArgs: + def __init__(__self__, *, + virtual_service: pulumi.Input['GatewayRouteSpecHttpRouteActionTargetVirtualServiceArgs'], + port: Optional[pulumi.Input[int]] = None): + """ + :param pulumi.Input['GatewayRouteSpecHttpRouteActionTargetVirtualServiceArgs'] virtual_service: Virtual service gateway route target. + :param pulumi.Input[int] port: The port number that corresponds to the target for Virtual Service provider port. This is required when the provider (router or node) of the Virtual Service has multiple listeners. + """ + pulumi.set(__self__, "virtual_service", virtual_service) + if port is not None: + pulumi.set(__self__, "port", port) + + @property + @pulumi.getter(name="virtualService") + def virtual_service(self) -> pulumi.Input['GatewayRouteSpecHttpRouteActionTargetVirtualServiceArgs']: + """ + Virtual service gateway route target. + """ + return pulumi.get(self, "virtual_service") + + @virtual_service.setter + def virtual_service(self, value: pulumi.Input['GatewayRouteSpecHttpRouteActionTargetVirtualServiceArgs']): + pulumi.set(self, "virtual_service", value) + + @property + @pulumi.getter + def port(self) -> Optional[pulumi.Input[int]]: + """ + The port number that corresponds to the target for Virtual Service provider port. This is required when the provider (router or node) of the Virtual Service has multiple listeners. + """ + return pulumi.get(self, "port") + + @port.setter + def port(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "port", value) + + +@pulumi.input_type +class GatewayRouteSpecHttpRouteActionTargetVirtualServiceArgs: + def __init__(__self__, *, + virtual_service_name: pulumi.Input[str]): + """ + :param pulumi.Input[str] virtual_service_name: Name of the virtual service that traffic is routed to. Must be between 1 and 255 characters in length. + """ + pulumi.set(__self__, "virtual_service_name", virtual_service_name) + + @property + @pulumi.getter(name="virtualServiceName") + def virtual_service_name(self) -> pulumi.Input[str]: + """ + Name of the virtual service that traffic is routed to. Must be between 1 and 255 characters in length. + """ + return pulumi.get(self, "virtual_service_name") + + @virtual_service_name.setter + def virtual_service_name(self, value: pulumi.Input[str]): + pulumi.set(self, "virtual_service_name", value) + + +@pulumi.input_type +class GatewayRouteSpecHttpRouteMatchArgs: + def __init__(__self__, *, + headers: Optional[pulumi.Input[Sequence[pulumi.Input['GatewayRouteSpecHttpRouteMatchHeaderArgs']]]] = None, + hostname: Optional[pulumi.Input['GatewayRouteSpecHttpRouteMatchHostnameArgs']] = None, + path: Optional[pulumi.Input['GatewayRouteSpecHttpRouteMatchPathArgs']] = None, + port: Optional[pulumi.Input[int]] = None, + prefix: Optional[pulumi.Input[str]] = None, + query_parameters: Optional[pulumi.Input[Sequence[pulumi.Input['GatewayRouteSpecHttpRouteMatchQueryParameterArgs']]]] = None): + """ + :param pulumi.Input[Sequence[pulumi.Input['GatewayRouteSpecHttpRouteMatchHeaderArgs']]] headers: Client request headers to match on. + :param pulumi.Input['GatewayRouteSpecHttpRouteMatchHostnameArgs'] hostname: Host name to rewrite. + :param pulumi.Input['GatewayRouteSpecHttpRouteMatchPathArgs'] path: Client request path to match on. + :param pulumi.Input[int] port: The port number that corresponds to the target for Virtual Service provider port. This is required when the provider (router or node) of the Virtual Service has multiple listeners. + :param pulumi.Input[str] prefix: Specified beginning characters to rewrite. + :param pulumi.Input[Sequence[pulumi.Input['GatewayRouteSpecHttpRouteMatchQueryParameterArgs']]] query_parameters: Client request query parameters to match on. + """ + if headers is not None: + pulumi.set(__self__, "headers", headers) + if hostname is not None: + pulumi.set(__self__, "hostname", hostname) + if path is not None: + pulumi.set(__self__, "path", path) + if port is not None: + pulumi.set(__self__, "port", port) + if prefix is not None: + pulumi.set(__self__, "prefix", prefix) + if query_parameters is not None: + pulumi.set(__self__, "query_parameters", query_parameters) + + @property + @pulumi.getter + def headers(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['GatewayRouteSpecHttpRouteMatchHeaderArgs']]]]: + """ + Client request headers to match on. + """ + return pulumi.get(self, "headers") + + @headers.setter + def headers(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['GatewayRouteSpecHttpRouteMatchHeaderArgs']]]]): + pulumi.set(self, "headers", value) + + @property + @pulumi.getter + def hostname(self) -> Optional[pulumi.Input['GatewayRouteSpecHttpRouteMatchHostnameArgs']]: + """ + Host name to rewrite. + """ + return pulumi.get(self, "hostname") + + @hostname.setter + def hostname(self, value: Optional[pulumi.Input['GatewayRouteSpecHttpRouteMatchHostnameArgs']]): + pulumi.set(self, "hostname", value) + + @property + @pulumi.getter + def path(self) -> Optional[pulumi.Input['GatewayRouteSpecHttpRouteMatchPathArgs']]: + """ + Client request path to match on. + """ + return pulumi.get(self, "path") + + @path.setter + def path(self, value: Optional[pulumi.Input['GatewayRouteSpecHttpRouteMatchPathArgs']]): + pulumi.set(self, "path", value) + + @property + @pulumi.getter + def port(self) -> Optional[pulumi.Input[int]]: + """ + The port number that corresponds to the target for Virtual Service provider port. This is required when the provider (router or node) of the Virtual Service has multiple listeners. + """ + return pulumi.get(self, "port") + + @port.setter + def port(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "port", value) + + @property + @pulumi.getter + def prefix(self) -> Optional[pulumi.Input[str]]: + """ + Specified beginning characters to rewrite. + """ + return pulumi.get(self, "prefix") + + @prefix.setter + def prefix(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "prefix", value) + + @property + @pulumi.getter(name="queryParameters") + def query_parameters(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['GatewayRouteSpecHttpRouteMatchQueryParameterArgs']]]]: + """ + Client request query parameters to match on. + """ + return pulumi.get(self, "query_parameters") + + @query_parameters.setter + def query_parameters(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['GatewayRouteSpecHttpRouteMatchQueryParameterArgs']]]]): + pulumi.set(self, "query_parameters", value) + + +@pulumi.input_type +class GatewayRouteSpecHttpRouteMatchHeaderArgs: + def __init__(__self__, *, + name: pulumi.Input[str], + invert: Optional[pulumi.Input[bool]] = None, + match: Optional[pulumi.Input['GatewayRouteSpecHttpRouteMatchHeaderMatchArgs']] = None): + """ + :param pulumi.Input[str] name: Name for the HTTP header in the client request that will be matched on. + :param pulumi.Input[bool] invert: If `true`, the match is on the opposite of the `match` method and value. Default is `false`. + :param pulumi.Input['GatewayRouteSpecHttpRouteMatchHeaderMatchArgs'] match: Method and value to match the header value sent with a request. Specify one match method. + """ + pulumi.set(__self__, "name", name) + if invert is not None: + pulumi.set(__self__, "invert", invert) + if match is not None: + pulumi.set(__self__, "match", match) + + @property + @pulumi.getter + def name(self) -> pulumi.Input[str]: + """ + Name for the HTTP header in the client request that will be matched on. + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: pulumi.Input[str]): + pulumi.set(self, "name", value) + + @property + @pulumi.getter + def invert(self) -> Optional[pulumi.Input[bool]]: + """ + If `true`, the match is on the opposite of the `match` method and value. Default is `false`. + """ + return pulumi.get(self, "invert") + + @invert.setter + def invert(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "invert", value) + + @property + @pulumi.getter + def match(self) -> Optional[pulumi.Input['GatewayRouteSpecHttpRouteMatchHeaderMatchArgs']]: + """ + Method and value to match the header value sent with a request. Specify one match method. + """ + return pulumi.get(self, "match") + + @match.setter + def match(self, value: Optional[pulumi.Input['GatewayRouteSpecHttpRouteMatchHeaderMatchArgs']]): + pulumi.set(self, "match", value) + + +@pulumi.input_type +class GatewayRouteSpecHttpRouteMatchHeaderMatchArgs: + def __init__(__self__, *, + exact: Optional[pulumi.Input[str]] = None, + prefix: Optional[pulumi.Input[str]] = None, + range: Optional[pulumi.Input['GatewayRouteSpecHttpRouteMatchHeaderMatchRangeArgs']] = None, + regex: Optional[pulumi.Input[str]] = None, + suffix: Optional[pulumi.Input[str]] = None): + """ + :param pulumi.Input[str] exact: Header value sent by the client must match the specified value exactly. + :param pulumi.Input[str] prefix: Specified beginning characters to rewrite. + :param pulumi.Input['GatewayRouteSpecHttpRouteMatchHeaderMatchRangeArgs'] range: Object that specifies the range of numbers that the header value sent by the client must be included in. + :param pulumi.Input[str] regex: Header value sent by the client must include the specified characters. + :param pulumi.Input[str] suffix: Header value sent by the client must end with the specified characters. + """ + if exact is not None: + pulumi.set(__self__, "exact", exact) + if prefix is not None: + pulumi.set(__self__, "prefix", prefix) + if range is not None: + pulumi.set(__self__, "range", range) + if regex is not None: + pulumi.set(__self__, "regex", regex) + if suffix is not None: + pulumi.set(__self__, "suffix", suffix) + + @property + @pulumi.getter + def exact(self) -> Optional[pulumi.Input[str]]: + """ + Header value sent by the client must match the specified value exactly. + """ + return pulumi.get(self, "exact") + + @exact.setter + def exact(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "exact", value) + + @property + @pulumi.getter + def prefix(self) -> Optional[pulumi.Input[str]]: + """ + Specified beginning characters to rewrite. + """ + return pulumi.get(self, "prefix") + + @prefix.setter + def prefix(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "prefix", value) + + @property + @pulumi.getter + def range(self) -> Optional[pulumi.Input['GatewayRouteSpecHttpRouteMatchHeaderMatchRangeArgs']]: + """ + Object that specifies the range of numbers that the header value sent by the client must be included in. + """ + return pulumi.get(self, "range") + + @range.setter + def range(self, value: Optional[pulumi.Input['GatewayRouteSpecHttpRouteMatchHeaderMatchRangeArgs']]): + pulumi.set(self, "range", value) + + @property + @pulumi.getter + def regex(self) -> Optional[pulumi.Input[str]]: + """ + Header value sent by the client must include the specified characters. + """ + return pulumi.get(self, "regex") + + @regex.setter + def regex(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "regex", value) @property - @pulumi.getter(name="defaultTargetHostname") - def default_target_hostname(self) -> pulumi.Input[str]: + @pulumi.getter + def suffix(self) -> Optional[pulumi.Input[str]]: """ - Default target host name to write to. Valid values: `ENABLED`, `DISABLED`. + Header value sent by the client must end with the specified characters. """ - return pulumi.get(self, "default_target_hostname") + return pulumi.get(self, "suffix") - @default_target_hostname.setter - def default_target_hostname(self, value: pulumi.Input[str]): - pulumi.set(self, "default_target_hostname", value) + @suffix.setter + def suffix(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "suffix", value) @pulumi.input_type -class GatewayRouteSpecHttpRouteActionRewritePrefixArgs: +class GatewayRouteSpecHttpRouteMatchHeaderMatchRangeArgs: def __init__(__self__, *, - default_prefix: Optional[pulumi.Input[str]] = None, - value: Optional[pulumi.Input[str]] = None): + end: pulumi.Input[int], + start: pulumi.Input[int]): """ - :param pulumi.Input[str] default_prefix: Default prefix used to replace the incoming route prefix when rewritten. Valid values: `ENABLED`, `DISABLED`. - :param pulumi.Input[str] value: Value used to replace the incoming route prefix when rewritten. + :param pulumi.Input[int] end: End of the range. + :param pulumi.Input[int] start: Start of the range. """ - if default_prefix is not None: - pulumi.set(__self__, "default_prefix", default_prefix) - if value is not None: - pulumi.set(__self__, "value", value) + pulumi.set(__self__, "end", end) + pulumi.set(__self__, "start", start) @property - @pulumi.getter(name="defaultPrefix") - def default_prefix(self) -> Optional[pulumi.Input[str]]: + @pulumi.getter + def end(self) -> pulumi.Input[int]: """ - Default prefix used to replace the incoming route prefix when rewritten. Valid values: `ENABLED`, `DISABLED`. + End of the range. """ - return pulumi.get(self, "default_prefix") + return pulumi.get(self, "end") - @default_prefix.setter - def default_prefix(self, value: Optional[pulumi.Input[str]]): - pulumi.set(self, "default_prefix", value) + @end.setter + def end(self, value: pulumi.Input[int]): + pulumi.set(self, "end", value) @property @pulumi.getter - def value(self) -> Optional[pulumi.Input[str]]: + def start(self) -> pulumi.Input[int]: """ - Value used to replace the incoming route prefix when rewritten. + Start of the range. """ - return pulumi.get(self, "value") + return pulumi.get(self, "start") - @value.setter - def value(self, value: Optional[pulumi.Input[str]]): - pulumi.set(self, "value", value) + @start.setter + def start(self, value: pulumi.Input[int]): + pulumi.set(self, "start", value) @pulumi.input_type -class GatewayRouteSpecHttpRouteActionTargetArgs: +class GatewayRouteSpecHttpRouteMatchHostnameArgs: def __init__(__self__, *, - virtual_service: pulumi.Input['GatewayRouteSpecHttpRouteActionTargetVirtualServiceArgs']): + exact: Optional[pulumi.Input[str]] = None, + suffix: Optional[pulumi.Input[str]] = None): """ - :param pulumi.Input['GatewayRouteSpecHttpRouteActionTargetVirtualServiceArgs'] virtual_service: Virtual service gateway route target. + :param pulumi.Input[str] exact: Exact host name to match on. + :param pulumi.Input[str] suffix: Specified ending characters of the host name to match on. """ - pulumi.set(__self__, "virtual_service", virtual_service) + if exact is not None: + pulumi.set(__self__, "exact", exact) + if suffix is not None: + pulumi.set(__self__, "suffix", suffix) @property - @pulumi.getter(name="virtualService") - def virtual_service(self) -> pulumi.Input['GatewayRouteSpecHttpRouteActionTargetVirtualServiceArgs']: + @pulumi.getter + def exact(self) -> Optional[pulumi.Input[str]]: """ - Virtual service gateway route target. + Exact host name to match on. """ - return pulumi.get(self, "virtual_service") - - @virtual_service.setter - def virtual_service(self, value: pulumi.Input['GatewayRouteSpecHttpRouteActionTargetVirtualServiceArgs']): - pulumi.set(self, "virtual_service", value) - + return pulumi.get(self, "exact") -@pulumi.input_type -class GatewayRouteSpecHttpRouteActionTargetVirtualServiceArgs: - def __init__(__self__, *, - virtual_service_name: pulumi.Input[str]): - """ - :param pulumi.Input[str] virtual_service_name: Name of the virtual service that traffic is routed to. Must be between 1 and 255 characters in length. - """ - pulumi.set(__self__, "virtual_service_name", virtual_service_name) + @exact.setter + def exact(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "exact", value) @property - @pulumi.getter(name="virtualServiceName") - def virtual_service_name(self) -> pulumi.Input[str]: + @pulumi.getter + def suffix(self) -> Optional[pulumi.Input[str]]: """ - Name of the virtual service that traffic is routed to. Must be between 1 and 255 characters in length. + Specified ending characters of the host name to match on. """ - return pulumi.get(self, "virtual_service_name") + return pulumi.get(self, "suffix") - @virtual_service_name.setter - def virtual_service_name(self, value: pulumi.Input[str]): - pulumi.set(self, "virtual_service_name", value) + @suffix.setter + def suffix(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "suffix", value) @pulumi.input_type -class GatewayRouteSpecHttpRouteMatchArgs: +class GatewayRouteSpecHttpRouteMatchPathArgs: def __init__(__self__, *, - hostname: Optional[pulumi.Input['GatewayRouteSpecHttpRouteMatchHostnameArgs']] = None, - port: Optional[pulumi.Input[int]] = None, - prefix: Optional[pulumi.Input[str]] = None): + exact: Optional[pulumi.Input[str]] = None, + regex: Optional[pulumi.Input[str]] = None): """ - :param pulumi.Input['GatewayRouteSpecHttpRouteMatchHostnameArgs'] hostname: Host name to rewrite. - :param pulumi.Input[int] port: The port number to match from the request. - :param pulumi.Input[str] prefix: Specified beginning characters to rewrite. + :param pulumi.Input[str] exact: The exact path to match on. + :param pulumi.Input[str] regex: The regex used to match the path. """ - if hostname is not None: - pulumi.set(__self__, "hostname", hostname) - if port is not None: - pulumi.set(__self__, "port", port) - if prefix is not None: - pulumi.set(__self__, "prefix", prefix) + if exact is not None: + pulumi.set(__self__, "exact", exact) + if regex is not None: + pulumi.set(__self__, "regex", regex) @property @pulumi.getter - def hostname(self) -> Optional[pulumi.Input['GatewayRouteSpecHttpRouteMatchHostnameArgs']]: + def exact(self) -> Optional[pulumi.Input[str]]: """ - Host name to rewrite. + The exact path to match on. """ - return pulumi.get(self, "hostname") + return pulumi.get(self, "exact") - @hostname.setter - def hostname(self, value: Optional[pulumi.Input['GatewayRouteSpecHttpRouteMatchHostnameArgs']]): - pulumi.set(self, "hostname", value) + @exact.setter + def exact(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "exact", value) @property @pulumi.getter - def port(self) -> Optional[pulumi.Input[int]]: + def regex(self) -> Optional[pulumi.Input[str]]: """ - The port number to match from the request. + The regex used to match the path. """ - return pulumi.get(self, "port") + return pulumi.get(self, "regex") - @port.setter - def port(self, value: Optional[pulumi.Input[int]]): - pulumi.set(self, "port", value) + @regex.setter + def regex(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "regex", value) + + +@pulumi.input_type +class GatewayRouteSpecHttpRouteMatchQueryParameterArgs: + def __init__(__self__, *, + name: pulumi.Input[str], + match: Optional[pulumi.Input['GatewayRouteSpecHttpRouteMatchQueryParameterMatchArgs']] = None): + """ + :param pulumi.Input[str] name: Name for the query parameter that will be matched on. + :param pulumi.Input['GatewayRouteSpecHttpRouteMatchQueryParameterMatchArgs'] match: The query parameter to match on. + """ + pulumi.set(__self__, "name", name) + if match is not None: + pulumi.set(__self__, "match", match) @property @pulumi.getter - def prefix(self) -> Optional[pulumi.Input[str]]: + def name(self) -> pulumi.Input[str]: """ - Specified beginning characters to rewrite. + Name for the query parameter that will be matched on. """ - return pulumi.get(self, "prefix") + return pulumi.get(self, "name") - @prefix.setter - def prefix(self, value: Optional[pulumi.Input[str]]): - pulumi.set(self, "prefix", value) + @name.setter + def name(self, value: pulumi.Input[str]): + pulumi.set(self, "name", value) + + @property + @pulumi.getter + def match(self) -> Optional[pulumi.Input['GatewayRouteSpecHttpRouteMatchQueryParameterMatchArgs']]: + """ + The query parameter to match on. + """ + return pulumi.get(self, "match") + + @match.setter + def match(self, value: Optional[pulumi.Input['GatewayRouteSpecHttpRouteMatchQueryParameterMatchArgs']]): + pulumi.set(self, "match", value) @pulumi.input_type -class GatewayRouteSpecHttpRouteMatchHostnameArgs: +class GatewayRouteSpecHttpRouteMatchQueryParameterMatchArgs: def __init__(__self__, *, - exact: Optional[pulumi.Input[str]] = None, - suffix: Optional[pulumi.Input[str]] = None): + exact: Optional[pulumi.Input[str]] = None): """ - :param pulumi.Input[str] exact: Exact host name to match on. - :param pulumi.Input[str] suffix: Specified ending characters of the host name to match on. + :param pulumi.Input[str] exact: Header value sent by the client must match the specified value exactly. """ if exact is not None: pulumi.set(__self__, "exact", exact) - if suffix is not None: - pulumi.set(__self__, "suffix", suffix) @property @pulumi.getter def exact(self) -> Optional[pulumi.Input[str]]: """ - Exact host name to match on. + Header value sent by the client must match the specified value exactly. """ return pulumi.get(self, "exact") @@ -1004,18 +1750,6 @@ def exact(self) -> Optional[pulumi.Input[str]]: def exact(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "exact", value) - @property - @pulumi.getter - def suffix(self) -> Optional[pulumi.Input[str]]: - """ - Specified ending characters of the host name to match on. - """ - return pulumi.get(self, "suffix") - - @suffix.setter - def suffix(self, value: Optional[pulumi.Input[str]]): - pulumi.set(self, "suffix", value) - @pulumi.input_type class MeshSpecArgs: @@ -1453,11 +2187,11 @@ def __init__(__self__, *, regex: Optional[pulumi.Input[str]] = None, suffix: Optional[pulumi.Input[str]] = None): """ - :param pulumi.Input[str] exact: Value sent by the client must match the specified value exactly. Must be between 1 and 255 characters in length. + :param pulumi.Input[str] exact: The exact path to match on. :param pulumi.Input[str] prefix: Value sent by the client must begin with the specified characters. Must be between 1 and 255 characters in length. This parameter must always start with /, which by itself matches all requests to the virtual router service name. :param pulumi.Input['RouteSpecGrpcRouteMatchMetadataMatchRangeArgs'] range: Object that specifies the range of numbers that the value sent by the client must be included in. - :param pulumi.Input[str] regex: Value sent by the client must include the specified characters. Must be between 1 and 255 characters in length. + :param pulumi.Input[str] regex: The regex used to match the path. :param pulumi.Input[str] suffix: Value sent by the client must end with the specified characters. Must be between 1 and 255 characters in length. """ if exact is not None: @@ -1475,7 +2209,7 @@ def __init__(__self__, *, @pulumi.getter def exact(self) -> Optional[pulumi.Input[str]]: """ - Value sent by the client must match the specified value exactly. Must be between 1 and 255 characters in length. + The exact path to match on. """ return pulumi.get(self, "exact") @@ -1512,7 +2246,7 @@ def range(self, value: Optional[pulumi.Input['RouteSpecGrpcRouteMatchMetadataMat @pulumi.getter def regex(self) -> Optional[pulumi.Input[str]]: """ - Value sent by the client must include the specified characters. Must be between 1 and 255 characters in length. + The regex used to match the path. """ return pulumi.get(self, "regex") @@ -1960,42 +2694,38 @@ def port(self, value: Optional[pulumi.Input[int]]): @pulumi.input_type class RouteSpecHttp2RouteMatchArgs: def __init__(__self__, *, - prefix: pulumi.Input[str], headers: Optional[pulumi.Input[Sequence[pulumi.Input['RouteSpecHttp2RouteMatchHeaderArgs']]]] = None, method: Optional[pulumi.Input[str]] = None, + path: Optional[pulumi.Input['RouteSpecHttp2RouteMatchPathArgs']] = None, port: Optional[pulumi.Input[int]] = None, + prefix: Optional[pulumi.Input[str]] = None, + query_parameters: Optional[pulumi.Input[Sequence[pulumi.Input['RouteSpecHttp2RouteMatchQueryParameterArgs']]]] = None, scheme: Optional[pulumi.Input[str]] = None): """ - :param pulumi.Input[str] prefix: Value sent by the client must begin with the specified characters. Must be between 1 and 255 characters in length. - This parameter must always start with /, which by itself matches all requests to the virtual router service name. :param pulumi.Input[Sequence[pulumi.Input['RouteSpecHttp2RouteMatchHeaderArgs']]] headers: Client request headers to match on. :param pulumi.Input[str] method: Client request header method to match on. Valid values: `GET`, `HEAD`, `POST`, `PUT`, `DELETE`, `CONNECT`, `OPTIONS`, `TRACE`, `PATCH`. + :param pulumi.Input['RouteSpecHttp2RouteMatchPathArgs'] path: Client request path to match on. :param pulumi.Input[int] port: The port number to match from the request. + :param pulumi.Input[str] prefix: Value sent by the client must begin with the specified characters. Must be between 1 and 255 characters in length. + This parameter must always start with /, which by itself matches all requests to the virtual router service name. + :param pulumi.Input[Sequence[pulumi.Input['RouteSpecHttp2RouteMatchQueryParameterArgs']]] query_parameters: Client request query parameters to match on. :param pulumi.Input[str] scheme: Client request header scheme to match on. Valid values: `http`, `https`. """ - pulumi.set(__self__, "prefix", prefix) if headers is not None: pulumi.set(__self__, "headers", headers) if method is not None: pulumi.set(__self__, "method", method) + if path is not None: + pulumi.set(__self__, "path", path) if port is not None: pulumi.set(__self__, "port", port) + if prefix is not None: + pulumi.set(__self__, "prefix", prefix) + if query_parameters is not None: + pulumi.set(__self__, "query_parameters", query_parameters) if scheme is not None: pulumi.set(__self__, "scheme", scheme) - @property - @pulumi.getter - def prefix(self) -> pulumi.Input[str]: - """ - Value sent by the client must begin with the specified characters. Must be between 1 and 255 characters in length. - This parameter must always start with /, which by itself matches all requests to the virtual router service name. - """ - return pulumi.get(self, "prefix") - - @prefix.setter - def prefix(self, value: pulumi.Input[str]): - pulumi.set(self, "prefix", value) - @property @pulumi.getter def headers(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['RouteSpecHttp2RouteMatchHeaderArgs']]]]: @@ -2016,21 +2746,58 @@ def method(self) -> Optional[pulumi.Input[str]]: """ return pulumi.get(self, "method") - @method.setter - def method(self, value: Optional[pulumi.Input[str]]): - pulumi.set(self, "method", value) + @method.setter + def method(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "method", value) + + @property + @pulumi.getter + def path(self) -> Optional[pulumi.Input['RouteSpecHttp2RouteMatchPathArgs']]: + """ + Client request path to match on. + """ + return pulumi.get(self, "path") + + @path.setter + def path(self, value: Optional[pulumi.Input['RouteSpecHttp2RouteMatchPathArgs']]): + pulumi.set(self, "path", value) + + @property + @pulumi.getter + def port(self) -> Optional[pulumi.Input[int]]: + """ + The port number to match from the request. + """ + return pulumi.get(self, "port") + + @port.setter + def port(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "port", value) + + @property + @pulumi.getter + def prefix(self) -> Optional[pulumi.Input[str]]: + """ + Value sent by the client must begin with the specified characters. Must be between 1 and 255 characters in length. + This parameter must always start with /, which by itself matches all requests to the virtual router service name. + """ + return pulumi.get(self, "prefix") + + @prefix.setter + def prefix(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "prefix", value) @property - @pulumi.getter - def port(self) -> Optional[pulumi.Input[int]]: + @pulumi.getter(name="queryParameters") + def query_parameters(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['RouteSpecHttp2RouteMatchQueryParameterArgs']]]]: """ - The port number to match from the request. + Client request query parameters to match on. """ - return pulumi.get(self, "port") + return pulumi.get(self, "query_parameters") - @port.setter - def port(self, value: Optional[pulumi.Input[int]]): - pulumi.set(self, "port", value) + @query_parameters.setter + def query_parameters(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['RouteSpecHttp2RouteMatchQueryParameterArgs']]]]): + pulumi.set(self, "query_parameters", value) @property @pulumi.getter @@ -2108,11 +2875,11 @@ def __init__(__self__, *, regex: Optional[pulumi.Input[str]] = None, suffix: Optional[pulumi.Input[str]] = None): """ - :param pulumi.Input[str] exact: Value sent by the client must match the specified value exactly. Must be between 1 and 255 characters in length. + :param pulumi.Input[str] exact: The exact path to match on. :param pulumi.Input[str] prefix: Value sent by the client must begin with the specified characters. Must be between 1 and 255 characters in length. This parameter must always start with /, which by itself matches all requests to the virtual router service name. :param pulumi.Input['RouteSpecHttp2RouteMatchHeaderMatchRangeArgs'] range: Object that specifies the range of numbers that the value sent by the client must be included in. - :param pulumi.Input[str] regex: Value sent by the client must include the specified characters. Must be between 1 and 255 characters in length. + :param pulumi.Input[str] regex: The regex used to match the path. :param pulumi.Input[str] suffix: Value sent by the client must end with the specified characters. Must be between 1 and 255 characters in length. """ if exact is not None: @@ -2130,7 +2897,7 @@ def __init__(__self__, *, @pulumi.getter def exact(self) -> Optional[pulumi.Input[str]]: """ - Value sent by the client must match the specified value exactly. Must be between 1 and 255 characters in length. + The exact path to match on. """ return pulumi.get(self, "exact") @@ -2167,7 +2934,7 @@ def range(self, value: Optional[pulumi.Input['RouteSpecHttp2RouteMatchHeaderMatc @pulumi.getter def regex(self) -> Optional[pulumi.Input[str]]: """ - Value sent by the client must include the specified characters. Must be between 1 and 255 characters in length. + The regex used to match the path. """ return pulumi.get(self, "regex") @@ -2225,6 +2992,106 @@ def start(self, value: pulumi.Input[int]): pulumi.set(self, "start", value) +@pulumi.input_type +class RouteSpecHttp2RouteMatchPathArgs: + def __init__(__self__, *, + exact: Optional[pulumi.Input[str]] = None, + regex: Optional[pulumi.Input[str]] = None): + """ + :param pulumi.Input[str] exact: Value sent by the client must match the specified value exactly. Must be between 1 and 255 characters in length. + :param pulumi.Input[str] regex: Value sent by the client must include the specified characters. Must be between 1 and 255 characters in length. + """ + if exact is not None: + pulumi.set(__self__, "exact", exact) + if regex is not None: + pulumi.set(__self__, "regex", regex) + + @property + @pulumi.getter + def exact(self) -> Optional[pulumi.Input[str]]: + """ + Value sent by the client must match the specified value exactly. Must be between 1 and 255 characters in length. + """ + return pulumi.get(self, "exact") + + @exact.setter + def exact(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "exact", value) + + @property + @pulumi.getter + def regex(self) -> Optional[pulumi.Input[str]]: + """ + Value sent by the client must include the specified characters. Must be between 1 and 255 characters in length. + """ + return pulumi.get(self, "regex") + + @regex.setter + def regex(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "regex", value) + + +@pulumi.input_type +class RouteSpecHttp2RouteMatchQueryParameterArgs: + def __init__(__self__, *, + name: pulumi.Input[str], + match: Optional[pulumi.Input['RouteSpecHttp2RouteMatchQueryParameterMatchArgs']] = None): + """ + :param pulumi.Input[str] name: Name to use for the route. Must be between 1 and 255 characters in length. + :param pulumi.Input['RouteSpecHttp2RouteMatchQueryParameterMatchArgs'] match: Criteria for determining an gRPC request match. + """ + pulumi.set(__self__, "name", name) + if match is not None: + pulumi.set(__self__, "match", match) + + @property + @pulumi.getter + def name(self) -> pulumi.Input[str]: + """ + Name to use for the route. Must be between 1 and 255 characters in length. + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: pulumi.Input[str]): + pulumi.set(self, "name", value) + + @property + @pulumi.getter + def match(self) -> Optional[pulumi.Input['RouteSpecHttp2RouteMatchQueryParameterMatchArgs']]: + """ + Criteria for determining an gRPC request match. + """ + return pulumi.get(self, "match") + + @match.setter + def match(self, value: Optional[pulumi.Input['RouteSpecHttp2RouteMatchQueryParameterMatchArgs']]): + pulumi.set(self, "match", value) + + +@pulumi.input_type +class RouteSpecHttp2RouteMatchQueryParameterMatchArgs: + def __init__(__self__, *, + exact: Optional[pulumi.Input[str]] = None): + """ + :param pulumi.Input[str] exact: The exact path to match on. + """ + if exact is not None: + pulumi.set(__self__, "exact", exact) + + @property + @pulumi.getter + def exact(self) -> Optional[pulumi.Input[str]]: + """ + The exact path to match on. + """ + return pulumi.get(self, "exact") + + @exact.setter + def exact(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "exact", value) + + @pulumi.input_type class RouteSpecHttp2RouteRetryPolicyArgs: def __init__(__self__, *, @@ -2597,42 +3464,38 @@ def port(self, value: Optional[pulumi.Input[int]]): @pulumi.input_type class RouteSpecHttpRouteMatchArgs: def __init__(__self__, *, - prefix: pulumi.Input[str], headers: Optional[pulumi.Input[Sequence[pulumi.Input['RouteSpecHttpRouteMatchHeaderArgs']]]] = None, method: Optional[pulumi.Input[str]] = None, + path: Optional[pulumi.Input['RouteSpecHttpRouteMatchPathArgs']] = None, port: Optional[pulumi.Input[int]] = None, + prefix: Optional[pulumi.Input[str]] = None, + query_parameters: Optional[pulumi.Input[Sequence[pulumi.Input['RouteSpecHttpRouteMatchQueryParameterArgs']]]] = None, scheme: Optional[pulumi.Input[str]] = None): """ - :param pulumi.Input[str] prefix: Value sent by the client must begin with the specified characters. Must be between 1 and 255 characters in length. - This parameter must always start with /, which by itself matches all requests to the virtual router service name. :param pulumi.Input[Sequence[pulumi.Input['RouteSpecHttpRouteMatchHeaderArgs']]] headers: Client request headers to match on. :param pulumi.Input[str] method: Client request header method to match on. Valid values: `GET`, `HEAD`, `POST`, `PUT`, `DELETE`, `CONNECT`, `OPTIONS`, `TRACE`, `PATCH`. + :param pulumi.Input['RouteSpecHttpRouteMatchPathArgs'] path: Client request path to match on. :param pulumi.Input[int] port: The port number to match from the request. + :param pulumi.Input[str] prefix: Value sent by the client must begin with the specified characters. Must be between 1 and 255 characters in length. + This parameter must always start with /, which by itself matches all requests to the virtual router service name. + :param pulumi.Input[Sequence[pulumi.Input['RouteSpecHttpRouteMatchQueryParameterArgs']]] query_parameters: Client request query parameters to match on. :param pulumi.Input[str] scheme: Client request header scheme to match on. Valid values: `http`, `https`. """ - pulumi.set(__self__, "prefix", prefix) if headers is not None: pulumi.set(__self__, "headers", headers) if method is not None: pulumi.set(__self__, "method", method) + if path is not None: + pulumi.set(__self__, "path", path) if port is not None: pulumi.set(__self__, "port", port) + if prefix is not None: + pulumi.set(__self__, "prefix", prefix) + if query_parameters is not None: + pulumi.set(__self__, "query_parameters", query_parameters) if scheme is not None: pulumi.set(__self__, "scheme", scheme) - @property - @pulumi.getter - def prefix(self) -> pulumi.Input[str]: - """ - Value sent by the client must begin with the specified characters. Must be between 1 and 255 characters in length. - This parameter must always start with /, which by itself matches all requests to the virtual router service name. - """ - return pulumi.get(self, "prefix") - - @prefix.setter - def prefix(self, value: pulumi.Input[str]): - pulumi.set(self, "prefix", value) - @property @pulumi.getter def headers(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['RouteSpecHttpRouteMatchHeaderArgs']]]]: @@ -2657,6 +3520,18 @@ def method(self) -> Optional[pulumi.Input[str]]: def method(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "method", value) + @property + @pulumi.getter + def path(self) -> Optional[pulumi.Input['RouteSpecHttpRouteMatchPathArgs']]: + """ + Client request path to match on. + """ + return pulumi.get(self, "path") + + @path.setter + def path(self, value: Optional[pulumi.Input['RouteSpecHttpRouteMatchPathArgs']]): + pulumi.set(self, "path", value) + @property @pulumi.getter def port(self) -> Optional[pulumi.Input[int]]: @@ -2669,6 +3544,31 @@ def port(self) -> Optional[pulumi.Input[int]]: def port(self, value: Optional[pulumi.Input[int]]): pulumi.set(self, "port", value) + @property + @pulumi.getter + def prefix(self) -> Optional[pulumi.Input[str]]: + """ + Value sent by the client must begin with the specified characters. Must be between 1 and 255 characters in length. + This parameter must always start with /, which by itself matches all requests to the virtual router service name. + """ + return pulumi.get(self, "prefix") + + @prefix.setter + def prefix(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "prefix", value) + + @property + @pulumi.getter(name="queryParameters") + def query_parameters(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['RouteSpecHttpRouteMatchQueryParameterArgs']]]]: + """ + Client request query parameters to match on. + """ + return pulumi.get(self, "query_parameters") + + @query_parameters.setter + def query_parameters(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['RouteSpecHttpRouteMatchQueryParameterArgs']]]]): + pulumi.set(self, "query_parameters", value) + @property @pulumi.getter def scheme(self) -> Optional[pulumi.Input[str]]: @@ -2745,11 +3645,11 @@ def __init__(__self__, *, regex: Optional[pulumi.Input[str]] = None, suffix: Optional[pulumi.Input[str]] = None): """ - :param pulumi.Input[str] exact: Value sent by the client must match the specified value exactly. Must be between 1 and 255 characters in length. + :param pulumi.Input[str] exact: The exact path to match on. :param pulumi.Input[str] prefix: Value sent by the client must begin with the specified characters. Must be between 1 and 255 characters in length. This parameter must always start with /, which by itself matches all requests to the virtual router service name. :param pulumi.Input['RouteSpecHttpRouteMatchHeaderMatchRangeArgs'] range: Object that specifies the range of numbers that the value sent by the client must be included in. - :param pulumi.Input[str] regex: Value sent by the client must include the specified characters. Must be between 1 and 255 characters in length. + :param pulumi.Input[str] regex: The regex used to match the path. :param pulumi.Input[str] suffix: Value sent by the client must end with the specified characters. Must be between 1 and 255 characters in length. """ if exact is not None: @@ -2767,7 +3667,7 @@ def __init__(__self__, *, @pulumi.getter def exact(self) -> Optional[pulumi.Input[str]]: """ - Value sent by the client must match the specified value exactly. Must be between 1 and 255 characters in length. + The exact path to match on. """ return pulumi.get(self, "exact") @@ -2804,7 +3704,7 @@ def range(self, value: Optional[pulumi.Input['RouteSpecHttpRouteMatchHeaderMatch @pulumi.getter def regex(self) -> Optional[pulumi.Input[str]]: """ - Value sent by the client must include the specified characters. Must be between 1 and 255 characters in length. + The regex used to match the path. """ return pulumi.get(self, "regex") @@ -2862,6 +3762,106 @@ def start(self, value: pulumi.Input[int]): pulumi.set(self, "start", value) +@pulumi.input_type +class RouteSpecHttpRouteMatchPathArgs: + def __init__(__self__, *, + exact: Optional[pulumi.Input[str]] = None, + regex: Optional[pulumi.Input[str]] = None): + """ + :param pulumi.Input[str] exact: Value sent by the client must match the specified value exactly. Must be between 1 and 255 characters in length. + :param pulumi.Input[str] regex: Value sent by the client must include the specified characters. Must be between 1 and 255 characters in length. + """ + if exact is not None: + pulumi.set(__self__, "exact", exact) + if regex is not None: + pulumi.set(__self__, "regex", regex) + + @property + @pulumi.getter + def exact(self) -> Optional[pulumi.Input[str]]: + """ + Value sent by the client must match the specified value exactly. Must be between 1 and 255 characters in length. + """ + return pulumi.get(self, "exact") + + @exact.setter + def exact(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "exact", value) + + @property + @pulumi.getter + def regex(self) -> Optional[pulumi.Input[str]]: + """ + Value sent by the client must include the specified characters. Must be between 1 and 255 characters in length. + """ + return pulumi.get(self, "regex") + + @regex.setter + def regex(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "regex", value) + + +@pulumi.input_type +class RouteSpecHttpRouteMatchQueryParameterArgs: + def __init__(__self__, *, + name: pulumi.Input[str], + match: Optional[pulumi.Input['RouteSpecHttpRouteMatchQueryParameterMatchArgs']] = None): + """ + :param pulumi.Input[str] name: Name to use for the route. Must be between 1 and 255 characters in length. + :param pulumi.Input['RouteSpecHttpRouteMatchQueryParameterMatchArgs'] match: Criteria for determining an gRPC request match. + """ + pulumi.set(__self__, "name", name) + if match is not None: + pulumi.set(__self__, "match", match) + + @property + @pulumi.getter + def name(self) -> pulumi.Input[str]: + """ + Name to use for the route. Must be between 1 and 255 characters in length. + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: pulumi.Input[str]): + pulumi.set(self, "name", value) + + @property + @pulumi.getter + def match(self) -> Optional[pulumi.Input['RouteSpecHttpRouteMatchQueryParameterMatchArgs']]: + """ + Criteria for determining an gRPC request match. + """ + return pulumi.get(self, "match") + + @match.setter + def match(self, value: Optional[pulumi.Input['RouteSpecHttpRouteMatchQueryParameterMatchArgs']]): + pulumi.set(self, "match", value) + + +@pulumi.input_type +class RouteSpecHttpRouteMatchQueryParameterMatchArgs: + def __init__(__self__, *, + exact: Optional[pulumi.Input[str]] = None): + """ + :param pulumi.Input[str] exact: The exact path to match on. + """ + if exact is not None: + pulumi.set(__self__, "exact", exact) + + @property + @pulumi.getter + def exact(self) -> Optional[pulumi.Input[str]]: + """ + The exact path to match on. + """ + return pulumi.get(self, "exact") + + @exact.setter + def exact(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "exact", value) + + @pulumi.input_type class RouteSpecHttpRouteRetryPolicyArgs: def __init__(__self__, *, @@ -7252,11 +8252,19 @@ def attributes(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str] @pulumi.input_type class VirtualNodeSpecServiceDiscoveryDnsArgs: def __init__(__self__, *, - hostname: pulumi.Input[str]): + hostname: pulumi.Input[str], + ip_preference: Optional[pulumi.Input[str]] = None, + response_type: Optional[pulumi.Input[str]] = None): """ :param pulumi.Input[str] hostname: DNS host name for your virtual node. + :param pulumi.Input[str] ip_preference: The preferred IP version that this virtual node uses. Valid values: `IPv6_PREFERRED`, `IPv4_PREFERRED`, `IPv4_ONLY`, `IPv6_ONLY`. + :param pulumi.Input[str] response_type: The DNS response type for the virtual node. Valid values: `LOADBALANCER`, `ENDPOINTS`. """ pulumi.set(__self__, "hostname", hostname) + if ip_preference is not None: + pulumi.set(__self__, "ip_preference", ip_preference) + if response_type is not None: + pulumi.set(__self__, "response_type", response_type) @property @pulumi.getter @@ -7270,20 +8278,45 @@ def hostname(self) -> pulumi.Input[str]: def hostname(self, value: pulumi.Input[str]): pulumi.set(self, "hostname", value) + @property + @pulumi.getter(name="ipPreference") + def ip_preference(self) -> Optional[pulumi.Input[str]]: + """ + The preferred IP version that this virtual node uses. Valid values: `IPv6_PREFERRED`, `IPv4_PREFERRED`, `IPv4_ONLY`, `IPv6_ONLY`. + """ + return pulumi.get(self, "ip_preference") + + @ip_preference.setter + def ip_preference(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "ip_preference", value) + + @property + @pulumi.getter(name="responseType") + def response_type(self) -> Optional[pulumi.Input[str]]: + """ + The DNS response type for the virtual node. Valid values: `LOADBALANCER`, `ENDPOINTS`. + """ + return pulumi.get(self, "response_type") + + @response_type.setter + def response_type(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "response_type", value) + @pulumi.input_type class VirtualRouterSpecArgs: def __init__(__self__, *, - listener: pulumi.Input['VirtualRouterSpecListenerArgs']): + listener: Optional[pulumi.Input['VirtualRouterSpecListenerArgs']] = None): """ :param pulumi.Input['VirtualRouterSpecListenerArgs'] listener: Listeners that the virtual router is expected to receive inbound traffic from. Currently only one listener is supported per virtual router. """ - pulumi.set(__self__, "listener", listener) + if listener is not None: + pulumi.set(__self__, "listener", listener) @property @pulumi.getter - def listener(self) -> pulumi.Input['VirtualRouterSpecListenerArgs']: + def listener(self) -> Optional[pulumi.Input['VirtualRouterSpecListenerArgs']]: """ Listeners that the virtual router is expected to receive inbound traffic from. Currently only one listener is supported per virtual router. @@ -7291,7 +8324,7 @@ def listener(self) -> pulumi.Input['VirtualRouterSpecListenerArgs']: return pulumi.get(self, "listener") @listener.setter - def listener(self, value: pulumi.Input['VirtualRouterSpecListenerArgs']): + def listener(self, value: Optional[pulumi.Input['VirtualRouterSpecListenerArgs']]): pulumi.set(self, "listener", value) diff --git a/sdk/python/pulumi_aws/appmesh/gateway_route.py b/sdk/python/pulumi_aws/appmesh/gateway_route.py index b88093700d6..88628441cd1 100644 --- a/sdk/python/pulumi_aws/appmesh/gateway_route.py +++ b/sdk/python/pulumi_aws/appmesh/gateway_route.py @@ -21,7 +21,8 @@ def __init__(__self__, *, virtual_gateway_name: pulumi.Input[str], mesh_owner: Optional[pulumi.Input[str]] = None, name: Optional[pulumi.Input[str]] = None, - tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None): + tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + tags_all: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None): """ The set of arguments for constructing a GatewayRoute resource. :param pulumi.Input[str] mesh_name: Name of the service mesh in which to create the gateway route. Must be between 1 and 255 characters in length. @@ -30,6 +31,7 @@ def __init__(__self__, *, :param pulumi.Input[str] mesh_owner: AWS account ID of the service mesh's owner. Defaults to the account ID the AWS provider is currently connected to. :param pulumi.Input[str] name: Name to use for the gateway route. Must be between 1 and 255 characters in length. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: Map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags_all: Map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. """ pulumi.set(__self__, "mesh_name", mesh_name) pulumi.set(__self__, "spec", spec) @@ -40,6 +42,8 @@ def __init__(__self__, *, pulumi.set(__self__, "name", name) if tags is not None: pulumi.set(__self__, "tags", tags) + if tags_all is not None: + pulumi.set(__self__, "tags_all", tags_all) @property @pulumi.getter(name="meshName") @@ -113,6 +117,18 @@ def tags(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: def tags(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): pulumi.set(self, "tags", value) + @property + @pulumi.getter(name="tagsAll") + def tags_all(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + """ + Map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. + """ + return pulumi.get(self, "tags_all") + + @tags_all.setter + def tags_all(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + pulumi.set(self, "tags_all", value) + @pulumi.input_type class _GatewayRouteState: @@ -308,6 +324,7 @@ def __init__(__self__, name: Optional[pulumi.Input[str]] = None, spec: Optional[pulumi.Input[pulumi.InputType['GatewayRouteSpecArgs']]] = None, tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + tags_all: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, virtual_gateway_name: Optional[pulumi.Input[str]] = None, __props__=None): """ @@ -356,6 +373,7 @@ def __init__(__self__, :param pulumi.Input[str] name: Name to use for the gateway route. Must be between 1 and 255 characters in length. :param pulumi.Input[pulumi.InputType['GatewayRouteSpecArgs']] spec: Gateway route specification to apply. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: Map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags_all: Map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. :param pulumi.Input[str] virtual_gateway_name: Name of the virtual gateway to associate the gateway route with. Must be between 1 and 255 characters in length. """ ... @@ -423,6 +441,7 @@ def _internal_init(__self__, name: Optional[pulumi.Input[str]] = None, spec: Optional[pulumi.Input[pulumi.InputType['GatewayRouteSpecArgs']]] = None, tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + tags_all: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, virtual_gateway_name: Optional[pulumi.Input[str]] = None, __props__=None): opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) @@ -442,6 +461,7 @@ def _internal_init(__self__, raise TypeError("Missing required property 'spec'") __props__.__dict__["spec"] = spec __props__.__dict__["tags"] = tags + __props__.__dict__["tags_all"] = tags_all if virtual_gateway_name is None and not opts.urn: raise TypeError("Missing required property 'virtual_gateway_name'") __props__.__dict__["virtual_gateway_name"] = virtual_gateway_name @@ -449,7 +469,6 @@ def _internal_init(__self__, __props__.__dict__["created_date"] = None __props__.__dict__["last_updated_date"] = None __props__.__dict__["resource_owner"] = None - __props__.__dict__["tags_all"] = None super(GatewayRoute, __self__).__init__( 'aws:appmesh/gatewayRoute:GatewayRoute', resource_name, diff --git a/sdk/python/pulumi_aws/appmesh/get_gateway_route.py b/sdk/python/pulumi_aws/appmesh/get_gateway_route.py new file mode 100644 index 00000000000..4c0f9ea5517 --- /dev/null +++ b/sdk/python/pulumi_aws/appmesh/get_gateway_route.py @@ -0,0 +1,234 @@ +# coding=utf-8 +# *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +from .. import _utilities +from . import outputs + +__all__ = [ + 'GetGatewayRouteResult', + 'AwaitableGetGatewayRouteResult', + 'get_gateway_route', + 'get_gateway_route_output', +] + +@pulumi.output_type +class GetGatewayRouteResult: + """ + A collection of values returned by getGatewayRoute. + """ + def __init__(__self__, arn=None, created_date=None, id=None, last_updated_date=None, mesh_name=None, mesh_owner=None, name=None, resource_owner=None, specs=None, tags=None, virtual_gateway_name=None): + if arn and not isinstance(arn, str): + raise TypeError("Expected argument 'arn' to be a str") + pulumi.set(__self__, "arn", arn) + if created_date and not isinstance(created_date, str): + raise TypeError("Expected argument 'created_date' to be a str") + pulumi.set(__self__, "created_date", created_date) + if id and not isinstance(id, str): + raise TypeError("Expected argument 'id' to be a str") + pulumi.set(__self__, "id", id) + if last_updated_date and not isinstance(last_updated_date, str): + raise TypeError("Expected argument 'last_updated_date' to be a str") + pulumi.set(__self__, "last_updated_date", last_updated_date) + if mesh_name and not isinstance(mesh_name, str): + raise TypeError("Expected argument 'mesh_name' to be a str") + pulumi.set(__self__, "mesh_name", mesh_name) + if mesh_owner and not isinstance(mesh_owner, str): + raise TypeError("Expected argument 'mesh_owner' to be a str") + pulumi.set(__self__, "mesh_owner", mesh_owner) + if name and not isinstance(name, str): + raise TypeError("Expected argument 'name' to be a str") + pulumi.set(__self__, "name", name) + if resource_owner and not isinstance(resource_owner, str): + raise TypeError("Expected argument 'resource_owner' to be a str") + pulumi.set(__self__, "resource_owner", resource_owner) + if specs and not isinstance(specs, list): + raise TypeError("Expected argument 'specs' to be a list") + pulumi.set(__self__, "specs", specs) + if tags and not isinstance(tags, dict): + raise TypeError("Expected argument 'tags' to be a dict") + pulumi.set(__self__, "tags", tags) + if virtual_gateway_name and not isinstance(virtual_gateway_name, str): + raise TypeError("Expected argument 'virtual_gateway_name' to be a str") + pulumi.set(__self__, "virtual_gateway_name", virtual_gateway_name) + + @property + @pulumi.getter + def arn(self) -> str: + """ + ARN of the gateway route. + """ + return pulumi.get(self, "arn") + + @property + @pulumi.getter(name="createdDate") + def created_date(self) -> str: + """ + Creation date of the gateway route. + """ + return pulumi.get(self, "created_date") + + @property + @pulumi.getter + def id(self) -> str: + """ + The provider-assigned unique ID for this managed resource. + """ + return pulumi.get(self, "id") + + @property + @pulumi.getter(name="lastUpdatedDate") + def last_updated_date(self) -> str: + """ + Last update date of the gateway route. + """ + return pulumi.get(self, "last_updated_date") + + @property + @pulumi.getter(name="meshName") + def mesh_name(self) -> str: + return pulumi.get(self, "mesh_name") + + @property + @pulumi.getter(name="meshOwner") + def mesh_owner(self) -> str: + return pulumi.get(self, "mesh_owner") + + @property + @pulumi.getter + def name(self) -> str: + return pulumi.get(self, "name") + + @property + @pulumi.getter(name="resourceOwner") + def resource_owner(self) -> str: + """ + Resource owner's AWS account ID. + """ + return pulumi.get(self, "resource_owner") + + @property + @pulumi.getter + def specs(self) -> Sequence['outputs.GetGatewayRouteSpecResult']: + """ + Gateway route specification. See the `appmesh.GatewayRoute` resource for details. + """ + return pulumi.get(self, "specs") + + @property + @pulumi.getter + def tags(self) -> Mapping[str, str]: + """ + Map of tags. + """ + return pulumi.get(self, "tags") + + @property + @pulumi.getter(name="virtualGatewayName") + def virtual_gateway_name(self) -> str: + return pulumi.get(self, "virtual_gateway_name") + + +class AwaitableGetGatewayRouteResult(GetGatewayRouteResult): + # pylint: disable=using-constant-test + def __await__(self): + if False: + yield self + return GetGatewayRouteResult( + arn=self.arn, + created_date=self.created_date, + id=self.id, + last_updated_date=self.last_updated_date, + mesh_name=self.mesh_name, + mesh_owner=self.mesh_owner, + name=self.name, + resource_owner=self.resource_owner, + specs=self.specs, + tags=self.tags, + virtual_gateway_name=self.virtual_gateway_name) + + +def get_gateway_route(mesh_name: Optional[str] = None, + mesh_owner: Optional[str] = None, + name: Optional[str] = None, + tags: Optional[Mapping[str, str]] = None, + virtual_gateway_name: Optional[str] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetGatewayRouteResult: + """ + 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. + + ## Example Usage + + ```python + import pulumi + import pulumi_aws as aws + + test = aws.appmesh.get_gateway_route(mesh_name="test-mesh", + name="test-route", + virtual_gateway_name="test-gateway") + ``` + + + :param str mesh_name: Name of the service mesh in which the virtual gateway exists. + :param str mesh_owner: AWS account ID of the service mesh's owner. + :param str name: Name of the gateway route. + :param Mapping[str, str] tags: Map of tags. + :param str virtual_gateway_name: Name of the virtual gateway in which the route exists. + """ + __args__ = dict() + __args__['meshName'] = mesh_name + __args__['meshOwner'] = mesh_owner + __args__['name'] = name + __args__['tags'] = tags + __args__['virtualGatewayName'] = virtual_gateway_name + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke('aws:appmesh/getGatewayRoute:getGatewayRoute', __args__, opts=opts, typ=GetGatewayRouteResult).value + + return AwaitableGetGatewayRouteResult( + arn=__ret__.arn, + created_date=__ret__.created_date, + id=__ret__.id, + last_updated_date=__ret__.last_updated_date, + mesh_name=__ret__.mesh_name, + mesh_owner=__ret__.mesh_owner, + name=__ret__.name, + resource_owner=__ret__.resource_owner, + specs=__ret__.specs, + tags=__ret__.tags, + virtual_gateway_name=__ret__.virtual_gateway_name) + + +@_utilities.lift_output_func(get_gateway_route) +def get_gateway_route_output(mesh_name: Optional[pulumi.Input[str]] = None, + mesh_owner: Optional[pulumi.Input[Optional[str]]] = None, + name: Optional[pulumi.Input[str]] = None, + tags: Optional[pulumi.Input[Optional[Mapping[str, str]]]] = None, + virtual_gateway_name: Optional[pulumi.Input[str]] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetGatewayRouteResult]: + """ + 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. + + ## Example Usage + + ```python + import pulumi + import pulumi_aws as aws + + test = aws.appmesh.get_gateway_route(mesh_name="test-mesh", + name="test-route", + virtual_gateway_name="test-gateway") + ``` + + + :param str mesh_name: Name of the service mesh in which the virtual gateway exists. + :param str mesh_owner: AWS account ID of the service mesh's owner. + :param str name: Name of the gateway route. + :param Mapping[str, str] tags: Map of tags. + :param str virtual_gateway_name: Name of the virtual gateway in which the route exists. + """ + ... diff --git a/sdk/python/pulumi_aws/appmesh/get_mesh.py b/sdk/python/pulumi_aws/appmesh/get_mesh.py index cf9a4161d71..c4a07a060ab 100644 --- a/sdk/python/pulumi_aws/appmesh/get_mesh.py +++ b/sdk/python/pulumi_aws/appmesh/get_mesh.py @@ -105,7 +105,7 @@ def resource_owner(self) -> str: @pulumi.getter def specs(self) -> Sequence['outputs.GetMeshSpecResult']: """ - Service mesh specification. + Service mesh specification. See the `appmesh.Mesh` resource for details. """ return pulumi.get(self, "specs") diff --git a/sdk/python/pulumi_aws/appmesh/get_route.py b/sdk/python/pulumi_aws/appmesh/get_route.py index 655651bca3b..0814ed1e4bb 100644 --- a/sdk/python/pulumi_aws/appmesh/get_route.py +++ b/sdk/python/pulumi_aws/appmesh/get_route.py @@ -116,7 +116,7 @@ def resource_owner(self) -> str: @pulumi.getter def specs(self) -> Sequence['outputs.GetRouteSpecResult']: """ - Route specification + Route specification. See the `appmesh.Route` resource for details. """ return pulumi.get(self, "specs") diff --git a/sdk/python/pulumi_aws/appmesh/get_virtual_gateway.py b/sdk/python/pulumi_aws/appmesh/get_virtual_gateway.py index 80e46051cee..27dbdda0b30 100644 --- a/sdk/python/pulumi_aws/appmesh/get_virtual_gateway.py +++ b/sdk/python/pulumi_aws/appmesh/get_virtual_gateway.py @@ -113,7 +113,7 @@ def resource_owner(self) -> str: @pulumi.getter def specs(self) -> Sequence['outputs.GetVirtualGatewaySpecResult']: """ - Virtual gateway specification + Virtual gateway specification. See the `appmesh.VirtualGateway` resource for details. """ return pulumi.get(self, "specs") diff --git a/sdk/python/pulumi_aws/appmesh/get_virtual_node.py b/sdk/python/pulumi_aws/appmesh/get_virtual_node.py new file mode 100644 index 00000000000..dd6524452ef --- /dev/null +++ b/sdk/python/pulumi_aws/appmesh/get_virtual_node.py @@ -0,0 +1,217 @@ +# coding=utf-8 +# *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +from .. import _utilities +from . import outputs + +__all__ = [ + 'GetVirtualNodeResult', + 'AwaitableGetVirtualNodeResult', + 'get_virtual_node', + 'get_virtual_node_output', +] + +@pulumi.output_type +class GetVirtualNodeResult: + """ + A collection of values returned by getVirtualNode. + """ + def __init__(__self__, arn=None, created_date=None, id=None, last_updated_date=None, mesh_name=None, mesh_owner=None, name=None, resource_owner=None, specs=None, tags=None): + if arn and not isinstance(arn, str): + raise TypeError("Expected argument 'arn' to be a str") + pulumi.set(__self__, "arn", arn) + if created_date and not isinstance(created_date, str): + raise TypeError("Expected argument 'created_date' to be a str") + pulumi.set(__self__, "created_date", created_date) + if id and not isinstance(id, str): + raise TypeError("Expected argument 'id' to be a str") + pulumi.set(__self__, "id", id) + if last_updated_date and not isinstance(last_updated_date, str): + raise TypeError("Expected argument 'last_updated_date' to be a str") + pulumi.set(__self__, "last_updated_date", last_updated_date) + if mesh_name and not isinstance(mesh_name, str): + raise TypeError("Expected argument 'mesh_name' to be a str") + pulumi.set(__self__, "mesh_name", mesh_name) + if mesh_owner and not isinstance(mesh_owner, str): + raise TypeError("Expected argument 'mesh_owner' to be a str") + pulumi.set(__self__, "mesh_owner", mesh_owner) + if name and not isinstance(name, str): + raise TypeError("Expected argument 'name' to be a str") + pulumi.set(__self__, "name", name) + if resource_owner and not isinstance(resource_owner, str): + raise TypeError("Expected argument 'resource_owner' to be a str") + pulumi.set(__self__, "resource_owner", resource_owner) + if specs and not isinstance(specs, list): + raise TypeError("Expected argument 'specs' to be a list") + pulumi.set(__self__, "specs", specs) + if tags and not isinstance(tags, dict): + raise TypeError("Expected argument 'tags' to be a dict") + pulumi.set(__self__, "tags", tags) + + @property + @pulumi.getter + def arn(self) -> str: + """ + ARN of the virtual node. + """ + return pulumi.get(self, "arn") + + @property + @pulumi.getter(name="createdDate") + def created_date(self) -> str: + """ + Creation date of the virtual node. + """ + return pulumi.get(self, "created_date") + + @property + @pulumi.getter + def id(self) -> str: + """ + The provider-assigned unique ID for this managed resource. + """ + return pulumi.get(self, "id") + + @property + @pulumi.getter(name="lastUpdatedDate") + def last_updated_date(self) -> str: + """ + Last update date of the virtual node. + """ + return pulumi.get(self, "last_updated_date") + + @property + @pulumi.getter(name="meshName") + def mesh_name(self) -> str: + return pulumi.get(self, "mesh_name") + + @property + @pulumi.getter(name="meshOwner") + def mesh_owner(self) -> str: + return pulumi.get(self, "mesh_owner") + + @property + @pulumi.getter + def name(self) -> str: + return pulumi.get(self, "name") + + @property + @pulumi.getter(name="resourceOwner") + def resource_owner(self) -> str: + """ + Resource owner's AWS account ID. + """ + return pulumi.get(self, "resource_owner") + + @property + @pulumi.getter + def specs(self) -> Sequence['outputs.GetVirtualNodeSpecResult']: + """ + Virtual node specification. See the `appmesh.VirtualNode` resource for details. + """ + return pulumi.get(self, "specs") + + @property + @pulumi.getter + def tags(self) -> Mapping[str, str]: + """ + Map of tags. + """ + return pulumi.get(self, "tags") + + +class AwaitableGetVirtualNodeResult(GetVirtualNodeResult): + # pylint: disable=using-constant-test + def __await__(self): + if False: + yield self + return GetVirtualNodeResult( + arn=self.arn, + created_date=self.created_date, + id=self.id, + last_updated_date=self.last_updated_date, + mesh_name=self.mesh_name, + mesh_owner=self.mesh_owner, + name=self.name, + resource_owner=self.resource_owner, + specs=self.specs, + tags=self.tags) + + +def get_virtual_node(mesh_name: Optional[str] = None, + mesh_owner: Optional[str] = None, + name: Optional[str] = None, + tags: Optional[Mapping[str, str]] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetVirtualNodeResult: + """ + Data source for managing an AWS App Mesh Virtual Node. + + ## Example Usage + + ```python + import pulumi + import pulumi_aws as aws + + test = aws.appmesh.get_virtual_node(mesh_name="example-mesh", + name="serviceBv1") + ``` + + + :param str mesh_name: Name of the service mesh in which the virtual node exists. + :param str mesh_owner: AWS account ID of the service mesh's owner. + :param str name: Name of the virtual node. + :param Mapping[str, str] tags: Map of tags. + """ + __args__ = dict() + __args__['meshName'] = mesh_name + __args__['meshOwner'] = mesh_owner + __args__['name'] = name + __args__['tags'] = tags + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke('aws:appmesh/getVirtualNode:getVirtualNode', __args__, opts=opts, typ=GetVirtualNodeResult).value + + return AwaitableGetVirtualNodeResult( + arn=__ret__.arn, + created_date=__ret__.created_date, + id=__ret__.id, + last_updated_date=__ret__.last_updated_date, + mesh_name=__ret__.mesh_name, + mesh_owner=__ret__.mesh_owner, + name=__ret__.name, + resource_owner=__ret__.resource_owner, + specs=__ret__.specs, + tags=__ret__.tags) + + +@_utilities.lift_output_func(get_virtual_node) +def get_virtual_node_output(mesh_name: Optional[pulumi.Input[str]] = None, + mesh_owner: Optional[pulumi.Input[Optional[str]]] = None, + name: Optional[pulumi.Input[str]] = None, + tags: Optional[pulumi.Input[Optional[Mapping[str, str]]]] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetVirtualNodeResult]: + """ + Data source for managing an AWS App Mesh Virtual Node. + + ## Example Usage + + ```python + import pulumi + import pulumi_aws as aws + + test = aws.appmesh.get_virtual_node(mesh_name="example-mesh", + name="serviceBv1") + ``` + + + :param str mesh_name: Name of the service mesh in which the virtual node exists. + :param str mesh_owner: AWS account ID of the service mesh's owner. + :param str name: Name of the virtual node. + :param Mapping[str, str] tags: Map of tags. + """ + ... diff --git a/sdk/python/pulumi_aws/appmesh/get_virtual_router.py b/sdk/python/pulumi_aws/appmesh/get_virtual_router.py new file mode 100644 index 00000000000..314d20655ef --- /dev/null +++ b/sdk/python/pulumi_aws/appmesh/get_virtual_router.py @@ -0,0 +1,215 @@ +# coding=utf-8 +# *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +from .. import _utilities +from . import outputs + +__all__ = [ + 'GetVirtualRouterResult', + 'AwaitableGetVirtualRouterResult', + 'get_virtual_router', + 'get_virtual_router_output', +] + +@pulumi.output_type +class GetVirtualRouterResult: + """ + A collection of values returned by getVirtualRouter. + """ + def __init__(__self__, arn=None, created_date=None, id=None, last_updated_date=None, mesh_name=None, mesh_owner=None, name=None, resource_owner=None, specs=None, tags=None): + if arn and not isinstance(arn, str): + raise TypeError("Expected argument 'arn' to be a str") + pulumi.set(__self__, "arn", arn) + if created_date and not isinstance(created_date, str): + raise TypeError("Expected argument 'created_date' to be a str") + pulumi.set(__self__, "created_date", created_date) + if id and not isinstance(id, str): + raise TypeError("Expected argument 'id' to be a str") + pulumi.set(__self__, "id", id) + if last_updated_date and not isinstance(last_updated_date, str): + raise TypeError("Expected argument 'last_updated_date' to be a str") + pulumi.set(__self__, "last_updated_date", last_updated_date) + if mesh_name and not isinstance(mesh_name, str): + raise TypeError("Expected argument 'mesh_name' to be a str") + pulumi.set(__self__, "mesh_name", mesh_name) + if mesh_owner and not isinstance(mesh_owner, str): + raise TypeError("Expected argument 'mesh_owner' to be a str") + pulumi.set(__self__, "mesh_owner", mesh_owner) + if name and not isinstance(name, str): + raise TypeError("Expected argument 'name' to be a str") + pulumi.set(__self__, "name", name) + if resource_owner and not isinstance(resource_owner, str): + raise TypeError("Expected argument 'resource_owner' to be a str") + pulumi.set(__self__, "resource_owner", resource_owner) + if specs and not isinstance(specs, list): + raise TypeError("Expected argument 'specs' to be a list") + pulumi.set(__self__, "specs", specs) + if tags and not isinstance(tags, dict): + raise TypeError("Expected argument 'tags' to be a dict") + pulumi.set(__self__, "tags", tags) + + @property + @pulumi.getter + def arn(self) -> str: + """ + ARN of the virtual router. + """ + return pulumi.get(self, "arn") + + @property + @pulumi.getter(name="createdDate") + def created_date(self) -> str: + """ + Creation date of the virtual router. + """ + return pulumi.get(self, "created_date") + + @property + @pulumi.getter + def id(self) -> str: + """ + The provider-assigned unique ID for this managed resource. + """ + return pulumi.get(self, "id") + + @property + @pulumi.getter(name="lastUpdatedDate") + def last_updated_date(self) -> str: + """ + Last update date of the virtual router. + """ + return pulumi.get(self, "last_updated_date") + + @property + @pulumi.getter(name="meshName") + def mesh_name(self) -> str: + return pulumi.get(self, "mesh_name") + + @property + @pulumi.getter(name="meshOwner") + def mesh_owner(self) -> str: + return pulumi.get(self, "mesh_owner") + + @property + @pulumi.getter + def name(self) -> str: + return pulumi.get(self, "name") + + @property + @pulumi.getter(name="resourceOwner") + def resource_owner(self) -> str: + """ + Resource owner's AWS account ID. + """ + return pulumi.get(self, "resource_owner") + + @property + @pulumi.getter + def specs(self) -> Sequence['outputs.GetVirtualRouterSpecResult']: + """ + Virtual routers specification. See the `appmesh.VirtualRouter` resource for details. + """ + return pulumi.get(self, "specs") + + @property + @pulumi.getter + def tags(self) -> Mapping[str, str]: + """ + Map of tags. + """ + return pulumi.get(self, "tags") + + +class AwaitableGetVirtualRouterResult(GetVirtualRouterResult): + # pylint: disable=using-constant-test + def __await__(self): + if False: + yield self + return GetVirtualRouterResult( + arn=self.arn, + created_date=self.created_date, + id=self.id, + last_updated_date=self.last_updated_date, + mesh_name=self.mesh_name, + mesh_owner=self.mesh_owner, + name=self.name, + resource_owner=self.resource_owner, + specs=self.specs, + tags=self.tags) + + +def get_virtual_router(mesh_name: Optional[str] = None, + mesh_owner: Optional[str] = None, + name: Optional[str] = None, + tags: Optional[Mapping[str, str]] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetVirtualRouterResult: + """ + The App Mesh Virtual Router data source allows details of an App Mesh Virtual Service to be retrieved by its name and mesh_name. + + ## Example Usage + + ```python + import pulumi + import pulumi_aws as aws + + test = aws.appmesh.get_virtual_router(mesh_name="example-mesh-name", + name="example-router-name") + ``` + + + :param str mesh_name: Name of the mesh in which the virtual router exists + :param str name: Name of the virtual router. + :param Mapping[str, str] tags: Map of tags. + """ + __args__ = dict() + __args__['meshName'] = mesh_name + __args__['meshOwner'] = mesh_owner + __args__['name'] = name + __args__['tags'] = tags + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke('aws:appmesh/getVirtualRouter:getVirtualRouter', __args__, opts=opts, typ=GetVirtualRouterResult).value + + return AwaitableGetVirtualRouterResult( + arn=__ret__.arn, + created_date=__ret__.created_date, + id=__ret__.id, + last_updated_date=__ret__.last_updated_date, + mesh_name=__ret__.mesh_name, + mesh_owner=__ret__.mesh_owner, + name=__ret__.name, + resource_owner=__ret__.resource_owner, + specs=__ret__.specs, + tags=__ret__.tags) + + +@_utilities.lift_output_func(get_virtual_router) +def get_virtual_router_output(mesh_name: Optional[pulumi.Input[str]] = None, + mesh_owner: Optional[pulumi.Input[Optional[str]]] = None, + name: Optional[pulumi.Input[str]] = None, + tags: Optional[pulumi.Input[Optional[Mapping[str, str]]]] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetVirtualRouterResult]: + """ + The App Mesh Virtual Router data source allows details of an App Mesh Virtual Service to be retrieved by its name and mesh_name. + + ## Example Usage + + ```python + import pulumi + import pulumi_aws as aws + + test = aws.appmesh.get_virtual_router(mesh_name="example-mesh-name", + name="example-router-name") + ``` + + + :param str mesh_name: Name of the mesh in which the virtual router exists + :param str name: Name of the virtual router. + :param Mapping[str, str] tags: Map of tags. + """ + ... diff --git a/sdk/python/pulumi_aws/appmesh/get_virtual_service.py b/sdk/python/pulumi_aws/appmesh/get_virtual_service.py index 2c08e68a0ab..71ab37ce21e 100644 --- a/sdk/python/pulumi_aws/appmesh/get_virtual_service.py +++ b/sdk/python/pulumi_aws/appmesh/get_virtual_service.py @@ -113,7 +113,7 @@ def resource_owner(self) -> str: @pulumi.getter def specs(self) -> Sequence['outputs.GetVirtualServiceSpecResult']: """ - Virtual service specification + Virtual service specification. See the `appmesh.VirtualService` resource for details. """ return pulumi.get(self, "specs") diff --git a/sdk/python/pulumi_aws/appmesh/outputs.py b/sdk/python/pulumi_aws/appmesh/outputs.py index 62f069e2f7f..09e6197ccdc 100644 --- a/sdk/python/pulumi_aws/appmesh/outputs.py +++ b/sdk/python/pulumi_aws/appmesh/outputs.py @@ -25,7 +25,13 @@ 'GatewayRouteSpecHttp2RouteActionTarget', 'GatewayRouteSpecHttp2RouteActionTargetVirtualService', 'GatewayRouteSpecHttp2RouteMatch', + 'GatewayRouteSpecHttp2RouteMatchHeader', + 'GatewayRouteSpecHttp2RouteMatchHeaderMatch', + 'GatewayRouteSpecHttp2RouteMatchHeaderMatchRange', 'GatewayRouteSpecHttp2RouteMatchHostname', + 'GatewayRouteSpecHttp2RouteMatchPath', + 'GatewayRouteSpecHttp2RouteMatchQueryParameter', + 'GatewayRouteSpecHttp2RouteMatchQueryParameterMatch', 'GatewayRouteSpecHttpRoute', 'GatewayRouteSpecHttpRouteAction', 'GatewayRouteSpecHttpRouteActionRewrite', @@ -34,7 +40,13 @@ 'GatewayRouteSpecHttpRouteActionTarget', 'GatewayRouteSpecHttpRouteActionTargetVirtualService', 'GatewayRouteSpecHttpRouteMatch', + 'GatewayRouteSpecHttpRouteMatchHeader', + 'GatewayRouteSpecHttpRouteMatchHeaderMatch', + 'GatewayRouteSpecHttpRouteMatchHeaderMatchRange', 'GatewayRouteSpecHttpRouteMatchHostname', + 'GatewayRouteSpecHttpRouteMatchPath', + 'GatewayRouteSpecHttpRouteMatchQueryParameter', + 'GatewayRouteSpecHttpRouteMatchQueryParameterMatch', 'MeshSpec', 'MeshSpecEgressFilter', 'RouteSpec', @@ -57,6 +69,9 @@ 'RouteSpecHttp2RouteMatchHeader', 'RouteSpecHttp2RouteMatchHeaderMatch', 'RouteSpecHttp2RouteMatchHeaderMatchRange', + 'RouteSpecHttp2RouteMatchPath', + 'RouteSpecHttp2RouteMatchQueryParameter', + 'RouteSpecHttp2RouteMatchQueryParameterMatch', 'RouteSpecHttp2RouteRetryPolicy', 'RouteSpecHttp2RouteRetryPolicyPerRetryTimeout', 'RouteSpecHttp2RouteTimeout', @@ -69,6 +84,9 @@ 'RouteSpecHttpRouteMatchHeader', 'RouteSpecHttpRouteMatchHeaderMatch', 'RouteSpecHttpRouteMatchHeaderMatchRange', + 'RouteSpecHttpRouteMatchPath', + 'RouteSpecHttpRouteMatchQueryParameter', + 'RouteSpecHttpRouteMatchQueryParameterMatch', 'RouteSpecHttpRouteRetryPolicy', 'RouteSpecHttpRouteRetryPolicyPerRetryTimeout', 'RouteSpecHttpRouteTimeout', @@ -194,6 +212,42 @@ 'VirtualServiceSpecProvider', 'VirtualServiceSpecProviderVirtualNode', 'VirtualServiceSpecProviderVirtualRouter', + 'GetGatewayRouteSpecResult', + 'GetGatewayRouteSpecGrpcRouteResult', + 'GetGatewayRouteSpecGrpcRouteActionResult', + 'GetGatewayRouteSpecGrpcRouteActionTargetResult', + 'GetGatewayRouteSpecGrpcRouteActionTargetVirtualServiceResult', + 'GetGatewayRouteSpecGrpcRouteMatchResult', + 'GetGatewayRouteSpecHttp2RouteResult', + 'GetGatewayRouteSpecHttp2RouteActionResult', + 'GetGatewayRouteSpecHttp2RouteActionRewriteResult', + 'GetGatewayRouteSpecHttp2RouteActionRewriteHostnameResult', + 'GetGatewayRouteSpecHttp2RouteActionRewritePrefixResult', + 'GetGatewayRouteSpecHttp2RouteActionTargetResult', + 'GetGatewayRouteSpecHttp2RouteActionTargetVirtualServiceResult', + 'GetGatewayRouteSpecHttp2RouteMatchResult', + 'GetGatewayRouteSpecHttp2RouteMatchHeaderResult', + 'GetGatewayRouteSpecHttp2RouteMatchHeaderMatchResult', + 'GetGatewayRouteSpecHttp2RouteMatchHeaderMatchRangeResult', + 'GetGatewayRouteSpecHttp2RouteMatchHostnameResult', + 'GetGatewayRouteSpecHttp2RouteMatchPathResult', + 'GetGatewayRouteSpecHttp2RouteMatchQueryParameterResult', + 'GetGatewayRouteSpecHttp2RouteMatchQueryParameterMatchResult', + 'GetGatewayRouteSpecHttpRouteResult', + 'GetGatewayRouteSpecHttpRouteActionResult', + 'GetGatewayRouteSpecHttpRouteActionRewriteResult', + 'GetGatewayRouteSpecHttpRouteActionRewriteHostnameResult', + 'GetGatewayRouteSpecHttpRouteActionRewritePrefixResult', + 'GetGatewayRouteSpecHttpRouteActionTargetResult', + 'GetGatewayRouteSpecHttpRouteActionTargetVirtualServiceResult', + 'GetGatewayRouteSpecHttpRouteMatchResult', + 'GetGatewayRouteSpecHttpRouteMatchHeaderResult', + 'GetGatewayRouteSpecHttpRouteMatchHeaderMatchResult', + 'GetGatewayRouteSpecHttpRouteMatchHeaderMatchRangeResult', + 'GetGatewayRouteSpecHttpRouteMatchHostnameResult', + 'GetGatewayRouteSpecHttpRouteMatchPathResult', + 'GetGatewayRouteSpecHttpRouteMatchQueryParameterResult', + 'GetGatewayRouteSpecHttpRouteMatchQueryParameterMatchResult', 'GetMeshSpecResult', 'GetMeshSpecEgressFilterResult', 'GetRouteSpecResult', @@ -216,6 +270,9 @@ 'GetRouteSpecHttp2RouteMatchHeaderResult', 'GetRouteSpecHttp2RouteMatchHeaderMatchResult', 'GetRouteSpecHttp2RouteMatchHeaderMatchRangeResult', + 'GetRouteSpecHttp2RouteMatchPathResult', + 'GetRouteSpecHttp2RouteMatchQueryParameterResult', + 'GetRouteSpecHttp2RouteMatchQueryParameterMatchResult', 'GetRouteSpecHttp2RouteRetryPolicyResult', 'GetRouteSpecHttp2RouteRetryPolicyPerRetryTimeoutResult', 'GetRouteSpecHttp2RouteTimeoutResult', @@ -228,6 +285,9 @@ 'GetRouteSpecHttpRouteMatchHeaderResult', 'GetRouteSpecHttpRouteMatchHeaderMatchResult', 'GetRouteSpecHttpRouteMatchHeaderMatchRangeResult', + 'GetRouteSpecHttpRouteMatchPathResult', + 'GetRouteSpecHttpRouteMatchQueryParameterResult', + 'GetRouteSpecHttpRouteMatchQueryParameterMatchResult', 'GetRouteSpecHttpRouteRetryPolicyResult', 'GetRouteSpecHttpRouteRetryPolicyPerRetryTimeoutResult', 'GetRouteSpecHttpRouteTimeoutResult', @@ -276,6 +336,79 @@ 'GetVirtualGatewaySpecLoggingAccessLogFileResult', 'GetVirtualGatewaySpecLoggingAccessLogFileFormatResult', 'GetVirtualGatewaySpecLoggingAccessLogFileFormatJsonResult', + 'GetVirtualNodeSpecResult', + 'GetVirtualNodeSpecBackendResult', + 'GetVirtualNodeSpecBackendDefaultResult', + 'GetVirtualNodeSpecBackendDefaultClientPolicyResult', + 'GetVirtualNodeSpecBackendDefaultClientPolicyTlResult', + 'GetVirtualNodeSpecBackendDefaultClientPolicyTlCertificateResult', + 'GetVirtualNodeSpecBackendDefaultClientPolicyTlCertificateFileResult', + 'GetVirtualNodeSpecBackendDefaultClientPolicyTlCertificateSdResult', + 'GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationResult', + 'GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameResult', + 'GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameMatchResult', + 'GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustResult', + 'GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustAcmResult', + 'GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustFileResult', + 'GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustSdResult', + 'GetVirtualNodeSpecBackendVirtualServiceResult', + 'GetVirtualNodeSpecBackendVirtualServiceClientPolicyResult', + 'GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlResult', + 'GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlCertificateResult', + 'GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlCertificateFileResult', + 'GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlCertificateSdResult', + 'GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationResult', + 'GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationSubjectAlternativeNameResult', + 'GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationSubjectAlternativeNameMatchResult', + 'GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustResult', + 'GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustAcmResult', + 'GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustFileResult', + 'GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustSdResult', + 'GetVirtualNodeSpecListenerResult', + 'GetVirtualNodeSpecListenerConnectionPoolResult', + 'GetVirtualNodeSpecListenerConnectionPoolGrpcResult', + 'GetVirtualNodeSpecListenerConnectionPoolHttp2Result', + 'GetVirtualNodeSpecListenerConnectionPoolHttpResult', + 'GetVirtualNodeSpecListenerConnectionPoolTcpResult', + 'GetVirtualNodeSpecListenerHealthCheckResult', + 'GetVirtualNodeSpecListenerOutlierDetectionResult', + 'GetVirtualNodeSpecListenerOutlierDetectionBaseEjectionDurationResult', + 'GetVirtualNodeSpecListenerOutlierDetectionIntervalResult', + 'GetVirtualNodeSpecListenerPortMappingResult', + 'GetVirtualNodeSpecListenerTimeoutResult', + 'GetVirtualNodeSpecListenerTimeoutGrpcResult', + 'GetVirtualNodeSpecListenerTimeoutGrpcIdleResult', + 'GetVirtualNodeSpecListenerTimeoutGrpcPerRequestResult', + 'GetVirtualNodeSpecListenerTimeoutHttp2Result', + 'GetVirtualNodeSpecListenerTimeoutHttp2IdleResult', + 'GetVirtualNodeSpecListenerTimeoutHttp2PerRequestResult', + 'GetVirtualNodeSpecListenerTimeoutHttpResult', + 'GetVirtualNodeSpecListenerTimeoutHttpIdleResult', + 'GetVirtualNodeSpecListenerTimeoutHttpPerRequestResult', + 'GetVirtualNodeSpecListenerTimeoutTcpResult', + 'GetVirtualNodeSpecListenerTimeoutTcpIdleResult', + 'GetVirtualNodeSpecListenerTlResult', + 'GetVirtualNodeSpecListenerTlCertificateResult', + 'GetVirtualNodeSpecListenerTlCertificateAcmResult', + 'GetVirtualNodeSpecListenerTlCertificateFileResult', + 'GetVirtualNodeSpecListenerTlCertificateSdResult', + 'GetVirtualNodeSpecListenerTlValidationResult', + 'GetVirtualNodeSpecListenerTlValidationSubjectAlternativeNameResult', + 'GetVirtualNodeSpecListenerTlValidationSubjectAlternativeNameMatchResult', + 'GetVirtualNodeSpecListenerTlValidationTrustResult', + 'GetVirtualNodeSpecListenerTlValidationTrustFileResult', + 'GetVirtualNodeSpecListenerTlValidationTrustSdResult', + 'GetVirtualNodeSpecLoggingResult', + 'GetVirtualNodeSpecLoggingAccessLogResult', + 'GetVirtualNodeSpecLoggingAccessLogFileResult', + 'GetVirtualNodeSpecLoggingAccessLogFileFormatResult', + 'GetVirtualNodeSpecLoggingAccessLogFileFormatJsonResult', + 'GetVirtualNodeSpecServiceDiscoveryResult', + 'GetVirtualNodeSpecServiceDiscoveryAwsCloudMapResult', + 'GetVirtualNodeSpecServiceDiscoveryDnResult', + 'GetVirtualRouterSpecResult', + 'GetVirtualRouterSpecListenerResult', + 'GetVirtualRouterSpecListenerPortMappingResult', 'GetVirtualServiceSpecResult', 'GetVirtualServiceSpecProviderResult', 'GetVirtualServiceSpecProviderVirtualNodeResult', @@ -308,11 +441,13 @@ def get(self, key: str, default = None) -> Any: def __init__(__self__, *, grpc_route: Optional['outputs.GatewayRouteSpecGrpcRoute'] = None, http2_route: Optional['outputs.GatewayRouteSpecHttp2Route'] = None, - http_route: Optional['outputs.GatewayRouteSpecHttpRoute'] = None): + http_route: Optional['outputs.GatewayRouteSpecHttpRoute'] = None, + priority: Optional[int] = None): """ :param 'GatewayRouteSpecGrpcRouteArgs' grpc_route: Specification of a gRPC gateway route. :param 'GatewayRouteSpecHttp2RouteArgs' http2_route: Specification of an HTTP/2 gateway route. :param 'GatewayRouteSpecHttpRouteArgs' http_route: Specification of an HTTP gateway route. + :param int priority: Priority for the gateway route, between `0` and `1000`. """ if grpc_route is not None: pulumi.set(__self__, "grpc_route", grpc_route) @@ -320,6 +455,8 @@ def __init__(__self__, *, pulumi.set(__self__, "http2_route", http2_route) if http_route is not None: pulumi.set(__self__, "http_route", http_route) + if priority is not None: + pulumi.set(__self__, "priority", priority) @property @pulumi.getter(name="grpcRoute") @@ -345,6 +482,14 @@ def http_route(self) -> Optional['outputs.GatewayRouteSpecHttpRoute']: """ return pulumi.get(self, "http_route") + @property + @pulumi.getter + def priority(self) -> Optional[int]: + """ + Priority for the gateway route, between `0` and `1000`. + """ + return pulumi.get(self, "priority") + @pulumi.output_type class GatewayRouteSpecGrpcRoute(dict): @@ -413,11 +558,15 @@ def get(self, key: str, default = None) -> Any: return super().get(key, default) def __init__(__self__, *, - virtual_service: 'outputs.GatewayRouteSpecGrpcRouteActionTargetVirtualService'): + virtual_service: 'outputs.GatewayRouteSpecGrpcRouteActionTargetVirtualService', + port: Optional[int] = None): """ :param 'GatewayRouteSpecGrpcRouteActionTargetVirtualServiceArgs' virtual_service: Virtual service gateway route target. + :param int port: The port number that corresponds to the target for Virtual Service provider port. This is required when the provider (router or node) of the Virtual Service has multiple listeners. """ pulumi.set(__self__, "virtual_service", virtual_service) + if port is not None: + pulumi.set(__self__, "port", port) @property @pulumi.getter(name="virtualService") @@ -427,6 +576,14 @@ def virtual_service(self) -> 'outputs.GatewayRouteSpecGrpcRouteActionTargetVirtu """ return pulumi.get(self, "virtual_service") + @property + @pulumi.getter + def port(self) -> Optional[int]: + """ + The port number that corresponds to the target for Virtual Service provider port. This is required when the provider (router or node) of the Virtual Service has multiple listeners. + """ + return pulumi.get(self, "port") + @pulumi.output_type class GatewayRouteSpecGrpcRouteActionTargetVirtualService(dict): @@ -487,7 +644,7 @@ def __init__(__self__, *, port: Optional[int] = None): """ :param str service_name: Fully qualified domain name for the service to match from the request. - :param int port: The port number to match from the request. + :param int port: The port number that corresponds to the target for Virtual Service provider port. This is required when the provider (router or node) of the Virtual Service has multiple listeners. """ pulumi.set(__self__, "service_name", service_name) if port is not None: @@ -505,7 +662,7 @@ def service_name(self) -> str: @pulumi.getter def port(self) -> Optional[int]: """ - The port number to match from the request. + The port number that corresponds to the target for Virtual Service provider port. This is required when the provider (router or node) of the Virtual Service has multiple listeners. """ return pulumi.get(self, "port") @@ -703,11 +860,15 @@ def get(self, key: str, default = None) -> Any: return super().get(key, default) def __init__(__self__, *, - virtual_service: 'outputs.GatewayRouteSpecHttp2RouteActionTargetVirtualService'): + virtual_service: 'outputs.GatewayRouteSpecHttp2RouteActionTargetVirtualService', + port: Optional[int] = None): """ :param 'GatewayRouteSpecHttp2RouteActionTargetVirtualServiceArgs' virtual_service: Virtual service gateway route target. + :param int port: The port number that corresponds to the target for Virtual Service provider port. This is required when the provider (router or node) of the Virtual Service has multiple listeners. """ pulumi.set(__self__, "virtual_service", virtual_service) + if port is not None: + pulumi.set(__self__, "port", port) @property @pulumi.getter(name="virtualService") @@ -717,6 +878,14 @@ def virtual_service(self) -> 'outputs.GatewayRouteSpecHttp2RouteActionTargetVirt """ return pulumi.get(self, "virtual_service") + @property + @pulumi.getter + def port(self) -> Optional[int]: + """ + The port number that corresponds to the target for Virtual Service provider port. This is required when the provider (router or node) of the Virtual Service has multiple listeners. + """ + return pulumi.get(self, "port") + @pulumi.output_type class GatewayRouteSpecHttp2RouteActionTargetVirtualService(dict): @@ -755,21 +924,58 @@ def virtual_service_name(self) -> str: @pulumi.output_type class GatewayRouteSpecHttp2RouteMatch(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "queryParameters": + suggest = "query_parameters" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in GatewayRouteSpecHttp2RouteMatch. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + GatewayRouteSpecHttp2RouteMatch.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + GatewayRouteSpecHttp2RouteMatch.__key_warning(key) + return super().get(key, default) + def __init__(__self__, *, + headers: Optional[Sequence['outputs.GatewayRouteSpecHttp2RouteMatchHeader']] = None, hostname: Optional['outputs.GatewayRouteSpecHttp2RouteMatchHostname'] = None, + path: Optional['outputs.GatewayRouteSpecHttp2RouteMatchPath'] = None, port: Optional[int] = None, - prefix: Optional[str] = None): + prefix: Optional[str] = None, + query_parameters: Optional[Sequence['outputs.GatewayRouteSpecHttp2RouteMatchQueryParameter']] = None): """ + :param Sequence['GatewayRouteSpecHttp2RouteMatchHeaderArgs'] headers: Client request headers to match on. :param 'GatewayRouteSpecHttp2RouteMatchHostnameArgs' hostname: Host name to rewrite. - :param int port: The port number to match from the request. + :param 'GatewayRouteSpecHttp2RouteMatchPathArgs' path: Client request path to match on. + :param int port: The port number that corresponds to the target for Virtual Service provider port. This is required when the provider (router or node) of the Virtual Service has multiple listeners. :param str prefix: Specified beginning characters to rewrite. + :param Sequence['GatewayRouteSpecHttp2RouteMatchQueryParameterArgs'] query_parameters: Client request query parameters to match on. """ + if headers is not None: + pulumi.set(__self__, "headers", headers) if hostname is not None: pulumi.set(__self__, "hostname", hostname) + if path is not None: + pulumi.set(__self__, "path", path) if port is not None: pulumi.set(__self__, "port", port) if prefix is not None: pulumi.set(__self__, "prefix", prefix) + if query_parameters is not None: + pulumi.set(__self__, "query_parameters", query_parameters) + + @property + @pulumi.getter + def headers(self) -> Optional[Sequence['outputs.GatewayRouteSpecHttp2RouteMatchHeader']]: + """ + Client request headers to match on. + """ + return pulumi.get(self, "headers") @property @pulumi.getter @@ -779,11 +985,19 @@ def hostname(self) -> Optional['outputs.GatewayRouteSpecHttp2RouteMatchHostname' """ return pulumi.get(self, "hostname") + @property + @pulumi.getter + def path(self) -> Optional['outputs.GatewayRouteSpecHttp2RouteMatchPath']: + """ + Client request path to match on. + """ + return pulumi.get(self, "path") + @property @pulumi.getter def port(self) -> Optional[int]: """ - The port number to match from the request. + The port number that corresponds to the target for Virtual Service provider port. This is required when the provider (router or node) of the Virtual Service has multiple listeners. """ return pulumi.get(self, "port") @@ -795,6 +1009,152 @@ def prefix(self) -> Optional[str]: """ return pulumi.get(self, "prefix") + @property + @pulumi.getter(name="queryParameters") + def query_parameters(self) -> Optional[Sequence['outputs.GatewayRouteSpecHttp2RouteMatchQueryParameter']]: + """ + Client request query parameters to match on. + """ + return pulumi.get(self, "query_parameters") + + +@pulumi.output_type +class GatewayRouteSpecHttp2RouteMatchHeader(dict): + def __init__(__self__, *, + name: str, + invert: Optional[bool] = None, + match: Optional['outputs.GatewayRouteSpecHttp2RouteMatchHeaderMatch'] = None): + """ + :param str name: Name for the HTTP header in the client request that will be matched on. + :param bool invert: If `true`, the match is on the opposite of the `match` method and value. Default is `false`. + :param 'GatewayRouteSpecHttp2RouteMatchHeaderMatchArgs' match: Method and value to match the header value sent with a request. Specify one match method. + """ + pulumi.set(__self__, "name", name) + if invert is not None: + pulumi.set(__self__, "invert", invert) + if match is not None: + pulumi.set(__self__, "match", match) + + @property + @pulumi.getter + def name(self) -> str: + """ + Name for the HTTP header in the client request that will be matched on. + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter + def invert(self) -> Optional[bool]: + """ + If `true`, the match is on the opposite of the `match` method and value. Default is `false`. + """ + return pulumi.get(self, "invert") + + @property + @pulumi.getter + def match(self) -> Optional['outputs.GatewayRouteSpecHttp2RouteMatchHeaderMatch']: + """ + Method and value to match the header value sent with a request. Specify one match method. + """ + return pulumi.get(self, "match") + + +@pulumi.output_type +class GatewayRouteSpecHttp2RouteMatchHeaderMatch(dict): + def __init__(__self__, *, + exact: Optional[str] = None, + prefix: Optional[str] = None, + range: Optional['outputs.GatewayRouteSpecHttp2RouteMatchHeaderMatchRange'] = None, + regex: Optional[str] = None, + suffix: Optional[str] = None): + """ + :param str exact: Header value sent by the client must match the specified value exactly. + :param str prefix: Specified beginning characters to rewrite. + :param 'GatewayRouteSpecHttp2RouteMatchHeaderMatchRangeArgs' range: Object that specifies the range of numbers that the header value sent by the client must be included in. + :param str regex: Header value sent by the client must include the specified characters. + :param str suffix: Header value sent by the client must end with the specified characters. + """ + if exact is not None: + pulumi.set(__self__, "exact", exact) + if prefix is not None: + pulumi.set(__self__, "prefix", prefix) + if range is not None: + pulumi.set(__self__, "range", range) + if regex is not None: + pulumi.set(__self__, "regex", regex) + if suffix is not None: + pulumi.set(__self__, "suffix", suffix) + + @property + @pulumi.getter + def exact(self) -> Optional[str]: + """ + Header value sent by the client must match the specified value exactly. + """ + return pulumi.get(self, "exact") + + @property + @pulumi.getter + def prefix(self) -> Optional[str]: + """ + Specified beginning characters to rewrite. + """ + return pulumi.get(self, "prefix") + + @property + @pulumi.getter + def range(self) -> Optional['outputs.GatewayRouteSpecHttp2RouteMatchHeaderMatchRange']: + """ + Object that specifies the range of numbers that the header value sent by the client must be included in. + """ + return pulumi.get(self, "range") + + @property + @pulumi.getter + def regex(self) -> Optional[str]: + """ + Header value sent by the client must include the specified characters. + """ + return pulumi.get(self, "regex") + + @property + @pulumi.getter + def suffix(self) -> Optional[str]: + """ + Header value sent by the client must end with the specified characters. + """ + return pulumi.get(self, "suffix") + + +@pulumi.output_type +class GatewayRouteSpecHttp2RouteMatchHeaderMatchRange(dict): + def __init__(__self__, *, + end: int, + start: int): + """ + :param int end: End of the range. + :param int start: Start of the range. + """ + pulumi.set(__self__, "end", end) + pulumi.set(__self__, "start", start) + + @property + @pulumi.getter + def end(self) -> int: + """ + End of the range. + """ + return pulumi.get(self, "end") + + @property + @pulumi.getter + def start(self) -> int: + """ + Start of the range. + """ + return pulumi.get(self, "start") + @pulumi.output_type class GatewayRouteSpecHttp2RouteMatchHostname(dict): @@ -827,6 +1187,86 @@ def suffix(self) -> Optional[str]: return pulumi.get(self, "suffix") +@pulumi.output_type +class GatewayRouteSpecHttp2RouteMatchPath(dict): + def __init__(__self__, *, + exact: Optional[str] = None, + regex: Optional[str] = None): + """ + :param str exact: The exact path to match on. + :param str regex: The regex used to match the path. + """ + if exact is not None: + pulumi.set(__self__, "exact", exact) + if regex is not None: + pulumi.set(__self__, "regex", regex) + + @property + @pulumi.getter + def exact(self) -> Optional[str]: + """ + The exact path to match on. + """ + return pulumi.get(self, "exact") + + @property + @pulumi.getter + def regex(self) -> Optional[str]: + """ + The regex used to match the path. + """ + return pulumi.get(self, "regex") + + +@pulumi.output_type +class GatewayRouteSpecHttp2RouteMatchQueryParameter(dict): + def __init__(__self__, *, + name: str, + match: Optional['outputs.GatewayRouteSpecHttp2RouteMatchQueryParameterMatch'] = None): + """ + :param str name: Name for the query parameter that will be matched on. + :param 'GatewayRouteSpecHttp2RouteMatchQueryParameterMatchArgs' match: The query parameter to match on. + """ + pulumi.set(__self__, "name", name) + if match is not None: + pulumi.set(__self__, "match", match) + + @property + @pulumi.getter + def name(self) -> str: + """ + Name for the query parameter that will be matched on. + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter + def match(self) -> Optional['outputs.GatewayRouteSpecHttp2RouteMatchQueryParameterMatch']: + """ + The query parameter to match on. + """ + return pulumi.get(self, "match") + + +@pulumi.output_type +class GatewayRouteSpecHttp2RouteMatchQueryParameterMatch(dict): + def __init__(__self__, *, + exact: Optional[str] = None): + """ + :param str exact: Header value sent by the client must match the specified value exactly. + """ + if exact is not None: + pulumi.set(__self__, "exact", exact) + + @property + @pulumi.getter + def exact(self) -> Optional[str]: + """ + Header value sent by the client must match the specified value exactly. + """ + return pulumi.get(self, "exact") + + @pulumi.output_type class GatewayRouteSpecHttpRoute(dict): def __init__(__self__, *, @@ -1020,11 +1460,15 @@ def get(self, key: str, default = None) -> Any: return super().get(key, default) def __init__(__self__, *, - virtual_service: 'outputs.GatewayRouteSpecHttpRouteActionTargetVirtualService'): + virtual_service: 'outputs.GatewayRouteSpecHttpRouteActionTargetVirtualService', + port: Optional[int] = None): """ :param 'GatewayRouteSpecHttpRouteActionTargetVirtualServiceArgs' virtual_service: Virtual service gateway route target. + :param int port: The port number that corresponds to the target for Virtual Service provider port. This is required when the provider (router or node) of the Virtual Service has multiple listeners. """ pulumi.set(__self__, "virtual_service", virtual_service) + if port is not None: + pulumi.set(__self__, "port", port) @property @pulumi.getter(name="virtualService") @@ -1034,7 +1478,15 @@ def virtual_service(self) -> 'outputs.GatewayRouteSpecHttpRouteActionTargetVirtu """ return pulumi.get(self, "virtual_service") - + @property + @pulumi.getter + def port(self) -> Optional[int]: + """ + The port number that corresponds to the target for Virtual Service provider port. This is required when the provider (router or node) of the Virtual Service has multiple listeners. + """ + return pulumi.get(self, "port") + + @pulumi.output_type class GatewayRouteSpecHttpRouteActionTargetVirtualService(dict): @staticmethod @@ -1072,21 +1524,58 @@ def virtual_service_name(self) -> str: @pulumi.output_type class GatewayRouteSpecHttpRouteMatch(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "queryParameters": + suggest = "query_parameters" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in GatewayRouteSpecHttpRouteMatch. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + GatewayRouteSpecHttpRouteMatch.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + GatewayRouteSpecHttpRouteMatch.__key_warning(key) + return super().get(key, default) + def __init__(__self__, *, + headers: Optional[Sequence['outputs.GatewayRouteSpecHttpRouteMatchHeader']] = None, hostname: Optional['outputs.GatewayRouteSpecHttpRouteMatchHostname'] = None, + path: Optional['outputs.GatewayRouteSpecHttpRouteMatchPath'] = None, port: Optional[int] = None, - prefix: Optional[str] = None): + prefix: Optional[str] = None, + query_parameters: Optional[Sequence['outputs.GatewayRouteSpecHttpRouteMatchQueryParameter']] = None): """ + :param Sequence['GatewayRouteSpecHttpRouteMatchHeaderArgs'] headers: Client request headers to match on. :param 'GatewayRouteSpecHttpRouteMatchHostnameArgs' hostname: Host name to rewrite. - :param int port: The port number to match from the request. + :param 'GatewayRouteSpecHttpRouteMatchPathArgs' path: Client request path to match on. + :param int port: The port number that corresponds to the target for Virtual Service provider port. This is required when the provider (router or node) of the Virtual Service has multiple listeners. :param str prefix: Specified beginning characters to rewrite. + :param Sequence['GatewayRouteSpecHttpRouteMatchQueryParameterArgs'] query_parameters: Client request query parameters to match on. """ + if headers is not None: + pulumi.set(__self__, "headers", headers) if hostname is not None: pulumi.set(__self__, "hostname", hostname) + if path is not None: + pulumi.set(__self__, "path", path) if port is not None: pulumi.set(__self__, "port", port) if prefix is not None: pulumi.set(__self__, "prefix", prefix) + if query_parameters is not None: + pulumi.set(__self__, "query_parameters", query_parameters) + + @property + @pulumi.getter + def headers(self) -> Optional[Sequence['outputs.GatewayRouteSpecHttpRouteMatchHeader']]: + """ + Client request headers to match on. + """ + return pulumi.get(self, "headers") @property @pulumi.getter @@ -1096,11 +1585,19 @@ def hostname(self) -> Optional['outputs.GatewayRouteSpecHttpRouteMatchHostname'] """ return pulumi.get(self, "hostname") + @property + @pulumi.getter + def path(self) -> Optional['outputs.GatewayRouteSpecHttpRouteMatchPath']: + """ + Client request path to match on. + """ + return pulumi.get(self, "path") + @property @pulumi.getter def port(self) -> Optional[int]: """ - The port number to match from the request. + The port number that corresponds to the target for Virtual Service provider port. This is required when the provider (router or node) of the Virtual Service has multiple listeners. """ return pulumi.get(self, "port") @@ -1112,6 +1609,152 @@ def prefix(self) -> Optional[str]: """ return pulumi.get(self, "prefix") + @property + @pulumi.getter(name="queryParameters") + def query_parameters(self) -> Optional[Sequence['outputs.GatewayRouteSpecHttpRouteMatchQueryParameter']]: + """ + Client request query parameters to match on. + """ + return pulumi.get(self, "query_parameters") + + +@pulumi.output_type +class GatewayRouteSpecHttpRouteMatchHeader(dict): + def __init__(__self__, *, + name: str, + invert: Optional[bool] = None, + match: Optional['outputs.GatewayRouteSpecHttpRouteMatchHeaderMatch'] = None): + """ + :param str name: Name for the HTTP header in the client request that will be matched on. + :param bool invert: If `true`, the match is on the opposite of the `match` method and value. Default is `false`. + :param 'GatewayRouteSpecHttpRouteMatchHeaderMatchArgs' match: Method and value to match the header value sent with a request. Specify one match method. + """ + pulumi.set(__self__, "name", name) + if invert is not None: + pulumi.set(__self__, "invert", invert) + if match is not None: + pulumi.set(__self__, "match", match) + + @property + @pulumi.getter + def name(self) -> str: + """ + Name for the HTTP header in the client request that will be matched on. + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter + def invert(self) -> Optional[bool]: + """ + If `true`, the match is on the opposite of the `match` method and value. Default is `false`. + """ + return pulumi.get(self, "invert") + + @property + @pulumi.getter + def match(self) -> Optional['outputs.GatewayRouteSpecHttpRouteMatchHeaderMatch']: + """ + Method and value to match the header value sent with a request. Specify one match method. + """ + return pulumi.get(self, "match") + + +@pulumi.output_type +class GatewayRouteSpecHttpRouteMatchHeaderMatch(dict): + def __init__(__self__, *, + exact: Optional[str] = None, + prefix: Optional[str] = None, + range: Optional['outputs.GatewayRouteSpecHttpRouteMatchHeaderMatchRange'] = None, + regex: Optional[str] = None, + suffix: Optional[str] = None): + """ + :param str exact: Header value sent by the client must match the specified value exactly. + :param str prefix: Specified beginning characters to rewrite. + :param 'GatewayRouteSpecHttpRouteMatchHeaderMatchRangeArgs' range: Object that specifies the range of numbers that the header value sent by the client must be included in. + :param str regex: Header value sent by the client must include the specified characters. + :param str suffix: Header value sent by the client must end with the specified characters. + """ + if exact is not None: + pulumi.set(__self__, "exact", exact) + if prefix is not None: + pulumi.set(__self__, "prefix", prefix) + if range is not None: + pulumi.set(__self__, "range", range) + if regex is not None: + pulumi.set(__self__, "regex", regex) + if suffix is not None: + pulumi.set(__self__, "suffix", suffix) + + @property + @pulumi.getter + def exact(self) -> Optional[str]: + """ + Header value sent by the client must match the specified value exactly. + """ + return pulumi.get(self, "exact") + + @property + @pulumi.getter + def prefix(self) -> Optional[str]: + """ + Specified beginning characters to rewrite. + """ + return pulumi.get(self, "prefix") + + @property + @pulumi.getter + def range(self) -> Optional['outputs.GatewayRouteSpecHttpRouteMatchHeaderMatchRange']: + """ + Object that specifies the range of numbers that the header value sent by the client must be included in. + """ + return pulumi.get(self, "range") + + @property + @pulumi.getter + def regex(self) -> Optional[str]: + """ + Header value sent by the client must include the specified characters. + """ + return pulumi.get(self, "regex") + + @property + @pulumi.getter + def suffix(self) -> Optional[str]: + """ + Header value sent by the client must end with the specified characters. + """ + return pulumi.get(self, "suffix") + + +@pulumi.output_type +class GatewayRouteSpecHttpRouteMatchHeaderMatchRange(dict): + def __init__(__self__, *, + end: int, + start: int): + """ + :param int end: End of the range. + :param int start: Start of the range. + """ + pulumi.set(__self__, "end", end) + pulumi.set(__self__, "start", start) + + @property + @pulumi.getter + def end(self) -> int: + """ + End of the range. + """ + return pulumi.get(self, "end") + + @property + @pulumi.getter + def start(self) -> int: + """ + Start of the range. + """ + return pulumi.get(self, "start") + @pulumi.output_type class GatewayRouteSpecHttpRouteMatchHostname(dict): @@ -1144,6 +1787,86 @@ def suffix(self) -> Optional[str]: return pulumi.get(self, "suffix") +@pulumi.output_type +class GatewayRouteSpecHttpRouteMatchPath(dict): + def __init__(__self__, *, + exact: Optional[str] = None, + regex: Optional[str] = None): + """ + :param str exact: The exact path to match on. + :param str regex: The regex used to match the path. + """ + if exact is not None: + pulumi.set(__self__, "exact", exact) + if regex is not None: + pulumi.set(__self__, "regex", regex) + + @property + @pulumi.getter + def exact(self) -> Optional[str]: + """ + The exact path to match on. + """ + return pulumi.get(self, "exact") + + @property + @pulumi.getter + def regex(self) -> Optional[str]: + """ + The regex used to match the path. + """ + return pulumi.get(self, "regex") + + +@pulumi.output_type +class GatewayRouteSpecHttpRouteMatchQueryParameter(dict): + def __init__(__self__, *, + name: str, + match: Optional['outputs.GatewayRouteSpecHttpRouteMatchQueryParameterMatch'] = None): + """ + :param str name: Name for the query parameter that will be matched on. + :param 'GatewayRouteSpecHttpRouteMatchQueryParameterMatchArgs' match: The query parameter to match on. + """ + pulumi.set(__self__, "name", name) + if match is not None: + pulumi.set(__self__, "match", match) + + @property + @pulumi.getter + def name(self) -> str: + """ + Name for the query parameter that will be matched on. + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter + def match(self) -> Optional['outputs.GatewayRouteSpecHttpRouteMatchQueryParameterMatch']: + """ + The query parameter to match on. + """ + return pulumi.get(self, "match") + + +@pulumi.output_type +class GatewayRouteSpecHttpRouteMatchQueryParameterMatch(dict): + def __init__(__self__, *, + exact: Optional[str] = None): + """ + :param str exact: Header value sent by the client must match the specified value exactly. + """ + if exact is not None: + pulumi.set(__self__, "exact", exact) + + @property + @pulumi.getter + def exact(self) -> Optional[str]: + """ + Header value sent by the client must match the specified value exactly. + """ + return pulumi.get(self, "exact") + + @pulumi.output_type class MeshSpec(dict): @staticmethod @@ -1598,11 +2321,11 @@ def __init__(__self__, *, regex: Optional[str] = None, suffix: Optional[str] = None): """ - :param str exact: Value sent by the client must match the specified value exactly. Must be between 1 and 255 characters in length. + :param str exact: The exact path to match on. :param str prefix: Value sent by the client must begin with the specified characters. Must be between 1 and 255 characters in length. This parameter must always start with /, which by itself matches all requests to the virtual router service name. :param 'RouteSpecGrpcRouteMatchMetadataMatchRangeArgs' range: Object that specifies the range of numbers that the value sent by the client must be included in. - :param str regex: Value sent by the client must include the specified characters. Must be between 1 and 255 characters in length. + :param str regex: The regex used to match the path. :param str suffix: Value sent by the client must end with the specified characters. Must be between 1 and 255 characters in length. """ if exact is not None: @@ -1620,7 +2343,7 @@ def __init__(__self__, *, @pulumi.getter def exact(self) -> Optional[str]: """ - Value sent by the client must match the specified value exactly. Must be between 1 and 255 characters in length. + The exact path to match on. """ return pulumi.get(self, "exact") @@ -1645,7 +2368,7 @@ def range(self) -> Optional['outputs.RouteSpecGrpcRouteMatchMetadataMatchRange'] @pulumi.getter def regex(self) -> Optional[str]: """ - Value sent by the client must include the specified characters. Must be between 1 and 255 characters in length. + The regex used to match the path. """ return pulumi.get(self, "regex") @@ -2085,39 +2808,56 @@ def port(self) -> Optional[int]: @pulumi.output_type class RouteSpecHttp2RouteMatch(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "queryParameters": + suggest = "query_parameters" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in RouteSpecHttp2RouteMatch. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + RouteSpecHttp2RouteMatch.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + RouteSpecHttp2RouteMatch.__key_warning(key) + return super().get(key, default) + def __init__(__self__, *, - prefix: str, headers: Optional[Sequence['outputs.RouteSpecHttp2RouteMatchHeader']] = None, method: Optional[str] = None, + path: Optional['outputs.RouteSpecHttp2RouteMatchPath'] = None, port: Optional[int] = None, + prefix: Optional[str] = None, + query_parameters: Optional[Sequence['outputs.RouteSpecHttp2RouteMatchQueryParameter']] = None, scheme: Optional[str] = None): """ - :param str prefix: Value sent by the client must begin with the specified characters. Must be between 1 and 255 characters in length. - This parameter must always start with /, which by itself matches all requests to the virtual router service name. :param Sequence['RouteSpecHttp2RouteMatchHeaderArgs'] headers: Client request headers to match on. :param str method: Client request header method to match on. Valid values: `GET`, `HEAD`, `POST`, `PUT`, `DELETE`, `CONNECT`, `OPTIONS`, `TRACE`, `PATCH`. + :param 'RouteSpecHttp2RouteMatchPathArgs' path: Client request path to match on. :param int port: The port number to match from the request. + :param str prefix: Value sent by the client must begin with the specified characters. Must be between 1 and 255 characters in length. + This parameter must always start with /, which by itself matches all requests to the virtual router service name. + :param Sequence['RouteSpecHttp2RouteMatchQueryParameterArgs'] query_parameters: Client request query parameters to match on. :param str scheme: Client request header scheme to match on. Valid values: `http`, `https`. """ - pulumi.set(__self__, "prefix", prefix) if headers is not None: pulumi.set(__self__, "headers", headers) if method is not None: pulumi.set(__self__, "method", method) + if path is not None: + pulumi.set(__self__, "path", path) if port is not None: pulumi.set(__self__, "port", port) + if prefix is not None: + pulumi.set(__self__, "prefix", prefix) + if query_parameters is not None: + pulumi.set(__self__, "query_parameters", query_parameters) if scheme is not None: pulumi.set(__self__, "scheme", scheme) - @property - @pulumi.getter - def prefix(self) -> str: - """ - Value sent by the client must begin with the specified characters. Must be between 1 and 255 characters in length. - This parameter must always start with /, which by itself matches all requests to the virtual router service name. - """ - return pulumi.get(self, "prefix") - @property @pulumi.getter def headers(self) -> Optional[Sequence['outputs.RouteSpecHttp2RouteMatchHeader']]: @@ -2134,6 +2874,14 @@ def method(self) -> Optional[str]: """ return pulumi.get(self, "method") + @property + @pulumi.getter + def path(self) -> Optional['outputs.RouteSpecHttp2RouteMatchPath']: + """ + Client request path to match on. + """ + return pulumi.get(self, "path") + @property @pulumi.getter def port(self) -> Optional[int]: @@ -2142,6 +2890,23 @@ def port(self) -> Optional[int]: """ return pulumi.get(self, "port") + @property + @pulumi.getter + def prefix(self) -> Optional[str]: + """ + Value sent by the client must begin with the specified characters. Must be between 1 and 255 characters in length. + This parameter must always start with /, which by itself matches all requests to the virtual router service name. + """ + return pulumi.get(self, "prefix") + + @property + @pulumi.getter(name="queryParameters") + def query_parameters(self) -> Optional[Sequence['outputs.RouteSpecHttp2RouteMatchQueryParameter']]: + """ + Client request query parameters to match on. + """ + return pulumi.get(self, "query_parameters") + @property @pulumi.getter def scheme(self) -> Optional[str]: @@ -2202,11 +2967,11 @@ def __init__(__self__, *, regex: Optional[str] = None, suffix: Optional[str] = None): """ - :param str exact: Value sent by the client must match the specified value exactly. Must be between 1 and 255 characters in length. + :param str exact: The exact path to match on. :param str prefix: Value sent by the client must begin with the specified characters. Must be between 1 and 255 characters in length. This parameter must always start with /, which by itself matches all requests to the virtual router service name. :param 'RouteSpecHttp2RouteMatchHeaderMatchRangeArgs' range: Object that specifies the range of numbers that the value sent by the client must be included in. - :param str regex: Value sent by the client must include the specified characters. Must be between 1 and 255 characters in length. + :param str regex: The regex used to match the path. :param str suffix: Value sent by the client must end with the specified characters. Must be between 1 and 255 characters in length. """ if exact is not None: @@ -2224,7 +2989,7 @@ def __init__(__self__, *, @pulumi.getter def exact(self) -> Optional[str]: """ - Value sent by the client must match the specified value exactly. Must be between 1 and 255 characters in length. + The exact path to match on. """ return pulumi.get(self, "exact") @@ -2249,7 +3014,7 @@ def range(self) -> Optional['outputs.RouteSpecHttp2RouteMatchHeaderMatchRange']: @pulumi.getter def regex(self) -> Optional[str]: """ - Value sent by the client must include the specified characters. Must be between 1 and 255 characters in length. + The regex used to match the path. """ return pulumi.get(self, "regex") @@ -2291,6 +3056,86 @@ def start(self) -> int: return pulumi.get(self, "start") +@pulumi.output_type +class RouteSpecHttp2RouteMatchPath(dict): + def __init__(__self__, *, + exact: Optional[str] = None, + regex: Optional[str] = None): + """ + :param str exact: Value sent by the client must match the specified value exactly. Must be between 1 and 255 characters in length. + :param str regex: Value sent by the client must include the specified characters. Must be between 1 and 255 characters in length. + """ + if exact is not None: + pulumi.set(__self__, "exact", exact) + if regex is not None: + pulumi.set(__self__, "regex", regex) + + @property + @pulumi.getter + def exact(self) -> Optional[str]: + """ + Value sent by the client must match the specified value exactly. Must be between 1 and 255 characters in length. + """ + return pulumi.get(self, "exact") + + @property + @pulumi.getter + def regex(self) -> Optional[str]: + """ + Value sent by the client must include the specified characters. Must be between 1 and 255 characters in length. + """ + return pulumi.get(self, "regex") + + +@pulumi.output_type +class RouteSpecHttp2RouteMatchQueryParameter(dict): + def __init__(__self__, *, + name: str, + match: Optional['outputs.RouteSpecHttp2RouteMatchQueryParameterMatch'] = None): + """ + :param str name: Name to use for the route. Must be between 1 and 255 characters in length. + :param 'RouteSpecHttp2RouteMatchQueryParameterMatchArgs' match: Criteria for determining an gRPC request match. + """ + pulumi.set(__self__, "name", name) + if match is not None: + pulumi.set(__self__, "match", match) + + @property + @pulumi.getter + def name(self) -> str: + """ + Name to use for the route. Must be between 1 and 255 characters in length. + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter + def match(self) -> Optional['outputs.RouteSpecHttp2RouteMatchQueryParameterMatch']: + """ + Criteria for determining an gRPC request match. + """ + return pulumi.get(self, "match") + + +@pulumi.output_type +class RouteSpecHttp2RouteMatchQueryParameterMatch(dict): + def __init__(__self__, *, + exact: Optional[str] = None): + """ + :param str exact: The exact path to match on. + """ + if exact is not None: + pulumi.set(__self__, "exact", exact) + + @property + @pulumi.getter + def exact(self) -> Optional[str]: + """ + The exact path to match on. + """ + return pulumi.get(self, "exact") + + @pulumi.output_type class RouteSpecHttp2RouteRetryPolicy(dict): @staticmethod @@ -2673,39 +3518,56 @@ def port(self) -> Optional[int]: @pulumi.output_type class RouteSpecHttpRouteMatch(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "queryParameters": + suggest = "query_parameters" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in RouteSpecHttpRouteMatch. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + RouteSpecHttpRouteMatch.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + RouteSpecHttpRouteMatch.__key_warning(key) + return super().get(key, default) + def __init__(__self__, *, - prefix: str, headers: Optional[Sequence['outputs.RouteSpecHttpRouteMatchHeader']] = None, method: Optional[str] = None, + path: Optional['outputs.RouteSpecHttpRouteMatchPath'] = None, port: Optional[int] = None, + prefix: Optional[str] = None, + query_parameters: Optional[Sequence['outputs.RouteSpecHttpRouteMatchQueryParameter']] = None, scheme: Optional[str] = None): """ - :param str prefix: Value sent by the client must begin with the specified characters. Must be between 1 and 255 characters in length. - This parameter must always start with /, which by itself matches all requests to the virtual router service name. :param Sequence['RouteSpecHttpRouteMatchHeaderArgs'] headers: Client request headers to match on. :param str method: Client request header method to match on. Valid values: `GET`, `HEAD`, `POST`, `PUT`, `DELETE`, `CONNECT`, `OPTIONS`, `TRACE`, `PATCH`. + :param 'RouteSpecHttpRouteMatchPathArgs' path: Client request path to match on. :param int port: The port number to match from the request. + :param str prefix: Value sent by the client must begin with the specified characters. Must be between 1 and 255 characters in length. + This parameter must always start with /, which by itself matches all requests to the virtual router service name. + :param Sequence['RouteSpecHttpRouteMatchQueryParameterArgs'] query_parameters: Client request query parameters to match on. :param str scheme: Client request header scheme to match on. Valid values: `http`, `https`. """ - pulumi.set(__self__, "prefix", prefix) if headers is not None: pulumi.set(__self__, "headers", headers) if method is not None: pulumi.set(__self__, "method", method) + if path is not None: + pulumi.set(__self__, "path", path) if port is not None: pulumi.set(__self__, "port", port) + if prefix is not None: + pulumi.set(__self__, "prefix", prefix) + if query_parameters is not None: + pulumi.set(__self__, "query_parameters", query_parameters) if scheme is not None: pulumi.set(__self__, "scheme", scheme) - @property - @pulumi.getter - def prefix(self) -> str: - """ - Value sent by the client must begin with the specified characters. Must be between 1 and 255 characters in length. - This parameter must always start with /, which by itself matches all requests to the virtual router service name. - """ - return pulumi.get(self, "prefix") - @property @pulumi.getter def headers(self) -> Optional[Sequence['outputs.RouteSpecHttpRouteMatchHeader']]: @@ -2722,6 +3584,14 @@ def method(self) -> Optional[str]: """ return pulumi.get(self, "method") + @property + @pulumi.getter + def path(self) -> Optional['outputs.RouteSpecHttpRouteMatchPath']: + """ + Client request path to match on. + """ + return pulumi.get(self, "path") + @property @pulumi.getter def port(self) -> Optional[int]: @@ -2730,6 +3600,23 @@ def port(self) -> Optional[int]: """ return pulumi.get(self, "port") + @property + @pulumi.getter + def prefix(self) -> Optional[str]: + """ + Value sent by the client must begin with the specified characters. Must be between 1 and 255 characters in length. + This parameter must always start with /, which by itself matches all requests to the virtual router service name. + """ + return pulumi.get(self, "prefix") + + @property + @pulumi.getter(name="queryParameters") + def query_parameters(self) -> Optional[Sequence['outputs.RouteSpecHttpRouteMatchQueryParameter']]: + """ + Client request query parameters to match on. + """ + return pulumi.get(self, "query_parameters") + @property @pulumi.getter def scheme(self) -> Optional[str]: @@ -2790,11 +3677,11 @@ def __init__(__self__, *, regex: Optional[str] = None, suffix: Optional[str] = None): """ - :param str exact: Value sent by the client must match the specified value exactly. Must be between 1 and 255 characters in length. + :param str exact: The exact path to match on. :param str prefix: Value sent by the client must begin with the specified characters. Must be between 1 and 255 characters in length. This parameter must always start with /, which by itself matches all requests to the virtual router service name. :param 'RouteSpecHttpRouteMatchHeaderMatchRangeArgs' range: Object that specifies the range of numbers that the value sent by the client must be included in. - :param str regex: Value sent by the client must include the specified characters. Must be between 1 and 255 characters in length. + :param str regex: The regex used to match the path. :param str suffix: Value sent by the client must end with the specified characters. Must be between 1 and 255 characters in length. """ if exact is not None: @@ -2812,7 +3699,7 @@ def __init__(__self__, *, @pulumi.getter def exact(self) -> Optional[str]: """ - Value sent by the client must match the specified value exactly. Must be between 1 and 255 characters in length. + The exact path to match on. """ return pulumi.get(self, "exact") @@ -2837,7 +3724,7 @@ def range(self) -> Optional['outputs.RouteSpecHttpRouteMatchHeaderMatchRange']: @pulumi.getter def regex(self) -> Optional[str]: """ - Value sent by the client must include the specified characters. Must be between 1 and 255 characters in length. + The regex used to match the path. """ return pulumi.get(self, "regex") @@ -2879,6 +3766,86 @@ def start(self) -> int: return pulumi.get(self, "start") +@pulumi.output_type +class RouteSpecHttpRouteMatchPath(dict): + def __init__(__self__, *, + exact: Optional[str] = None, + regex: Optional[str] = None): + """ + :param str exact: Value sent by the client must match the specified value exactly. Must be between 1 and 255 characters in length. + :param str regex: Value sent by the client must include the specified characters. Must be between 1 and 255 characters in length. + """ + if exact is not None: + pulumi.set(__self__, "exact", exact) + if regex is not None: + pulumi.set(__self__, "regex", regex) + + @property + @pulumi.getter + def exact(self) -> Optional[str]: + """ + Value sent by the client must match the specified value exactly. Must be between 1 and 255 characters in length. + """ + return pulumi.get(self, "exact") + + @property + @pulumi.getter + def regex(self) -> Optional[str]: + """ + Value sent by the client must include the specified characters. Must be between 1 and 255 characters in length. + """ + return pulumi.get(self, "regex") + + +@pulumi.output_type +class RouteSpecHttpRouteMatchQueryParameter(dict): + def __init__(__self__, *, + name: str, + match: Optional['outputs.RouteSpecHttpRouteMatchQueryParameterMatch'] = None): + """ + :param str name: Name to use for the route. Must be between 1 and 255 characters in length. + :param 'RouteSpecHttpRouteMatchQueryParameterMatchArgs' match: Criteria for determining an gRPC request match. + """ + pulumi.set(__self__, "name", name) + if match is not None: + pulumi.set(__self__, "match", match) + + @property + @pulumi.getter + def name(self) -> str: + """ + Name to use for the route. Must be between 1 and 255 characters in length. + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter + def match(self) -> Optional['outputs.RouteSpecHttpRouteMatchQueryParameterMatch']: + """ + Criteria for determining an gRPC request match. + """ + return pulumi.get(self, "match") + + +@pulumi.output_type +class RouteSpecHttpRouteMatchQueryParameterMatch(dict): + def __init__(__self__, *, + exact: Optional[str] = None): + """ + :param str exact: The exact path to match on. + """ + if exact is not None: + pulumi.set(__self__, "exact", exact) + + @property + @pulumi.getter + def exact(self) -> Optional[str]: + """ + The exact path to match on. + """ + return pulumi.get(self, "exact") + + @pulumi.output_type class RouteSpecHttpRouteRetryPolicy(dict): @staticmethod @@ -7403,12 +8370,39 @@ def attributes(self) -> Optional[Mapping[str, str]]: @pulumi.output_type class VirtualNodeSpecServiceDiscoveryDns(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "ipPreference": + suggest = "ip_preference" + elif key == "responseType": + suggest = "response_type" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in VirtualNodeSpecServiceDiscoveryDns. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + VirtualNodeSpecServiceDiscoveryDns.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + VirtualNodeSpecServiceDiscoveryDns.__key_warning(key) + return super().get(key, default) + def __init__(__self__, *, - hostname: str): + hostname: str, + ip_preference: Optional[str] = None, + response_type: Optional[str] = None): """ :param str hostname: DNS host name for your virtual node. + :param str ip_preference: The preferred IP version that this virtual node uses. Valid values: `IPv6_PREFERRED`, `IPv4_PREFERRED`, `IPv4_ONLY`, `IPv6_ONLY`. + :param str response_type: The DNS response type for the virtual node. Valid values: `LOADBALANCER`, `ENDPOINTS`. """ pulumi.set(__self__, "hostname", hostname) + if ip_preference is not None: + pulumi.set(__self__, "ip_preference", ip_preference) + if response_type is not None: + pulumi.set(__self__, "response_type", response_type) @property @pulumi.getter @@ -7418,20 +8412,37 @@ def hostname(self) -> str: """ return pulumi.get(self, "hostname") + @property + @pulumi.getter(name="ipPreference") + def ip_preference(self) -> Optional[str]: + """ + The preferred IP version that this virtual node uses. Valid values: `IPv6_PREFERRED`, `IPv4_PREFERRED`, `IPv4_ONLY`, `IPv6_ONLY`. + """ + return pulumi.get(self, "ip_preference") + + @property + @pulumi.getter(name="responseType") + def response_type(self) -> Optional[str]: + """ + The DNS response type for the virtual node. Valid values: `LOADBALANCER`, `ENDPOINTS`. + """ + return pulumi.get(self, "response_type") + @pulumi.output_type class VirtualRouterSpec(dict): def __init__(__self__, *, - listener: 'outputs.VirtualRouterSpecListener'): + listener: Optional['outputs.VirtualRouterSpecListener'] = None): """ :param 'VirtualRouterSpecListenerArgs' listener: Listeners that the virtual router is expected to receive inbound traffic from. Currently only one listener is supported per virtual router. """ - pulumi.set(__self__, "listener", listener) + if listener is not None: + pulumi.set(__self__, "listener", listener) @property @pulumi.getter - def listener(self) -> 'outputs.VirtualRouterSpecListener': + def listener(self) -> Optional['outputs.VirtualRouterSpecListener']: """ Listeners that the virtual router is expected to receive inbound traffic from. Currently only one listener is supported per virtual router. @@ -7643,175 +8654,214 @@ def virtual_router_name(self) -> str: @pulumi.output_type -class GetMeshSpecResult(dict): +class GetGatewayRouteSpecResult(dict): def __init__(__self__, *, - egress_filters: Sequence['outputs.GetMeshSpecEgressFilterResult']): - """ - :param Sequence['GetMeshSpecEgressFilterArgs'] egress_filters: Egress filter rules for the service mesh. - """ - pulumi.set(__self__, "egress_filters", egress_filters) + grpc_routes: Sequence['outputs.GetGatewayRouteSpecGrpcRouteResult'], + http2_routes: Sequence['outputs.GetGatewayRouteSpecHttp2RouteResult'], + http_routes: Sequence['outputs.GetGatewayRouteSpecHttpRouteResult'], + priority: int): + pulumi.set(__self__, "grpc_routes", grpc_routes) + pulumi.set(__self__, "http2_routes", http2_routes) + pulumi.set(__self__, "http_routes", http_routes) + pulumi.set(__self__, "priority", priority) @property - @pulumi.getter(name="egressFilters") - def egress_filters(self) -> Sequence['outputs.GetMeshSpecEgressFilterResult']: - """ - Egress filter rules for the service mesh. - """ - return pulumi.get(self, "egress_filters") + @pulumi.getter(name="grpcRoutes") + def grpc_routes(self) -> Sequence['outputs.GetGatewayRouteSpecGrpcRouteResult']: + return pulumi.get(self, "grpc_routes") + + @property + @pulumi.getter(name="http2Routes") + def http2_routes(self) -> Sequence['outputs.GetGatewayRouteSpecHttp2RouteResult']: + return pulumi.get(self, "http2_routes") + + @property + @pulumi.getter(name="httpRoutes") + def http_routes(self) -> Sequence['outputs.GetGatewayRouteSpecHttpRouteResult']: + return pulumi.get(self, "http_routes") + + @property + @pulumi.getter + def priority(self) -> int: + return pulumi.get(self, "priority") @pulumi.output_type -class GetMeshSpecEgressFilterResult(dict): +class GetGatewayRouteSpecGrpcRouteResult(dict): def __init__(__self__, *, - type: str): - """ - :param str type: Egress filter type. - """ - pulumi.set(__self__, "type", type) + actions: Sequence['outputs.GetGatewayRouteSpecGrpcRouteActionResult'], + matches: Sequence['outputs.GetGatewayRouteSpecGrpcRouteMatchResult']): + pulumi.set(__self__, "actions", actions) + pulumi.set(__self__, "matches", matches) @property @pulumi.getter - def type(self) -> str: - """ - Egress filter type. - """ - return pulumi.get(self, "type") + def actions(self) -> Sequence['outputs.GetGatewayRouteSpecGrpcRouteActionResult']: + return pulumi.get(self, "actions") + + @property + @pulumi.getter + def matches(self) -> Sequence['outputs.GetGatewayRouteSpecGrpcRouteMatchResult']: + return pulumi.get(self, "matches") @pulumi.output_type -class GetRouteSpecResult(dict): +class GetGatewayRouteSpecGrpcRouteActionResult(dict): def __init__(__self__, *, - grpc_routes: Sequence['outputs.GetRouteSpecGrpcRouteResult'], - http2_routes: Sequence['outputs.GetRouteSpecHttp2RouteResult'], - http_routes: Sequence['outputs.GetRouteSpecHttpRouteResult'], - priority: int, - tcp_routes: Sequence['outputs.GetRouteSpecTcpRouteResult']): - """ - :param Sequence['GetRouteSpecGrpcRouteArgs'] grpc_routes: GRPC routing information for the route. - :param Sequence['GetRouteSpecHttp2RouteArgs'] http2_routes: HTTP/2 routing information for the route. - :param Sequence['GetRouteSpecHttpRouteArgs'] http_routes: HTTP routing information for the route. - :param int priority: Priority for the route, between `0` and `1000`. - :param Sequence['GetRouteSpecTcpRouteArgs'] tcp_routes: TCP routing information for the route. - """ - pulumi.set(__self__, "grpc_routes", grpc_routes) - pulumi.set(__self__, "http2_routes", http2_routes) - pulumi.set(__self__, "http_routes", http_routes) - pulumi.set(__self__, "priority", priority) - pulumi.set(__self__, "tcp_routes", tcp_routes) + targets: Sequence['outputs.GetGatewayRouteSpecGrpcRouteActionTargetResult']): + pulumi.set(__self__, "targets", targets) @property - @pulumi.getter(name="grpcRoutes") - def grpc_routes(self) -> Sequence['outputs.GetRouteSpecGrpcRouteResult']: - """ - GRPC routing information for the route. - """ - return pulumi.get(self, "grpc_routes") + @pulumi.getter + def targets(self) -> Sequence['outputs.GetGatewayRouteSpecGrpcRouteActionTargetResult']: + return pulumi.get(self, "targets") + + +@pulumi.output_type +class GetGatewayRouteSpecGrpcRouteActionTargetResult(dict): + def __init__(__self__, *, + port: int, + virtual_services: Sequence['outputs.GetGatewayRouteSpecGrpcRouteActionTargetVirtualServiceResult']): + pulumi.set(__self__, "port", port) + pulumi.set(__self__, "virtual_services", virtual_services) @property - @pulumi.getter(name="http2Routes") - def http2_routes(self) -> Sequence['outputs.GetRouteSpecHttp2RouteResult']: - """ - HTTP/2 routing information for the route. - """ - return pulumi.get(self, "http2_routes") + @pulumi.getter + def port(self) -> int: + return pulumi.get(self, "port") @property - @pulumi.getter(name="httpRoutes") - def http_routes(self) -> Sequence['outputs.GetRouteSpecHttpRouteResult']: - """ - HTTP routing information for the route. - """ - return pulumi.get(self, "http_routes") + @pulumi.getter(name="virtualServices") + def virtual_services(self) -> Sequence['outputs.GetGatewayRouteSpecGrpcRouteActionTargetVirtualServiceResult']: + return pulumi.get(self, "virtual_services") + + +@pulumi.output_type +class GetGatewayRouteSpecGrpcRouteActionTargetVirtualServiceResult(dict): + def __init__(__self__, *, + virtual_service_name: str): + pulumi.set(__self__, "virtual_service_name", virtual_service_name) + + @property + @pulumi.getter(name="virtualServiceName") + def virtual_service_name(self) -> str: + return pulumi.get(self, "virtual_service_name") + + +@pulumi.output_type +class GetGatewayRouteSpecGrpcRouteMatchResult(dict): + def __init__(__self__, *, + port: int, + service_name: str): + pulumi.set(__self__, "port", port) + pulumi.set(__self__, "service_name", service_name) @property @pulumi.getter - def priority(self) -> int: - """ - Priority for the route, between `0` and `1000`. - """ - return pulumi.get(self, "priority") + def port(self) -> int: + return pulumi.get(self, "port") @property - @pulumi.getter(name="tcpRoutes") - def tcp_routes(self) -> Sequence['outputs.GetRouteSpecTcpRouteResult']: - """ - TCP routing information for the route. - """ - return pulumi.get(self, "tcp_routes") + @pulumi.getter(name="serviceName") + def service_name(self) -> str: + return pulumi.get(self, "service_name") @pulumi.output_type -class GetRouteSpecGrpcRouteResult(dict): +class GetGatewayRouteSpecHttp2RouteResult(dict): def __init__(__self__, *, - actions: Sequence['outputs.GetRouteSpecGrpcRouteActionResult'], - matches: Sequence['outputs.GetRouteSpecGrpcRouteMatchResult'], - retry_policies: Sequence['outputs.GetRouteSpecGrpcRouteRetryPolicyResult'], - timeouts: Sequence['outputs.GetRouteSpecGrpcRouteTimeoutResult']): - """ - :param Sequence['GetRouteSpecGrpcRouteActionArgs'] actions: Action to take if a match is determined. - :param Sequence['GetRouteSpecGrpcRouteMatchArgs'] matches: Criteria for determining an HTTP request match. - :param Sequence['GetRouteSpecGrpcRouteRetryPolicyArgs'] retry_policies: Retry policy. - :param Sequence['GetRouteSpecGrpcRouteTimeoutArgs'] timeouts: Types of timeouts. - """ + actions: Sequence['outputs.GetGatewayRouteSpecHttp2RouteActionResult'], + matches: Sequence['outputs.GetGatewayRouteSpecHttp2RouteMatchResult']): pulumi.set(__self__, "actions", actions) pulumi.set(__self__, "matches", matches) - pulumi.set(__self__, "retry_policies", retry_policies) - pulumi.set(__self__, "timeouts", timeouts) @property @pulumi.getter - def actions(self) -> Sequence['outputs.GetRouteSpecGrpcRouteActionResult']: - """ - Action to take if a match is determined. - """ + def actions(self) -> Sequence['outputs.GetGatewayRouteSpecHttp2RouteActionResult']: return pulumi.get(self, "actions") @property @pulumi.getter - def matches(self) -> Sequence['outputs.GetRouteSpecGrpcRouteMatchResult']: - """ - Criteria for determining an HTTP request match. - """ + def matches(self) -> Sequence['outputs.GetGatewayRouteSpecHttp2RouteMatchResult']: return pulumi.get(self, "matches") + +@pulumi.output_type +class GetGatewayRouteSpecHttp2RouteActionResult(dict): + def __init__(__self__, *, + rewrites: Sequence['outputs.GetGatewayRouteSpecHttp2RouteActionRewriteResult'], + targets: Sequence['outputs.GetGatewayRouteSpecHttp2RouteActionTargetResult']): + pulumi.set(__self__, "rewrites", rewrites) + pulumi.set(__self__, "targets", targets) + @property - @pulumi.getter(name="retryPolicies") - def retry_policies(self) -> Sequence['outputs.GetRouteSpecGrpcRouteRetryPolicyResult']: - """ - Retry policy. - """ - return pulumi.get(self, "retry_policies") + @pulumi.getter + def rewrites(self) -> Sequence['outputs.GetGatewayRouteSpecHttp2RouteActionRewriteResult']: + return pulumi.get(self, "rewrites") @property @pulumi.getter - def timeouts(self) -> Sequence['outputs.GetRouteSpecGrpcRouteTimeoutResult']: - """ - Types of timeouts. - """ - return pulumi.get(self, "timeouts") + def targets(self) -> Sequence['outputs.GetGatewayRouteSpecHttp2RouteActionTargetResult']: + return pulumi.get(self, "targets") @pulumi.output_type -class GetRouteSpecGrpcRouteActionResult(dict): +class GetGatewayRouteSpecHttp2RouteActionRewriteResult(dict): def __init__(__self__, *, - weighted_targets: Sequence['outputs.GetRouteSpecGrpcRouteActionWeightedTargetResult']): - pulumi.set(__self__, "weighted_targets", weighted_targets) + hostnames: Sequence['outputs.GetGatewayRouteSpecHttp2RouteActionRewriteHostnameResult'], + prefixes: Sequence['outputs.GetGatewayRouteSpecHttp2RouteActionRewritePrefixResult']): + pulumi.set(__self__, "hostnames", hostnames) + pulumi.set(__self__, "prefixes", prefixes) @property - @pulumi.getter(name="weightedTargets") - def weighted_targets(self) -> Sequence['outputs.GetRouteSpecGrpcRouteActionWeightedTargetResult']: - return pulumi.get(self, "weighted_targets") + @pulumi.getter + def hostnames(self) -> Sequence['outputs.GetGatewayRouteSpecHttp2RouteActionRewriteHostnameResult']: + return pulumi.get(self, "hostnames") + + @property + @pulumi.getter + def prefixes(self) -> Sequence['outputs.GetGatewayRouteSpecHttp2RouteActionRewritePrefixResult']: + return pulumi.get(self, "prefixes") @pulumi.output_type -class GetRouteSpecGrpcRouteActionWeightedTargetResult(dict): +class GetGatewayRouteSpecHttp2RouteActionRewriteHostnameResult(dict): + def __init__(__self__, *, + default_target_hostname: str): + pulumi.set(__self__, "default_target_hostname", default_target_hostname) + + @property + @pulumi.getter(name="defaultTargetHostname") + def default_target_hostname(self) -> str: + return pulumi.get(self, "default_target_hostname") + + +@pulumi.output_type +class GetGatewayRouteSpecHttp2RouteActionRewritePrefixResult(dict): + def __init__(__self__, *, + default_prefix: str, + value: str): + pulumi.set(__self__, "default_prefix", default_prefix) + pulumi.set(__self__, "value", value) + + @property + @pulumi.getter(name="defaultPrefix") + def default_prefix(self) -> str: + return pulumi.get(self, "default_prefix") + + @property + @pulumi.getter + def value(self) -> str: + return pulumi.get(self, "value") + + +@pulumi.output_type +class GetGatewayRouteSpecHttp2RouteActionTargetResult(dict): def __init__(__self__, *, port: int, - virtual_node: str, - weight: int): + virtual_services: Sequence['outputs.GetGatewayRouteSpecHttp2RouteActionTargetVirtualServiceResult']): pulumi.set(__self__, "port", port) - pulumi.set(__self__, "virtual_node", virtual_node) - pulumi.set(__self__, "weight", weight) + pulumi.set(__self__, "virtual_services", virtual_services) @property @pulumi.getter @@ -7819,39 +8869,53 @@ def port(self) -> int: return pulumi.get(self, "port") @property - @pulumi.getter(name="virtualNode") - def virtual_node(self) -> str: - return pulumi.get(self, "virtual_node") + @pulumi.getter(name="virtualServices") + def virtual_services(self) -> Sequence['outputs.GetGatewayRouteSpecHttp2RouteActionTargetVirtualServiceResult']: + return pulumi.get(self, "virtual_services") + + +@pulumi.output_type +class GetGatewayRouteSpecHttp2RouteActionTargetVirtualServiceResult(dict): + def __init__(__self__, *, + virtual_service_name: str): + pulumi.set(__self__, "virtual_service_name", virtual_service_name) @property - @pulumi.getter - def weight(self) -> int: - return pulumi.get(self, "weight") + @pulumi.getter(name="virtualServiceName") + def virtual_service_name(self) -> str: + return pulumi.get(self, "virtual_service_name") @pulumi.output_type -class GetRouteSpecGrpcRouteMatchResult(dict): +class GetGatewayRouteSpecHttp2RouteMatchResult(dict): def __init__(__self__, *, - metadatas: Sequence['outputs.GetRouteSpecGrpcRouteMatchMetadataResult'], - method_name: str, + headers: Sequence['outputs.GetGatewayRouteSpecHttp2RouteMatchHeaderResult'], + hostnames: Sequence['outputs.GetGatewayRouteSpecHttp2RouteMatchHostnameResult'], + paths: Sequence['outputs.GetGatewayRouteSpecHttp2RouteMatchPathResult'], port: int, prefix: str, - service_name: str): - pulumi.set(__self__, "metadatas", metadatas) - pulumi.set(__self__, "method_name", method_name) + query_parameters: Sequence['outputs.GetGatewayRouteSpecHttp2RouteMatchQueryParameterResult']): + pulumi.set(__self__, "headers", headers) + pulumi.set(__self__, "hostnames", hostnames) + pulumi.set(__self__, "paths", paths) pulumi.set(__self__, "port", port) pulumi.set(__self__, "prefix", prefix) - pulumi.set(__self__, "service_name", service_name) + pulumi.set(__self__, "query_parameters", query_parameters) @property @pulumi.getter - def metadatas(self) -> Sequence['outputs.GetRouteSpecGrpcRouteMatchMetadataResult']: - return pulumi.get(self, "metadatas") + def headers(self) -> Sequence['outputs.GetGatewayRouteSpecHttp2RouteMatchHeaderResult']: + return pulumi.get(self, "headers") @property - @pulumi.getter(name="methodName") - def method_name(self) -> str: - return pulumi.get(self, "method_name") + @pulumi.getter + def hostnames(self) -> Sequence['outputs.GetGatewayRouteSpecHttp2RouteMatchHostnameResult']: + return pulumi.get(self, "hostnames") + + @property + @pulumi.getter + def paths(self) -> Sequence['outputs.GetGatewayRouteSpecHttp2RouteMatchPathResult']: + return pulumi.get(self, "paths") @property @pulumi.getter @@ -7864,20 +8928,19 @@ def prefix(self) -> str: return pulumi.get(self, "prefix") @property - @pulumi.getter(name="serviceName") - def service_name(self) -> str: - return pulumi.get(self, "service_name") + @pulumi.getter(name="queryParameters") + def query_parameters(self) -> Sequence['outputs.GetGatewayRouteSpecHttp2RouteMatchQueryParameterResult']: + return pulumi.get(self, "query_parameters") @pulumi.output_type -class GetRouteSpecGrpcRouteMatchMetadataResult(dict): +class GetGatewayRouteSpecHttp2RouteMatchHeaderResult(dict): def __init__(__self__, *, invert: bool, - matches: Sequence['outputs.GetRouteSpecGrpcRouteMatchMetadataMatchResult'], + matches: Sequence['outputs.GetGatewayRouteSpecHttp2RouteMatchHeaderMatchResult'], name: str): """ - :param Sequence['GetRouteSpecGrpcRouteMatchMetadataMatchArgs'] matches: Criteria for determining an HTTP request match. - :param str name: Name of the route. + :param str name: Name of the gateway route. """ pulumi.set(__self__, "invert", invert) pulumi.set(__self__, "matches", matches) @@ -7890,27 +8953,24 @@ def invert(self) -> bool: @property @pulumi.getter - def matches(self) -> Sequence['outputs.GetRouteSpecGrpcRouteMatchMetadataMatchResult']: - """ - Criteria for determining an HTTP request match. - """ + def matches(self) -> Sequence['outputs.GetGatewayRouteSpecHttp2RouteMatchHeaderMatchResult']: return pulumi.get(self, "matches") @property @pulumi.getter def name(self) -> str: """ - Name of the route. + Name of the gateway route. """ return pulumi.get(self, "name") @pulumi.output_type -class GetRouteSpecGrpcRouteMatchMetadataMatchResult(dict): +class GetGatewayRouteSpecHttp2RouteMatchHeaderMatchResult(dict): def __init__(__self__, *, exact: str, prefix: str, - ranges: Sequence['outputs.GetRouteSpecGrpcRouteMatchMetadataMatchRangeResult'], + ranges: Sequence['outputs.GetGatewayRouteSpecHttp2RouteMatchHeaderMatchRangeResult'], regex: str, suffix: str): pulumi.set(__self__, "exact", exact) @@ -7931,7 +8991,7 @@ def prefix(self) -> str: @property @pulumi.getter - def ranges(self) -> Sequence['outputs.GetRouteSpecGrpcRouteMatchMetadataMatchRangeResult']: + def ranges(self) -> Sequence['outputs.GetGatewayRouteSpecHttp2RouteMatchHeaderMatchRangeResult']: return pulumi.get(self, "ranges") @property @@ -7946,7 +9006,7 @@ def suffix(self) -> str: @pulumi.output_type -class GetRouteSpecGrpcRouteMatchMetadataMatchRangeResult(dict): +class GetGatewayRouteSpecHttp2RouteMatchHeaderMatchRangeResult(dict): def __init__(__self__, *, end: int, start: int): @@ -7965,193 +9025,175 @@ def start(self) -> int: @pulumi.output_type -class GetRouteSpecGrpcRouteRetryPolicyResult(dict): +class GetGatewayRouteSpecHttp2RouteMatchHostnameResult(dict): def __init__(__self__, *, - grpc_retry_events: Sequence[str], - http_retry_events: Sequence[str], - max_retries: int, - per_retry_timeouts: Sequence['outputs.GetRouteSpecGrpcRouteRetryPolicyPerRetryTimeoutResult'], - tcp_retry_events: Sequence[str]): - pulumi.set(__self__, "grpc_retry_events", grpc_retry_events) - pulumi.set(__self__, "http_retry_events", http_retry_events) - pulumi.set(__self__, "max_retries", max_retries) - pulumi.set(__self__, "per_retry_timeouts", per_retry_timeouts) - pulumi.set(__self__, "tcp_retry_events", tcp_retry_events) + exact: str, + suffix: str): + pulumi.set(__self__, "exact", exact) + pulumi.set(__self__, "suffix", suffix) @property - @pulumi.getter(name="grpcRetryEvents") - def grpc_retry_events(self) -> Sequence[str]: - return pulumi.get(self, "grpc_retry_events") + @pulumi.getter + def exact(self) -> str: + return pulumi.get(self, "exact") @property - @pulumi.getter(name="httpRetryEvents") - def http_retry_events(self) -> Sequence[str]: - return pulumi.get(self, "http_retry_events") + @pulumi.getter + def suffix(self) -> str: + return pulumi.get(self, "suffix") - @property - @pulumi.getter(name="maxRetries") - def max_retries(self) -> int: - return pulumi.get(self, "max_retries") + +@pulumi.output_type +class GetGatewayRouteSpecHttp2RouteMatchPathResult(dict): + def __init__(__self__, *, + exact: str, + regex: str): + pulumi.set(__self__, "exact", exact) + pulumi.set(__self__, "regex", regex) @property - @pulumi.getter(name="perRetryTimeouts") - def per_retry_timeouts(self) -> Sequence['outputs.GetRouteSpecGrpcRouteRetryPolicyPerRetryTimeoutResult']: - return pulumi.get(self, "per_retry_timeouts") + @pulumi.getter + def exact(self) -> str: + return pulumi.get(self, "exact") @property - @pulumi.getter(name="tcpRetryEvents") - def tcp_retry_events(self) -> Sequence[str]: - return pulumi.get(self, "tcp_retry_events") + @pulumi.getter + def regex(self) -> str: + return pulumi.get(self, "regex") @pulumi.output_type -class GetRouteSpecGrpcRouteRetryPolicyPerRetryTimeoutResult(dict): +class GetGatewayRouteSpecHttp2RouteMatchQueryParameterResult(dict): def __init__(__self__, *, - unit: str, - value: int): - pulumi.set(__self__, "unit", unit) - pulumi.set(__self__, "value", value) + matches: Sequence['outputs.GetGatewayRouteSpecHttp2RouteMatchQueryParameterMatchResult'], + name: str): + """ + :param str name: Name of the gateway route. + """ + pulumi.set(__self__, "matches", matches) + pulumi.set(__self__, "name", name) @property @pulumi.getter - def unit(self) -> str: - return pulumi.get(self, "unit") + def matches(self) -> Sequence['outputs.GetGatewayRouteSpecHttp2RouteMatchQueryParameterMatchResult']: + return pulumi.get(self, "matches") @property @pulumi.getter - def value(self) -> int: - return pulumi.get(self, "value") + def name(self) -> str: + """ + Name of the gateway route. + """ + return pulumi.get(self, "name") @pulumi.output_type -class GetRouteSpecGrpcRouteTimeoutResult(dict): +class GetGatewayRouteSpecHttp2RouteMatchQueryParameterMatchResult(dict): def __init__(__self__, *, - idles: Sequence['outputs.GetRouteSpecGrpcRouteTimeoutIdleResult'], - per_requests: Sequence['outputs.GetRouteSpecGrpcRouteTimeoutPerRequestResult']): - pulumi.set(__self__, "idles", idles) - pulumi.set(__self__, "per_requests", per_requests) + exact: str): + pulumi.set(__self__, "exact", exact) @property @pulumi.getter - def idles(self) -> Sequence['outputs.GetRouteSpecGrpcRouteTimeoutIdleResult']: - return pulumi.get(self, "idles") - - @property - @pulumi.getter(name="perRequests") - def per_requests(self) -> Sequence['outputs.GetRouteSpecGrpcRouteTimeoutPerRequestResult']: - return pulumi.get(self, "per_requests") + def exact(self) -> str: + return pulumi.get(self, "exact") @pulumi.output_type -class GetRouteSpecGrpcRouteTimeoutIdleResult(dict): +class GetGatewayRouteSpecHttpRouteResult(dict): def __init__(__self__, *, - unit: str, - value: int): - pulumi.set(__self__, "unit", unit) - pulumi.set(__self__, "value", value) + actions: Sequence['outputs.GetGatewayRouteSpecHttpRouteActionResult'], + matches: Sequence['outputs.GetGatewayRouteSpecHttpRouteMatchResult']): + pulumi.set(__self__, "actions", actions) + pulumi.set(__self__, "matches", matches) @property @pulumi.getter - def unit(self) -> str: - return pulumi.get(self, "unit") + def actions(self) -> Sequence['outputs.GetGatewayRouteSpecHttpRouteActionResult']: + return pulumi.get(self, "actions") @property @pulumi.getter - def value(self) -> int: - return pulumi.get(self, "value") + def matches(self) -> Sequence['outputs.GetGatewayRouteSpecHttpRouteMatchResult']: + return pulumi.get(self, "matches") @pulumi.output_type -class GetRouteSpecGrpcRouteTimeoutPerRequestResult(dict): +class GetGatewayRouteSpecHttpRouteActionResult(dict): def __init__(__self__, *, - unit: str, - value: int): - pulumi.set(__self__, "unit", unit) - pulumi.set(__self__, "value", value) + rewrites: Sequence['outputs.GetGatewayRouteSpecHttpRouteActionRewriteResult'], + targets: Sequence['outputs.GetGatewayRouteSpecHttpRouteActionTargetResult']): + pulumi.set(__self__, "rewrites", rewrites) + pulumi.set(__self__, "targets", targets) @property @pulumi.getter - def unit(self) -> str: - return pulumi.get(self, "unit") + def rewrites(self) -> Sequence['outputs.GetGatewayRouteSpecHttpRouteActionRewriteResult']: + return pulumi.get(self, "rewrites") @property @pulumi.getter - def value(self) -> int: - return pulumi.get(self, "value") + def targets(self) -> Sequence['outputs.GetGatewayRouteSpecHttpRouteActionTargetResult']: + return pulumi.get(self, "targets") @pulumi.output_type -class GetRouteSpecHttp2RouteResult(dict): +class GetGatewayRouteSpecHttpRouteActionRewriteResult(dict): def __init__(__self__, *, - actions: Sequence['outputs.GetRouteSpecHttp2RouteActionResult'], - matches: Sequence['outputs.GetRouteSpecHttp2RouteMatchResult'], - retry_policies: Sequence['outputs.GetRouteSpecHttp2RouteRetryPolicyResult'], - timeouts: Sequence['outputs.GetRouteSpecHttp2RouteTimeoutResult']): - """ - :param Sequence['GetRouteSpecHttp2RouteActionArgs'] actions: Action to take if a match is determined. - :param Sequence['GetRouteSpecHttp2RouteMatchArgs'] matches: Criteria for determining an HTTP request match. - :param Sequence['GetRouteSpecHttp2RouteRetryPolicyArgs'] retry_policies: Retry policy. - :param Sequence['GetRouteSpecHttp2RouteTimeoutArgs'] timeouts: Types of timeouts. - """ - pulumi.set(__self__, "actions", actions) - pulumi.set(__self__, "matches", matches) - pulumi.set(__self__, "retry_policies", retry_policies) - pulumi.set(__self__, "timeouts", timeouts) + hostnames: Sequence['outputs.GetGatewayRouteSpecHttpRouteActionRewriteHostnameResult'], + prefixes: Sequence['outputs.GetGatewayRouteSpecHttpRouteActionRewritePrefixResult']): + pulumi.set(__self__, "hostnames", hostnames) + pulumi.set(__self__, "prefixes", prefixes) @property @pulumi.getter - def actions(self) -> Sequence['outputs.GetRouteSpecHttp2RouteActionResult']: - """ - Action to take if a match is determined. - """ - return pulumi.get(self, "actions") + def hostnames(self) -> Sequence['outputs.GetGatewayRouteSpecHttpRouteActionRewriteHostnameResult']: + return pulumi.get(self, "hostnames") @property @pulumi.getter - def matches(self) -> Sequence['outputs.GetRouteSpecHttp2RouteMatchResult']: - """ - Criteria for determining an HTTP request match. - """ - return pulumi.get(self, "matches") + def prefixes(self) -> Sequence['outputs.GetGatewayRouteSpecHttpRouteActionRewritePrefixResult']: + return pulumi.get(self, "prefixes") - @property - @pulumi.getter(name="retryPolicies") - def retry_policies(self) -> Sequence['outputs.GetRouteSpecHttp2RouteRetryPolicyResult']: - """ - Retry policy. - """ - return pulumi.get(self, "retry_policies") + +@pulumi.output_type +class GetGatewayRouteSpecHttpRouteActionRewriteHostnameResult(dict): + def __init__(__self__, *, + default_target_hostname: str): + pulumi.set(__self__, "default_target_hostname", default_target_hostname) @property - @pulumi.getter - def timeouts(self) -> Sequence['outputs.GetRouteSpecHttp2RouteTimeoutResult']: - """ - Types of timeouts. - """ - return pulumi.get(self, "timeouts") + @pulumi.getter(name="defaultTargetHostname") + def default_target_hostname(self) -> str: + return pulumi.get(self, "default_target_hostname") @pulumi.output_type -class GetRouteSpecHttp2RouteActionResult(dict): +class GetGatewayRouteSpecHttpRouteActionRewritePrefixResult(dict): def __init__(__self__, *, - weighted_targets: Sequence['outputs.GetRouteSpecHttp2RouteActionWeightedTargetResult']): - pulumi.set(__self__, "weighted_targets", weighted_targets) + default_prefix: str, + value: str): + pulumi.set(__self__, "default_prefix", default_prefix) + pulumi.set(__self__, "value", value) @property - @pulumi.getter(name="weightedTargets") - def weighted_targets(self) -> Sequence['outputs.GetRouteSpecHttp2RouteActionWeightedTargetResult']: - return pulumi.get(self, "weighted_targets") + @pulumi.getter(name="defaultPrefix") + def default_prefix(self) -> str: + return pulumi.get(self, "default_prefix") + + @property + @pulumi.getter + def value(self) -> str: + return pulumi.get(self, "value") @pulumi.output_type -class GetRouteSpecHttp2RouteActionWeightedTargetResult(dict): +class GetGatewayRouteSpecHttpRouteActionTargetResult(dict): def __init__(__self__, *, port: int, - virtual_node: str, - weight: int): + virtual_services: Sequence['outputs.GetGatewayRouteSpecHttpRouteActionTargetVirtualServiceResult']): pulumi.set(__self__, "port", port) - pulumi.set(__self__, "virtual_node", virtual_node) - pulumi.set(__self__, "weight", weight) + pulumi.set(__self__, "virtual_services", virtual_services) @property @pulumi.getter @@ -8159,39 +9201,53 @@ def port(self) -> int: return pulumi.get(self, "port") @property - @pulumi.getter(name="virtualNode") - def virtual_node(self) -> str: - return pulumi.get(self, "virtual_node") + @pulumi.getter(name="virtualServices") + def virtual_services(self) -> Sequence['outputs.GetGatewayRouteSpecHttpRouteActionTargetVirtualServiceResult']: + return pulumi.get(self, "virtual_services") + + +@pulumi.output_type +class GetGatewayRouteSpecHttpRouteActionTargetVirtualServiceResult(dict): + def __init__(__self__, *, + virtual_service_name: str): + pulumi.set(__self__, "virtual_service_name", virtual_service_name) @property - @pulumi.getter - def weight(self) -> int: - return pulumi.get(self, "weight") + @pulumi.getter(name="virtualServiceName") + def virtual_service_name(self) -> str: + return pulumi.get(self, "virtual_service_name") @pulumi.output_type -class GetRouteSpecHttp2RouteMatchResult(dict): +class GetGatewayRouteSpecHttpRouteMatchResult(dict): def __init__(__self__, *, - headers: Sequence['outputs.GetRouteSpecHttp2RouteMatchHeaderResult'], - method: str, + headers: Sequence['outputs.GetGatewayRouteSpecHttpRouteMatchHeaderResult'], + hostnames: Sequence['outputs.GetGatewayRouteSpecHttpRouteMatchHostnameResult'], + paths: Sequence['outputs.GetGatewayRouteSpecHttpRouteMatchPathResult'], port: int, prefix: str, - scheme: str): + query_parameters: Sequence['outputs.GetGatewayRouteSpecHttpRouteMatchQueryParameterResult']): pulumi.set(__self__, "headers", headers) - pulumi.set(__self__, "method", method) + pulumi.set(__self__, "hostnames", hostnames) + pulumi.set(__self__, "paths", paths) pulumi.set(__self__, "port", port) pulumi.set(__self__, "prefix", prefix) - pulumi.set(__self__, "scheme", scheme) + pulumi.set(__self__, "query_parameters", query_parameters) @property @pulumi.getter - def headers(self) -> Sequence['outputs.GetRouteSpecHttp2RouteMatchHeaderResult']: + def headers(self) -> Sequence['outputs.GetGatewayRouteSpecHttpRouteMatchHeaderResult']: return pulumi.get(self, "headers") @property @pulumi.getter - def method(self) -> str: - return pulumi.get(self, "method") + def hostnames(self) -> Sequence['outputs.GetGatewayRouteSpecHttpRouteMatchHostnameResult']: + return pulumi.get(self, "hostnames") + + @property + @pulumi.getter + def paths(self) -> Sequence['outputs.GetGatewayRouteSpecHttpRouteMatchPathResult']: + return pulumi.get(self, "paths") @property @pulumi.getter @@ -8204,20 +9260,19 @@ def prefix(self) -> str: return pulumi.get(self, "prefix") @property - @pulumi.getter - def scheme(self) -> str: - return pulumi.get(self, "scheme") + @pulumi.getter(name="queryParameters") + def query_parameters(self) -> Sequence['outputs.GetGatewayRouteSpecHttpRouteMatchQueryParameterResult']: + return pulumi.get(self, "query_parameters") @pulumi.output_type -class GetRouteSpecHttp2RouteMatchHeaderResult(dict): +class GetGatewayRouteSpecHttpRouteMatchHeaderResult(dict): def __init__(__self__, *, invert: bool, - matches: Sequence['outputs.GetRouteSpecHttp2RouteMatchHeaderMatchResult'], + matches: Sequence['outputs.GetGatewayRouteSpecHttpRouteMatchHeaderMatchResult'], name: str): """ - :param Sequence['GetRouteSpecHttp2RouteMatchHeaderMatchArgs'] matches: Criteria for determining an HTTP request match. - :param str name: Name of the route. + :param str name: Name of the gateway route. """ pulumi.set(__self__, "invert", invert) pulumi.set(__self__, "matches", matches) @@ -8230,27 +9285,24 @@ def invert(self) -> bool: @property @pulumi.getter - def matches(self) -> Sequence['outputs.GetRouteSpecHttp2RouteMatchHeaderMatchResult']: - """ - Criteria for determining an HTTP request match. - """ + def matches(self) -> Sequence['outputs.GetGatewayRouteSpecHttpRouteMatchHeaderMatchResult']: return pulumi.get(self, "matches") @property @pulumi.getter def name(self) -> str: """ - Name of the route. + Name of the gateway route. """ return pulumi.get(self, "name") @pulumi.output_type -class GetRouteSpecHttp2RouteMatchHeaderMatchResult(dict): +class GetGatewayRouteSpecHttpRouteMatchHeaderMatchResult(dict): def __init__(__self__, *, exact: str, prefix: str, - ranges: Sequence['outputs.GetRouteSpecHttp2RouteMatchHeaderMatchRangeResult'], + ranges: Sequence['outputs.GetGatewayRouteSpecHttpRouteMatchHeaderMatchRangeResult'], regex: str, suffix: str): pulumi.set(__self__, "exact", exact) @@ -8271,7 +9323,7 @@ def prefix(self) -> str: @property @pulumi.getter - def ranges(self) -> Sequence['outputs.GetRouteSpecHttp2RouteMatchHeaderMatchRangeResult']: + def ranges(self) -> Sequence['outputs.GetGatewayRouteSpecHttpRouteMatchHeaderMatchRangeResult']: return pulumi.get(self, "ranges") @property @@ -8286,7 +9338,7 @@ def suffix(self) -> str: @pulumi.output_type -class GetRouteSpecHttp2RouteMatchHeaderMatchRangeResult(dict): +class GetGatewayRouteSpecHttpRouteMatchHeaderMatchRangeResult(dict): def __init__(__self__, *, end: int, start: int): @@ -8305,127 +9357,151 @@ def start(self) -> int: @pulumi.output_type -class GetRouteSpecHttp2RouteRetryPolicyResult(dict): +class GetGatewayRouteSpecHttpRouteMatchHostnameResult(dict): def __init__(__self__, *, - http_retry_events: Sequence[str], - max_retries: int, - per_retry_timeouts: Sequence['outputs.GetRouteSpecHttp2RouteRetryPolicyPerRetryTimeoutResult'], - tcp_retry_events: Sequence[str]): - pulumi.set(__self__, "http_retry_events", http_retry_events) - pulumi.set(__self__, "max_retries", max_retries) - pulumi.set(__self__, "per_retry_timeouts", per_retry_timeouts) - pulumi.set(__self__, "tcp_retry_events", tcp_retry_events) - - @property - @pulumi.getter(name="httpRetryEvents") - def http_retry_events(self) -> Sequence[str]: - return pulumi.get(self, "http_retry_events") - - @property - @pulumi.getter(name="maxRetries") - def max_retries(self) -> int: - return pulumi.get(self, "max_retries") + exact: str, + suffix: str): + pulumi.set(__self__, "exact", exact) + pulumi.set(__self__, "suffix", suffix) @property - @pulumi.getter(name="perRetryTimeouts") - def per_retry_timeouts(self) -> Sequence['outputs.GetRouteSpecHttp2RouteRetryPolicyPerRetryTimeoutResult']: - return pulumi.get(self, "per_retry_timeouts") + @pulumi.getter + def exact(self) -> str: + return pulumi.get(self, "exact") @property - @pulumi.getter(name="tcpRetryEvents") - def tcp_retry_events(self) -> Sequence[str]: - return pulumi.get(self, "tcp_retry_events") + @pulumi.getter + def suffix(self) -> str: + return pulumi.get(self, "suffix") @pulumi.output_type -class GetRouteSpecHttp2RouteRetryPolicyPerRetryTimeoutResult(dict): +class GetGatewayRouteSpecHttpRouteMatchPathResult(dict): def __init__(__self__, *, - unit: str, - value: int): - pulumi.set(__self__, "unit", unit) - pulumi.set(__self__, "value", value) + exact: str, + regex: str): + pulumi.set(__self__, "exact", exact) + pulumi.set(__self__, "regex", regex) @property @pulumi.getter - def unit(self) -> str: - return pulumi.get(self, "unit") + def exact(self) -> str: + return pulumi.get(self, "exact") @property @pulumi.getter - def value(self) -> int: - return pulumi.get(self, "value") + def regex(self) -> str: + return pulumi.get(self, "regex") @pulumi.output_type -class GetRouteSpecHttp2RouteTimeoutResult(dict): +class GetGatewayRouteSpecHttpRouteMatchQueryParameterResult(dict): def __init__(__self__, *, - idles: Sequence['outputs.GetRouteSpecHttp2RouteTimeoutIdleResult'], - per_requests: Sequence['outputs.GetRouteSpecHttp2RouteTimeoutPerRequestResult']): - pulumi.set(__self__, "idles", idles) - pulumi.set(__self__, "per_requests", per_requests) + matches: Sequence['outputs.GetGatewayRouteSpecHttpRouteMatchQueryParameterMatchResult'], + name: str): + """ + :param str name: Name of the gateway route. + """ + pulumi.set(__self__, "matches", matches) + pulumi.set(__self__, "name", name) @property @pulumi.getter - def idles(self) -> Sequence['outputs.GetRouteSpecHttp2RouteTimeoutIdleResult']: - return pulumi.get(self, "idles") + def matches(self) -> Sequence['outputs.GetGatewayRouteSpecHttpRouteMatchQueryParameterMatchResult']: + return pulumi.get(self, "matches") @property - @pulumi.getter(name="perRequests") - def per_requests(self) -> Sequence['outputs.GetRouteSpecHttp2RouteTimeoutPerRequestResult']: - return pulumi.get(self, "per_requests") - + @pulumi.getter + def name(self) -> str: + """ + Name of the gateway route. + """ + return pulumi.get(self, "name") + @pulumi.output_type -class GetRouteSpecHttp2RouteTimeoutIdleResult(dict): +class GetGatewayRouteSpecHttpRouteMatchQueryParameterMatchResult(dict): def __init__(__self__, *, - unit: str, - value: int): - pulumi.set(__self__, "unit", unit) - pulumi.set(__self__, "value", value) + exact: str): + pulumi.set(__self__, "exact", exact) @property @pulumi.getter - def unit(self) -> str: - return pulumi.get(self, "unit") + def exact(self) -> str: + return pulumi.get(self, "exact") + + +@pulumi.output_type +class GetMeshSpecResult(dict): + def __init__(__self__, *, + egress_filters: Sequence['outputs.GetMeshSpecEgressFilterResult']): + pulumi.set(__self__, "egress_filters", egress_filters) @property - @pulumi.getter - def value(self) -> int: - return pulumi.get(self, "value") + @pulumi.getter(name="egressFilters") + def egress_filters(self) -> Sequence['outputs.GetMeshSpecEgressFilterResult']: + return pulumi.get(self, "egress_filters") @pulumi.output_type -class GetRouteSpecHttp2RouteTimeoutPerRequestResult(dict): +class GetMeshSpecEgressFilterResult(dict): def __init__(__self__, *, - unit: str, - value: int): - pulumi.set(__self__, "unit", unit) - pulumi.set(__self__, "value", value) + type: str): + pulumi.set(__self__, "type", type) @property @pulumi.getter - def unit(self) -> str: - return pulumi.get(self, "unit") + def type(self) -> str: + return pulumi.get(self, "type") + + +@pulumi.output_type +class GetRouteSpecResult(dict): + def __init__(__self__, *, + grpc_routes: Sequence['outputs.GetRouteSpecGrpcRouteResult'], + http2_routes: Sequence['outputs.GetRouteSpecHttp2RouteResult'], + http_routes: Sequence['outputs.GetRouteSpecHttpRouteResult'], + priority: int, + tcp_routes: Sequence['outputs.GetRouteSpecTcpRouteResult']): + pulumi.set(__self__, "grpc_routes", grpc_routes) + pulumi.set(__self__, "http2_routes", http2_routes) + pulumi.set(__self__, "http_routes", http_routes) + pulumi.set(__self__, "priority", priority) + pulumi.set(__self__, "tcp_routes", tcp_routes) + + @property + @pulumi.getter(name="grpcRoutes") + def grpc_routes(self) -> Sequence['outputs.GetRouteSpecGrpcRouteResult']: + return pulumi.get(self, "grpc_routes") + + @property + @pulumi.getter(name="http2Routes") + def http2_routes(self) -> Sequence['outputs.GetRouteSpecHttp2RouteResult']: + return pulumi.get(self, "http2_routes") + + @property + @pulumi.getter(name="httpRoutes") + def http_routes(self) -> Sequence['outputs.GetRouteSpecHttpRouteResult']: + return pulumi.get(self, "http_routes") @property @pulumi.getter - def value(self) -> int: - return pulumi.get(self, "value") + def priority(self) -> int: + return pulumi.get(self, "priority") + + @property + @pulumi.getter(name="tcpRoutes") + def tcp_routes(self) -> Sequence['outputs.GetRouteSpecTcpRouteResult']: + return pulumi.get(self, "tcp_routes") @pulumi.output_type -class GetRouteSpecHttpRouteResult(dict): +class GetRouteSpecGrpcRouteResult(dict): def __init__(__self__, *, - actions: Sequence['outputs.GetRouteSpecHttpRouteActionResult'], - matches: Sequence['outputs.GetRouteSpecHttpRouteMatchResult'], - retry_policies: Sequence['outputs.GetRouteSpecHttpRouteRetryPolicyResult'], - timeouts: Sequence['outputs.GetRouteSpecHttpRouteTimeoutResult']): - """ - :param Sequence['GetRouteSpecHttpRouteActionArgs'] actions: Action to take if a match is determined. - :param Sequence['GetRouteSpecHttpRouteMatchArgs'] matches: Criteria for determining an HTTP request match. - :param Sequence['GetRouteSpecHttpRouteRetryPolicyArgs'] retry_policies: Retry policy. - :param Sequence['GetRouteSpecHttpRouteTimeoutArgs'] timeouts: Types of timeouts. - """ + actions: Sequence['outputs.GetRouteSpecGrpcRouteActionResult'], + matches: Sequence['outputs.GetRouteSpecGrpcRouteMatchResult'], + retry_policies: Sequence['outputs.GetRouteSpecGrpcRouteRetryPolicyResult'], + timeouts: Sequence['outputs.GetRouteSpecGrpcRouteTimeoutResult']): pulumi.set(__self__, "actions", actions) pulumi.set(__self__, "matches", matches) pulumi.set(__self__, "retry_policies", retry_policies) @@ -8433,51 +9509,39 @@ def __init__(__self__, *, @property @pulumi.getter - def actions(self) -> Sequence['outputs.GetRouteSpecHttpRouteActionResult']: - """ - Action to take if a match is determined. - """ + def actions(self) -> Sequence['outputs.GetRouteSpecGrpcRouteActionResult']: return pulumi.get(self, "actions") @property @pulumi.getter - def matches(self) -> Sequence['outputs.GetRouteSpecHttpRouteMatchResult']: - """ - Criteria for determining an HTTP request match. - """ + def matches(self) -> Sequence['outputs.GetRouteSpecGrpcRouteMatchResult']: return pulumi.get(self, "matches") @property @pulumi.getter(name="retryPolicies") - def retry_policies(self) -> Sequence['outputs.GetRouteSpecHttpRouteRetryPolicyResult']: - """ - Retry policy. - """ + def retry_policies(self) -> Sequence['outputs.GetRouteSpecGrpcRouteRetryPolicyResult']: return pulumi.get(self, "retry_policies") @property @pulumi.getter - def timeouts(self) -> Sequence['outputs.GetRouteSpecHttpRouteTimeoutResult']: - """ - Types of timeouts. - """ + def timeouts(self) -> Sequence['outputs.GetRouteSpecGrpcRouteTimeoutResult']: return pulumi.get(self, "timeouts") @pulumi.output_type -class GetRouteSpecHttpRouteActionResult(dict): +class GetRouteSpecGrpcRouteActionResult(dict): def __init__(__self__, *, - weighted_targets: Sequence['outputs.GetRouteSpecHttpRouteActionWeightedTargetResult']): + weighted_targets: Sequence['outputs.GetRouteSpecGrpcRouteActionWeightedTargetResult']): pulumi.set(__self__, "weighted_targets", weighted_targets) @property @pulumi.getter(name="weightedTargets") - def weighted_targets(self) -> Sequence['outputs.GetRouteSpecHttpRouteActionWeightedTargetResult']: + def weighted_targets(self) -> Sequence['outputs.GetRouteSpecGrpcRouteActionWeightedTargetResult']: return pulumi.get(self, "weighted_targets") @pulumi.output_type -class GetRouteSpecHttpRouteActionWeightedTargetResult(dict): +class GetRouteSpecGrpcRouteActionWeightedTargetResult(dict): def __init__(__self__, *, port: int, virtual_node: str, @@ -8503,28 +9567,28 @@ def weight(self) -> int: @pulumi.output_type -class GetRouteSpecHttpRouteMatchResult(dict): +class GetRouteSpecGrpcRouteMatchResult(dict): def __init__(__self__, *, - headers: Sequence['outputs.GetRouteSpecHttpRouteMatchHeaderResult'], - method: str, + metadatas: Sequence['outputs.GetRouteSpecGrpcRouteMatchMetadataResult'], + method_name: str, port: int, prefix: str, - scheme: str): - pulumi.set(__self__, "headers", headers) - pulumi.set(__self__, "method", method) + service_name: str): + pulumi.set(__self__, "metadatas", metadatas) + pulumi.set(__self__, "method_name", method_name) pulumi.set(__self__, "port", port) pulumi.set(__self__, "prefix", prefix) - pulumi.set(__self__, "scheme", scheme) + pulumi.set(__self__, "service_name", service_name) @property @pulumi.getter - def headers(self) -> Sequence['outputs.GetRouteSpecHttpRouteMatchHeaderResult']: - return pulumi.get(self, "headers") + def metadatas(self) -> Sequence['outputs.GetRouteSpecGrpcRouteMatchMetadataResult']: + return pulumi.get(self, "metadatas") @property - @pulumi.getter - def method(self) -> str: - return pulumi.get(self, "method") + @pulumi.getter(name="methodName") + def method_name(self) -> str: + return pulumi.get(self, "method_name") @property @pulumi.getter @@ -8537,19 +9601,18 @@ def prefix(self) -> str: return pulumi.get(self, "prefix") @property - @pulumi.getter - def scheme(self) -> str: - return pulumi.get(self, "scheme") + @pulumi.getter(name="serviceName") + def service_name(self) -> str: + return pulumi.get(self, "service_name") @pulumi.output_type -class GetRouteSpecHttpRouteMatchHeaderResult(dict): +class GetRouteSpecGrpcRouteMatchMetadataResult(dict): def __init__(__self__, *, invert: bool, - matches: Sequence['outputs.GetRouteSpecHttpRouteMatchHeaderMatchResult'], + matches: Sequence['outputs.GetRouteSpecGrpcRouteMatchMetadataMatchResult'], name: str): """ - :param Sequence['GetRouteSpecHttpRouteMatchHeaderMatchArgs'] matches: Criteria for determining an HTTP request match. :param str name: Name of the route. """ pulumi.set(__self__, "invert", invert) @@ -8563,10 +9626,7 @@ def invert(self) -> bool: @property @pulumi.getter - def matches(self) -> Sequence['outputs.GetRouteSpecHttpRouteMatchHeaderMatchResult']: - """ - Criteria for determining an HTTP request match. - """ + def matches(self) -> Sequence['outputs.GetRouteSpecGrpcRouteMatchMetadataMatchResult']: return pulumi.get(self, "matches") @property @@ -8579,11 +9639,11 @@ def name(self) -> str: @pulumi.output_type -class GetRouteSpecHttpRouteMatchHeaderMatchResult(dict): +class GetRouteSpecGrpcRouteMatchMetadataMatchResult(dict): def __init__(__self__, *, exact: str, prefix: str, - ranges: Sequence['outputs.GetRouteSpecHttpRouteMatchHeaderMatchRangeResult'], + ranges: Sequence['outputs.GetRouteSpecGrpcRouteMatchMetadataMatchRangeResult'], regex: str, suffix: str): pulumi.set(__self__, "exact", exact) @@ -8604,7 +9664,7 @@ def prefix(self) -> str: @property @pulumi.getter - def ranges(self) -> Sequence['outputs.GetRouteSpecHttpRouteMatchHeaderMatchRangeResult']: + def ranges(self) -> Sequence['outputs.GetRouteSpecGrpcRouteMatchMetadataMatchRangeResult']: return pulumi.get(self, "ranges") @property @@ -8619,7 +9679,7 @@ def suffix(self) -> str: @pulumi.output_type -class GetRouteSpecHttpRouteMatchHeaderMatchRangeResult(dict): +class GetRouteSpecGrpcRouteMatchMetadataMatchRangeResult(dict): def __init__(__self__, *, end: int, start: int): @@ -8638,17 +9698,24 @@ def start(self) -> int: @pulumi.output_type -class GetRouteSpecHttpRouteRetryPolicyResult(dict): +class GetRouteSpecGrpcRouteRetryPolicyResult(dict): def __init__(__self__, *, + grpc_retry_events: Sequence[str], http_retry_events: Sequence[str], max_retries: int, - per_retry_timeouts: Sequence['outputs.GetRouteSpecHttpRouteRetryPolicyPerRetryTimeoutResult'], + per_retry_timeouts: Sequence['outputs.GetRouteSpecGrpcRouteRetryPolicyPerRetryTimeoutResult'], tcp_retry_events: Sequence[str]): + pulumi.set(__self__, "grpc_retry_events", grpc_retry_events) pulumi.set(__self__, "http_retry_events", http_retry_events) pulumi.set(__self__, "max_retries", max_retries) pulumi.set(__self__, "per_retry_timeouts", per_retry_timeouts) pulumi.set(__self__, "tcp_retry_events", tcp_retry_events) + @property + @pulumi.getter(name="grpcRetryEvents") + def grpc_retry_events(self) -> Sequence[str]: + return pulumi.get(self, "grpc_retry_events") + @property @pulumi.getter(name="httpRetryEvents") def http_retry_events(self) -> Sequence[str]: @@ -8661,7 +9728,7 @@ def max_retries(self) -> int: @property @pulumi.getter(name="perRetryTimeouts") - def per_retry_timeouts(self) -> Sequence['outputs.GetRouteSpecHttpRouteRetryPolicyPerRetryTimeoutResult']: + def per_retry_timeouts(self) -> Sequence['outputs.GetRouteSpecGrpcRouteRetryPolicyPerRetryTimeoutResult']: return pulumi.get(self, "per_retry_timeouts") @property @@ -8671,7 +9738,7 @@ def tcp_retry_events(self) -> Sequence[str]: @pulumi.output_type -class GetRouteSpecHttpRouteRetryPolicyPerRetryTimeoutResult(dict): +class GetRouteSpecGrpcRouteRetryPolicyPerRetryTimeoutResult(dict): def __init__(__self__, *, unit: str, value: int): @@ -8690,26 +9757,26 @@ def value(self) -> int: @pulumi.output_type -class GetRouteSpecHttpRouteTimeoutResult(dict): +class GetRouteSpecGrpcRouteTimeoutResult(dict): def __init__(__self__, *, - idles: Sequence['outputs.GetRouteSpecHttpRouteTimeoutIdleResult'], - per_requests: Sequence['outputs.GetRouteSpecHttpRouteTimeoutPerRequestResult']): + idles: Sequence['outputs.GetRouteSpecGrpcRouteTimeoutIdleResult'], + per_requests: Sequence['outputs.GetRouteSpecGrpcRouteTimeoutPerRequestResult']): pulumi.set(__self__, "idles", idles) pulumi.set(__self__, "per_requests", per_requests) @property @pulumi.getter - def idles(self) -> Sequence['outputs.GetRouteSpecHttpRouteTimeoutIdleResult']: + def idles(self) -> Sequence['outputs.GetRouteSpecGrpcRouteTimeoutIdleResult']: return pulumi.get(self, "idles") @property @pulumi.getter(name="perRequests") - def per_requests(self) -> Sequence['outputs.GetRouteSpecHttpRouteTimeoutPerRequestResult']: + def per_requests(self) -> Sequence['outputs.GetRouteSpecGrpcRouteTimeoutPerRequestResult']: return pulumi.get(self, "per_requests") @pulumi.output_type -class GetRouteSpecHttpRouteTimeoutIdleResult(dict): +class GetRouteSpecGrpcRouteTimeoutIdleResult(dict): def __init__(__self__, *, unit: str, value: int): @@ -8728,7 +9795,7 @@ def value(self) -> int: @pulumi.output_type -class GetRouteSpecHttpRouteTimeoutPerRequestResult(dict): +class GetRouteSpecGrpcRouteTimeoutPerRequestResult(dict): def __init__(__self__, *, unit: str, value: int): @@ -8747,59 +9814,52 @@ def value(self) -> int: @pulumi.output_type -class GetRouteSpecTcpRouteResult(dict): +class GetRouteSpecHttp2RouteResult(dict): def __init__(__self__, *, - actions: Sequence['outputs.GetRouteSpecTcpRouteActionResult'], - matches: Sequence['outputs.GetRouteSpecTcpRouteMatchResult'], - timeouts: Sequence['outputs.GetRouteSpecTcpRouteTimeoutResult']): - """ - :param Sequence['GetRouteSpecTcpRouteActionArgs'] actions: Action to take if a match is determined. - :param Sequence['GetRouteSpecTcpRouteMatchArgs'] matches: Criteria for determining an HTTP request match. - :param Sequence['GetRouteSpecTcpRouteTimeoutArgs'] timeouts: Types of timeouts. - """ + actions: Sequence['outputs.GetRouteSpecHttp2RouteActionResult'], + matches: Sequence['outputs.GetRouteSpecHttp2RouteMatchResult'], + retry_policies: Sequence['outputs.GetRouteSpecHttp2RouteRetryPolicyResult'], + timeouts: Sequence['outputs.GetRouteSpecHttp2RouteTimeoutResult']): pulumi.set(__self__, "actions", actions) pulumi.set(__self__, "matches", matches) + pulumi.set(__self__, "retry_policies", retry_policies) pulumi.set(__self__, "timeouts", timeouts) @property @pulumi.getter - def actions(self) -> Sequence['outputs.GetRouteSpecTcpRouteActionResult']: - """ - Action to take if a match is determined. - """ + def actions(self) -> Sequence['outputs.GetRouteSpecHttp2RouteActionResult']: return pulumi.get(self, "actions") @property @pulumi.getter - def matches(self) -> Sequence['outputs.GetRouteSpecTcpRouteMatchResult']: - """ - Criteria for determining an HTTP request match. - """ + def matches(self) -> Sequence['outputs.GetRouteSpecHttp2RouteMatchResult']: return pulumi.get(self, "matches") + @property + @pulumi.getter(name="retryPolicies") + def retry_policies(self) -> Sequence['outputs.GetRouteSpecHttp2RouteRetryPolicyResult']: + return pulumi.get(self, "retry_policies") + @property @pulumi.getter - def timeouts(self) -> Sequence['outputs.GetRouteSpecTcpRouteTimeoutResult']: - """ - Types of timeouts. - """ + def timeouts(self) -> Sequence['outputs.GetRouteSpecHttp2RouteTimeoutResult']: return pulumi.get(self, "timeouts") @pulumi.output_type -class GetRouteSpecTcpRouteActionResult(dict): +class GetRouteSpecHttp2RouteActionResult(dict): def __init__(__self__, *, - weighted_targets: Sequence['outputs.GetRouteSpecTcpRouteActionWeightedTargetResult']): + weighted_targets: Sequence['outputs.GetRouteSpecHttp2RouteActionWeightedTargetResult']): pulumi.set(__self__, "weighted_targets", weighted_targets) @property @pulumi.getter(name="weightedTargets") - def weighted_targets(self) -> Sequence['outputs.GetRouteSpecTcpRouteActionWeightedTargetResult']: + def weighted_targets(self) -> Sequence['outputs.GetRouteSpecHttp2RouteActionWeightedTargetResult']: return pulumi.get(self, "weighted_targets") @pulumi.output_type -class GetRouteSpecTcpRouteActionWeightedTargetResult(dict): +class GetRouteSpecHttp2RouteActionWeightedTargetResult(dict): def __init__(__self__, *, port: int, virtual_node: str, @@ -8825,1026 +9885,2710 @@ def weight(self) -> int: @pulumi.output_type -class GetRouteSpecTcpRouteMatchResult(dict): +class GetRouteSpecHttp2RouteMatchResult(dict): def __init__(__self__, *, - port: int): + headers: Sequence['outputs.GetRouteSpecHttp2RouteMatchHeaderResult'], + method: str, + paths: Sequence['outputs.GetRouteSpecHttp2RouteMatchPathResult'], + port: int, + prefix: str, + query_parameters: Sequence['outputs.GetRouteSpecHttp2RouteMatchQueryParameterResult'], + scheme: str): + pulumi.set(__self__, "headers", headers) + pulumi.set(__self__, "method", method) + pulumi.set(__self__, "paths", paths) pulumi.set(__self__, "port", port) + pulumi.set(__self__, "prefix", prefix) + pulumi.set(__self__, "query_parameters", query_parameters) + pulumi.set(__self__, "scheme", scheme) @property @pulumi.getter - def port(self) -> int: - return pulumi.get(self, "port") + def headers(self) -> Sequence['outputs.GetRouteSpecHttp2RouteMatchHeaderResult']: + return pulumi.get(self, "headers") - -@pulumi.output_type -class GetRouteSpecTcpRouteTimeoutResult(dict): - def __init__(__self__, *, - idles: Sequence['outputs.GetRouteSpecTcpRouteTimeoutIdleResult']): - pulumi.set(__self__, "idles", idles) + @property + @pulumi.getter + def method(self) -> str: + return pulumi.get(self, "method") @property @pulumi.getter - def idles(self) -> Sequence['outputs.GetRouteSpecTcpRouteTimeoutIdleResult']: - return pulumi.get(self, "idles") + def paths(self) -> Sequence['outputs.GetRouteSpecHttp2RouteMatchPathResult']: + return pulumi.get(self, "paths") - -@pulumi.output_type -class GetRouteSpecTcpRouteTimeoutIdleResult(dict): - def __init__(__self__, *, - unit: str, - value: int): - pulumi.set(__self__, "unit", unit) - pulumi.set(__self__, "value", value) + @property + @pulumi.getter + def port(self) -> int: + return pulumi.get(self, "port") @property @pulumi.getter - def unit(self) -> str: - return pulumi.get(self, "unit") + def prefix(self) -> str: + return pulumi.get(self, "prefix") + + @property + @pulumi.getter(name="queryParameters") + def query_parameters(self) -> Sequence['outputs.GetRouteSpecHttp2RouteMatchQueryParameterResult']: + return pulumi.get(self, "query_parameters") @property @pulumi.getter - def value(self) -> int: - return pulumi.get(self, "value") + def scheme(self) -> str: + return pulumi.get(self, "scheme") @pulumi.output_type -class GetVirtualGatewaySpecResult(dict): +class GetRouteSpecHttp2RouteMatchHeaderResult(dict): def __init__(__self__, *, - backend_defaults: Sequence['outputs.GetVirtualGatewaySpecBackendDefaultResult'], - listeners: Sequence['outputs.GetVirtualGatewaySpecListenerResult'], - loggings: Sequence['outputs.GetVirtualGatewaySpecLoggingResult']): - """ - :param Sequence['GetVirtualGatewaySpecBackendDefaultArgs'] backend_defaults: Defaults for backends. - :param Sequence['GetVirtualGatewaySpecListenerArgs'] listeners: Listeners that the mesh endpoint is expected to receive inbound traffic from. You can specify one listener. - :param Sequence['GetVirtualGatewaySpecLoggingArgs'] loggings: Inbound and outbound access logging information for the virtual gateway. - """ - pulumi.set(__self__, "backend_defaults", backend_defaults) - pulumi.set(__self__, "listeners", listeners) - pulumi.set(__self__, "loggings", loggings) - - @property - @pulumi.getter(name="backendDefaults") - def backend_defaults(self) -> Sequence['outputs.GetVirtualGatewaySpecBackendDefaultResult']: + invert: bool, + matches: Sequence['outputs.GetRouteSpecHttp2RouteMatchHeaderMatchResult'], + name: str): """ - Defaults for backends. + :param str name: Name of the route. """ - return pulumi.get(self, "backend_defaults") + pulumi.set(__self__, "invert", invert) + pulumi.set(__self__, "matches", matches) + pulumi.set(__self__, "name", name) @property @pulumi.getter - def listeners(self) -> Sequence['outputs.GetVirtualGatewaySpecListenerResult']: - """ - Listeners that the mesh endpoint is expected to receive inbound traffic from. You can specify one listener. - """ - return pulumi.get(self, "listeners") + def invert(self) -> bool: + return pulumi.get(self, "invert") @property @pulumi.getter - def loggings(self) -> Sequence['outputs.GetVirtualGatewaySpecLoggingResult']: - """ - Inbound and outbound access logging information for the virtual gateway. - """ - return pulumi.get(self, "loggings") - - -@pulumi.output_type -class GetVirtualGatewaySpecBackendDefaultResult(dict): - def __init__(__self__, *, - client_policies: Sequence['outputs.GetVirtualGatewaySpecBackendDefaultClientPolicyResult']): - """ - :param Sequence['GetVirtualGatewaySpecBackendDefaultClientPolicyArgs'] client_policies: Default client policy for virtual gateway backends. - """ - pulumi.set(__self__, "client_policies", client_policies) + def matches(self) -> Sequence['outputs.GetRouteSpecHttp2RouteMatchHeaderMatchResult']: + return pulumi.get(self, "matches") @property - @pulumi.getter(name="clientPolicies") - def client_policies(self) -> Sequence['outputs.GetVirtualGatewaySpecBackendDefaultClientPolicyResult']: + @pulumi.getter + def name(self) -> str: """ - Default client policy for virtual gateway backends. + Name of the route. """ - return pulumi.get(self, "client_policies") + return pulumi.get(self, "name") @pulumi.output_type -class GetVirtualGatewaySpecBackendDefaultClientPolicyResult(dict): +class GetRouteSpecHttp2RouteMatchHeaderMatchResult(dict): def __init__(__self__, *, - tls: Sequence['outputs.GetVirtualGatewaySpecBackendDefaultClientPolicyTlResult']): - """ - :param Sequence['GetVirtualGatewaySpecBackendDefaultClientPolicyTlArgs'] tls: Transport Layer Security (TLS) properties for the listener - """ - pulumi.set(__self__, "tls", tls) + exact: str, + prefix: str, + ranges: Sequence['outputs.GetRouteSpecHttp2RouteMatchHeaderMatchRangeResult'], + regex: str, + suffix: str): + pulumi.set(__self__, "exact", exact) + pulumi.set(__self__, "prefix", prefix) + pulumi.set(__self__, "ranges", ranges) + pulumi.set(__self__, "regex", regex) + pulumi.set(__self__, "suffix", suffix) @property @pulumi.getter - def tls(self) -> Sequence['outputs.GetVirtualGatewaySpecBackendDefaultClientPolicyTlResult']: - """ - Transport Layer Security (TLS) properties for the listener - """ - return pulumi.get(self, "tls") - - -@pulumi.output_type -class GetVirtualGatewaySpecBackendDefaultClientPolicyTlResult(dict): - def __init__(__self__, *, - certificates: Sequence['outputs.GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateResult'], - enforce: bool, - ports: Sequence[int], - validations: Sequence['outputs.GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationResult']): - """ - :param Sequence['GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateArgs'] certificates: Listener's TLS certificate. - :param bool enforce: Whether the policy is enforced. Default is `true`. - :param Sequence[int] ports: One or more ports that the policy is enforced for. - :param Sequence['GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationArgs'] validations: Listener's Transport Layer Security (TLS) validation context. - """ - pulumi.set(__self__, "certificates", certificates) - pulumi.set(__self__, "enforce", enforce) - pulumi.set(__self__, "ports", ports) - pulumi.set(__self__, "validations", validations) + def exact(self) -> str: + return pulumi.get(self, "exact") @property @pulumi.getter - def certificates(self) -> Sequence['outputs.GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateResult']: - """ - Listener's TLS certificate. - """ - return pulumi.get(self, "certificates") + def prefix(self) -> str: + return pulumi.get(self, "prefix") @property @pulumi.getter - def enforce(self) -> bool: - """ - Whether the policy is enforced. Default is `true`. - """ - return pulumi.get(self, "enforce") + def ranges(self) -> Sequence['outputs.GetRouteSpecHttp2RouteMatchHeaderMatchRangeResult']: + return pulumi.get(self, "ranges") @property @pulumi.getter - def ports(self) -> Sequence[int]: - """ - One or more ports that the policy is enforced for. - """ - return pulumi.get(self, "ports") + def regex(self) -> str: + return pulumi.get(self, "regex") @property @pulumi.getter - def validations(self) -> Sequence['outputs.GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationResult']: - """ - Listener's Transport Layer Security (TLS) validation context. - """ - return pulumi.get(self, "validations") + def suffix(self) -> str: + return pulumi.get(self, "suffix") @pulumi.output_type -class GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateResult(dict): +class GetRouteSpecHttp2RouteMatchHeaderMatchRangeResult(dict): def __init__(__self__, *, - files: Sequence['outputs.GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateFileResult'], - sds: Sequence['outputs.GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateSdResult']): - """ - :param Sequence['GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateFileArgs'] files: TLS validation context trust for a local file certificate. - :param Sequence['GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateSdArgs'] sds: TLS validation context trust for a [Secret Discovery Service](https://www.envoyproxy.io/docs/envoy/latest/configuration/security/secret#secret-discovery-service-sds) certificate. - """ - pulumi.set(__self__, "files", files) - pulumi.set(__self__, "sds", sds) + end: int, + start: int): + pulumi.set(__self__, "end", end) + pulumi.set(__self__, "start", start) @property @pulumi.getter - def files(self) -> Sequence['outputs.GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateFileResult']: - """ - TLS validation context trust for a local file certificate. - """ - return pulumi.get(self, "files") + def end(self) -> int: + return pulumi.get(self, "end") @property @pulumi.getter - def sds(self) -> Sequence['outputs.GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateSdResult']: - """ - TLS validation context trust for a [Secret Discovery Service](https://www.envoyproxy.io/docs/envoy/latest/configuration/security/secret#secret-discovery-service-sds) certificate. - """ - return pulumi.get(self, "sds") + def start(self) -> int: + return pulumi.get(self, "start") @pulumi.output_type -class GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateFileResult(dict): +class GetRouteSpecHttp2RouteMatchPathResult(dict): def __init__(__self__, *, - certificate_chain: str, - private_key: str): - """ - :param str certificate_chain: Certificate trust chain for a certificate stored on the file system of the mesh endpoint that the proxy is running on. Must be between 1 and 255 characters in length. - :param str private_key: Private key for a certificate stored on the file system of the mesh endpoint that the proxy is running on. Must be between 1 and 255 characters in length. - """ - pulumi.set(__self__, "certificate_chain", certificate_chain) - pulumi.set(__self__, "private_key", private_key) + exact: str, + regex: str): + pulumi.set(__self__, "exact", exact) + pulumi.set(__self__, "regex", regex) @property - @pulumi.getter(name="certificateChain") - def certificate_chain(self) -> str: - """ - Certificate trust chain for a certificate stored on the file system of the mesh endpoint that the proxy is running on. Must be between 1 and 255 characters in length. - """ - return pulumi.get(self, "certificate_chain") + @pulumi.getter + def exact(self) -> str: + return pulumi.get(self, "exact") @property - @pulumi.getter(name="privateKey") - def private_key(self) -> str: - """ - Private key for a certificate stored on the file system of the mesh endpoint that the proxy is running on. Must be between 1 and 255 characters in length. - """ - return pulumi.get(self, "private_key") + @pulumi.getter + def regex(self) -> str: + return pulumi.get(self, "regex") @pulumi.output_type -class GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateSdResult(dict): +class GetRouteSpecHttp2RouteMatchQueryParameterResult(dict): def __init__(__self__, *, - secret_name: str): + matches: Sequence['outputs.GetRouteSpecHttp2RouteMatchQueryParameterMatchResult'], + name: str): """ - :param str secret_name: Name of the secret for a virtual gateway's Transport Layer Security (TLS) Secret Discovery Service validation context trust. + :param str name: Name of the route. """ - pulumi.set(__self__, "secret_name", secret_name) + pulumi.set(__self__, "matches", matches) + pulumi.set(__self__, "name", name) @property - @pulumi.getter(name="secretName") - def secret_name(self) -> str: + @pulumi.getter + def matches(self) -> Sequence['outputs.GetRouteSpecHttp2RouteMatchQueryParameterMatchResult']: + return pulumi.get(self, "matches") + + @property + @pulumi.getter + def name(self) -> str: """ - Name of the secret for a virtual gateway's Transport Layer Security (TLS) Secret Discovery Service validation context trust. + Name of the route. """ - return pulumi.get(self, "secret_name") + return pulumi.get(self, "name") @pulumi.output_type -class GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationResult(dict): +class GetRouteSpecHttp2RouteMatchQueryParameterMatchResult(dict): def __init__(__self__, *, - subject_alternative_names: Sequence['outputs.GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameResult'], - trusts: Sequence['outputs.GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustResult']): - """ - :param Sequence['GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameArgs'] subject_alternative_names: SANs for a virtual gateway's listener's Transport Layer Security (TLS) validation context. - :param Sequence['GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustArgs'] trusts: TLS validation context trust. - """ - pulumi.set(__self__, "subject_alternative_names", subject_alternative_names) - pulumi.set(__self__, "trusts", trusts) - - @property - @pulumi.getter(name="subjectAlternativeNames") - def subject_alternative_names(self) -> Sequence['outputs.GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameResult']: - """ - SANs for a virtual gateway's listener's Transport Layer Security (TLS) validation context. - """ - return pulumi.get(self, "subject_alternative_names") + exact: str): + pulumi.set(__self__, "exact", exact) @property @pulumi.getter - def trusts(self) -> Sequence['outputs.GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustResult']: - """ - TLS validation context trust. - """ - return pulumi.get(self, "trusts") + def exact(self) -> str: + return pulumi.get(self, "exact") @pulumi.output_type -class GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameResult(dict): +class GetRouteSpecHttp2RouteRetryPolicyResult(dict): def __init__(__self__, *, - matches: Sequence['outputs.GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameMatchResult']): - """ - :param Sequence['GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameMatchArgs'] matches: Criteria for determining a SAN's match. - """ + http_retry_events: Sequence[str], + max_retries: int, + per_retry_timeouts: Sequence['outputs.GetRouteSpecHttp2RouteRetryPolicyPerRetryTimeoutResult'], + tcp_retry_events: Sequence[str]): + pulumi.set(__self__, "http_retry_events", http_retry_events) + pulumi.set(__self__, "max_retries", max_retries) + pulumi.set(__self__, "per_retry_timeouts", per_retry_timeouts) + pulumi.set(__self__, "tcp_retry_events", tcp_retry_events) + + @property + @pulumi.getter(name="httpRetryEvents") + def http_retry_events(self) -> Sequence[str]: + return pulumi.get(self, "http_retry_events") + + @property + @pulumi.getter(name="maxRetries") + def max_retries(self) -> int: + return pulumi.get(self, "max_retries") + + @property + @pulumi.getter(name="perRetryTimeouts") + def per_retry_timeouts(self) -> Sequence['outputs.GetRouteSpecHttp2RouteRetryPolicyPerRetryTimeoutResult']: + return pulumi.get(self, "per_retry_timeouts") + + @property + @pulumi.getter(name="tcpRetryEvents") + def tcp_retry_events(self) -> Sequence[str]: + return pulumi.get(self, "tcp_retry_events") + + +@pulumi.output_type +class GetRouteSpecHttp2RouteRetryPolicyPerRetryTimeoutResult(dict): + def __init__(__self__, *, + unit: str, + value: int): + pulumi.set(__self__, "unit", unit) + pulumi.set(__self__, "value", value) + + @property + @pulumi.getter + def unit(self) -> str: + return pulumi.get(self, "unit") + + @property + @pulumi.getter + def value(self) -> int: + return pulumi.get(self, "value") + + +@pulumi.output_type +class GetRouteSpecHttp2RouteTimeoutResult(dict): + def __init__(__self__, *, + idles: Sequence['outputs.GetRouteSpecHttp2RouteTimeoutIdleResult'], + per_requests: Sequence['outputs.GetRouteSpecHttp2RouteTimeoutPerRequestResult']): + pulumi.set(__self__, "idles", idles) + pulumi.set(__self__, "per_requests", per_requests) + + @property + @pulumi.getter + def idles(self) -> Sequence['outputs.GetRouteSpecHttp2RouteTimeoutIdleResult']: + return pulumi.get(self, "idles") + + @property + @pulumi.getter(name="perRequests") + def per_requests(self) -> Sequence['outputs.GetRouteSpecHttp2RouteTimeoutPerRequestResult']: + return pulumi.get(self, "per_requests") + + +@pulumi.output_type +class GetRouteSpecHttp2RouteTimeoutIdleResult(dict): + def __init__(__self__, *, + unit: str, + value: int): + pulumi.set(__self__, "unit", unit) + pulumi.set(__self__, "value", value) + + @property + @pulumi.getter + def unit(self) -> str: + return pulumi.get(self, "unit") + + @property + @pulumi.getter + def value(self) -> int: + return pulumi.get(self, "value") + + +@pulumi.output_type +class GetRouteSpecHttp2RouteTimeoutPerRequestResult(dict): + def __init__(__self__, *, + unit: str, + value: int): + pulumi.set(__self__, "unit", unit) + pulumi.set(__self__, "value", value) + + @property + @pulumi.getter + def unit(self) -> str: + return pulumi.get(self, "unit") + + @property + @pulumi.getter + def value(self) -> int: + return pulumi.get(self, "value") + + +@pulumi.output_type +class GetRouteSpecHttpRouteResult(dict): + def __init__(__self__, *, + actions: Sequence['outputs.GetRouteSpecHttpRouteActionResult'], + matches: Sequence['outputs.GetRouteSpecHttpRouteMatchResult'], + retry_policies: Sequence['outputs.GetRouteSpecHttpRouteRetryPolicyResult'], + timeouts: Sequence['outputs.GetRouteSpecHttpRouteTimeoutResult']): + pulumi.set(__self__, "actions", actions) + pulumi.set(__self__, "matches", matches) + pulumi.set(__self__, "retry_policies", retry_policies) + pulumi.set(__self__, "timeouts", timeouts) + + @property + @pulumi.getter + def actions(self) -> Sequence['outputs.GetRouteSpecHttpRouteActionResult']: + return pulumi.get(self, "actions") + + @property + @pulumi.getter + def matches(self) -> Sequence['outputs.GetRouteSpecHttpRouteMatchResult']: + return pulumi.get(self, "matches") + + @property + @pulumi.getter(name="retryPolicies") + def retry_policies(self) -> Sequence['outputs.GetRouteSpecHttpRouteRetryPolicyResult']: + return pulumi.get(self, "retry_policies") + + @property + @pulumi.getter + def timeouts(self) -> Sequence['outputs.GetRouteSpecHttpRouteTimeoutResult']: + return pulumi.get(self, "timeouts") + + +@pulumi.output_type +class GetRouteSpecHttpRouteActionResult(dict): + def __init__(__self__, *, + weighted_targets: Sequence['outputs.GetRouteSpecHttpRouteActionWeightedTargetResult']): + pulumi.set(__self__, "weighted_targets", weighted_targets) + + @property + @pulumi.getter(name="weightedTargets") + def weighted_targets(self) -> Sequence['outputs.GetRouteSpecHttpRouteActionWeightedTargetResult']: + return pulumi.get(self, "weighted_targets") + + +@pulumi.output_type +class GetRouteSpecHttpRouteActionWeightedTargetResult(dict): + def __init__(__self__, *, + port: int, + virtual_node: str, + weight: int): + pulumi.set(__self__, "port", port) + pulumi.set(__self__, "virtual_node", virtual_node) + pulumi.set(__self__, "weight", weight) + + @property + @pulumi.getter + def port(self) -> int: + return pulumi.get(self, "port") + + @property + @pulumi.getter(name="virtualNode") + def virtual_node(self) -> str: + return pulumi.get(self, "virtual_node") + + @property + @pulumi.getter + def weight(self) -> int: + return pulumi.get(self, "weight") + + +@pulumi.output_type +class GetRouteSpecHttpRouteMatchResult(dict): + def __init__(__self__, *, + headers: Sequence['outputs.GetRouteSpecHttpRouteMatchHeaderResult'], + method: str, + paths: Sequence['outputs.GetRouteSpecHttpRouteMatchPathResult'], + port: int, + prefix: str, + query_parameters: Sequence['outputs.GetRouteSpecHttpRouteMatchQueryParameterResult'], + scheme: str): + pulumi.set(__self__, "headers", headers) + pulumi.set(__self__, "method", method) + pulumi.set(__self__, "paths", paths) + pulumi.set(__self__, "port", port) + pulumi.set(__self__, "prefix", prefix) + pulumi.set(__self__, "query_parameters", query_parameters) + pulumi.set(__self__, "scheme", scheme) + + @property + @pulumi.getter + def headers(self) -> Sequence['outputs.GetRouteSpecHttpRouteMatchHeaderResult']: + return pulumi.get(self, "headers") + + @property + @pulumi.getter + def method(self) -> str: + return pulumi.get(self, "method") + + @property + @pulumi.getter + def paths(self) -> Sequence['outputs.GetRouteSpecHttpRouteMatchPathResult']: + return pulumi.get(self, "paths") + + @property + @pulumi.getter + def port(self) -> int: + return pulumi.get(self, "port") + + @property + @pulumi.getter + def prefix(self) -> str: + return pulumi.get(self, "prefix") + + @property + @pulumi.getter(name="queryParameters") + def query_parameters(self) -> Sequence['outputs.GetRouteSpecHttpRouteMatchQueryParameterResult']: + return pulumi.get(self, "query_parameters") + + @property + @pulumi.getter + def scheme(self) -> str: + return pulumi.get(self, "scheme") + + +@pulumi.output_type +class GetRouteSpecHttpRouteMatchHeaderResult(dict): + def __init__(__self__, *, + invert: bool, + matches: Sequence['outputs.GetRouteSpecHttpRouteMatchHeaderMatchResult'], + name: str): + """ + :param str name: Name of the route. + """ + pulumi.set(__self__, "invert", invert) + pulumi.set(__self__, "matches", matches) + pulumi.set(__self__, "name", name) + + @property + @pulumi.getter + def invert(self) -> bool: + return pulumi.get(self, "invert") + + @property + @pulumi.getter + def matches(self) -> Sequence['outputs.GetRouteSpecHttpRouteMatchHeaderMatchResult']: + return pulumi.get(self, "matches") + + @property + @pulumi.getter + def name(self) -> str: + """ + Name of the route. + """ + return pulumi.get(self, "name") + + +@pulumi.output_type +class GetRouteSpecHttpRouteMatchHeaderMatchResult(dict): + def __init__(__self__, *, + exact: str, + prefix: str, + ranges: Sequence['outputs.GetRouteSpecHttpRouteMatchHeaderMatchRangeResult'], + regex: str, + suffix: str): + pulumi.set(__self__, "exact", exact) + pulumi.set(__self__, "prefix", prefix) + pulumi.set(__self__, "ranges", ranges) + pulumi.set(__self__, "regex", regex) + pulumi.set(__self__, "suffix", suffix) + + @property + @pulumi.getter + def exact(self) -> str: + return pulumi.get(self, "exact") + + @property + @pulumi.getter + def prefix(self) -> str: + return pulumi.get(self, "prefix") + + @property + @pulumi.getter + def ranges(self) -> Sequence['outputs.GetRouteSpecHttpRouteMatchHeaderMatchRangeResult']: + return pulumi.get(self, "ranges") + + @property + @pulumi.getter + def regex(self) -> str: + return pulumi.get(self, "regex") + + @property + @pulumi.getter + def suffix(self) -> str: + return pulumi.get(self, "suffix") + + +@pulumi.output_type +class GetRouteSpecHttpRouteMatchHeaderMatchRangeResult(dict): + def __init__(__self__, *, + end: int, + start: int): + pulumi.set(__self__, "end", end) + pulumi.set(__self__, "start", start) + + @property + @pulumi.getter + def end(self) -> int: + return pulumi.get(self, "end") + + @property + @pulumi.getter + def start(self) -> int: + return pulumi.get(self, "start") + + +@pulumi.output_type +class GetRouteSpecHttpRouteMatchPathResult(dict): + def __init__(__self__, *, + exact: str, + regex: str): + pulumi.set(__self__, "exact", exact) + pulumi.set(__self__, "regex", regex) + + @property + @pulumi.getter + def exact(self) -> str: + return pulumi.get(self, "exact") + + @property + @pulumi.getter + def regex(self) -> str: + return pulumi.get(self, "regex") + + +@pulumi.output_type +class GetRouteSpecHttpRouteMatchQueryParameterResult(dict): + def __init__(__self__, *, + matches: Sequence['outputs.GetRouteSpecHttpRouteMatchQueryParameterMatchResult'], + name: str): + """ + :param str name: Name of the route. + """ + pulumi.set(__self__, "matches", matches) + pulumi.set(__self__, "name", name) + + @property + @pulumi.getter + def matches(self) -> Sequence['outputs.GetRouteSpecHttpRouteMatchQueryParameterMatchResult']: + return pulumi.get(self, "matches") + + @property + @pulumi.getter + def name(self) -> str: + """ + Name of the route. + """ + return pulumi.get(self, "name") + + +@pulumi.output_type +class GetRouteSpecHttpRouteMatchQueryParameterMatchResult(dict): + def __init__(__self__, *, + exact: str): + pulumi.set(__self__, "exact", exact) + + @property + @pulumi.getter + def exact(self) -> str: + return pulumi.get(self, "exact") + + +@pulumi.output_type +class GetRouteSpecHttpRouteRetryPolicyResult(dict): + def __init__(__self__, *, + http_retry_events: Sequence[str], + max_retries: int, + per_retry_timeouts: Sequence['outputs.GetRouteSpecHttpRouteRetryPolicyPerRetryTimeoutResult'], + tcp_retry_events: Sequence[str]): + pulumi.set(__self__, "http_retry_events", http_retry_events) + pulumi.set(__self__, "max_retries", max_retries) + pulumi.set(__self__, "per_retry_timeouts", per_retry_timeouts) + pulumi.set(__self__, "tcp_retry_events", tcp_retry_events) + + @property + @pulumi.getter(name="httpRetryEvents") + def http_retry_events(self) -> Sequence[str]: + return pulumi.get(self, "http_retry_events") + + @property + @pulumi.getter(name="maxRetries") + def max_retries(self) -> int: + return pulumi.get(self, "max_retries") + + @property + @pulumi.getter(name="perRetryTimeouts") + def per_retry_timeouts(self) -> Sequence['outputs.GetRouteSpecHttpRouteRetryPolicyPerRetryTimeoutResult']: + return pulumi.get(self, "per_retry_timeouts") + + @property + @pulumi.getter(name="tcpRetryEvents") + def tcp_retry_events(self) -> Sequence[str]: + return pulumi.get(self, "tcp_retry_events") + + +@pulumi.output_type +class GetRouteSpecHttpRouteRetryPolicyPerRetryTimeoutResult(dict): + def __init__(__self__, *, + unit: str, + value: int): + pulumi.set(__self__, "unit", unit) + pulumi.set(__self__, "value", value) + + @property + @pulumi.getter + def unit(self) -> str: + return pulumi.get(self, "unit") + + @property + @pulumi.getter + def value(self) -> int: + return pulumi.get(self, "value") + + +@pulumi.output_type +class GetRouteSpecHttpRouteTimeoutResult(dict): + def __init__(__self__, *, + idles: Sequence['outputs.GetRouteSpecHttpRouteTimeoutIdleResult'], + per_requests: Sequence['outputs.GetRouteSpecHttpRouteTimeoutPerRequestResult']): + pulumi.set(__self__, "idles", idles) + pulumi.set(__self__, "per_requests", per_requests) + + @property + @pulumi.getter + def idles(self) -> Sequence['outputs.GetRouteSpecHttpRouteTimeoutIdleResult']: + return pulumi.get(self, "idles") + + @property + @pulumi.getter(name="perRequests") + def per_requests(self) -> Sequence['outputs.GetRouteSpecHttpRouteTimeoutPerRequestResult']: + return pulumi.get(self, "per_requests") + + +@pulumi.output_type +class GetRouteSpecHttpRouteTimeoutIdleResult(dict): + def __init__(__self__, *, + unit: str, + value: int): + pulumi.set(__self__, "unit", unit) + pulumi.set(__self__, "value", value) + + @property + @pulumi.getter + def unit(self) -> str: + return pulumi.get(self, "unit") + + @property + @pulumi.getter + def value(self) -> int: + return pulumi.get(self, "value") + + +@pulumi.output_type +class GetRouteSpecHttpRouteTimeoutPerRequestResult(dict): + def __init__(__self__, *, + unit: str, + value: int): + pulumi.set(__self__, "unit", unit) + pulumi.set(__self__, "value", value) + + @property + @pulumi.getter + def unit(self) -> str: + return pulumi.get(self, "unit") + + @property + @pulumi.getter + def value(self) -> int: + return pulumi.get(self, "value") + + +@pulumi.output_type +class GetRouteSpecTcpRouteResult(dict): + def __init__(__self__, *, + actions: Sequence['outputs.GetRouteSpecTcpRouteActionResult'], + matches: Sequence['outputs.GetRouteSpecTcpRouteMatchResult'], + timeouts: Sequence['outputs.GetRouteSpecTcpRouteTimeoutResult']): + pulumi.set(__self__, "actions", actions) + pulumi.set(__self__, "matches", matches) + pulumi.set(__self__, "timeouts", timeouts) + + @property + @pulumi.getter + def actions(self) -> Sequence['outputs.GetRouteSpecTcpRouteActionResult']: + return pulumi.get(self, "actions") + + @property + @pulumi.getter + def matches(self) -> Sequence['outputs.GetRouteSpecTcpRouteMatchResult']: + return pulumi.get(self, "matches") + + @property + @pulumi.getter + def timeouts(self) -> Sequence['outputs.GetRouteSpecTcpRouteTimeoutResult']: + return pulumi.get(self, "timeouts") + + +@pulumi.output_type +class GetRouteSpecTcpRouteActionResult(dict): + def __init__(__self__, *, + weighted_targets: Sequence['outputs.GetRouteSpecTcpRouteActionWeightedTargetResult']): + pulumi.set(__self__, "weighted_targets", weighted_targets) + + @property + @pulumi.getter(name="weightedTargets") + def weighted_targets(self) -> Sequence['outputs.GetRouteSpecTcpRouteActionWeightedTargetResult']: + return pulumi.get(self, "weighted_targets") + + +@pulumi.output_type +class GetRouteSpecTcpRouteActionWeightedTargetResult(dict): + def __init__(__self__, *, + port: int, + virtual_node: str, + weight: int): + pulumi.set(__self__, "port", port) + pulumi.set(__self__, "virtual_node", virtual_node) + pulumi.set(__self__, "weight", weight) + + @property + @pulumi.getter + def port(self) -> int: + return pulumi.get(self, "port") + + @property + @pulumi.getter(name="virtualNode") + def virtual_node(self) -> str: + return pulumi.get(self, "virtual_node") + + @property + @pulumi.getter + def weight(self) -> int: + return pulumi.get(self, "weight") + + +@pulumi.output_type +class GetRouteSpecTcpRouteMatchResult(dict): + def __init__(__self__, *, + port: int): + pulumi.set(__self__, "port", port) + + @property + @pulumi.getter + def port(self) -> int: + return pulumi.get(self, "port") + + +@pulumi.output_type +class GetRouteSpecTcpRouteTimeoutResult(dict): + def __init__(__self__, *, + idles: Sequence['outputs.GetRouteSpecTcpRouteTimeoutIdleResult']): + pulumi.set(__self__, "idles", idles) + + @property + @pulumi.getter + def idles(self) -> Sequence['outputs.GetRouteSpecTcpRouteTimeoutIdleResult']: + return pulumi.get(self, "idles") + + +@pulumi.output_type +class GetRouteSpecTcpRouteTimeoutIdleResult(dict): + def __init__(__self__, *, + unit: str, + value: int): + pulumi.set(__self__, "unit", unit) + pulumi.set(__self__, "value", value) + + @property + @pulumi.getter + def unit(self) -> str: + return pulumi.get(self, "unit") + + @property + @pulumi.getter + def value(self) -> int: + return pulumi.get(self, "value") + + +@pulumi.output_type +class GetVirtualGatewaySpecResult(dict): + def __init__(__self__, *, + backend_defaults: Sequence['outputs.GetVirtualGatewaySpecBackendDefaultResult'], + listeners: Sequence['outputs.GetVirtualGatewaySpecListenerResult'], + loggings: Sequence['outputs.GetVirtualGatewaySpecLoggingResult']): + pulumi.set(__self__, "backend_defaults", backend_defaults) + pulumi.set(__self__, "listeners", listeners) + pulumi.set(__self__, "loggings", loggings) + + @property + @pulumi.getter(name="backendDefaults") + def backend_defaults(self) -> Sequence['outputs.GetVirtualGatewaySpecBackendDefaultResult']: + return pulumi.get(self, "backend_defaults") + + @property + @pulumi.getter + def listeners(self) -> Sequence['outputs.GetVirtualGatewaySpecListenerResult']: + return pulumi.get(self, "listeners") + + @property + @pulumi.getter + def loggings(self) -> Sequence['outputs.GetVirtualGatewaySpecLoggingResult']: + return pulumi.get(self, "loggings") + + +@pulumi.output_type +class GetVirtualGatewaySpecBackendDefaultResult(dict): + def __init__(__self__, *, + client_policies: Sequence['outputs.GetVirtualGatewaySpecBackendDefaultClientPolicyResult']): + pulumi.set(__self__, "client_policies", client_policies) + + @property + @pulumi.getter(name="clientPolicies") + def client_policies(self) -> Sequence['outputs.GetVirtualGatewaySpecBackendDefaultClientPolicyResult']: + return pulumi.get(self, "client_policies") + + +@pulumi.output_type +class GetVirtualGatewaySpecBackendDefaultClientPolicyResult(dict): + def __init__(__self__, *, + tls: Sequence['outputs.GetVirtualGatewaySpecBackendDefaultClientPolicyTlResult']): + pulumi.set(__self__, "tls", tls) + + @property + @pulumi.getter + def tls(self) -> Sequence['outputs.GetVirtualGatewaySpecBackendDefaultClientPolicyTlResult']: + return pulumi.get(self, "tls") + + +@pulumi.output_type +class GetVirtualGatewaySpecBackendDefaultClientPolicyTlResult(dict): + def __init__(__self__, *, + certificates: Sequence['outputs.GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateResult'], + enforce: bool, + ports: Sequence[int], + validations: Sequence['outputs.GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationResult']): + pulumi.set(__self__, "certificates", certificates) + pulumi.set(__self__, "enforce", enforce) + pulumi.set(__self__, "ports", ports) + pulumi.set(__self__, "validations", validations) + + @property + @pulumi.getter + def certificates(self) -> Sequence['outputs.GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateResult']: + return pulumi.get(self, "certificates") + + @property + @pulumi.getter + def enforce(self) -> bool: + return pulumi.get(self, "enforce") + + @property + @pulumi.getter + def ports(self) -> Sequence[int]: + return pulumi.get(self, "ports") + + @property + @pulumi.getter + def validations(self) -> Sequence['outputs.GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationResult']: + return pulumi.get(self, "validations") + + +@pulumi.output_type +class GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateResult(dict): + def __init__(__self__, *, + files: Sequence['outputs.GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateFileResult'], + sds: Sequence['outputs.GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateSdResult']): + pulumi.set(__self__, "files", files) + pulumi.set(__self__, "sds", sds) + + @property + @pulumi.getter + def files(self) -> Sequence['outputs.GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateFileResult']: + return pulumi.get(self, "files") + + @property + @pulumi.getter + def sds(self) -> Sequence['outputs.GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateSdResult']: + return pulumi.get(self, "sds") + + +@pulumi.output_type +class GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateFileResult(dict): + def __init__(__self__, *, + certificate_chain: str, + private_key: str): + pulumi.set(__self__, "certificate_chain", certificate_chain) + pulumi.set(__self__, "private_key", private_key) + + @property + @pulumi.getter(name="certificateChain") + def certificate_chain(self) -> str: + return pulumi.get(self, "certificate_chain") + + @property + @pulumi.getter(name="privateKey") + def private_key(self) -> str: + return pulumi.get(self, "private_key") + + +@pulumi.output_type +class GetVirtualGatewaySpecBackendDefaultClientPolicyTlCertificateSdResult(dict): + def __init__(__self__, *, + secret_name: str): + pulumi.set(__self__, "secret_name", secret_name) + + @property + @pulumi.getter(name="secretName") + def secret_name(self) -> str: + return pulumi.get(self, "secret_name") + + +@pulumi.output_type +class GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationResult(dict): + def __init__(__self__, *, + subject_alternative_names: Sequence['outputs.GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameResult'], + trusts: Sequence['outputs.GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustResult']): + pulumi.set(__self__, "subject_alternative_names", subject_alternative_names) + pulumi.set(__self__, "trusts", trusts) + + @property + @pulumi.getter(name="subjectAlternativeNames") + def subject_alternative_names(self) -> Sequence['outputs.GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameResult']: + return pulumi.get(self, "subject_alternative_names") + + @property + @pulumi.getter + def trusts(self) -> Sequence['outputs.GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustResult']: + return pulumi.get(self, "trusts") + + +@pulumi.output_type +class GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameResult(dict): + def __init__(__self__, *, + matches: Sequence['outputs.GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameMatchResult']): + pulumi.set(__self__, "matches", matches) + + @property + @pulumi.getter + def matches(self) -> Sequence['outputs.GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameMatchResult']: + return pulumi.get(self, "matches") + + +@pulumi.output_type +class GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameMatchResult(dict): + def __init__(__self__, *, + exacts: Sequence[str]): + pulumi.set(__self__, "exacts", exacts) + + @property + @pulumi.getter + def exacts(self) -> Sequence[str]: + return pulumi.get(self, "exacts") + + +@pulumi.output_type +class GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustResult(dict): + def __init__(__self__, *, + acms: Sequence['outputs.GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustAcmResult'], + files: Sequence['outputs.GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustFileResult'], + sds: Sequence['outputs.GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustSdResult']): + pulumi.set(__self__, "acms", acms) + pulumi.set(__self__, "files", files) + pulumi.set(__self__, "sds", sds) + + @property + @pulumi.getter + def acms(self) -> Sequence['outputs.GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustAcmResult']: + return pulumi.get(self, "acms") + + @property + @pulumi.getter + def files(self) -> Sequence['outputs.GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustFileResult']: + return pulumi.get(self, "files") + + @property + @pulumi.getter + def sds(self) -> Sequence['outputs.GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustSdResult']: + return pulumi.get(self, "sds") + + +@pulumi.output_type +class GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustAcmResult(dict): + def __init__(__self__, *, + certificate_authority_arns: Sequence[str]): + pulumi.set(__self__, "certificate_authority_arns", certificate_authority_arns) + + @property + @pulumi.getter(name="certificateAuthorityArns") + def certificate_authority_arns(self) -> Sequence[str]: + return pulumi.get(self, "certificate_authority_arns") + + +@pulumi.output_type +class GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustFileResult(dict): + def __init__(__self__, *, + certificate_chain: str): + pulumi.set(__self__, "certificate_chain", certificate_chain) + + @property + @pulumi.getter(name="certificateChain") + def certificate_chain(self) -> str: + return pulumi.get(self, "certificate_chain") + + +@pulumi.output_type +class GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustSdResult(dict): + def __init__(__self__, *, + secret_name: str): + pulumi.set(__self__, "secret_name", secret_name) + + @property + @pulumi.getter(name="secretName") + def secret_name(self) -> str: + return pulumi.get(self, "secret_name") + + +@pulumi.output_type +class GetVirtualGatewaySpecListenerResult(dict): + def __init__(__self__, *, + connection_pools: Sequence['outputs.GetVirtualGatewaySpecListenerConnectionPoolResult'], + health_checks: Sequence['outputs.GetVirtualGatewaySpecListenerHealthCheckResult'], + port_mappings: Sequence['outputs.GetVirtualGatewaySpecListenerPortMappingResult'], + tls: Sequence['outputs.GetVirtualGatewaySpecListenerTlResult']): + pulumi.set(__self__, "connection_pools", connection_pools) + pulumi.set(__self__, "health_checks", health_checks) + pulumi.set(__self__, "port_mappings", port_mappings) + pulumi.set(__self__, "tls", tls) + + @property + @pulumi.getter(name="connectionPools") + def connection_pools(self) -> Sequence['outputs.GetVirtualGatewaySpecListenerConnectionPoolResult']: + return pulumi.get(self, "connection_pools") + + @property + @pulumi.getter(name="healthChecks") + def health_checks(self) -> Sequence['outputs.GetVirtualGatewaySpecListenerHealthCheckResult']: + return pulumi.get(self, "health_checks") + + @property + @pulumi.getter(name="portMappings") + def port_mappings(self) -> Sequence['outputs.GetVirtualGatewaySpecListenerPortMappingResult']: + return pulumi.get(self, "port_mappings") + + @property + @pulumi.getter + def tls(self) -> Sequence['outputs.GetVirtualGatewaySpecListenerTlResult']: + return pulumi.get(self, "tls") + + +@pulumi.output_type +class GetVirtualGatewaySpecListenerConnectionPoolResult(dict): + def __init__(__self__, *, + grpcs: Sequence['outputs.GetVirtualGatewaySpecListenerConnectionPoolGrpcResult'], + http2s: Sequence['outputs.GetVirtualGatewaySpecListenerConnectionPoolHttp2Result'], + https: Sequence['outputs.GetVirtualGatewaySpecListenerConnectionPoolHttpResult']): + pulumi.set(__self__, "grpcs", grpcs) + pulumi.set(__self__, "http2s", http2s) + pulumi.set(__self__, "https", https) + + @property + @pulumi.getter + def grpcs(self) -> Sequence['outputs.GetVirtualGatewaySpecListenerConnectionPoolGrpcResult']: + return pulumi.get(self, "grpcs") + + @property + @pulumi.getter + def http2s(self) -> Sequence['outputs.GetVirtualGatewaySpecListenerConnectionPoolHttp2Result']: + return pulumi.get(self, "http2s") + + @property + @pulumi.getter + def https(self) -> Sequence['outputs.GetVirtualGatewaySpecListenerConnectionPoolHttpResult']: + return pulumi.get(self, "https") + + +@pulumi.output_type +class GetVirtualGatewaySpecListenerConnectionPoolGrpcResult(dict): + def __init__(__self__, *, + max_requests: int): + pulumi.set(__self__, "max_requests", max_requests) + + @property + @pulumi.getter(name="maxRequests") + def max_requests(self) -> int: + return pulumi.get(self, "max_requests") + + +@pulumi.output_type +class GetVirtualGatewaySpecListenerConnectionPoolHttp2Result(dict): + def __init__(__self__, *, + max_requests: int): + pulumi.set(__self__, "max_requests", max_requests) + + @property + @pulumi.getter(name="maxRequests") + def max_requests(self) -> int: + return pulumi.get(self, "max_requests") + + +@pulumi.output_type +class GetVirtualGatewaySpecListenerConnectionPoolHttpResult(dict): + def __init__(__self__, *, + max_connections: int, + max_pending_requests: int): + pulumi.set(__self__, "max_connections", max_connections) + pulumi.set(__self__, "max_pending_requests", max_pending_requests) + + @property + @pulumi.getter(name="maxConnections") + def max_connections(self) -> int: + return pulumi.get(self, "max_connections") + + @property + @pulumi.getter(name="maxPendingRequests") + def max_pending_requests(self) -> int: + return pulumi.get(self, "max_pending_requests") + + +@pulumi.output_type +class GetVirtualGatewaySpecListenerHealthCheckResult(dict): + def __init__(__self__, *, + healthy_threshold: int, + interval_millis: int, + path: str, + port: int, + protocol: str, + timeout_millis: int, + unhealthy_threshold: int): + pulumi.set(__self__, "healthy_threshold", healthy_threshold) + pulumi.set(__self__, "interval_millis", interval_millis) + pulumi.set(__self__, "path", path) + pulumi.set(__self__, "port", port) + pulumi.set(__self__, "protocol", protocol) + pulumi.set(__self__, "timeout_millis", timeout_millis) + pulumi.set(__self__, "unhealthy_threshold", unhealthy_threshold) + + @property + @pulumi.getter(name="healthyThreshold") + def healthy_threshold(self) -> int: + return pulumi.get(self, "healthy_threshold") + + @property + @pulumi.getter(name="intervalMillis") + def interval_millis(self) -> int: + return pulumi.get(self, "interval_millis") + + @property + @pulumi.getter + def path(self) -> str: + return pulumi.get(self, "path") + + @property + @pulumi.getter + def port(self) -> int: + return pulumi.get(self, "port") + + @property + @pulumi.getter + def protocol(self) -> str: + return pulumi.get(self, "protocol") + + @property + @pulumi.getter(name="timeoutMillis") + def timeout_millis(self) -> int: + return pulumi.get(self, "timeout_millis") + + @property + @pulumi.getter(name="unhealthyThreshold") + def unhealthy_threshold(self) -> int: + return pulumi.get(self, "unhealthy_threshold") + + +@pulumi.output_type +class GetVirtualGatewaySpecListenerPortMappingResult(dict): + def __init__(__self__, *, + port: int, + protocol: str): + pulumi.set(__self__, "port", port) + pulumi.set(__self__, "protocol", protocol) + + @property + @pulumi.getter + def port(self) -> int: + return pulumi.get(self, "port") + + @property + @pulumi.getter + def protocol(self) -> str: + return pulumi.get(self, "protocol") + + +@pulumi.output_type +class GetVirtualGatewaySpecListenerTlResult(dict): + def __init__(__self__, *, + certificates: Sequence['outputs.GetVirtualGatewaySpecListenerTlCertificateResult'], + mode: str, + validations: Sequence['outputs.GetVirtualGatewaySpecListenerTlValidationResult']): + pulumi.set(__self__, "certificates", certificates) + pulumi.set(__self__, "mode", mode) + pulumi.set(__self__, "validations", validations) + + @property + @pulumi.getter + def certificates(self) -> Sequence['outputs.GetVirtualGatewaySpecListenerTlCertificateResult']: + return pulumi.get(self, "certificates") + + @property + @pulumi.getter + def mode(self) -> str: + return pulumi.get(self, "mode") + + @property + @pulumi.getter + def validations(self) -> Sequence['outputs.GetVirtualGatewaySpecListenerTlValidationResult']: + return pulumi.get(self, "validations") + + +@pulumi.output_type +class GetVirtualGatewaySpecListenerTlCertificateResult(dict): + def __init__(__self__, *, + acms: Sequence['outputs.GetVirtualGatewaySpecListenerTlCertificateAcmResult'], + files: Sequence['outputs.GetVirtualGatewaySpecListenerTlCertificateFileResult'], + sds: Sequence['outputs.GetVirtualGatewaySpecListenerTlCertificateSdResult']): + pulumi.set(__self__, "acms", acms) + pulumi.set(__self__, "files", files) + pulumi.set(__self__, "sds", sds) + + @property + @pulumi.getter + def acms(self) -> Sequence['outputs.GetVirtualGatewaySpecListenerTlCertificateAcmResult']: + return pulumi.get(self, "acms") + + @property + @pulumi.getter + def files(self) -> Sequence['outputs.GetVirtualGatewaySpecListenerTlCertificateFileResult']: + return pulumi.get(self, "files") + + @property + @pulumi.getter + def sds(self) -> Sequence['outputs.GetVirtualGatewaySpecListenerTlCertificateSdResult']: + return pulumi.get(self, "sds") + + +@pulumi.output_type +class GetVirtualGatewaySpecListenerTlCertificateAcmResult(dict): + def __init__(__self__, *, + certificate_arn: str): + pulumi.set(__self__, "certificate_arn", certificate_arn) + + @property + @pulumi.getter(name="certificateArn") + def certificate_arn(self) -> str: + return pulumi.get(self, "certificate_arn") + + +@pulumi.output_type +class GetVirtualGatewaySpecListenerTlCertificateFileResult(dict): + def __init__(__self__, *, + certificate_chain: str, + private_key: str): + pulumi.set(__self__, "certificate_chain", certificate_chain) + pulumi.set(__self__, "private_key", private_key) + + @property + @pulumi.getter(name="certificateChain") + def certificate_chain(self) -> str: + return pulumi.get(self, "certificate_chain") + + @property + @pulumi.getter(name="privateKey") + def private_key(self) -> str: + return pulumi.get(self, "private_key") + + +@pulumi.output_type +class GetVirtualGatewaySpecListenerTlCertificateSdResult(dict): + def __init__(__self__, *, + secret_name: str): + pulumi.set(__self__, "secret_name", secret_name) + + @property + @pulumi.getter(name="secretName") + def secret_name(self) -> str: + return pulumi.get(self, "secret_name") + + +@pulumi.output_type +class GetVirtualGatewaySpecListenerTlValidationResult(dict): + def __init__(__self__, *, + subject_alternative_names: Sequence['outputs.GetVirtualGatewaySpecListenerTlValidationSubjectAlternativeNameResult'], + trusts: Sequence['outputs.GetVirtualGatewaySpecListenerTlValidationTrustResult']): + pulumi.set(__self__, "subject_alternative_names", subject_alternative_names) + pulumi.set(__self__, "trusts", trusts) + + @property + @pulumi.getter(name="subjectAlternativeNames") + def subject_alternative_names(self) -> Sequence['outputs.GetVirtualGatewaySpecListenerTlValidationSubjectAlternativeNameResult']: + return pulumi.get(self, "subject_alternative_names") + + @property + @pulumi.getter + def trusts(self) -> Sequence['outputs.GetVirtualGatewaySpecListenerTlValidationTrustResult']: + return pulumi.get(self, "trusts") + + +@pulumi.output_type +class GetVirtualGatewaySpecListenerTlValidationSubjectAlternativeNameResult(dict): + def __init__(__self__, *, + matches: Sequence['outputs.GetVirtualGatewaySpecListenerTlValidationSubjectAlternativeNameMatchResult']): + pulumi.set(__self__, "matches", matches) + + @property + @pulumi.getter + def matches(self) -> Sequence['outputs.GetVirtualGatewaySpecListenerTlValidationSubjectAlternativeNameMatchResult']: + return pulumi.get(self, "matches") + + +@pulumi.output_type +class GetVirtualGatewaySpecListenerTlValidationSubjectAlternativeNameMatchResult(dict): + def __init__(__self__, *, + exacts: Sequence[str]): + pulumi.set(__self__, "exacts", exacts) + + @property + @pulumi.getter + def exacts(self) -> Sequence[str]: + return pulumi.get(self, "exacts") + + +@pulumi.output_type +class GetVirtualGatewaySpecListenerTlValidationTrustResult(dict): + def __init__(__self__, *, + files: Sequence['outputs.GetVirtualGatewaySpecListenerTlValidationTrustFileResult'], + sds: Sequence['outputs.GetVirtualGatewaySpecListenerTlValidationTrustSdResult']): + pulumi.set(__self__, "files", files) + pulumi.set(__self__, "sds", sds) + + @property + @pulumi.getter + def files(self) -> Sequence['outputs.GetVirtualGatewaySpecListenerTlValidationTrustFileResult']: + return pulumi.get(self, "files") + + @property + @pulumi.getter + def sds(self) -> Sequence['outputs.GetVirtualGatewaySpecListenerTlValidationTrustSdResult']: + return pulumi.get(self, "sds") + + +@pulumi.output_type +class GetVirtualGatewaySpecListenerTlValidationTrustFileResult(dict): + def __init__(__self__, *, + certificate_chain: str): + pulumi.set(__self__, "certificate_chain", certificate_chain) + + @property + @pulumi.getter(name="certificateChain") + def certificate_chain(self) -> str: + return pulumi.get(self, "certificate_chain") + + +@pulumi.output_type +class GetVirtualGatewaySpecListenerTlValidationTrustSdResult(dict): + def __init__(__self__, *, + secret_name: str): + pulumi.set(__self__, "secret_name", secret_name) + + @property + @pulumi.getter(name="secretName") + def secret_name(self) -> str: + return pulumi.get(self, "secret_name") + + +@pulumi.output_type +class GetVirtualGatewaySpecLoggingResult(dict): + def __init__(__self__, *, + access_logs: Sequence['outputs.GetVirtualGatewaySpecLoggingAccessLogResult']): + pulumi.set(__self__, "access_logs", access_logs) + + @property + @pulumi.getter(name="accessLogs") + def access_logs(self) -> Sequence['outputs.GetVirtualGatewaySpecLoggingAccessLogResult']: + return pulumi.get(self, "access_logs") + + +@pulumi.output_type +class GetVirtualGatewaySpecLoggingAccessLogResult(dict): + def __init__(__self__, *, + files: Sequence['outputs.GetVirtualGatewaySpecLoggingAccessLogFileResult']): + pulumi.set(__self__, "files", files) + + @property + @pulumi.getter + def files(self) -> Sequence['outputs.GetVirtualGatewaySpecLoggingAccessLogFileResult']: + return pulumi.get(self, "files") + + +@pulumi.output_type +class GetVirtualGatewaySpecLoggingAccessLogFileResult(dict): + def __init__(__self__, *, + formats: Sequence['outputs.GetVirtualGatewaySpecLoggingAccessLogFileFormatResult'], + path: str): + pulumi.set(__self__, "formats", formats) + pulumi.set(__self__, "path", path) + + @property + @pulumi.getter + def formats(self) -> Sequence['outputs.GetVirtualGatewaySpecLoggingAccessLogFileFormatResult']: + return pulumi.get(self, "formats") + + @property + @pulumi.getter + def path(self) -> str: + return pulumi.get(self, "path") + + +@pulumi.output_type +class GetVirtualGatewaySpecLoggingAccessLogFileFormatResult(dict): + def __init__(__self__, *, + jsons: Sequence['outputs.GetVirtualGatewaySpecLoggingAccessLogFileFormatJsonResult'], + text: str): + pulumi.set(__self__, "jsons", jsons) + pulumi.set(__self__, "text", text) + + @property + @pulumi.getter + def jsons(self) -> Sequence['outputs.GetVirtualGatewaySpecLoggingAccessLogFileFormatJsonResult']: + return pulumi.get(self, "jsons") + + @property + @pulumi.getter + def text(self) -> str: + return pulumi.get(self, "text") + + +@pulumi.output_type +class GetVirtualGatewaySpecLoggingAccessLogFileFormatJsonResult(dict): + def __init__(__self__, *, + key: str, + value: str): + pulumi.set(__self__, "key", key) + pulumi.set(__self__, "value", value) + + @property + @pulumi.getter + def key(self) -> str: + return pulumi.get(self, "key") + + @property + @pulumi.getter + def value(self) -> str: + return pulumi.get(self, "value") + + +@pulumi.output_type +class GetVirtualNodeSpecResult(dict): + def __init__(__self__, *, + backend_defaults: Sequence['outputs.GetVirtualNodeSpecBackendDefaultResult'], + backends: Sequence['outputs.GetVirtualNodeSpecBackendResult'], + listeners: Sequence['outputs.GetVirtualNodeSpecListenerResult'], + loggings: Sequence['outputs.GetVirtualNodeSpecLoggingResult'], + service_discoveries: Sequence['outputs.GetVirtualNodeSpecServiceDiscoveryResult']): + pulumi.set(__self__, "backend_defaults", backend_defaults) + pulumi.set(__self__, "backends", backends) + pulumi.set(__self__, "listeners", listeners) + pulumi.set(__self__, "loggings", loggings) + pulumi.set(__self__, "service_discoveries", service_discoveries) + + @property + @pulumi.getter(name="backendDefaults") + def backend_defaults(self) -> Sequence['outputs.GetVirtualNodeSpecBackendDefaultResult']: + return pulumi.get(self, "backend_defaults") + + @property + @pulumi.getter + def backends(self) -> Sequence['outputs.GetVirtualNodeSpecBackendResult']: + return pulumi.get(self, "backends") + + @property + @pulumi.getter + def listeners(self) -> Sequence['outputs.GetVirtualNodeSpecListenerResult']: + return pulumi.get(self, "listeners") + + @property + @pulumi.getter + def loggings(self) -> Sequence['outputs.GetVirtualNodeSpecLoggingResult']: + return pulumi.get(self, "loggings") + + @property + @pulumi.getter(name="serviceDiscoveries") + def service_discoveries(self) -> Sequence['outputs.GetVirtualNodeSpecServiceDiscoveryResult']: + return pulumi.get(self, "service_discoveries") + + +@pulumi.output_type +class GetVirtualNodeSpecBackendResult(dict): + def __init__(__self__, *, + virtual_services: Sequence['outputs.GetVirtualNodeSpecBackendVirtualServiceResult']): + pulumi.set(__self__, "virtual_services", virtual_services) + + @property + @pulumi.getter(name="virtualServices") + def virtual_services(self) -> Sequence['outputs.GetVirtualNodeSpecBackendVirtualServiceResult']: + return pulumi.get(self, "virtual_services") + + +@pulumi.output_type +class GetVirtualNodeSpecBackendDefaultResult(dict): + def __init__(__self__, *, + client_policies: Sequence['outputs.GetVirtualNodeSpecBackendDefaultClientPolicyResult']): + pulumi.set(__self__, "client_policies", client_policies) + + @property + @pulumi.getter(name="clientPolicies") + def client_policies(self) -> Sequence['outputs.GetVirtualNodeSpecBackendDefaultClientPolicyResult']: + return pulumi.get(self, "client_policies") + + +@pulumi.output_type +class GetVirtualNodeSpecBackendDefaultClientPolicyResult(dict): + def __init__(__self__, *, + tls: Sequence['outputs.GetVirtualNodeSpecBackendDefaultClientPolicyTlResult']): + pulumi.set(__self__, "tls", tls) + + @property + @pulumi.getter + def tls(self) -> Sequence['outputs.GetVirtualNodeSpecBackendDefaultClientPolicyTlResult']: + return pulumi.get(self, "tls") + + +@pulumi.output_type +class GetVirtualNodeSpecBackendDefaultClientPolicyTlResult(dict): + def __init__(__self__, *, + certificates: Sequence['outputs.GetVirtualNodeSpecBackendDefaultClientPolicyTlCertificateResult'], + enforce: bool, + ports: Sequence[int], + validations: Sequence['outputs.GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationResult']): + pulumi.set(__self__, "certificates", certificates) + pulumi.set(__self__, "enforce", enforce) + pulumi.set(__self__, "ports", ports) + pulumi.set(__self__, "validations", validations) + + @property + @pulumi.getter + def certificates(self) -> Sequence['outputs.GetVirtualNodeSpecBackendDefaultClientPolicyTlCertificateResult']: + return pulumi.get(self, "certificates") + + @property + @pulumi.getter + def enforce(self) -> bool: + return pulumi.get(self, "enforce") + + @property + @pulumi.getter + def ports(self) -> Sequence[int]: + return pulumi.get(self, "ports") + + @property + @pulumi.getter + def validations(self) -> Sequence['outputs.GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationResult']: + return pulumi.get(self, "validations") + + +@pulumi.output_type +class GetVirtualNodeSpecBackendDefaultClientPolicyTlCertificateResult(dict): + def __init__(__self__, *, + files: Sequence['outputs.GetVirtualNodeSpecBackendDefaultClientPolicyTlCertificateFileResult'], + sds: Sequence['outputs.GetVirtualNodeSpecBackendDefaultClientPolicyTlCertificateSdResult']): + pulumi.set(__self__, "files", files) + pulumi.set(__self__, "sds", sds) + + @property + @pulumi.getter + def files(self) -> Sequence['outputs.GetVirtualNodeSpecBackendDefaultClientPolicyTlCertificateFileResult']: + return pulumi.get(self, "files") + + @property + @pulumi.getter + def sds(self) -> Sequence['outputs.GetVirtualNodeSpecBackendDefaultClientPolicyTlCertificateSdResult']: + return pulumi.get(self, "sds") + + +@pulumi.output_type +class GetVirtualNodeSpecBackendDefaultClientPolicyTlCertificateFileResult(dict): + def __init__(__self__, *, + certificate_chain: str, + private_key: str): + pulumi.set(__self__, "certificate_chain", certificate_chain) + pulumi.set(__self__, "private_key", private_key) + + @property + @pulumi.getter(name="certificateChain") + def certificate_chain(self) -> str: + return pulumi.get(self, "certificate_chain") + + @property + @pulumi.getter(name="privateKey") + def private_key(self) -> str: + return pulumi.get(self, "private_key") + + +@pulumi.output_type +class GetVirtualNodeSpecBackendDefaultClientPolicyTlCertificateSdResult(dict): + def __init__(__self__, *, + secret_name: str): + pulumi.set(__self__, "secret_name", secret_name) + + @property + @pulumi.getter(name="secretName") + def secret_name(self) -> str: + return pulumi.get(self, "secret_name") + + +@pulumi.output_type +class GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationResult(dict): + def __init__(__self__, *, + subject_alternative_names: Sequence['outputs.GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameResult'], + trusts: Sequence['outputs.GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustResult']): + pulumi.set(__self__, "subject_alternative_names", subject_alternative_names) + pulumi.set(__self__, "trusts", trusts) + + @property + @pulumi.getter(name="subjectAlternativeNames") + def subject_alternative_names(self) -> Sequence['outputs.GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameResult']: + return pulumi.get(self, "subject_alternative_names") + + @property + @pulumi.getter + def trusts(self) -> Sequence['outputs.GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustResult']: + return pulumi.get(self, "trusts") + + +@pulumi.output_type +class GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameResult(dict): + def __init__(__self__, *, + matches: Sequence['outputs.GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameMatchResult']): pulumi.set(__self__, "matches", matches) @property @pulumi.getter - def matches(self) -> Sequence['outputs.GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameMatchResult']: - """ - Criteria for determining a SAN's match. - """ + def matches(self) -> Sequence['outputs.GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameMatchResult']: return pulumi.get(self, "matches") @pulumi.output_type -class GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameMatchResult(dict): +class GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationSubjectAlternativeNameMatchResult(dict): def __init__(__self__, *, exacts: Sequence[str]): - """ - :param Sequence[str] exacts: Values sent must match the specified values exactly. - """ pulumi.set(__self__, "exacts", exacts) @property @pulumi.getter def exacts(self) -> Sequence[str]: - """ - Values sent must match the specified values exactly. - """ return pulumi.get(self, "exacts") @pulumi.output_type -class GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustResult(dict): +class GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustResult(dict): def __init__(__self__, *, - acms: Sequence['outputs.GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustAcmResult'], - files: Sequence['outputs.GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustFileResult'], - sds: Sequence['outputs.GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustSdResult']): - """ - :param Sequence['GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustAcmArgs'] acms: An AWS Certificate Manager (ACM) certificate. - :param Sequence['GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustFileArgs'] files: TLS validation context trust for a local file certificate. - :param Sequence['GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustSdArgs'] sds: TLS validation context trust for a [Secret Discovery Service](https://www.envoyproxy.io/docs/envoy/latest/configuration/security/secret#secret-discovery-service-sds) certificate. - """ + acms: Sequence['outputs.GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustAcmResult'], + files: Sequence['outputs.GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustFileResult'], + sds: Sequence['outputs.GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustSdResult']): pulumi.set(__self__, "acms", acms) pulumi.set(__self__, "files", files) pulumi.set(__self__, "sds", sds) @property @pulumi.getter - def acms(self) -> Sequence['outputs.GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustAcmResult']: - """ - An AWS Certificate Manager (ACM) certificate. - """ + def acms(self) -> Sequence['outputs.GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustAcmResult']: return pulumi.get(self, "acms") @property @pulumi.getter - def files(self) -> Sequence['outputs.GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustFileResult']: - """ - TLS validation context trust for a local file certificate. - """ + def files(self) -> Sequence['outputs.GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustFileResult']: return pulumi.get(self, "files") @property @pulumi.getter - def sds(self) -> Sequence['outputs.GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustSdResult']: - """ - TLS validation context trust for a [Secret Discovery Service](https://www.envoyproxy.io/docs/envoy/latest/configuration/security/secret#secret-discovery-service-sds) certificate. - """ + def sds(self) -> Sequence['outputs.GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustSdResult']: return pulumi.get(self, "sds") @pulumi.output_type -class GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustAcmResult(dict): +class GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustAcmResult(dict): + def __init__(__self__, *, + certificate_authority_arns: Sequence[str]): + pulumi.set(__self__, "certificate_authority_arns", certificate_authority_arns) + + @property + @pulumi.getter(name="certificateAuthorityArns") + def certificate_authority_arns(self) -> Sequence[str]: + return pulumi.get(self, "certificate_authority_arns") + + +@pulumi.output_type +class GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustFileResult(dict): + def __init__(__self__, *, + certificate_chain: str): + pulumi.set(__self__, "certificate_chain", certificate_chain) + + @property + @pulumi.getter(name="certificateChain") + def certificate_chain(self) -> str: + return pulumi.get(self, "certificate_chain") + + +@pulumi.output_type +class GetVirtualNodeSpecBackendDefaultClientPolicyTlValidationTrustSdResult(dict): + def __init__(__self__, *, + secret_name: str): + pulumi.set(__self__, "secret_name", secret_name) + + @property + @pulumi.getter(name="secretName") + def secret_name(self) -> str: + return pulumi.get(self, "secret_name") + + +@pulumi.output_type +class GetVirtualNodeSpecBackendVirtualServiceResult(dict): + def __init__(__self__, *, + client_policies: Sequence['outputs.GetVirtualNodeSpecBackendVirtualServiceClientPolicyResult'], + virtual_service_name: str): + pulumi.set(__self__, "client_policies", client_policies) + pulumi.set(__self__, "virtual_service_name", virtual_service_name) + + @property + @pulumi.getter(name="clientPolicies") + def client_policies(self) -> Sequence['outputs.GetVirtualNodeSpecBackendVirtualServiceClientPolicyResult']: + return pulumi.get(self, "client_policies") + + @property + @pulumi.getter(name="virtualServiceName") + def virtual_service_name(self) -> str: + return pulumi.get(self, "virtual_service_name") + + +@pulumi.output_type +class GetVirtualNodeSpecBackendVirtualServiceClientPolicyResult(dict): + def __init__(__self__, *, + tls: Sequence['outputs.GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlResult']): + pulumi.set(__self__, "tls", tls) + + @property + @pulumi.getter + def tls(self) -> Sequence['outputs.GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlResult']: + return pulumi.get(self, "tls") + + +@pulumi.output_type +class GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlResult(dict): + def __init__(__self__, *, + certificates: Sequence['outputs.GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlCertificateResult'], + enforce: bool, + ports: Sequence[int], + validations: Sequence['outputs.GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationResult']): + pulumi.set(__self__, "certificates", certificates) + pulumi.set(__self__, "enforce", enforce) + pulumi.set(__self__, "ports", ports) + pulumi.set(__self__, "validations", validations) + + @property + @pulumi.getter + def certificates(self) -> Sequence['outputs.GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlCertificateResult']: + return pulumi.get(self, "certificates") + + @property + @pulumi.getter + def enforce(self) -> bool: + return pulumi.get(self, "enforce") + + @property + @pulumi.getter + def ports(self) -> Sequence[int]: + return pulumi.get(self, "ports") + + @property + @pulumi.getter + def validations(self) -> Sequence['outputs.GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationResult']: + return pulumi.get(self, "validations") + + +@pulumi.output_type +class GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlCertificateResult(dict): + def __init__(__self__, *, + files: Sequence['outputs.GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlCertificateFileResult'], + sds: Sequence['outputs.GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlCertificateSdResult']): + pulumi.set(__self__, "files", files) + pulumi.set(__self__, "sds", sds) + + @property + @pulumi.getter + def files(self) -> Sequence['outputs.GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlCertificateFileResult']: + return pulumi.get(self, "files") + + @property + @pulumi.getter + def sds(self) -> Sequence['outputs.GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlCertificateSdResult']: + return pulumi.get(self, "sds") + + +@pulumi.output_type +class GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlCertificateFileResult(dict): + def __init__(__self__, *, + certificate_chain: str, + private_key: str): + pulumi.set(__self__, "certificate_chain", certificate_chain) + pulumi.set(__self__, "private_key", private_key) + + @property + @pulumi.getter(name="certificateChain") + def certificate_chain(self) -> str: + return pulumi.get(self, "certificate_chain") + + @property + @pulumi.getter(name="privateKey") + def private_key(self) -> str: + return pulumi.get(self, "private_key") + + +@pulumi.output_type +class GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlCertificateSdResult(dict): + def __init__(__self__, *, + secret_name: str): + pulumi.set(__self__, "secret_name", secret_name) + + @property + @pulumi.getter(name="secretName") + def secret_name(self) -> str: + return pulumi.get(self, "secret_name") + + +@pulumi.output_type +class GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationResult(dict): + def __init__(__self__, *, + subject_alternative_names: Sequence['outputs.GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationSubjectAlternativeNameResult'], + trusts: Sequence['outputs.GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustResult']): + pulumi.set(__self__, "subject_alternative_names", subject_alternative_names) + pulumi.set(__self__, "trusts", trusts) + + @property + @pulumi.getter(name="subjectAlternativeNames") + def subject_alternative_names(self) -> Sequence['outputs.GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationSubjectAlternativeNameResult']: + return pulumi.get(self, "subject_alternative_names") + + @property + @pulumi.getter + def trusts(self) -> Sequence['outputs.GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustResult']: + return pulumi.get(self, "trusts") + + +@pulumi.output_type +class GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationSubjectAlternativeNameResult(dict): + def __init__(__self__, *, + matches: Sequence['outputs.GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationSubjectAlternativeNameMatchResult']): + pulumi.set(__self__, "matches", matches) + + @property + @pulumi.getter + def matches(self) -> Sequence['outputs.GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationSubjectAlternativeNameMatchResult']: + return pulumi.get(self, "matches") + + +@pulumi.output_type +class GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationSubjectAlternativeNameMatchResult(dict): + def __init__(__self__, *, + exacts: Sequence[str]): + pulumi.set(__self__, "exacts", exacts) + + @property + @pulumi.getter + def exacts(self) -> Sequence[str]: + return pulumi.get(self, "exacts") + + +@pulumi.output_type +class GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustResult(dict): + def __init__(__self__, *, + acms: Sequence['outputs.GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustAcmResult'], + files: Sequence['outputs.GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustFileResult'], + sds: Sequence['outputs.GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustSdResult']): + pulumi.set(__self__, "acms", acms) + pulumi.set(__self__, "files", files) + pulumi.set(__self__, "sds", sds) + + @property + @pulumi.getter + def acms(self) -> Sequence['outputs.GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustAcmResult']: + return pulumi.get(self, "acms") + + @property + @pulumi.getter + def files(self) -> Sequence['outputs.GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustFileResult']: + return pulumi.get(self, "files") + + @property + @pulumi.getter + def sds(self) -> Sequence['outputs.GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustSdResult']: + return pulumi.get(self, "sds") + + +@pulumi.output_type +class GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustAcmResult(dict): def __init__(__self__, *, certificate_authority_arns: Sequence[str]): - """ - :param Sequence[str] certificate_authority_arns: One or more ACM ARNs. - """ pulumi.set(__self__, "certificate_authority_arns", certificate_authority_arns) @property @pulumi.getter(name="certificateAuthorityArns") def certificate_authority_arns(self) -> Sequence[str]: - """ - One or more ACM ARNs. - """ return pulumi.get(self, "certificate_authority_arns") @pulumi.output_type -class GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustFileResult(dict): +class GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustFileResult(dict): def __init__(__self__, *, certificate_chain: str): - """ - :param str certificate_chain: Certificate trust chain for a certificate stored on the file system of the mesh endpoint that the proxy is running on. Must be between 1 and 255 characters in length. - """ pulumi.set(__self__, "certificate_chain", certificate_chain) @property @pulumi.getter(name="certificateChain") def certificate_chain(self) -> str: - """ - Certificate trust chain for a certificate stored on the file system of the mesh endpoint that the proxy is running on. Must be between 1 and 255 characters in length. - """ return pulumi.get(self, "certificate_chain") @pulumi.output_type -class GetVirtualGatewaySpecBackendDefaultClientPolicyTlValidationTrustSdResult(dict): +class GetVirtualNodeSpecBackendVirtualServiceClientPolicyTlValidationTrustSdResult(dict): def __init__(__self__, *, secret_name: str): - """ - :param str secret_name: Name of the secret for a virtual gateway's Transport Layer Security (TLS) Secret Discovery Service validation context trust. - """ pulumi.set(__self__, "secret_name", secret_name) @property @pulumi.getter(name="secretName") def secret_name(self) -> str: - """ - Name of the secret for a virtual gateway's Transport Layer Security (TLS) Secret Discovery Service validation context trust. - """ return pulumi.get(self, "secret_name") @pulumi.output_type -class GetVirtualGatewaySpecListenerResult(dict): +class GetVirtualNodeSpecListenerResult(dict): def __init__(__self__, *, - connection_pools: Sequence['outputs.GetVirtualGatewaySpecListenerConnectionPoolResult'], - health_checks: Sequence['outputs.GetVirtualGatewaySpecListenerHealthCheckResult'], - port_mappings: Sequence['outputs.GetVirtualGatewaySpecListenerPortMappingResult'], - tls: Sequence['outputs.GetVirtualGatewaySpecListenerTlResult']): - """ - :param Sequence['GetVirtualGatewaySpecListenerConnectionPoolArgs'] connection_pools: Connection pool information for the listener. - :param Sequence['GetVirtualGatewaySpecListenerHealthCheckArgs'] health_checks: Health check information for the listener. - :param Sequence['GetVirtualGatewaySpecListenerPortMappingArgs'] port_mappings: Port mapping information for the listener. - :param Sequence['GetVirtualGatewaySpecListenerTlArgs'] tls: Transport Layer Security (TLS) properties for the listener - """ + connection_pools: Sequence['outputs.GetVirtualNodeSpecListenerConnectionPoolResult'], + health_checks: Sequence['outputs.GetVirtualNodeSpecListenerHealthCheckResult'], + outlier_detections: Sequence['outputs.GetVirtualNodeSpecListenerOutlierDetectionResult'], + port_mappings: Sequence['outputs.GetVirtualNodeSpecListenerPortMappingResult'], + timeouts: Sequence['outputs.GetVirtualNodeSpecListenerTimeoutResult'], + tls: Sequence['outputs.GetVirtualNodeSpecListenerTlResult']): pulumi.set(__self__, "connection_pools", connection_pools) pulumi.set(__self__, "health_checks", health_checks) + pulumi.set(__self__, "outlier_detections", outlier_detections) pulumi.set(__self__, "port_mappings", port_mappings) + pulumi.set(__self__, "timeouts", timeouts) pulumi.set(__self__, "tls", tls) @property @pulumi.getter(name="connectionPools") - def connection_pools(self) -> Sequence['outputs.GetVirtualGatewaySpecListenerConnectionPoolResult']: - """ - Connection pool information for the listener. - """ + def connection_pools(self) -> Sequence['outputs.GetVirtualNodeSpecListenerConnectionPoolResult']: return pulumi.get(self, "connection_pools") @property @pulumi.getter(name="healthChecks") - def health_checks(self) -> Sequence['outputs.GetVirtualGatewaySpecListenerHealthCheckResult']: - """ - Health check information for the listener. - """ + def health_checks(self) -> Sequence['outputs.GetVirtualNodeSpecListenerHealthCheckResult']: return pulumi.get(self, "health_checks") + @property + @pulumi.getter(name="outlierDetections") + def outlier_detections(self) -> Sequence['outputs.GetVirtualNodeSpecListenerOutlierDetectionResult']: + return pulumi.get(self, "outlier_detections") + @property @pulumi.getter(name="portMappings") - def port_mappings(self) -> Sequence['outputs.GetVirtualGatewaySpecListenerPortMappingResult']: - """ - Port mapping information for the listener. - """ + def port_mappings(self) -> Sequence['outputs.GetVirtualNodeSpecListenerPortMappingResult']: return pulumi.get(self, "port_mappings") @property @pulumi.getter - def tls(self) -> Sequence['outputs.GetVirtualGatewaySpecListenerTlResult']: - """ - Transport Layer Security (TLS) properties for the listener - """ + def timeouts(self) -> Sequence['outputs.GetVirtualNodeSpecListenerTimeoutResult']: + return pulumi.get(self, "timeouts") + + @property + @pulumi.getter + def tls(self) -> Sequence['outputs.GetVirtualNodeSpecListenerTlResult']: return pulumi.get(self, "tls") @pulumi.output_type -class GetVirtualGatewaySpecListenerConnectionPoolResult(dict): +class GetVirtualNodeSpecListenerConnectionPoolResult(dict): def __init__(__self__, *, - grpcs: Sequence['outputs.GetVirtualGatewaySpecListenerConnectionPoolGrpcResult'], - http2s: Sequence['outputs.GetVirtualGatewaySpecListenerConnectionPoolHttp2Result'], - https: Sequence['outputs.GetVirtualGatewaySpecListenerConnectionPoolHttpResult']): - """ - :param Sequence['GetVirtualGatewaySpecListenerConnectionPoolGrpcArgs'] grpcs: Connection pool information for gRPC listeners. - :param Sequence['GetVirtualGatewaySpecListenerConnectionPoolHttp2Args'] http2s: Connection pool information for HTTP2 listeners. - :param Sequence['GetVirtualGatewaySpecListenerConnectionPoolHttpArgs'] https: Connection pool information for HTTP listeners. - """ + grpcs: Sequence['outputs.GetVirtualNodeSpecListenerConnectionPoolGrpcResult'], + http2s: Sequence['outputs.GetVirtualNodeSpecListenerConnectionPoolHttp2Result'], + https: Sequence['outputs.GetVirtualNodeSpecListenerConnectionPoolHttpResult'], + tcps: Sequence['outputs.GetVirtualNodeSpecListenerConnectionPoolTcpResult']): + pulumi.set(__self__, "grpcs", grpcs) + pulumi.set(__self__, "http2s", http2s) + pulumi.set(__self__, "https", https) + pulumi.set(__self__, "tcps", tcps) + + @property + @pulumi.getter + def grpcs(self) -> Sequence['outputs.GetVirtualNodeSpecListenerConnectionPoolGrpcResult']: + return pulumi.get(self, "grpcs") + + @property + @pulumi.getter + def http2s(self) -> Sequence['outputs.GetVirtualNodeSpecListenerConnectionPoolHttp2Result']: + return pulumi.get(self, "http2s") + + @property + @pulumi.getter + def https(self) -> Sequence['outputs.GetVirtualNodeSpecListenerConnectionPoolHttpResult']: + return pulumi.get(self, "https") + + @property + @pulumi.getter + def tcps(self) -> Sequence['outputs.GetVirtualNodeSpecListenerConnectionPoolTcpResult']: + return pulumi.get(self, "tcps") + + +@pulumi.output_type +class GetVirtualNodeSpecListenerConnectionPoolGrpcResult(dict): + def __init__(__self__, *, + max_requests: int): + pulumi.set(__self__, "max_requests", max_requests) + + @property + @pulumi.getter(name="maxRequests") + def max_requests(self) -> int: + return pulumi.get(self, "max_requests") + + +@pulumi.output_type +class GetVirtualNodeSpecListenerConnectionPoolHttp2Result(dict): + def __init__(__self__, *, + max_requests: int): + pulumi.set(__self__, "max_requests", max_requests) + + @property + @pulumi.getter(name="maxRequests") + def max_requests(self) -> int: + return pulumi.get(self, "max_requests") + + +@pulumi.output_type +class GetVirtualNodeSpecListenerConnectionPoolHttpResult(dict): + def __init__(__self__, *, + max_connections: int, + max_pending_requests: int): + pulumi.set(__self__, "max_connections", max_connections) + pulumi.set(__self__, "max_pending_requests", max_pending_requests) + + @property + @pulumi.getter(name="maxConnections") + def max_connections(self) -> int: + return pulumi.get(self, "max_connections") + + @property + @pulumi.getter(name="maxPendingRequests") + def max_pending_requests(self) -> int: + return pulumi.get(self, "max_pending_requests") + + +@pulumi.output_type +class GetVirtualNodeSpecListenerConnectionPoolTcpResult(dict): + def __init__(__self__, *, + max_connections: int): + pulumi.set(__self__, "max_connections", max_connections) + + @property + @pulumi.getter(name="maxConnections") + def max_connections(self) -> int: + return pulumi.get(self, "max_connections") + + +@pulumi.output_type +class GetVirtualNodeSpecListenerHealthCheckResult(dict): + def __init__(__self__, *, + healthy_threshold: int, + interval_millis: int, + path: str, + port: int, + protocol: str, + timeout_millis: int, + unhealthy_threshold: int): + pulumi.set(__self__, "healthy_threshold", healthy_threshold) + pulumi.set(__self__, "interval_millis", interval_millis) + pulumi.set(__self__, "path", path) + pulumi.set(__self__, "port", port) + pulumi.set(__self__, "protocol", protocol) + pulumi.set(__self__, "timeout_millis", timeout_millis) + pulumi.set(__self__, "unhealthy_threshold", unhealthy_threshold) + + @property + @pulumi.getter(name="healthyThreshold") + def healthy_threshold(self) -> int: + return pulumi.get(self, "healthy_threshold") + + @property + @pulumi.getter(name="intervalMillis") + def interval_millis(self) -> int: + return pulumi.get(self, "interval_millis") + + @property + @pulumi.getter + def path(self) -> str: + return pulumi.get(self, "path") + + @property + @pulumi.getter + def port(self) -> int: + return pulumi.get(self, "port") + + @property + @pulumi.getter + def protocol(self) -> str: + return pulumi.get(self, "protocol") + + @property + @pulumi.getter(name="timeoutMillis") + def timeout_millis(self) -> int: + return pulumi.get(self, "timeout_millis") + + @property + @pulumi.getter(name="unhealthyThreshold") + def unhealthy_threshold(self) -> int: + return pulumi.get(self, "unhealthy_threshold") + + +@pulumi.output_type +class GetVirtualNodeSpecListenerOutlierDetectionResult(dict): + def __init__(__self__, *, + base_ejection_durations: Sequence['outputs.GetVirtualNodeSpecListenerOutlierDetectionBaseEjectionDurationResult'], + intervals: Sequence['outputs.GetVirtualNodeSpecListenerOutlierDetectionIntervalResult'], + max_ejection_percent: int, + max_server_errors: int): + pulumi.set(__self__, "base_ejection_durations", base_ejection_durations) + pulumi.set(__self__, "intervals", intervals) + pulumi.set(__self__, "max_ejection_percent", max_ejection_percent) + pulumi.set(__self__, "max_server_errors", max_server_errors) + + @property + @pulumi.getter(name="baseEjectionDurations") + def base_ejection_durations(self) -> Sequence['outputs.GetVirtualNodeSpecListenerOutlierDetectionBaseEjectionDurationResult']: + return pulumi.get(self, "base_ejection_durations") + + @property + @pulumi.getter + def intervals(self) -> Sequence['outputs.GetVirtualNodeSpecListenerOutlierDetectionIntervalResult']: + return pulumi.get(self, "intervals") + + @property + @pulumi.getter(name="maxEjectionPercent") + def max_ejection_percent(self) -> int: + return pulumi.get(self, "max_ejection_percent") + + @property + @pulumi.getter(name="maxServerErrors") + def max_server_errors(self) -> int: + return pulumi.get(self, "max_server_errors") + + +@pulumi.output_type +class GetVirtualNodeSpecListenerOutlierDetectionBaseEjectionDurationResult(dict): + def __init__(__self__, *, + unit: str, + value: int): + pulumi.set(__self__, "unit", unit) + pulumi.set(__self__, "value", value) + + @property + @pulumi.getter + def unit(self) -> str: + return pulumi.get(self, "unit") + + @property + @pulumi.getter + def value(self) -> int: + return pulumi.get(self, "value") + + +@pulumi.output_type +class GetVirtualNodeSpecListenerOutlierDetectionIntervalResult(dict): + def __init__(__self__, *, + unit: str, + value: int): + pulumi.set(__self__, "unit", unit) + pulumi.set(__self__, "value", value) + + @property + @pulumi.getter + def unit(self) -> str: + return pulumi.get(self, "unit") + + @property + @pulumi.getter + def value(self) -> int: + return pulumi.get(self, "value") + + +@pulumi.output_type +class GetVirtualNodeSpecListenerPortMappingResult(dict): + def __init__(__self__, *, + port: int, + protocol: str): + pulumi.set(__self__, "port", port) + pulumi.set(__self__, "protocol", protocol) + + @property + @pulumi.getter + def port(self) -> int: + return pulumi.get(self, "port") + + @property + @pulumi.getter + def protocol(self) -> str: + return pulumi.get(self, "protocol") + + +@pulumi.output_type +class GetVirtualNodeSpecListenerTimeoutResult(dict): + def __init__(__self__, *, + grpcs: Sequence['outputs.GetVirtualNodeSpecListenerTimeoutGrpcResult'], + http2s: Sequence['outputs.GetVirtualNodeSpecListenerTimeoutHttp2Result'], + https: Sequence['outputs.GetVirtualNodeSpecListenerTimeoutHttpResult'], + tcps: Sequence['outputs.GetVirtualNodeSpecListenerTimeoutTcpResult']): pulumi.set(__self__, "grpcs", grpcs) pulumi.set(__self__, "http2s", http2s) pulumi.set(__self__, "https", https) + pulumi.set(__self__, "tcps", tcps) @property @pulumi.getter - def grpcs(self) -> Sequence['outputs.GetVirtualGatewaySpecListenerConnectionPoolGrpcResult']: - """ - Connection pool information for gRPC listeners. - """ + def grpcs(self) -> Sequence['outputs.GetVirtualNodeSpecListenerTimeoutGrpcResult']: return pulumi.get(self, "grpcs") @property @pulumi.getter - def http2s(self) -> Sequence['outputs.GetVirtualGatewaySpecListenerConnectionPoolHttp2Result']: - """ - Connection pool information for HTTP2 listeners. - """ + def http2s(self) -> Sequence['outputs.GetVirtualNodeSpecListenerTimeoutHttp2Result']: return pulumi.get(self, "http2s") @property @pulumi.getter - def https(self) -> Sequence['outputs.GetVirtualGatewaySpecListenerConnectionPoolHttpResult']: - """ - Connection pool information for HTTP listeners. - """ + def https(self) -> Sequence['outputs.GetVirtualNodeSpecListenerTimeoutHttpResult']: return pulumi.get(self, "https") + @property + @pulumi.getter + def tcps(self) -> Sequence['outputs.GetVirtualNodeSpecListenerTimeoutTcpResult']: + return pulumi.get(self, "tcps") + @pulumi.output_type -class GetVirtualGatewaySpecListenerConnectionPoolGrpcResult(dict): +class GetVirtualNodeSpecListenerTimeoutGrpcResult(dict): def __init__(__self__, *, - max_requests: int): - """ - :param int max_requests: Maximum number of inflight requests Envoy can concurrently support across hosts in upstream cluster. Minimum value of `1`. - """ - pulumi.set(__self__, "max_requests", max_requests) + idles: Sequence['outputs.GetVirtualNodeSpecListenerTimeoutGrpcIdleResult'], + per_requests: Sequence['outputs.GetVirtualNodeSpecListenerTimeoutGrpcPerRequestResult']): + pulumi.set(__self__, "idles", idles) + pulumi.set(__self__, "per_requests", per_requests) @property - @pulumi.getter(name="maxRequests") - def max_requests(self) -> int: - """ - Maximum number of inflight requests Envoy can concurrently support across hosts in upstream cluster. Minimum value of `1`. - """ - return pulumi.get(self, "max_requests") + @pulumi.getter + def idles(self) -> Sequence['outputs.GetVirtualNodeSpecListenerTimeoutGrpcIdleResult']: + return pulumi.get(self, "idles") + + @property + @pulumi.getter(name="perRequests") + def per_requests(self) -> Sequence['outputs.GetVirtualNodeSpecListenerTimeoutGrpcPerRequestResult']: + return pulumi.get(self, "per_requests") @pulumi.output_type -class GetVirtualGatewaySpecListenerConnectionPoolHttp2Result(dict): +class GetVirtualNodeSpecListenerTimeoutGrpcIdleResult(dict): def __init__(__self__, *, - max_requests: int): - """ - :param int max_requests: Maximum number of inflight requests Envoy can concurrently support across hosts in upstream cluster. Minimum value of `1`. - """ - pulumi.set(__self__, "max_requests", max_requests) + unit: str, + value: int): + pulumi.set(__self__, "unit", unit) + pulumi.set(__self__, "value", value) @property - @pulumi.getter(name="maxRequests") - def max_requests(self) -> int: - """ - Maximum number of inflight requests Envoy can concurrently support across hosts in upstream cluster. Minimum value of `1`. - """ - return pulumi.get(self, "max_requests") + @pulumi.getter + def unit(self) -> str: + return pulumi.get(self, "unit") + + @property + @pulumi.getter + def value(self) -> int: + return pulumi.get(self, "value") @pulumi.output_type -class GetVirtualGatewaySpecListenerConnectionPoolHttpResult(dict): +class GetVirtualNodeSpecListenerTimeoutGrpcPerRequestResult(dict): def __init__(__self__, *, - max_connections: int, - max_pending_requests: int): - """ - :param int max_connections: Maximum number of outbound TCP connections Envoy can establish concurrently with all hosts in upstream cluster. Minimum value of `1`. - :param int max_pending_requests: Number of overflowing requests after `max_connections` Envoy will queue to upstream cluster. Minimum value of `1`. - """ - pulumi.set(__self__, "max_connections", max_connections) - pulumi.set(__self__, "max_pending_requests", max_pending_requests) + unit: str, + value: int): + pulumi.set(__self__, "unit", unit) + pulumi.set(__self__, "value", value) @property - @pulumi.getter(name="maxConnections") - def max_connections(self) -> int: - """ - Maximum number of outbound TCP connections Envoy can establish concurrently with all hosts in upstream cluster. Minimum value of `1`. - """ - return pulumi.get(self, "max_connections") + @pulumi.getter + def unit(self) -> str: + return pulumi.get(self, "unit") @property - @pulumi.getter(name="maxPendingRequests") - def max_pending_requests(self) -> int: - """ - Number of overflowing requests after `max_connections` Envoy will queue to upstream cluster. Minimum value of `1`. - """ - return pulumi.get(self, "max_pending_requests") + @pulumi.getter + def value(self) -> int: + return pulumi.get(self, "value") @pulumi.output_type -class GetVirtualGatewaySpecListenerHealthCheckResult(dict): +class GetVirtualNodeSpecListenerTimeoutHttp2Result(dict): def __init__(__self__, *, - healthy_threshold: int, - interval_millis: int, - path: str, - port: int, - protocol: str, - timeout_millis: int, - unhealthy_threshold: int): - """ - :param int healthy_threshold: Number of consecutive successful health checks that must occur before declaring listener healthy. - :param int interval_millis: Time period in milliseconds between each health check execution. - :param str path: Destination path for the health check request. This is only required if the specified protocol is `http` or `http2`. - :param int port: Destination port for the health check request. This port must match the port defined in the `port_mapping` for the listener. - :param str protocol: Protocol for the health check request. Valid values are `http`, `http2`, and `grpc`. - :param int timeout_millis: Amount of time to wait when receiving a response from the health check, in milliseconds. - :param int unhealthy_threshold: Number of consecutive failed health checks that must occur before declaring a virtual gateway unhealthy. - """ - pulumi.set(__self__, "healthy_threshold", healthy_threshold) - pulumi.set(__self__, "interval_millis", interval_millis) - pulumi.set(__self__, "path", path) - pulumi.set(__self__, "port", port) - pulumi.set(__self__, "protocol", protocol) - pulumi.set(__self__, "timeout_millis", timeout_millis) - pulumi.set(__self__, "unhealthy_threshold", unhealthy_threshold) + idles: Sequence['outputs.GetVirtualNodeSpecListenerTimeoutHttp2IdleResult'], + per_requests: Sequence['outputs.GetVirtualNodeSpecListenerTimeoutHttp2PerRequestResult']): + pulumi.set(__self__, "idles", idles) + pulumi.set(__self__, "per_requests", per_requests) @property - @pulumi.getter(name="healthyThreshold") - def healthy_threshold(self) -> int: - """ - Number of consecutive successful health checks that must occur before declaring listener healthy. - """ - return pulumi.get(self, "healthy_threshold") + @pulumi.getter + def idles(self) -> Sequence['outputs.GetVirtualNodeSpecListenerTimeoutHttp2IdleResult']: + return pulumi.get(self, "idles") @property - @pulumi.getter(name="intervalMillis") - def interval_millis(self) -> int: - """ - Time period in milliseconds between each health check execution. - """ - return pulumi.get(self, "interval_millis") + @pulumi.getter(name="perRequests") + def per_requests(self) -> Sequence['outputs.GetVirtualNodeSpecListenerTimeoutHttp2PerRequestResult']: + return pulumi.get(self, "per_requests") + + +@pulumi.output_type +class GetVirtualNodeSpecListenerTimeoutHttp2IdleResult(dict): + def __init__(__self__, *, + unit: str, + value: int): + pulumi.set(__self__, "unit", unit) + pulumi.set(__self__, "value", value) @property @pulumi.getter - def path(self) -> str: - """ - Destination path for the health check request. This is only required if the specified protocol is `http` or `http2`. - """ - return pulumi.get(self, "path") + def unit(self) -> str: + return pulumi.get(self, "unit") @property @pulumi.getter - def port(self) -> int: - """ - Destination port for the health check request. This port must match the port defined in the `port_mapping` for the listener. - """ - return pulumi.get(self, "port") + def value(self) -> int: + return pulumi.get(self, "value") + + +@pulumi.output_type +class GetVirtualNodeSpecListenerTimeoutHttp2PerRequestResult(dict): + def __init__(__self__, *, + unit: str, + value: int): + pulumi.set(__self__, "unit", unit) + pulumi.set(__self__, "value", value) @property @pulumi.getter - def protocol(self) -> str: - """ - Protocol for the health check request. Valid values are `http`, `http2`, and `grpc`. - """ - return pulumi.get(self, "protocol") + def unit(self) -> str: + return pulumi.get(self, "unit") @property - @pulumi.getter(name="timeoutMillis") - def timeout_millis(self) -> int: - """ - Amount of time to wait when receiving a response from the health check, in milliseconds. - """ - return pulumi.get(self, "timeout_millis") + @pulumi.getter + def value(self) -> int: + return pulumi.get(self, "value") + + +@pulumi.output_type +class GetVirtualNodeSpecListenerTimeoutHttpResult(dict): + def __init__(__self__, *, + idles: Sequence['outputs.GetVirtualNodeSpecListenerTimeoutHttpIdleResult'], + per_requests: Sequence['outputs.GetVirtualNodeSpecListenerTimeoutHttpPerRequestResult']): + pulumi.set(__self__, "idles", idles) + pulumi.set(__self__, "per_requests", per_requests) @property - @pulumi.getter(name="unhealthyThreshold") - def unhealthy_threshold(self) -> int: - """ - Number of consecutive failed health checks that must occur before declaring a virtual gateway unhealthy. - """ - return pulumi.get(self, "unhealthy_threshold") + @pulumi.getter + def idles(self) -> Sequence['outputs.GetVirtualNodeSpecListenerTimeoutHttpIdleResult']: + return pulumi.get(self, "idles") + + @property + @pulumi.getter(name="perRequests") + def per_requests(self) -> Sequence['outputs.GetVirtualNodeSpecListenerTimeoutHttpPerRequestResult']: + return pulumi.get(self, "per_requests") @pulumi.output_type -class GetVirtualGatewaySpecListenerPortMappingResult(dict): +class GetVirtualNodeSpecListenerTimeoutHttpIdleResult(dict): def __init__(__self__, *, - port: int, - protocol: str): - """ - :param int port: Destination port for the health check request. This port must match the port defined in the `port_mapping` for the listener. - :param str protocol: Protocol for the health check request. Valid values are `http`, `http2`, and `grpc`. - """ - pulumi.set(__self__, "port", port) - pulumi.set(__self__, "protocol", protocol) + unit: str, + value: int): + pulumi.set(__self__, "unit", unit) + pulumi.set(__self__, "value", value) @property @pulumi.getter - def port(self) -> int: - """ - Destination port for the health check request. This port must match the port defined in the `port_mapping` for the listener. - """ - return pulumi.get(self, "port") + def unit(self) -> str: + return pulumi.get(self, "unit") + + @property + @pulumi.getter + def value(self) -> int: + return pulumi.get(self, "value") + + +@pulumi.output_type +class GetVirtualNodeSpecListenerTimeoutHttpPerRequestResult(dict): + def __init__(__self__, *, + unit: str, + value: int): + pulumi.set(__self__, "unit", unit) + pulumi.set(__self__, "value", value) + + @property + @pulumi.getter + def unit(self) -> str: + return pulumi.get(self, "unit") + + @property + @pulumi.getter + def value(self) -> int: + return pulumi.get(self, "value") + + +@pulumi.output_type +class GetVirtualNodeSpecListenerTimeoutTcpResult(dict): + def __init__(__self__, *, + idles: Sequence['outputs.GetVirtualNodeSpecListenerTimeoutTcpIdleResult']): + pulumi.set(__self__, "idles", idles) + + @property + @pulumi.getter + def idles(self) -> Sequence['outputs.GetVirtualNodeSpecListenerTimeoutTcpIdleResult']: + return pulumi.get(self, "idles") + + +@pulumi.output_type +class GetVirtualNodeSpecListenerTimeoutTcpIdleResult(dict): + def __init__(__self__, *, + unit: str, + value: int): + pulumi.set(__self__, "unit", unit) + pulumi.set(__self__, "value", value) @property @pulumi.getter - def protocol(self) -> str: - """ - Protocol for the health check request. Valid values are `http`, `http2`, and `grpc`. - """ - return pulumi.get(self, "protocol") + def unit(self) -> str: + return pulumi.get(self, "unit") + + @property + @pulumi.getter + def value(self) -> int: + return pulumi.get(self, "value") @pulumi.output_type -class GetVirtualGatewaySpecListenerTlResult(dict): +class GetVirtualNodeSpecListenerTlResult(dict): def __init__(__self__, *, - certificates: Sequence['outputs.GetVirtualGatewaySpecListenerTlCertificateResult'], + certificates: Sequence['outputs.GetVirtualNodeSpecListenerTlCertificateResult'], mode: str, - validations: Sequence['outputs.GetVirtualGatewaySpecListenerTlValidationResult']): - """ - :param Sequence['GetVirtualGatewaySpecListenerTlCertificateArgs'] certificates: Listener's TLS certificate. - :param str mode: Listener's TLS mode. Valid values: `DISABLED`, `PERMISSIVE`, `STRICT`. - :param Sequence['GetVirtualGatewaySpecListenerTlValidationArgs'] validations: Listener's Transport Layer Security (TLS) validation context. - """ + validations: Sequence['outputs.GetVirtualNodeSpecListenerTlValidationResult']): pulumi.set(__self__, "certificates", certificates) pulumi.set(__self__, "mode", mode) pulumi.set(__self__, "validations", validations) @property @pulumi.getter - def certificates(self) -> Sequence['outputs.GetVirtualGatewaySpecListenerTlCertificateResult']: - """ - Listener's TLS certificate. - """ + def certificates(self) -> Sequence['outputs.GetVirtualNodeSpecListenerTlCertificateResult']: return pulumi.get(self, "certificates") @property @pulumi.getter def mode(self) -> str: - """ - Listener's TLS mode. Valid values: `DISABLED`, `PERMISSIVE`, `STRICT`. - """ return pulumi.get(self, "mode") @property @pulumi.getter - def validations(self) -> Sequence['outputs.GetVirtualGatewaySpecListenerTlValidationResult']: - """ - Listener's Transport Layer Security (TLS) validation context. - """ + def validations(self) -> Sequence['outputs.GetVirtualNodeSpecListenerTlValidationResult']: return pulumi.get(self, "validations") @pulumi.output_type -class GetVirtualGatewaySpecListenerTlCertificateResult(dict): +class GetVirtualNodeSpecListenerTlCertificateResult(dict): def __init__(__self__, *, - acms: Sequence['outputs.GetVirtualGatewaySpecListenerTlCertificateAcmResult'], - files: Sequence['outputs.GetVirtualGatewaySpecListenerTlCertificateFileResult'], - sds: Sequence['outputs.GetVirtualGatewaySpecListenerTlCertificateSdResult']): - """ - :param Sequence['GetVirtualGatewaySpecListenerTlCertificateAcmArgs'] acms: An AWS Certificate Manager (ACM) certificate. - :param Sequence['GetVirtualGatewaySpecListenerTlCertificateFileArgs'] files: TLS validation context trust for a local file certificate. - :param Sequence['GetVirtualGatewaySpecListenerTlCertificateSdArgs'] sds: TLS validation context trust for a [Secret Discovery Service](https://www.envoyproxy.io/docs/envoy/latest/configuration/security/secret#secret-discovery-service-sds) certificate. - """ + acms: Sequence['outputs.GetVirtualNodeSpecListenerTlCertificateAcmResult'], + files: Sequence['outputs.GetVirtualNodeSpecListenerTlCertificateFileResult'], + sds: Sequence['outputs.GetVirtualNodeSpecListenerTlCertificateSdResult']): pulumi.set(__self__, "acms", acms) pulumi.set(__self__, "files", files) pulumi.set(__self__, "sds", sds) @property @pulumi.getter - def acms(self) -> Sequence['outputs.GetVirtualGatewaySpecListenerTlCertificateAcmResult']: - """ - An AWS Certificate Manager (ACM) certificate. - """ + def acms(self) -> Sequence['outputs.GetVirtualNodeSpecListenerTlCertificateAcmResult']: return pulumi.get(self, "acms") @property @pulumi.getter - def files(self) -> Sequence['outputs.GetVirtualGatewaySpecListenerTlCertificateFileResult']: - """ - TLS validation context trust for a local file certificate. - """ + def files(self) -> Sequence['outputs.GetVirtualNodeSpecListenerTlCertificateFileResult']: return pulumi.get(self, "files") @property @pulumi.getter - def sds(self) -> Sequence['outputs.GetVirtualGatewaySpecListenerTlCertificateSdResult']: - """ - TLS validation context trust for a [Secret Discovery Service](https://www.envoyproxy.io/docs/envoy/latest/configuration/security/secret#secret-discovery-service-sds) certificate. - """ + def sds(self) -> Sequence['outputs.GetVirtualNodeSpecListenerTlCertificateSdResult']: return pulumi.get(self, "sds") @pulumi.output_type -class GetVirtualGatewaySpecListenerTlCertificateAcmResult(dict): +class GetVirtualNodeSpecListenerTlCertificateAcmResult(dict): def __init__(__self__, *, certificate_arn: str): - """ - :param str certificate_arn: ARN for the certificate. - """ pulumi.set(__self__, "certificate_arn", certificate_arn) @property @pulumi.getter(name="certificateArn") def certificate_arn(self) -> str: - """ - ARN for the certificate. - """ return pulumi.get(self, "certificate_arn") @pulumi.output_type -class GetVirtualGatewaySpecListenerTlCertificateFileResult(dict): +class GetVirtualNodeSpecListenerTlCertificateFileResult(dict): def __init__(__self__, *, certificate_chain: str, private_key: str): - """ - :param str certificate_chain: Certificate trust chain for a certificate stored on the file system of the mesh endpoint that the proxy is running on. Must be between 1 and 255 characters in length. - :param str private_key: Private key for a certificate stored on the file system of the mesh endpoint that the proxy is running on. Must be between 1 and 255 characters in length. - """ pulumi.set(__self__, "certificate_chain", certificate_chain) pulumi.set(__self__, "private_key", private_key) @property @pulumi.getter(name="certificateChain") def certificate_chain(self) -> str: - """ - Certificate trust chain for a certificate stored on the file system of the mesh endpoint that the proxy is running on. Must be between 1 and 255 characters in length. - """ return pulumi.get(self, "certificate_chain") @property @pulumi.getter(name="privateKey") def private_key(self) -> str: - """ - Private key for a certificate stored on the file system of the mesh endpoint that the proxy is running on. Must be between 1 and 255 characters in length. - """ return pulumi.get(self, "private_key") @pulumi.output_type -class GetVirtualGatewaySpecListenerTlCertificateSdResult(dict): +class GetVirtualNodeSpecListenerTlCertificateSdResult(dict): def __init__(__self__, *, secret_name: str): - """ - :param str secret_name: Name of the secret for a virtual gateway's Transport Layer Security (TLS) Secret Discovery Service validation context trust. - """ pulumi.set(__self__, "secret_name", secret_name) @property @pulumi.getter(name="secretName") def secret_name(self) -> str: - """ - Name of the secret for a virtual gateway's Transport Layer Security (TLS) Secret Discovery Service validation context trust. - """ return pulumi.get(self, "secret_name") @pulumi.output_type -class GetVirtualGatewaySpecListenerTlValidationResult(dict): +class GetVirtualNodeSpecListenerTlValidationResult(dict): def __init__(__self__, *, - subject_alternative_names: Sequence['outputs.GetVirtualGatewaySpecListenerTlValidationSubjectAlternativeNameResult'], - trusts: Sequence['outputs.GetVirtualGatewaySpecListenerTlValidationTrustResult']): - """ - :param Sequence['GetVirtualGatewaySpecListenerTlValidationSubjectAlternativeNameArgs'] subject_alternative_names: SANs for a virtual gateway's listener's Transport Layer Security (TLS) validation context. - :param Sequence['GetVirtualGatewaySpecListenerTlValidationTrustArgs'] trusts: TLS validation context trust. - """ + subject_alternative_names: Sequence['outputs.GetVirtualNodeSpecListenerTlValidationSubjectAlternativeNameResult'], + trusts: Sequence['outputs.GetVirtualNodeSpecListenerTlValidationTrustResult']): pulumi.set(__self__, "subject_alternative_names", subject_alternative_names) pulumi.set(__self__, "trusts", trusts) @property @pulumi.getter(name="subjectAlternativeNames") - def subject_alternative_names(self) -> Sequence['outputs.GetVirtualGatewaySpecListenerTlValidationSubjectAlternativeNameResult']: - """ - SANs for a virtual gateway's listener's Transport Layer Security (TLS) validation context. - """ + def subject_alternative_names(self) -> Sequence['outputs.GetVirtualNodeSpecListenerTlValidationSubjectAlternativeNameResult']: return pulumi.get(self, "subject_alternative_names") @property @pulumi.getter - def trusts(self) -> Sequence['outputs.GetVirtualGatewaySpecListenerTlValidationTrustResult']: - """ - TLS validation context trust. - """ + def trusts(self) -> Sequence['outputs.GetVirtualNodeSpecListenerTlValidationTrustResult']: return pulumi.get(self, "trusts") @pulumi.output_type -class GetVirtualGatewaySpecListenerTlValidationSubjectAlternativeNameResult(dict): +class GetVirtualNodeSpecListenerTlValidationSubjectAlternativeNameResult(dict): def __init__(__self__, *, - matches: Sequence['outputs.GetVirtualGatewaySpecListenerTlValidationSubjectAlternativeNameMatchResult']): - """ - :param Sequence['GetVirtualGatewaySpecListenerTlValidationSubjectAlternativeNameMatchArgs'] matches: Criteria for determining a SAN's match. - """ + matches: Sequence['outputs.GetVirtualNodeSpecListenerTlValidationSubjectAlternativeNameMatchResult']): pulumi.set(__self__, "matches", matches) @property @pulumi.getter - def matches(self) -> Sequence['outputs.GetVirtualGatewaySpecListenerTlValidationSubjectAlternativeNameMatchResult']: - """ - Criteria for determining a SAN's match. - """ + def matches(self) -> Sequence['outputs.GetVirtualNodeSpecListenerTlValidationSubjectAlternativeNameMatchResult']: return pulumi.get(self, "matches") @pulumi.output_type -class GetVirtualGatewaySpecListenerTlValidationSubjectAlternativeNameMatchResult(dict): +class GetVirtualNodeSpecListenerTlValidationSubjectAlternativeNameMatchResult(dict): def __init__(__self__, *, exacts: Sequence[str]): - """ - :param Sequence[str] exacts: Values sent must match the specified values exactly. - """ pulumi.set(__self__, "exacts", exacts) @property @pulumi.getter def exacts(self) -> Sequence[str]: - """ - Values sent must match the specified values exactly. - """ return pulumi.get(self, "exacts") @pulumi.output_type -class GetVirtualGatewaySpecListenerTlValidationTrustResult(dict): +class GetVirtualNodeSpecListenerTlValidationTrustResult(dict): def __init__(__self__, *, - files: Sequence['outputs.GetVirtualGatewaySpecListenerTlValidationTrustFileResult'], - sds: Sequence['outputs.GetVirtualGatewaySpecListenerTlValidationTrustSdResult']): - """ - :param Sequence['GetVirtualGatewaySpecListenerTlValidationTrustFileArgs'] files: TLS validation context trust for a local file certificate. - :param Sequence['GetVirtualGatewaySpecListenerTlValidationTrustSdArgs'] sds: TLS validation context trust for a [Secret Discovery Service](https://www.envoyproxy.io/docs/envoy/latest/configuration/security/secret#secret-discovery-service-sds) certificate. - """ + files: Sequence['outputs.GetVirtualNodeSpecListenerTlValidationTrustFileResult'], + sds: Sequence['outputs.GetVirtualNodeSpecListenerTlValidationTrustSdResult']): pulumi.set(__self__, "files", files) pulumi.set(__self__, "sds", sds) @property @pulumi.getter - def files(self) -> Sequence['outputs.GetVirtualGatewaySpecListenerTlValidationTrustFileResult']: - """ - TLS validation context trust for a local file certificate. - """ + def files(self) -> Sequence['outputs.GetVirtualNodeSpecListenerTlValidationTrustFileResult']: return pulumi.get(self, "files") @property @pulumi.getter - def sds(self) -> Sequence['outputs.GetVirtualGatewaySpecListenerTlValidationTrustSdResult']: - """ - TLS validation context trust for a [Secret Discovery Service](https://www.envoyproxy.io/docs/envoy/latest/configuration/security/secret#secret-discovery-service-sds) certificate. - """ + def sds(self) -> Sequence['outputs.GetVirtualNodeSpecListenerTlValidationTrustSdResult']: return pulumi.get(self, "sds") @pulumi.output_type -class GetVirtualGatewaySpecListenerTlValidationTrustFileResult(dict): +class GetVirtualNodeSpecListenerTlValidationTrustFileResult(dict): def __init__(__self__, *, certificate_chain: str): - """ - :param str certificate_chain: Certificate trust chain for a certificate stored on the file system of the mesh endpoint that the proxy is running on. Must be between 1 and 255 characters in length. - """ pulumi.set(__self__, "certificate_chain", certificate_chain) @property @pulumi.getter(name="certificateChain") def certificate_chain(self) -> str: - """ - Certificate trust chain for a certificate stored on the file system of the mesh endpoint that the proxy is running on. Must be between 1 and 255 characters in length. - """ return pulumi.get(self, "certificate_chain") @pulumi.output_type -class GetVirtualGatewaySpecListenerTlValidationTrustSdResult(dict): +class GetVirtualNodeSpecListenerTlValidationTrustSdResult(dict): def __init__(__self__, *, secret_name: str): - """ - :param str secret_name: Name of the secret for a virtual gateway's Transport Layer Security (TLS) Secret Discovery Service validation context trust. - """ pulumi.set(__self__, "secret_name", secret_name) @property @pulumi.getter(name="secretName") def secret_name(self) -> str: - """ - Name of the secret for a virtual gateway's Transport Layer Security (TLS) Secret Discovery Service validation context trust. - """ return pulumi.get(self, "secret_name") @pulumi.output_type -class GetVirtualGatewaySpecLoggingResult(dict): +class GetVirtualNodeSpecLoggingResult(dict): def __init__(__self__, *, - access_logs: Sequence['outputs.GetVirtualGatewaySpecLoggingAccessLogResult']): - """ - :param Sequence['GetVirtualGatewaySpecLoggingAccessLogArgs'] access_logs: Access log configuration for a virtual gateway. - """ + access_logs: Sequence['outputs.GetVirtualNodeSpecLoggingAccessLogResult']): pulumi.set(__self__, "access_logs", access_logs) @property @pulumi.getter(name="accessLogs") - def access_logs(self) -> Sequence['outputs.GetVirtualGatewaySpecLoggingAccessLogResult']: - """ - Access log configuration for a virtual gateway. - """ + def access_logs(self) -> Sequence['outputs.GetVirtualNodeSpecLoggingAccessLogResult']: return pulumi.get(self, "access_logs") @pulumi.output_type -class GetVirtualGatewaySpecLoggingAccessLogResult(dict): +class GetVirtualNodeSpecLoggingAccessLogResult(dict): def __init__(__self__, *, - files: Sequence['outputs.GetVirtualGatewaySpecLoggingAccessLogFileResult']): - """ - :param Sequence['GetVirtualGatewaySpecLoggingAccessLogFileArgs'] files: TLS validation context trust for a local file certificate. - """ + files: Sequence['outputs.GetVirtualNodeSpecLoggingAccessLogFileResult']): pulumi.set(__self__, "files", files) @property @pulumi.getter - def files(self) -> Sequence['outputs.GetVirtualGatewaySpecLoggingAccessLogFileResult']: - """ - TLS validation context trust for a local file certificate. - """ + def files(self) -> Sequence['outputs.GetVirtualNodeSpecLoggingAccessLogFileResult']: return pulumi.get(self, "files") @pulumi.output_type -class GetVirtualGatewaySpecLoggingAccessLogFileResult(dict): +class GetVirtualNodeSpecLoggingAccessLogFileResult(dict): def __init__(__self__, *, - formats: Sequence['outputs.GetVirtualGatewaySpecLoggingAccessLogFileFormatResult'], + formats: Sequence['outputs.GetVirtualNodeSpecLoggingAccessLogFileFormatResult'], path: str): - """ - :param str path: Destination path for the health check request. This is only required if the specified protocol is `http` or `http2`. - """ pulumi.set(__self__, "formats", formats) pulumi.set(__self__, "path", path) @property @pulumi.getter - def formats(self) -> Sequence['outputs.GetVirtualGatewaySpecLoggingAccessLogFileFormatResult']: + def formats(self) -> Sequence['outputs.GetVirtualNodeSpecLoggingAccessLogFileFormatResult']: return pulumi.get(self, "formats") @property @pulumi.getter def path(self) -> str: - """ - Destination path for the health check request. This is only required if the specified protocol is `http` or `http2`. - """ return pulumi.get(self, "path") @pulumi.output_type -class GetVirtualGatewaySpecLoggingAccessLogFileFormatResult(dict): +class GetVirtualNodeSpecLoggingAccessLogFileFormatResult(dict): def __init__(__self__, *, - jsons: Sequence['outputs.GetVirtualGatewaySpecLoggingAccessLogFileFormatJsonResult'], + jsons: Sequence['outputs.GetVirtualNodeSpecLoggingAccessLogFileFormatJsonResult'], text: str): pulumi.set(__self__, "jsons", jsons) pulumi.set(__self__, "text", text) @property @pulumi.getter - def jsons(self) -> Sequence['outputs.GetVirtualGatewaySpecLoggingAccessLogFileFormatJsonResult']: + def jsons(self) -> Sequence['outputs.GetVirtualNodeSpecLoggingAccessLogFileFormatJsonResult']: return pulumi.get(self, "jsons") @property @@ -9854,7 +12598,7 @@ def text(self) -> str: @pulumi.output_type -class GetVirtualGatewaySpecLoggingAccessLogFileFormatJsonResult(dict): +class GetVirtualNodeSpecLoggingAccessLogFileFormatJsonResult(dict): def __init__(__self__, *, key: str, value: str): @@ -9872,21 +12616,129 @@ def value(self) -> str: return pulumi.get(self, "value") +@pulumi.output_type +class GetVirtualNodeSpecServiceDiscoveryResult(dict): + def __init__(__self__, *, + aws_cloud_maps: Sequence['outputs.GetVirtualNodeSpecServiceDiscoveryAwsCloudMapResult'], + dns: Sequence['outputs.GetVirtualNodeSpecServiceDiscoveryDnResult']): + pulumi.set(__self__, "aws_cloud_maps", aws_cloud_maps) + pulumi.set(__self__, "dns", dns) + + @property + @pulumi.getter(name="awsCloudMaps") + def aws_cloud_maps(self) -> Sequence['outputs.GetVirtualNodeSpecServiceDiscoveryAwsCloudMapResult']: + return pulumi.get(self, "aws_cloud_maps") + + @property + @pulumi.getter + def dns(self) -> Sequence['outputs.GetVirtualNodeSpecServiceDiscoveryDnResult']: + return pulumi.get(self, "dns") + + +@pulumi.output_type +class GetVirtualNodeSpecServiceDiscoveryAwsCloudMapResult(dict): + def __init__(__self__, *, + attributes: Mapping[str, str], + namespace_name: str, + service_name: str): + pulumi.set(__self__, "attributes", attributes) + pulumi.set(__self__, "namespace_name", namespace_name) + pulumi.set(__self__, "service_name", service_name) + + @property + @pulumi.getter + def attributes(self) -> Mapping[str, str]: + return pulumi.get(self, "attributes") + + @property + @pulumi.getter(name="namespaceName") + def namespace_name(self) -> str: + return pulumi.get(self, "namespace_name") + + @property + @pulumi.getter(name="serviceName") + def service_name(self) -> str: + return pulumi.get(self, "service_name") + + +@pulumi.output_type +class GetVirtualNodeSpecServiceDiscoveryDnResult(dict): + def __init__(__self__, *, + hostname: str, + ip_preference: str, + response_type: str): + pulumi.set(__self__, "hostname", hostname) + pulumi.set(__self__, "ip_preference", ip_preference) + pulumi.set(__self__, "response_type", response_type) + + @property + @pulumi.getter + def hostname(self) -> str: + return pulumi.get(self, "hostname") + + @property + @pulumi.getter(name="ipPreference") + def ip_preference(self) -> str: + return pulumi.get(self, "ip_preference") + + @property + @pulumi.getter(name="responseType") + def response_type(self) -> str: + return pulumi.get(self, "response_type") + + +@pulumi.output_type +class GetVirtualRouterSpecResult(dict): + def __init__(__self__, *, + listeners: Sequence['outputs.GetVirtualRouterSpecListenerResult']): + pulumi.set(__self__, "listeners", listeners) + + @property + @pulumi.getter + def listeners(self) -> Sequence['outputs.GetVirtualRouterSpecListenerResult']: + return pulumi.get(self, "listeners") + + +@pulumi.output_type +class GetVirtualRouterSpecListenerResult(dict): + def __init__(__self__, *, + port_mappings: Sequence['outputs.GetVirtualRouterSpecListenerPortMappingResult']): + pulumi.set(__self__, "port_mappings", port_mappings) + + @property + @pulumi.getter(name="portMappings") + def port_mappings(self) -> Sequence['outputs.GetVirtualRouterSpecListenerPortMappingResult']: + return pulumi.get(self, "port_mappings") + + +@pulumi.output_type +class GetVirtualRouterSpecListenerPortMappingResult(dict): + def __init__(__self__, *, + port: int, + protocol: str): + pulumi.set(__self__, "port", port) + pulumi.set(__self__, "protocol", protocol) + + @property + @pulumi.getter + def port(self) -> int: + return pulumi.get(self, "port") + + @property + @pulumi.getter + def protocol(self) -> str: + return pulumi.get(self, "protocol") + + @pulumi.output_type class GetVirtualServiceSpecResult(dict): def __init__(__self__, *, providers: Sequence['outputs.GetVirtualServiceSpecProviderResult']): - """ - :param Sequence['GetVirtualServiceSpecProviderArgs'] providers: App Mesh object that is acting as the provider for a virtual service. - """ pulumi.set(__self__, "providers", providers) @property @pulumi.getter def providers(self) -> Sequence['outputs.GetVirtualServiceSpecProviderResult']: - """ - App Mesh object that is acting as the provider for a virtual service. - """ return pulumi.get(self, "providers") @@ -9895,27 +12747,17 @@ class GetVirtualServiceSpecProviderResult(dict): def __init__(__self__, *, virtual_nodes: Sequence['outputs.GetVirtualServiceSpecProviderVirtualNodeResult'], virtual_routers: Sequence['outputs.GetVirtualServiceSpecProviderVirtualRouterResult']): - """ - :param Sequence['GetVirtualServiceSpecProviderVirtualNodeArgs'] virtual_nodes: Virtual node associated with the virtual service. - :param Sequence['GetVirtualServiceSpecProviderVirtualRouterArgs'] virtual_routers: Virtual router associated with the virtual service. - """ pulumi.set(__self__, "virtual_nodes", virtual_nodes) pulumi.set(__self__, "virtual_routers", virtual_routers) @property @pulumi.getter(name="virtualNodes") def virtual_nodes(self) -> Sequence['outputs.GetVirtualServiceSpecProviderVirtualNodeResult']: - """ - Virtual node associated with the virtual service. - """ return pulumi.get(self, "virtual_nodes") @property @pulumi.getter(name="virtualRouters") def virtual_routers(self) -> Sequence['outputs.GetVirtualServiceSpecProviderVirtualRouterResult']: - """ - Virtual router associated with the virtual service. - """ return pulumi.get(self, "virtual_routers") @@ -9923,17 +12765,11 @@ def virtual_routers(self) -> Sequence['outputs.GetVirtualServiceSpecProviderVirt class GetVirtualServiceSpecProviderVirtualNodeResult(dict): def __init__(__self__, *, virtual_node_name: str): - """ - :param str virtual_node_name: Name of the virtual node that is acting as a service provider. - """ pulumi.set(__self__, "virtual_node_name", virtual_node_name) @property @pulumi.getter(name="virtualNodeName") def virtual_node_name(self) -> str: - """ - Name of the virtual node that is acting as a service provider. - """ return pulumi.get(self, "virtual_node_name") @@ -9941,17 +12777,11 @@ def virtual_node_name(self) -> str: class GetVirtualServiceSpecProviderVirtualRouterResult(dict): def __init__(__self__, *, virtual_router_name: str): - """ - :param str virtual_router_name: Name of the virtual router that is acting as a service provider. - """ pulumi.set(__self__, "virtual_router_name", virtual_router_name) @property @pulumi.getter(name="virtualRouterName") def virtual_router_name(self) -> str: - """ - Name of the virtual router that is acting as a service provider. - """ return pulumi.get(self, "virtual_router_name") diff --git a/sdk/python/pulumi_aws/appmesh/virtual_node.py b/sdk/python/pulumi_aws/appmesh/virtual_node.py index 0c73675022e..58d48882312 100644 --- a/sdk/python/pulumi_aws/appmesh/virtual_node.py +++ b/sdk/python/pulumi_aws/appmesh/virtual_node.py @@ -20,7 +20,8 @@ def __init__(__self__, *, spec: pulumi.Input['VirtualNodeSpecArgs'], mesh_owner: Optional[pulumi.Input[str]] = None, name: Optional[pulumi.Input[str]] = None, - tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None): + tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + tags_all: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None): """ The set of arguments for constructing a VirtualNode resource. :param pulumi.Input[str] mesh_name: Name of the service mesh in which to create the virtual node. Must be between 1 and 255 characters in length. @@ -28,6 +29,7 @@ def __init__(__self__, *, :param pulumi.Input[str] mesh_owner: AWS account ID of the service mesh's owner. Defaults to the account ID the AWS provider is currently connected to. :param pulumi.Input[str] name: Name to use for the virtual node. Must be between 1 and 255 characters in length. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: Map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags_all: Map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. """ pulumi.set(__self__, "mesh_name", mesh_name) pulumi.set(__self__, "spec", spec) @@ -37,6 +39,8 @@ def __init__(__self__, *, pulumi.set(__self__, "name", name) if tags is not None: pulumi.set(__self__, "tags", tags) + if tags_all is not None: + pulumi.set(__self__, "tags_all", tags_all) @property @pulumi.getter(name="meshName") @@ -98,6 +102,18 @@ def tags(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: def tags(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): pulumi.set(self, "tags", value) + @property + @pulumi.getter(name="tagsAll") + def tags_all(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + """ + Map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. + """ + return pulumi.get(self, "tags_all") + + @tags_all.setter + def tags_all(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + pulumi.set(self, "tags_all", value) + @pulumi.input_type class _VirtualNodeState: @@ -277,6 +293,7 @@ def __init__(__self__, name: Optional[pulumi.Input[str]] = None, spec: Optional[pulumi.Input[pulumi.InputType['VirtualNodeSpecArgs']]] = None, tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + tags_all: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, __props__=None): """ Provides an AWS App Mesh virtual node resource. @@ -437,6 +454,7 @@ def __init__(__self__, :param pulumi.Input[str] name: Name to use for the virtual node. Must be between 1 and 255 characters in length. :param pulumi.Input[pulumi.InputType['VirtualNodeSpecArgs']] spec: Virtual node specification to apply. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: Map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags_all: Map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. """ ... @overload @@ -616,6 +634,7 @@ def _internal_init(__self__, name: Optional[pulumi.Input[str]] = None, spec: Optional[pulumi.Input[pulumi.InputType['VirtualNodeSpecArgs']]] = None, tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + tags_all: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, __props__=None): opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) if not isinstance(opts, pulumi.ResourceOptions): @@ -634,11 +653,11 @@ def _internal_init(__self__, raise TypeError("Missing required property 'spec'") __props__.__dict__["spec"] = spec __props__.__dict__["tags"] = tags + __props__.__dict__["tags_all"] = tags_all __props__.__dict__["arn"] = None __props__.__dict__["created_date"] = None __props__.__dict__["last_updated_date"] = None __props__.__dict__["resource_owner"] = None - __props__.__dict__["tags_all"] = None super(VirtualNode, __self__).__init__( 'aws:appmesh/virtualNode:VirtualNode', resource_name, diff --git a/sdk/python/pulumi_aws/appmesh/virtual_router.py b/sdk/python/pulumi_aws/appmesh/virtual_router.py index 60f107ee106..83adee6facf 100644 --- a/sdk/python/pulumi_aws/appmesh/virtual_router.py +++ b/sdk/python/pulumi_aws/appmesh/virtual_router.py @@ -20,7 +20,8 @@ def __init__(__self__, *, spec: pulumi.Input['VirtualRouterSpecArgs'], mesh_owner: Optional[pulumi.Input[str]] = None, name: Optional[pulumi.Input[str]] = None, - tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None): + tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + tags_all: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None): """ The set of arguments for constructing a VirtualRouter resource. :param pulumi.Input[str] mesh_name: Name of the service mesh in which to create the virtual router. Must be between 1 and 255 characters in length. @@ -28,6 +29,7 @@ def __init__(__self__, *, :param pulumi.Input[str] mesh_owner: AWS account ID of the service mesh's owner. Defaults to the account ID the AWS provider is currently connected to. :param pulumi.Input[str] name: Name to use for the virtual router. Must be between 1 and 255 characters in length. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: Map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags_all: Map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. """ pulumi.set(__self__, "mesh_name", mesh_name) pulumi.set(__self__, "spec", spec) @@ -37,6 +39,8 @@ def __init__(__self__, *, pulumi.set(__self__, "name", name) if tags is not None: pulumi.set(__self__, "tags", tags) + if tags_all is not None: + pulumi.set(__self__, "tags_all", tags_all) @property @pulumi.getter(name="meshName") @@ -98,6 +102,18 @@ def tags(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: def tags(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): pulumi.set(self, "tags", value) + @property + @pulumi.getter(name="tagsAll") + def tags_all(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + """ + Map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. + """ + return pulumi.get(self, "tags_all") + + @tags_all.setter + def tags_all(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + pulumi.set(self, "tags_all", value) + @pulumi.input_type class _VirtualRouterState: @@ -277,6 +293,7 @@ def __init__(__self__, name: Optional[pulumi.Input[str]] = None, spec: Optional[pulumi.Input[pulumi.InputType['VirtualRouterSpecArgs']]] = None, tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + tags_all: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, __props__=None): """ Provides an AWS App Mesh virtual router resource. @@ -326,6 +343,7 @@ def __init__(__self__, :param pulumi.Input[str] name: Name to use for the virtual router. Must be between 1 and 255 characters in length. :param pulumi.Input[pulumi.InputType['VirtualRouterSpecArgs']] spec: Virtual router specification to apply. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: Map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags_all: Map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. """ ... @overload @@ -394,6 +412,7 @@ def _internal_init(__self__, name: Optional[pulumi.Input[str]] = None, spec: Optional[pulumi.Input[pulumi.InputType['VirtualRouterSpecArgs']]] = None, tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + tags_all: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, __props__=None): opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) if not isinstance(opts, pulumi.ResourceOptions): @@ -412,11 +431,11 @@ def _internal_init(__self__, raise TypeError("Missing required property 'spec'") __props__.__dict__["spec"] = spec __props__.__dict__["tags"] = tags + __props__.__dict__["tags_all"] = tags_all __props__.__dict__["arn"] = None __props__.__dict__["created_date"] = None __props__.__dict__["last_updated_date"] = None __props__.__dict__["resource_owner"] = None - __props__.__dict__["tags_all"] = None super(VirtualRouter, __self__).__init__( 'aws:appmesh/virtualRouter:VirtualRouter', resource_name, diff --git a/sdk/python/pulumi_aws/cloudwatch/log_destination.py b/sdk/python/pulumi_aws/cloudwatch/log_destination.py index bb229b75ca3..1fcddb64bbd 100644 --- a/sdk/python/pulumi_aws/cloudwatch/log_destination.py +++ b/sdk/python/pulumi_aws/cloudwatch/log_destination.py @@ -17,13 +17,15 @@ def __init__(__self__, *, role_arn: pulumi.Input[str], target_arn: pulumi.Input[str], name: Optional[pulumi.Input[str]] = None, - tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None): + tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + tags_all: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None): """ The set of arguments for constructing a LogDestination resource. :param pulumi.Input[str] role_arn: The ARN of an IAM role that grants Amazon CloudWatch Logs permissions to put data into the target. :param pulumi.Input[str] target_arn: The ARN of the target Amazon Kinesis stream resource for the destination. :param pulumi.Input[str] name: A name for the log destination. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: A map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags_all: A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. """ pulumi.set(__self__, "role_arn", role_arn) pulumi.set(__self__, "target_arn", target_arn) @@ -31,6 +33,8 @@ def __init__(__self__, *, pulumi.set(__self__, "name", name) if tags is not None: pulumi.set(__self__, "tags", tags) + if tags_all is not None: + pulumi.set(__self__, "tags_all", tags_all) @property @pulumi.getter(name="roleArn") @@ -80,6 +84,18 @@ def tags(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: def tags(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): pulumi.set(self, "tags", value) + @property + @pulumi.getter(name="tagsAll") + def tags_all(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + """ + A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. + """ + return pulumi.get(self, "tags_all") + + @tags_all.setter + def tags_all(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + pulumi.set(self, "tags_all", value) + @pulumi.input_type class _LogDestinationState: @@ -193,6 +209,7 @@ def __init__(__self__, name: Optional[pulumi.Input[str]] = None, role_arn: Optional[pulumi.Input[str]] = None, tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + tags_all: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, target_arn: Optional[pulumi.Input[str]] = None, __props__=None): """ @@ -222,6 +239,7 @@ def __init__(__self__, :param pulumi.Input[str] name: A name for the log destination. :param pulumi.Input[str] role_arn: The ARN of an IAM role that grants Amazon CloudWatch Logs permissions to put data into the target. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: A map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags_all: A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. :param pulumi.Input[str] target_arn: The ARN of the target Amazon Kinesis stream resource for the destination. """ ... @@ -270,6 +288,7 @@ def _internal_init(__self__, name: Optional[pulumi.Input[str]] = None, role_arn: Optional[pulumi.Input[str]] = None, tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + tags_all: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, target_arn: Optional[pulumi.Input[str]] = None, __props__=None): opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) @@ -285,11 +304,11 @@ def _internal_init(__self__, raise TypeError("Missing required property 'role_arn'") __props__.__dict__["role_arn"] = role_arn __props__.__dict__["tags"] = tags + __props__.__dict__["tags_all"] = tags_all if target_arn is None and not opts.urn: raise TypeError("Missing required property 'target_arn'") __props__.__dict__["target_arn"] = target_arn __props__.__dict__["arn"] = None - __props__.__dict__["tags_all"] = None super(LogDestination, __self__).__init__( 'aws:cloudwatch/logDestination:LogDestination', resource_name, diff --git a/sdk/python/pulumi_aws/cloudwatch/log_group.py b/sdk/python/pulumi_aws/cloudwatch/log_group.py index ca1027f1b76..4ab85537694 100644 --- a/sdk/python/pulumi_aws/cloudwatch/log_group.py +++ b/sdk/python/pulumi_aws/cloudwatch/log_group.py @@ -19,7 +19,8 @@ def __init__(__self__, *, name_prefix: Optional[pulumi.Input[str]] = None, retention_in_days: Optional[pulumi.Input[int]] = None, skip_destroy: Optional[pulumi.Input[bool]] = None, - tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None): + tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + tags_all: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None): """ The set of arguments for constructing a LogGroup resource. :param pulumi.Input[str] kms_key_id: The ARN of the KMS Key to use when encrypting log data. Please note, after the AWS KMS CMK is disassociated from the log group, @@ -32,6 +33,7 @@ def __init__(__self__, *, If you select 0, the events in the log group are always retained and never expire. :param pulumi.Input[bool] skip_destroy: Set to true if you do not wish the log group (and any logs it may contain) to be deleted at destroy time, and instead just remove the log group from the state. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: A map of tags to assign to the resource. .If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags_all: A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. """ if kms_key_id is not None: pulumi.set(__self__, "kms_key_id", kms_key_id) @@ -45,6 +47,8 @@ def __init__(__self__, *, pulumi.set(__self__, "skip_destroy", skip_destroy) if tags is not None: pulumi.set(__self__, "tags", tags) + if tags_all is not None: + pulumi.set(__self__, "tags_all", tags_all) @property @pulumi.getter(name="kmsKeyId") @@ -122,6 +126,18 @@ def tags(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: def tags(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): pulumi.set(self, "tags", value) + @property + @pulumi.getter(name="tagsAll") + def tags_all(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + """ + A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. + """ + return pulumi.get(self, "tags_all") + + @tags_all.setter + def tags_all(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + pulumi.set(self, "tags_all", value) + @pulumi.input_type class _LogGroupState: @@ -278,6 +294,7 @@ def __init__(__self__, retention_in_days: Optional[pulumi.Input[int]] = None, skip_destroy: Optional[pulumi.Input[bool]] = None, tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + tags_all: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, __props__=None): """ Provides a CloudWatch Log Group resource. @@ -314,6 +331,7 @@ def __init__(__self__, If you select 0, the events in the log group are always retained and never expire. :param pulumi.Input[bool] skip_destroy: Set to true if you do not wish the log group (and any logs it may contain) to be deleted at destroy time, and instead just remove the log group from the state. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: A map of tags to assign to the resource. .If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags_all: A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. """ ... @overload @@ -365,6 +383,7 @@ def _internal_init(__self__, retention_in_days: Optional[pulumi.Input[int]] = None, skip_destroy: Optional[pulumi.Input[bool]] = None, tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + tags_all: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, __props__=None): opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) if not isinstance(opts, pulumi.ResourceOptions): @@ -380,8 +399,8 @@ def _internal_init(__self__, __props__.__dict__["retention_in_days"] = retention_in_days __props__.__dict__["skip_destroy"] = skip_destroy __props__.__dict__["tags"] = tags + __props__.__dict__["tags_all"] = tags_all __props__.__dict__["arn"] = None - __props__.__dict__["tags_all"] = None super(LogGroup, __self__).__init__( 'aws:cloudwatch/logGroup:LogGroup', resource_name, diff --git a/sdk/python/pulumi_aws/globalaccelerator/accelerator.py b/sdk/python/pulumi_aws/globalaccelerator/accelerator.py index bc2e9cd7ac0..f27b12075b0 100644 --- a/sdk/python/pulumi_aws/globalaccelerator/accelerator.py +++ b/sdk/python/pulumi_aws/globalaccelerator/accelerator.py @@ -122,6 +122,7 @@ class _AcceleratorState: def __init__(__self__, *, attributes: Optional[pulumi.Input['AcceleratorAttributesArgs']] = None, dns_name: Optional[pulumi.Input[str]] = None, + dual_stack_dns_name: Optional[pulumi.Input[str]] = None, enabled: Optional[pulumi.Input[bool]] = None, hosted_zone_id: Optional[pulumi.Input[str]] = None, ip_address_type: Optional[pulumi.Input[str]] = None, @@ -134,6 +135,7 @@ def __init__(__self__, *, Input properties used for looking up and filtering Accelerator resources. :param pulumi.Input['AcceleratorAttributesArgs'] attributes: The attributes of the accelerator. Fields documented below. :param pulumi.Input[str] dns_name: The DNS name of the accelerator. For example, `a5d53ff5ee6bca4ce.awsglobalaccelerator.com`. + :param pulumi.Input[str] dual_stack_dns_name: The Domain Name System (DNS) name that Global Accelerator creates that points to a dual-stack accelerator's four static IP addresses: two IPv4 addresses and two IPv6 addresses. For example, `a1234567890abcdef.dualstack.awsglobalaccelerator.com`. :param pulumi.Input[bool] enabled: Indicates whether the accelerator is enabled. Defaults to `true`. Valid values: `true`, `false`. :param pulumi.Input[str] hosted_zone_id: - The Global Accelerator Route 53 zone ID that can be used to route an [Alias Resource Record Set](https://docs.aws.amazon.com/Route53/latest/APIReference/API_AliasTarget.html) to the Global Accelerator. This attribute @@ -149,6 +151,8 @@ def __init__(__self__, *, pulumi.set(__self__, "attributes", attributes) if dns_name is not None: pulumi.set(__self__, "dns_name", dns_name) + if dual_stack_dns_name is not None: + pulumi.set(__self__, "dual_stack_dns_name", dual_stack_dns_name) if enabled is not None: pulumi.set(__self__, "enabled", enabled) if hosted_zone_id is not None: @@ -190,6 +194,18 @@ def dns_name(self) -> Optional[pulumi.Input[str]]: def dns_name(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "dns_name", value) + @property + @pulumi.getter(name="dualStackDnsName") + def dual_stack_dns_name(self) -> Optional[pulumi.Input[str]]: + """ + The Domain Name System (DNS) name that Global Accelerator creates that points to a dual-stack accelerator's four static IP addresses: two IPv4 addresses and two IPv6 addresses. For example, `a1234567890abcdef.dualstack.awsglobalaccelerator.com`. + """ + return pulumi.get(self, "dual_stack_dns_name") + + @dual_stack_dns_name.setter + def dual_stack_dns_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "dual_stack_dns_name", value) + @property @pulumi.getter def enabled(self) -> Optional[pulumi.Input[bool]]: @@ -409,6 +425,7 @@ def _internal_init(__self__, __props__.__dict__["name"] = name __props__.__dict__["tags"] = tags __props__.__dict__["dns_name"] = None + __props__.__dict__["dual_stack_dns_name"] = None __props__.__dict__["hosted_zone_id"] = None __props__.__dict__["ip_sets"] = None __props__.__dict__["tags_all"] = None @@ -424,6 +441,7 @@ def get(resource_name: str, opts: Optional[pulumi.ResourceOptions] = None, attributes: Optional[pulumi.Input[pulumi.InputType['AcceleratorAttributesArgs']]] = None, dns_name: Optional[pulumi.Input[str]] = None, + dual_stack_dns_name: Optional[pulumi.Input[str]] = None, enabled: Optional[pulumi.Input[bool]] = None, hosted_zone_id: Optional[pulumi.Input[str]] = None, ip_address_type: Optional[pulumi.Input[str]] = None, @@ -441,6 +459,7 @@ def get(resource_name: str, :param pulumi.ResourceOptions opts: Options for the resource. :param pulumi.Input[pulumi.InputType['AcceleratorAttributesArgs']] attributes: The attributes of the accelerator. Fields documented below. :param pulumi.Input[str] dns_name: The DNS name of the accelerator. For example, `a5d53ff5ee6bca4ce.awsglobalaccelerator.com`. + :param pulumi.Input[str] dual_stack_dns_name: The Domain Name System (DNS) name that Global Accelerator creates that points to a dual-stack accelerator's four static IP addresses: two IPv4 addresses and two IPv6 addresses. For example, `a1234567890abcdef.dualstack.awsglobalaccelerator.com`. :param pulumi.Input[bool] enabled: Indicates whether the accelerator is enabled. Defaults to `true`. Valid values: `true`, `false`. :param pulumi.Input[str] hosted_zone_id: - The Global Accelerator Route 53 zone ID that can be used to route an [Alias Resource Record Set](https://docs.aws.amazon.com/Route53/latest/APIReference/API_AliasTarget.html) to the Global Accelerator. This attribute @@ -458,6 +477,7 @@ def get(resource_name: str, __props__.__dict__["attributes"] = attributes __props__.__dict__["dns_name"] = dns_name + __props__.__dict__["dual_stack_dns_name"] = dual_stack_dns_name __props__.__dict__["enabled"] = enabled __props__.__dict__["hosted_zone_id"] = hosted_zone_id __props__.__dict__["ip_address_type"] = ip_address_type @@ -484,6 +504,14 @@ def dns_name(self) -> pulumi.Output[str]: """ return pulumi.get(self, "dns_name") + @property + @pulumi.getter(name="dualStackDnsName") + def dual_stack_dns_name(self) -> pulumi.Output[str]: + """ + The Domain Name System (DNS) name that Global Accelerator creates that points to a dual-stack accelerator's four static IP addresses: two IPv4 addresses and two IPv6 addresses. For example, `a1234567890abcdef.dualstack.awsglobalaccelerator.com`. + """ + return pulumi.get(self, "dual_stack_dns_name") + @property @pulumi.getter def enabled(self) -> pulumi.Output[Optional[bool]]: diff --git a/sdk/python/pulumi_aws/iam/instance_profile.py b/sdk/python/pulumi_aws/iam/instance_profile.py index 64cd7ddcff8..fb5cdf7771d 100644 --- a/sdk/python/pulumi_aws/iam/instance_profile.py +++ b/sdk/python/pulumi_aws/iam/instance_profile.py @@ -18,7 +18,8 @@ def __init__(__self__, *, name_prefix: Optional[pulumi.Input[str]] = None, path: Optional[pulumi.Input[str]] = None, role: Optional[pulumi.Input[str]] = None, - tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None): + tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + tags_all: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None): """ The set of arguments for constructing a InstanceProfile resource. :param pulumi.Input[str] name: Name of the instance profile. If omitted, this provider will assign a random, unique name. Conflicts with `name_prefix`. Can be a string of characters consisting of upper and lowercase alphanumeric characters and these special characters: `_`, `+`, `=`, `,`, `.`, `@`, `-`. Spaces are not allowed. @@ -26,6 +27,7 @@ def __init__(__self__, *, :param pulumi.Input[str] path: Path to the instance profile. For more information about paths, see [IAM Identifiers](https://docs.aws.amazon.com/IAM/latest/UserGuide/Using_Identifiers.html) in the IAM User Guide. Can be a string of characters consisting of either a forward slash (`/`) by itself or a string that must begin and end with forward slashes. Can include any ASCII character from the ! (\\u0021) through the DEL character (\\u007F), including most punctuation characters, digits, and upper and lowercase letters. :param pulumi.Input[str] role: Name of the role to add to the profile. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: Map of resource tags for the IAM Instance Profile. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags_all: A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. """ if name is not None: pulumi.set(__self__, "name", name) @@ -37,6 +39,8 @@ def __init__(__self__, *, pulumi.set(__self__, "role", role) if tags is not None: pulumi.set(__self__, "tags", tags) + if tags_all is not None: + pulumi.set(__self__, "tags_all", tags_all) @property @pulumi.getter @@ -98,6 +102,18 @@ def tags(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: def tags(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): pulumi.set(self, "tags", value) + @property + @pulumi.getter(name="tagsAll") + def tags_all(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + """ + A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. + """ + return pulumi.get(self, "tags_all") + + @tags_all.setter + def tags_all(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + pulumi.set(self, "tags_all", value) + @pulumi.input_type class _InstanceProfileState: @@ -261,6 +277,7 @@ def __init__(__self__, path: Optional[pulumi.Input[str]] = None, role: Optional[pulumi.Input[str]] = None, tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + tags_all: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, __props__=None): """ Provides an IAM instance profile. @@ -300,6 +317,7 @@ def __init__(__self__, :param pulumi.Input[str] path: Path to the instance profile. For more information about paths, see [IAM Identifiers](https://docs.aws.amazon.com/IAM/latest/UserGuide/Using_Identifiers.html) in the IAM User Guide. Can be a string of characters consisting of either a forward slash (`/`) by itself or a string that must begin and end with forward slashes. Can include any ASCII character from the ! (\\u0021) through the DEL character (\\u007F), including most punctuation characters, digits, and upper and lowercase letters. :param pulumi.Input[str] role: Name of the role to add to the profile. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: Map of resource tags for the IAM Instance Profile. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags_all: A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. """ ... @overload @@ -358,6 +376,7 @@ def _internal_init(__self__, path: Optional[pulumi.Input[str]] = None, role: Optional[pulumi.Input[str]] = None, tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + tags_all: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, __props__=None): opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) if not isinstance(opts, pulumi.ResourceOptions): @@ -372,9 +391,9 @@ def _internal_init(__self__, __props__.__dict__["path"] = path __props__.__dict__["role"] = role __props__.__dict__["tags"] = tags + __props__.__dict__["tags_all"] = tags_all __props__.__dict__["arn"] = None __props__.__dict__["create_date"] = None - __props__.__dict__["tags_all"] = None __props__.__dict__["unique_id"] = None super(InstanceProfile, __self__).__init__( 'aws:iam/instanceProfile:InstanceProfile', @@ -453,7 +472,7 @@ def name(self) -> pulumi.Output[str]: @property @pulumi.getter(name="namePrefix") - def name_prefix(self) -> pulumi.Output[Optional[str]]: + def name_prefix(self) -> pulumi.Output[str]: """ Creates a unique name beginning with the specified prefix. Conflicts with `name`. """ diff --git a/sdk/python/pulumi_aws/iam/open_id_connect_provider.py b/sdk/python/pulumi_aws/iam/open_id_connect_provider.py index 78e298d823b..a3993034d82 100644 --- a/sdk/python/pulumi_aws/iam/open_id_connect_provider.py +++ b/sdk/python/pulumi_aws/iam/open_id_connect_provider.py @@ -17,19 +17,23 @@ def __init__(__self__, *, client_id_lists: pulumi.Input[Sequence[pulumi.Input[str]]], thumbprint_lists: pulumi.Input[Sequence[pulumi.Input[str]]], url: pulumi.Input[str], - tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None): + tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + tags_all: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None): """ The set of arguments for constructing a OpenIdConnectProvider resource. :param pulumi.Input[Sequence[pulumi.Input[str]]] client_id_lists: A list of client IDs (also known as audiences). When a mobile or web app registers with an OpenID Connect provider, they establish a value that identifies the application. (This is the value that's sent as the client_id parameter on OAuth requests.) :param pulumi.Input[Sequence[pulumi.Input[str]]] thumbprint_lists: A list of server certificate thumbprints for the OpenID Connect (OIDC) identity provider's server certificate(s). :param pulumi.Input[str] url: The URL of the identity provider. Corresponds to the _iss_ claim. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: Map of resource tags for the IAM OIDC provider. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags_all: A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. """ pulumi.set(__self__, "client_id_lists", client_id_lists) pulumi.set(__self__, "thumbprint_lists", thumbprint_lists) pulumi.set(__self__, "url", url) if tags is not None: pulumi.set(__self__, "tags", tags) + if tags_all is not None: + pulumi.set(__self__, "tags_all", tags_all) @property @pulumi.getter(name="clientIdLists") @@ -79,6 +83,18 @@ def tags(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: def tags(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): pulumi.set(self, "tags", value) + @property + @pulumi.getter(name="tagsAll") + def tags_all(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + """ + A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. + """ + return pulumi.get(self, "tags_all") + + @tags_all.setter + def tags_all(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + pulumi.set(self, "tags_all", value) + @pulumi.input_type class _OpenIdConnectProviderState: @@ -191,6 +207,7 @@ def __init__(__self__, opts: Optional[pulumi.ResourceOptions] = None, client_id_lists: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + tags_all: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, thumbprint_lists: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, url: Optional[pulumi.Input[str]] = None, __props__=None): @@ -221,6 +238,7 @@ def __init__(__self__, :param pulumi.ResourceOptions opts: Options for the resource. :param pulumi.Input[Sequence[pulumi.Input[str]]] client_id_lists: A list of client IDs (also known as audiences). When a mobile or web app registers with an OpenID Connect provider, they establish a value that identifies the application. (This is the value that's sent as the client_id parameter on OAuth requests.) :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: Map of resource tags for the IAM OIDC provider. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags_all: A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. :param pulumi.Input[Sequence[pulumi.Input[str]]] thumbprint_lists: A list of server certificate thumbprints for the OpenID Connect (OIDC) identity provider's server certificate(s). :param pulumi.Input[str] url: The URL of the identity provider. Corresponds to the _iss_ claim. """ @@ -270,6 +288,7 @@ def _internal_init(__self__, opts: Optional[pulumi.ResourceOptions] = None, client_id_lists: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + tags_all: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, thumbprint_lists: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, url: Optional[pulumi.Input[str]] = None, __props__=None): @@ -285,6 +304,7 @@ def _internal_init(__self__, raise TypeError("Missing required property 'client_id_lists'") __props__.__dict__["client_id_lists"] = client_id_lists __props__.__dict__["tags"] = tags + __props__.__dict__["tags_all"] = tags_all if thumbprint_lists is None and not opts.urn: raise TypeError("Missing required property 'thumbprint_lists'") __props__.__dict__["thumbprint_lists"] = thumbprint_lists @@ -292,7 +312,6 @@ def _internal_init(__self__, raise TypeError("Missing required property 'url'") __props__.__dict__["url"] = url __props__.__dict__["arn"] = None - __props__.__dict__["tags_all"] = None super(OpenIdConnectProvider, __self__).__init__( 'aws:iam/openIdConnectProvider:OpenIdConnectProvider', resource_name, diff --git a/sdk/python/pulumi_aws/iam/policy.py b/sdk/python/pulumi_aws/iam/policy.py index 992c0c9b685..b0fee02ade0 100644 --- a/sdk/python/pulumi_aws/iam/policy.py +++ b/sdk/python/pulumi_aws/iam/policy.py @@ -19,7 +19,8 @@ def __init__(__self__, *, name: Optional[pulumi.Input[str]] = None, name_prefix: Optional[pulumi.Input[str]] = None, path: Optional[pulumi.Input[str]] = None, - tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None): + tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + tags_all: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None): """ The set of arguments for constructing a Policy resource. :param pulumi.Input[str] policy: The policy document. This is a JSON formatted string. @@ -29,6 +30,7 @@ def __init__(__self__, *, :param pulumi.Input[str] path: Path in which to create the policy. See [IAM Identifiers](https://docs.aws.amazon.com/IAM/latest/UserGuide/Using_Identifiers.html) for more information. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: Map of resource tags for the IAM Policy. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags_all: A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. """ pulumi.set(__self__, "policy", policy) if description is not None: @@ -41,6 +43,8 @@ def __init__(__self__, *, pulumi.set(__self__, "path", path) if tags is not None: pulumi.set(__self__, "tags", tags) + if tags_all is not None: + pulumi.set(__self__, "tags_all", tags_all) @property @pulumi.getter @@ -115,6 +119,18 @@ def tags(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: def tags(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): pulumi.set(self, "tags", value) + @property + @pulumi.getter(name="tagsAll") + def tags_all(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + """ + A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. + """ + return pulumi.get(self, "tags_all") + + @tags_all.setter + def tags_all(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + pulumi.set(self, "tags_all", value) + @pulumi.input_type class _PolicyState: @@ -281,6 +297,7 @@ def __init__(__self__, path: Optional[pulumi.Input[str]] = None, policy: Optional[pulumi.Input[str]] = None, tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + tags_all: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, __props__=None): """ Provides an IAM policy. @@ -322,6 +339,7 @@ def __init__(__self__, See [IAM Identifiers](https://docs.aws.amazon.com/IAM/latest/UserGuide/Using_Identifiers.html) for more information. :param pulumi.Input[str] policy: The policy document. This is a JSON formatted string. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: Map of resource tags for the IAM Policy. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags_all: A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. """ ... @overload @@ -381,6 +399,7 @@ def _internal_init(__self__, path: Optional[pulumi.Input[str]] = None, policy: Optional[pulumi.Input[str]] = None, tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + tags_all: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, __props__=None): opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) if not isinstance(opts, pulumi.ResourceOptions): @@ -398,9 +417,9 @@ def _internal_init(__self__, raise TypeError("Missing required property 'policy'") __props__.__dict__["policy"] = policy __props__.__dict__["tags"] = tags + __props__.__dict__["tags_all"] = tags_all __props__.__dict__["arn"] = None __props__.__dict__["policy_id"] = None - __props__.__dict__["tags_all"] = None super(Policy, __self__).__init__( 'aws:iam/policy:Policy', resource_name, @@ -479,7 +498,7 @@ def name(self) -> pulumi.Output[str]: @property @pulumi.getter(name="namePrefix") - def name_prefix(self) -> pulumi.Output[Optional[str]]: + def name_prefix(self) -> pulumi.Output[str]: """ Creates a unique name beginning with the specified prefix. Conflicts with `name`. """ diff --git a/sdk/python/pulumi_aws/iam/role.py b/sdk/python/pulumi_aws/iam/role.py index 64aea169f90..8a8e3f9d8bc 100644 --- a/sdk/python/pulumi_aws/iam/role.py +++ b/sdk/python/pulumi_aws/iam/role.py @@ -26,7 +26,8 @@ def __init__(__self__, *, name_prefix: Optional[pulumi.Input[str]] = None, path: Optional[pulumi.Input[str]] = None, permissions_boundary: Optional[pulumi.Input[str]] = None, - tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None): + tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + tags_all: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None): """ The set of arguments for constructing a Role resource. :param pulumi.Input[str] assume_role_policy: Policy that grants an entity permission to assume the role. @@ -39,6 +40,7 @@ def __init__(__self__, *, :param pulumi.Input[str] path: Path to the role. See [IAM Identifiers](https://docs.aws.amazon.com/IAM/latest/UserGuide/Using_Identifiers.html) for more information. :param pulumi.Input[str] permissions_boundary: ARN of the policy that is used to set the permissions boundary for the role. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: Key-value mapping of tags for the IAM role. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags_all: A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. """ pulumi.set(__self__, "assume_role_policy", assume_role_policy) if description is not None: @@ -61,6 +63,8 @@ def __init__(__self__, *, pulumi.set(__self__, "permissions_boundary", permissions_boundary) if tags is not None: pulumi.set(__self__, "tags", tags) + if tags_all is not None: + pulumi.set(__self__, "tags_all", tags_all) @property @pulumi.getter(name="assumeRolePolicy") @@ -191,6 +195,18 @@ def tags(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: def tags(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): pulumi.set(self, "tags", value) + @property + @pulumi.getter(name="tagsAll") + def tags_all(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + """ + A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. + """ + return pulumi.get(self, "tags_all") + + @tags_all.setter + def tags_all(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + pulumi.set(self, "tags_all", value) + @pulumi.input_type class _RoleState: @@ -452,6 +468,7 @@ def __init__(__self__, path: Optional[pulumi.Input[str]] = None, permissions_boundary: Optional[pulumi.Input[str]] = None, tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + tags_all: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, __props__=None): """ Provides an IAM role. @@ -615,6 +632,7 @@ def __init__(__self__, :param pulumi.Input[str] path: Path to the role. See [IAM Identifiers](https://docs.aws.amazon.com/IAM/latest/UserGuide/Using_Identifiers.html) for more information. :param pulumi.Input[str] permissions_boundary: ARN of the policy that is used to set the permissions boundary for the role. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: Key-value mapping of tags for the IAM role. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags_all: A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. """ ... @overload @@ -798,6 +816,7 @@ def _internal_init(__self__, path: Optional[pulumi.Input[str]] = None, permissions_boundary: Optional[pulumi.Input[str]] = None, tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + tags_all: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, __props__=None): opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) if not isinstance(opts, pulumi.ResourceOptions): @@ -820,9 +839,9 @@ def _internal_init(__self__, __props__.__dict__["path"] = path __props__.__dict__["permissions_boundary"] = permissions_boundary __props__.__dict__["tags"] = tags + __props__.__dict__["tags_all"] = tags_all __props__.__dict__["arn"] = None __props__.__dict__["create_date"] = None - __props__.__dict__["tags_all"] = None __props__.__dict__["unique_id"] = None super(Role, __self__).__init__( 'aws:iam/role:Role', diff --git a/sdk/python/pulumi_aws/iam/saml_provider.py b/sdk/python/pulumi_aws/iam/saml_provider.py index ece33d19288..24d32ad954a 100644 --- a/sdk/python/pulumi_aws/iam/saml_provider.py +++ b/sdk/python/pulumi_aws/iam/saml_provider.py @@ -16,18 +16,22 @@ class SamlProviderArgs: def __init__(__self__, *, saml_metadata_document: pulumi.Input[str], name: Optional[pulumi.Input[str]] = None, - tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None): + tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + tags_all: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None): """ The set of arguments for constructing a SamlProvider resource. :param pulumi.Input[str] saml_metadata_document: An XML document generated by an identity provider that supports SAML 2.0. :param pulumi.Input[str] name: The name of the provider to create. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: Map of resource tags for the IAM SAML provider. .If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags_all: A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. """ pulumi.set(__self__, "saml_metadata_document", saml_metadata_document) if name is not None: pulumi.set(__self__, "name", name) if tags is not None: pulumi.set(__self__, "tags", tags) + if tags_all is not None: + pulumi.set(__self__, "tags_all", tags_all) @property @pulumi.getter(name="samlMetadataDocument") @@ -65,6 +69,18 @@ def tags(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: def tags(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): pulumi.set(self, "tags", value) + @property + @pulumi.getter(name="tagsAll") + def tags_all(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + """ + A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. + """ + return pulumi.get(self, "tags_all") + + @tags_all.setter + def tags_all(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + pulumi.set(self, "tags_all", value) + @pulumi.input_type class _SamlProviderState: @@ -178,6 +194,7 @@ def __init__(__self__, name: Optional[pulumi.Input[str]] = None, saml_metadata_document: Optional[pulumi.Input[str]] = None, tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + tags_all: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, __props__=None): """ Provides an IAM SAML provider. @@ -204,6 +221,7 @@ def __init__(__self__, :param pulumi.Input[str] name: The name of the provider to create. :param pulumi.Input[str] saml_metadata_document: An XML document generated by an identity provider that supports SAML 2.0. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: Map of resource tags for the IAM SAML provider. .If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags_all: A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. """ ... @overload @@ -249,6 +267,7 @@ def _internal_init(__self__, name: Optional[pulumi.Input[str]] = None, saml_metadata_document: Optional[pulumi.Input[str]] = None, tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + tags_all: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, __props__=None): opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) if not isinstance(opts, pulumi.ResourceOptions): @@ -263,8 +282,8 @@ def _internal_init(__self__, raise TypeError("Missing required property 'saml_metadata_document'") __props__.__dict__["saml_metadata_document"] = saml_metadata_document __props__.__dict__["tags"] = tags + __props__.__dict__["tags_all"] = tags_all __props__.__dict__["arn"] = None - __props__.__dict__["tags_all"] = None __props__.__dict__["valid_until"] = None super(SamlProvider, __self__).__init__( 'aws:iam/samlProvider:SamlProvider', diff --git a/sdk/python/pulumi_aws/iam/server_certificate.py b/sdk/python/pulumi_aws/iam/server_certificate.py index bc7c0ababf3..02d4998b6e8 100644 --- a/sdk/python/pulumi_aws/iam/server_certificate.py +++ b/sdk/python/pulumi_aws/iam/server_certificate.py @@ -20,7 +20,8 @@ def __init__(__self__, *, name: Optional[pulumi.Input[str]] = None, name_prefix: Optional[pulumi.Input[str]] = None, path: Optional[pulumi.Input[str]] = None, - tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None): + tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + tags_all: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None): """ The set of arguments for constructing a ServerCertificate resource. :param pulumi.Input[str] certificate_body: The contents of the public key certificate in @@ -38,6 +39,7 @@ def __init__(__self__, *, AWS CloudFront, the path must be in format `/cloudfront/your_path_here`. See [IAM Identifiers](https://docs.aws.amazon.com/IAM/latest/UserGuide/Using_Identifiers.html) for more details on IAM Paths. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: Map of resource tags for the server certificate. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags_all: A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. """ pulumi.set(__self__, "certificate_body", certificate_body) pulumi.set(__self__, "private_key", private_key) @@ -51,6 +53,8 @@ def __init__(__self__, *, pulumi.set(__self__, "path", path) if tags is not None: pulumi.set(__self__, "tags", tags) + if tags_all is not None: + pulumi.set(__self__, "tags_all", tags_all) @property @pulumi.getter(name="certificateBody") @@ -144,6 +148,18 @@ def tags(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: def tags(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): pulumi.set(self, "tags", value) + @property + @pulumi.getter(name="tagsAll") + def tags_all(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + """ + A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. + """ + return pulumi.get(self, "tags_all") + + @tags_all.setter + def tags_all(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + pulumi.set(self, "tags_all", value) + @pulumi.input_type class _ServerCertificateState: @@ -357,6 +373,7 @@ def __init__(__self__, path: Optional[pulumi.Input[str]] = None, private_key: Optional[pulumi.Input[str]] = None, tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + tags_all: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, __props__=None): """ Provides an IAM Server Certificate resource to upload Server Certificates. @@ -458,6 +475,7 @@ def __init__(__self__, See [IAM Identifiers](https://docs.aws.amazon.com/IAM/latest/UserGuide/Using_Identifiers.html) for more details on IAM Paths. :param pulumi.Input[str] private_key: The contents of the private key in PEM-encoded format. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: Map of resource tags for the server certificate. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags_all: A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. """ ... @overload @@ -570,6 +588,7 @@ def _internal_init(__self__, path: Optional[pulumi.Input[str]] = None, private_key: Optional[pulumi.Input[str]] = None, tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + tags_all: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, __props__=None): opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) if not isinstance(opts, pulumi.ResourceOptions): @@ -590,9 +609,9 @@ def _internal_init(__self__, raise TypeError("Missing required property 'private_key'") __props__.__dict__["private_key"] = None if private_key is None else pulumi.Output.secret(private_key) __props__.__dict__["tags"] = tags + __props__.__dict__["tags_all"] = tags_all __props__.__dict__["arn"] = None __props__.__dict__["expiration"] = None - __props__.__dict__["tags_all"] = None __props__.__dict__["upload_date"] = None secret_opts = pulumi.ResourceOptions(additional_secret_outputs=["privateKey"]) opts = pulumi.ResourceOptions.merge(opts, secret_opts) diff --git a/sdk/python/pulumi_aws/iam/service_linked_role.py b/sdk/python/pulumi_aws/iam/service_linked_role.py index 88b48a46c37..efb7d3ac109 100644 --- a/sdk/python/pulumi_aws/iam/service_linked_role.py +++ b/sdk/python/pulumi_aws/iam/service_linked_role.py @@ -17,13 +17,15 @@ def __init__(__self__, *, aws_service_name: pulumi.Input[str], custom_suffix: Optional[pulumi.Input[str]] = None, description: Optional[pulumi.Input[str]] = None, - tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None): + tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + tags_all: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None): """ The set of arguments for constructing a ServiceLinkedRole resource. :param pulumi.Input[str] aws_service_name: The AWS service to which this role is attached. You use a string similar to a URL but without the `http://` in front. For example: `elasticbeanstalk.amazonaws.com`. To find the full list of services that support service-linked roles, check [the docs](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_aws-services-that-work-with-iam.html). :param pulumi.Input[str] custom_suffix: Additional string appended to the role name. Not all AWS services support custom suffixes. :param pulumi.Input[str] description: The description of the role. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: Key-value mapping of tags for the IAM role. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags_all: A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. """ pulumi.set(__self__, "aws_service_name", aws_service_name) if custom_suffix is not None: @@ -32,6 +34,8 @@ def __init__(__self__, *, pulumi.set(__self__, "description", description) if tags is not None: pulumi.set(__self__, "tags", tags) + if tags_all is not None: + pulumi.set(__self__, "tags_all", tags_all) @property @pulumi.getter(name="awsServiceName") @@ -81,6 +85,18 @@ def tags(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: def tags(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): pulumi.set(self, "tags", value) + @property + @pulumi.getter(name="tagsAll") + def tags_all(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + """ + A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. + """ + return pulumi.get(self, "tags_all") + + @tags_all.setter + def tags_all(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + pulumi.set(self, "tags_all", value) + @pulumi.input_type class _ServiceLinkedRoleState: @@ -259,6 +275,7 @@ def __init__(__self__, custom_suffix: Optional[pulumi.Input[str]] = None, description: Optional[pulumi.Input[str]] = None, tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + tags_all: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, __props__=None): """ Provides an [IAM service-linked role](https://docs.aws.amazon.com/IAM/latest/UserGuide/using-service-linked-roles.html). @@ -286,6 +303,7 @@ def __init__(__self__, :param pulumi.Input[str] custom_suffix: Additional string appended to the role name. Not all AWS services support custom suffixes. :param pulumi.Input[str] description: The description of the role. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: Key-value mapping of tags for the IAM role. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags_all: A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. """ ... @overload @@ -332,6 +350,7 @@ def _internal_init(__self__, custom_suffix: Optional[pulumi.Input[str]] = None, description: Optional[pulumi.Input[str]] = None, tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + tags_all: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, __props__=None): opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) if not isinstance(opts, pulumi.ResourceOptions): @@ -347,11 +366,11 @@ def _internal_init(__self__, __props__.__dict__["custom_suffix"] = custom_suffix __props__.__dict__["description"] = description __props__.__dict__["tags"] = tags + __props__.__dict__["tags_all"] = tags_all __props__.__dict__["arn"] = None __props__.__dict__["create_date"] = None __props__.__dict__["name"] = None __props__.__dict__["path"] = None - __props__.__dict__["tags_all"] = None __props__.__dict__["unique_id"] = None super(ServiceLinkedRole, __self__).__init__( 'aws:iam/serviceLinkedRole:ServiceLinkedRole', diff --git a/sdk/python/pulumi_aws/iam/user.py b/sdk/python/pulumi_aws/iam/user.py index 61fc0b514ac..1631d94f464 100644 --- a/sdk/python/pulumi_aws/iam/user.py +++ b/sdk/python/pulumi_aws/iam/user.py @@ -18,7 +18,8 @@ def __init__(__self__, *, name: Optional[pulumi.Input[str]] = None, path: Optional[pulumi.Input[str]] = None, permissions_boundary: Optional[pulumi.Input[str]] = None, - tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None): + tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + tags_all: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None): """ The set of arguments for constructing a User resource. :param pulumi.Input[bool] force_destroy: When destroying this user, destroy even if it @@ -28,6 +29,7 @@ def __init__(__self__, *, :param pulumi.Input[str] path: Path in which to create the user. :param pulumi.Input[str] permissions_boundary: The ARN of the policy that is used to set the permissions boundary for the user. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: Key-value mapping of tags for the IAM user. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags_all: A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. """ if force_destroy is not None: pulumi.set(__self__, "force_destroy", force_destroy) @@ -39,6 +41,8 @@ def __init__(__self__, *, pulumi.set(__self__, "permissions_boundary", permissions_boundary) if tags is not None: pulumi.set(__self__, "tags", tags) + if tags_all is not None: + pulumi.set(__self__, "tags_all", tags_all) @property @pulumi.getter(name="forceDestroy") @@ -102,6 +106,18 @@ def tags(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: def tags(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): pulumi.set(self, "tags", value) + @property + @pulumi.getter(name="tagsAll") + def tags_all(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + """ + A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. + """ + return pulumi.get(self, "tags_all") + + @tags_all.setter + def tags_all(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + pulumi.set(self, "tags_all", value) + @pulumi.input_type class _UserState: @@ -253,6 +269,7 @@ def __init__(__self__, path: Optional[pulumi.Input[str]] = None, permissions_boundary: Optional[pulumi.Input[str]] = None, tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + tags_all: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, __props__=None): """ Provides an IAM user. @@ -298,6 +315,7 @@ def __init__(__self__, :param pulumi.Input[str] path: Path in which to create the user. :param pulumi.Input[str] permissions_boundary: The ARN of the policy that is used to set the permissions boundary for the user. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: Key-value mapping of tags for the IAM user. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags_all: A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. """ ... @overload @@ -360,6 +378,7 @@ def _internal_init(__self__, path: Optional[pulumi.Input[str]] = None, permissions_boundary: Optional[pulumi.Input[str]] = None, tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + tags_all: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, __props__=None): opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) if not isinstance(opts, pulumi.ResourceOptions): @@ -374,8 +393,8 @@ def _internal_init(__self__, __props__.__dict__["path"] = path __props__.__dict__["permissions_boundary"] = permissions_boundary __props__.__dict__["tags"] = tags + __props__.__dict__["tags_all"] = tags_all __props__.__dict__["arn"] = None - __props__.__dict__["tags_all"] = None __props__.__dict__["unique_id"] = None super(User, __self__).__init__( 'aws:iam/user:User', diff --git a/sdk/python/pulumi_aws/iam/virtual_mfa_device.py b/sdk/python/pulumi_aws/iam/virtual_mfa_device.py index 11f312e819f..e7523eec368 100644 --- a/sdk/python/pulumi_aws/iam/virtual_mfa_device.py +++ b/sdk/python/pulumi_aws/iam/virtual_mfa_device.py @@ -16,18 +16,22 @@ class VirtualMfaDeviceArgs: def __init__(__self__, *, virtual_mfa_device_name: pulumi.Input[str], path: Optional[pulumi.Input[str]] = None, - tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None): + tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + tags_all: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None): """ The set of arguments for constructing a VirtualMfaDevice resource. :param pulumi.Input[str] virtual_mfa_device_name: The name of the virtual MFA device. Use with path to uniquely identify a virtual MFA device. :param pulumi.Input[str] path: The path for the virtual MFA device. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: Map of resource tags for the virtual mfa device. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags_all: A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. """ pulumi.set(__self__, "virtual_mfa_device_name", virtual_mfa_device_name) if path is not None: pulumi.set(__self__, "path", path) if tags is not None: pulumi.set(__self__, "tags", tags) + if tags_all is not None: + pulumi.set(__self__, "tags_all", tags_all) @property @pulumi.getter(name="virtualMfaDeviceName") @@ -65,6 +69,18 @@ def tags(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: def tags(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): pulumi.set(self, "tags", value) + @property + @pulumi.getter(name="tagsAll") + def tags_all(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + """ + A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. + """ + return pulumi.get(self, "tags_all") + + @tags_all.setter + def tags_all(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + pulumi.set(self, "tags_all", value) + @pulumi.input_type class _VirtualMfaDeviceState: @@ -193,6 +209,7 @@ def __init__(__self__, opts: Optional[pulumi.ResourceOptions] = None, path: Optional[pulumi.Input[str]] = None, tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + tags_all: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, virtual_mfa_device_name: Optional[pulumi.Input[str]] = None, __props__=None): """ @@ -221,6 +238,7 @@ def __init__(__self__, :param pulumi.ResourceOptions opts: Options for the resource. :param pulumi.Input[str] path: The path for the virtual MFA device. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: Map of resource tags for the virtual mfa device. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags_all: A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. :param pulumi.Input[str] virtual_mfa_device_name: The name of the virtual MFA device. Use with path to uniquely identify a virtual MFA device. """ ... @@ -268,6 +286,7 @@ def _internal_init(__self__, opts: Optional[pulumi.ResourceOptions] = None, path: Optional[pulumi.Input[str]] = None, tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + tags_all: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, virtual_mfa_device_name: Optional[pulumi.Input[str]] = None, __props__=None): opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) @@ -280,13 +299,13 @@ def _internal_init(__self__, __props__.__dict__["path"] = path __props__.__dict__["tags"] = tags + __props__.__dict__["tags_all"] = tags_all if virtual_mfa_device_name is None and not opts.urn: raise TypeError("Missing required property 'virtual_mfa_device_name'") __props__.__dict__["virtual_mfa_device_name"] = virtual_mfa_device_name __props__.__dict__["arn"] = None __props__.__dict__["base32_string_seed"] = None __props__.__dict__["qr_code_png"] = None - __props__.__dict__["tags_all"] = None super(VirtualMfaDevice, __self__).__init__( 'aws:iam/virtualMfaDevice:VirtualMfaDevice', resource_name, diff --git a/sdk/python/pulumi_aws/inspector/assessment_template.py b/sdk/python/pulumi_aws/inspector/assessment_template.py index 260dde64fd7..48a28dd084b 100644 --- a/sdk/python/pulumi_aws/inspector/assessment_template.py +++ b/sdk/python/pulumi_aws/inspector/assessment_template.py @@ -21,7 +21,8 @@ def __init__(__self__, *, target_arn: pulumi.Input[str], event_subscriptions: Optional[pulumi.Input[Sequence[pulumi.Input['AssessmentTemplateEventSubscriptionArgs']]]] = None, name: Optional[pulumi.Input[str]] = None, - tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None): + tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + tags_all: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None): """ The set of arguments for constructing a AssessmentTemplate resource. :param pulumi.Input[int] duration: The duration of the inspector run. @@ -30,6 +31,7 @@ def __init__(__self__, *, :param pulumi.Input[Sequence[pulumi.Input['AssessmentTemplateEventSubscriptionArgs']]] event_subscriptions: A block that enables sending notifications about a specified assessment template event to a designated SNS topic. See Event Subscriptions for details. :param pulumi.Input[str] name: The name of the assessment template. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: Key-value map of tags for the Inspector assessment template. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags_all: A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. """ pulumi.set(__self__, "duration", duration) pulumi.set(__self__, "rules_package_arns", rules_package_arns) @@ -40,6 +42,8 @@ def __init__(__self__, *, pulumi.set(__self__, "name", name) if tags is not None: pulumi.set(__self__, "tags", tags) + if tags_all is not None: + pulumi.set(__self__, "tags_all", tags_all) @property @pulumi.getter @@ -113,6 +117,18 @@ def tags(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: def tags(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): pulumi.set(self, "tags", value) + @property + @pulumi.getter(name="tagsAll") + def tags_all(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + """ + A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. + """ + return pulumi.get(self, "tags_all") + + @tags_all.setter + def tags_all(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + pulumi.set(self, "tags_all", value) + @pulumi.input_type class _AssessmentTemplateState: @@ -260,6 +276,7 @@ def __init__(__self__, name: Optional[pulumi.Input[str]] = None, rules_package_arns: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + tags_all: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, target_arn: Optional[pulumi.Input[str]] = None, __props__=None): """ @@ -301,6 +318,7 @@ def __init__(__self__, :param pulumi.Input[str] name: The name of the assessment template. :param pulumi.Input[Sequence[pulumi.Input[str]]] rules_package_arns: The rules to be used during the run. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: Key-value map of tags for the Inspector assessment template. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags_all: A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. :param pulumi.Input[str] target_arn: The assessment target ARN to attach the template to. """ ... @@ -361,6 +379,7 @@ def _internal_init(__self__, name: Optional[pulumi.Input[str]] = None, rules_package_arns: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + tags_all: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, target_arn: Optional[pulumi.Input[str]] = None, __props__=None): opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) @@ -380,11 +399,11 @@ def _internal_init(__self__, raise TypeError("Missing required property 'rules_package_arns'") __props__.__dict__["rules_package_arns"] = rules_package_arns __props__.__dict__["tags"] = tags + __props__.__dict__["tags_all"] = tags_all if target_arn is None and not opts.urn: raise TypeError("Missing required property 'target_arn'") __props__.__dict__["target_arn"] = target_arn __props__.__dict__["arn"] = None - __props__.__dict__["tags_all"] = None super(AssessmentTemplate, __self__).__init__( 'aws:inspector/assessmentTemplate:AssessmentTemplate', resource_name, diff --git a/sdk/python/pulumi_aws/oam/__init__.py b/sdk/python/pulumi_aws/oam/__init__.py index 6ff637b645a..905c7afebf9 100644 --- a/sdk/python/pulumi_aws/oam/__init__.py +++ b/sdk/python/pulumi_aws/oam/__init__.py @@ -5,6 +5,8 @@ from .. import _utilities import typing # Export this package's modules as members: +from .get_sink import * +from .get_sinks import * from .link import * from .sink import * from .sink_policy import * diff --git a/sdk/python/pulumi_aws/oam/get_sink.py b/sdk/python/pulumi_aws/oam/get_sink.py new file mode 100644 index 00000000000..ed8117b3b22 --- /dev/null +++ b/sdk/python/pulumi_aws/oam/get_sink.py @@ -0,0 +1,160 @@ +# coding=utf-8 +# *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +from .. import _utilities + +__all__ = [ + 'GetSinkResult', + 'AwaitableGetSinkResult', + 'get_sink', + 'get_sink_output', +] + +@pulumi.output_type +class GetSinkResult: + """ + A collection of values returned by getSink. + """ + def __init__(__self__, arn=None, id=None, name=None, sink_id=None, sink_identifier=None, tags=None): + if arn and not isinstance(arn, str): + raise TypeError("Expected argument 'arn' to be a str") + pulumi.set(__self__, "arn", arn) + if id and not isinstance(id, str): + raise TypeError("Expected argument 'id' to be a str") + pulumi.set(__self__, "id", id) + if name and not isinstance(name, str): + raise TypeError("Expected argument 'name' to be a str") + pulumi.set(__self__, "name", name) + if sink_id and not isinstance(sink_id, str): + raise TypeError("Expected argument 'sink_id' to be a str") + pulumi.set(__self__, "sink_id", sink_id) + if sink_identifier and not isinstance(sink_identifier, str): + raise TypeError("Expected argument 'sink_identifier' to be a str") + pulumi.set(__self__, "sink_identifier", sink_identifier) + if tags and not isinstance(tags, dict): + raise TypeError("Expected argument 'tags' to be a dict") + pulumi.set(__self__, "tags", tags) + + @property + @pulumi.getter + def arn(self) -> str: + """ + ARN of the sink. + """ + return pulumi.get(self, "arn") + + @property + @pulumi.getter + def id(self) -> str: + """ + The provider-assigned unique ID for this managed resource. + """ + return pulumi.get(self, "id") + + @property + @pulumi.getter + def name(self) -> str: + """ + Name of the sink. + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter(name="sinkId") + def sink_id(self) -> str: + """ + Random ID string that AWS generated as part of the sink ARN. + """ + return pulumi.get(self, "sink_id") + + @property + @pulumi.getter(name="sinkIdentifier") + def sink_identifier(self) -> str: + return pulumi.get(self, "sink_identifier") + + @property + @pulumi.getter + def tags(self) -> Mapping[str, str]: + """ + Tags assigned to the sink. + """ + return pulumi.get(self, "tags") + + +class AwaitableGetSinkResult(GetSinkResult): + # pylint: disable=using-constant-test + def __await__(self): + if False: + yield self + return GetSinkResult( + arn=self.arn, + id=self.id, + name=self.name, + sink_id=self.sink_id, + sink_identifier=self.sink_identifier, + tags=self.tags) + + +def get_sink(sink_identifier: Optional[str] = None, + tags: Optional[Mapping[str, str]] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetSinkResult: + """ + Data source for managing an AWS CloudWatch Observability Access Manager Sink. + + ## Example Usage + ### Basic Usage + + ```python + import pulumi + import pulumi_aws as aws + + example = aws.oam.get_sink(sink_identifier="arn:aws:oam:us-west-1:111111111111:sink/abcd1234-a123-456a-a12b-a123b456c789") + ``` + + + :param str sink_identifier: ARN of the sink. + :param Mapping[str, str] tags: Tags assigned to the sink. + """ + __args__ = dict() + __args__['sinkIdentifier'] = sink_identifier + __args__['tags'] = tags + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke('aws:oam/getSink:getSink', __args__, opts=opts, typ=GetSinkResult).value + + return AwaitableGetSinkResult( + arn=__ret__.arn, + id=__ret__.id, + name=__ret__.name, + sink_id=__ret__.sink_id, + sink_identifier=__ret__.sink_identifier, + tags=__ret__.tags) + + +@_utilities.lift_output_func(get_sink) +def get_sink_output(sink_identifier: Optional[pulumi.Input[str]] = None, + tags: Optional[pulumi.Input[Optional[Mapping[str, str]]]] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetSinkResult]: + """ + Data source for managing an AWS CloudWatch Observability Access Manager Sink. + + ## Example Usage + ### Basic Usage + + ```python + import pulumi + import pulumi_aws as aws + + example = aws.oam.get_sink(sink_identifier="arn:aws:oam:us-west-1:111111111111:sink/abcd1234-a123-456a-a12b-a123b456c789") + ``` + + + :param str sink_identifier: ARN of the sink. + :param Mapping[str, str] tags: Tags assigned to the sink. + """ + ... diff --git a/sdk/python/pulumi_aws/oam/get_sinks.py b/sdk/python/pulumi_aws/oam/get_sinks.py new file mode 100644 index 00000000000..4d74d3f42d3 --- /dev/null +++ b/sdk/python/pulumi_aws/oam/get_sinks.py @@ -0,0 +1,78 @@ +# coding=utf-8 +# *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +from .. import _utilities + +__all__ = [ + 'GetSinksResult', + 'AwaitableGetSinksResult', + 'get_sinks', +] + +@pulumi.output_type +class GetSinksResult: + """ + A collection of values returned by getSinks. + """ + def __init__(__self__, arns=None, id=None): + if arns and not isinstance(arns, list): + raise TypeError("Expected argument 'arns' to be a list") + pulumi.set(__self__, "arns", arns) + if id and not isinstance(id, str): + raise TypeError("Expected argument 'id' to be a str") + pulumi.set(__self__, "id", id) + + @property + @pulumi.getter + def arns(self) -> Sequence[str]: + """ + Set of ARN of the Sinks. + """ + return pulumi.get(self, "arns") + + @property + @pulumi.getter + def id(self) -> str: + """ + The provider-assigned unique ID for this managed resource. + """ + return pulumi.get(self, "id") + + +class AwaitableGetSinksResult(GetSinksResult): + # pylint: disable=using-constant-test + def __await__(self): + if False: + yield self + return GetSinksResult( + arns=self.arns, + id=self.id) + + +def get_sinks(opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetSinksResult: + """ + Data source for managing an AWS CloudWatch Observability Access Manager Sinks. + + ## Example Usage + ### Basic Usage + + ```python + import pulumi + import pulumi_aws as aws + + example = aws.oam.get_sinks() + ``` + """ + __args__ = dict() + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke('aws:oam/getSinks:getSinks', __args__, opts=opts, typ=GetSinksResult).value + + return AwaitableGetSinksResult( + arns=__ret__.arns, + id=__ret__.id) diff --git a/sdk/python/pulumi_aws/rbin/__init__.py b/sdk/python/pulumi_aws/rbin/__init__.py new file mode 100644 index 00000000000..6b969127c96 --- /dev/null +++ b/sdk/python/pulumi_aws/rbin/__init__.py @@ -0,0 +1,10 @@ +# coding=utf-8 +# *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +from .. import _utilities +import typing +# Export this package's modules as members: +from .rule import * +from ._inputs import * +from . import outputs diff --git a/sdk/python/pulumi_aws/rbin/_inputs.py b/sdk/python/pulumi_aws/rbin/_inputs.py new file mode 100644 index 00000000000..f41f53a371b --- /dev/null +++ b/sdk/python/pulumi_aws/rbin/_inputs.py @@ -0,0 +1,152 @@ +# coding=utf-8 +# *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +from .. import _utilities + +__all__ = [ + 'RuleLockConfigurationArgs', + 'RuleLockConfigurationUnlockDelayArgs', + 'RuleResourceTagArgs', + 'RuleRetentionPeriodArgs', +] + +@pulumi.input_type +class RuleLockConfigurationArgs: + def __init__(__self__, *, + unlock_delay: pulumi.Input['RuleLockConfigurationUnlockDelayArgs']): + """ + :param pulumi.Input['RuleLockConfigurationUnlockDelayArgs'] unlock_delay: Information about the retention rule unlock delay. See `unlock_delay` below. + """ + pulumi.set(__self__, "unlock_delay", unlock_delay) + + @property + @pulumi.getter(name="unlockDelay") + def unlock_delay(self) -> pulumi.Input['RuleLockConfigurationUnlockDelayArgs']: + """ + Information about the retention rule unlock delay. See `unlock_delay` below. + """ + return pulumi.get(self, "unlock_delay") + + @unlock_delay.setter + def unlock_delay(self, value: pulumi.Input['RuleLockConfigurationUnlockDelayArgs']): + pulumi.set(self, "unlock_delay", value) + + +@pulumi.input_type +class RuleLockConfigurationUnlockDelayArgs: + def __init__(__self__, *, + unlock_delay_unit: pulumi.Input[str], + unlock_delay_value: pulumi.Input[int]): + """ + :param pulumi.Input[str] unlock_delay_unit: The unit of time in which to measure the unlock delay. Currently, the unlock delay can be measure only in days. + :param pulumi.Input[int] unlock_delay_value: The unlock delay period, measured in the unit specified for UnlockDelayUnit. + """ + pulumi.set(__self__, "unlock_delay_unit", unlock_delay_unit) + pulumi.set(__self__, "unlock_delay_value", unlock_delay_value) + + @property + @pulumi.getter(name="unlockDelayUnit") + def unlock_delay_unit(self) -> pulumi.Input[str]: + """ + The unit of time in which to measure the unlock delay. Currently, the unlock delay can be measure only in days. + """ + return pulumi.get(self, "unlock_delay_unit") + + @unlock_delay_unit.setter + def unlock_delay_unit(self, value: pulumi.Input[str]): + pulumi.set(self, "unlock_delay_unit", value) + + @property + @pulumi.getter(name="unlockDelayValue") + def unlock_delay_value(self) -> pulumi.Input[int]: + """ + The unlock delay period, measured in the unit specified for UnlockDelayUnit. + """ + return pulumi.get(self, "unlock_delay_value") + + @unlock_delay_value.setter + def unlock_delay_value(self, value: pulumi.Input[int]): + pulumi.set(self, "unlock_delay_value", value) + + +@pulumi.input_type +class RuleResourceTagArgs: + def __init__(__self__, *, + resource_tag_key: pulumi.Input[str], + resource_tag_value: Optional[pulumi.Input[str]] = None): + """ + :param pulumi.Input[str] resource_tag_key: The tag key. + :param pulumi.Input[str] resource_tag_value: The tag value. + """ + pulumi.set(__self__, "resource_tag_key", resource_tag_key) + if resource_tag_value is not None: + pulumi.set(__self__, "resource_tag_value", resource_tag_value) + + @property + @pulumi.getter(name="resourceTagKey") + def resource_tag_key(self) -> pulumi.Input[str]: + """ + The tag key. + """ + return pulumi.get(self, "resource_tag_key") + + @resource_tag_key.setter + def resource_tag_key(self, value: pulumi.Input[str]): + pulumi.set(self, "resource_tag_key", value) + + @property + @pulumi.getter(name="resourceTagValue") + def resource_tag_value(self) -> Optional[pulumi.Input[str]]: + """ + The tag value. + """ + return pulumi.get(self, "resource_tag_value") + + @resource_tag_value.setter + def resource_tag_value(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "resource_tag_value", value) + + +@pulumi.input_type +class RuleRetentionPeriodArgs: + def __init__(__self__, *, + retention_period_unit: pulumi.Input[str], + retention_period_value: pulumi.Input[int]): + """ + :param pulumi.Input[str] retention_period_unit: The unit of time in which the retention period is measured. Currently, only DAYS is supported. + :param pulumi.Input[int] retention_period_value: The period value for which the retention rule is to retain resources. The period is measured using the unit specified for RetentionPeriodUnit. + """ + pulumi.set(__self__, "retention_period_unit", retention_period_unit) + pulumi.set(__self__, "retention_period_value", retention_period_value) + + @property + @pulumi.getter(name="retentionPeriodUnit") + def retention_period_unit(self) -> pulumi.Input[str]: + """ + The unit of time in which the retention period is measured. Currently, only DAYS is supported. + """ + return pulumi.get(self, "retention_period_unit") + + @retention_period_unit.setter + def retention_period_unit(self, value: pulumi.Input[str]): + pulumi.set(self, "retention_period_unit", value) + + @property + @pulumi.getter(name="retentionPeriodValue") + def retention_period_value(self) -> pulumi.Input[int]: + """ + The period value for which the retention rule is to retain resources. The period is measured using the unit specified for RetentionPeriodUnit. + """ + return pulumi.get(self, "retention_period_value") + + @retention_period_value.setter + def retention_period_value(self, value: pulumi.Input[int]): + pulumi.set(self, "retention_period_value", value) + + diff --git a/sdk/python/pulumi_aws/rbin/outputs.py b/sdk/python/pulumi_aws/rbin/outputs.py new file mode 100644 index 00000000000..2ed4b71069a --- /dev/null +++ b/sdk/python/pulumi_aws/rbin/outputs.py @@ -0,0 +1,199 @@ +# coding=utf-8 +# *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +from .. import _utilities +from . import outputs + +__all__ = [ + 'RuleLockConfiguration', + 'RuleLockConfigurationUnlockDelay', + 'RuleResourceTag', + 'RuleRetentionPeriod', +] + +@pulumi.output_type +class RuleLockConfiguration(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "unlockDelay": + suggest = "unlock_delay" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in RuleLockConfiguration. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + RuleLockConfiguration.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + RuleLockConfiguration.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + unlock_delay: 'outputs.RuleLockConfigurationUnlockDelay'): + """ + :param 'RuleLockConfigurationUnlockDelayArgs' unlock_delay: Information about the retention rule unlock delay. See `unlock_delay` below. + """ + pulumi.set(__self__, "unlock_delay", unlock_delay) + + @property + @pulumi.getter(name="unlockDelay") + def unlock_delay(self) -> 'outputs.RuleLockConfigurationUnlockDelay': + """ + Information about the retention rule unlock delay. See `unlock_delay` below. + """ + return pulumi.get(self, "unlock_delay") + + +@pulumi.output_type +class RuleLockConfigurationUnlockDelay(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "unlockDelayUnit": + suggest = "unlock_delay_unit" + elif key == "unlockDelayValue": + suggest = "unlock_delay_value" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in RuleLockConfigurationUnlockDelay. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + RuleLockConfigurationUnlockDelay.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + RuleLockConfigurationUnlockDelay.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + unlock_delay_unit: str, + unlock_delay_value: int): + """ + :param str unlock_delay_unit: The unit of time in which to measure the unlock delay. Currently, the unlock delay can be measure only in days. + :param int unlock_delay_value: The unlock delay period, measured in the unit specified for UnlockDelayUnit. + """ + pulumi.set(__self__, "unlock_delay_unit", unlock_delay_unit) + pulumi.set(__self__, "unlock_delay_value", unlock_delay_value) + + @property + @pulumi.getter(name="unlockDelayUnit") + def unlock_delay_unit(self) -> str: + """ + The unit of time in which to measure the unlock delay. Currently, the unlock delay can be measure only in days. + """ + return pulumi.get(self, "unlock_delay_unit") + + @property + @pulumi.getter(name="unlockDelayValue") + def unlock_delay_value(self) -> int: + """ + The unlock delay period, measured in the unit specified for UnlockDelayUnit. + """ + return pulumi.get(self, "unlock_delay_value") + + +@pulumi.output_type +class RuleResourceTag(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "resourceTagKey": + suggest = "resource_tag_key" + elif key == "resourceTagValue": + suggest = "resource_tag_value" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in RuleResourceTag. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + RuleResourceTag.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + RuleResourceTag.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + resource_tag_key: str, + resource_tag_value: Optional[str] = None): + """ + :param str resource_tag_key: The tag key. + :param str resource_tag_value: The tag value. + """ + pulumi.set(__self__, "resource_tag_key", resource_tag_key) + if resource_tag_value is not None: + pulumi.set(__self__, "resource_tag_value", resource_tag_value) + + @property + @pulumi.getter(name="resourceTagKey") + def resource_tag_key(self) -> str: + """ + The tag key. + """ + return pulumi.get(self, "resource_tag_key") + + @property + @pulumi.getter(name="resourceTagValue") + def resource_tag_value(self) -> Optional[str]: + """ + The tag value. + """ + return pulumi.get(self, "resource_tag_value") + + +@pulumi.output_type +class RuleRetentionPeriod(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "retentionPeriodUnit": + suggest = "retention_period_unit" + elif key == "retentionPeriodValue": + suggest = "retention_period_value" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in RuleRetentionPeriod. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + RuleRetentionPeriod.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + RuleRetentionPeriod.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + retention_period_unit: str, + retention_period_value: int): + """ + :param str retention_period_unit: The unit of time in which the retention period is measured. Currently, only DAYS is supported. + :param int retention_period_value: The period value for which the retention rule is to retain resources. The period is measured using the unit specified for RetentionPeriodUnit. + """ + pulumi.set(__self__, "retention_period_unit", retention_period_unit) + pulumi.set(__self__, "retention_period_value", retention_period_value) + + @property + @pulumi.getter(name="retentionPeriodUnit") + def retention_period_unit(self) -> str: + """ + The unit of time in which the retention period is measured. Currently, only DAYS is supported. + """ + return pulumi.get(self, "retention_period_unit") + + @property + @pulumi.getter(name="retentionPeriodValue") + def retention_period_value(self) -> int: + """ + The period value for which the retention rule is to retain resources. The period is measured using the unit specified for RetentionPeriodUnit. + """ + return pulumi.get(self, "retention_period_value") + + diff --git a/sdk/python/pulumi_aws/rbin/rule.py b/sdk/python/pulumi_aws/rbin/rule.py new file mode 100644 index 00000000000..f538a472593 --- /dev/null +++ b/sdk/python/pulumi_aws/rbin/rule.py @@ -0,0 +1,557 @@ +# coding=utf-8 +# *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +from .. import _utilities +from . import outputs +from ._inputs import * + +__all__ = ['RuleArgs', 'Rule'] + +@pulumi.input_type +class RuleArgs: + def __init__(__self__, *, + resource_type: pulumi.Input[str], + retention_period: pulumi.Input['RuleRetentionPeriodArgs'], + description: Optional[pulumi.Input[str]] = None, + lock_configuration: Optional[pulumi.Input['RuleLockConfigurationArgs']] = None, + resource_tags: Optional[pulumi.Input[Sequence[pulumi.Input['RuleResourceTagArgs']]]] = None, + tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None): + """ + The set of arguments for constructing a Rule resource. + :param pulumi.Input[str] resource_type: The resource type to be retained by the retention rule. Valid values are `EBS_SNAPSHOT` and `EC2_IMAGE`. + :param pulumi.Input['RuleRetentionPeriodArgs'] retention_period: Information about the retention period for which the retention rule is to retain resources. See `retention_period` below. + :param pulumi.Input[str] description: The retention rule description. + :param pulumi.Input['RuleLockConfigurationArgs'] lock_configuration: Information about the retention rule lock configuration. See `lock_configuration` below. + :param pulumi.Input[Sequence[pulumi.Input['RuleResourceTagArgs']]] resource_tags: Specifies the resource tags to use to identify resources that are to be retained by a tag-level retention rule. See `resource_tags` below. + """ + pulumi.set(__self__, "resource_type", resource_type) + pulumi.set(__self__, "retention_period", retention_period) + if description is not None: + pulumi.set(__self__, "description", description) + if lock_configuration is not None: + pulumi.set(__self__, "lock_configuration", lock_configuration) + if resource_tags is not None: + pulumi.set(__self__, "resource_tags", resource_tags) + if tags is not None: + pulumi.set(__self__, "tags", tags) + + @property + @pulumi.getter(name="resourceType") + def resource_type(self) -> pulumi.Input[str]: + """ + The resource type to be retained by the retention rule. Valid values are `EBS_SNAPSHOT` and `EC2_IMAGE`. + """ + return pulumi.get(self, "resource_type") + + @resource_type.setter + def resource_type(self, value: pulumi.Input[str]): + pulumi.set(self, "resource_type", value) + + @property + @pulumi.getter(name="retentionPeriod") + def retention_period(self) -> pulumi.Input['RuleRetentionPeriodArgs']: + """ + Information about the retention period for which the retention rule is to retain resources. See `retention_period` below. + """ + return pulumi.get(self, "retention_period") + + @retention_period.setter + def retention_period(self, value: pulumi.Input['RuleRetentionPeriodArgs']): + pulumi.set(self, "retention_period", value) + + @property + @pulumi.getter + def description(self) -> Optional[pulumi.Input[str]]: + """ + The retention rule description. + """ + return pulumi.get(self, "description") + + @description.setter + def description(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "description", value) + + @property + @pulumi.getter(name="lockConfiguration") + def lock_configuration(self) -> Optional[pulumi.Input['RuleLockConfigurationArgs']]: + """ + Information about the retention rule lock configuration. See `lock_configuration` below. + """ + return pulumi.get(self, "lock_configuration") + + @lock_configuration.setter + def lock_configuration(self, value: Optional[pulumi.Input['RuleLockConfigurationArgs']]): + pulumi.set(self, "lock_configuration", value) + + @property + @pulumi.getter(name="resourceTags") + def resource_tags(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['RuleResourceTagArgs']]]]: + """ + Specifies the resource tags to use to identify resources that are to be retained by a tag-level retention rule. See `resource_tags` below. + """ + return pulumi.get(self, "resource_tags") + + @resource_tags.setter + def resource_tags(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['RuleResourceTagArgs']]]]): + pulumi.set(self, "resource_tags", value) + + @property + @pulumi.getter + def tags(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + return pulumi.get(self, "tags") + + @tags.setter + def tags(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + pulumi.set(self, "tags", value) + + +@pulumi.input_type +class _RuleState: + def __init__(__self__, *, + arn: Optional[pulumi.Input[str]] = None, + description: Optional[pulumi.Input[str]] = None, + lock_configuration: Optional[pulumi.Input['RuleLockConfigurationArgs']] = None, + lock_end_time: Optional[pulumi.Input[str]] = None, + lock_state: Optional[pulumi.Input[str]] = None, + resource_tags: Optional[pulumi.Input[Sequence[pulumi.Input['RuleResourceTagArgs']]]] = None, + resource_type: Optional[pulumi.Input[str]] = None, + retention_period: Optional[pulumi.Input['RuleRetentionPeriodArgs']] = None, + status: Optional[pulumi.Input[str]] = None, + tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + tags_all: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None): + """ + Input properties used for looking up and filtering Rule resources. + :param pulumi.Input[str] description: The retention rule description. + :param pulumi.Input['RuleLockConfigurationArgs'] lock_configuration: Information about the retention rule lock configuration. See `lock_configuration` below. + :param pulumi.Input[str] lock_end_time: (Timestamp) The date and time at which the unlock delay is set to expire. Only returned for retention rules that have been unlocked and that are still within the unlock delay period. + :param pulumi.Input[str] lock_state: (Optional) The lock state of the retention rules to list. Only retention rules with the specified lock state are returned. Valid values are `locked`, `pending_unlock`, `unlocked`. + :param pulumi.Input[Sequence[pulumi.Input['RuleResourceTagArgs']]] resource_tags: Specifies the resource tags to use to identify resources that are to be retained by a tag-level retention rule. See `resource_tags` below. + :param pulumi.Input[str] resource_type: The resource type to be retained by the retention rule. Valid values are `EBS_SNAPSHOT` and `EC2_IMAGE`. + :param pulumi.Input['RuleRetentionPeriodArgs'] retention_period: Information about the retention period for which the retention rule is to retain resources. See `retention_period` below. + :param pulumi.Input[str] status: (String) The state of the retention rule. Only retention rules that are in the `available` state retain resources. Valid values include `pending` and `available`. + """ + if arn is not None: + pulumi.set(__self__, "arn", arn) + if description is not None: + pulumi.set(__self__, "description", description) + if lock_configuration is not None: + pulumi.set(__self__, "lock_configuration", lock_configuration) + if lock_end_time is not None: + pulumi.set(__self__, "lock_end_time", lock_end_time) + if lock_state is not None: + pulumi.set(__self__, "lock_state", lock_state) + if resource_tags is not None: + pulumi.set(__self__, "resource_tags", resource_tags) + if resource_type is not None: + pulumi.set(__self__, "resource_type", resource_type) + if retention_period is not None: + pulumi.set(__self__, "retention_period", retention_period) + if status is not None: + pulumi.set(__self__, "status", status) + if tags is not None: + pulumi.set(__self__, "tags", tags) + if tags_all is not None: + pulumi.set(__self__, "tags_all", tags_all) + + @property + @pulumi.getter + def arn(self) -> Optional[pulumi.Input[str]]: + return pulumi.get(self, "arn") + + @arn.setter + def arn(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "arn", value) + + @property + @pulumi.getter + def description(self) -> Optional[pulumi.Input[str]]: + """ + The retention rule description. + """ + return pulumi.get(self, "description") + + @description.setter + def description(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "description", value) + + @property + @pulumi.getter(name="lockConfiguration") + def lock_configuration(self) -> Optional[pulumi.Input['RuleLockConfigurationArgs']]: + """ + Information about the retention rule lock configuration. See `lock_configuration` below. + """ + return pulumi.get(self, "lock_configuration") + + @lock_configuration.setter + def lock_configuration(self, value: Optional[pulumi.Input['RuleLockConfigurationArgs']]): + pulumi.set(self, "lock_configuration", value) + + @property + @pulumi.getter(name="lockEndTime") + def lock_end_time(self) -> Optional[pulumi.Input[str]]: + """ + (Timestamp) The date and time at which the unlock delay is set to expire. Only returned for retention rules that have been unlocked and that are still within the unlock delay period. + """ + return pulumi.get(self, "lock_end_time") + + @lock_end_time.setter + def lock_end_time(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "lock_end_time", value) + + @property + @pulumi.getter(name="lockState") + def lock_state(self) -> Optional[pulumi.Input[str]]: + """ + (Optional) The lock state of the retention rules to list. Only retention rules with the specified lock state are returned. Valid values are `locked`, `pending_unlock`, `unlocked`. + """ + return pulumi.get(self, "lock_state") + + @lock_state.setter + def lock_state(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "lock_state", value) + + @property + @pulumi.getter(name="resourceTags") + def resource_tags(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['RuleResourceTagArgs']]]]: + """ + Specifies the resource tags to use to identify resources that are to be retained by a tag-level retention rule. See `resource_tags` below. + """ + return pulumi.get(self, "resource_tags") + + @resource_tags.setter + def resource_tags(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['RuleResourceTagArgs']]]]): + pulumi.set(self, "resource_tags", value) + + @property + @pulumi.getter(name="resourceType") + def resource_type(self) -> Optional[pulumi.Input[str]]: + """ + The resource type to be retained by the retention rule. Valid values are `EBS_SNAPSHOT` and `EC2_IMAGE`. + """ + return pulumi.get(self, "resource_type") + + @resource_type.setter + def resource_type(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "resource_type", value) + + @property + @pulumi.getter(name="retentionPeriod") + def retention_period(self) -> Optional[pulumi.Input['RuleRetentionPeriodArgs']]: + """ + Information about the retention period for which the retention rule is to retain resources. See `retention_period` below. + """ + return pulumi.get(self, "retention_period") + + @retention_period.setter + def retention_period(self, value: Optional[pulumi.Input['RuleRetentionPeriodArgs']]): + pulumi.set(self, "retention_period", value) + + @property + @pulumi.getter + def status(self) -> Optional[pulumi.Input[str]]: + """ + (String) The state of the retention rule. Only retention rules that are in the `available` state retain resources. Valid values include `pending` and `available`. + """ + return pulumi.get(self, "status") + + @status.setter + def status(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "status", value) + + @property + @pulumi.getter + def tags(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + return pulumi.get(self, "tags") + + @tags.setter + def tags(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + pulumi.set(self, "tags", value) + + @property + @pulumi.getter(name="tagsAll") + def tags_all(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + return pulumi.get(self, "tags_all") + + @tags_all.setter + def tags_all(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + pulumi.set(self, "tags_all", value) + + +class Rule(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + description: Optional[pulumi.Input[str]] = None, + lock_configuration: Optional[pulumi.Input[pulumi.InputType['RuleLockConfigurationArgs']]] = None, + resource_tags: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['RuleResourceTagArgs']]]]] = None, + resource_type: Optional[pulumi.Input[str]] = None, + retention_period: Optional[pulumi.Input[pulumi.InputType['RuleRetentionPeriodArgs']]] = None, + tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + __props__=None): + """ + Resource for managing an AWS RBin Rule. + + ## Example Usage + ### Basic Usage + + ```python + import pulumi + import pulumi_aws as aws + + example = aws.rbin.Rule("example", + description="example_rule", + resource_type="EBS_SNAPSHOT", + resource_tags=[aws.rbin.RuleResourceTagArgs( + resource_tag_key=tag_key, + resource_tag_value="tag_value", + )], + retention_period=aws.rbin.RuleRetentionPeriodArgs( + retention_period_value=10, + retention_period_unit="DAYS", + ), + tags={ + "test_tag_key": "test_tag_value", + }) + ``` + + ## Import + + RBin Rule can be imported using the `id`, e.g., + + ```sh + $ pulumi import aws:rbin/rule:Rule example examplerule + ``` + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[str] description: The retention rule description. + :param pulumi.Input[pulumi.InputType['RuleLockConfigurationArgs']] lock_configuration: Information about the retention rule lock configuration. See `lock_configuration` below. + :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['RuleResourceTagArgs']]]] resource_tags: Specifies the resource tags to use to identify resources that are to be retained by a tag-level retention rule. See `resource_tags` below. + :param pulumi.Input[str] resource_type: The resource type to be retained by the retention rule. Valid values are `EBS_SNAPSHOT` and `EC2_IMAGE`. + :param pulumi.Input[pulumi.InputType['RuleRetentionPeriodArgs']] retention_period: Information about the retention period for which the retention rule is to retain resources. See `retention_period` below. + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: RuleArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + Resource for managing an AWS RBin Rule. + + ## Example Usage + ### Basic Usage + + ```python + import pulumi + import pulumi_aws as aws + + example = aws.rbin.Rule("example", + description="example_rule", + resource_type="EBS_SNAPSHOT", + resource_tags=[aws.rbin.RuleResourceTagArgs( + resource_tag_key=tag_key, + resource_tag_value="tag_value", + )], + retention_period=aws.rbin.RuleRetentionPeriodArgs( + retention_period_value=10, + retention_period_unit="DAYS", + ), + tags={ + "test_tag_key": "test_tag_value", + }) + ``` + + ## Import + + RBin Rule can be imported using the `id`, e.g., + + ```sh + $ pulumi import aws:rbin/rule:Rule example examplerule + ``` + + :param str resource_name: The name of the resource. + :param RuleArgs args: The arguments to use to populate this resource's properties. + :param pulumi.ResourceOptions opts: Options for the resource. + """ + ... + def __init__(__self__, resource_name: str, *args, **kwargs): + resource_args, opts = _utilities.get_resource_args_opts(RuleArgs, pulumi.ResourceOptions, *args, **kwargs) + if resource_args is not None: + __self__._internal_init(resource_name, opts, **resource_args.__dict__) + else: + __self__._internal_init(resource_name, *args, **kwargs) + + def _internal_init(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + description: Optional[pulumi.Input[str]] = None, + lock_configuration: Optional[pulumi.Input[pulumi.InputType['RuleLockConfigurationArgs']]] = None, + resource_tags: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['RuleResourceTagArgs']]]]] = None, + resource_type: Optional[pulumi.Input[str]] = None, + retention_period: Optional[pulumi.Input[pulumi.InputType['RuleRetentionPeriodArgs']]] = None, + tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + __props__=None): + opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) + if not isinstance(opts, pulumi.ResourceOptions): + raise TypeError('Expected resource options to be a ResourceOptions instance') + if opts.id is None: + if __props__ is not None: + raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource') + __props__ = RuleArgs.__new__(RuleArgs) + + __props__.__dict__["description"] = description + __props__.__dict__["lock_configuration"] = lock_configuration + __props__.__dict__["resource_tags"] = resource_tags + if resource_type is None and not opts.urn: + raise TypeError("Missing required property 'resource_type'") + __props__.__dict__["resource_type"] = resource_type + if retention_period is None and not opts.urn: + raise TypeError("Missing required property 'retention_period'") + __props__.__dict__["retention_period"] = retention_period + __props__.__dict__["tags"] = tags + __props__.__dict__["arn"] = None + __props__.__dict__["lock_end_time"] = None + __props__.__dict__["lock_state"] = None + __props__.__dict__["status"] = None + __props__.__dict__["tags_all"] = None + super(Rule, __self__).__init__( + 'aws:rbin/rule:Rule', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None, + arn: Optional[pulumi.Input[str]] = None, + description: Optional[pulumi.Input[str]] = None, + lock_configuration: Optional[pulumi.Input[pulumi.InputType['RuleLockConfigurationArgs']]] = None, + lock_end_time: Optional[pulumi.Input[str]] = None, + lock_state: Optional[pulumi.Input[str]] = None, + resource_tags: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['RuleResourceTagArgs']]]]] = None, + resource_type: Optional[pulumi.Input[str]] = None, + retention_period: Optional[pulumi.Input[pulumi.InputType['RuleRetentionPeriodArgs']]] = None, + status: Optional[pulumi.Input[str]] = None, + tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + tags_all: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None) -> 'Rule': + """ + Get an existing Rule resource's state with the given name, id, and optional extra + properties used to qualify the lookup. + + :param str resource_name: The unique name of the resulting resource. + :param pulumi.Input[str] id: The unique provider ID of the resource to lookup. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[str] description: The retention rule description. + :param pulumi.Input[pulumi.InputType['RuleLockConfigurationArgs']] lock_configuration: Information about the retention rule lock configuration. See `lock_configuration` below. + :param pulumi.Input[str] lock_end_time: (Timestamp) The date and time at which the unlock delay is set to expire. Only returned for retention rules that have been unlocked and that are still within the unlock delay period. + :param pulumi.Input[str] lock_state: (Optional) The lock state of the retention rules to list. Only retention rules with the specified lock state are returned. Valid values are `locked`, `pending_unlock`, `unlocked`. + :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['RuleResourceTagArgs']]]] resource_tags: Specifies the resource tags to use to identify resources that are to be retained by a tag-level retention rule. See `resource_tags` below. + :param pulumi.Input[str] resource_type: The resource type to be retained by the retention rule. Valid values are `EBS_SNAPSHOT` and `EC2_IMAGE`. + :param pulumi.Input[pulumi.InputType['RuleRetentionPeriodArgs']] retention_period: Information about the retention period for which the retention rule is to retain resources. See `retention_period` below. + :param pulumi.Input[str] status: (String) The state of the retention rule. Only retention rules that are in the `available` state retain resources. Valid values include `pending` and `available`. + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = _RuleState.__new__(_RuleState) + + __props__.__dict__["arn"] = arn + __props__.__dict__["description"] = description + __props__.__dict__["lock_configuration"] = lock_configuration + __props__.__dict__["lock_end_time"] = lock_end_time + __props__.__dict__["lock_state"] = lock_state + __props__.__dict__["resource_tags"] = resource_tags + __props__.__dict__["resource_type"] = resource_type + __props__.__dict__["retention_period"] = retention_period + __props__.__dict__["status"] = status + __props__.__dict__["tags"] = tags + __props__.__dict__["tags_all"] = tags_all + return Rule(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter + def arn(self) -> pulumi.Output[str]: + return pulumi.get(self, "arn") + + @property + @pulumi.getter + def description(self) -> pulumi.Output[str]: + """ + The retention rule description. + """ + return pulumi.get(self, "description") + + @property + @pulumi.getter(name="lockConfiguration") + def lock_configuration(self) -> pulumi.Output[Optional['outputs.RuleLockConfiguration']]: + """ + Information about the retention rule lock configuration. See `lock_configuration` below. + """ + return pulumi.get(self, "lock_configuration") + + @property + @pulumi.getter(name="lockEndTime") + def lock_end_time(self) -> pulumi.Output[str]: + """ + (Timestamp) The date and time at which the unlock delay is set to expire. Only returned for retention rules that have been unlocked and that are still within the unlock delay period. + """ + return pulumi.get(self, "lock_end_time") + + @property + @pulumi.getter(name="lockState") + def lock_state(self) -> pulumi.Output[str]: + """ + (Optional) The lock state of the retention rules to list. Only retention rules with the specified lock state are returned. Valid values are `locked`, `pending_unlock`, `unlocked`. + """ + return pulumi.get(self, "lock_state") + + @property + @pulumi.getter(name="resourceTags") + def resource_tags(self) -> pulumi.Output[Sequence['outputs.RuleResourceTag']]: + """ + Specifies the resource tags to use to identify resources that are to be retained by a tag-level retention rule. See `resource_tags` below. + """ + return pulumi.get(self, "resource_tags") + + @property + @pulumi.getter(name="resourceType") + def resource_type(self) -> pulumi.Output[str]: + """ + The resource type to be retained by the retention rule. Valid values are `EBS_SNAPSHOT` and `EC2_IMAGE`. + """ + return pulumi.get(self, "resource_type") + + @property + @pulumi.getter(name="retentionPeriod") + def retention_period(self) -> pulumi.Output['outputs.RuleRetentionPeriod']: + """ + Information about the retention period for which the retention rule is to retain resources. See `retention_period` below. + """ + return pulumi.get(self, "retention_period") + + @property + @pulumi.getter + def status(self) -> pulumi.Output[str]: + """ + (String) The state of the retention rule. Only retention rules that are in the `available` state retain resources. Valid values include `pending` and `available`. + """ + return pulumi.get(self, "status") + + @property + @pulumi.getter + def tags(self) -> pulumi.Output[Optional[Mapping[str, str]]]: + return pulumi.get(self, "tags") + + @property + @pulumi.getter(name="tagsAll") + def tags_all(self) -> pulumi.Output[Mapping[str, str]]: + return pulumi.get(self, "tags_all") + diff --git a/sdk/python/pulumi_aws/rds/_inputs.py b/sdk/python/pulumi_aws/rds/_inputs.py index 8f8d48fd12c..811379f1fe7 100644 --- a/sdk/python/pulumi_aws/rds/_inputs.py +++ b/sdk/python/pulumi_aws/rds/_inputs.py @@ -11,6 +11,7 @@ from ._enums import * __all__ = [ + 'ClusterMasterUserSecretArgs', 'ClusterParameterGroupParameterArgs', 'ClusterRestoreToPointInTimeArgs', 'ClusterS3ImportArgs', @@ -19,6 +20,7 @@ 'GlobalClusterGlobalClusterMemberArgs', 'InstanceBlueGreenUpdateArgs', 'InstanceListenerEndpointArgs', + 'InstanceMasterUserSecretArgs', 'InstanceRestoreToPointInTimeArgs', 'InstanceS3ImportArgs', 'OptionGroupOptionArgs', @@ -33,6 +35,61 @@ 'GetInstancesFilterArgs', ] +@pulumi.input_type +class ClusterMasterUserSecretArgs: + def __init__(__self__, *, + kms_key_id: Optional[pulumi.Input[str]] = None, + secret_arn: Optional[pulumi.Input[str]] = None, + secret_status: Optional[pulumi.Input[str]] = None): + """ + :param pulumi.Input[str] kms_key_id: The ARN for the KMS encryption key. When specifying `kms_key_id`, `storage_encrypted` needs to be set to true. + :param pulumi.Input[str] secret_arn: The Amazon Resource Name (ARN) of the secret. + :param pulumi.Input[str] secret_status: The status of the secret. Valid Values: `creating` | `active` | `rotating` | `impaired`. + """ + if kms_key_id is not None: + pulumi.set(__self__, "kms_key_id", kms_key_id) + if secret_arn is not None: + pulumi.set(__self__, "secret_arn", secret_arn) + if secret_status is not None: + pulumi.set(__self__, "secret_status", secret_status) + + @property + @pulumi.getter(name="kmsKeyId") + def kms_key_id(self) -> Optional[pulumi.Input[str]]: + """ + The ARN for the KMS encryption key. When specifying `kms_key_id`, `storage_encrypted` needs to be set to true. + """ + return pulumi.get(self, "kms_key_id") + + @kms_key_id.setter + def kms_key_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "kms_key_id", value) + + @property + @pulumi.getter(name="secretArn") + def secret_arn(self) -> Optional[pulumi.Input[str]]: + """ + The Amazon Resource Name (ARN) of the secret. + """ + return pulumi.get(self, "secret_arn") + + @secret_arn.setter + def secret_arn(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "secret_arn", value) + + @property + @pulumi.getter(name="secretStatus") + def secret_status(self) -> Optional[pulumi.Input[str]]: + """ + The status of the secret. Valid Values: `creating` | `active` | `rotating` | `impaired`. + """ + return pulumi.get(self, "secret_status") + + @secret_status.setter + def secret_status(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "secret_status", value) + + @pulumi.input_type class ClusterParameterGroupParameterArgs: def __init__(__self__, *, @@ -488,6 +545,63 @@ def port(self, value: Optional[pulumi.Input[int]]): pulumi.set(self, "port", value) +@pulumi.input_type +class InstanceMasterUserSecretArgs: + def __init__(__self__, *, + kms_key_id: Optional[pulumi.Input[str]] = None, + secret_arn: Optional[pulumi.Input[str]] = None, + secret_status: Optional[pulumi.Input[str]] = None): + """ + :param pulumi.Input[str] kms_key_id: The ARN for the KMS encryption key. If creating an + encrypted replica, set this to the destination KMS ARN. + :param pulumi.Input[str] secret_arn: The Amazon Resource Name (ARN) of the secret. + :param pulumi.Input[str] secret_status: The status of the secret. Valid Values: `creating` | `active` | `rotating` | `impaired`. + """ + if kms_key_id is not None: + pulumi.set(__self__, "kms_key_id", kms_key_id) + if secret_arn is not None: + pulumi.set(__self__, "secret_arn", secret_arn) + if secret_status is not None: + pulumi.set(__self__, "secret_status", secret_status) + + @property + @pulumi.getter(name="kmsKeyId") + def kms_key_id(self) -> Optional[pulumi.Input[str]]: + """ + The ARN for the KMS encryption key. If creating an + encrypted replica, set this to the destination KMS ARN. + """ + return pulumi.get(self, "kms_key_id") + + @kms_key_id.setter + def kms_key_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "kms_key_id", value) + + @property + @pulumi.getter(name="secretArn") + def secret_arn(self) -> Optional[pulumi.Input[str]]: + """ + The Amazon Resource Name (ARN) of the secret. + """ + return pulumi.get(self, "secret_arn") + + @secret_arn.setter + def secret_arn(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "secret_arn", value) + + @property + @pulumi.getter(name="secretStatus") + def secret_status(self) -> Optional[pulumi.Input[str]]: + """ + The status of the secret. Valid Values: `creating` | `active` | `rotating` | `impaired`. + """ + return pulumi.get(self, "secret_status") + + @secret_status.setter + def secret_status(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "secret_status", value) + + @pulumi.input_type class InstanceRestoreToPointInTimeArgs: def __init__(__self__, *, diff --git a/sdk/python/pulumi_aws/rds/cluster.py b/sdk/python/pulumi_aws/rds/cluster.py index e0aaf4220d7..07acc9ecf9c 100644 --- a/sdk/python/pulumi_aws/rds/cluster.py +++ b/sdk/python/pulumi_aws/rds/cluster.py @@ -45,7 +45,9 @@ def __init__(__self__, *, iam_roles: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, iops: Optional[pulumi.Input[int]] = None, kms_key_id: Optional[pulumi.Input[str]] = None, + manage_master_user_password: Optional[pulumi.Input[bool]] = None, master_password: Optional[pulumi.Input[str]] = None, + master_user_secret_kms_key_id: Optional[pulumi.Input[str]] = None, master_username: Optional[pulumi.Input[str]] = None, network_type: Optional[pulumi.Input[str]] = None, port: Optional[pulumi.Input[int]] = None, @@ -93,7 +95,9 @@ def __init__(__self__, *, :param pulumi.Input[Sequence[pulumi.Input[str]]] iam_roles: A List of ARNs for the IAM roles to associate to the RDS Cluster. :param pulumi.Input[int] iops: The amount of Provisioned IOPS (input/output operations per second) to be initially allocated for each DB instance in the Multi-AZ DB cluster. For information about valid Iops values, see [Amazon RDS Provisioned IOPS storage to improve performance](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Storage.html#USER_PIOPS) in the Amazon RDS User Guide. (This setting is required to create a Multi-AZ DB cluster). Must be a multiple between .5 and 50 of the storage amount for the DB cluster. :param pulumi.Input[str] kms_key_id: The ARN for the KMS encryption key. When specifying `kms_key_id`, `storage_encrypted` needs to be set to true. - :param pulumi.Input[str] master_password: Password for the master DB user. Note that this may show up in logs, and it will be stored in the state file. Please refer to the [RDS Naming Constraints](http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Limits.html#RDS_Limits.Constraints) + :param pulumi.Input[bool] manage_master_user_password: Set to true to allow RDS to manage the master user password in Secrets Manager. Cannot be set if `master_password` is provided. + :param pulumi.Input[str] master_password: Password for the master DB user. Note that this may show up in logs, and it will be stored in the state file. Please refer to the [RDS Naming Constraints](http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Limits.html#RDS_Limits.Constraints). Cannot be set if `manage_master_user_password` is set to `true`. + :param pulumi.Input[str] master_user_secret_kms_key_id: The Amazon Web Services KMS key identifier is the key ARN, key ID, alias ARN, or alias name for the KMS key. To use a KMS key in a different Amazon Web Services account, specify the key ARN or alias ARN. If not specified, the default KMS key for your Amazon Web Services account is used. :param pulumi.Input[str] master_username: Username for the master DB user. Please refer to the [RDS Naming Constraints](http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Limits.html#RDS_Limits.Constraints). This argument does not support in-place updates and cannot be changed during a restore from snapshot. :param pulumi.Input[str] network_type: The network type of the cluster. Valid values: `IPV4`, `DUAL`. :param pulumi.Input[int] port: The port on which the DB accepts connections @@ -167,8 +171,12 @@ def __init__(__self__, *, pulumi.set(__self__, "iops", iops) if kms_key_id is not None: pulumi.set(__self__, "kms_key_id", kms_key_id) + if manage_master_user_password is not None: + pulumi.set(__self__, "manage_master_user_password", manage_master_user_password) if master_password is not None: pulumi.set(__self__, "master_password", master_password) + if master_user_secret_kms_key_id is not None: + pulumi.set(__self__, "master_user_secret_kms_key_id", master_user_secret_kms_key_id) if master_username is not None: pulumi.set(__self__, "master_username", master_username) if network_type is not None: @@ -540,11 +548,23 @@ def kms_key_id(self) -> Optional[pulumi.Input[str]]: def kms_key_id(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "kms_key_id", value) + @property + @pulumi.getter(name="manageMasterUserPassword") + def manage_master_user_password(self) -> Optional[pulumi.Input[bool]]: + """ + Set to true to allow RDS to manage the master user password in Secrets Manager. Cannot be set if `master_password` is provided. + """ + return pulumi.get(self, "manage_master_user_password") + + @manage_master_user_password.setter + def manage_master_user_password(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "manage_master_user_password", value) + @property @pulumi.getter(name="masterPassword") def master_password(self) -> Optional[pulumi.Input[str]]: """ - Password for the master DB user. Note that this may show up in logs, and it will be stored in the state file. Please refer to the [RDS Naming Constraints](http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Limits.html#RDS_Limits.Constraints) + Password for the master DB user. Note that this may show up in logs, and it will be stored in the state file. Please refer to the [RDS Naming Constraints](http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Limits.html#RDS_Limits.Constraints). Cannot be set if `manage_master_user_password` is set to `true`. """ return pulumi.get(self, "master_password") @@ -552,6 +572,18 @@ def master_password(self) -> Optional[pulumi.Input[str]]: def master_password(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "master_password", value) + @property + @pulumi.getter(name="masterUserSecretKmsKeyId") + def master_user_secret_kms_key_id(self) -> Optional[pulumi.Input[str]]: + """ + The Amazon Web Services KMS key identifier is the key ARN, key ID, alias ARN, or alias name for the KMS key. To use a KMS key in a different Amazon Web Services account, specify the key ARN or alias ARN. If not specified, the default KMS key for your Amazon Web Services account is used. + """ + return pulumi.get(self, "master_user_secret_kms_key_id") + + @master_user_secret_kms_key_id.setter + def master_user_secret_kms_key_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "master_user_secret_kms_key_id", value) + @property @pulumi.getter(name="masterUsername") def master_username(self) -> Optional[pulumi.Input[str]]: @@ -790,7 +822,10 @@ def __init__(__self__, *, iam_roles: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, iops: Optional[pulumi.Input[int]] = None, kms_key_id: Optional[pulumi.Input[str]] = None, + manage_master_user_password: Optional[pulumi.Input[bool]] = None, master_password: Optional[pulumi.Input[str]] = None, + master_user_secret_kms_key_id: Optional[pulumi.Input[str]] = None, + master_user_secrets: Optional[pulumi.Input[Sequence[pulumi.Input['ClusterMasterUserSecretArgs']]]] = None, master_username: Optional[pulumi.Input[str]] = None, network_type: Optional[pulumi.Input[str]] = None, port: Optional[pulumi.Input[int]] = None, @@ -845,7 +880,10 @@ def __init__(__self__, *, :param pulumi.Input[Sequence[pulumi.Input[str]]] iam_roles: A List of ARNs for the IAM roles to associate to the RDS Cluster. :param pulumi.Input[int] iops: The amount of Provisioned IOPS (input/output operations per second) to be initially allocated for each DB instance in the Multi-AZ DB cluster. For information about valid Iops values, see [Amazon RDS Provisioned IOPS storage to improve performance](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Storage.html#USER_PIOPS) in the Amazon RDS User Guide. (This setting is required to create a Multi-AZ DB cluster). Must be a multiple between .5 and 50 of the storage amount for the DB cluster. :param pulumi.Input[str] kms_key_id: The ARN for the KMS encryption key. When specifying `kms_key_id`, `storage_encrypted` needs to be set to true. - :param pulumi.Input[str] master_password: Password for the master DB user. Note that this may show up in logs, and it will be stored in the state file. Please refer to the [RDS Naming Constraints](http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Limits.html#RDS_Limits.Constraints) + :param pulumi.Input[bool] manage_master_user_password: Set to true to allow RDS to manage the master user password in Secrets Manager. Cannot be set if `master_password` is provided. + :param pulumi.Input[str] master_password: Password for the master DB user. Note that this may show up in logs, and it will be stored in the state file. Please refer to the [RDS Naming Constraints](http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Limits.html#RDS_Limits.Constraints). Cannot be set if `manage_master_user_password` is set to `true`. + :param pulumi.Input[str] master_user_secret_kms_key_id: The Amazon Web Services KMS key identifier is the key ARN, key ID, alias ARN, or alias name for the KMS key. To use a KMS key in a different Amazon Web Services account, specify the key ARN or alias ARN. If not specified, the default KMS key for your Amazon Web Services account is used. + :param pulumi.Input[Sequence[pulumi.Input['ClusterMasterUserSecretArgs']]] master_user_secrets: A block that specifies the master user secret. Only available when `manage_master_user_password` is set to true. Documented below. :param pulumi.Input[str] master_username: Username for the master DB user. Please refer to the [RDS Naming Constraints](http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Limits.html#RDS_Limits.Constraints). This argument does not support in-place updates and cannot be changed during a restore from snapshot. :param pulumi.Input[str] network_type: The network type of the cluster. Valid values: `IPV4`, `DUAL`. :param pulumi.Input[int] port: The port on which the DB accepts connections @@ -932,8 +970,14 @@ def __init__(__self__, *, pulumi.set(__self__, "iops", iops) if kms_key_id is not None: pulumi.set(__self__, "kms_key_id", kms_key_id) + if manage_master_user_password is not None: + pulumi.set(__self__, "manage_master_user_password", manage_master_user_password) if master_password is not None: pulumi.set(__self__, "master_password", master_password) + if master_user_secret_kms_key_id is not None: + pulumi.set(__self__, "master_user_secret_kms_key_id", master_user_secret_kms_key_id) + if master_user_secrets is not None: + pulumi.set(__self__, "master_user_secrets", master_user_secrets) if master_username is not None: pulumi.set(__self__, "master_username", master_username) if network_type is not None: @@ -1369,11 +1413,23 @@ def kms_key_id(self) -> Optional[pulumi.Input[str]]: def kms_key_id(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "kms_key_id", value) + @property + @pulumi.getter(name="manageMasterUserPassword") + def manage_master_user_password(self) -> Optional[pulumi.Input[bool]]: + """ + Set to true to allow RDS to manage the master user password in Secrets Manager. Cannot be set if `master_password` is provided. + """ + return pulumi.get(self, "manage_master_user_password") + + @manage_master_user_password.setter + def manage_master_user_password(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "manage_master_user_password", value) + @property @pulumi.getter(name="masterPassword") def master_password(self) -> Optional[pulumi.Input[str]]: """ - Password for the master DB user. Note that this may show up in logs, and it will be stored in the state file. Please refer to the [RDS Naming Constraints](http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Limits.html#RDS_Limits.Constraints) + Password for the master DB user. Note that this may show up in logs, and it will be stored in the state file. Please refer to the [RDS Naming Constraints](http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Limits.html#RDS_Limits.Constraints). Cannot be set if `manage_master_user_password` is set to `true`. """ return pulumi.get(self, "master_password") @@ -1381,6 +1437,30 @@ def master_password(self) -> Optional[pulumi.Input[str]]: def master_password(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "master_password", value) + @property + @pulumi.getter(name="masterUserSecretKmsKeyId") + def master_user_secret_kms_key_id(self) -> Optional[pulumi.Input[str]]: + """ + The Amazon Web Services KMS key identifier is the key ARN, key ID, alias ARN, or alias name for the KMS key. To use a KMS key in a different Amazon Web Services account, specify the key ARN or alias ARN. If not specified, the default KMS key for your Amazon Web Services account is used. + """ + return pulumi.get(self, "master_user_secret_kms_key_id") + + @master_user_secret_kms_key_id.setter + def master_user_secret_kms_key_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "master_user_secret_kms_key_id", value) + + @property + @pulumi.getter(name="masterUserSecrets") + def master_user_secrets(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['ClusterMasterUserSecretArgs']]]]: + """ + A block that specifies the master user secret. Only available when `manage_master_user_password` is set to true. Documented below. + """ + return pulumi.get(self, "master_user_secrets") + + @master_user_secrets.setter + def master_user_secrets(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['ClusterMasterUserSecretArgs']]]]): + pulumi.set(self, "master_user_secrets", value) + @property @pulumi.getter(name="masterUsername") def master_username(self) -> Optional[pulumi.Input[str]]: @@ -1641,7 +1721,9 @@ def __init__(__self__, iam_roles: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, iops: Optional[pulumi.Input[int]] = None, kms_key_id: Optional[pulumi.Input[str]] = None, + manage_master_user_password: Optional[pulumi.Input[bool]] = None, master_password: Optional[pulumi.Input[str]] = None, + master_user_secret_kms_key_id: Optional[pulumi.Input[str]] = None, master_username: Optional[pulumi.Input[str]] = None, network_type: Optional[pulumi.Input[str]] = None, port: Optional[pulumi.Input[int]] = None, @@ -1808,6 +1890,40 @@ def __init__(__self__, engine=example_cluster.engine, engine_version=example_cluster.engine_version) ``` + ### RDS/Aurora Managed Master Passwords via Secrets Manager, default KMS Key + + > More information about RDS/Aurora Aurora integrates with Secrets Manager to manage master user passwords for your DB clusters can be found in the [RDS User Guide](https://aws.amazon.com/about-aws/whats-new/2022/12/amazon-rds-integration-aws-secrets-manager/) and [Aurora User Guide](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/rds-secrets-manager.html). + + You can specify the `manage_master_user_password` attribute to enable managing the master password with Secrets Manager. You can also update an existing cluster to use Secrets Manager by specify the `manage_master_user_password` attribute and removing the `master_password` attribute (removal is required). + + ```python + import pulumi + import pulumi_aws as aws + + test = aws.rds.Cluster("test", + cluster_identifier="example", + database_name="test", + manage_master_user_password=True, + master_username="test") + ``` + ### RDS/Aurora Managed Master Passwords via Secrets Manager, specific KMS Key + + > More information about RDS/Aurora Aurora integrates with Secrets Manager to manage master user passwords for your DB clusters can be found in the [RDS User Guide](https://aws.amazon.com/about-aws/whats-new/2022/12/amazon-rds-integration-aws-secrets-manager/) and [Aurora User Guide](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/rds-secrets-manager.html). + + You can specify the `master_user_secret_kms_key_id` attribute to specify a specific KMS Key. + + ```python + import pulumi + import pulumi_aws as aws + + example = aws.kms.Key("example", description="Example KMS Key") + test = aws.rds.Cluster("test", + cluster_identifier="example", + database_name="test", + manage_master_user_password=True, + master_username="test", + master_user_secret_kms_key_id=example.key_id) + ``` ### Global Cluster Restored From Snapshot ```python @@ -1865,7 +1981,9 @@ def __init__(__self__, :param pulumi.Input[Sequence[pulumi.Input[str]]] iam_roles: A List of ARNs for the IAM roles to associate to the RDS Cluster. :param pulumi.Input[int] iops: The amount of Provisioned IOPS (input/output operations per second) to be initially allocated for each DB instance in the Multi-AZ DB cluster. For information about valid Iops values, see [Amazon RDS Provisioned IOPS storage to improve performance](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Storage.html#USER_PIOPS) in the Amazon RDS User Guide. (This setting is required to create a Multi-AZ DB cluster). Must be a multiple between .5 and 50 of the storage amount for the DB cluster. :param pulumi.Input[str] kms_key_id: The ARN for the KMS encryption key. When specifying `kms_key_id`, `storage_encrypted` needs to be set to true. - :param pulumi.Input[str] master_password: Password for the master DB user. Note that this may show up in logs, and it will be stored in the state file. Please refer to the [RDS Naming Constraints](http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Limits.html#RDS_Limits.Constraints) + :param pulumi.Input[bool] manage_master_user_password: Set to true to allow RDS to manage the master user password in Secrets Manager. Cannot be set if `master_password` is provided. + :param pulumi.Input[str] master_password: Password for the master DB user. Note that this may show up in logs, and it will be stored in the state file. Please refer to the [RDS Naming Constraints](http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Limits.html#RDS_Limits.Constraints). Cannot be set if `manage_master_user_password` is set to `true`. + :param pulumi.Input[str] master_user_secret_kms_key_id: The Amazon Web Services KMS key identifier is the key ARN, key ID, alias ARN, or alias name for the KMS key. To use a KMS key in a different Amazon Web Services account, specify the key ARN or alias ARN. If not specified, the default KMS key for your Amazon Web Services account is used. :param pulumi.Input[str] master_username: Username for the master DB user. Please refer to the [RDS Naming Constraints](http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Limits.html#RDS_Limits.Constraints). This argument does not support in-place updates and cannot be changed during a restore from snapshot. :param pulumi.Input[str] network_type: The network type of the cluster. Valid values: `IPV4`, `DUAL`. :param pulumi.Input[int] port: The port on which the DB accepts connections @@ -2037,6 +2155,40 @@ def __init__(__self__, engine=example_cluster.engine, engine_version=example_cluster.engine_version) ``` + ### RDS/Aurora Managed Master Passwords via Secrets Manager, default KMS Key + + > More information about RDS/Aurora Aurora integrates with Secrets Manager to manage master user passwords for your DB clusters can be found in the [RDS User Guide](https://aws.amazon.com/about-aws/whats-new/2022/12/amazon-rds-integration-aws-secrets-manager/) and [Aurora User Guide](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/rds-secrets-manager.html). + + You can specify the `manage_master_user_password` attribute to enable managing the master password with Secrets Manager. You can also update an existing cluster to use Secrets Manager by specify the `manage_master_user_password` attribute and removing the `master_password` attribute (removal is required). + + ```python + import pulumi + import pulumi_aws as aws + + test = aws.rds.Cluster("test", + cluster_identifier="example", + database_name="test", + manage_master_user_password=True, + master_username="test") + ``` + ### RDS/Aurora Managed Master Passwords via Secrets Manager, specific KMS Key + + > More information about RDS/Aurora Aurora integrates with Secrets Manager to manage master user passwords for your DB clusters can be found in the [RDS User Guide](https://aws.amazon.com/about-aws/whats-new/2022/12/amazon-rds-integration-aws-secrets-manager/) and [Aurora User Guide](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/rds-secrets-manager.html). + + You can specify the `master_user_secret_kms_key_id` attribute to specify a specific KMS Key. + + ```python + import pulumi + import pulumi_aws as aws + + example = aws.kms.Key("example", description="Example KMS Key") + test = aws.rds.Cluster("test", + cluster_identifier="example", + database_name="test", + manage_master_user_password=True, + master_username="test", + master_user_secret_kms_key_id=example.key_id) + ``` ### Global Cluster Restored From Snapshot ```python @@ -2107,7 +2259,9 @@ def _internal_init(__self__, iam_roles: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, iops: Optional[pulumi.Input[int]] = None, kms_key_id: Optional[pulumi.Input[str]] = None, + manage_master_user_password: Optional[pulumi.Input[bool]] = None, master_password: Optional[pulumi.Input[str]] = None, + master_user_secret_kms_key_id: Optional[pulumi.Input[str]] = None, master_username: Optional[pulumi.Input[str]] = None, network_type: Optional[pulumi.Input[str]] = None, port: Optional[pulumi.Input[int]] = None, @@ -2162,7 +2316,9 @@ def _internal_init(__self__, __props__.__dict__["iam_roles"] = iam_roles __props__.__dict__["iops"] = iops __props__.__dict__["kms_key_id"] = kms_key_id + __props__.__dict__["manage_master_user_password"] = manage_master_user_password __props__.__dict__["master_password"] = None if master_password is None else pulumi.Output.secret(master_password) + __props__.__dict__["master_user_secret_kms_key_id"] = master_user_secret_kms_key_id __props__.__dict__["master_username"] = master_username __props__.__dict__["network_type"] = network_type __props__.__dict__["port"] = port @@ -2185,6 +2341,7 @@ def _internal_init(__self__, __props__.__dict__["endpoint"] = None __props__.__dict__["engine_version_actual"] = None __props__.__dict__["hosted_zone_id"] = None + __props__.__dict__["master_user_secrets"] = None __props__.__dict__["reader_endpoint"] = None __props__.__dict__["tags_all"] = None secret_opts = pulumi.ResourceOptions(additional_secret_outputs=["masterPassword"]) @@ -2232,7 +2389,10 @@ def get(resource_name: str, iam_roles: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, iops: Optional[pulumi.Input[int]] = None, kms_key_id: Optional[pulumi.Input[str]] = None, + manage_master_user_password: Optional[pulumi.Input[bool]] = None, master_password: Optional[pulumi.Input[str]] = None, + master_user_secret_kms_key_id: Optional[pulumi.Input[str]] = None, + master_user_secrets: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ClusterMasterUserSecretArgs']]]]] = None, master_username: Optional[pulumi.Input[str]] = None, network_type: Optional[pulumi.Input[str]] = None, port: Optional[pulumi.Input[int]] = None, @@ -2292,7 +2452,10 @@ def get(resource_name: str, :param pulumi.Input[Sequence[pulumi.Input[str]]] iam_roles: A List of ARNs for the IAM roles to associate to the RDS Cluster. :param pulumi.Input[int] iops: The amount of Provisioned IOPS (input/output operations per second) to be initially allocated for each DB instance in the Multi-AZ DB cluster. For information about valid Iops values, see [Amazon RDS Provisioned IOPS storage to improve performance](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Storage.html#USER_PIOPS) in the Amazon RDS User Guide. (This setting is required to create a Multi-AZ DB cluster). Must be a multiple between .5 and 50 of the storage amount for the DB cluster. :param pulumi.Input[str] kms_key_id: The ARN for the KMS encryption key. When specifying `kms_key_id`, `storage_encrypted` needs to be set to true. - :param pulumi.Input[str] master_password: Password for the master DB user. Note that this may show up in logs, and it will be stored in the state file. Please refer to the [RDS Naming Constraints](http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Limits.html#RDS_Limits.Constraints) + :param pulumi.Input[bool] manage_master_user_password: Set to true to allow RDS to manage the master user password in Secrets Manager. Cannot be set if `master_password` is provided. + :param pulumi.Input[str] master_password: Password for the master DB user. Note that this may show up in logs, and it will be stored in the state file. Please refer to the [RDS Naming Constraints](http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Limits.html#RDS_Limits.Constraints). Cannot be set if `manage_master_user_password` is set to `true`. + :param pulumi.Input[str] master_user_secret_kms_key_id: The Amazon Web Services KMS key identifier is the key ARN, key ID, alias ARN, or alias name for the KMS key. To use a KMS key in a different Amazon Web Services account, specify the key ARN or alias ARN. If not specified, the default KMS key for your Amazon Web Services account is used. + :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ClusterMasterUserSecretArgs']]]] master_user_secrets: A block that specifies the master user secret. Only available when `manage_master_user_password` is set to true. Documented below. :param pulumi.Input[str] master_username: Username for the master DB user. Please refer to the [RDS Naming Constraints](http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Limits.html#RDS_Limits.Constraints). This argument does not support in-place updates and cannot be changed during a restore from snapshot. :param pulumi.Input[str] network_type: The network type of the cluster. Valid values: `IPV4`, `DUAL`. :param pulumi.Input[int] port: The port on which the DB accepts connections @@ -2350,7 +2513,10 @@ def get(resource_name: str, __props__.__dict__["iam_roles"] = iam_roles __props__.__dict__["iops"] = iops __props__.__dict__["kms_key_id"] = kms_key_id + __props__.__dict__["manage_master_user_password"] = manage_master_user_password __props__.__dict__["master_password"] = master_password + __props__.__dict__["master_user_secret_kms_key_id"] = master_user_secret_kms_key_id + __props__.__dict__["master_user_secrets"] = master_user_secrets __props__.__dict__["master_username"] = master_username __props__.__dict__["network_type"] = network_type __props__.__dict__["port"] = port @@ -2636,14 +2802,38 @@ def kms_key_id(self) -> pulumi.Output[str]: """ return pulumi.get(self, "kms_key_id") + @property + @pulumi.getter(name="manageMasterUserPassword") + def manage_master_user_password(self) -> pulumi.Output[Optional[bool]]: + """ + Set to true to allow RDS to manage the master user password in Secrets Manager. Cannot be set if `master_password` is provided. + """ + return pulumi.get(self, "manage_master_user_password") + @property @pulumi.getter(name="masterPassword") def master_password(self) -> pulumi.Output[Optional[str]]: """ - Password for the master DB user. Note that this may show up in logs, and it will be stored in the state file. Please refer to the [RDS Naming Constraints](http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Limits.html#RDS_Limits.Constraints) + Password for the master DB user. Note that this may show up in logs, and it will be stored in the state file. Please refer to the [RDS Naming Constraints](http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Limits.html#RDS_Limits.Constraints). Cannot be set if `manage_master_user_password` is set to `true`. """ return pulumi.get(self, "master_password") + @property + @pulumi.getter(name="masterUserSecretKmsKeyId") + def master_user_secret_kms_key_id(self) -> pulumi.Output[str]: + """ + The Amazon Web Services KMS key identifier is the key ARN, key ID, alias ARN, or alias name for the KMS key. To use a KMS key in a different Amazon Web Services account, specify the key ARN or alias ARN. If not specified, the default KMS key for your Amazon Web Services account is used. + """ + return pulumi.get(self, "master_user_secret_kms_key_id") + + @property + @pulumi.getter(name="masterUserSecrets") + def master_user_secrets(self) -> pulumi.Output[Sequence['outputs.ClusterMasterUserSecret']]: + """ + A block that specifies the master user secret. Only available when `manage_master_user_password` is set to true. Documented below. + """ + return pulumi.get(self, "master_user_secrets") + @property @pulumi.getter(name="masterUsername") def master_username(self) -> pulumi.Output[str]: diff --git a/sdk/python/pulumi_aws/rds/get_cluster.py b/sdk/python/pulumi_aws/rds/get_cluster.py index c0dfa1b48b8..43d873c0cfb 100644 --- a/sdk/python/pulumi_aws/rds/get_cluster.py +++ b/sdk/python/pulumi_aws/rds/get_cluster.py @@ -8,6 +8,7 @@ import pulumi.runtime from typing import Any, Mapping, Optional, Sequence, Union, overload from .. import _utilities +from . import outputs __all__ = [ 'GetClusterResult', @@ -21,7 +22,7 @@ class GetClusterResult: """ A collection of values returned by getCluster. """ - def __init__(__self__, arn=None, availability_zones=None, backtrack_window=None, backup_retention_period=None, cluster_identifier=None, cluster_members=None, cluster_resource_id=None, database_name=None, db_cluster_parameter_group_name=None, db_subnet_group_name=None, enabled_cloudwatch_logs_exports=None, endpoint=None, engine=None, engine_mode=None, engine_version=None, final_snapshot_identifier=None, hosted_zone_id=None, iam_database_authentication_enabled=None, iam_roles=None, id=None, kms_key_id=None, master_username=None, network_type=None, port=None, preferred_backup_window=None, preferred_maintenance_window=None, reader_endpoint=None, replication_source_identifier=None, storage_encrypted=None, tags=None, vpc_security_group_ids=None): + def __init__(__self__, arn=None, availability_zones=None, backtrack_window=None, backup_retention_period=None, cluster_identifier=None, cluster_members=None, cluster_resource_id=None, database_name=None, db_cluster_parameter_group_name=None, db_subnet_group_name=None, enabled_cloudwatch_logs_exports=None, endpoint=None, engine=None, engine_mode=None, engine_version=None, final_snapshot_identifier=None, hosted_zone_id=None, iam_database_authentication_enabled=None, iam_roles=None, id=None, kms_key_id=None, master_user_secrets=None, master_username=None, network_type=None, port=None, preferred_backup_window=None, preferred_maintenance_window=None, reader_endpoint=None, replication_source_identifier=None, storage_encrypted=None, tags=None, vpc_security_group_ids=None): if arn and not isinstance(arn, str): raise TypeError("Expected argument 'arn' to be a str") pulumi.set(__self__, "arn", arn) @@ -85,6 +86,9 @@ def __init__(__self__, arn=None, availability_zones=None, backtrack_window=None, if kms_key_id and not isinstance(kms_key_id, str): raise TypeError("Expected argument 'kms_key_id' to be a str") pulumi.set(__self__, "kms_key_id", kms_key_id) + if master_user_secrets and not isinstance(master_user_secrets, list): + raise TypeError("Expected argument 'master_user_secrets' to be a list") + pulumi.set(__self__, "master_user_secrets", master_user_secrets) if master_username and not isinstance(master_username, str): raise TypeError("Expected argument 'master_username' to be a str") pulumi.set(__self__, "master_username", master_username) @@ -224,6 +228,11 @@ def id(self) -> str: def kms_key_id(self) -> str: return pulumi.get(self, "kms_key_id") + @property + @pulumi.getter(name="masterUserSecrets") + def master_user_secrets(self) -> Sequence['outputs.GetClusterMasterUserSecretResult']: + return pulumi.get(self, "master_user_secrets") + @property @pulumi.getter(name="masterUsername") def master_username(self) -> str: @@ -305,6 +314,7 @@ def __await__(self): iam_roles=self.iam_roles, id=self.id, kms_key_id=self.kms_key_id, + master_user_secrets=self.master_user_secrets, master_username=self.master_username, network_type=self.network_type, port=self.port, @@ -364,6 +374,7 @@ def get_cluster(cluster_identifier: Optional[str] = None, iam_roles=__ret__.iam_roles, id=__ret__.id, kms_key_id=__ret__.kms_key_id, + master_user_secrets=__ret__.master_user_secrets, master_username=__ret__.master_username, network_type=__ret__.network_type, port=__ret__.port, diff --git a/sdk/python/pulumi_aws/rds/get_instance.py b/sdk/python/pulumi_aws/rds/get_instance.py index cba84918675..f338d6c6111 100644 --- a/sdk/python/pulumi_aws/rds/get_instance.py +++ b/sdk/python/pulumi_aws/rds/get_instance.py @@ -8,6 +8,7 @@ import pulumi.runtime from typing import Any, Mapping, Optional, Sequence, Union, overload from .. import _utilities +from . import outputs __all__ = [ 'GetInstanceResult', @@ -21,7 +22,7 @@ class GetInstanceResult: """ A collection of values returned by getInstance. """ - def __init__(__self__, address=None, allocated_storage=None, auto_minor_version_upgrade=None, availability_zone=None, backup_retention_period=None, ca_cert_identifier=None, db_cluster_identifier=None, db_instance_arn=None, db_instance_class=None, db_instance_identifier=None, db_instance_port=None, db_name=None, db_parameter_groups=None, db_security_groups=None, db_subnet_group=None, enabled_cloudwatch_logs_exports=None, endpoint=None, engine=None, engine_version=None, hosted_zone_id=None, id=None, iops=None, kms_key_id=None, license_model=None, master_username=None, monitoring_interval=None, monitoring_role_arn=None, multi_az=None, network_type=None, option_group_memberships=None, port=None, preferred_backup_window=None, preferred_maintenance_window=None, publicly_accessible=None, replicate_source_db=None, resource_id=None, storage_encrypted=None, storage_throughput=None, storage_type=None, tags=None, timezone=None, vpc_security_groups=None): + def __init__(__self__, address=None, allocated_storage=None, auto_minor_version_upgrade=None, availability_zone=None, backup_retention_period=None, ca_cert_identifier=None, db_cluster_identifier=None, db_instance_arn=None, db_instance_class=None, db_instance_identifier=None, db_instance_port=None, db_name=None, db_parameter_groups=None, db_security_groups=None, db_subnet_group=None, enabled_cloudwatch_logs_exports=None, endpoint=None, engine=None, engine_version=None, hosted_zone_id=None, id=None, iops=None, kms_key_id=None, license_model=None, master_user_secrets=None, master_username=None, monitoring_interval=None, monitoring_role_arn=None, multi_az=None, network_type=None, option_group_memberships=None, port=None, preferred_backup_window=None, preferred_maintenance_window=None, publicly_accessible=None, replicate_source_db=None, resource_id=None, storage_encrypted=None, storage_throughput=None, storage_type=None, tags=None, timezone=None, vpc_security_groups=None): if address and not isinstance(address, str): raise TypeError("Expected argument 'address' to be a str") pulumi.set(__self__, "address", address) @@ -94,6 +95,9 @@ def __init__(__self__, address=None, allocated_storage=None, auto_minor_version_ if license_model and not isinstance(license_model, str): raise TypeError("Expected argument 'license_model' to be a str") pulumi.set(__self__, "license_model", license_model) + if master_user_secrets and not isinstance(master_user_secrets, list): + raise TypeError("Expected argument 'master_user_secrets' to be a list") + pulumi.set(__self__, "master_user_secrets", master_user_secrets) if master_username and not isinstance(master_username, str): raise TypeError("Expected argument 'master_username' to be a str") pulumi.set(__self__, "master_username", master_username) @@ -326,7 +330,7 @@ def iops(self) -> int: @pulumi.getter(name="kmsKeyId") def kms_key_id(self) -> str: """ - If StorageEncrypted is true, the KMS key identifier for the encrypted DB instance. + The Amazon Web Services KMS key identifier that is used to encrypt the secret. """ return pulumi.get(self, "kms_key_id") @@ -338,6 +342,14 @@ def license_model(self) -> str: """ return pulumi.get(self, "license_model") + @property + @pulumi.getter(name="masterUserSecrets") + def master_user_secrets(self) -> Sequence['outputs.GetInstanceMasterUserSecretResult']: + """ + Provides the master user secret. Only available when `manage_master_user_password` is set to true. Documented below. + """ + return pulumi.get(self, "master_user_secrets") + @property @pulumi.getter(name="masterUsername") def master_username(self) -> str: @@ -510,6 +522,7 @@ def __await__(self): iops=self.iops, kms_key_id=self.kms_key_id, license_model=self.license_model, + master_user_secrets=self.master_user_secrets, master_username=self.master_username, monitoring_interval=self.monitoring_interval, monitoring_role_arn=self.monitoring_role_arn, @@ -579,6 +592,7 @@ def get_instance(db_instance_identifier: Optional[str] = None, iops=__ret__.iops, kms_key_id=__ret__.kms_key_id, license_model=__ret__.license_model, + master_user_secrets=__ret__.master_user_secrets, master_username=__ret__.master_username, monitoring_interval=__ret__.monitoring_interval, monitoring_role_arn=__ret__.monitoring_role_arn, diff --git a/sdk/python/pulumi_aws/rds/instance.py b/sdk/python/pulumi_aws/rds/instance.py index 0ad8dd23b9d..814b121b95f 100644 --- a/sdk/python/pulumi_aws/rds/instance.py +++ b/sdk/python/pulumi_aws/rds/instance.py @@ -48,6 +48,8 @@ def __init__(__self__, *, kms_key_id: Optional[pulumi.Input[str]] = None, license_model: Optional[pulumi.Input[str]] = None, maintenance_window: Optional[pulumi.Input[str]] = None, + manage_master_user_password: Optional[pulumi.Input[bool]] = None, + master_user_secret_kms_key_id: Optional[pulumi.Input[str]] = None, max_allocated_storage: Optional[pulumi.Input[int]] = None, monitoring_interval: Optional[pulumi.Input[int]] = None, monitoring_role_arn: Optional[pulumi.Input[str]] = None, @@ -156,6 +158,8 @@ def __init__(__self__, *, Maintenance Window docs](http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_UpgradeDBInstance.Maintenance.html#AdjustingTheMaintenanceWindow) for more information. + :param pulumi.Input[bool] manage_master_user_password: Set to true to allow RDS to manage the master user password in Secrets Manager. Cannot be set if `password` is provided. + :param pulumi.Input[str] master_user_secret_kms_key_id: The Amazon Web Services KMS key identifier is the key ARN, key ID, alias ARN, or alias name for the KMS key. To use a KMS key in a different Amazon Web Services account, specify the key ARN or alias ARN. If not specified, the default KMS key for your Amazon Web Services account is used. :param pulumi.Input[int] max_allocated_storage: When configured, the upper limit to which Amazon RDS can automatically scale the storage of the DB instance. Configuring this will automatically ignore differences to `allocated_storage`. Must be greater than or equal to `allocated_storage` or `0` to disable Storage Autoscaling. :param pulumi.Input[int] monitoring_interval: The interval, in seconds, between points when Enhanced Monitoring metrics are collected for the DB instance. To disable @@ -174,9 +178,9 @@ def __init__(__self__, *, :param pulumi.Input[str] option_group_name: Name of the DB option group to associate. :param pulumi.Input[str] parameter_group_name: Name of the DB parameter group to associate. - :param pulumi.Input[str] password: (Required unless a `snapshot_identifier` or `replicate_source_db` - is provided) Password for the master DB user. Note that this may show up in - logs, and it will be stored in the state file. + :param pulumi.Input[str] password: (Required unless `manage_master_user_password` is set to true or unless a `snapshot_identifier` or `replicate_source_db` + is provided or `manage_master_user_password` is set.) Password for the master DB user. Note that this may show up in + logs, and it will be stored in the state file. Cannot be set if `manage_master_user_password` is set to `true`. :param pulumi.Input[bool] performance_insights_enabled: Specifies whether Performance Insights are enabled. Defaults to false. :param pulumi.Input[str] performance_insights_kms_key_id: The ARN for the KMS key to encrypt Performance Insights data. When specifying `performance_insights_kms_key_id`, `performance_insights_enabled` needs to be set to true. Once KMS key is set, it can never be changed. :param pulumi.Input[int] performance_insights_retention_period: Amount of time in days to retain Performance Insights data. Valid values are `7`, `731` (2 years) or a multiple of `31`. When specifying `performance_insights_retention_period`, `performance_insights_enabled` needs to be set to true. Defaults to '7'. @@ -288,6 +292,10 @@ def __init__(__self__, *, pulumi.set(__self__, "license_model", license_model) if maintenance_window is not None: pulumi.set(__self__, "maintenance_window", maintenance_window) + if manage_master_user_password is not None: + pulumi.set(__self__, "manage_master_user_password", manage_master_user_password) + if master_user_secret_kms_key_id is not None: + pulumi.set(__self__, "master_user_secret_kms_key_id", master_user_secret_kms_key_id) if max_allocated_storage is not None: pulumi.set(__self__, "max_allocated_storage", max_allocated_storage) if monitoring_interval is not None: @@ -768,6 +776,30 @@ def maintenance_window(self) -> Optional[pulumi.Input[str]]: def maintenance_window(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "maintenance_window", value) + @property + @pulumi.getter(name="manageMasterUserPassword") + def manage_master_user_password(self) -> Optional[pulumi.Input[bool]]: + """ + Set to true to allow RDS to manage the master user password in Secrets Manager. Cannot be set if `password` is provided. + """ + return pulumi.get(self, "manage_master_user_password") + + @manage_master_user_password.setter + def manage_master_user_password(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "manage_master_user_password", value) + + @property + @pulumi.getter(name="masterUserSecretKmsKeyId") + def master_user_secret_kms_key_id(self) -> Optional[pulumi.Input[str]]: + """ + The Amazon Web Services KMS key identifier is the key ARN, key ID, alias ARN, or alias name for the KMS key. To use a KMS key in a different Amazon Web Services account, specify the key ARN or alias ARN. If not specified, the default KMS key for your Amazon Web Services account is used. + """ + return pulumi.get(self, "master_user_secret_kms_key_id") + + @master_user_secret_kms_key_id.setter + def master_user_secret_kms_key_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "master_user_secret_kms_key_id", value) + @property @pulumi.getter(name="maxAllocatedStorage") def max_allocated_storage(self) -> Optional[pulumi.Input[int]]: @@ -889,9 +921,9 @@ def parameter_group_name(self, value: Optional[pulumi.Input[str]]): @pulumi.getter def password(self) -> Optional[pulumi.Input[str]]: """ - (Required unless a `snapshot_identifier` or `replicate_source_db` - is provided) Password for the master DB user. Note that this may show up in - logs, and it will be stored in the state file. + (Required unless `manage_master_user_password` is set to true or unless a `snapshot_identifier` or `replicate_source_db` + is provided or `manage_master_user_password` is set.) Password for the master DB user. Note that this may show up in + logs, and it will be stored in the state file. Cannot be set if `manage_master_user_password` is set to `true`. """ return pulumi.get(self, "password") @@ -1199,6 +1231,9 @@ def __init__(__self__, *, license_model: Optional[pulumi.Input[str]] = None, listener_endpoints: Optional[pulumi.Input[Sequence[pulumi.Input['InstanceListenerEndpointArgs']]]] = None, maintenance_window: Optional[pulumi.Input[str]] = None, + manage_master_user_password: Optional[pulumi.Input[bool]] = None, + master_user_secret_kms_key_id: Optional[pulumi.Input[str]] = None, + master_user_secrets: Optional[pulumi.Input[Sequence[pulumi.Input['InstanceMasterUserSecretArgs']]]] = None, max_allocated_storage: Optional[pulumi.Input[int]] = None, monitoring_interval: Optional[pulumi.Input[int]] = None, monitoring_role_arn: Optional[pulumi.Input[str]] = None, @@ -1318,6 +1353,9 @@ def __init__(__self__, *, Maintenance Window docs](http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_UpgradeDBInstance.Maintenance.html#AdjustingTheMaintenanceWindow) for more information. + :param pulumi.Input[bool] manage_master_user_password: Set to true to allow RDS to manage the master user password in Secrets Manager. Cannot be set if `password` is provided. + :param pulumi.Input[str] master_user_secret_kms_key_id: The Amazon Web Services KMS key identifier is the key ARN, key ID, alias ARN, or alias name for the KMS key. To use a KMS key in a different Amazon Web Services account, specify the key ARN or alias ARN. If not specified, the default KMS key for your Amazon Web Services account is used. + :param pulumi.Input[Sequence[pulumi.Input['InstanceMasterUserSecretArgs']]] master_user_secrets: A block that specifies the master user secret. Only available when `manage_master_user_password` is set to true. Documented below. :param pulumi.Input[int] max_allocated_storage: When configured, the upper limit to which Amazon RDS can automatically scale the storage of the DB instance. Configuring this will automatically ignore differences to `allocated_storage`. Must be greater than or equal to `allocated_storage` or `0` to disable Storage Autoscaling. :param pulumi.Input[int] monitoring_interval: The interval, in seconds, between points when Enhanced Monitoring metrics are collected for the DB instance. To disable @@ -1336,9 +1374,9 @@ def __init__(__self__, *, :param pulumi.Input[str] option_group_name: Name of the DB option group to associate. :param pulumi.Input[str] parameter_group_name: Name of the DB parameter group to associate. - :param pulumi.Input[str] password: (Required unless a `snapshot_identifier` or `replicate_source_db` - is provided) Password for the master DB user. Note that this may show up in - logs, and it will be stored in the state file. + :param pulumi.Input[str] password: (Required unless `manage_master_user_password` is set to true or unless a `snapshot_identifier` or `replicate_source_db` + is provided or `manage_master_user_password` is set.) Password for the master DB user. Note that this may show up in + logs, and it will be stored in the state file. Cannot be set if `manage_master_user_password` is set to `true`. :param pulumi.Input[bool] performance_insights_enabled: Specifies whether Performance Insights are enabled. Defaults to false. :param pulumi.Input[str] performance_insights_kms_key_id: The ARN for the KMS key to encrypt Performance Insights data. When specifying `performance_insights_kms_key_id`, `performance_insights_enabled` needs to be set to true. Once KMS key is set, it can never be changed. :param pulumi.Input[int] performance_insights_retention_period: Amount of time in days to retain Performance Insights data. Valid values are `7`, `731` (2 years) or a multiple of `31`. When specifying `performance_insights_retention_period`, `performance_insights_enabled` needs to be set to true. Defaults to '7'. @@ -1468,6 +1506,12 @@ def __init__(__self__, *, pulumi.set(__self__, "listener_endpoints", listener_endpoints) if maintenance_window is not None: pulumi.set(__self__, "maintenance_window", maintenance_window) + if manage_master_user_password is not None: + pulumi.set(__self__, "manage_master_user_password", manage_master_user_password) + if master_user_secret_kms_key_id is not None: + pulumi.set(__self__, "master_user_secret_kms_key_id", master_user_secret_kms_key_id) + if master_user_secrets is not None: + pulumi.set(__self__, "master_user_secrets", master_user_secrets) if max_allocated_storage is not None: pulumi.set(__self__, "max_allocated_storage", max_allocated_storage) if monitoring_interval is not None: @@ -2040,6 +2084,42 @@ def maintenance_window(self) -> Optional[pulumi.Input[str]]: def maintenance_window(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "maintenance_window", value) + @property + @pulumi.getter(name="manageMasterUserPassword") + def manage_master_user_password(self) -> Optional[pulumi.Input[bool]]: + """ + Set to true to allow RDS to manage the master user password in Secrets Manager. Cannot be set if `password` is provided. + """ + return pulumi.get(self, "manage_master_user_password") + + @manage_master_user_password.setter + def manage_master_user_password(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "manage_master_user_password", value) + + @property + @pulumi.getter(name="masterUserSecretKmsKeyId") + def master_user_secret_kms_key_id(self) -> Optional[pulumi.Input[str]]: + """ + The Amazon Web Services KMS key identifier is the key ARN, key ID, alias ARN, or alias name for the KMS key. To use a KMS key in a different Amazon Web Services account, specify the key ARN or alias ARN. If not specified, the default KMS key for your Amazon Web Services account is used. + """ + return pulumi.get(self, "master_user_secret_kms_key_id") + + @master_user_secret_kms_key_id.setter + def master_user_secret_kms_key_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "master_user_secret_kms_key_id", value) + + @property + @pulumi.getter(name="masterUserSecrets") + def master_user_secrets(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['InstanceMasterUserSecretArgs']]]]: + """ + A block that specifies the master user secret. Only available when `manage_master_user_password` is set to true. Documented below. + """ + return pulumi.get(self, "master_user_secrets") + + @master_user_secrets.setter + def master_user_secrets(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['InstanceMasterUserSecretArgs']]]]): + pulumi.set(self, "master_user_secrets", value) + @property @pulumi.getter(name="maxAllocatedStorage") def max_allocated_storage(self) -> Optional[pulumi.Input[int]]: @@ -2161,9 +2241,9 @@ def parameter_group_name(self, value: Optional[pulumi.Input[str]]): @pulumi.getter def password(self) -> Optional[pulumi.Input[str]]: """ - (Required unless a `snapshot_identifier` or `replicate_source_db` - is provided) Password for the master DB user. Note that this may show up in - logs, and it will be stored in the state file. + (Required unless `manage_master_user_password` is set to true or unless a `snapshot_identifier` or `replicate_source_db` + is provided or `manage_master_user_password` is set.) Password for the master DB user. Note that this may show up in + logs, and it will be stored in the state file. Cannot be set if `manage_master_user_password` is set to `true`. """ return pulumi.get(self, "password") @@ -2511,6 +2591,8 @@ def __init__(__self__, kms_key_id: Optional[pulumi.Input[str]] = None, license_model: Optional[pulumi.Input[str]] = None, maintenance_window: Optional[pulumi.Input[str]] = None, + manage_master_user_password: Optional[pulumi.Input[bool]] = None, + master_user_secret_kms_key_id: Optional[pulumi.Input[str]] = None, max_allocated_storage: Optional[pulumi.Input[int]] = None, monitoring_interval: Optional[pulumi.Input[int]] = None, monitoring_role_arn: Optional[pulumi.Input[str]] = None, @@ -2608,6 +2690,48 @@ def __init__(__self__, allocated_storage=50, max_allocated_storage=100) ``` + ### Managed Master Passwords via Secrets Manager, default KMS Key + + > More information about RDS/Aurora Aurora integrates with Secrets Manager to manage master user passwords for your DB clusters can be found in the [RDS User Guide](https://aws.amazon.com/about-aws/whats-new/2022/12/amazon-rds-integration-aws-secrets-manager/) and [Aurora User Guide](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/rds-secrets-manager.html). + + You can specify the `manage_master_user_password` attribute to enable managing the master password with Secrets Manager. You can also update an existing cluster to use Secrets Manager by specify the `manage_master_user_password` attribute and removing the `password` attribute (removal is required). + + ```python + import pulumi + import pulumi_aws as aws + + default = aws.rds.Instance("default", + allocated_storage=10, + db_name="mydb", + engine="mysql", + engine_version="5.7", + instance_class="db.t3.micro", + manage_master_user_password=True, + parameter_group_name="default.mysql5.7", + username="foo") + ``` + ### Managed Master Passwords via Secrets Manager, specific KMS Key + + > More information about RDS/Aurora Aurora integrates with Secrets Manager to manage master user passwords for your DB clusters can be found in the [RDS User Guide](https://aws.amazon.com/about-aws/whats-new/2022/12/amazon-rds-integration-aws-secrets-manager/) and [Aurora User Guide](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/rds-secrets-manager.html). + + You can specify the `master_user_secret_kms_key_id` attribute to specify a specific KMS Key. + + ```python + import pulumi + import pulumi_aws as aws + + example = aws.kms.Key("example", description="Example KMS Key") + default = aws.rds.Instance("default", + allocated_storage=10, + db_name="mydb", + engine="mysql", + engine_version="5.7", + instance_class="db.t3.micro", + manage_master_user_password=True, + master_user_secret_kms_key_id=example.key_id, + username="foo", + parameter_group_name="default.mysql5.7") + ``` ## Import @@ -2696,6 +2820,8 @@ def __init__(__self__, Maintenance Window docs](http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_UpgradeDBInstance.Maintenance.html#AdjustingTheMaintenanceWindow) for more information. + :param pulumi.Input[bool] manage_master_user_password: Set to true to allow RDS to manage the master user password in Secrets Manager. Cannot be set if `password` is provided. + :param pulumi.Input[str] master_user_secret_kms_key_id: The Amazon Web Services KMS key identifier is the key ARN, key ID, alias ARN, or alias name for the KMS key. To use a KMS key in a different Amazon Web Services account, specify the key ARN or alias ARN. If not specified, the default KMS key for your Amazon Web Services account is used. :param pulumi.Input[int] max_allocated_storage: When configured, the upper limit to which Amazon RDS can automatically scale the storage of the DB instance. Configuring this will automatically ignore differences to `allocated_storage`. Must be greater than or equal to `allocated_storage` or `0` to disable Storage Autoscaling. :param pulumi.Input[int] monitoring_interval: The interval, in seconds, between points when Enhanced Monitoring metrics are collected for the DB instance. To disable @@ -2714,9 +2840,9 @@ def __init__(__self__, :param pulumi.Input[str] option_group_name: Name of the DB option group to associate. :param pulumi.Input[str] parameter_group_name: Name of the DB parameter group to associate. - :param pulumi.Input[str] password: (Required unless a `snapshot_identifier` or `replicate_source_db` - is provided) Password for the master DB user. Note that this may show up in - logs, and it will be stored in the state file. + :param pulumi.Input[str] password: (Required unless `manage_master_user_password` is set to true or unless a `snapshot_identifier` or `replicate_source_db` + is provided or `manage_master_user_password` is set.) Password for the master DB user. Note that this may show up in + logs, and it will be stored in the state file. Cannot be set if `manage_master_user_password` is set to `true`. :param pulumi.Input[bool] performance_insights_enabled: Specifies whether Performance Insights are enabled. Defaults to false. :param pulumi.Input[str] performance_insights_kms_key_id: The ARN for the KMS key to encrypt Performance Insights data. When specifying `performance_insights_kms_key_id`, `performance_insights_enabled` needs to be set to true. Once KMS key is set, it can never be changed. :param pulumi.Input[int] performance_insights_retention_period: Amount of time in days to retain Performance Insights data. Valid values are `7`, `731` (2 years) or a multiple of `31`. When specifying `performance_insights_retention_period`, `performance_insights_enabled` needs to be set to true. Defaults to '7'. @@ -2840,6 +2966,48 @@ def __init__(__self__, allocated_storage=50, max_allocated_storage=100) ``` + ### Managed Master Passwords via Secrets Manager, default KMS Key + + > More information about RDS/Aurora Aurora integrates with Secrets Manager to manage master user passwords for your DB clusters can be found in the [RDS User Guide](https://aws.amazon.com/about-aws/whats-new/2022/12/amazon-rds-integration-aws-secrets-manager/) and [Aurora User Guide](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/rds-secrets-manager.html). + + You can specify the `manage_master_user_password` attribute to enable managing the master password with Secrets Manager. You can also update an existing cluster to use Secrets Manager by specify the `manage_master_user_password` attribute and removing the `password` attribute (removal is required). + + ```python + import pulumi + import pulumi_aws as aws + + default = aws.rds.Instance("default", + allocated_storage=10, + db_name="mydb", + engine="mysql", + engine_version="5.7", + instance_class="db.t3.micro", + manage_master_user_password=True, + parameter_group_name="default.mysql5.7", + username="foo") + ``` + ### Managed Master Passwords via Secrets Manager, specific KMS Key + + > More information about RDS/Aurora Aurora integrates with Secrets Manager to manage master user passwords for your DB clusters can be found in the [RDS User Guide](https://aws.amazon.com/about-aws/whats-new/2022/12/amazon-rds-integration-aws-secrets-manager/) and [Aurora User Guide](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/rds-secrets-manager.html). + + You can specify the `master_user_secret_kms_key_id` attribute to specify a specific KMS Key. + + ```python + import pulumi + import pulumi_aws as aws + + example = aws.kms.Key("example", description="Example KMS Key") + default = aws.rds.Instance("default", + allocated_storage=10, + db_name="mydb", + engine="mysql", + engine_version="5.7", + instance_class="db.t3.micro", + manage_master_user_password=True, + master_user_secret_kms_key_id=example.key_id, + username="foo", + parameter_group_name="default.mysql5.7") + ``` ## Import @@ -2895,6 +3063,8 @@ def _internal_init(__self__, kms_key_id: Optional[pulumi.Input[str]] = None, license_model: Optional[pulumi.Input[str]] = None, maintenance_window: Optional[pulumi.Input[str]] = None, + manage_master_user_password: Optional[pulumi.Input[bool]] = None, + master_user_secret_kms_key_id: Optional[pulumi.Input[str]] = None, max_allocated_storage: Optional[pulumi.Input[int]] = None, monitoring_interval: Optional[pulumi.Input[int]] = None, monitoring_role_arn: Optional[pulumi.Input[str]] = None, @@ -2966,6 +3136,8 @@ def _internal_init(__self__, __props__.__dict__["kms_key_id"] = kms_key_id __props__.__dict__["license_model"] = license_model __props__.__dict__["maintenance_window"] = maintenance_window + __props__.__dict__["manage_master_user_password"] = manage_master_user_password + __props__.__dict__["master_user_secret_kms_key_id"] = master_user_secret_kms_key_id __props__.__dict__["max_allocated_storage"] = max_allocated_storage __props__.__dict__["monitoring_interval"] = monitoring_interval __props__.__dict__["monitoring_role_arn"] = monitoring_role_arn @@ -3005,6 +3177,7 @@ def _internal_init(__self__, __props__.__dict__["hosted_zone_id"] = None __props__.__dict__["latest_restorable_time"] = None __props__.__dict__["listener_endpoints"] = None + __props__.__dict__["master_user_secrets"] = None __props__.__dict__["replicas"] = None __props__.__dict__["resource_id"] = None __props__.__dict__["status"] = None @@ -3059,6 +3232,9 @@ def get(resource_name: str, license_model: Optional[pulumi.Input[str]] = None, listener_endpoints: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['InstanceListenerEndpointArgs']]]]] = None, maintenance_window: Optional[pulumi.Input[str]] = None, + manage_master_user_password: Optional[pulumi.Input[bool]] = None, + master_user_secret_kms_key_id: Optional[pulumi.Input[str]] = None, + master_user_secrets: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['InstanceMasterUserSecretArgs']]]]] = None, max_allocated_storage: Optional[pulumi.Input[int]] = None, monitoring_interval: Optional[pulumi.Input[int]] = None, monitoring_role_arn: Optional[pulumi.Input[str]] = None, @@ -3183,6 +3359,9 @@ def get(resource_name: str, Maintenance Window docs](http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_UpgradeDBInstance.Maintenance.html#AdjustingTheMaintenanceWindow) for more information. + :param pulumi.Input[bool] manage_master_user_password: Set to true to allow RDS to manage the master user password in Secrets Manager. Cannot be set if `password` is provided. + :param pulumi.Input[str] master_user_secret_kms_key_id: The Amazon Web Services KMS key identifier is the key ARN, key ID, alias ARN, or alias name for the KMS key. To use a KMS key in a different Amazon Web Services account, specify the key ARN or alias ARN. If not specified, the default KMS key for your Amazon Web Services account is used. + :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['InstanceMasterUserSecretArgs']]]] master_user_secrets: A block that specifies the master user secret. Only available when `manage_master_user_password` is set to true. Documented below. :param pulumi.Input[int] max_allocated_storage: When configured, the upper limit to which Amazon RDS can automatically scale the storage of the DB instance. Configuring this will automatically ignore differences to `allocated_storage`. Must be greater than or equal to `allocated_storage` or `0` to disable Storage Autoscaling. :param pulumi.Input[int] monitoring_interval: The interval, in seconds, between points when Enhanced Monitoring metrics are collected for the DB instance. To disable @@ -3201,9 +3380,9 @@ def get(resource_name: str, :param pulumi.Input[str] option_group_name: Name of the DB option group to associate. :param pulumi.Input[str] parameter_group_name: Name of the DB parameter group to associate. - :param pulumi.Input[str] password: (Required unless a `snapshot_identifier` or `replicate_source_db` - is provided) Password for the master DB user. Note that this may show up in - logs, and it will be stored in the state file. + :param pulumi.Input[str] password: (Required unless `manage_master_user_password` is set to true or unless a `snapshot_identifier` or `replicate_source_db` + is provided or `manage_master_user_password` is set.) Password for the master DB user. Note that this may show up in + logs, and it will be stored in the state file. Cannot be set if `manage_master_user_password` is set to `true`. :param pulumi.Input[bool] performance_insights_enabled: Specifies whether Performance Insights are enabled. Defaults to false. :param pulumi.Input[str] performance_insights_kms_key_id: The ARN for the KMS key to encrypt Performance Insights data. When specifying `performance_insights_kms_key_id`, `performance_insights_enabled` needs to be set to true. Once KMS key is set, it can never be changed. :param pulumi.Input[int] performance_insights_retention_period: Amount of time in days to retain Performance Insights data. Valid values are `7`, `731` (2 years) or a multiple of `31`. When specifying `performance_insights_retention_period`, `performance_insights_enabled` needs to be set to true. Defaults to '7'. @@ -3299,6 +3478,9 @@ def get(resource_name: str, __props__.__dict__["license_model"] = license_model __props__.__dict__["listener_endpoints"] = listener_endpoints __props__.__dict__["maintenance_window"] = maintenance_window + __props__.__dict__["manage_master_user_password"] = manage_master_user_password + __props__.__dict__["master_user_secret_kms_key_id"] = master_user_secret_kms_key_id + __props__.__dict__["master_user_secrets"] = master_user_secrets __props__.__dict__["max_allocated_storage"] = max_allocated_storage __props__.__dict__["monitoring_interval"] = monitoring_interval __props__.__dict__["monitoring_role_arn"] = monitoring_role_arn @@ -3684,6 +3866,30 @@ def maintenance_window(self) -> pulumi.Output[str]: """ return pulumi.get(self, "maintenance_window") + @property + @pulumi.getter(name="manageMasterUserPassword") + def manage_master_user_password(self) -> pulumi.Output[Optional[bool]]: + """ + Set to true to allow RDS to manage the master user password in Secrets Manager. Cannot be set if `password` is provided. + """ + return pulumi.get(self, "manage_master_user_password") + + @property + @pulumi.getter(name="masterUserSecretKmsKeyId") + def master_user_secret_kms_key_id(self) -> pulumi.Output[str]: + """ + The Amazon Web Services KMS key identifier is the key ARN, key ID, alias ARN, or alias name for the KMS key. To use a KMS key in a different Amazon Web Services account, specify the key ARN or alias ARN. If not specified, the default KMS key for your Amazon Web Services account is used. + """ + return pulumi.get(self, "master_user_secret_kms_key_id") + + @property + @pulumi.getter(name="masterUserSecrets") + def master_user_secrets(self) -> pulumi.Output[Sequence['outputs.InstanceMasterUserSecret']]: + """ + A block that specifies the master user secret. Only available when `manage_master_user_password` is set to true. Documented below. + """ + return pulumi.get(self, "master_user_secrets") + @property @pulumi.getter(name="maxAllocatedStorage") def max_allocated_storage(self) -> pulumi.Output[Optional[int]]: @@ -3769,9 +3975,9 @@ def parameter_group_name(self) -> pulumi.Output[str]: @pulumi.getter def password(self) -> pulumi.Output[Optional[str]]: """ - (Required unless a `snapshot_identifier` or `replicate_source_db` - is provided) Password for the master DB user. Note that this may show up in - logs, and it will be stored in the state file. + (Required unless `manage_master_user_password` is set to true or unless a `snapshot_identifier` or `replicate_source_db` + is provided or `manage_master_user_password` is set.) Password for the master DB user. Note that this may show up in + logs, and it will be stored in the state file. Cannot be set if `manage_master_user_password` is set to `true`. """ return pulumi.get(self, "password") diff --git a/sdk/python/pulumi_aws/rds/outputs.py b/sdk/python/pulumi_aws/rds/outputs.py index 110d5cba1e3..cdc4c36bf11 100644 --- a/sdk/python/pulumi_aws/rds/outputs.py +++ b/sdk/python/pulumi_aws/rds/outputs.py @@ -12,6 +12,7 @@ from ._enums import * __all__ = [ + 'ClusterMasterUserSecret', 'ClusterParameterGroupParameter', 'ClusterRestoreToPointInTime', 'ClusterS3Import', @@ -20,6 +21,7 @@ 'GlobalClusterGlobalClusterMember', 'InstanceBlueGreenUpdate', 'InstanceListenerEndpoint', + 'InstanceMasterUserSecret', 'InstanceRestoreToPointInTime', 'InstanceS3Import', 'OptionGroupOption', @@ -29,12 +31,78 @@ 'ProxyDefaultTargetGroupConnectionPoolConfig', 'ReservedInstanceRecurringCharge', 'SecurityGroupIngress', + 'GetClusterMasterUserSecretResult', 'GetClustersFilterResult', 'GetEngineVersionFilterResult', + 'GetInstanceMasterUserSecretResult', 'GetInstancesFilterResult', 'GetProxyAuthResult', ] +@pulumi.output_type +class ClusterMasterUserSecret(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "kmsKeyId": + suggest = "kms_key_id" + elif key == "secretArn": + suggest = "secret_arn" + elif key == "secretStatus": + suggest = "secret_status" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in ClusterMasterUserSecret. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + ClusterMasterUserSecret.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + ClusterMasterUserSecret.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + kms_key_id: Optional[str] = None, + secret_arn: Optional[str] = None, + secret_status: Optional[str] = None): + """ + :param str kms_key_id: The ARN for the KMS encryption key. When specifying `kms_key_id`, `storage_encrypted` needs to be set to true. + :param str secret_arn: The Amazon Resource Name (ARN) of the secret. + :param str secret_status: The status of the secret. Valid Values: `creating` | `active` | `rotating` | `impaired`. + """ + if kms_key_id is not None: + pulumi.set(__self__, "kms_key_id", kms_key_id) + if secret_arn is not None: + pulumi.set(__self__, "secret_arn", secret_arn) + if secret_status is not None: + pulumi.set(__self__, "secret_status", secret_status) + + @property + @pulumi.getter(name="kmsKeyId") + def kms_key_id(self) -> Optional[str]: + """ + The ARN for the KMS encryption key. When specifying `kms_key_id`, `storage_encrypted` needs to be set to true. + """ + return pulumi.get(self, "kms_key_id") + + @property + @pulumi.getter(name="secretArn") + def secret_arn(self) -> Optional[str]: + """ + The Amazon Resource Name (ARN) of the secret. + """ + return pulumi.get(self, "secret_arn") + + @property + @pulumi.getter(name="secretStatus") + def secret_status(self) -> Optional[str]: + """ + The status of the secret. Valid Values: `creating` | `active` | `rotating` | `impaired`. + """ + return pulumi.get(self, "secret_status") + + @pulumi.output_type class ClusterParameterGroupParameter(dict): @staticmethod @@ -535,6 +603,72 @@ def port(self) -> Optional[int]: return pulumi.get(self, "port") +@pulumi.output_type +class InstanceMasterUserSecret(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "kmsKeyId": + suggest = "kms_key_id" + elif key == "secretArn": + suggest = "secret_arn" + elif key == "secretStatus": + suggest = "secret_status" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in InstanceMasterUserSecret. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + InstanceMasterUserSecret.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + InstanceMasterUserSecret.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + kms_key_id: Optional[str] = None, + secret_arn: Optional[str] = None, + secret_status: Optional[str] = None): + """ + :param str kms_key_id: The ARN for the KMS encryption key. If creating an + encrypted replica, set this to the destination KMS ARN. + :param str secret_arn: The Amazon Resource Name (ARN) of the secret. + :param str secret_status: The status of the secret. Valid Values: `creating` | `active` | `rotating` | `impaired`. + """ + if kms_key_id is not None: + pulumi.set(__self__, "kms_key_id", kms_key_id) + if secret_arn is not None: + pulumi.set(__self__, "secret_arn", secret_arn) + if secret_status is not None: + pulumi.set(__self__, "secret_status", secret_status) + + @property + @pulumi.getter(name="kmsKeyId") + def kms_key_id(self) -> Optional[str]: + """ + The ARN for the KMS encryption key. If creating an + encrypted replica, set this to the destination KMS ARN. + """ + return pulumi.get(self, "kms_key_id") + + @property + @pulumi.getter(name="secretArn") + def secret_arn(self) -> Optional[str]: + """ + The Amazon Resource Name (ARN) of the secret. + """ + return pulumi.get(self, "secret_arn") + + @property + @pulumi.getter(name="secretStatus") + def secret_status(self) -> Optional[str]: + """ + The status of the secret. Valid Values: `creating` | `active` | `rotating` | `impaired`. + """ + return pulumi.get(self, "secret_status") + + @pulumi.output_type class InstanceRestoreToPointInTime(dict): @staticmethod @@ -1219,6 +1353,32 @@ def security_group_owner_id(self) -> Optional[str]: return pulumi.get(self, "security_group_owner_id") +@pulumi.output_type +class GetClusterMasterUserSecretResult(dict): + def __init__(__self__, *, + kms_key_id: str, + secret_arn: str, + secret_status: str): + pulumi.set(__self__, "kms_key_id", kms_key_id) + pulumi.set(__self__, "secret_arn", secret_arn) + pulumi.set(__self__, "secret_status", secret_status) + + @property + @pulumi.getter(name="kmsKeyId") + def kms_key_id(self) -> str: + return pulumi.get(self, "kms_key_id") + + @property + @pulumi.getter(name="secretArn") + def secret_arn(self) -> str: + return pulumi.get(self, "secret_arn") + + @property + @pulumi.getter(name="secretStatus") + def secret_status(self) -> str: + return pulumi.get(self, "secret_status") + + @pulumi.output_type class GetClustersFilterResult(dict): def __init__(__self__, *, @@ -1267,6 +1427,46 @@ def values(self) -> Sequence[str]: return pulumi.get(self, "values") +@pulumi.output_type +class GetInstanceMasterUserSecretResult(dict): + def __init__(__self__, *, + kms_key_id: str, + secret_arn: str, + secret_status: str): + """ + :param str kms_key_id: The Amazon Web Services KMS key identifier that is used to encrypt the secret. + :param str secret_arn: The Amazon Resource Name (ARN) of the secret. + :param str secret_status: The status of the secret. Valid Values: `creating` | `active` | `rotating` | `impaired`. + """ + pulumi.set(__self__, "kms_key_id", kms_key_id) + pulumi.set(__self__, "secret_arn", secret_arn) + pulumi.set(__self__, "secret_status", secret_status) + + @property + @pulumi.getter(name="kmsKeyId") + def kms_key_id(self) -> str: + """ + The Amazon Web Services KMS key identifier that is used to encrypt the secret. + """ + return pulumi.get(self, "kms_key_id") + + @property + @pulumi.getter(name="secretArn") + def secret_arn(self) -> str: + """ + The Amazon Resource Name (ARN) of the secret. + """ + return pulumi.get(self, "secret_arn") + + @property + @pulumi.getter(name="secretStatus") + def secret_status(self) -> str: + """ + The status of the secret. Valid Values: `creating` | `active` | `rotating` | `impaired`. + """ + return pulumi.get(self, "secret_status") + + @pulumi.output_type class GetInstancesFilterResult(dict): def __init__(__self__, *, diff --git a/sdk/python/pulumi_aws/route53/health_check.py b/sdk/python/pulumi_aws/route53/health_check.py index bb3c8b244a1..41f38af758a 100644 --- a/sdk/python/pulumi_aws/route53/health_check.py +++ b/sdk/python/pulumi_aws/route53/health_check.py @@ -34,7 +34,8 @@ def __init__(__self__, *, resource_path: Optional[pulumi.Input[str]] = None, routing_control_arn: Optional[pulumi.Input[str]] = None, search_string: Optional[pulumi.Input[str]] = None, - tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None): + tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + tags_all: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None): """ The set of arguments for constructing a HealthCheck resource. :param pulumi.Input[str] type: The protocol to use when performing health checks. Valid values are `HTTP`, `HTTPS`, `HTTP_STR_MATCH`, `HTTPS_STR_MATCH`, `TCP`, `CALCULATED`, `CLOUDWATCH_METRIC` and `RECOVERY_CONTROL`. @@ -62,6 +63,7 @@ def __init__(__self__, *, :param pulumi.Input[str] routing_control_arn: The Amazon Resource Name (ARN) for the Route 53 Application Recovery Controller routing control. This is used when health check type is `RECOVERY_CONTROL` :param pulumi.Input[str] search_string: String searched in the first 5120 bytes of the response body for check to be considered healthy. Only valid with `HTTP_STR_MATCH` and `HTTPS_STR_MATCH`. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: A map of tags to assign to the health check. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags_all: A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. """ pulumi.set(__self__, "type", type) if child_health_threshold is not None: @@ -104,6 +106,8 @@ def __init__(__self__, *, pulumi.set(__self__, "search_string", search_string) if tags is not None: pulumi.set(__self__, "tags", tags) + if tags_all is not None: + pulumi.set(__self__, "tags_all", tags_all) @property @pulumi.getter @@ -361,6 +365,18 @@ def tags(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: def tags(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): pulumi.set(self, "tags", value) + @property + @pulumi.getter(name="tagsAll") + def tags_all(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + """ + A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. + """ + return pulumi.get(self, "tags_all") + + @tags_all.setter + def tags_all(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + pulumi.set(self, "tags_all", value) + @pulumi.input_type class _HealthCheckState: @@ -771,6 +787,7 @@ def __init__(__self__, routing_control_arn: Optional[pulumi.Input[str]] = None, search_string: Optional[pulumi.Input[str]] = None, tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + tags_all: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, type: Optional[pulumi.Input[str]] = None, __props__=None): """ @@ -879,6 +896,7 @@ def __init__(__self__, :param pulumi.Input[str] routing_control_arn: The Amazon Resource Name (ARN) for the Route 53 Application Recovery Controller routing control. This is used when health check type is `RECOVERY_CONTROL` :param pulumi.Input[str] search_string: String searched in the first 5120 bytes of the response body for check to be considered healthy. Only valid with `HTTP_STR_MATCH` and `HTTPS_STR_MATCH`. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: A map of tags to assign to the health check. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags_all: A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. :param pulumi.Input[str] type: The protocol to use when performing health checks. Valid values are `HTTP`, `HTTPS`, `HTTP_STR_MATCH`, `HTTPS_STR_MATCH`, `TCP`, `CALCULATED`, `CLOUDWATCH_METRIC` and `RECOVERY_CONTROL`. """ ... @@ -1002,6 +1020,7 @@ def _internal_init(__self__, routing_control_arn: Optional[pulumi.Input[str]] = None, search_string: Optional[pulumi.Input[str]] = None, tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + tags_all: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, type: Optional[pulumi.Input[str]] = None, __props__=None): opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) @@ -1032,11 +1051,11 @@ def _internal_init(__self__, __props__.__dict__["routing_control_arn"] = routing_control_arn __props__.__dict__["search_string"] = search_string __props__.__dict__["tags"] = tags + __props__.__dict__["tags_all"] = tags_all if type is None and not opts.urn: raise TypeError("Missing required property 'type'") __props__.__dict__["type"] = type __props__.__dict__["arn"] = None - __props__.__dict__["tags_all"] = None super(HealthCheck, __self__).__init__( 'aws:route53/healthCheck:HealthCheck', resource_name, diff --git a/sdk/python/pulumi_aws/route53/zone.py b/sdk/python/pulumi_aws/route53/zone.py index e8f8ef57719..41186d3ea7d 100644 --- a/sdk/python/pulumi_aws/route53/zone.py +++ b/sdk/python/pulumi_aws/route53/zone.py @@ -21,6 +21,7 @@ def __init__(__self__, *, force_destroy: Optional[pulumi.Input[bool]] = None, name: Optional[pulumi.Input[str]] = None, tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + tags_all: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, vpcs: Optional[pulumi.Input[Sequence[pulumi.Input['ZoneVpcArgs']]]] = None): """ The set of arguments for constructing a Zone resource. @@ -29,6 +30,7 @@ def __init__(__self__, *, :param pulumi.Input[bool] force_destroy: Whether to destroy all records (possibly managed outside of this provider) in the zone when destroying the zone. :param pulumi.Input[str] name: This is the name of the hosted zone. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: A mapping of tags to assign to the zone. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags_all: A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. :param pulumi.Input[Sequence[pulumi.Input['ZoneVpcArgs']]] vpcs: Configuration block(s) specifying VPC(s) to associate with a private hosted zone. Conflicts with the `delegation_set_id` argument in this resource and any `route53.ZoneAssociation` resource specifying the same zone ID. Detailed below. """ if comment is None: @@ -43,6 +45,8 @@ def __init__(__self__, *, pulumi.set(__self__, "name", name) if tags is not None: pulumi.set(__self__, "tags", tags) + if tags_all is not None: + pulumi.set(__self__, "tags_all", tags_all) if vpcs is not None: pulumi.set(__self__, "vpcs", vpcs) @@ -106,6 +110,18 @@ def tags(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: def tags(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): pulumi.set(self, "tags", value) + @property + @pulumi.getter(name="tagsAll") + def tags_all(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + """ + A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. + """ + return pulumi.get(self, "tags_all") + + @tags_all.setter + def tags_all(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + pulumi.set(self, "tags_all", value) + @property @pulumi.getter def vpcs(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['ZoneVpcArgs']]]]: @@ -317,6 +333,7 @@ def __init__(__self__, force_destroy: Optional[pulumi.Input[bool]] = None, name: Optional[pulumi.Input[str]] = None, tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + tags_all: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, vpcs: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ZoneVpcArgs']]]]] = None, __props__=None): """ @@ -382,6 +399,7 @@ def __init__(__self__, :param pulumi.Input[bool] force_destroy: Whether to destroy all records (possibly managed outside of this provider) in the zone when destroying the zone. :param pulumi.Input[str] name: This is the name of the hosted zone. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: A mapping of tags to assign to the zone. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags_all: A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ZoneVpcArgs']]]] vpcs: Configuration block(s) specifying VPC(s) to associate with a private hosted zone. Conflicts with the `delegation_set_id` argument in this resource and any `route53.ZoneAssociation` resource specifying the same zone ID. Detailed below. """ ... @@ -466,6 +484,7 @@ def _internal_init(__self__, force_destroy: Optional[pulumi.Input[bool]] = None, name: Optional[pulumi.Input[str]] = None, tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + tags_all: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, vpcs: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ZoneVpcArgs']]]]] = None, __props__=None): opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) @@ -483,11 +502,11 @@ def _internal_init(__self__, __props__.__dict__["force_destroy"] = force_destroy __props__.__dict__["name"] = name __props__.__dict__["tags"] = tags + __props__.__dict__["tags_all"] = tags_all __props__.__dict__["vpcs"] = vpcs __props__.__dict__["arn"] = None __props__.__dict__["name_servers"] = None __props__.__dict__["primary_name_server"] = None - __props__.__dict__["tags_all"] = None __props__.__dict__["zone_id"] = None super(Zone, __self__).__init__( 'aws:route53/zone:Zone', diff --git a/sdk/python/pulumi_aws/s3/bucket_object.py b/sdk/python/pulumi_aws/s3/bucket_object.py index ac1cbfd950a..fe2f0a552f3 100644 --- a/sdk/python/pulumi_aws/s3/bucket_object.py +++ b/sdk/python/pulumi_aws/s3/bucket_object.py @@ -37,6 +37,7 @@ def __init__(__self__, *, source_hash: Optional[pulumi.Input[str]] = None, storage_class: Optional[pulumi.Input[str]] = None, tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + tags_all: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, website_redirect: Optional[pulumi.Input[str]] = None): """ The set of arguments for constructing a BucketObject resource. @@ -63,6 +64,7 @@ def __init__(__self__, *, :param pulumi.Input[str] source_hash: Triggers updates like `etag` but useful to address `etag` encryption limitations. :param pulumi.Input[str] storage_class: [Storage Class](https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObject.html#AmazonS3-PutObject-request-header-StorageClass) for the object. Defaults to "`STANDARD`". :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: Map of tags to assign to the object. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags_all: Map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. :param pulumi.Input[str] website_redirect: Target URL for [website redirect](http://docs.aws.amazon.com/AmazonS3/latest/dev/how-to-page-redirect.html). """ pulumi.set(__self__, "bucket", bucket) @@ -110,6 +112,8 @@ def __init__(__self__, *, pulumi.set(__self__, "storage_class", storage_class) if tags is not None: pulumi.set(__self__, "tags", tags) + if tags_all is not None: + pulumi.set(__self__, "tags_all", tags_all) if website_redirect is not None: pulumi.set(__self__, "website_redirect", website_redirect) @@ -389,6 +393,18 @@ def tags(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: def tags(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): pulumi.set(self, "tags", value) + @property + @pulumi.getter(name="tagsAll") + def tags_all(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + """ + Map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. + """ + return pulumi.get(self, "tags_all") + + @tags_all.setter + def tags_all(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + pulumi.set(self, "tags_all", value) + @property @pulumi.getter(name="websiteRedirect") def website_redirect(self) -> Optional[pulumi.Input[str]]: @@ -854,6 +870,7 @@ def __init__(__self__, source_hash: Optional[pulumi.Input[str]] = None, storage_class: Optional[pulumi.Input[str]] = None, tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + tags_all: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, website_redirect: Optional[pulumi.Input[str]] = None, __props__=None): """ @@ -976,6 +993,7 @@ def __init__(__self__, :param pulumi.Input[str] source_hash: Triggers updates like `etag` but useful to address `etag` encryption limitations. :param pulumi.Input[str] storage_class: [Storage Class](https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObject.html#AmazonS3-PutObject-request-header-StorageClass) for the object. Defaults to "`STANDARD`". :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: Map of tags to assign to the object. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags_all: Map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. :param pulumi.Input[str] website_redirect: Target URL for [website redirect](http://docs.aws.amazon.com/AmazonS3/latest/dev/how-to-page-redirect.html). """ ... @@ -1117,6 +1135,7 @@ def _internal_init(__self__, source_hash: Optional[pulumi.Input[str]] = None, storage_class: Optional[pulumi.Input[str]] = None, tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + tags_all: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, website_redirect: Optional[pulumi.Input[str]] = None, __props__=None): opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) @@ -1152,8 +1171,8 @@ def _internal_init(__self__, __props__.__dict__["source_hash"] = source_hash __props__.__dict__["storage_class"] = storage_class __props__.__dict__["tags"] = tags + __props__.__dict__["tags_all"] = tags_all __props__.__dict__["website_redirect"] = website_redirect - __props__.__dict__["tags_all"] = None __props__.__dict__["version_id"] = None super(BucketObject, __self__).__init__( 'aws:s3/bucketObject:BucketObject', diff --git a/sdk/python/pulumi_aws/s3/bucket_objectv2.py b/sdk/python/pulumi_aws/s3/bucket_objectv2.py index 58ce43de525..54790939fd8 100644 --- a/sdk/python/pulumi_aws/s3/bucket_objectv2.py +++ b/sdk/python/pulumi_aws/s3/bucket_objectv2.py @@ -37,6 +37,7 @@ def __init__(__self__, *, source_hash: Optional[pulumi.Input[str]] = None, storage_class: Optional[pulumi.Input[str]] = None, tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + tags_all: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, website_redirect: Optional[pulumi.Input[str]] = None): """ The set of arguments for constructing a BucketObjectv2 resource. @@ -63,6 +64,7 @@ def __init__(__self__, *, :param pulumi.Input[str] source_hash: Triggers updates like `etag` but useful to address `etag` encryption limitations. (The value is only stored in state and not saved by AWS.) :param pulumi.Input[str] storage_class: [Storage Class](https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObject.html#AmazonS3-PutObject-request-header-StorageClass) for the object. Defaults to "`STANDARD`". :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: Map of tags to assign to the object. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags_all: Map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. :param pulumi.Input[str] website_redirect: Target URL for [website redirect](http://docs.aws.amazon.com/AmazonS3/latest/dev/how-to-page-redirect.html). """ pulumi.set(__self__, "bucket", bucket) @@ -110,6 +112,8 @@ def __init__(__self__, *, pulumi.set(__self__, "storage_class", storage_class) if tags is not None: pulumi.set(__self__, "tags", tags) + if tags_all is not None: + pulumi.set(__self__, "tags_all", tags_all) if website_redirect is not None: pulumi.set(__self__, "website_redirect", website_redirect) @@ -389,6 +393,18 @@ def tags(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: def tags(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): pulumi.set(self, "tags", value) + @property + @pulumi.getter(name="tagsAll") + def tags_all(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + """ + Map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. + """ + return pulumi.get(self, "tags_all") + + @tags_all.setter + def tags_all(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + pulumi.set(self, "tags_all", value) + @property @pulumi.getter(name="websiteRedirect") def website_redirect(self) -> Optional[pulumi.Input[str]]: @@ -854,6 +870,7 @@ def __init__(__self__, source_hash: Optional[pulumi.Input[str]] = None, storage_class: Optional[pulumi.Input[str]] = None, tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + tags_all: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, website_redirect: Optional[pulumi.Input[str]] = None, __props__=None): """ @@ -976,6 +993,7 @@ def __init__(__self__, :param pulumi.Input[str] source_hash: Triggers updates like `etag` but useful to address `etag` encryption limitations. (The value is only stored in state and not saved by AWS.) :param pulumi.Input[str] storage_class: [Storage Class](https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObject.html#AmazonS3-PutObject-request-header-StorageClass) for the object. Defaults to "`STANDARD`". :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: Map of tags to assign to the object. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags_all: Map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. :param pulumi.Input[str] website_redirect: Target URL for [website redirect](http://docs.aws.amazon.com/AmazonS3/latest/dev/how-to-page-redirect.html). """ ... @@ -1117,6 +1135,7 @@ def _internal_init(__self__, source_hash: Optional[pulumi.Input[str]] = None, storage_class: Optional[pulumi.Input[str]] = None, tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + tags_all: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, website_redirect: Optional[pulumi.Input[str]] = None, __props__=None): opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) @@ -1152,8 +1171,8 @@ def _internal_init(__self__, __props__.__dict__["source_hash"] = source_hash __props__.__dict__["storage_class"] = storage_class __props__.__dict__["tags"] = tags + __props__.__dict__["tags_all"] = tags_all __props__.__dict__["website_redirect"] = website_redirect - __props__.__dict__["tags_all"] = None __props__.__dict__["version_id"] = None alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="aws:s3/BucketObject:BucketObject")]) opts = pulumi.ResourceOptions.merge(opts, alias_opts) diff --git a/sdk/python/pulumi_aws/s3/bucket_v2.py b/sdk/python/pulumi_aws/s3/bucket_v2.py index 697e6565529..068b5103146 100644 --- a/sdk/python/pulumi_aws/s3/bucket_v2.py +++ b/sdk/python/pulumi_aws/s3/bucket_v2.py @@ -32,6 +32,7 @@ def __init__(__self__, *, request_payer: Optional[pulumi.Input[str]] = None, server_side_encryption_configurations: Optional[pulumi.Input[Sequence[pulumi.Input['BucketV2ServerSideEncryptionConfigurationArgs']]]] = None, tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + tags_all: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, versionings: Optional[pulumi.Input[Sequence[pulumi.Input['BucketV2VersioningArgs']]]] = None, websites: Optional[pulumi.Input[Sequence[pulumi.Input['BucketV2WebsiteArgs']]]] = None): """ @@ -66,6 +67,7 @@ def __init__(__self__, *, The provider will only perform drift detection if a configuration value is provided. Use the resource `s3.BucketServerSideEncryptionConfigurationV2` instead. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: Map of tags to assign to the bucket. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags_all: Map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. :param pulumi.Input[Sequence[pulumi.Input['BucketV2VersioningArgs']]] versionings: Configuration of the [S3 bucket versioning state](https://docs.aws.amazon.com/AmazonS3/latest/dev/Versioning.html). See Versioning below for details. The provider will only perform drift detection if a configuration value is provided. Use the resource `s3.BucketVersioningV2` instead. :param pulumi.Input[Sequence[pulumi.Input['BucketV2WebsiteArgs']]] websites: Configuration of the [S3 bucket website](https://docs.aws.amazon.com/AmazonS3/latest/userguide/WebsiteHosting.html). See Website below for details. The provider will only perform drift detection if a configuration value is provided. Use the resource `s3.BucketWebsiteConfigurationV2` instead. @@ -135,6 +137,8 @@ def __init__(__self__, *, pulumi.set(__self__, "server_side_encryption_configurations", server_side_encryption_configurations) if tags is not None: pulumi.set(__self__, "tags", tags) + if tags_all is not None: + pulumi.set(__self__, "tags_all", tags_all) if versionings is not None: warnings.warn("""Use the aws_s3_bucket_versioning resource instead""", DeprecationWarning) pulumi.log.warn("""versionings is deprecated: Use the aws_s3_bucket_versioning resource instead""") @@ -352,6 +356,18 @@ def tags(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: def tags(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): pulumi.set(self, "tags", value) + @property + @pulumi.getter(name="tagsAll") + def tags_all(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + """ + Map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. + """ + return pulumi.get(self, "tags_all") + + @tags_all.setter + def tags_all(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + pulumi.set(self, "tags_all", value) + @property @pulumi.getter def versionings(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['BucketV2VersioningArgs']]]]: @@ -898,6 +914,7 @@ def __init__(__self__, request_payer: Optional[pulumi.Input[str]] = None, server_side_encryption_configurations: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['BucketV2ServerSideEncryptionConfigurationArgs']]]]] = None, tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + tags_all: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, versionings: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['BucketV2VersioningArgs']]]]] = None, websites: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['BucketV2WebsiteArgs']]]]] = None, __props__=None): @@ -1266,6 +1283,7 @@ def __init__(__self__, The provider will only perform drift detection if a configuration value is provided. Use the resource `s3.BucketServerSideEncryptionConfigurationV2` instead. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: Map of tags to assign to the bucket. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags_all: Map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['BucketV2VersioningArgs']]]] versionings: Configuration of the [S3 bucket versioning state](https://docs.aws.amazon.com/AmazonS3/latest/dev/Versioning.html). See Versioning below for details. The provider will only perform drift detection if a configuration value is provided. Use the resource `s3.BucketVersioningV2` instead. :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['BucketV2WebsiteArgs']]]] websites: Configuration of the [S3 bucket website](https://docs.aws.amazon.com/AmazonS3/latest/userguide/WebsiteHosting.html). See Website below for details. The provider will only perform drift detection if a configuration value is provided. Use the resource `s3.BucketWebsiteConfigurationV2` instead. @@ -1640,6 +1658,7 @@ def _internal_init(__self__, request_payer: Optional[pulumi.Input[str]] = None, server_side_encryption_configurations: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['BucketV2ServerSideEncryptionConfigurationArgs']]]]] = None, tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + tags_all: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, versionings: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['BucketV2VersioningArgs']]]]] = None, websites: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['BucketV2WebsiteArgs']]]]] = None, __props__=None): @@ -1700,6 +1719,7 @@ def _internal_init(__self__, pulumi.log.warn("""server_side_encryption_configurations is deprecated: Use the aws_s3_bucket_server_side_encryption_configuration resource instead""") __props__.__dict__["server_side_encryption_configurations"] = server_side_encryption_configurations __props__.__dict__["tags"] = tags + __props__.__dict__["tags_all"] = tags_all if versionings is not None and not opts.urn: warnings.warn("""Use the aws_s3_bucket_versioning resource instead""", DeprecationWarning) pulumi.log.warn("""versionings is deprecated: Use the aws_s3_bucket_versioning resource instead""") @@ -1713,7 +1733,6 @@ def _internal_init(__self__, __props__.__dict__["bucket_regional_domain_name"] = None __props__.__dict__["hosted_zone_id"] = None __props__.__dict__["region"] = None - __props__.__dict__["tags_all"] = None __props__.__dict__["website_domain"] = None __props__.__dict__["website_endpoint"] = None alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="aws:s3/bucket:Bucket")]) @@ -1878,7 +1897,7 @@ def bucket_domain_name(self) -> pulumi.Output[str]: @property @pulumi.getter(name="bucketPrefix") - def bucket_prefix(self) -> pulumi.Output[Optional[str]]: + def bucket_prefix(self) -> pulumi.Output[str]: """ Creates a unique bucket name beginning with the specified prefix. Conflicts with `bucket`. Must be lowercase and less than or equal to 37 characters in length. A full list of bucket naming rules [may be found here](https://docs.aws.amazon.com/AmazonS3/latest/userguide/bucketnamingrules.html). """ diff --git a/sdk/python/pulumi_aws/s3/object_copy.py b/sdk/python/pulumi_aws/s3/object_copy.py index 00512401b0b..9c739cdd14f 100644 --- a/sdk/python/pulumi_aws/s3/object_copy.py +++ b/sdk/python/pulumi_aws/s3/object_copy.py @@ -53,6 +53,7 @@ def __init__(__self__, *, storage_class: Optional[pulumi.Input[str]] = None, tagging_directive: Optional[pulumi.Input[str]] = None, tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + tags_all: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, website_redirect: Optional[pulumi.Input[str]] = None): """ The set of arguments for constructing a ObjectCopy resource. @@ -92,6 +93,7 @@ def __init__(__self__, *, :param pulumi.Input[str] storage_class: Specifies the desired [storage class](https://docs.aws.amazon.com/AmazonS3/latest/API/API_CopyObject.html#AmazonS3-CopyObject-request-header-StorageClass) for the object. Defaults to `STANDARD`. :param pulumi.Input[str] tagging_directive: Specifies whether the object tag-set are copied from the source object or replaced with tag-set provided in the request. Valid values are `COPY` and `REPLACE`. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: Map of tags to assign to the object. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags_all: Map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. :param pulumi.Input[str] website_redirect: Specifies a target URL for [website redirect](http://docs.aws.amazon.com/AmazonS3/latest/dev/how-to-page-redirect.html). """ pulumi.set(__self__, "bucket", bucket) @@ -165,6 +167,8 @@ def __init__(__self__, *, pulumi.set(__self__, "tagging_directive", tagging_directive) if tags is not None: pulumi.set(__self__, "tags", tags) + if tags_all is not None: + pulumi.set(__self__, "tags_all", tags_all) if website_redirect is not None: pulumi.set(__self__, "website_redirect", website_redirect) @@ -609,6 +613,18 @@ def tags(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: def tags(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): pulumi.set(self, "tags", value) + @property + @pulumi.getter(name="tagsAll") + def tags_all(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + """ + Map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. + """ + return pulumi.get(self, "tags_all") + + @tags_all.setter + def tags_all(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + pulumi.set(self, "tags_all", value) + @property @pulumi.getter(name="websiteRedirect") def website_redirect(self) -> Optional[pulumi.Input[str]]: @@ -1388,6 +1404,7 @@ def __init__(__self__, storage_class: Optional[pulumi.Input[str]] = None, tagging_directive: Optional[pulumi.Input[str]] = None, tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + tags_all: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, website_redirect: Optional[pulumi.Input[str]] = None, __props__=None): """ @@ -1448,6 +1465,7 @@ def __init__(__self__, :param pulumi.Input[str] storage_class: Specifies the desired [storage class](https://docs.aws.amazon.com/AmazonS3/latest/API/API_CopyObject.html#AmazonS3-CopyObject-request-header-StorageClass) for the object. Defaults to `STANDARD`. :param pulumi.Input[str] tagging_directive: Specifies whether the object tag-set are copied from the source object or replaced with tag-set provided in the request. Valid values are `COPY` and `REPLACE`. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: Map of tags to assign to the object. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags_all: Map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. :param pulumi.Input[str] website_redirect: Specifies a target URL for [website redirect](http://docs.aws.amazon.com/AmazonS3/latest/dev/how-to-page-redirect.html). """ ... @@ -1528,6 +1546,7 @@ def _internal_init(__self__, storage_class: Optional[pulumi.Input[str]] = None, tagging_directive: Optional[pulumi.Input[str]] = None, tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + tags_all: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, website_redirect: Optional[pulumi.Input[str]] = None, __props__=None): opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) @@ -1581,13 +1600,13 @@ def _internal_init(__self__, __props__.__dict__["storage_class"] = storage_class __props__.__dict__["tagging_directive"] = tagging_directive __props__.__dict__["tags"] = tags + __props__.__dict__["tags_all"] = tags_all __props__.__dict__["website_redirect"] = website_redirect __props__.__dict__["etag"] = None __props__.__dict__["expiration"] = None __props__.__dict__["last_modified"] = None __props__.__dict__["request_charged"] = None __props__.__dict__["source_version_id"] = None - __props__.__dict__["tags_all"] = None __props__.__dict__["version_id"] = None secret_opts = pulumi.ResourceOptions(additional_secret_outputs=["customerKey", "kmsEncryptionContext", "kmsKeyId", "sourceCustomerKey"]) opts = pulumi.ResourceOptions.merge(opts, secret_opts) diff --git a/sdk/python/pulumi_aws/sagemaker/_inputs.py b/sdk/python/pulumi_aws/sagemaker/_inputs.py index 1caebf54d40..fde132aa341 100644 --- a/sdk/python/pulumi_aws/sagemaker/_inputs.py +++ b/sdk/python/pulumi_aws/sagemaker/_inputs.py @@ -2082,6 +2082,7 @@ def __init__(__self__, *, accelerator_type: Optional[pulumi.Input[str]] = None, container_startup_health_check_timeout_in_seconds: Optional[pulumi.Input[int]] = None, core_dump_config: Optional[pulumi.Input['EndpointConfigurationProductionVariantCoreDumpConfigArgs']] = None, + enable_ssm_access: Optional[pulumi.Input[bool]] = None, initial_instance_count: Optional[pulumi.Input[int]] = None, initial_variant_weight: Optional[pulumi.Input[float]] = None, instance_type: Optional[pulumi.Input[str]] = None, @@ -2094,6 +2095,7 @@ def __init__(__self__, *, :param pulumi.Input[str] accelerator_type: The size of the Elastic Inference (EI) instance to use for the production variant. :param pulumi.Input[int] container_startup_health_check_timeout_in_seconds: The timeout value, in seconds, for your inference container to pass health check by SageMaker Hosting. For more information about health check, see [How Your Container Should Respond to Health Check (Ping) Requests](https://docs.aws.amazon.com/sagemaker/latest/dg/your-algorithms-inference-code.html#your-algorithms-inference-algo-ping-requests). Valid values between `60` and `3600`. :param pulumi.Input['EndpointConfigurationProductionVariantCoreDumpConfigArgs'] core_dump_config: Specifies configuration for a core dump from the model container when the process crashes. Fields are documented below. + :param pulumi.Input[bool] enable_ssm_access: You can use this parameter to turn on native Amazon Web Services Systems Manager (SSM) access for a production variant behind an endpoint. By default, SSM access is disabled for all production variants behind an endpoints. :param pulumi.Input[int] initial_instance_count: Initial number of instances used for auto-scaling. :param pulumi.Input[float] initial_variant_weight: Determines initial traffic distribution among all of the models that you specify in the endpoint configuration. If unspecified, it defaults to `1.0`. :param pulumi.Input[str] instance_type: The type of instance to start. @@ -2109,6 +2111,8 @@ def __init__(__self__, *, pulumi.set(__self__, "container_startup_health_check_timeout_in_seconds", container_startup_health_check_timeout_in_seconds) if core_dump_config is not None: pulumi.set(__self__, "core_dump_config", core_dump_config) + if enable_ssm_access is not None: + pulumi.set(__self__, "enable_ssm_access", enable_ssm_access) if initial_instance_count is not None: pulumi.set(__self__, "initial_instance_count", initial_instance_count) if initial_variant_weight is not None: @@ -2172,6 +2176,18 @@ def core_dump_config(self) -> Optional[pulumi.Input['EndpointConfigurationProduc def core_dump_config(self, value: Optional[pulumi.Input['EndpointConfigurationProductionVariantCoreDumpConfigArgs']]): pulumi.set(self, "core_dump_config", value) + @property + @pulumi.getter(name="enableSsmAccess") + def enable_ssm_access(self) -> Optional[pulumi.Input[bool]]: + """ + You can use this parameter to turn on native Amazon Web Services Systems Manager (SSM) access for a production variant behind an endpoint. By default, SSM access is disabled for all production variants behind an endpoints. + """ + return pulumi.get(self, "enable_ssm_access") + + @enable_ssm_access.setter + def enable_ssm_access(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "enable_ssm_access", value) + @property @pulumi.getter(name="initialInstanceCount") def initial_instance_count(self) -> Optional[pulumi.Input[int]]: @@ -2339,6 +2355,7 @@ def __init__(__self__, *, accelerator_type: Optional[pulumi.Input[str]] = None, container_startup_health_check_timeout_in_seconds: Optional[pulumi.Input[int]] = None, core_dump_config: Optional[pulumi.Input['EndpointConfigurationShadowProductionVariantCoreDumpConfigArgs']] = None, + enable_ssm_access: Optional[pulumi.Input[bool]] = None, initial_instance_count: Optional[pulumi.Input[int]] = None, initial_variant_weight: Optional[pulumi.Input[float]] = None, instance_type: Optional[pulumi.Input[str]] = None, @@ -2351,6 +2368,7 @@ def __init__(__self__, *, :param pulumi.Input[str] accelerator_type: The size of the Elastic Inference (EI) instance to use for the production variant. :param pulumi.Input[int] container_startup_health_check_timeout_in_seconds: The timeout value, in seconds, for your inference container to pass health check by SageMaker Hosting. For more information about health check, see [How Your Container Should Respond to Health Check (Ping) Requests](https://docs.aws.amazon.com/sagemaker/latest/dg/your-algorithms-inference-code.html#your-algorithms-inference-algo-ping-requests). Valid values between `60` and `3600`. :param pulumi.Input['EndpointConfigurationShadowProductionVariantCoreDumpConfigArgs'] core_dump_config: Specifies configuration for a core dump from the model container when the process crashes. Fields are documented below. + :param pulumi.Input[bool] enable_ssm_access: You can use this parameter to turn on native Amazon Web Services Systems Manager (SSM) access for a production variant behind an endpoint. By default, SSM access is disabled for all production variants behind an endpoints. :param pulumi.Input[int] initial_instance_count: Initial number of instances used for auto-scaling. :param pulumi.Input[float] initial_variant_weight: Determines initial traffic distribution among all of the models that you specify in the endpoint configuration. If unspecified, it defaults to `1.0`. :param pulumi.Input[str] instance_type: The type of instance to start. @@ -2366,6 +2384,8 @@ def __init__(__self__, *, pulumi.set(__self__, "container_startup_health_check_timeout_in_seconds", container_startup_health_check_timeout_in_seconds) if core_dump_config is not None: pulumi.set(__self__, "core_dump_config", core_dump_config) + if enable_ssm_access is not None: + pulumi.set(__self__, "enable_ssm_access", enable_ssm_access) if initial_instance_count is not None: pulumi.set(__self__, "initial_instance_count", initial_instance_count) if initial_variant_weight is not None: @@ -2429,6 +2449,18 @@ def core_dump_config(self) -> Optional[pulumi.Input['EndpointConfigurationShadow def core_dump_config(self, value: Optional[pulumi.Input['EndpointConfigurationShadowProductionVariantCoreDumpConfigArgs']]): pulumi.set(self, "core_dump_config", value) + @property + @pulumi.getter(name="enableSsmAccess") + def enable_ssm_access(self) -> Optional[pulumi.Input[bool]]: + """ + You can use this parameter to turn on native Amazon Web Services Systems Manager (SSM) access for a production variant behind an endpoint. By default, SSM access is disabled for all production variants behind an endpoints. + """ + return pulumi.get(self, "enable_ssm_access") + + @enable_ssm_access.setter + def enable_ssm_access(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "enable_ssm_access", value) + @property @pulumi.getter(name="initialInstanceCount") def initial_instance_count(self) -> Optional[pulumi.Input[int]]: diff --git a/sdk/python/pulumi_aws/sagemaker/outputs.py b/sdk/python/pulumi_aws/sagemaker/outputs.py index d5b627d1200..dab1524ccce 100644 --- a/sdk/python/pulumi_aws/sagemaker/outputs.py +++ b/sdk/python/pulumi_aws/sagemaker/outputs.py @@ -2437,6 +2437,8 @@ def __key_warning(key: str): suggest = "container_startup_health_check_timeout_in_seconds" elif key == "coreDumpConfig": suggest = "core_dump_config" + elif key == "enableSsmAccess": + suggest = "enable_ssm_access" elif key == "initialInstanceCount": suggest = "initial_instance_count" elif key == "initialVariantWeight": @@ -2468,6 +2470,7 @@ def __init__(__self__, *, accelerator_type: Optional[str] = None, container_startup_health_check_timeout_in_seconds: Optional[int] = None, core_dump_config: Optional['outputs.EndpointConfigurationProductionVariantCoreDumpConfig'] = None, + enable_ssm_access: Optional[bool] = None, initial_instance_count: Optional[int] = None, initial_variant_weight: Optional[float] = None, instance_type: Optional[str] = None, @@ -2480,6 +2483,7 @@ def __init__(__self__, *, :param str accelerator_type: The size of the Elastic Inference (EI) instance to use for the production variant. :param int container_startup_health_check_timeout_in_seconds: The timeout value, in seconds, for your inference container to pass health check by SageMaker Hosting. For more information about health check, see [How Your Container Should Respond to Health Check (Ping) Requests](https://docs.aws.amazon.com/sagemaker/latest/dg/your-algorithms-inference-code.html#your-algorithms-inference-algo-ping-requests). Valid values between `60` and `3600`. :param 'EndpointConfigurationProductionVariantCoreDumpConfigArgs' core_dump_config: Specifies configuration for a core dump from the model container when the process crashes. Fields are documented below. + :param bool enable_ssm_access: You can use this parameter to turn on native Amazon Web Services Systems Manager (SSM) access for a production variant behind an endpoint. By default, SSM access is disabled for all production variants behind an endpoints. :param int initial_instance_count: Initial number of instances used for auto-scaling. :param float initial_variant_weight: Determines initial traffic distribution among all of the models that you specify in the endpoint configuration. If unspecified, it defaults to `1.0`. :param str instance_type: The type of instance to start. @@ -2495,6 +2499,8 @@ def __init__(__self__, *, pulumi.set(__self__, "container_startup_health_check_timeout_in_seconds", container_startup_health_check_timeout_in_seconds) if core_dump_config is not None: pulumi.set(__self__, "core_dump_config", core_dump_config) + if enable_ssm_access is not None: + pulumi.set(__self__, "enable_ssm_access", enable_ssm_access) if initial_instance_count is not None: pulumi.set(__self__, "initial_instance_count", initial_instance_count) if initial_variant_weight is not None: @@ -2542,6 +2548,14 @@ def core_dump_config(self) -> Optional['outputs.EndpointConfigurationProductionV """ return pulumi.get(self, "core_dump_config") + @property + @pulumi.getter(name="enableSsmAccess") + def enable_ssm_access(self) -> Optional[bool]: + """ + You can use this parameter to turn on native Amazon Web Services Systems Manager (SSM) access for a production variant behind an endpoint. By default, SSM access is disabled for all production variants behind an endpoints. + """ + return pulumi.get(self, "enable_ssm_access") + @property @pulumi.getter(name="initialInstanceCount") def initial_instance_count(self) -> Optional[int]: @@ -2709,6 +2723,8 @@ def __key_warning(key: str): suggest = "container_startup_health_check_timeout_in_seconds" elif key == "coreDumpConfig": suggest = "core_dump_config" + elif key == "enableSsmAccess": + suggest = "enable_ssm_access" elif key == "initialInstanceCount": suggest = "initial_instance_count" elif key == "initialVariantWeight": @@ -2740,6 +2756,7 @@ def __init__(__self__, *, accelerator_type: Optional[str] = None, container_startup_health_check_timeout_in_seconds: Optional[int] = None, core_dump_config: Optional['outputs.EndpointConfigurationShadowProductionVariantCoreDumpConfig'] = None, + enable_ssm_access: Optional[bool] = None, initial_instance_count: Optional[int] = None, initial_variant_weight: Optional[float] = None, instance_type: Optional[str] = None, @@ -2752,6 +2769,7 @@ def __init__(__self__, *, :param str accelerator_type: The size of the Elastic Inference (EI) instance to use for the production variant. :param int container_startup_health_check_timeout_in_seconds: The timeout value, in seconds, for your inference container to pass health check by SageMaker Hosting. For more information about health check, see [How Your Container Should Respond to Health Check (Ping) Requests](https://docs.aws.amazon.com/sagemaker/latest/dg/your-algorithms-inference-code.html#your-algorithms-inference-algo-ping-requests). Valid values between `60` and `3600`. :param 'EndpointConfigurationShadowProductionVariantCoreDumpConfigArgs' core_dump_config: Specifies configuration for a core dump from the model container when the process crashes. Fields are documented below. + :param bool enable_ssm_access: You can use this parameter to turn on native Amazon Web Services Systems Manager (SSM) access for a production variant behind an endpoint. By default, SSM access is disabled for all production variants behind an endpoints. :param int initial_instance_count: Initial number of instances used for auto-scaling. :param float initial_variant_weight: Determines initial traffic distribution among all of the models that you specify in the endpoint configuration. If unspecified, it defaults to `1.0`. :param str instance_type: The type of instance to start. @@ -2767,6 +2785,8 @@ def __init__(__self__, *, pulumi.set(__self__, "container_startup_health_check_timeout_in_seconds", container_startup_health_check_timeout_in_seconds) if core_dump_config is not None: pulumi.set(__self__, "core_dump_config", core_dump_config) + if enable_ssm_access is not None: + pulumi.set(__self__, "enable_ssm_access", enable_ssm_access) if initial_instance_count is not None: pulumi.set(__self__, "initial_instance_count", initial_instance_count) if initial_variant_weight is not None: @@ -2814,6 +2834,14 @@ def core_dump_config(self) -> Optional['outputs.EndpointConfigurationShadowProdu """ return pulumi.get(self, "core_dump_config") + @property + @pulumi.getter(name="enableSsmAccess") + def enable_ssm_access(self) -> Optional[bool]: + """ + You can use this parameter to turn on native Amazon Web Services Systems Manager (SSM) access for a production variant behind an endpoint. By default, SSM access is disabled for all production variants behind an endpoints. + """ + return pulumi.get(self, "enable_ssm_access") + @property @pulumi.getter(name="initialInstanceCount") def initial_instance_count(self) -> Optional[int]: diff --git a/sdk/python/pulumi_aws/servicecatalog/portfolio.py b/sdk/python/pulumi_aws/servicecatalog/portfolio.py index dd996b1165a..5661fef44b5 100644 --- a/sdk/python/pulumi_aws/servicecatalog/portfolio.py +++ b/sdk/python/pulumi_aws/servicecatalog/portfolio.py @@ -17,13 +17,15 @@ def __init__(__self__, *, provider_name: pulumi.Input[str], description: Optional[pulumi.Input[str]] = None, name: Optional[pulumi.Input[str]] = None, - tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None): + tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + tags_all: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None): """ The set of arguments for constructing a Portfolio resource. :param pulumi.Input[str] provider_name: Name of the person or organization who owns the portfolio. :param pulumi.Input[str] description: Description of the portfolio :param pulumi.Input[str] name: The name of the portfolio. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: Tags to apply to the connection. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags_all: A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. """ pulumi.set(__self__, "provider_name", provider_name) if description is not None: @@ -32,6 +34,8 @@ def __init__(__self__, *, pulumi.set(__self__, "name", name) if tags is not None: pulumi.set(__self__, "tags", tags) + if tags_all is not None: + pulumi.set(__self__, "tags_all", tags_all) @property @pulumi.getter(name="providerName") @@ -81,6 +85,18 @@ def tags(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: def tags(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): pulumi.set(self, "tags", value) + @property + @pulumi.getter(name="tagsAll") + def tags_all(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + """ + A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. + """ + return pulumi.get(self, "tags_all") + + @tags_all.setter + def tags_all(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + pulumi.set(self, "tags_all", value) + @pulumi.input_type class _PortfolioState: @@ -203,6 +219,7 @@ def __init__(__self__, name: Optional[pulumi.Input[str]] = None, provider_name: Optional[pulumi.Input[str]] = None, tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + tags_all: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, __props__=None): """ Provides a resource to create a Service Catalog Portfolio. @@ -232,6 +249,7 @@ def __init__(__self__, :param pulumi.Input[str] name: The name of the portfolio. :param pulumi.Input[str] provider_name: Name of the person or organization who owns the portfolio. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: Tags to apply to the connection. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags_all: A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. """ ... @overload @@ -280,6 +298,7 @@ def _internal_init(__self__, name: Optional[pulumi.Input[str]] = None, provider_name: Optional[pulumi.Input[str]] = None, tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + tags_all: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, __props__=None): opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) if not isinstance(opts, pulumi.ResourceOptions): @@ -295,9 +314,9 @@ def _internal_init(__self__, raise TypeError("Missing required property 'provider_name'") __props__.__dict__["provider_name"] = provider_name __props__.__dict__["tags"] = tags + __props__.__dict__["tags_all"] = tags_all __props__.__dict__["arn"] = None __props__.__dict__["created_time"] = None - __props__.__dict__["tags_all"] = None super(Portfolio, __self__).__init__( 'aws:servicecatalog/portfolio:Portfolio', resource_name, diff --git a/sdk/python/pulumi_aws/servicecatalog/product.py b/sdk/python/pulumi_aws/servicecatalog/product.py index 8c500fbd4e5..6fd17177612 100644 --- a/sdk/python/pulumi_aws/servicecatalog/product.py +++ b/sdk/python/pulumi_aws/servicecatalog/product.py @@ -26,7 +26,8 @@ def __init__(__self__, *, support_description: Optional[pulumi.Input[str]] = None, support_email: Optional[pulumi.Input[str]] = None, support_url: Optional[pulumi.Input[str]] = None, - tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None): + tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + tags_all: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None): """ The set of arguments for constructing a Product resource. :param pulumi.Input[str] owner: Owner of the product. @@ -40,6 +41,7 @@ def __init__(__self__, *, :param pulumi.Input[str] support_email: Contact email for product support. :param pulumi.Input[str] support_url: Contact URL for product support. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: Tags to apply to the product. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags_all: A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. """ pulumi.set(__self__, "owner", owner) pulumi.set(__self__, "provisioning_artifact_parameters", provisioning_artifact_parameters) @@ -60,6 +62,8 @@ def __init__(__self__, *, pulumi.set(__self__, "support_url", support_url) if tags is not None: pulumi.set(__self__, "tags", tags) + if tags_all is not None: + pulumi.set(__self__, "tags_all", tags_all) @property @pulumi.getter @@ -193,6 +197,18 @@ def tags(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: def tags(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): pulumi.set(self, "tags", value) + @property + @pulumi.getter(name="tagsAll") + def tags_all(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + """ + A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. + """ + return pulumi.get(self, "tags_all") + + @tags_all.setter + def tags_all(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + pulumi.set(self, "tags_all", value) + @pulumi.input_type class _ProductState: @@ -473,6 +489,7 @@ def __init__(__self__, support_email: Optional[pulumi.Input[str]] = None, support_url: Optional[pulumi.Input[str]] = None, tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + tags_all: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, type: Optional[pulumi.Input[str]] = None, __props__=None): """ @@ -520,6 +537,7 @@ def __init__(__self__, :param pulumi.Input[str] support_email: Contact email for product support. :param pulumi.Input[str] support_url: Contact URL for product support. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: Tags to apply to the product. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags_all: A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. :param pulumi.Input[str] type: Type of product. See [AWS Docs](https://docs.aws.amazon.com/servicecatalog/latest/dg/API_CreateProduct.html#API_CreateProduct_RequestSyntax) for valid list of values. """ ... @@ -586,6 +604,7 @@ def _internal_init(__self__, support_email: Optional[pulumi.Input[str]] = None, support_url: Optional[pulumi.Input[str]] = None, tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + tags_all: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, type: Optional[pulumi.Input[str]] = None, __props__=None): opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) @@ -610,6 +629,7 @@ def _internal_init(__self__, __props__.__dict__["support_email"] = support_email __props__.__dict__["support_url"] = support_url __props__.__dict__["tags"] = tags + __props__.__dict__["tags_all"] = tags_all if type is None and not opts.urn: raise TypeError("Missing required property 'type'") __props__.__dict__["type"] = type @@ -617,7 +637,6 @@ def _internal_init(__self__, __props__.__dict__["created_time"] = None __props__.__dict__["has_default_path"] = None __props__.__dict__["status"] = None - __props__.__dict__["tags_all"] = None super(Product, __self__).__init__( 'aws:servicecatalog/product:Product', resource_name, diff --git a/sdk/python/pulumi_aws/servicecatalog/provisioned_product.py b/sdk/python/pulumi_aws/servicecatalog/provisioned_product.py index 012f4a65866..ccb1ae6a487 100644 --- a/sdk/python/pulumi_aws/servicecatalog/provisioned_product.py +++ b/sdk/python/pulumi_aws/servicecatalog/provisioned_product.py @@ -29,7 +29,8 @@ def __init__(__self__, *, provisioning_parameters: Optional[pulumi.Input[Sequence[pulumi.Input['ProvisionedProductProvisioningParameterArgs']]]] = None, retain_physical_resources: Optional[pulumi.Input[bool]] = None, stack_set_provisioning_preferences: Optional[pulumi.Input['ProvisionedProductStackSetProvisioningPreferencesArgs']] = None, - tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None): + tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + tags_all: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None): """ The set of arguments for constructing a ProvisionedProduct resource. :param pulumi.Input[str] accept_language: Language code. Valid values: `en` (English), `jp` (Japanese), `zh` (Chinese). Default value is `en`. @@ -46,6 +47,7 @@ def __init__(__self__, *, :param pulumi.Input[bool] retain_physical_resources: _Only applies to deleting._ Whether to delete the Service Catalog provisioned product but leave the CloudFormation stack, stack set, or the underlying resources of the deleted provisioned product. The default value is `false`. :param pulumi.Input['ProvisionedProductStackSetProvisioningPreferencesArgs'] stack_set_provisioning_preferences: Configuration block with information about the provisioning preferences for a stack set. See details below. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: Tags to apply to the provisioned product. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags_all: Map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. """ if accept_language is not None: pulumi.set(__self__, "accept_language", accept_language) @@ -75,6 +77,8 @@ def __init__(__self__, *, pulumi.set(__self__, "stack_set_provisioning_preferences", stack_set_provisioning_preferences) if tags is not None: pulumi.set(__self__, "tags", tags) + if tags_all is not None: + pulumi.set(__self__, "tags_all", tags_all) @property @pulumi.getter(name="acceptLanguage") @@ -244,6 +248,18 @@ def tags(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: def tags(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): pulumi.set(self, "tags", value) + @property + @pulumi.getter(name="tagsAll") + def tags_all(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + """ + Map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. + """ + return pulumi.get(self, "tags_all") + + @tags_all.setter + def tags_all(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + pulumi.set(self, "tags_all", value) + @pulumi.input_type class _ProvisionedProductState: @@ -688,6 +704,7 @@ def __init__(__self__, retain_physical_resources: Optional[pulumi.Input[bool]] = None, stack_set_provisioning_preferences: Optional[pulumi.Input[pulumi.InputType['ProvisionedProductStackSetProvisioningPreferencesArgs']]] = None, tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + tags_all: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, __props__=None): """ This resource provisions and manages a Service Catalog provisioned product. @@ -743,6 +760,7 @@ def __init__(__self__, :param pulumi.Input[bool] retain_physical_resources: _Only applies to deleting._ Whether to delete the Service Catalog provisioned product but leave the CloudFormation stack, stack set, or the underlying resources of the deleted provisioned product. The default value is `false`. :param pulumi.Input[pulumi.InputType['ProvisionedProductStackSetProvisioningPreferencesArgs']] stack_set_provisioning_preferences: Configuration block with information about the provisioning preferences for a stack set. See details below. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: Tags to apply to the provisioned product. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags_all: Map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. """ ... @overload @@ -817,6 +835,7 @@ def _internal_init(__self__, retain_physical_resources: Optional[pulumi.Input[bool]] = None, stack_set_provisioning_preferences: Optional[pulumi.Input[pulumi.InputType['ProvisionedProductStackSetProvisioningPreferencesArgs']]] = None, tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + tags_all: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, __props__=None): opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) if not isinstance(opts, pulumi.ResourceOptions): @@ -840,6 +859,7 @@ def _internal_init(__self__, __props__.__dict__["retain_physical_resources"] = retain_physical_resources __props__.__dict__["stack_set_provisioning_preferences"] = stack_set_provisioning_preferences __props__.__dict__["tags"] = tags + __props__.__dict__["tags_all"] = tags_all __props__.__dict__["arn"] = None __props__.__dict__["cloudwatch_dashboard_names"] = None __props__.__dict__["created_time"] = None @@ -850,7 +870,6 @@ def _internal_init(__self__, __props__.__dict__["outputs"] = None __props__.__dict__["status"] = None __props__.__dict__["status_message"] = None - __props__.__dict__["tags_all"] = None __props__.__dict__["type"] = None super(ProvisionedProduct, __self__).__init__( 'aws:servicecatalog/provisionedProduct:ProvisionedProduct', diff --git a/sdk/python/pulumi_aws/sns/__init__.py b/sdk/python/pulumi_aws/sns/__init__.py index 0a0e8ef443b..42bef776691 100644 --- a/sdk/python/pulumi_aws/sns/__init__.py +++ b/sdk/python/pulumi_aws/sns/__init__.py @@ -5,6 +5,7 @@ from .. import _utilities import typing # Export this package's modules as members: +from .data_protection_policy import * from .get_topic import * from .platform_application import * from .sms_preferences import * diff --git a/sdk/python/pulumi_aws/sns/data_protection_policy.py b/sdk/python/pulumi_aws/sns/data_protection_policy.py new file mode 100644 index 00000000000..753a1fabf71 --- /dev/null +++ b/sdk/python/pulumi_aws/sns/data_protection_policy.py @@ -0,0 +1,262 @@ +# coding=utf-8 +# *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +from .. import _utilities + +__all__ = ['DataProtectionPolicyArgs', 'DataProtectionPolicy'] + +@pulumi.input_type +class DataProtectionPolicyArgs: + def __init__(__self__, *, + arn: pulumi.Input[str], + policy: pulumi.Input[str]): + """ + The set of arguments for constructing a DataProtectionPolicy resource. + :param pulumi.Input[str] arn: The ARN of the SNS topic + :param pulumi.Input[str] policy: The fully-formed AWS policy as JSON. For more information about building AWS IAM policy documents with this provider, see the AWS IAM Policy Document Guide. + """ + pulumi.set(__self__, "arn", arn) + pulumi.set(__self__, "policy", policy) + + @property + @pulumi.getter + def arn(self) -> pulumi.Input[str]: + """ + The ARN of the SNS topic + """ + return pulumi.get(self, "arn") + + @arn.setter + def arn(self, value: pulumi.Input[str]): + pulumi.set(self, "arn", value) + + @property + @pulumi.getter + def policy(self) -> pulumi.Input[str]: + """ + The fully-formed AWS policy as JSON. For more information about building AWS IAM policy documents with this provider, see the AWS IAM Policy Document Guide. + """ + return pulumi.get(self, "policy") + + @policy.setter + def policy(self, value: pulumi.Input[str]): + pulumi.set(self, "policy", value) + + +@pulumi.input_type +class _DataProtectionPolicyState: + def __init__(__self__, *, + arn: Optional[pulumi.Input[str]] = None, + policy: Optional[pulumi.Input[str]] = None): + """ + Input properties used for looking up and filtering DataProtectionPolicy resources. + :param pulumi.Input[str] arn: The ARN of the SNS topic + :param pulumi.Input[str] policy: The fully-formed AWS policy as JSON. For more information about building AWS IAM policy documents with this provider, see the AWS IAM Policy Document Guide. + """ + if arn is not None: + pulumi.set(__self__, "arn", arn) + if policy is not None: + pulumi.set(__self__, "policy", policy) + + @property + @pulumi.getter + def arn(self) -> Optional[pulumi.Input[str]]: + """ + The ARN of the SNS topic + """ + return pulumi.get(self, "arn") + + @arn.setter + def arn(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "arn", value) + + @property + @pulumi.getter + def policy(self) -> Optional[pulumi.Input[str]]: + """ + The fully-formed AWS policy as JSON. For more information about building AWS IAM policy documents with this provider, see the AWS IAM Policy Document Guide. + """ + return pulumi.get(self, "policy") + + @policy.setter + def policy(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "policy", value) + + +class DataProtectionPolicy(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + arn: Optional[pulumi.Input[str]] = None, + policy: Optional[pulumi.Input[str]] = None, + __props__=None): + """ + Provides an SNS data protection topic policy resource + + ## Example Usage + + ```python + import pulumi + import json + import pulumi_aws as aws + + example_topic = aws.sns.Topic("exampleTopic") + example_data_protection_policy = aws.sns.DataProtectionPolicy("exampleDataProtectionPolicy", + arn=example_topic.arn, + policy=json.dumps({ + "Description": "Example data protection policy", + "Name": "__example_data_protection_policy", + "Statement": [{ + "DataDirection": "Inbound", + "DataIdentifier": ["arn:aws:dataprotection::aws:data-identifier/EmailAddress"], + "Operation": { + "Deny": {}, + }, + "Principal": ["*"], + "Sid": "__deny_statement_11ba9d96", + }], + "Version": "2021-06-01", + })) + ``` + + ## Import + + SNS Data Protection Topic Policy can be imported using the topic ARN, e.g., + + ```sh + $ pulumi import aws:sns/dataProtectionPolicy:DataProtectionPolicy example arn:aws:sns:us-west-2:0123456789012:example + ``` + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[str] arn: The ARN of the SNS topic + :param pulumi.Input[str] policy: The fully-formed AWS policy as JSON. For more information about building AWS IAM policy documents with this provider, see the AWS IAM Policy Document Guide. + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: DataProtectionPolicyArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + Provides an SNS data protection topic policy resource + + ## Example Usage + + ```python + import pulumi + import json + import pulumi_aws as aws + + example_topic = aws.sns.Topic("exampleTopic") + example_data_protection_policy = aws.sns.DataProtectionPolicy("exampleDataProtectionPolicy", + arn=example_topic.arn, + policy=json.dumps({ + "Description": "Example data protection policy", + "Name": "__example_data_protection_policy", + "Statement": [{ + "DataDirection": "Inbound", + "DataIdentifier": ["arn:aws:dataprotection::aws:data-identifier/EmailAddress"], + "Operation": { + "Deny": {}, + }, + "Principal": ["*"], + "Sid": "__deny_statement_11ba9d96", + }], + "Version": "2021-06-01", + })) + ``` + + ## Import + + SNS Data Protection Topic Policy can be imported using the topic ARN, e.g., + + ```sh + $ pulumi import aws:sns/dataProtectionPolicy:DataProtectionPolicy example arn:aws:sns:us-west-2:0123456789012:example + ``` + + :param str resource_name: The name of the resource. + :param DataProtectionPolicyArgs args: The arguments to use to populate this resource's properties. + :param pulumi.ResourceOptions opts: Options for the resource. + """ + ... + def __init__(__self__, resource_name: str, *args, **kwargs): + resource_args, opts = _utilities.get_resource_args_opts(DataProtectionPolicyArgs, pulumi.ResourceOptions, *args, **kwargs) + if resource_args is not None: + __self__._internal_init(resource_name, opts, **resource_args.__dict__) + else: + __self__._internal_init(resource_name, *args, **kwargs) + + def _internal_init(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + arn: Optional[pulumi.Input[str]] = None, + policy: Optional[pulumi.Input[str]] = None, + __props__=None): + opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) + if not isinstance(opts, pulumi.ResourceOptions): + raise TypeError('Expected resource options to be a ResourceOptions instance') + if opts.id is None: + if __props__ is not None: + raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource') + __props__ = DataProtectionPolicyArgs.__new__(DataProtectionPolicyArgs) + + if arn is None and not opts.urn: + raise TypeError("Missing required property 'arn'") + __props__.__dict__["arn"] = arn + if policy is None and not opts.urn: + raise TypeError("Missing required property 'policy'") + __props__.__dict__["policy"] = policy + super(DataProtectionPolicy, __self__).__init__( + 'aws:sns/dataProtectionPolicy:DataProtectionPolicy', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None, + arn: Optional[pulumi.Input[str]] = None, + policy: Optional[pulumi.Input[str]] = None) -> 'DataProtectionPolicy': + """ + Get an existing DataProtectionPolicy resource's state with the given name, id, and optional extra + properties used to qualify the lookup. + + :param str resource_name: The unique name of the resulting resource. + :param pulumi.Input[str] id: The unique provider ID of the resource to lookup. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[str] arn: The ARN of the SNS topic + :param pulumi.Input[str] policy: The fully-formed AWS policy as JSON. For more information about building AWS IAM policy documents with this provider, see the AWS IAM Policy Document Guide. + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = _DataProtectionPolicyState.__new__(_DataProtectionPolicyState) + + __props__.__dict__["arn"] = arn + __props__.__dict__["policy"] = policy + return DataProtectionPolicy(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter + def arn(self) -> pulumi.Output[str]: + """ + The ARN of the SNS topic + """ + return pulumi.get(self, "arn") + + @property + @pulumi.getter + def policy(self) -> pulumi.Output[str]: + """ + The fully-formed AWS policy as JSON. For more information about building AWS IAM policy documents with this provider, see the AWS IAM Policy Document Guide. + """ + return pulumi.get(self, "policy") + diff --git a/sdk/python/pulumi_aws/ssm/activation.py b/sdk/python/pulumi_aws/ssm/activation.py index 40cf14474f1..8e718b5e45d 100644 --- a/sdk/python/pulumi_aws/ssm/activation.py +++ b/sdk/python/pulumi_aws/ssm/activation.py @@ -19,7 +19,8 @@ def __init__(__self__, *, expiration_date: Optional[pulumi.Input[str]] = None, name: Optional[pulumi.Input[str]] = None, registration_limit: Optional[pulumi.Input[int]] = None, - tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None): + tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + tags_all: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None): """ The set of arguments for constructing a Activation resource. :param pulumi.Input[str] iam_role: The IAM Role to attach to the managed instance. @@ -28,6 +29,7 @@ def __init__(__self__, *, :param pulumi.Input[str] name: The default name of the registered managed instance. :param pulumi.Input[int] registration_limit: The maximum number of managed instances you want to register. The default value is 1 instance. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: A map of tags to assign to the object. .If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags_all: A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. """ pulumi.set(__self__, "iam_role", iam_role) if description is not None: @@ -40,6 +42,8 @@ def __init__(__self__, *, pulumi.set(__self__, "registration_limit", registration_limit) if tags is not None: pulumi.set(__self__, "tags", tags) + if tags_all is not None: + pulumi.set(__self__, "tags_all", tags_all) @property @pulumi.getter(name="iamRole") @@ -113,6 +117,18 @@ def tags(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: def tags(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): pulumi.set(self, "tags", value) + @property + @pulumi.getter(name="tagsAll") + def tags_all(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + """ + A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. + """ + return pulumi.get(self, "tags_all") + + @tags_all.setter + def tags_all(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + pulumi.set(self, "tags_all", value) + @pulumi.input_type class _ActivationState: @@ -293,6 +309,7 @@ def __init__(__self__, name: Optional[pulumi.Input[str]] = None, registration_limit: Optional[pulumi.Input[int]] = None, tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + tags_all: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, __props__=None): """ Registers an on-premises server or virtual machine with Amazon EC2 so that it can be managed using Run Command. @@ -338,6 +355,7 @@ def __init__(__self__, :param pulumi.Input[str] name: The default name of the registered managed instance. :param pulumi.Input[int] registration_limit: The maximum number of managed instances you want to register. The default value is 1 instance. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: A map of tags to assign to the object. .If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags_all: A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. """ ... @overload @@ -402,6 +420,7 @@ def _internal_init(__self__, name: Optional[pulumi.Input[str]] = None, registration_limit: Optional[pulumi.Input[int]] = None, tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + tags_all: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, __props__=None): opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) if not isinstance(opts, pulumi.ResourceOptions): @@ -419,10 +438,10 @@ def _internal_init(__self__, __props__.__dict__["name"] = name __props__.__dict__["registration_limit"] = registration_limit __props__.__dict__["tags"] = tags + __props__.__dict__["tags_all"] = tags_all __props__.__dict__["activation_code"] = None __props__.__dict__["expired"] = None __props__.__dict__["registration_count"] = None - __props__.__dict__["tags_all"] = None super(Activation, __self__).__init__( 'aws:ssm/activation:Activation', resource_name, diff --git a/sdk/python/pulumi_aws/ssm/document.py b/sdk/python/pulumi_aws/ssm/document.py index 830f02c70e7..03289057b85 100644 --- a/sdk/python/pulumi_aws/ssm/document.py +++ b/sdk/python/pulumi_aws/ssm/document.py @@ -23,6 +23,7 @@ def __init__(__self__, *, name: Optional[pulumi.Input[str]] = None, permissions: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + tags_all: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, target_type: Optional[pulumi.Input[str]] = None, version_name: Optional[pulumi.Input[str]] = None): """ @@ -34,6 +35,7 @@ def __init__(__self__, *, :param pulumi.Input[str] name: The name of the document. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] permissions: Additional Permissions to attach to the document. See Permissions below for details. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: A map of tags to assign to the object. .If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags_all: A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. :param pulumi.Input[str] target_type: The target type which defines the kinds of resources the document can run on. For example, /AWS::EC2::Instance. For a list of valid resource types, see AWS Resource Types Reference (http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-template-resource-type-ref.html) :param pulumi.Input[str] version_name: A field specifying the version of the artifact you are creating with the document. For example, "Release 12, Update 6". This value is unique across all versions of a document and cannot be changed for an existing document version. """ @@ -49,6 +51,8 @@ def __init__(__self__, *, pulumi.set(__self__, "permissions", permissions) if tags is not None: pulumi.set(__self__, "tags", tags) + if tags_all is not None: + pulumi.set(__self__, "tags_all", tags_all) if target_type is not None: pulumi.set(__self__, "target_type", target_type) if version_name is not None: @@ -138,6 +142,18 @@ def tags(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: def tags(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): pulumi.set(self, "tags", value) + @property + @pulumi.getter(name="tagsAll") + def tags_all(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + """ + A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. + """ + return pulumi.get(self, "tags_all") + + @tags_all.setter + def tags_all(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + pulumi.set(self, "tags_all", value) + @property @pulumi.getter(name="targetType") def target_type(self) -> Optional[pulumi.Input[str]]: @@ -547,6 +563,7 @@ def __init__(__self__, name: Optional[pulumi.Input[str]] = None, permissions: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + tags_all: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, target_type: Optional[pulumi.Input[str]] = None, version_name: Optional[pulumi.Input[str]] = None, __props__=None): @@ -660,6 +677,7 @@ def __init__(__self__, :param pulumi.Input[str] name: The name of the document. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] permissions: Additional Permissions to attach to the document. See Permissions below for details. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: A map of tags to assign to the object. .If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags_all: A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. :param pulumi.Input[str] target_type: The target type which defines the kinds of resources the document can run on. For example, /AWS::EC2::Instance. For a list of valid resource types, see AWS Resource Types Reference (http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-template-resource-type-ref.html) :param pulumi.Input[str] version_name: A field specifying the version of the artifact you are creating with the document. For example, "Release 12, Update 6". This value is unique across all versions of a document and cannot be changed for an existing document version. """ @@ -792,6 +810,7 @@ def _internal_init(__self__, name: Optional[pulumi.Input[str]] = None, permissions: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + tags_all: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, target_type: Optional[pulumi.Input[str]] = None, version_name: Optional[pulumi.Input[str]] = None, __props__=None): @@ -814,6 +833,7 @@ def _internal_init(__self__, __props__.__dict__["name"] = name __props__.__dict__["permissions"] = permissions __props__.__dict__["tags"] = tags + __props__.__dict__["tags_all"] = tags_all __props__.__dict__["target_type"] = target_type __props__.__dict__["version_name"] = version_name __props__.__dict__["arn"] = None @@ -829,7 +849,6 @@ def _internal_init(__self__, __props__.__dict__["platform_types"] = None __props__.__dict__["schema_version"] = None __props__.__dict__["status"] = None - __props__.__dict__["tags_all"] = None super(Document, __self__).__init__( 'aws:ssm/document:Document', resource_name, diff --git a/sdk/python/pulumi_aws/ssm/maintenance_window.py b/sdk/python/pulumi_aws/ssm/maintenance_window.py index 70fcab067be..67b38a233b6 100644 --- a/sdk/python/pulumi_aws/ssm/maintenance_window.py +++ b/sdk/python/pulumi_aws/ssm/maintenance_window.py @@ -25,7 +25,8 @@ def __init__(__self__, *, schedule_offset: Optional[pulumi.Input[int]] = None, schedule_timezone: Optional[pulumi.Input[str]] = None, start_date: Optional[pulumi.Input[str]] = None, - tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None): + tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + tags_all: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None): """ The set of arguments for constructing a MaintenanceWindow resource. :param pulumi.Input[int] cutoff: The number of hours before the end of the Maintenance Window that Systems Manager stops scheduling new tasks for execution. @@ -40,6 +41,7 @@ def __init__(__self__, *, :param pulumi.Input[str] schedule_timezone: Timezone for schedule in [Internet Assigned Numbers Authority (IANA) Time Zone Database format](https://www.iana.org/time-zones). For example: `America/Los_Angeles`, `etc/UTC`, or `Asia/Seoul`. :param pulumi.Input[str] start_date: Timestamp in [ISO-8601 extended format](https://www.iso.org/iso-8601-date-and-time-format.html) when to begin the maintenance window. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: A map of tags to assign to the resource. .If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags_all: A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. """ pulumi.set(__self__, "cutoff", cutoff) pulumi.set(__self__, "duration", duration) @@ -62,6 +64,8 @@ def __init__(__self__, *, pulumi.set(__self__, "start_date", start_date) if tags is not None: pulumi.set(__self__, "tags", tags) + if tags_all is not None: + pulumi.set(__self__, "tags_all", tags_all) @property @pulumi.getter @@ -207,6 +211,18 @@ def tags(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: def tags(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): pulumi.set(self, "tags", value) + @property + @pulumi.getter(name="tagsAll") + def tags_all(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + """ + A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. + """ + return pulumi.get(self, "tags_all") + + @tags_all.setter + def tags_all(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + pulumi.set(self, "tags_all", value) + @pulumi.input_type class _MaintenanceWindowState: @@ -441,6 +457,7 @@ def __init__(__self__, schedule_timezone: Optional[pulumi.Input[str]] = None, start_date: Optional[pulumi.Input[str]] = None, tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + tags_all: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, __props__=None): """ Provides an SSM Maintenance Window resource @@ -481,6 +498,7 @@ def __init__(__self__, :param pulumi.Input[str] schedule_timezone: Timezone for schedule in [Internet Assigned Numbers Authority (IANA) Time Zone Database format](https://www.iana.org/time-zones). For example: `America/Los_Angeles`, `etc/UTC`, or `Asia/Seoul`. :param pulumi.Input[str] start_date: Timestamp in [ISO-8601 extended format](https://www.iso.org/iso-8601-date-and-time-format.html) when to begin the maintenance window. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: A map of tags to assign to the resource. .If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags_all: A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. """ ... @overload @@ -540,6 +558,7 @@ def _internal_init(__self__, schedule_timezone: Optional[pulumi.Input[str]] = None, start_date: Optional[pulumi.Input[str]] = None, tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + tags_all: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, __props__=None): opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) if not isinstance(opts, pulumi.ResourceOptions): @@ -567,7 +586,7 @@ def _internal_init(__self__, __props__.__dict__["schedule_timezone"] = schedule_timezone __props__.__dict__["start_date"] = start_date __props__.__dict__["tags"] = tags - __props__.__dict__["tags_all"] = None + __props__.__dict__["tags_all"] = tags_all super(MaintenanceWindow, __self__).__init__( 'aws:ssm/maintenanceWindow:MaintenanceWindow', resource_name, diff --git a/sdk/python/pulumi_aws/ssm/parameter.py b/sdk/python/pulumi_aws/ssm/parameter.py index 1ef88c81e70..43cf3179371 100644 --- a/sdk/python/pulumi_aws/ssm/parameter.py +++ b/sdk/python/pulumi_aws/ssm/parameter.py @@ -25,6 +25,7 @@ def __init__(__self__, *, name: Optional[pulumi.Input[str]] = None, overwrite: Optional[pulumi.Input[bool]] = None, tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + tags_all: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, tier: Optional[pulumi.Input[str]] = None, value: Optional[pulumi.Input[str]] = None): """ @@ -39,6 +40,7 @@ def __init__(__self__, *, :param pulumi.Input[str] name: Name of the parameter. If the name contains a path (e.g., any forward slashes (`/`)), it must be fully qualified with a leading forward slash (`/`). For additional requirements and constraints, see the [AWS SSM User Guide](https://docs.aws.amazon.com/systems-manager/latest/userguide/sysman-parameter-name-constraints.html). :param pulumi.Input[bool] overwrite: Overwrite an existing parameter. If not specified, will default to `false` if the resource has not been created by this provider to avoid overwrite of existing resource and will default to `true` otherwise. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: Map of tags to assign to the object. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags_all: Map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. :param pulumi.Input[str] tier: Parameter tier to assign to the parameter. If not specified, will use the default parameter tier for the region. Valid tiers are `Standard`, `Advanced`, and `Intelligent-Tiering`. Downgrading an `Advanced` tier parameter to `Standard` will recreate the resource. For more information on parameter tiers, see the [AWS SSM Parameter tier comparison and guide](https://docs.aws.amazon.com/systems-manager/latest/userguide/parameter-store-advanced-parameters.html). :param pulumi.Input[str] value: Value of the parameter. This value is always marked as sensitive in the plan output, regardless of `type`. """ @@ -61,6 +63,8 @@ def __init__(__self__, *, pulumi.set(__self__, "overwrite", overwrite) if tags is not None: pulumi.set(__self__, "tags", tags) + if tags_all is not None: + pulumi.set(__self__, "tags_all", tags_all) if tier is not None: pulumi.set(__self__, "tier", tier) if value is not None: @@ -186,6 +190,18 @@ def tags(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: def tags(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): pulumi.set(self, "tags", value) + @property + @pulumi.getter(name="tagsAll") + def tags_all(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + """ + Map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. + """ + return pulumi.get(self, "tags_all") + + @tags_all.setter + def tags_all(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + pulumi.set(self, "tags_all", value) + @property @pulumi.getter def tier(self) -> Optional[pulumi.Input[str]]: @@ -457,6 +473,7 @@ def __init__(__self__, name: Optional[pulumi.Input[str]] = None, overwrite: Optional[pulumi.Input[bool]] = None, tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + tags_all: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, tier: Optional[pulumi.Input[str]] = None, type: Optional[pulumi.Input[Union[str, 'ParameterType']]] = None, value: Optional[pulumi.Input[str]] = None, @@ -522,6 +539,7 @@ def __init__(__self__, :param pulumi.Input[str] name: Name of the parameter. If the name contains a path (e.g., any forward slashes (`/`)), it must be fully qualified with a leading forward slash (`/`). For additional requirements and constraints, see the [AWS SSM User Guide](https://docs.aws.amazon.com/systems-manager/latest/userguide/sysman-parameter-name-constraints.html). :param pulumi.Input[bool] overwrite: Overwrite an existing parameter. If not specified, will default to `false` if the resource has not been created by this provider to avoid overwrite of existing resource and will default to `true` otherwise. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: Map of tags to assign to the object. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags_all: Map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. :param pulumi.Input[str] tier: Parameter tier to assign to the parameter. If not specified, will use the default parameter tier for the region. Valid tiers are `Standard`, `Advanced`, and `Intelligent-Tiering`. Downgrading an `Advanced` tier parameter to `Standard` will recreate the resource. For more information on parameter tiers, see the [AWS SSM Parameter tier comparison and guide](https://docs.aws.amazon.com/systems-manager/latest/userguide/parameter-store-advanced-parameters.html). :param pulumi.Input[Union[str, 'ParameterType']] type: Type of the parameter. Valid types are `String`, `StringList` and `SecureString`. :param pulumi.Input[str] value: Value of the parameter. This value is always marked as sensitive in the plan output, regardless of `type`. @@ -606,6 +624,7 @@ def _internal_init(__self__, name: Optional[pulumi.Input[str]] = None, overwrite: Optional[pulumi.Input[bool]] = None, tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + tags_all: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, tier: Optional[pulumi.Input[str]] = None, type: Optional[pulumi.Input[Union[str, 'ParameterType']]] = None, value: Optional[pulumi.Input[str]] = None, @@ -627,12 +646,12 @@ def _internal_init(__self__, __props__.__dict__["name"] = name __props__.__dict__["overwrite"] = overwrite __props__.__dict__["tags"] = tags + __props__.__dict__["tags_all"] = tags_all __props__.__dict__["tier"] = tier if type is None and not opts.urn: raise TypeError("Missing required property 'type'") __props__.__dict__["type"] = type __props__.__dict__["value"] = None if value is None else pulumi.Output.secret(value) - __props__.__dict__["tags_all"] = None __props__.__dict__["version"] = None secret_opts = pulumi.ResourceOptions(additional_secret_outputs=["value"]) opts = pulumi.ResourceOptions.merge(opts, secret_opts) diff --git a/sdk/python/pulumi_aws/ssm/patch_baseline.py b/sdk/python/pulumi_aws/ssm/patch_baseline.py index 6de1c202334..a598761dc77 100644 --- a/sdk/python/pulumi_aws/ssm/patch_baseline.py +++ b/sdk/python/pulumi_aws/ssm/patch_baseline.py @@ -27,7 +27,8 @@ def __init__(__self__, *, rejected_patches: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, rejected_patches_action: Optional[pulumi.Input[str]] = None, sources: Optional[pulumi.Input[Sequence[pulumi.Input['PatchBaselineSourceArgs']]]] = None, - tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None): + tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + tags_all: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None): """ The set of arguments for constructing a PatchBaseline resource. :param pulumi.Input[Sequence[pulumi.Input['PatchBaselineApprovalRuleArgs']]] approval_rules: A set of rules used to include patches in the baseline. @@ -69,6 +70,7 @@ def __init__(__self__, *, Applies to Linux instances only. See `source` below. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: A map of tags to assign to the resource. .If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags_all: A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. """ if approval_rules is not None: pulumi.set(__self__, "approval_rules", approval_rules) @@ -94,6 +96,8 @@ def __init__(__self__, *, pulumi.set(__self__, "sources", sources) if tags is not None: pulumi.set(__self__, "tags", tags) + if tags_all is not None: + pulumi.set(__self__, "tags_all", tags_all) @property @pulumi.getter(name="approvalRules") @@ -266,6 +270,18 @@ def tags(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: def tags(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): pulumi.set(self, "tags", value) + @property + @pulumi.getter(name="tagsAll") + def tags_all(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + """ + A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. + """ + return pulumi.get(self, "tags_all") + + @tags_all.setter + def tags_all(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + pulumi.set(self, "tags_all", value) + @pulumi.input_type class _PatchBaselineState: @@ -570,6 +586,7 @@ def __init__(__self__, rejected_patches_action: Optional[pulumi.Input[str]] = None, sources: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['PatchBaselineSourceArgs']]]]] = None, tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + tags_all: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, __props__=None): """ Provides an SSM Patch Baseline resource. @@ -780,6 +797,7 @@ def __init__(__self__, Applies to Linux instances only. See `source` below. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: A map of tags to assign to the resource. .If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags_all: A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. """ ... @overload @@ -982,6 +1000,7 @@ def _internal_init(__self__, rejected_patches_action: Optional[pulumi.Input[str]] = None, sources: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['PatchBaselineSourceArgs']]]]] = None, tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + tags_all: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, __props__=None): opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) if not isinstance(opts, pulumi.ResourceOptions): @@ -1003,8 +1022,8 @@ def _internal_init(__self__, __props__.__dict__["rejected_patches_action"] = rejected_patches_action __props__.__dict__["sources"] = sources __props__.__dict__["tags"] = tags + __props__.__dict__["tags_all"] = tags_all __props__.__dict__["arn"] = None - __props__.__dict__["tags_all"] = None super(PatchBaseline, __self__).__init__( 'aws:ssm/patchBaseline:PatchBaseline', resource_name, diff --git a/sdk/python/pulumi_aws/ssmincidents/__init__.py b/sdk/python/pulumi_aws/ssmincidents/__init__.py new file mode 100644 index 00000000000..ab656377066 --- /dev/null +++ b/sdk/python/pulumi_aws/ssmincidents/__init__.py @@ -0,0 +1,11 @@ +# coding=utf-8 +# *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +from .. import _utilities +import typing +# Export this package's modules as members: +from .get_replication_set import * +from .replication_set import * +from ._inputs import * +from . import outputs diff --git a/sdk/python/pulumi_aws/ssmincidents/_inputs.py b/sdk/python/pulumi_aws/ssmincidents/_inputs.py new file mode 100644 index 00000000000..63ccca78778 --- /dev/null +++ b/sdk/python/pulumi_aws/ssmincidents/_inputs.py @@ -0,0 +1,87 @@ +# coding=utf-8 +# *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +from .. import _utilities + +__all__ = [ + 'ReplicationSetRegionArgs', +] + +@pulumi.input_type +class ReplicationSetRegionArgs: + def __init__(__self__, *, + name: pulumi.Input[str], + kms_key_arn: Optional[pulumi.Input[str]] = None, + status: Optional[pulumi.Input[str]] = None, + status_message: Optional[pulumi.Input[str]] = None): + """ + :param pulumi.Input[str] name: The name of the Region, such as `ap-southeast-2`. + :param pulumi.Input[str] kms_key_arn: The Amazon Resource name (ARN) of the customer managed key. If omitted, AWS manages the AWS KMS keys for you, using an AWS owned key, as indicated by a default value of `DefaultKey`. + :param pulumi.Input[str] status: The current status of the Region. + * Valid Values: `ACTIVE` | `CREATING` | `UPDATING` | `DELETING` | `FAILED` + :param pulumi.Input[str] status_message: More information about the status of a Region. + """ + pulumi.set(__self__, "name", name) + if kms_key_arn is not None: + pulumi.set(__self__, "kms_key_arn", kms_key_arn) + if status is not None: + pulumi.set(__self__, "status", status) + if status_message is not None: + pulumi.set(__self__, "status_message", status_message) + + @property + @pulumi.getter + def name(self) -> pulumi.Input[str]: + """ + The name of the Region, such as `ap-southeast-2`. + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: pulumi.Input[str]): + pulumi.set(self, "name", value) + + @property + @pulumi.getter(name="kmsKeyArn") + def kms_key_arn(self) -> Optional[pulumi.Input[str]]: + """ + The Amazon Resource name (ARN) of the customer managed key. If omitted, AWS manages the AWS KMS keys for you, using an AWS owned key, as indicated by a default value of `DefaultKey`. + """ + return pulumi.get(self, "kms_key_arn") + + @kms_key_arn.setter + def kms_key_arn(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "kms_key_arn", value) + + @property + @pulumi.getter + def status(self) -> Optional[pulumi.Input[str]]: + """ + The current status of the Region. + * Valid Values: `ACTIVE` | `CREATING` | `UPDATING` | `DELETING` | `FAILED` + """ + return pulumi.get(self, "status") + + @status.setter + def status(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "status", value) + + @property + @pulumi.getter(name="statusMessage") + def status_message(self) -> Optional[pulumi.Input[str]]: + """ + More information about the status of a Region. + """ + return pulumi.get(self, "status_message") + + @status_message.setter + def status_message(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "status_message", value) + + diff --git a/sdk/python/pulumi_aws/ssmincidents/get_replication_set.py b/sdk/python/pulumi_aws/ssmincidents/get_replication_set.py new file mode 100644 index 00000000000..9dbf30cc2b2 --- /dev/null +++ b/sdk/python/pulumi_aws/ssmincidents/get_replication_set.py @@ -0,0 +1,187 @@ +# coding=utf-8 +# *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +from .. import _utilities +from . import outputs + +__all__ = [ + 'GetReplicationSetResult', + 'AwaitableGetReplicationSetResult', + 'get_replication_set', + 'get_replication_set_output', +] + +@pulumi.output_type +class GetReplicationSetResult: + """ + A collection of values returned by getReplicationSet. + """ + def __init__(__self__, arn=None, created_by=None, deletion_protected=None, id=None, last_modified_by=None, regions=None, status=None, tags=None): + if arn and not isinstance(arn, str): + raise TypeError("Expected argument 'arn' to be a str") + pulumi.set(__self__, "arn", arn) + if created_by and not isinstance(created_by, str): + raise TypeError("Expected argument 'created_by' to be a str") + pulumi.set(__self__, "created_by", created_by) + if deletion_protected and not isinstance(deletion_protected, bool): + raise TypeError("Expected argument 'deletion_protected' to be a bool") + pulumi.set(__self__, "deletion_protected", deletion_protected) + if id and not isinstance(id, str): + raise TypeError("Expected argument 'id' to be a str") + pulumi.set(__self__, "id", id) + if last_modified_by and not isinstance(last_modified_by, str): + raise TypeError("Expected argument 'last_modified_by' to be a str") + pulumi.set(__self__, "last_modified_by", last_modified_by) + if regions and not isinstance(regions, list): + raise TypeError("Expected argument 'regions' to be a list") + pulumi.set(__self__, "regions", regions) + if status and not isinstance(status, str): + raise TypeError("Expected argument 'status' to be a str") + pulumi.set(__self__, "status", status) + if tags and not isinstance(tags, dict): + raise TypeError("Expected argument 'tags' to be a dict") + pulumi.set(__self__, "tags", tags) + + @property + @pulumi.getter + def arn(self) -> str: + """ + The Amazon Resouce Name (ARN) of the replication set. + """ + return pulumi.get(self, "arn") + + @property + @pulumi.getter(name="createdBy") + def created_by(self) -> str: + """ + The ARN of the user who created the replication set. + """ + return pulumi.get(self, "created_by") + + @property + @pulumi.getter(name="deletionProtected") + def deletion_protected(self) -> bool: + """ + If `true`, the last remaining Region in a replication set can’t be deleted. + """ + return pulumi.get(self, "deletion_protected") + + @property + @pulumi.getter + def id(self) -> str: + """ + The provider-assigned unique ID for this managed resource. + """ + return pulumi.get(self, "id") + + @property + @pulumi.getter(name="lastModifiedBy") + def last_modified_by(self) -> str: + """ + The ARN of the user who last modified the replication set. + """ + return pulumi.get(self, "last_modified_by") + + @property + @pulumi.getter + def regions(self) -> Sequence['outputs.GetReplicationSetRegionResult']: + return pulumi.get(self, "regions") + + @property + @pulumi.getter + def status(self) -> str: + """ + The current status of the Region. + * Valid Values: `ACTIVE` | `CREATING` | `UPDATING` | `DELETING` | `FAILED` + """ + return pulumi.get(self, "status") + + @property + @pulumi.getter + def tags(self) -> Mapping[str, str]: + """ + All tags applied to the replication set. + """ + return pulumi.get(self, "tags") + + +class AwaitableGetReplicationSetResult(GetReplicationSetResult): + # pylint: disable=using-constant-test + def __await__(self): + if False: + yield self + return GetReplicationSetResult( + arn=self.arn, + created_by=self.created_by, + deletion_protected=self.deletion_protected, + id=self.id, + last_modified_by=self.last_modified_by, + regions=self.regions, + status=self.status, + tags=self.tags) + + +def get_replication_set(tags: Optional[Mapping[str, str]] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetReplicationSetResult: + """ + > **NOTE:** The AWS Region specified by a provider must always be one of the Regions specified for the replication set. + + Use this data source to manage a replication set in AWS Systems Manager Incident Manager. + + ## Example Usage + ### Basic Usage + + ```python + import pulumi + import pulumi_aws as aws + + example = aws.ssmincidents.get_replication_set() + ``` + + + :param Mapping[str, str] tags: All tags applied to the replication set. + """ + __args__ = dict() + __args__['tags'] = tags + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke('aws:ssmincidents/getReplicationSet:getReplicationSet', __args__, opts=opts, typ=GetReplicationSetResult).value + + return AwaitableGetReplicationSetResult( + arn=__ret__.arn, + created_by=__ret__.created_by, + deletion_protected=__ret__.deletion_protected, + id=__ret__.id, + last_modified_by=__ret__.last_modified_by, + regions=__ret__.regions, + status=__ret__.status, + tags=__ret__.tags) + + +@_utilities.lift_output_func(get_replication_set) +def get_replication_set_output(tags: Optional[pulumi.Input[Optional[Mapping[str, str]]]] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetReplicationSetResult]: + """ + > **NOTE:** The AWS Region specified by a provider must always be one of the Regions specified for the replication set. + + Use this data source to manage a replication set in AWS Systems Manager Incident Manager. + + ## Example Usage + ### Basic Usage + + ```python + import pulumi + import pulumi_aws as aws + + example = aws.ssmincidents.get_replication_set() + ``` + + + :param Mapping[str, str] tags: All tags applied to the replication set. + """ + ... diff --git a/sdk/python/pulumi_aws/ssmincidents/outputs.py b/sdk/python/pulumi_aws/ssmincidents/outputs.py new file mode 100644 index 00000000000..4712b1f58ba --- /dev/null +++ b/sdk/python/pulumi_aws/ssmincidents/outputs.py @@ -0,0 +1,144 @@ +# coding=utf-8 +# *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +from .. import _utilities + +__all__ = [ + 'ReplicationSetRegion', + 'GetReplicationSetRegionResult', +] + +@pulumi.output_type +class ReplicationSetRegion(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "kmsKeyArn": + suggest = "kms_key_arn" + elif key == "statusMessage": + suggest = "status_message" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in ReplicationSetRegion. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + ReplicationSetRegion.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + ReplicationSetRegion.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + name: str, + kms_key_arn: Optional[str] = None, + status: Optional[str] = None, + status_message: Optional[str] = None): + """ + :param str name: The name of the Region, such as `ap-southeast-2`. + :param str kms_key_arn: The Amazon Resource name (ARN) of the customer managed key. If omitted, AWS manages the AWS KMS keys for you, using an AWS owned key, as indicated by a default value of `DefaultKey`. + :param str status: The current status of the Region. + * Valid Values: `ACTIVE` | `CREATING` | `UPDATING` | `DELETING` | `FAILED` + :param str status_message: More information about the status of a Region. + """ + pulumi.set(__self__, "name", name) + if kms_key_arn is not None: + pulumi.set(__self__, "kms_key_arn", kms_key_arn) + if status is not None: + pulumi.set(__self__, "status", status) + if status_message is not None: + pulumi.set(__self__, "status_message", status_message) + + @property + @pulumi.getter + def name(self) -> str: + """ + The name of the Region, such as `ap-southeast-2`. + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter(name="kmsKeyArn") + def kms_key_arn(self) -> Optional[str]: + """ + The Amazon Resource name (ARN) of the customer managed key. If omitted, AWS manages the AWS KMS keys for you, using an AWS owned key, as indicated by a default value of `DefaultKey`. + """ + return pulumi.get(self, "kms_key_arn") + + @property + @pulumi.getter + def status(self) -> Optional[str]: + """ + The current status of the Region. + * Valid Values: `ACTIVE` | `CREATING` | `UPDATING` | `DELETING` | `FAILED` + """ + return pulumi.get(self, "status") + + @property + @pulumi.getter(name="statusMessage") + def status_message(self) -> Optional[str]: + """ + More information about the status of a Region. + """ + return pulumi.get(self, "status_message") + + +@pulumi.output_type +class GetReplicationSetRegionResult(dict): + def __init__(__self__, *, + kms_key_arn: str, + name: str, + status: str, + status_message: str): + """ + :param str kms_key_arn: The ARN of the AWS Key Management Service (AWS KMS) encryption key. + :param str name: The name of the Region. + :param str status: The current status of the Region. + * Valid Values: `ACTIVE` | `CREATING` | `UPDATING` | `DELETING` | `FAILED` + :param str status_message: More information about the status of a Region. + """ + pulumi.set(__self__, "kms_key_arn", kms_key_arn) + pulumi.set(__self__, "name", name) + pulumi.set(__self__, "status", status) + pulumi.set(__self__, "status_message", status_message) + + @property + @pulumi.getter(name="kmsKeyArn") + def kms_key_arn(self) -> str: + """ + The ARN of the AWS Key Management Service (AWS KMS) encryption key. + """ + return pulumi.get(self, "kms_key_arn") + + @property + @pulumi.getter + def name(self) -> str: + """ + The name of the Region. + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter + def status(self) -> str: + """ + The current status of the Region. + * Valid Values: `ACTIVE` | `CREATING` | `UPDATING` | `DELETING` | `FAILED` + """ + return pulumi.get(self, "status") + + @property + @pulumi.getter(name="statusMessage") + def status_message(self) -> str: + """ + More information about the status of a Region. + """ + return pulumi.get(self, "status_message") + + diff --git a/sdk/python/pulumi_aws/ssmincidents/replication_set.py b/sdk/python/pulumi_aws/ssmincidents/replication_set.py new file mode 100644 index 00000000000..39baa91e4a6 --- /dev/null +++ b/sdk/python/pulumi_aws/ssmincidents/replication_set.py @@ -0,0 +1,500 @@ +# coding=utf-8 +# *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +from .. import _utilities +from . import outputs +from ._inputs import * + +__all__ = ['ReplicationSetArgs', 'ReplicationSet'] + +@pulumi.input_type +class ReplicationSetArgs: + def __init__(__self__, *, + regions: pulumi.Input[Sequence[pulumi.Input['ReplicationSetRegionArgs']]], + tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None): + """ + The set of arguments for constructing a ReplicationSet resource. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: Tags applied to the replication set. + """ + pulumi.set(__self__, "regions", regions) + if tags is not None: + pulumi.set(__self__, "tags", tags) + + @property + @pulumi.getter + def regions(self) -> pulumi.Input[Sequence[pulumi.Input['ReplicationSetRegionArgs']]]: + return pulumi.get(self, "regions") + + @regions.setter + def regions(self, value: pulumi.Input[Sequence[pulumi.Input['ReplicationSetRegionArgs']]]): + pulumi.set(self, "regions", value) + + @property + @pulumi.getter + def tags(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + """ + Tags applied to the replication set. + """ + return pulumi.get(self, "tags") + + @tags.setter + def tags(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + pulumi.set(self, "tags", value) + + +@pulumi.input_type +class _ReplicationSetState: + def __init__(__self__, *, + arn: Optional[pulumi.Input[str]] = None, + created_by: Optional[pulumi.Input[str]] = None, + deletion_protected: Optional[pulumi.Input[bool]] = None, + last_modified_by: Optional[pulumi.Input[str]] = None, + regions: Optional[pulumi.Input[Sequence[pulumi.Input['ReplicationSetRegionArgs']]]] = None, + status: Optional[pulumi.Input[str]] = None, + tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + tags_all: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None): + """ + Input properties used for looking up and filtering ReplicationSet resources. + :param pulumi.Input[str] arn: The ARN of the replication set. + :param pulumi.Input[str] created_by: The ARN of the user who created the replication set. + :param pulumi.Input[bool] deletion_protected: If `true`, the last region in a replication set cannot be deleted. + :param pulumi.Input[str] last_modified_by: A timestamp showing when the replication set was last modified. + :param pulumi.Input[str] status: The current status of the Region. + * Valid Values: `ACTIVE` | `CREATING` | `UPDATING` | `DELETING` | `FAILED` + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: Tags applied to the replication set. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags_all: A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. + """ + if arn is not None: + pulumi.set(__self__, "arn", arn) + if created_by is not None: + pulumi.set(__self__, "created_by", created_by) + if deletion_protected is not None: + pulumi.set(__self__, "deletion_protected", deletion_protected) + if last_modified_by is not None: + pulumi.set(__self__, "last_modified_by", last_modified_by) + if regions is not None: + pulumi.set(__self__, "regions", regions) + if status is not None: + pulumi.set(__self__, "status", status) + if tags is not None: + pulumi.set(__self__, "tags", tags) + if tags_all is not None: + pulumi.set(__self__, "tags_all", tags_all) + + @property + @pulumi.getter + def arn(self) -> Optional[pulumi.Input[str]]: + """ + The ARN of the replication set. + """ + return pulumi.get(self, "arn") + + @arn.setter + def arn(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "arn", value) + + @property + @pulumi.getter(name="createdBy") + def created_by(self) -> Optional[pulumi.Input[str]]: + """ + The ARN of the user who created the replication set. + """ + return pulumi.get(self, "created_by") + + @created_by.setter + def created_by(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "created_by", value) + + @property + @pulumi.getter(name="deletionProtected") + def deletion_protected(self) -> Optional[pulumi.Input[bool]]: + """ + If `true`, the last region in a replication set cannot be deleted. + """ + return pulumi.get(self, "deletion_protected") + + @deletion_protected.setter + def deletion_protected(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "deletion_protected", value) + + @property + @pulumi.getter(name="lastModifiedBy") + def last_modified_by(self) -> Optional[pulumi.Input[str]]: + """ + A timestamp showing when the replication set was last modified. + """ + return pulumi.get(self, "last_modified_by") + + @last_modified_by.setter + def last_modified_by(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "last_modified_by", value) + + @property + @pulumi.getter + def regions(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['ReplicationSetRegionArgs']]]]: + return pulumi.get(self, "regions") + + @regions.setter + def regions(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['ReplicationSetRegionArgs']]]]): + pulumi.set(self, "regions", value) + + @property + @pulumi.getter + def status(self) -> Optional[pulumi.Input[str]]: + """ + The current status of the Region. + * Valid Values: `ACTIVE` | `CREATING` | `UPDATING` | `DELETING` | `FAILED` + """ + return pulumi.get(self, "status") + + @status.setter + def status(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "status", value) + + @property + @pulumi.getter + def tags(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + """ + Tags applied to the replication set. + """ + return pulumi.get(self, "tags") + + @tags.setter + def tags(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + pulumi.set(self, "tags", value) + + @property + @pulumi.getter(name="tagsAll") + def tags_all(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + """ + A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. + """ + return pulumi.get(self, "tags_all") + + @tags_all.setter + def tags_all(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + pulumi.set(self, "tags_all", value) + + +class ReplicationSet(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + regions: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ReplicationSetRegionArgs']]]]] = None, + tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + __props__=None): + """ + Provides a resource for managing a replication set in AWS Systems Manager Incident Manager. + + > **NOTE:** Deleting a replication set also deletes all Incident Manager related data including response plans, incident records, contacts and escalation plans. + + ## Example Usage + ### Basic Usage + + Create a replication set. + + ```python + import pulumi + import pulumi_aws as aws + + replication_set_name = aws.ssmincidents.ReplicationSet("replicationSetName", + regions=[aws.ssmincidents.ReplicationSetRegionArgs( + name="us-west-2", + )], + tags={ + "exampleTag": "exampleValue", + }) + ``` + + Add a Region to a replication set. (You can add only one Region at a time.) + + ```python + import pulumi + import pulumi_aws as aws + + replication_set_name = aws.ssmincidents.ReplicationSet("replicationSetName", regions=[ + aws.ssmincidents.ReplicationSetRegionArgs( + name="us-west-2", + ), + aws.ssmincidents.ReplicationSetRegionArgs( + name="ap-southeast-2", + ), + ]) + ``` + + Delete a Region from a replication set. (You can delete only one Region at a time.) + + ```python + import pulumi + import pulumi_aws as aws + + replication_set_name = aws.ssmincidents.ReplicationSet("replicationSetName", regions=[aws.ssmincidents.ReplicationSetRegionArgs( + name="us-west-2", + )]) + ``` + ## Basic Usage with an AWS Customer Managed Key + + Create a replication set with an AWS Key Management Service (AWS KMS) customer manager key: + + ```python + import pulumi + import pulumi_aws as aws + + example_key = aws.kms.Key("exampleKey") + replication_set_name = aws.ssmincidents.ReplicationSet("replicationSetName", + regions=[aws.ssmincidents.ReplicationSetRegionArgs( + name="us-west-2", + kms_key_arn=example_key.arn, + )], + tags={ + "exampleTag": "exampleValue", + }) + ``` + + ## Import + + Use the following command to import an Incident Manager replication set + + ```sh + $ pulumi import aws:ssmincidents/replicationSet:ReplicationSet replicationSetName import + ``` + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: Tags applied to the replication set. + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: ReplicationSetArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + Provides a resource for managing a replication set in AWS Systems Manager Incident Manager. + + > **NOTE:** Deleting a replication set also deletes all Incident Manager related data including response plans, incident records, contacts and escalation plans. + + ## Example Usage + ### Basic Usage + + Create a replication set. + + ```python + import pulumi + import pulumi_aws as aws + + replication_set_name = aws.ssmincidents.ReplicationSet("replicationSetName", + regions=[aws.ssmincidents.ReplicationSetRegionArgs( + name="us-west-2", + )], + tags={ + "exampleTag": "exampleValue", + }) + ``` + + Add a Region to a replication set. (You can add only one Region at a time.) + + ```python + import pulumi + import pulumi_aws as aws + + replication_set_name = aws.ssmincidents.ReplicationSet("replicationSetName", regions=[ + aws.ssmincidents.ReplicationSetRegionArgs( + name="us-west-2", + ), + aws.ssmincidents.ReplicationSetRegionArgs( + name="ap-southeast-2", + ), + ]) + ``` + + Delete a Region from a replication set. (You can delete only one Region at a time.) + + ```python + import pulumi + import pulumi_aws as aws + + replication_set_name = aws.ssmincidents.ReplicationSet("replicationSetName", regions=[aws.ssmincidents.ReplicationSetRegionArgs( + name="us-west-2", + )]) + ``` + ## Basic Usage with an AWS Customer Managed Key + + Create a replication set with an AWS Key Management Service (AWS KMS) customer manager key: + + ```python + import pulumi + import pulumi_aws as aws + + example_key = aws.kms.Key("exampleKey") + replication_set_name = aws.ssmincidents.ReplicationSet("replicationSetName", + regions=[aws.ssmincidents.ReplicationSetRegionArgs( + name="us-west-2", + kms_key_arn=example_key.arn, + )], + tags={ + "exampleTag": "exampleValue", + }) + ``` + + ## Import + + Use the following command to import an Incident Manager replication set + + ```sh + $ pulumi import aws:ssmincidents/replicationSet:ReplicationSet replicationSetName import + ``` + + :param str resource_name: The name of the resource. + :param ReplicationSetArgs args: The arguments to use to populate this resource's properties. + :param pulumi.ResourceOptions opts: Options for the resource. + """ + ... + def __init__(__self__, resource_name: str, *args, **kwargs): + resource_args, opts = _utilities.get_resource_args_opts(ReplicationSetArgs, pulumi.ResourceOptions, *args, **kwargs) + if resource_args is not None: + __self__._internal_init(resource_name, opts, **resource_args.__dict__) + else: + __self__._internal_init(resource_name, *args, **kwargs) + + def _internal_init(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + regions: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ReplicationSetRegionArgs']]]]] = None, + tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + __props__=None): + opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) + if not isinstance(opts, pulumi.ResourceOptions): + raise TypeError('Expected resource options to be a ResourceOptions instance') + if opts.id is None: + if __props__ is not None: + raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource') + __props__ = ReplicationSetArgs.__new__(ReplicationSetArgs) + + if regions is None and not opts.urn: + raise TypeError("Missing required property 'regions'") + __props__.__dict__["regions"] = regions + __props__.__dict__["tags"] = tags + __props__.__dict__["arn"] = None + __props__.__dict__["created_by"] = None + __props__.__dict__["deletion_protected"] = None + __props__.__dict__["last_modified_by"] = None + __props__.__dict__["status"] = None + __props__.__dict__["tags_all"] = None + super(ReplicationSet, __self__).__init__( + 'aws:ssmincidents/replicationSet:ReplicationSet', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None, + arn: Optional[pulumi.Input[str]] = None, + created_by: Optional[pulumi.Input[str]] = None, + deletion_protected: Optional[pulumi.Input[bool]] = None, + last_modified_by: Optional[pulumi.Input[str]] = None, + regions: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ReplicationSetRegionArgs']]]]] = None, + status: Optional[pulumi.Input[str]] = None, + tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + tags_all: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None) -> 'ReplicationSet': + """ + Get an existing ReplicationSet resource's state with the given name, id, and optional extra + properties used to qualify the lookup. + + :param str resource_name: The unique name of the resulting resource. + :param pulumi.Input[str] id: The unique provider ID of the resource to lookup. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[str] arn: The ARN of the replication set. + :param pulumi.Input[str] created_by: The ARN of the user who created the replication set. + :param pulumi.Input[bool] deletion_protected: If `true`, the last region in a replication set cannot be deleted. + :param pulumi.Input[str] last_modified_by: A timestamp showing when the replication set was last modified. + :param pulumi.Input[str] status: The current status of the Region. + * Valid Values: `ACTIVE` | `CREATING` | `UPDATING` | `DELETING` | `FAILED` + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: Tags applied to the replication set. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags_all: A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = _ReplicationSetState.__new__(_ReplicationSetState) + + __props__.__dict__["arn"] = arn + __props__.__dict__["created_by"] = created_by + __props__.__dict__["deletion_protected"] = deletion_protected + __props__.__dict__["last_modified_by"] = last_modified_by + __props__.__dict__["regions"] = regions + __props__.__dict__["status"] = status + __props__.__dict__["tags"] = tags + __props__.__dict__["tags_all"] = tags_all + return ReplicationSet(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter + def arn(self) -> pulumi.Output[str]: + """ + The ARN of the replication set. + """ + return pulumi.get(self, "arn") + + @property + @pulumi.getter(name="createdBy") + def created_by(self) -> pulumi.Output[str]: + """ + The ARN of the user who created the replication set. + """ + return pulumi.get(self, "created_by") + + @property + @pulumi.getter(name="deletionProtected") + def deletion_protected(self) -> pulumi.Output[bool]: + """ + If `true`, the last region in a replication set cannot be deleted. + """ + return pulumi.get(self, "deletion_protected") + + @property + @pulumi.getter(name="lastModifiedBy") + def last_modified_by(self) -> pulumi.Output[str]: + """ + A timestamp showing when the replication set was last modified. + """ + return pulumi.get(self, "last_modified_by") + + @property + @pulumi.getter + def regions(self) -> pulumi.Output[Sequence['outputs.ReplicationSetRegion']]: + return pulumi.get(self, "regions") + + @property + @pulumi.getter + def status(self) -> pulumi.Output[str]: + """ + The current status of the Region. + * Valid Values: `ACTIVE` | `CREATING` | `UPDATING` | `DELETING` | `FAILED` + """ + return pulumi.get(self, "status") + + @property + @pulumi.getter + def tags(self) -> pulumi.Output[Optional[Mapping[str, str]]]: + """ + Tags applied to the replication set. + """ + return pulumi.get(self, "tags") + + @property + @pulumi.getter(name="tagsAll") + def tags_all(self) -> pulumi.Output[Mapping[str, str]]: + """ + A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. + """ + return pulumi.get(self, "tags_all") + diff --git a/sdk/python/pulumi_aws/ssoadmin/permission_set.py b/sdk/python/pulumi_aws/ssoadmin/permission_set.py index 33d24b00032..08782c80d37 100644 --- a/sdk/python/pulumi_aws/ssoadmin/permission_set.py +++ b/sdk/python/pulumi_aws/ssoadmin/permission_set.py @@ -19,7 +19,8 @@ def __init__(__self__, *, name: Optional[pulumi.Input[str]] = None, relay_state: Optional[pulumi.Input[str]] = None, session_duration: Optional[pulumi.Input[str]] = None, - tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None): + tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + tags_all: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None): """ The set of arguments for constructing a PermissionSet resource. :param pulumi.Input[str] instance_arn: The Amazon Resource Name (ARN) of the SSO Instance under which the operation will be executed. @@ -28,6 +29,7 @@ def __init__(__self__, *, :param pulumi.Input[str] relay_state: The relay state URL used to redirect users within the application during the federation authentication process. :param pulumi.Input[str] session_duration: The length of time that the application user sessions are valid in the ISO-8601 standard. Default: `PT1H`. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: Key-value map of resource tags. .If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags_all: A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. """ pulumi.set(__self__, "instance_arn", instance_arn) if description is not None: @@ -40,6 +42,8 @@ def __init__(__self__, *, pulumi.set(__self__, "session_duration", session_duration) if tags is not None: pulumi.set(__self__, "tags", tags) + if tags_all is not None: + pulumi.set(__self__, "tags_all", tags_all) @property @pulumi.getter(name="instanceArn") @@ -113,6 +117,18 @@ def tags(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: def tags(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): pulumi.set(self, "tags", value) + @property + @pulumi.getter(name="tagsAll") + def tags_all(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + """ + A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. + """ + return pulumi.get(self, "tags_all") + + @tags_all.setter + def tags_all(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + pulumi.set(self, "tags_all", value) + @pulumi.input_type class _PermissionSetState: @@ -277,6 +293,7 @@ def __init__(__self__, relay_state: Optional[pulumi.Input[str]] = None, session_duration: Optional[pulumi.Input[str]] = None, tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + tags_all: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, __props__=None): """ Provides a Single Sign-On (SSO) Permission Set resource @@ -299,6 +316,7 @@ def __init__(__self__, :param pulumi.Input[str] relay_state: The relay state URL used to redirect users within the application during the federation authentication process. :param pulumi.Input[str] session_duration: The length of time that the application user sessions are valid in the ISO-8601 standard. Default: `PT1H`. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: Key-value map of resource tags. .If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags_all: A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block. """ ... @overload @@ -340,6 +358,7 @@ def _internal_init(__self__, relay_state: Optional[pulumi.Input[str]] = None, session_duration: Optional[pulumi.Input[str]] = None, tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + tags_all: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, __props__=None): opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) if not isinstance(opts, pulumi.ResourceOptions): @@ -357,9 +376,9 @@ def _internal_init(__self__, __props__.__dict__["relay_state"] = relay_state __props__.__dict__["session_duration"] = session_duration __props__.__dict__["tags"] = tags + __props__.__dict__["tags_all"] = tags_all __props__.__dict__["arn"] = None __props__.__dict__["created_date"] = None - __props__.__dict__["tags_all"] = None super(PermissionSet, __self__).__init__( 'aws:ssoadmin/permissionSet:PermissionSet', resource_name, diff --git a/upstream b/upstream index 79f51f3ff96..d41bfa14faf 160000 --- a/upstream +++ b/upstream @@ -1 +1 @@ -Subproject commit 79f51f3ff969d7ff38abdb0d850ed079385d7d67 +Subproject commit d41bfa14faf1614c4d62baf4c17aa3708f207d29 diff --git a/upstream-tools/replacements.json b/upstream-tools/replacements.json index fb6642ccd9d..1ed59d3ce81 100644 --- a/upstream-tools/replacements.json +++ b/upstream-tools/replacements.json @@ -23,6 +23,24 @@ "new": " Data source for managing an AWS AppConfig Environments." } ], + "website/docs/d/appmesh_gateway_route.html.markdown": [ + { + "old": " Terraform data source for managing an AWS App Mesh Gateway Route.", + "new": " Data source for managing an AWS App Mesh Gateway Route." + } + ], + "website/docs/d/appmesh_mesh.html.markdown": [ + { + "old": " Terraform data source for managing an AWS App Mesh Mesh.", + "new": " Data source for managing an AWS App Mesh Mesh." + } + ], + "website/docs/d/appmesh_route.html.markdown": [ + { + "old": "Terraform data source for managing an AWS App Mesh Route.", + "new": "Data source for managing an AWS App Mesh Route." + } + ], "website/docs/d/appmesh_virtual_gateway.html.markdown": [ { "old": " Terraform data source for managing an AWS App Mesh Virtual Gateway.", @@ -33,6 +51,28 @@ "new": "Data source for managing an AWS App Mesh Virtual Gateway." } ], + "website/docs/d/appmesh_virtual_node.html.markdown": [ + { + "old": "Terraform data source for managing an AWS App Mesh Virtual Node.", + "new": "Data source for managing an AWS App Mesh Virtual Node." + }, + { + "old": "Terraform data source for managing an AWS App Mesh Virtual Node.", + "new": "Data source for managing an AWS App Mesh Virtual Node." + } + ], + "website/docs/d/appmesh_virtual_router.html.markdown": [ + { + "old": "Terraform data source for managing an AWS App Mesh Virtual Router.", + "new": "Data source for managing an AWS App Mesh Virtual Router." + } + ], + "website/docs/d/appmesh_virtual_service.html.markdown": [ + { + "old": "Terraform data source for managing an AWS App Mesh Virtual Service.", + "new": "Data source for managing an AWS App Mesh Virtual Service." + } + ], "website/docs/d/auditmanager_control.html.markdown": [ { "old": "Terraform data source for managing an AWS Audit Manager Control.", @@ -198,6 +238,26 @@ "old": "-> For more information about building AWS Core Network policy documents with Terraform, see the Using AWS & AWSCC Provider Together Guide" } ], + "website/docs/d/oam_sink.html.markdown": [ + { + "old": "Terraform data source for managing an AWS CloudWatch Observability Access Manager Sink.", + "new": "Data source for managing an AWS CloudWatch Observability Access Manager Sink." + }, + { + "old": "Terraform data source for managing an AWS CloudWatch Observability Access Manager Sink.", + "new": "Data source for managing an AWS CloudWatch Observability Access Manager Sink." + } + ], + "website/docs/d/oam_sinks.html.markdown": [ + { + "old": "Terraform data source for managing an AWS CloudWatch Observability Access Manager Sinks.", + "new": "Data source for managing an AWS CloudWatch Observability Access Manager Sinks." + }, + { + "old": "Terraform data source for managing an AWS CloudWatch Observability Access Manager Sinks.", + "new": "Data source for managing an AWS CloudWatch Observability Access Manager Sinks." + } + ], "website/docs/d/partition.html.markdown": [ { "old": "which Terraform is working.", @@ -283,6 +343,20 @@ "old": "~> **Note:** The unencrypted value of a SecureString will be stored in the raw state as plain-text.\nRead more about sensitive data in state.\n" } ], + "website/docs/d/ssmincidents_replication_set.html.markdown": [ + { + "old": "Terraform data source for managing an incident replication set in AWS Systems Manager Incident Manager.", + "new": "Data source for managing an incident replication set in AWS Systems Manager Incident Manager." + }, + { + "old": "Use this Terraform data source to manage a replication set in AWS Systems Manager Incident Manager.", + "new": "Use this data source to manage a replication set in AWS Systems Manager Incident Manager." + }, + { + "old": "~> **NOTE:** The AWS Region specified by a Terraform provider must always be one of the Regions specified for the replication set.", + "new": "~> **NOTE:** The AWS Region specified by a provider must always be one of the Regions specified for the replication set." + } + ], "website/docs/d/vpc_ipam_preview_next_cidr.html.markdown": [ { "old": "~> **NOTE:** This functionality is also encapsulated in a resource sharing the same name. The data source can be used when you need to use the cidr in a calculation of the same Root module, `count` for example. However, once a cidr range has been allocated that was previewed, the next refresh will find a **new** cidr and may force new resources downstream. Make sure to use Terraform's lifecycle `ignore_changes` policy if this is undesirable.", @@ -2161,6 +2235,16 @@ "new": "* `name` - (Optional) The friendly name for the QLDB Ledger instance. By default generated by the provider." } ], + "website/docs/r/rbin_rule.html.markdown": [ + { + "old": "Terraform resource for managing an AWS RBin Rule.", + "new": "Resource for managing an AWS RBin Rule." + }, + { + "old": "Terraform resource for managing an AWS RBin Rule.", + "new": "Resource for managing an AWS RBin Rule." + } + ], "website/docs/r/rds_cluster.html.markdown": [ { "old": "* `availability_zones` - (Optional) List of EC2 Availability Zones for the DB cluster storage where DB cluster instances can be created. RDS automatically assigns 3 AZs if less than 3 AZs are configured, which will show as a difference requiring resource recreation next Terraform apply. We recommend specifying 3 AZs or using the `lifecycle` configuration block `ignore_changes` argument if necessary.", @@ -2790,6 +2874,12 @@ "new": "* `policy` - (Optional) The fully-formed AWS policy as JSON." } ], + "website/docs/r/sns_topic_data_protection_policy.html.markdown": [ + { + "old": "* `policy` - (Required) The fully-formed AWS policy as JSON. For more information about building AWS IAM policy documents with Terraform, see the AWS IAM Policy Document Guide.", + "new": "* `policy` - (Required) The fully-formed AWS policy as JSON. For more information about building AWS IAM policy documents with this provider, see the AWS IAM Policy Document Guide." + } + ], "website/docs/r/sqs_queue.html.markdown": [ { "old": " sourceQueueArns = [aws_sqs_queue.terraform_queue.arn]", @@ -2844,6 +2934,24 @@ "new": "~> **Note:** `overwrite` also makes it possible to overwrite an existing SSM Parameter that's not created by the provider before." } ], + "website/docs/r/ssmincidents_replication_set.html.markdown": [ + { + "old": " Terraform resource for managing an incident replication set for AWS Systems Manager Incident Manager.", + "new": " Resource for managing an incident replication set for AWS Systems Manager Incident Manager." + }, + { + "old": "~> **NOTE:** If possible, create all the customer managed keys you need (using the `terraform apply` command) before you create the replication set, or create the keys and replication set in the same `terraform apply` command. Otherwise, to delete a replication set, you must run one `terraform apply` command to delete the replication set and another to delete the AWS KMS keys used by the replication set. Deleting the AWS KMS keys before deleting the replication set results in an error. In that case, you must manually reenable the deleted key using the AWS Management Console before you can delete the replication set.", + "new": "~> **NOTE:** If possible, create all the customer managed keys you need (using the deploy command) before you create the replication set, or create the keys and replication set in the same deploy command. Otherwise, to delete a replication set, you must run one deploy command to delete the replication set and another to delete the AWS KMS keys used by the replication set. Deleting the AWS KMS keys before deleting the replication set results in an error. In that case, you must manually reenable the deleted key using the AWS Management Console before you can delete the replication set." + }, + { + "old": "~> **NOTE:** Incident Manager does not support updating the customer managed key associated with a replication set. Instead, for a replication set with multiple Regions, you must first delete a Region from the replication set, then re-add it with a different customer managed key in separate `terraform apply` operations. For a replication set with only one Region, the entire replication set must be deleted and recreated. To do this, comment out the replication set and all response plans, and then run the `terraform apply` command to recreate the replication set with the new customer managed key.", + "new": "~> **NOTE:** Incident Manager does not support updating the customer managed key associated with a replication set. Instead, for a replication set with multiple Regions, you must first delete a Region from the replication set, then re-add it with a different customer managed key in separate deploy operations. For a replication set with only one Region, the entire replication set must be deleted and recreated. To do this, comment out the replication set and all response plans, and then run the deploy command to recreate the replication set with the new customer managed key." + }, + { + "old": "~> **NOTE:** The Region specified by a Terraform provider must always be one of the Regions specified for the replication set. This is especially important when you perform complex update operations.", + "new": "~> **NOTE:** The Region specified by a provider must always be one of the Regions specified for the replication set. This is especially important when you perform complex update operations." + } + ], "website/docs/r/transcribe_language_model.html.markdown": [ { "old": " Terraform resource for managing an AWS Transcribe LanguageModel.",